updates for crypto-c v2
diff --git a/README.md b/README.md
index 069c26c..040b296 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@
 What's New
 ============================
 
+* [apache-milagro-crypto-c-2.0.0-incubating](https://github.com/apache/incubator-milagro-crypto-c/releases/tag/2.0.0)- Added Paillier encryption, BLS-SSS & support for Python 3
 * [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
@@ -29,3 +30,4 @@
 
 The Milagro website itself is completely static, being automatically generated by [Docusauraus](https://docusaurus.io/) prior to deployment. The content of the website is written in a mixture of HTML and Markdown.
 
+
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/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..3a49aa6 100644
--- a/docs/support.md
+++ b/docs/support.md
@@ -4,9 +4,17 @@
 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.
+Our current GitHub repositories are:
+
+* https://github.com/apache/incubator-milagro - used to build this website.   
+* https://github.com/apache/incubator-milagro-crypto-c - standards compliant cryptographic library written in C.   
+* https://github.com/apache/incubator-milagro-crypto-js - standards compliant cryptographic library written in JavaScript.   
+* https://github.com/apache/incubator-milagro-crypto-rust - standards compliant cryptographic library written in Rust.   
+* https://github.com/apache/incubator-milagro-dta - Milagro Decentralized Trust Authority (D-TA) - a collaborative key management server.     
+
+Please use the "Issues" tab on these repos to report any bugs or feature requests. 
+
 ## 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 +30,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 href="#aa861a483021b9d542c71a347c795e6e1">More...</a><br /></td></tr>
-<tr class="separator:aa861a483021b9d542c71a347c795e6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ef176edcca47dbfc2543571d9cc7d61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61">BIG_256_28_add</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
-<tr class="memdesc:a4ef176edcca47dbfc2543571d9cc7d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a4ef176edcca47dbfc2543571d9cc7d61">More...</a><br /></td></tr>
-<tr class="separator:a4ef176edcca47dbfc2543571d9cc7d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45f62c90901434ca8c22fd7b5ab69432"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432">BIG_256_28_or</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
-<tr class="memdesc:a45f62c90901434ca8c22fd7b5ab69432"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#a45f62c90901434ca8c22fd7b5ab69432">More...</a><br /></td></tr>
-<tr class="separator:a45f62c90901434ca8c22fd7b5ab69432"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae35821d56d7ba557bb90f68b10ea1b85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85">BIG_256_28_inc</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int i)</td></tr>
-<tr class="memdesc:ae35821d56d7ba557bb90f68b10ea1b85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#ae35821d56d7ba557bb90f68b10ea1b85">More...</a><br /></td></tr>
-<tr class="separator:ae35821d56d7ba557bb90f68b10ea1b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7159990d0c51b1ffae3a3dc335858d19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19">BIG_256_28_sub</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
-<tr class="memdesc:a7159990d0c51b1ffae3a3dc335858d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a7159990d0c51b1ffae3a3dc335858d19">More...</a><br /></td></tr>
-<tr class="separator:a7159990d0c51b1ffae3a3dc335858d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a77563d64e2f0b4176debe1fa60a80b62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62">BIG_256_28_dec</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int i)</td></tr>
-<tr class="memdesc:a77563d64e2f0b4176debe1fa60a80b62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a77563d64e2f0b4176debe1fa60a80b62">More...</a><br /></td></tr>
-<tr class="separator:a77563d64e2f0b4176debe1fa60a80b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d690b7e832f23596e67bf1f5e423307"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307">BIG_256_28_dadd</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> z)</td></tr>
-<tr class="memdesc:a5d690b7e832f23596e67bf1f5e423307"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#a5d690b7e832f23596e67bf1f5e423307">More...</a><br /></td></tr>
-<tr class="separator:a5d690b7e832f23596e67bf1f5e423307"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab5fc71f9eafdd9d4989f71cb3c4010c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5">BIG_256_28_dsub</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> z)</td></tr>
-<tr class="memdesc:ab5fc71f9eafdd9d4989f71cb3c4010c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#ab5fc71f9eafdd9d4989f71cb3c4010c5">More...</a><br /></td></tr>
-<tr class="separator:ab5fc71f9eafdd9d4989f71cb3c4010c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a116a9a195aa03a07d12a8eaf4d3849f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4">BIG_256_28_imul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int i)</td></tr>
-<tr class="memdesc:a116a9a195aa03a07d12a8eaf4d3849f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a116a9a195aa03a07d12a8eaf4d3849f4">More...</a><br /></td></tr>
-<tr class="separator:a116a9a195aa03a07d12a8eaf4d3849f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a578990347f8ca85eea0cd2b5cf4eaaf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1">BIG_256_28_pmul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int i)</td></tr>
-<tr class="memdesc:a578990347f8ca85eea0cd2b5cf4eaaf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a578990347f8ca85eea0cd2b5cf4eaaf1">More...</a><br /></td></tr>
-<tr class="separator:a578990347f8ca85eea0cd2b5cf4eaaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4971f54b70faa1a1b86435be6bf9b9c0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0">BIG_256_28_div3</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
-<tr class="memdesc:a4971f54b70faa1a1b86435be6bf9b9c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#a4971f54b70faa1a1b86435be6bf9b9c0">More...</a><br /></td></tr>
-<tr class="separator:a4971f54b70faa1a1b86435be6bf9b9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a27820fd216b00e63943900f62afbd78c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a27820fd216b00e63943900f62afbd78c">BIG_256_28_pxmul</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, int i)</td></tr>
-<tr class="memdesc:a27820fd216b00e63943900f62afbd78c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a27820fd216b00e63943900f62afbd78c">More...</a><br /></td></tr>
-<tr class="separator:a27820fd216b00e63943900f62afbd78c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af7f8ba125fa00c0671704f8065a64e30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30">BIG_256_28_mul</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
-<tr class="memdesc:af7f8ba125fa00c0671704f8065a64e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#af7f8ba125fa00c0671704f8065a64e30">More...</a><br /></td></tr>
-<tr class="separator:af7f8ba125fa00c0671704f8065a64e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1f68dfface1a49778efb80d7409ad24a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a">BIG_256_28_smul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z)</td></tr>
-<tr class="memdesc:a1f68dfface1a49778efb80d7409ad24a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#a1f68dfface1a49778efb80d7409ad24a">More...</a><br /></td></tr>
-<tr class="separator:a1f68dfface1a49778efb80d7409ad24a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d33a9459cd5ea616784046005fc6f40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40">BIG_256_28_sqr</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
-<tr class="memdesc:a1d33a9459cd5ea616784046005fc6f40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a1d33a9459cd5ea616784046005fc6f40">More...</a><br /></td></tr>
-<tr class="separator:a1d33a9459cd5ea616784046005fc6f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a44358ec27a552db4d42e1652a8f3cd12"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12">BIG_256_28_monty</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> a, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> d)</td></tr>
-<tr class="memdesc:a44358ec27a552db4d42e1652a8f3cd12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#a44358ec27a552db4d42e1652a8f3cd12">More...</a><br /></td></tr>
-<tr class="separator:a44358ec27a552db4d42e1652a8f3cd12"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a64951278639c2065b1ee6c3cb5bc3b99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99">BIG_256_28_shl</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
-<tr class="memdesc:a64951278639c2065b1ee6c3cb5bc3b99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a BIG left by any number of bits - input must be normalised, output normalised.  <a href="#a64951278639c2065b1ee6c3cb5bc3b99">More...</a><br /></td></tr>
-<tr class="separator:a64951278639c2065b1ee6c3cb5bc3b99"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae595a7812e6997e2f8bfa350e2846be3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3">BIG_256_28_fshl</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
-<tr class="memdesc:ae595a7812e6997e2f8bfa350e2846be3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast shifts a BIG left by a small number of bits - input must be normalised, output will be normalised.  <a href="#ae595a7812e6997e2f8bfa350e2846be3">More...</a><br /></td></tr>
-<tr class="separator:ae595a7812e6997e2f8bfa350e2846be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a99d30720e76c5d19209bceb851c3a345"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345">BIG_256_28_dshl</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, int s)</td></tr>
-<tr class="memdesc:a99d30720e76c5d19209bceb851c3a345"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a DBIG left by any number of bits - input must be normalised, output normalised.  <a href="#a99d30720e76c5d19209bceb851c3a345">More...</a><br /></td></tr>
-<tr class="separator:a99d30720e76c5d19209bceb851c3a345"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac897e470de2052dd8d094c867dc53650"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ac897e470de2052dd8d094c867dc53650">BIG_256_28_shr</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
-<tr class="memdesc:ac897e470de2052dd8d094c867dc53650"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a BIG right by any number of bits - input must be normalised, output normalised.  <a href="#ac897e470de2052dd8d094c867dc53650">More...</a><br /></td></tr>
-<tr class="separator:ac897e470de2052dd8d094c867dc53650"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4000478e901513a32681a2edcb3a88dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd">BIG_256_28_ssn</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> r, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> a, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> m)</td></tr>
-<tr class="memdesc:a4000478e901513a32681a2edcb3a88dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a4000478e901513a32681a2edcb3a88dd">More...</a><br /></td></tr>
-<tr class="separator:a4000478e901513a32681a2edcb3a88dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1274ef9a23a2cadb30717bf40dae3de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de">BIG_256_28_fshr</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int s)</td></tr>
-<tr class="memdesc:ad1274ef9a23a2cadb30717bf40dae3de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast shifts a BIG right by a small number of bits - input must be normalised, output will be normalised.  <a href="#ad1274ef9a23a2cadb30717bf40dae3de">More...</a><br /></td></tr>
-<tr class="separator:ad1274ef9a23a2cadb30717bf40dae3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7fb5f835fcf150b513d0d05c56fb75da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da">BIG_256_28_dshr</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, int s)</td></tr>
-<tr class="memdesc:a7fb5f835fcf150b513d0d05c56fb75da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a DBIG right by any number of bits - input must be normalised, output normalised.  <a href="#a7fb5f835fcf150b513d0d05c56fb75da">More...</a><br /></td></tr>
-<tr class="separator:a7fb5f835fcf150b513d0d05c56fb75da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a085ef8f8c5469bd7ac559ae81099a247"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247">BIG_256_28_split</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> z, int s)</td></tr>
-<tr class="memdesc:a085ef8f8c5469bd7ac559ae81099a247"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a085ef8f8c5469bd7ac559ae81099a247">More...</a><br /></td></tr>
-<tr class="separator:a085ef8f8c5469bd7ac559ae81099a247"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e1b831b24679406e0ad181b23fc3dd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5">BIG_256_28_norm</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
-<tr class="memdesc:a2e1b831b24679406e0ad181b23fc3dd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#a2e1b831b24679406e0ad181b23fc3dd5">More...</a><br /></td></tr>
-<tr class="separator:a2e1b831b24679406e0ad181b23fc3dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adc482b7b6d1f9859d6f558f64de0e5c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1">BIG_256_28_dnorm</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
-<tr class="memdesc:adc482b7b6d1f9859d6f558f64de0e5c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#adc482b7b6d1f9859d6f558f64de0e5c1">More...</a><br /></td></tr>
-<tr class="separator:adc482b7b6d1f9859d6f558f64de0e5c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a38842b53345806d95099918c91e0416e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a38842b53345806d95099918c91e0416e">BIG_256_28_comp</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
-<tr class="memdesc:a38842b53345806d95099918c91e0416e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a38842b53345806d95099918c91e0416e">More...</a><br /></td></tr>
-<tr class="separator:a38842b53345806d95099918c91e0416e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae5e7c53b25083e3769b1f1dadb271e35"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35">BIG_256_28_dcomp</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y)</td></tr>
-<tr class="memdesc:ae5e7c53b25083e3769b1f1dadb271e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#ae5e7c53b25083e3769b1f1dadb271e35">More...</a><br /></td></tr>
-<tr class="separator:ae5e7c53b25083e3769b1f1dadb271e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a896ae2614e9b95b2f7a0cdb5de8f5e11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11">BIG_256_28_nbits</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
-<tr class="memdesc:a896ae2614e9b95b2f7a0cdb5de8f5e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a896ae2614e9b95b2f7a0cdb5de8f5e11">More...</a><br /></td></tr>
-<tr class="separator:a896ae2614e9b95b2f7a0cdb5de8f5e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:accdff89cc25453bc0916a6d757bb2acb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb">BIG_256_28_dnbits</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x)</td></tr>
-<tr class="memdesc:accdff89cc25453bc0916a6d757bb2acb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#accdff89cc25453bc0916a6d757bb2acb">More...</a><br /></td></tr>
-<tr class="separator:accdff89cc25453bc0916a6d757bb2acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bfef5bfb03085cd859da962bfbf9034"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034">BIG_256_28_mod</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:a9bfef5bfb03085cd859da962bfbf9034"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#a9bfef5bfb03085cd859da962bfbf9034">More...</a><br /></td></tr>
-<tr class="separator:a9bfef5bfb03085cd859da962bfbf9034"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad522cd24b6c1f839999974f6acad1723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723">BIG_256_28_sdiv</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:ad522cd24b6c1f839999974f6acad1723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#ad522cd24b6c1f839999974f6acad1723">More...</a><br /></td></tr>
-<tr class="separator:ad522cd24b6c1f839999974f6acad1723"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f96cca36d4b5f3eb50651d351874f2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c">BIG_256_28_dmod</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:a3f96cca36d4b5f3eb50651d351874f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a3f96cca36d4b5f3eb50651d351874f2c">More...</a><br /></td></tr>
-<tr class="separator:a3f96cca36d4b5f3eb50651d351874f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7739d6ac01a5f5919e70db9151e28253"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253">BIG_256_28_ddiv</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:a7739d6ac01a5f5919e70db9151e28253"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a7739d6ac01a5f5919e70db9151e28253">More...</a><br /></td></tr>
-<tr class="separator:a7739d6ac01a5f5919e70db9151e28253"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab964d2eb1ff1cfba7bca0fb76e51ada9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9">BIG_256_28_parity</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x)</td></tr>
-<tr class="memdesc:ab964d2eb1ff1cfba7bca0fb76e51ada9"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#ab964d2eb1ff1cfba7bca0fb76e51ada9">More...</a><br /></td></tr>
-<tr class="separator:ab964d2eb1ff1cfba7bca0fb76e51ada9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a877ea4f2f50935b303574a7032bbf0f6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6">BIG_256_28_bit</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int i)</td></tr>
-<tr class="memdesc:a877ea4f2f50935b303574a7032bbf0f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a877ea4f2f50935b303574a7032bbf0f6">More...</a><br /></td></tr>
-<tr class="separator:a877ea4f2f50935b303574a7032bbf0f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7182226782ef414b678dba9920e18a2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ab7182226782ef414b678dba9920e18a2">BIG_256_28_lastbits</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int n)</td></tr>
-<tr class="memdesc:ab7182226782ef414b678dba9920e18a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#ab7182226782ef414b678dba9920e18a2">More...</a><br /></td></tr>
-<tr class="separator:ab7182226782ef414b678dba9920e18a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac3715b5d4781042b9705f9ec473c56c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5">BIG_256_28_random</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:ac3715b5d4781042b9705f9ec473c56c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#ac3715b5d4781042b9705f9ec473c56c5">More...</a><br /></td></tr>
-<tr class="separator:ac3715b5d4781042b9705f9ec473c56c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af61371a17945b604a208a2b935aec74d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#af61371a17945b604a208a2b935aec74d">BIG_256_28_randomnum</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:af61371a17945b604a208a2b935aec74d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an unbiased random BIG from a random number generator, reduced with respect to a modulus.  <a href="#af61371a17945b604a208a2b935aec74d">More...</a><br /></td></tr>
-<tr class="separator:af61371a17945b604a208a2b935aec74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c8fdd55b3ed76326265c534f68d3d81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81">BIG_256_28_modmul</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:a6c8fdd55b3ed76326265c534f68d3d81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a6c8fdd55b3ed76326265c534f68d3d81">More...</a><br /></td></tr>
-<tr class="separator:a6c8fdd55b3ed76326265c534f68d3d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a59acab49451ed4e974c281e4a8d2f2f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5">BIG_256_28_moddiv</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:a59acab49451ed4e974c281e4a8d2f2f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a59acab49451ed4e974c281e4a8d2f2f5">More...</a><br /></td></tr>
-<tr class="separator:a59acab49451ed4e974c281e4a8d2f2f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a04d979c4aa571294899bfa3f15580bf2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2">BIG_256_28_modsqr</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:a04d979c4aa571294899bfa3f15580bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a04d979c4aa571294899bfa3f15580bf2">More...</a><br /></td></tr>
-<tr class="separator:a04d979c4aa571294899bfa3f15580bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae2e7ef59bb9d7c8affd18ebee14161f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8">BIG_256_28_modneg</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:ae2e7ef59bb9d7c8affd18ebee14161f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#ae2e7ef59bb9d7c8affd18ebee14161f8">More...</a><br /></td></tr>
-<tr class="separator:ae2e7ef59bb9d7c8affd18ebee14161f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40efcc479307dfdf215b576a83469b71"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a40efcc479307dfdf215b576a83469b71">BIG_256_28_jacobi</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y)</td></tr>
-<tr class="memdesc:a40efcc479307dfdf215b576a83469b71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#a40efcc479307dfdf215b576a83469b71">More...</a><br /></td></tr>
-<tr class="separator:a40efcc479307dfdf215b576a83469b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3dbeb09f8977b6c844bcef46e4b3c1e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7">BIG_256_28_invmodp</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y, <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> n)</td></tr>
-<tr class="memdesc:a3dbeb09f8977b6c844bcef46e4b3c1e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a3dbeb09f8977b6c844bcef46e4b3c1e7">More...</a><br /></td></tr>
-<tr class="separator:a3dbeb09f8977b6c844bcef46e4b3c1e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae00e23e7fabf2981b25eebc05996d132"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132">BIG_256_28_mod2m</a> (<a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x, int m)</td></tr>
-<tr class="memdesc:ae00e23e7fabf2981b25eebc05996d132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#ae00e23e7fabf2981b25eebc05996d132">More...</a><br /></td></tr>
-<tr class="separator:ae00e23e7fabf2981b25eebc05996d132"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae832454893ebd2893dd43466b53fb335"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html#ae832454893ebd2893dd43466b53fb335">BIG_256_28_dmod2m</a> (<a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x, int m)</td></tr>
-<tr class="memdesc:ae832454893ebd2893dd43466b53fb335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#ae832454893ebd2893dd43466b53fb335">More...</a><br /></td></tr>
-<tr class="separator:ae832454893ebd2893dd43466b53fb335"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Mike Scott </dd></dl>
-</div><h2 class="groupheader">Macro Definition Documentation</h2>
-<a id="a7ead2232fb4a739ef8f73c3fefd48f29"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7ead2232fb4a739ef8f73c3fefd48f29">&#9670;&nbsp;</a></span>BIGBITS_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_256_28&#160;&#160;&#160;(8*<a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">MODBYTES_256_28</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="a1c7deb16fe58bf6822dc208b4c299967"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1c7deb16fe58bf6822dc208b4c299967">&#9670;&nbsp;</a></span>BMASK_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_256_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="aeef29ac9135b080cdca9ad39010fbe1e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeef29ac9135b080cdca9ad39010fbe1e">&#9670;&nbsp;</a></span>DNLEN_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_256_28&#160;&#160;&#160;2*<a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="af749a414befcf2c9103cb90deae1bd3b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af749a414befcf2c9103cb90deae1bd3b">&#9670;&nbsp;</a></span>HBITS_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_256_28&#160;&#160;&#160;(<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="aea5c623d16fd9def8b5ec608bb72d9b4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aea5c623d16fd9def8b5ec608bb72d9b4">&#9670;&nbsp;</a></span>HMASK_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_256_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a1fd6315e4e0763ca6b2b12f38c902a57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1fd6315e4e0763ca6b2b12f38c902a57">&#9670;&nbsp;</a></span>NEXCESS_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_256_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>-1))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>2^(CHUNK-BASEBITS-1) - digit cannot be multiplied by more than this before normalisation </p>
-
-</div>
-</div>
-<a id="acf946fc4a9df0a4306003592cae272d8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acf946fc4a9df0a4306003592cae272d8">&#9670;&nbsp;</a></span>NLEN_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_256_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">MODBYTES_256_28</a>-1)/<a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a441a2913ee6e6b8a3065843af84ea61b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a441a2913ee6e6b8a3065843af84ea61b">&#9670;&nbsp;</a></span>BIG_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_28[<a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="ab24e6de2b7e5d7d78b1bac14b13768be"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab24e6de2b7e5d7d78b1bac14b13768be">&#9670;&nbsp;</a></span>DBIG_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_256_28[<a class="el" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">DNLEN_256_28</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type DBIG as array of chunks </p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="a4ef176edcca47dbfc2543571d9cc7d61"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4ef176edcca47dbfc2543571d9cc7d61">&#9670;&nbsp;</a></span>BIG_256_28_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, sum of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a877ea4f2f50935b303574a7032bbf0f6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a877ea4f2f50935b303574a7032bbf0f6">&#9670;&nbsp;</a></span>BIG_256_28_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>the bit of x to be returned </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
-
-</div>
-</div>
-<a id="a03ab05da92eb2ea796cb26842b7e77e3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a03ab05da92eb2ea796cb26842b7e77e3">&#9670;&nbsp;</a></span>BIG_256_28_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>another BIG number </td></tr>
-    <tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a38842b53345806d95099918c91e0416e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a38842b53345806d95099918c91e0416e">&#9670;&nbsp;</a></span>BIG_256_28_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>first BIG number to be compared </td></tr>
-    <tr><td class="paramname">y</td><td>second BIG number to be compared </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
-
-</div>
-</div>
-<a id="a0831bc3b956e7489f966f919f635ee22"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0831bc3b956e7489f966f919f635ee22">&#9670;&nbsp;</a></span>BIG_256_28_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="afb4ac61ac3caaf1c89101d90a209177e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afb4ac61ac3caaf1c89101d90a209177e">&#9670;&nbsp;</a></span>BIG_256_28_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Conditionally swaps parameters in constant time (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>another BIG number </td></tr>
-    <tr><td class="paramname">s</td><td>swap takes place if not equal to 0 </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a5d690b7e832f23596e67bf1f5e423307"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5d690b7e832f23596e67bf1f5e423307">&#9670;&nbsp;</a></span>BIG_256_28_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, sum of other two - output not normalised </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">z</td><td>DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a0ef3b955adfdc30b9c5434ffc7de8ed0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0ef3b955adfdc30b9c5434ffc7de8ed0">&#9670;&nbsp;</a></span>BIG_256_28_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>another DBIG number </td></tr>
-    <tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae5e7c53b25083e3769b1f1dadb271e35"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae5e7c53b25083e3769b1f1dadb271e35">&#9670;&nbsp;</a></span>BIG_256_28_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>first DBIG number to be compared </td></tr>
-    <tr><td class="paramname">y</td><td>second DBIG number to be compared </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
-
-</div>
-</div>
-<a id="aec1619fb62adb5f7d3e0bc25648c56c3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aec1619fb62adb5f7d3e0bc25648c56c3">&#9670;&nbsp;</a></span>BIG_256_28_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a7739d6ac01a5f5919e70db9151e28253"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7739d6ac01a5f5919e70db9151e28253">&#9670;&nbsp;</a></span>BIG_256_28_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y/n </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">n</td><td>Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a77563d64e2f0b4176debe1fa60a80b62"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a77563d64e2f0b4176debe1fa60a80b62">&#9670;&nbsp;</a></span>BIG_256_28_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be decremented </td></tr>
-    <tr><td class="paramname">i</td><td>integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a677d109788b548697770dae0287e2878"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a677d109788b548697770dae0287e2878">&#9670;&nbsp;</a></span>BIG_256_28_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-    <tr><td class="paramname">s</td><td>byte array length </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="aeff6e8bd5aa02ec15629660f185d4ecd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeff6e8bd5aa02ec15629660f185d4ecd">&#9670;&nbsp;</a></span>BIG_256_28_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
-
-</div>
-</div>
-<a id="a4971f54b70faa1a1b86435be6bf9b9c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4971f54b70faa1a1b86435be6bf9b9c0">&#9670;&nbsp;</a></span>BIG_256_28_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Remainder </dd></dl>
-
-</div>
-</div>
-<a id="a3f96cca36d4b5f3eb50651d351874f2c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3f96cca36d4b5f3eb50651d351874f2c">&#9670;&nbsp;</a></span>BIG_256_28_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y mod n </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">n</td><td>Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae832454893ebd2893dd43466b53fb335"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae832454893ebd2893dd43466b53fb335">&#9670;&nbsp;</a></span>BIG_256_28_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<pre class="fragment">Truncation
-@param x DBIG number, on reduced mod 2^m
-@param m new truncated size
-</pre> 
-</div>
-</div>
-<a id="accdff89cc25453bc0916a6d757bb2acb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#accdff89cc25453bc0916a6d757bb2acb">&#9670;&nbsp;</a></span>BIG_256_28_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
-
-</div>
-</div>
-<a id="adc482b7b6d1f9859d6f558f64de0e5c1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adc482b7b6d1f9859d6f558f64de0e5c1">&#9670;&nbsp;</a></span>BIG_256_28_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>All digits of the input DBIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be normalised </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a100f5561b2344f026870e2aaa1407f73"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a100f5561b2344f026870e2aaa1407f73">&#9670;&nbsp;</a></span>BIG_256_28_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a32cfd50006ba099108d95dd49906e37d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a32cfd50006ba099108d95dd49906e37d">&#9670;&nbsp;</a></span>BIG_256_28_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="acdec6adf8bb9116f47ffc3d13a1a2a11"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acdec6adf8bb9116f47ffc3d13a1a2a11">&#9670;&nbsp;</a></span>BIG_256_28_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a99d30720e76c5d19209bceb851c3a345"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a99d30720e76c5d19209bceb851c3a345">&#9670;&nbsp;</a></span>BIG_256_28_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a7fb5f835fcf150b513d0d05c56fb75da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7fb5f835fcf150b513d0d05c56fb75da">&#9670;&nbsp;</a></span>BIG_256_28_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ab5fc71f9eafdd9d4989f71cb3c4010c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab5fc71f9eafdd9d4989f71cb3c4010c5">&#9670;&nbsp;</a></span>BIG_256_28_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, difference of other two - output not normalised </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">z</td><td>DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="afef94b156f0a4a42047ae2ee98bd9306"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afef94b156f0a4a42047ae2ee98bd9306">&#9670;&nbsp;</a></span>BIG_256_28_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="aee1f0d223f9b39ad2c723011dd55b42c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee1f0d223f9b39ad2c723011dd55b42c">&#9670;&nbsp;</a></span>BIG_256_28_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be set to zero </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a4042f0ef0741d29c29ca604808803e1d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4042f0ef0741d29c29ca604808803e1d">&#9670;&nbsp;</a></span>BIG_256_28_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a5eb3022f9db32c07282522095d3af912"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5eb3022f9db32c07282522095d3af912">&#9670;&nbsp;</a></span>BIG_256_28_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-    <tr><td class="paramname">s</td><td>byte array length </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae595a7812e6997e2f8bfa350e2846be3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae595a7812e6997e2f8bfa350e2846be3">&#9670;&nbsp;</a></span>BIG_256_28_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Overflow bits </dd></dl>
-
-</div>
-</div>
-<a id="ad1274ef9a23a2cadb30717bf40dae3de"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad1274ef9a23a2cadb30717bf40dae3de">&#9670;&nbsp;</a></span>BIG_256_28_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Shifted out bits </dd></dl>
-
-</div>
-</div>
-<a id="a116a9a195aa03a07d12a8eaf4d3849f4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a116a9a195aa03a07d12a8eaf4d3849f4">&#9670;&nbsp;</a></span>BIG_256_28_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>small integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae35821d56d7ba557bb90f68b10ea1b85"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae35821d56d7ba557bb90f68b10ea1b85">&#9670;&nbsp;</a></span>BIG_256_28_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be incremented </td></tr>
-    <tr><td class="paramname">i</td><td>integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="aa861a483021b9d542c71a347c795e6e1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa861a483021b9d542c71a347c795e6e1">&#9670;&nbsp;</a></span>BIG_256_28_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be inverted </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a3dbeb09f8977b6c844bcef46e4b3c1e7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3dbeb09f8977b6c844bcef46e4b3c1e7">&#9670;&nbsp;</a></span>BIG_256_28_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Modular Inversion - This is slow. Uses binary method. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = 1/y mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a1398cb2971ad58ae9d59e717a9b6b1ec"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1398cb2971ad58ae9d59e717a9b6b1ec">&#9670;&nbsp;</a></span>BIG_256_28_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if one, else returns 0 </dd></dl>
-
-</div>
-</div>
-<a id="afbf2db16ec41de1fa64c3d591303e41d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afbf2db16ec41de1fa64c3d591303e41d">&#9670;&nbsp;</a></span>BIG_256_28_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
-
-</div>
-</div>
-<a id="a40efcc479307dfdf215b576a83469b71"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a40efcc479307dfdf215b576a83469b71">&#9670;&nbsp;</a></span>BIG_256_28_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Jacobi symbol, -1,0 or 1 </dd></dl>
-
-</div>
-</div>
-<a id="ab7182226782ef414b678dba9920e18a2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab7182226782ef414b678dba9920e18a2">&#9670;&nbsp;</a></span>BIG_256_28_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>number of bits to return. Assumed to be less than BASEBITS. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>least significant n bits as an integer </dd></dl>
-
-</div>
-</div>
-<a id="a9bfef5bfb03085cd859da962bfbf9034"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9bfef5bfb03085cd859da962bfbf9034">&#9670;&nbsp;</a></span>BIG_256_28_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be reduced mod n </td></tr>
-    <tr><td class="paramname">n</td><td>The modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae00e23e7fabf2981b25eebc05996d132"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae00e23e7fabf2981b25eebc05996d132">&#9670;&nbsp;</a></span>BIG_256_28_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<pre class="fragment">Truncation
-@param x BIG number, on reduced mod 2^m
-@param m new truncated size
-</pre> 
-</div>
-</div>
-<a id="a59acab49451ed4e974c281e4a8d2f2f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59acab49451ed4e974c281e4a8d2f2f5">&#9670;&nbsp;</a></span>BIG_256_28_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow method for modular division </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y/z mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a6c8fdd55b3ed76326265c534f68d3d81"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6c8fdd55b3ed76326265c534f68d3d81">&#9670;&nbsp;</a></span>BIG_256_28_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>brief return NAF (Non-Adjacent-Form) value as +/- 1, 3 or 5, inputs must be normalised</p>
-<p>Given x and 3*x extracts NAF value from given bit position, and returns number of bits processed, and number of trailing zeros detected if any param x BIG number param x3 BIG number, three times x param i bit position param nbs pointer to integer returning number of bits processed param nzs pointer to integer returning number of trailing 0s return + or - 1, 3 or 5Slow method for modular multiplication </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y*z mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae2e7ef59bb9d7c8affd18ebee14161f8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae2e7ef59bb9d7c8affd18ebee14161f8">&#9670;&nbsp;</a></span>BIG_256_28_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Modular negation </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = -y mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a04d979c4aa571294899bfa3f15580bf2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a04d979c4aa571294899bfa3f15580bf2">&#9670;&nbsp;</a></span>BIG_256_28_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow method for modular squaring </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y^2 mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a44358ec27a552db4d42e1652a8f3cd12"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a44358ec27a552db4d42e1652a8f3cd12">&#9670;&nbsp;</a></span>BIG_256_28_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>md</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
-          <td class="paramname"><em>MC</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>d</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">a</td><td>BIG number, reduction of a BIG </td></tr>
-    <tr><td class="paramname">md</td><td>BIG number, the modulus </td></tr>
-    <tr><td class="paramname">MC</td><td>the Montgomery Constant </td></tr>
-    <tr><td class="paramname">d</td><td>DBIG number to be reduced </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="af7f8ba125fa00c0671704f8065a64e30"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af7f8ba125fa00c0671704f8065a64e30">&#9670;&nbsp;</a></span>BIG_256_28_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a896ae2614e9b95b2f7a0cdb5de8f5e11"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a896ae2614e9b95b2f7a0cdb5de8f5e11">&#9670;&nbsp;</a></span>BIG_256_28_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
-
-</div>
-</div>
-<a id="a2e1b831b24679406e0ad181b23fc3dd5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2e1b831b24679406e0ad181b23fc3dd5">&#9670;&nbsp;</a></span>BIG_256_28_norm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_28_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>All digits of the input BIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be normalised </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a657c178e39eb86021f18f2edce140b04"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a657c178e39eb86021f18f2edce140b04">&#9670;&nbsp;</a></span>BIG_256_28_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be set to one. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a45f62c90901434ca8c22fd7b5ab69432"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a45f62c90901434ca8c22fd7b5ab69432">&#9670;&nbsp;</a></span>BIG_256_28_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, or of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a30b918cd0cab2b6762da39f522f11140"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a30b918cd0cab2b6762da39f522f11140">&#9670;&nbsp;</a></span>BIG_256_28_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ab964d2eb1ff1cfba7bca0fb76e51ada9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab964d2eb1ff1cfba7bca0fb76e51ada9">&#9670;&nbsp;</a></span>BIG_256_28_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
-
-</div>
-</div>
-<a id="a578990347f8ca85eea0cd2b5cf4eaaf1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a578990347f8ca85eea0cd2b5cf4eaaf1">&#9670;&nbsp;</a></span>BIG_256_28_pmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_28_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>small integer </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Overflowing bits </dd></dl>
-
-</div>
-</div>
-<a id="a27820fd216b00e63943900f62afbd78c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a27820fd216b00e63943900f62afbd78c">&#9670;&nbsp;</a></span>BIG_256_28_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>small integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ac3715b5d4781042b9705f9ec473c56c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac3715b5d4781042b9705f9ec473c56c5">&#9670;&nbsp;</a></span>BIG_256_28_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
-          <td class="paramname"><em>r</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
-    <tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="af61371a17945b604a208a2b935aec74d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af61371a17945b604a208a2b935aec74d">&#9670;&nbsp;</a></span>BIG_256_28_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
-          <td class="paramname"><em>r</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
-    <tr><td class="paramname">n</td><td>The modulus </td></tr>
-    <tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a8626d88b1bf8cf7aff25c7fde983b726"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8626d88b1bf8cf7aff25c7fde983b726">&#9670;&nbsp;</a></span>BIG_256_28_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a7658779f094b599a129e7697c990baf6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7658779f094b599a129e7697c990baf6">&#9670;&nbsp;</a></span>BIG_256_28_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number in ROM </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae4f351cc457451bef252ab2cda4c7311"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4f351cc457451bef252ab2cda4c7311">&#9670;&nbsp;</a></span>BIG_256_28_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ad522cd24b6c1f839999974f6acad1723"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad522cd24b6c1f839999974f6acad1723">&#9670;&nbsp;</a></span>BIG_256_28_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be divided by n </td></tr>
-    <tr><td class="paramname">n</td><td>The Divisor </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="af72c8e442888b472223e2a8d44d86c30"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af72c8e442888b472223e2a8d44d86c30">&#9670;&nbsp;</a></span>BIG_256_28_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a64951278639c2065b1ee6c3cb5bc3b99"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a64951278639c2065b1ee6c3cb5bc3b99">&#9670;&nbsp;</a></span>BIG_256_28_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ac897e470de2052dd8d094c867dc53650"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac897e470de2052dd8d094c867dc53650">&#9670;&nbsp;</a></span>BIG_256_28_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a1f68dfface1a49778efb80d7409ad24a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1f68dfface1a49778efb80d7409ad24a">&#9670;&nbsp;</a></span>BIG_256_28_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Note that the product must fit into a BIG, and x must be distinct from y and z </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a085ef8f8c5469bd7ac559ae81099a247"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a085ef8f8c5469bd7ac559ae81099a247">&#9670;&nbsp;</a></span>BIG_256_28_split()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_28_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Internal function. The value of s must be approximately in the middle of the DBIG. Typically used to extract z mod 2^MODBITS and z/2^MODBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, top half of z </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number, bottom half of z </td></tr>
-    <tr><td class="paramname">z</td><td>DBIG number to be split in two. </td></tr>
-    <tr><td class="paramname">s</td><td>Bit position at which to split </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>carry-out from top half </dd></dl>
-
-</div>
-</div>
-<a id="a1d33a9459cd5ea616784046005fc6f40"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1d33a9459cd5ea616784046005fc6f40">&#9670;&nbsp;</a></span>BIG_256_28_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, square of a BIG </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be squared </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a4000478e901513a32681a2edcb3a88dd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4000478e901513a32681a2edcb3a88dd">&#9670;&nbsp;</a></span>BIG_256_28_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_28_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>m</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">r</td><td>BIG number normalised output </td></tr>
-    <tr><td class="paramname">a</td><td>BIG number to be subtracted from </td></tr>
-    <tr><td class="paramname">m</td><td>BIG number to be shifted and subtracted </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>sign of r </dd></dl>
-
-</div>
-</div>
-<a id="a7159990d0c51b1ffae3a3dc335858d19"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7159990d0c51b1ffae3a3dc335858d19">&#9670;&nbsp;</a></span>BIG_256_28_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, difference of other two - output not normalised </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a2f7ce434aa163e584027c8495f3a561d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2f7ce434aa163e584027c8495f3a561d">&#9670;&nbsp;</a></span>BIG_256_28_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_toBytes </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="aab6a408e01aaab2ee65c2440d8075d94"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aab6a408e01aaab2ee65c2440d8075d94">&#9670;&nbsp;</a></span>BIG_256_28_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_28_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be set to zero </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.15
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/big__256__28_8h_source.html b/website/static/cdocs/big__256__28_8h_source.html
deleted file mode 100644
index 9818831..0000000
--- a/website/static/cdocs/big__256__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_256_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_256_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__256__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_256_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_256_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__256__28_8h.html">config_big_256_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__256__28_8h.html#a7ead2232fb4a739ef8f73c3fefd48f29">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_256_28 (8*MODBYTES_256_28) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">   40</a></span>&#160;<span class="preprocessor">#define NLEN_256_28 (1+((8*MODBYTES_256_28-1)/BASEBITS_256_28)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_256_28 2*NLEN_256_28 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967">   42</a></span>&#160;<span class="preprocessor">#define BMASK_256_28 (((chunk)1&lt;&lt;BASEBITS_256_28)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__256__28_8h.html#a1fd6315e4e0763ca6b2b12f38c902a57">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_256_28 (1&lt;&lt;(CHUNK-BASEBITS_256_28-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">   45</a></span>&#160;<span class="preprocessor">#define HBITS_256_28 (BASEBITS_256_28/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">   46</a></span>&#160;<span class="preprocessor">#define HMASK_256_28 (((chunk)1&lt;&lt;HBITS_256_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_256_28 NLEN_256_28</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_256_28 (NLEN_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>[<a class="code" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_256_28 DNLEN_256_28</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_256_28 (DNLEN_256_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__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>[<a class="code" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">DNLEN_256_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__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a>[<a class="code" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a>[<a class="code" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">DNLEN_256_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__256__28_8h.html#afbf2db16ec41de1fa64c3d591303e41d">BIG_256_28_iszilch</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a1398cb2971ad58ae9d59e717a9b6b1ec">BIG_256_28_isunity</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#aeff6e8bd5aa02ec15629660f185d4ecd">BIG_256_28_diszilch</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a30b918cd0cab2b6762da39f522f11140">BIG_256_28_output</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a8626d88b1bf8cf7aff25c7fde983b726">BIG_256_28_rawoutput</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#afb4ac61ac3caaf1c89101d90a209177e">BIG_256_28_cswap</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a03ab05da92eb2ea796cb26842b7e77e3">BIG_256_28_cmove</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a0ef3b955adfdc30b9c5434ffc7de8ed0">BIG_256_28_dcmove</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a2f7ce434aa163e584027c8495f3a561d">BIG_256_28_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a4042f0ef0741d29c29ca604808803e1d">BIG_256_28_fromBytes</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a5eb3022f9db32c07282522095d3af912">BIG_256_28_fromBytesLen</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a677d109788b548697770dae0287e2878">BIG_256_28_dfromBytesLen</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a100f5561b2344f026870e2aaa1407f73">BIG_256_28_doutput</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a32cfd50006ba099108d95dd49906e37d">BIG_256_28_drawoutput</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a7658779f094b599a129e7697c990baf6">BIG_256_28_rcopy</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<span class="keyword">const</span> <a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a0831bc3b956e7489f966f919f635ee22">BIG_256_28_copy</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#aec1619fb62adb5f7d3e0bc25648c56c3">BIG_256_28_dcopy</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#afef94b156f0a4a42047ae2ee98bd9306">BIG_256_28_dsucopy</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#acdec6adf8bb9116f47ffc3d13a1a2a11">BIG_256_28_dscopy</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ae4f351cc457451bef252ab2cda4c7311">BIG_256_28_sdcopy</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#af72c8e442888b472223e2a8d44d86c30">BIG_256_28_sducopy</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#aab6a408e01aaab2ee65c2440d8075d94">BIG_256_28_zero</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#aee1f0d223f9b39ad2c723011dd55b42c">BIG_256_28_dzero</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a657c178e39eb86021f18f2edce140b04">BIG_256_28_one</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#aa861a483021b9d542c71a347c795e6e1">BIG_256_28_invmod2m</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61">BIG_256_28_add</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432">BIG_256_28_or</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85">BIG_256_28_inc</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19">BIG_256_28_sub</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62">BIG_256_28_dec</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307">BIG_256_28_dadd</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5">BIG_256_28_dsub</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4">BIG_256_28_imul</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1">BIG_256_28_pmul</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0">BIG_256_28_div3</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a27820fd216b00e63943900f62afbd78c">BIG_256_28_pxmul</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30">BIG_256_28_mul</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a">BIG_256_28_smul</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40">BIG_256_28_sqr</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12">BIG_256_28_monty</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> a,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99">BIG_256_28_shl</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3">BIG_256_28_fshl</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345">BIG_256_28_dshl</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#ac897e470de2052dd8d094c867dc53650">BIG_256_28_shr</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd">BIG_256_28_ssn</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> r,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> a, <a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de">BIG_256_28_fshr</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da">BIG_256_28_dshr</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247">BIG_256_28_split</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5">BIG_256_28_norm</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1">BIG_256_28_dnorm</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a38842b53345806d95099918c91e0416e">BIG_256_28_comp</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35">BIG_256_28_dcomp</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11">BIG_256_28_nbits</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb">BIG_256_28_dnbits</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034">BIG_256_28_mod</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723">BIG_256_28_sdiv</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c">BIG_256_28_dmod</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253">BIG_256_28_ddiv</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9">BIG_256_28_parity</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6">BIG_256_28_bit</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ab7182226782ef414b678dba9920e18a2">BIG_256_28_lastbits</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5">BIG_256_28_random</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#af61371a17945b604a208a2b935aec74d">BIG_256_28_randomnum</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81">BIG_256_28_modmul</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5">BIG_256_28_moddiv</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> z,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2">BIG_256_28_modsqr</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8">BIG_256_28_modneg</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a40efcc479307dfdf215b576a83469b71">BIG_256_28_jacobi</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7">BIG_256_28_invmodp</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> x,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a> y,<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132">BIG_256_28_mod2m</a>(<a class="code" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_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__256__28_8h.html#ae832454893ebd2893dd43466b53fb335">BIG_256_28_dmod2m</a>(<a class="code" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_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_256_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__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967">BMASK_256_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__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_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_256_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__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">HMASK_256_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__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_28</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">HMASK_256_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__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_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__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">HMASK_256_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__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_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__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_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__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967">BMASK_256_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__256__28_8h_html_a9bfef5bfb03085cd859da962bfbf9034"><div class="ttname"><a href="big__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034">BIG_256_28_mod</a></div><div class="ttdeci">void BIG_256_28_mod(BIG_256_28 x, BIG_256_28 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1082</div></div>
-<div class="ttc" id="big__256__28_8h_html_ae5e7c53b25083e3769b1f1dadb271e35"><div class="ttname"><a href="big__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35">BIG_256_28_dcomp</a></div><div class="ttdeci">int BIG_256_28_dcomp(DBIG_256_28 x, DBIG_256_28 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1026</div></div>
-<div class="ttc" id="big__256__28_8h_html_a7159990d0c51b1ffae3a3dc335858d19"><div class="ttname"><a href="big__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19">BIG_256_28_sub</a></div><div class="ttdeci">void BIG_256_28_sub(BIG_256_28 x, BIG_256_28 y, BIG_256_28 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:397</div></div>
-<div class="ttc" id="big__256__28_8h_html_aec1619fb62adb5f7d3e0bc25648c56c3"><div class="ttname"><a href="big__256__28_8h.html#aec1619fb62adb5f7d3e0bc25648c56c3">BIG_256_28_dcopy</a></div><div class="ttdeci">void BIG_256_28_dcopy(DBIG_256_28 x, DBIG_256_28 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:251</div></div>
-<div class="ttc" id="big__256__28_8h_html_a99d30720e76c5d19209bceb851c3a345"><div class="ttname"><a href="big__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345">BIG_256_28_dshl</a></div><div class="ttdeci">void BIG_256_28_dshl(DBIG_256_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_256_28.c:846</div></div>
-<div class="ttc" id="big__256__28_8h_html_a38842b53345806d95099918c91e0416e"><div class="ttname"><a href="big__256__28_8h.html#a38842b53345806d95099918c91e0416e">BIG_256_28_comp</a></div><div class="ttdeci">int BIG_256_28_comp(BIG_256_28 x, BIG_256_28 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1014</div></div>
-<div class="ttc" id="big__256__28_8h_html_a0ef3b955adfdc30b9c5434ffc7de8ed0"><div class="ttname"><a href="big__256__28_8h.html#a0ef3b955adfdc30b9c5434ffc7de8ed0">BIG_256_28_dcmove</a></div><div class="ttdeci">void BIG_256_28_dcmove(BIG_256_28 x, BIG_256_28 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__256__28_8h_html_ab964d2eb1ff1cfba7bca0fb76e51ada9"><div class="ttname"><a href="big__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9">BIG_256_28_parity</a></div><div class="ttdeci">int BIG_256_28_parity(BIG_256_28 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1225</div></div>
-<div class="ttc" id="big__256__28_8h_html_a6c8fdd55b3ed76326265c534f68d3d81"><div class="ttname"><a href="big__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81">BIG_256_28_modmul</a></div><div class="ttdeci">void BIG_256_28_modmul(BIG_256_28 x, BIG_256_28 y, BIG_256_28 z, BIG_256_28 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1300</div></div>
-<div class="ttc" id="big__256__28_8h_html_a116a9a195aa03a07d12a8eaf4d3849f4"><div class="ttname"><a href="big__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4">BIG_256_28_imul</a></div><div class="ttdeci">void BIG_256_28_imul(BIG_256_28 x, BIG_256_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_256_28.c:450</div></div>
-<div class="ttc" id="big__256__28_8h_html_aa861a483021b9d542c71a347c795e6e1"><div class="ttname"><a href="big__256__28_8h.html#aa861a483021b9d542c71a347c795e6e1">BIG_256_28_invmod2m</a></div><div class="ttdeci">void BIG_256_28_invmod2m(BIG_256_28 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__256__28_8h_html_adc482b7b6d1f9859d6f558f64de0e5c1"><div class="ttname"><a href="big__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1">BIG_256_28_dnorm</a></div><div class="ttdeci">void BIG_256_28_dnorm(DBIG_256_28 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:995</div></div>
-<div class="ttc" id="big__256__28_8h_html_a877ea4f2f50935b303574a7032bbf0f6"><div class="ttname"><a href="big__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6">BIG_256_28_bit</a></div><div class="ttdeci">int BIG_256_28_bit(BIG_256_28 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1232</div></div>
-<div class="ttc" id="big__256__28_8h_html_a441a2913ee6e6b8a3065843af84ea61b"><div class="ttname"><a href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">BIG_256_28</a></div><div class="ttdeci">chunk BIG_256_28[NLEN_256_28]</div><div class="ttdef"><b>Definition:</b> big_256_28.h:58</div></div>
-<div class="ttc" id="big__256__28_8h_html_a7739d6ac01a5f5919e70db9151e28253"><div class="ttname"><a href="big__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253">BIG_256_28_ddiv</a></div><div class="ttdeci">void BIG_256_28_ddiv(BIG_256_28 x, DBIG_256_28 y, BIG_256_28 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1149</div></div>
-<div class="ttc" id="big__256__28_8h_html_a1398cb2971ad58ae9d59e717a9b6b1ec"><div class="ttname"><a href="big__256__28_8h.html#a1398cb2971ad58ae9d59e717a9b6b1ec">BIG_256_28_isunity</a></div><div class="ttdeci">int BIG_256_28_isunity(BIG_256_28 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:35</div></div>
-<div class="ttc" id="big__256__28_8h_html_aea5c623d16fd9def8b5ec608bb72d9b4"><div class="ttname"><a href="big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">HMASK_256_28</a></div><div class="ttdeci">#define HMASK_256_28</div><div class="ttdef"><b>Definition:</b> big_256_28.h:46</div></div>
-<div class="ttc" id="big__256__28_8h_html_ad1274ef9a23a2cadb30717bf40dae3de"><div class="ttname"><a href="big__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de">BIG_256_28_fshr</a></div><div class="ttdeci">int BIG_256_28_fshr(BIG_256_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_256_28.c:906</div></div>
-<div class="ttc" id="big__256__28_8h_html_a3dbeb09f8977b6c844bcef46e4b3c1e7"><div class="ttname"><a href="big__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7">BIG_256_28_invmodp</a></div><div class="ttdeci">void BIG_256_28_invmodp(BIG_256_28 x, BIG_256_28 y, BIG_256_28 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1392</div></div>
-<div class="ttc" id="big__256__28_8h_html_ae35821d56d7ba557bb90f68b10ea1b85"><div class="ttname"><a href="big__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85">BIG_256_28_inc</a></div><div class="ttdeci">void BIG_256_28_inc(BIG_256_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_256_28.c:386</div></div>
-<div class="ttc" id="big__256__28_8h_html_a085ef8f8c5469bd7ac559ae81099a247"><div class="ttname"><a href="big__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247">BIG_256_28_split</a></div><div class="ttdeci">chunk BIG_256_28_split(BIG_256_28 x, BIG_256_28 y, DBIG_256_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_256_28.c:932</div></div>
-<div class="ttc" id="config__big__256__28_8h_html"><div class="ttname"><a href="config__big__256__28_8h.html">config_big_256_28.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__256__28_8h_html_afbf2db16ec41de1fa64c3d591303e41d"><div class="ttname"><a href="big__256__28_8h.html#afbf2db16ec41de1fa64c3d591303e41d">BIG_256_28_iszilch</a></div><div class="ttdeci">int BIG_256_28_iszilch(BIG_256_28 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:26</div></div>
-<div class="ttc" id="big__256__28_8h_html_a1d33a9459cd5ea616784046005fc6f40"><div class="ttname"><a href="big__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40">BIG_256_28_sqr</a></div><div class="ttdeci">void BIG_256_28_sqr(DBIG_256_28 x, BIG_256_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_256_28.c:618</div></div>
-<div class="ttc" id="big__256__28_8h_html_a677d109788b548697770dae0287e2878"><div class="ttname"><a href="big__256__28_8h.html#a677d109788b548697770dae0287e2878">BIG_256_28_dfromBytesLen</a></div><div class="ttdeci">void BIG_256_28_dfromBytesLen(DBIG_256_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_256_28.c:1485</div></div>
-<div class="ttc" id="big__256__28_8h_html_a59acab49451ed4e974c281e4a8d2f2f5"><div class="ttname"><a href="big__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5">BIG_256_28_moddiv</a></div><div class="ttdeci">void BIG_256_28_moddiv(BIG_256_28 x, BIG_256_28 y, BIG_256_28 z, BIG_256_28 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1337</div></div>
-<div class="ttc" id="big__256__28_8h_html_aeff6e8bd5aa02ec15629660f185d4ecd"><div class="ttname"><a href="big__256__28_8h.html#aeff6e8bd5aa02ec15629660f185d4ecd">BIG_256_28_diszilch</a></div><div class="ttdeci">int BIG_256_28_diszilch(DBIG_256_28 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:45</div></div>
-<div class="ttc" id="big__256__28_8h_html_afb4ac61ac3caaf1c89101d90a209177e"><div class="ttname"><a href="big__256__28_8h.html#afb4ac61ac3caaf1c89101d90a209177e">BIG_256_28_cswap</a></div><div class="ttdeci">void BIG_256_28_cswap(BIG_256_28 x, BIG_256_28 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:92</div></div>
-<div class="ttc" id="big__256__28_8h_html_acdec6adf8bb9116f47ffc3d13a1a2a11"><div class="ttname"><a href="big__256__28_8h.html#acdec6adf8bb9116f47ffc3d13a1a2a11">BIG_256_28_dscopy</a></div><div class="ttdeci">void BIG_256_28_dscopy(DBIG_256_28 x, BIG_256_28 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:263</div></div>
-<div class="ttc" id="big__256__28_8h_html_af749a414befcf2c9103cb90deae1bd3b"><div class="ttname"><a href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">HBITS_256_28</a></div><div class="ttdeci">#define HBITS_256_28</div><div class="ttdef"><b>Definition:</b> big_256_28.h:45</div></div>
-<div class="ttc" id="big__256__28_8h_html_a45f62c90901434ca8c22fd7b5ab69432"><div class="ttname"><a href="big__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432">BIG_256_28_or</a></div><div class="ttdeci">void BIG_256_28_or(BIG_256_28 x, BIG_256_28 y, BIG_256_28 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:371</div></div>
-<div class="ttc" id="big__256__28_8h_html_a100f5561b2344f026870e2aaa1407f73"><div class="ttname"><a href="big__256__28_8h.html#a100f5561b2344f026870e2aaa1407f73">BIG_256_28_doutput</a></div><div class="ttdeci">void BIG_256_28_doutput(DBIG_256_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:190</div></div>
-<div class="ttc" id="big__256__28_8h_html_a04d979c4aa571294899bfa3f15580bf2"><div class="ttname"><a href="big__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2">BIG_256_28_modsqr</a></div><div class="ttdeci">void BIG_256_28_modsqr(BIG_256_28 x, BIG_256_28 y, BIG_256_28 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1315</div></div>
-<div class="ttc" id="big__256__28_8h_html_a40efcc479307dfdf215b576a83469b71"><div class="ttname"><a href="big__256__28_8h.html#a40efcc479307dfdf215b576a83469b71">BIG_256_28_jacobi</a></div><div class="ttdeci">int BIG_256_28_jacobi(BIG_256_28 x, BIG_256_28 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1354</div></div>
-<div class="ttc" id="big__256__28_8h_html_a578990347f8ca85eea0cd2b5cf4eaaf1"><div class="ttname"><a href="big__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1">BIG_256_28_pmul</a></div><div class="ttdeci">chunk BIG_256_28_pmul(BIG_256_28 x, BIG_256_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_256_28.c:465</div></div>
-<div class="ttc" id="big__256__28_8h_html_ae595a7812e6997e2f8bfa350e2846be3"><div class="ttname"><a href="big__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3">BIG_256_28_fshl</a></div><div class="ttdeci">int BIG_256_28_fshl(BIG_256_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_256_28.c:832</div></div>
-<div class="ttc" id="big__256__28_8h_html_af72c8e442888b472223e2a8d44d86c30"><div class="ttname"><a href="big__256__28_8h.html#af72c8e442888b472223e2a8d44d86c30">BIG_256_28_sducopy</a></div><div class="ttdeci">void BIG_256_28_sducopy(BIG_256_28 x, DBIG_256_28 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:306</div></div>
-<div class="ttc" id="big__256__28_8h_html_ae00e23e7fabf2981b25eebc05996d132"><div class="ttname"><a href="big__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132">BIG_256_28_mod2m</a></div><div class="ttdeci">void BIG_256_28_mod2m(BIG_256_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1456</div></div>
-<div class="ttc" id="big__256__28_8h_html_acf946fc4a9df0a4306003592cae272d8"><div class="ttname"><a href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">NLEN_256_28</a></div><div class="ttdeci">#define NLEN_256_28</div><div class="ttdef"><b>Definition:</b> big_256_28.h:40</div></div>
-<div class="ttc" id="big__256__28_8h_html_a77563d64e2f0b4176debe1fa60a80b62"><div class="ttname"><a href="big__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62">BIG_256_28_dec</a></div><div class="ttdeci">void BIG_256_28_dec(BIG_256_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_256_28.c:440</div></div>
-<div class="ttc" id="big__256__28_8h_html_a657c178e39eb86021f18f2edce140b04"><div class="ttname"><a href="big__256__28_8h.html#a657c178e39eb86021f18f2edce140b04">BIG_256_28_one</a></div><div class="ttdeci">void BIG_256_28_one(BIG_256_28 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_256_28.c:340</div></div>
-<div class="ttc" id="big__256__28_8h_html_a3f96cca36d4b5f3eb50651d351874f2c"><div class="ttname"><a href="big__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c">BIG_256_28_dmod</a></div><div class="ttdeci">void BIG_256_28_dmod(BIG_256_28 x, DBIG_256_28 y, BIG_256_28 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1113</div></div>
-<div class="ttc" id="big__256__28_8h_html_a8626d88b1bf8cf7aff25c7fde983b726"><div class="ttname"><a href="big__256__28_8h.html#a8626d88b1bf8cf7aff25c7fde983b726">BIG_256_28_rawoutput</a></div><div class="ttdeci">void BIG_256_28_rawoutput(BIG_256_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_256_28.c:77</div></div>
-<div class="ttc" id="big__256__28_8h_html_a896ae2614e9b95b2f7a0cdb5de8f5e11"><div class="ttname"><a href="big__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11">BIG_256_28_nbits</a></div><div class="ttdeci">int BIG_256_28_nbits(BIG_256_28 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1040</div></div>
-<div class="ttc" id="big__256__28_8h_html_a7fb5f835fcf150b513d0d05c56fb75da"><div class="ttname"><a href="big__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da">BIG_256_28_dshr</a></div><div class="ttdeci">void BIG_256_28_dshr(DBIG_256_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_256_28.c:918</div></div>
-<div class="ttc" id="big__256__28_8h_html_ac897e470de2052dd8d094c867dc53650"><div class="ttname"><a href="big__256__28_8h.html#ac897e470de2052dd8d094c867dc53650">BIG_256_28_shr</a></div><div class="ttdeci">void BIG_256_28_shr(BIG_256_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_256_28.c:864</div></div>
-<div class="ttc" id="big__256__28_8h_html_a5d690b7e832f23596e67bf1f5e423307"><div class="ttname"><a href="big__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307">BIG_256_28_dadd</a></div><div class="ttdeci">void BIG_256_28_dadd(DBIG_256_28 x, DBIG_256_28 y, DBIG_256_28 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:426</div></div>
-<div class="ttc" id="big__256__28_8h_html_aab6a408e01aaab2ee65c2440d8075d94"><div class="ttname"><a href="big__256__28_8h.html#aab6a408e01aaab2ee65c2440d8075d94">BIG_256_28_zero</a></div><div class="ttdeci">void BIG_256_28_zero(BIG_256_28 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:319</div></div>
-<div class="ttc" id="big__256__28_8h_html_a64951278639c2065b1ee6c3cb5bc3b99"><div class="ttname"><a href="big__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99">BIG_256_28_shl</a></div><div class="ttdeci">void BIG_256_28_shl(BIG_256_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_256_28.c:813</div></div>
-<div class="ttc" id="big__256__28_8h_html_af7f8ba125fa00c0671704f8065a64e30"><div class="ttname"><a href="big__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30">BIG_256_28_mul</a></div><div class="ttdeci">void BIG_256_28_mul(DBIG_256_28 x, BIG_256_28 y, BIG_256_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_256_28.c:542</div></div>
-<div class="ttc" id="big__256__28_8h_html_ab7182226782ef414b678dba9920e18a2"><div class="ttname"><a href="big__256__28_8h.html#ab7182226782ef414b678dba9920e18a2">BIG_256_28_lastbits</a></div><div class="ttdeci">int BIG_256_28_lastbits(BIG_256_28 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1240</div></div>
-<div class="ttc" id="big__256__28_8h_html_a03ab05da92eb2ea796cb26842b7e77e3"><div class="ttname"><a href="big__256__28_8h.html#a03ab05da92eb2ea796cb26842b7e77e3">BIG_256_28_cmove</a></div><div class="ttdeci">void BIG_256_28_cmove(BIG_256_28 x, BIG_256_28 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:110</div></div>
-<div class="ttc" id="big__256__28_8h_html_a0831bc3b956e7489f966f919f635ee22"><div class="ttname"><a href="big__256__28_8h.html#a0831bc3b956e7489f966f919f635ee22">BIG_256_28_copy</a></div><div class="ttdeci">void BIG_256_28_copy(BIG_256_28 x, BIG_256_28 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:227</div></div>
-<div class="ttc" id="big__256__28_8h_html_ae2e7ef59bb9d7c8affd18ebee14161f8"><div class="ttname"><a href="big__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8">BIG_256_28_modneg</a></div><div class="ttdeci">void BIG_256_28_modneg(BIG_256_28 x, BIG_256_28 y, BIG_256_28 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1327</div></div>
-<div class="ttc" id="big__256__28_8h_html_a1c7deb16fe58bf6822dc208b4c299967"><div class="ttname"><a href="big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967">BMASK_256_28</a></div><div class="ttdeci">#define BMASK_256_28</div><div class="ttdef"><b>Definition:</b> big_256_28.h:42</div></div>
-<div class="ttc" id="big__256__28_8h_html_a4000478e901513a32681a2edcb3a88dd"><div class="ttname"><a href="big__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd">BIG_256_28_ssn</a></div><div class="ttdeci">int BIG_256_28_ssn(BIG_256_28 r, BIG_256_28 a, BIG_256_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_256_28.c:877</div></div>
-<div class="ttc" id="big__256__28_8h_html_a4042f0ef0741d29c29ca604808803e1d"><div class="ttname"><a href="big__256__28_8h.html#a4042f0ef0741d29c29ca604808803e1d">BIG_256_28_fromBytes</a></div><div class="ttdeci">void BIG_256_28_fromBytes(BIG_256_28 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:155</div></div>
-<div class="ttc" id="big__256__28_8h_html_a30b918cd0cab2b6762da39f522f11140"><div class="ttname"><a href="big__256__28_8h.html#a30b918cd0cab2b6762da39f522f11140">BIG_256_28_output</a></div><div class="ttdeci">void BIG_256_28_output(BIG_256_28 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:55</div></div>
-<div class="ttc" id="big__256__28_8h_html_ab24e6de2b7e5d7d78b1bac14b13768be"><div class="ttname"><a href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">DBIG_256_28</a></div><div class="ttdeci">chunk DBIG_256_28[DNLEN_256_28]</div><div class="ttdef"><b>Definition:</b> big_256_28.h:59</div></div>
-<div class="ttc" id="big__256__28_8h_html_ae832454893ebd2893dd43466b53fb335"><div class="ttname"><a href="big__256__28_8h.html#ae832454893ebd2893dd43466b53fb335">BIG_256_28_dmod2m</a></div><div class="ttdeci">void BIG_256_28_dmod2m(DBIG_256_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1470</div></div>
-<div class="ttc" id="big__256__28_8h_html_aee1f0d223f9b39ad2c723011dd55b42c"><div class="ttname"><a href="big__256__28_8h.html#aee1f0d223f9b39ad2c723011dd55b42c">BIG_256_28_dzero</a></div><div class="ttdeci">void BIG_256_28_dzero(DBIG_256_28 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:329</div></div>
-<div class="ttc" id="big__256__28_8h_html_a32cfd50006ba099108d95dd49906e37d"><div class="ttname"><a href="big__256__28_8h.html#a32cfd50006ba099108d95dd49906e37d">BIG_256_28_drawoutput</a></div><div class="ttdeci">void BIG_256_28_drawoutput(DBIG_256_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:212</div></div>
-<div class="ttc" id="big__256__28_8h_html_ae4f351cc457451bef252ab2cda4c7311"><div class="ttname"><a href="big__256__28_8h.html#ae4f351cc457451bef252ab2cda4c7311">BIG_256_28_sdcopy</a></div><div class="ttdeci">void BIG_256_28_sdcopy(BIG_256_28 x, DBIG_256_28 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:294</div></div>
-<div class="ttc" id="config__big__256__28_8h_html_af025ee034981f7bc32396d376a876188"><div class="ttname"><a href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a></div><div class="ttdeci">#define BASEBITS_256_28</div><div class="ttdef"><b>Definition:</b> config_big_256_28.h:35</div></div>
-<div class="ttc" id="big__256__28_8h_html_af61371a17945b604a208a2b935aec74d"><div class="ttname"><a href="big__256__28_8h.html#af61371a17945b604a208a2b935aec74d">BIG_256_28_randomnum</a></div><div class="ttdeci">void BIG_256_28_randomnum(BIG_256_28 x, BIG_256_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_256_28.c:1274</div></div>
-<div class="ttc" id="big__256__28_8h_html_a1f68dfface1a49778efb80d7409ad24a"><div class="ttname"><a href="big__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a">BIG_256_28_smul</a></div><div class="ttdeci">void BIG_256_28_smul(BIG_256_28 x, BIG_256_28 y, BIG_256_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_256_28.c:518</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__256__28_8h_html_a2f7ce434aa163e584027c8495f3a561d"><div class="ttname"><a href="big__256__28_8h.html#a2f7ce434aa163e584027c8495f3a561d">BIG_256_28_toBytes</a></div><div class="ttdeci">void BIG_256_28_toBytes(char *a, BIG_256_28 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:141</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__256__28_8h_html_ad522cd24b6c1f839999974f6acad1723"><div class="ttname"><a href="big__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723">BIG_256_28_sdiv</a></div><div class="ttdeci">void BIG_256_28_sdiv(BIG_256_28 x, BIG_256_28 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1188</div></div>
-<div class="ttc" id="big__256__28_8h_html_a5eb3022f9db32c07282522095d3af912"><div class="ttname"><a href="big__256__28_8h.html#a5eb3022f9db32c07282522095d3af912">BIG_256_28_fromBytesLen</a></div><div class="ttdeci">void BIG_256_28_fromBytesLen(BIG_256_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_256_28.c:170</div></div>
-<div class="ttc" id="big__256__28_8h_html_a27820fd216b00e63943900f62afbd78c"><div class="ttname"><a href="big__256__28_8h.html#a27820fd216b00e63943900f62afbd78c">BIG_256_28_pxmul</a></div><div class="ttdeci">void BIG_256_28_pxmul(DBIG_256_28 x, BIG_256_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_256_28.c:501</div></div>
-<div class="ttc" id="big__256__28_8h_html_accdff89cc25453bc0916a6d757bb2acb"><div class="ttname"><a href="big__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb">BIG_256_28_dnbits</a></div><div class="ttdeci">int BIG_256_28_dnbits(DBIG_256_28 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:1060</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__256__28_8h_html_a4ef176edcca47dbfc2543571d9cc7d61"><div class="ttname"><a href="big__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61">BIG_256_28_add</a></div><div class="ttdeci">void BIG_256_28_add(BIG_256_28 x, BIG_256_28 y, BIG_256_28 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:356</div></div>
-<div class="ttc" id="big__256__28_8h_html_a2e1b831b24679406e0ad181b23fc3dd5"><div class="ttname"><a href="big__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5">BIG_256_28_norm</a></div><div class="ttdeci">chunk BIG_256_28_norm(BIG_256_28 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:976</div></div>
-<div class="ttc" id="big__256__28_8h_html_aeef29ac9135b080cdca9ad39010fbe1e"><div class="ttname"><a href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">DNLEN_256_28</a></div><div class="ttdeci">#define DNLEN_256_28</div><div class="ttdef"><b>Definition:</b> big_256_28.h:41</div></div>
-<div class="ttc" id="big__256__28_8h_html_ab5fc71f9eafdd9d4989f71cb3c4010c5"><div class="ttname"><a href="big__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5">BIG_256_28_dsub</a></div><div class="ttdeci">void BIG_256_28_dsub(DBIG_256_28 x, DBIG_256_28 y, DBIG_256_28 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:413</div></div>
-<div class="ttc" id="big__256__28_8h_html_ac3715b5d4781042b9705f9ec473c56c5"><div class="ttname"><a href="big__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5">BIG_256_28_random</a></div><div class="ttdeci">void BIG_256_28_random(BIG_256_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_256_28.c:1248</div></div>
-<div class="ttc" id="big__256__28_8h_html_a4971f54b70faa1a1b86435be6bf9b9c0"><div class="ttname"><a href="big__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0">BIG_256_28_div3</a></div><div class="ttdeci">int BIG_256_28_div3(BIG_256_28 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:484</div></div>
-<div class="ttc" id="big__256__28_8h_html_afef94b156f0a4a42047ae2ee98bd9306"><div class="ttname"><a href="big__256__28_8h.html#afef94b156f0a4a42047ae2ee98bd9306">BIG_256_28_dsucopy</a></div><div class="ttdeci">void BIG_256_28_dsucopy(DBIG_256_28 x, BIG_256_28 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:280</div></div>
-<div class="ttc" id="big__256__28_8h_html_a44358ec27a552db4d42e1652a8f3cd12"><div class="ttname"><a href="big__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12">BIG_256_28_monty</a></div><div class="ttdeci">void BIG_256_28_monty(BIG_256_28 a, BIG_256_28 md, chunk MC, DBIG_256_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_256_28.c:735</div></div>
-<div class="ttc" id="big__256__28_8h_html_a7658779f094b599a129e7697c990baf6"><div class="ttname"><a href="big__256__28_8h.html#a7658779f094b599a129e7697c990baf6">BIG_256_28_rcopy</a></div><div class="ttdeci">void BIG_256_28_rcopy(BIG_256_28 x, const BIG_256_28 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_28.c:239</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__256__29_8h.html b/website/static/cdocs/big__256__29_8h.html
deleted file mode 100644
index 66de25e..0000000
--- a/website/static/cdocs/big__256__29_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_29.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_29.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__29_8h_source.html">config_big_256_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__256__29_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:a6863374287d6031d9e1d8190b0d87205"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a6863374287d6031d9e1d8190b0d87205">BIGBITS_256_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">MODBYTES_256_29</a>)</td></tr>
-<tr class="separator:a6863374287d6031d9e1d8190b0d87205"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a98054fdf6f0d9c326bcbab282b566c28"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">MODBYTES_256_29</a>-1)/<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>))</td></tr>
-<tr class="separator:a98054fdf6f0d9c326bcbab282b566c28"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a653e1560782ad0484bdace3a6a23e627"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">DNLEN_256_29</a>&#160;&#160;&#160;2*<a class="el" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a></td></tr>
-<tr class="separator:a653e1560782ad0484bdace3a6a23e627"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab609d4900b112ac810c1c77bc558760f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f">BMASK_256_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>)-1)</td></tr>
-<tr class="separator:ab609d4900b112ac810c1c77bc558760f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3211c1a2e191826e47948c6967f688ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a3211c1a2e191826e47948c6967f688ab">NEXCESS_256_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>-1))</td></tr>
-<tr class="separator:a3211c1a2e191826e47948c6967f688ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a02f07f385a505ff1d42a133d7b9372af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>/2)</td></tr>
-<tr class="separator:a02f07f385a505ff1d42a133d7b9372af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9873557170d0afc86c18f63c45658217"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a9873557170d0afc86c18f63c45658217">HMASK_256_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</a>)-1)</td></tr>
-<tr class="separator:a9873557170d0afc86c18f63c45658217"><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:a752b7e9ddbb1be663b24c192c7b40f18"><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__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>[<a class="el" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a>]</td></tr>
-<tr class="separator:a752b7e9ddbb1be663b24c192c7b40f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01ec52b32e54946975e531e4f1356884"><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__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>[<a class="el" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">DNLEN_256_29</a>]</td></tr>
-<tr class="separator:a01ec52b32e54946975e531e4f1356884"><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:a976506581e8e06d57055921dec760493"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a976506581e8e06d57055921dec760493">BIG_256_29_iszilch</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a976506581e8e06d57055921dec760493"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a976506581e8e06d57055921dec760493">More...</a><br /></td></tr>
-<tr class="separator:a976506581e8e06d57055921dec760493"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:addc0b0eed4709089ea4affd912f7e20a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#addc0b0eed4709089ea4affd912f7e20a">BIG_256_29_isunity</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:addc0b0eed4709089ea4affd912f7e20a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#addc0b0eed4709089ea4affd912f7e20a">More...</a><br /></td></tr>
-<tr class="separator:addc0b0eed4709089ea4affd912f7e20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5dde770895a5473f6e9770f92d1f5aa0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a5dde770895a5473f6e9770f92d1f5aa0">BIG_256_29_diszilch</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a5dde770895a5473f6e9770f92d1f5aa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a5dde770895a5473f6e9770f92d1f5aa0">More...</a><br /></td></tr>
-<tr class="separator:a5dde770895a5473f6e9770f92d1f5aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a044828c9a61da9d1abbce2c515080772"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a044828c9a61da9d1abbce2c515080772">BIG_256_29_output</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a044828c9a61da9d1abbce2c515080772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#a044828c9a61da9d1abbce2c515080772">More...</a><br /></td></tr>
-<tr class="separator:a044828c9a61da9d1abbce2c515080772"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac62bbe0fa81461611bb6703b5f9cbd77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ac62bbe0fa81461611bb6703b5f9cbd77">BIG_256_29_rawoutput</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:ac62bbe0fa81461611bb6703b5f9cbd77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#ac62bbe0fa81461611bb6703b5f9cbd77">More...</a><br /></td></tr>
-<tr class="separator:ac62bbe0fa81461611bb6703b5f9cbd77"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ba7d16ea20d46ec7a200510ca41a338"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a4ba7d16ea20d46ec7a200510ca41a338">BIG_256_29_cswap</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, int s)</td></tr>
-<tr class="memdesc:a4ba7d16ea20d46ec7a200510ca41a338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a4ba7d16ea20d46ec7a200510ca41a338">More...</a><br /></td></tr>
-<tr class="separator:a4ba7d16ea20d46ec7a200510ca41a338"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8a6bf060bb48f7c51fcda4cde1e8e26e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a8a6bf060bb48f7c51fcda4cde1e8e26e">BIG_256_29_cmove</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, int s)</td></tr>
-<tr class="memdesc:a8a6bf060bb48f7c51fcda4cde1e8e26e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a8a6bf060bb48f7c51fcda4cde1e8e26e">More...</a><br /></td></tr>
-<tr class="separator:a8a6bf060bb48f7c51fcda4cde1e8e26e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa7b733233ab20bec1044bbfd7e5fd66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#afa7b733233ab20bec1044bbfd7e5fd66">BIG_256_29_dcmove</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, int s)</td></tr>
-<tr class="memdesc:afa7b733233ab20bec1044bbfd7e5fd66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#afa7b733233ab20bec1044bbfd7e5fd66">More...</a><br /></td></tr>
-<tr class="separator:afa7b733233ab20bec1044bbfd7e5fd66"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af28a4870f8aff2e8428c2b6b4f94e756"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#af28a4870f8aff2e8428c2b6b4f94e756">BIG_256_29_toBytes</a> (char *a, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:af28a4870f8aff2e8428c2b6b4f94e756"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#af28a4870f8aff2e8428c2b6b4f94e756">More...</a><br /></td></tr>
-<tr class="separator:af28a4870f8aff2e8428c2b6b4f94e756"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aece77a065e83680be752dac8a6519b83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aece77a065e83680be752dac8a6519b83">BIG_256_29_fromBytes</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, char *a)</td></tr>
-<tr class="memdesc:aece77a065e83680be752dac8a6519b83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#aece77a065e83680be752dac8a6519b83">More...</a><br /></td></tr>
-<tr class="separator:aece77a065e83680be752dac8a6519b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:addef2147947e45becf815d91759fe9e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#addef2147947e45becf815d91759fe9e8">BIG_256_29_fromBytesLen</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:addef2147947e45becf815d91759fe9e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#addef2147947e45becf815d91759fe9e8">More...</a><br /></td></tr>
-<tr class="separator:addef2147947e45becf815d91759fe9e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a375ccfc139837462d3f3798cf44fdceb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a375ccfc139837462d3f3798cf44fdceb">BIG_256_29_dfromBytesLen</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a375ccfc139837462d3f3798cf44fdceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a375ccfc139837462d3f3798cf44fdceb">More...</a><br /></td></tr>
-<tr class="separator:a375ccfc139837462d3f3798cf44fdceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a70f41607cec7a5fb5876ef6114cb4487"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a70f41607cec7a5fb5876ef6114cb4487">BIG_256_29_doutput</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a70f41607cec7a5fb5876ef6114cb4487"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a70f41607cec7a5fb5876ef6114cb4487">More...</a><br /></td></tr>
-<tr class="separator:a70f41607cec7a5fb5876ef6114cb4487"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af7c6931543d396754a664b870f53940b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#af7c6931543d396754a664b870f53940b">BIG_256_29_drawoutput</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x)</td></tr>
-<tr class="memdesc:af7c6931543d396754a664b870f53940b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#af7c6931543d396754a664b870f53940b">More...</a><br /></td></tr>
-<tr class="separator:af7c6931543d396754a664b870f53940b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a30c02ed0211279e1eb64ef393131cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a2a30c02ed0211279e1eb64ef393131cf">BIG_256_29_rcopy</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, const <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y)</td></tr>
-<tr class="memdesc:a2a30c02ed0211279e1eb64ef393131cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#a2a30c02ed0211279e1eb64ef393131cf">More...</a><br /></td></tr>
-<tr class="separator:a2a30c02ed0211279e1eb64ef393131cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4870f8e59d0721de55dbd4c2d678abd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aa4870f8e59d0721de55dbd4c2d678abd">BIG_256_29_copy</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y)</td></tr>
-<tr class="memdesc:aa4870f8e59d0721de55dbd4c2d678abd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#aa4870f8e59d0721de55dbd4c2d678abd">More...</a><br /></td></tr>
-<tr class="separator:aa4870f8e59d0721de55dbd4c2d678abd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a705539d4d986b62787cb278c7a9c18cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a705539d4d986b62787cb278c7a9c18cb">BIG_256_29_dcopy</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y)</td></tr>
-<tr class="memdesc:a705539d4d986b62787cb278c7a9c18cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a705539d4d986b62787cb278c7a9c18cb">More...</a><br /></td></tr>
-<tr class="separator:a705539d4d986b62787cb278c7a9c18cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aba86a9c166b98d580a9e3452744d5d3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aba86a9c166b98d580a9e3452744d5d3c">BIG_256_29_dsucopy</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y)</td></tr>
-<tr class="memdesc:aba86a9c166b98d580a9e3452744d5d3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#aba86a9c166b98d580a9e3452744d5d3c">More...</a><br /></td></tr>
-<tr class="separator:aba86a9c166b98d580a9e3452744d5d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adfc567d5ba28ba96bef4de548f490936"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#adfc567d5ba28ba96bef4de548f490936">BIG_256_29_dscopy</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y)</td></tr>
-<tr class="memdesc:adfc567d5ba28ba96bef4de548f490936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#adfc567d5ba28ba96bef4de548f490936">More...</a><br /></td></tr>
-<tr class="separator:adfc567d5ba28ba96bef4de548f490936"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adf02d79d6b9e70e0c09d0abc9efa9dac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#adf02d79d6b9e70e0c09d0abc9efa9dac">BIG_256_29_sdcopy</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y)</td></tr>
-<tr class="memdesc:adf02d79d6b9e70e0c09d0abc9efa9dac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#adf02d79d6b9e70e0c09d0abc9efa9dac">More...</a><br /></td></tr>
-<tr class="separator:adf02d79d6b9e70e0c09d0abc9efa9dac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3ad6c1bda0300811bb05f19092aeccb5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a3ad6c1bda0300811bb05f19092aeccb5">BIG_256_29_sducopy</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y)</td></tr>
-<tr class="memdesc:a3ad6c1bda0300811bb05f19092aeccb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a3ad6c1bda0300811bb05f19092aeccb5">More...</a><br /></td></tr>
-<tr class="separator:a3ad6c1bda0300811bb05f19092aeccb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a934c865c43e9c75afe9748f030e4ec46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a934c865c43e9c75afe9748f030e4ec46">BIG_256_29_zero</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a934c865c43e9c75afe9748f030e4ec46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a934c865c43e9c75afe9748f030e4ec46">More...</a><br /></td></tr>
-<tr class="separator:a934c865c43e9c75afe9748f030e4ec46"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7dae9bf5b4e7509b41d56bc627ba8369"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a7dae9bf5b4e7509b41d56bc627ba8369">BIG_256_29_dzero</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a7dae9bf5b4e7509b41d56bc627ba8369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#a7dae9bf5b4e7509b41d56bc627ba8369">More...</a><br /></td></tr>
-<tr class="separator:a7dae9bf5b4e7509b41d56bc627ba8369"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4abe3933bc1a620c581e84057bb6a3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ae4abe3933bc1a620c581e84057bb6a3a">BIG_256_29_one</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:ae4abe3933bc1a620c581e84057bb6a3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#ae4abe3933bc1a620c581e84057bb6a3a">More...</a><br /></td></tr>
-<tr class="separator:ae4abe3933bc1a620c581e84057bb6a3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f8baf432b46720a1cfe897a571d23a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a4f8baf432b46720a1cfe897a571d23a7">BIG_256_29_invmod2m</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a4f8baf432b46720a1cfe897a571d23a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a4f8baf432b46720a1cfe897a571d23a7">More...</a><br /></td></tr>
-<tr class="separator:a4f8baf432b46720a1cfe897a571d23a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1aef430ef0ea9a948aee90f82071d417"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a1aef430ef0ea9a948aee90f82071d417">BIG_256_29_add</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z)</td></tr>
-<tr class="memdesc:a1aef430ef0ea9a948aee90f82071d417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a1aef430ef0ea9a948aee90f82071d417">More...</a><br /></td></tr>
-<tr class="separator:a1aef430ef0ea9a948aee90f82071d417"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7bfb4f437084b7c83fe82dcd319fb04f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a7bfb4f437084b7c83fe82dcd319fb04f">BIG_256_29_or</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z)</td></tr>
-<tr class="memdesc:a7bfb4f437084b7c83fe82dcd319fb04f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#a7bfb4f437084b7c83fe82dcd319fb04f">More...</a><br /></td></tr>
-<tr class="separator:a7bfb4f437084b7c83fe82dcd319fb04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a29dd4f8e557da97534dde4266631e505"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a29dd4f8e557da97534dde4266631e505">BIG_256_29_inc</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int i)</td></tr>
-<tr class="memdesc:a29dd4f8e557da97534dde4266631e505"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#a29dd4f8e557da97534dde4266631e505">More...</a><br /></td></tr>
-<tr class="separator:a29dd4f8e557da97534dde4266631e505"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97c753c8b89e022797d2b4d11bf70730"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a97c753c8b89e022797d2b4d11bf70730">BIG_256_29_sub</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z)</td></tr>
-<tr class="memdesc:a97c753c8b89e022797d2b4d11bf70730"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a97c753c8b89e022797d2b4d11bf70730">More...</a><br /></td></tr>
-<tr class="separator:a97c753c8b89e022797d2b4d11bf70730"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af70f9ed20a7e5fef6d4f99449d0b2a0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#af70f9ed20a7e5fef6d4f99449d0b2a0a">BIG_256_29_dec</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int i)</td></tr>
-<tr class="memdesc:af70f9ed20a7e5fef6d4f99449d0b2a0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#af70f9ed20a7e5fef6d4f99449d0b2a0a">More...</a><br /></td></tr>
-<tr class="separator:af70f9ed20a7e5fef6d4f99449d0b2a0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad7f19e783f041f1e0c3474201ea12a92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ad7f19e783f041f1e0c3474201ea12a92">BIG_256_29_dadd</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> z)</td></tr>
-<tr class="memdesc:ad7f19e783f041f1e0c3474201ea12a92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#ad7f19e783f041f1e0c3474201ea12a92">More...</a><br /></td></tr>
-<tr class="separator:ad7f19e783f041f1e0c3474201ea12a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaef78beead9b031b7e219027ba4dec44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aaef78beead9b031b7e219027ba4dec44">BIG_256_29_dsub</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> z)</td></tr>
-<tr class="memdesc:aaef78beead9b031b7e219027ba4dec44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#aaef78beead9b031b7e219027ba4dec44">More...</a><br /></td></tr>
-<tr class="separator:aaef78beead9b031b7e219027ba4dec44"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0cbcbc50b4ed07fd1c1f2ea435626eb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a0cbcbc50b4ed07fd1c1f2ea435626eb2">BIG_256_29_imul</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, int i)</td></tr>
-<tr class="memdesc:a0cbcbc50b4ed07fd1c1f2ea435626eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a0cbcbc50b4ed07fd1c1f2ea435626eb2">More...</a><br /></td></tr>
-<tr class="separator:a0cbcbc50b4ed07fd1c1f2ea435626eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a26788a5f4a4c8a3c6223cfdc598e2206"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a26788a5f4a4c8a3c6223cfdc598e2206">BIG_256_29_pmul</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, int i)</td></tr>
-<tr class="memdesc:a26788a5f4a4c8a3c6223cfdc598e2206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a26788a5f4a4c8a3c6223cfdc598e2206">More...</a><br /></td></tr>
-<tr class="separator:a26788a5f4a4c8a3c6223cfdc598e2206"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a734c94d13cbbd866f389706f9684b38f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a734c94d13cbbd866f389706f9684b38f">BIG_256_29_div3</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a734c94d13cbbd866f389706f9684b38f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#a734c94d13cbbd866f389706f9684b38f">More...</a><br /></td></tr>
-<tr class="separator:a734c94d13cbbd866f389706f9684b38f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a37858e7d7ba07f829f5fe406e143244a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a37858e7d7ba07f829f5fe406e143244a">BIG_256_29_pxmul</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, int i)</td></tr>
-<tr class="memdesc:a37858e7d7ba07f829f5fe406e143244a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a37858e7d7ba07f829f5fe406e143244a">More...</a><br /></td></tr>
-<tr class="separator:a37858e7d7ba07f829f5fe406e143244a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ca09ec3b1a33bc6bbb61a351baa2ff7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a1ca09ec3b1a33bc6bbb61a351baa2ff7">BIG_256_29_mul</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z)</td></tr>
-<tr class="memdesc:a1ca09ec3b1a33bc6bbb61a351baa2ff7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#a1ca09ec3b1a33bc6bbb61a351baa2ff7">More...</a><br /></td></tr>
-<tr class="separator:a1ca09ec3b1a33bc6bbb61a351baa2ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa9a29a0ef363c94da54880dff875562c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aa9a29a0ef363c94da54880dff875562c">BIG_256_29_smul</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z)</td></tr>
-<tr class="memdesc:aa9a29a0ef363c94da54880dff875562c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#aa9a29a0ef363c94da54880dff875562c">More...</a><br /></td></tr>
-<tr class="separator:aa9a29a0ef363c94da54880dff875562c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3b9ab7a0b7fb9d2391d0cb9703640a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#af3b9ab7a0b7fb9d2391d0cb9703640a1">BIG_256_29_sqr</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y)</td></tr>
-<tr class="memdesc:af3b9ab7a0b7fb9d2391d0cb9703640a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#af3b9ab7a0b7fb9d2391d0cb9703640a1">More...</a><br /></td></tr>
-<tr class="separator:af3b9ab7a0b7fb9d2391d0cb9703640a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c252a4354dfb59a76d97e0d6f762627"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a7c252a4354dfb59a76d97e0d6f762627">BIG_256_29_monty</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> a, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> d)</td></tr>
-<tr class="memdesc:a7c252a4354dfb59a76d97e0d6f762627"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#a7c252a4354dfb59a76d97e0d6f762627">More...</a><br /></td></tr>
-<tr class="separator:a7c252a4354dfb59a76d97e0d6f762627"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7eb0b9ad8b3f83098cf1e09143063760"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a7eb0b9ad8b3f83098cf1e09143063760">BIG_256_29_shl</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int s)</td></tr>
-<tr class="memdesc:a7eb0b9ad8b3f83098cf1e09143063760"><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="#a7eb0b9ad8b3f83098cf1e09143063760">More...</a><br /></td></tr>
-<tr class="separator:a7eb0b9ad8b3f83098cf1e09143063760"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0f76a362b0d4e8e3558d52156135920e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a0f76a362b0d4e8e3558d52156135920e">BIG_256_29_fshl</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int s)</td></tr>
-<tr class="memdesc:a0f76a362b0d4e8e3558d52156135920e"><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="#a0f76a362b0d4e8e3558d52156135920e">More...</a><br /></td></tr>
-<tr class="separator:a0f76a362b0d4e8e3558d52156135920e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a03bf0e9d7230ca101c85ca9dd1106647"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a03bf0e9d7230ca101c85ca9dd1106647">BIG_256_29_dshl</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, int s)</td></tr>
-<tr class="memdesc:a03bf0e9d7230ca101c85ca9dd1106647"><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="#a03bf0e9d7230ca101c85ca9dd1106647">More...</a><br /></td></tr>
-<tr class="separator:a03bf0e9d7230ca101c85ca9dd1106647"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a897715e22f6f400d1e89eb20b13a4a61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a897715e22f6f400d1e89eb20b13a4a61">BIG_256_29_shr</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int s)</td></tr>
-<tr class="memdesc:a897715e22f6f400d1e89eb20b13a4a61"><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="#a897715e22f6f400d1e89eb20b13a4a61">More...</a><br /></td></tr>
-<tr class="separator:a897715e22f6f400d1e89eb20b13a4a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21edd2fc13e98c973af2bcdd8314e8b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a21edd2fc13e98c973af2bcdd8314e8b9">BIG_256_29_ssn</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> r, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> a, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> m)</td></tr>
-<tr class="memdesc:a21edd2fc13e98c973af2bcdd8314e8b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a21edd2fc13e98c973af2bcdd8314e8b9">More...</a><br /></td></tr>
-<tr class="separator:a21edd2fc13e98c973af2bcdd8314e8b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ff20a509a419768bd691c8e6757aa6c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a2ff20a509a419768bd691c8e6757aa6c">BIG_256_29_fshr</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int s)</td></tr>
-<tr class="memdesc:a2ff20a509a419768bd691c8e6757aa6c"><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="#a2ff20a509a419768bd691c8e6757aa6c">More...</a><br /></td></tr>
-<tr class="separator:a2ff20a509a419768bd691c8e6757aa6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3afe99cafc419f225c3b901fc9f018e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a3afe99cafc419f225c3b901fc9f018e5">BIG_256_29_dshr</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, int s)</td></tr>
-<tr class="memdesc:a3afe99cafc419f225c3b901fc9f018e5"><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="#a3afe99cafc419f225c3b901fc9f018e5">More...</a><br /></td></tr>
-<tr class="separator:a3afe99cafc419f225c3b901fc9f018e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abf41ba04665e4640aae5cc73f1cfe760"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#abf41ba04665e4640aae5cc73f1cfe760">BIG_256_29_split</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> z, int s)</td></tr>
-<tr class="memdesc:abf41ba04665e4640aae5cc73f1cfe760"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#abf41ba04665e4640aae5cc73f1cfe760">More...</a><br /></td></tr>
-<tr class="separator:abf41ba04665e4640aae5cc73f1cfe760"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae448673401c83ef7937ebd8109812d52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ae448673401c83ef7937ebd8109812d52">BIG_256_29_norm</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:ae448673401c83ef7937ebd8109812d52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#ae448673401c83ef7937ebd8109812d52">More...</a><br /></td></tr>
-<tr class="separator:ae448673401c83ef7937ebd8109812d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac4155d5f3609fc2a4d3dde920d851e11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ac4155d5f3609fc2a4d3dde920d851e11">BIG_256_29_dnorm</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x)</td></tr>
-<tr class="memdesc:ac4155d5f3609fc2a4d3dde920d851e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#ac4155d5f3609fc2a4d3dde920d851e11">More...</a><br /></td></tr>
-<tr class="separator:ac4155d5f3609fc2a4d3dde920d851e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa1510430ef1fd606da826613e516e0dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aa1510430ef1fd606da826613e516e0dd">BIG_256_29_comp</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y)</td></tr>
-<tr class="memdesc:aa1510430ef1fd606da826613e516e0dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#aa1510430ef1fd606da826613e516e0dd">More...</a><br /></td></tr>
-<tr class="separator:aa1510430ef1fd606da826613e516e0dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4e2034ea1159ea641544922afe4532d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aa4e2034ea1159ea641544922afe4532d">BIG_256_29_dcomp</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y)</td></tr>
-<tr class="memdesc:aa4e2034ea1159ea641544922afe4532d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#aa4e2034ea1159ea641544922afe4532d">More...</a><br /></td></tr>
-<tr class="separator:aa4e2034ea1159ea641544922afe4532d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a23232ca660f365bf5876a8f5c4cf63f3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a23232ca660f365bf5876a8f5c4cf63f3">BIG_256_29_nbits</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:a23232ca660f365bf5876a8f5c4cf63f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a23232ca660f365bf5876a8f5c4cf63f3">More...</a><br /></td></tr>
-<tr class="separator:a23232ca660f365bf5876a8f5c4cf63f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce">BIG_256_29_dnbits</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x)</td></tr>
-<tr class="memdesc:aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce">More...</a><br /></td></tr>
-<tr class="separator:aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5870b9727ecb4808a668344f0994109"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#af5870b9727ecb4808a668344f0994109">BIG_256_29_mod</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:af5870b9727ecb4808a668344f0994109"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#af5870b9727ecb4808a668344f0994109">More...</a><br /></td></tr>
-<tr class="separator:af5870b9727ecb4808a668344f0994109"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5225a9da73fe4fdf6e07b3b135dfc25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#af5225a9da73fe4fdf6e07b3b135dfc25">BIG_256_29_sdiv</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:af5225a9da73fe4fdf6e07b3b135dfc25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#af5225a9da73fe4fdf6e07b3b135dfc25">More...</a><br /></td></tr>
-<tr class="separator:af5225a9da73fe4fdf6e07b3b135dfc25"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a199564d5d8a0cc674a13f7d6d5c390a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a199564d5d8a0cc674a13f7d6d5c390a7">BIG_256_29_dmod</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:a199564d5d8a0cc674a13f7d6d5c390a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a199564d5d8a0cc674a13f7d6d5c390a7">More...</a><br /></td></tr>
-<tr class="separator:a199564d5d8a0cc674a13f7d6d5c390a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac06384af8509fa4648f7fe9a31169820"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ac06384af8509fa4648f7fe9a31169820">BIG_256_29_ddiv</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:ac06384af8509fa4648f7fe9a31169820"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#ac06384af8509fa4648f7fe9a31169820">More...</a><br /></td></tr>
-<tr class="separator:ac06384af8509fa4648f7fe9a31169820"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab768075ecb86528f6f64727f1712d56e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ab768075ecb86528f6f64727f1712d56e">BIG_256_29_parity</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x)</td></tr>
-<tr class="memdesc:ab768075ecb86528f6f64727f1712d56e"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#ab768075ecb86528f6f64727f1712d56e">More...</a><br /></td></tr>
-<tr class="separator:ab768075ecb86528f6f64727f1712d56e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76e5bdb3549fede8f264cfcb26be6018"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a76e5bdb3549fede8f264cfcb26be6018">BIG_256_29_bit</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int i)</td></tr>
-<tr class="memdesc:a76e5bdb3549fede8f264cfcb26be6018"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a76e5bdb3549fede8f264cfcb26be6018">More...</a><br /></td></tr>
-<tr class="separator:a76e5bdb3549fede8f264cfcb26be6018"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abbe2731a8b528019a913c292e95c34ad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#abbe2731a8b528019a913c292e95c34ad">BIG_256_29_lastbits</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int n)</td></tr>
-<tr class="memdesc:abbe2731a8b528019a913c292e95c34ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#abbe2731a8b528019a913c292e95c34ad">More...</a><br /></td></tr>
-<tr class="separator:abbe2731a8b528019a913c292e95c34ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad7ac4bee902715416866db38b3cb9bb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ad7ac4bee902715416866db38b3cb9bb2">BIG_256_29_random</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:ad7ac4bee902715416866db38b3cb9bb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#ad7ac4bee902715416866db38b3cb9bb2">More...</a><br /></td></tr>
-<tr class="separator:ad7ac4bee902715416866db38b3cb9bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9d82cba4b9bbb7877c7deb40685c5127"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a9d82cba4b9bbb7877c7deb40685c5127">BIG_256_29_randomnum</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a9d82cba4b9bbb7877c7deb40685c5127"><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="#a9d82cba4b9bbb7877c7deb40685c5127">More...</a><br /></td></tr>
-<tr class="separator:a9d82cba4b9bbb7877c7deb40685c5127"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7539c997cb945c4842f61c61b0dbd527"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a7539c997cb945c4842f61c61b0dbd527">BIG_256_29_modmul</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:a7539c997cb945c4842f61c61b0dbd527"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a7539c997cb945c4842f61c61b0dbd527">More...</a><br /></td></tr>
-<tr class="separator:a7539c997cb945c4842f61c61b0dbd527"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a65c4b2f696fe7e38e29e2c1940a03395"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a65c4b2f696fe7e38e29e2c1940a03395">BIG_256_29_moddiv</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:a65c4b2f696fe7e38e29e2c1940a03395"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a65c4b2f696fe7e38e29e2c1940a03395">More...</a><br /></td></tr>
-<tr class="separator:a65c4b2f696fe7e38e29e2c1940a03395"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a22bf9d63c2ab7316376de3f7fbb958eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a22bf9d63c2ab7316376de3f7fbb958eb">BIG_256_29_modsqr</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:a22bf9d63c2ab7316376de3f7fbb958eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a22bf9d63c2ab7316376de3f7fbb958eb">More...</a><br /></td></tr>
-<tr class="separator:a22bf9d63c2ab7316376de3f7fbb958eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ed8026f6a8a6ab3331afde36953b69b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a2ed8026f6a8a6ab3331afde36953b69b">BIG_256_29_modneg</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:a2ed8026f6a8a6ab3331afde36953b69b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a2ed8026f6a8a6ab3331afde36953b69b">More...</a><br /></td></tr>
-<tr class="separator:a2ed8026f6a8a6ab3331afde36953b69b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4d8a36f15283eead515888a5cbbe615"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#ae4d8a36f15283eead515888a5cbbe615">BIG_256_29_jacobi</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y)</td></tr>
-<tr class="memdesc:ae4d8a36f15283eead515888a5cbbe615"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#ae4d8a36f15283eead515888a5cbbe615">More...</a><br /></td></tr>
-<tr class="separator:ae4d8a36f15283eead515888a5cbbe615"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4996d5c30887ebba590b50c2eccd16d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a4996d5c30887ebba590b50c2eccd16d0">BIG_256_29_invmodp</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y, <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> n)</td></tr>
-<tr class="memdesc:a4996d5c30887ebba590b50c2eccd16d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a4996d5c30887ebba590b50c2eccd16d0">More...</a><br /></td></tr>
-<tr class="separator:a4996d5c30887ebba590b50c2eccd16d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3a83080d302fbdc6b79a791f74cdc01c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a3a83080d302fbdc6b79a791f74cdc01c">BIG_256_29_mod2m</a> (<a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x, int m)</td></tr>
-<tr class="memdesc:a3a83080d302fbdc6b79a791f74cdc01c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a3a83080d302fbdc6b79a791f74cdc01c">More...</a><br /></td></tr>
-<tr class="separator:a3a83080d302fbdc6b79a791f74cdc01c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3681ba93dd87149397a4d4877f0e0be6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html#a3681ba93dd87149397a4d4877f0e0be6">BIG_256_29_dmod2m</a> (<a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x, int m)</td></tr>
-<tr class="memdesc:a3681ba93dd87149397a4d4877f0e0be6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a3681ba93dd87149397a4d4877f0e0be6">More...</a><br /></td></tr>
-<tr class="separator:a3681ba93dd87149397a4d4877f0e0be6"><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="a6863374287d6031d9e1d8190b0d87205"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6863374287d6031d9e1d8190b0d87205">&#9670;&nbsp;</a></span>BIGBITS_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_256_29&#160;&#160;&#160;(8*<a class="el" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">MODBYTES_256_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="ab609d4900b112ac810c1c77bc558760f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab609d4900b112ac810c1c77bc558760f">&#9670;&nbsp;</a></span>BMASK_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_256_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="a653e1560782ad0484bdace3a6a23e627"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a653e1560782ad0484bdace3a6a23e627">&#9670;&nbsp;</a></span>DNLEN_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_256_29&#160;&#160;&#160;2*<a class="el" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="a02f07f385a505ff1d42a133d7b9372af"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a02f07f385a505ff1d42a133d7b9372af">&#9670;&nbsp;</a></span>HBITS_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_256_29&#160;&#160;&#160;(<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="a9873557170d0afc86c18f63c45658217"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9873557170d0afc86c18f63c45658217">&#9670;&nbsp;</a></span>HMASK_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_256_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a3211c1a2e191826e47948c6967f688ab"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3211c1a2e191826e47948c6967f688ab">&#9670;&nbsp;</a></span>NEXCESS_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_256_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</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="a98054fdf6f0d9c326bcbab282b566c28"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a98054fdf6f0d9c326bcbab282b566c28">&#9670;&nbsp;</a></span>NLEN_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_256_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">MODBYTES_256_29</a>-1)/<a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a752b7e9ddbb1be663b24c192c7b40f18"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a752b7e9ddbb1be663b24c192c7b40f18">&#9670;&nbsp;</a></span>BIG_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_29[<a class="el" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a01ec52b32e54946975e531e4f1356884"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a01ec52b32e54946975e531e4f1356884">&#9670;&nbsp;</a></span>DBIG_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_256_29[<a class="el" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">DNLEN_256_29</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="a1aef430ef0ea9a948aee90f82071d417"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1aef430ef0ea9a948aee90f82071d417">&#9670;&nbsp;</a></span>BIG_256_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a76e5bdb3549fede8f264cfcb26be6018"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a76e5bdb3549fede8f264cfcb26be6018">&#9670;&nbsp;</a></span>BIG_256_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a8a6bf060bb48f7c51fcda4cde1e8e26e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8a6bf060bb48f7c51fcda4cde1e8e26e">&#9670;&nbsp;</a></span>BIG_256_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="aa1510430ef1fd606da826613e516e0dd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa1510430ef1fd606da826613e516e0dd">&#9670;&nbsp;</a></span>BIG_256_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="aa4870f8e59d0721de55dbd4c2d678abd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa4870f8e59d0721de55dbd4c2d678abd">&#9670;&nbsp;</a></span>BIG_256_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a4ba7d16ea20d46ec7a200510ca41a338"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4ba7d16ea20d46ec7a200510ca41a338">&#9670;&nbsp;</a></span>BIG_256_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="ad7f19e783f041f1e0c3474201ea12a92"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad7f19e783f041f1e0c3474201ea12a92">&#9670;&nbsp;</a></span>BIG_256_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="afa7b733233ab20bec1044bbfd7e5fd66"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afa7b733233ab20bec1044bbfd7e5fd66">&#9670;&nbsp;</a></span>BIG_256_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="aa4e2034ea1159ea641544922afe4532d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa4e2034ea1159ea641544922afe4532d">&#9670;&nbsp;</a></span>BIG_256_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="a705539d4d986b62787cb278c7a9c18cb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a705539d4d986b62787cb278c7a9c18cb">&#9670;&nbsp;</a></span>BIG_256_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="ac06384af8509fa4648f7fe9a31169820"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac06384af8509fa4648f7fe9a31169820">&#9670;&nbsp;</a></span>BIG_256_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="af70f9ed20a7e5fef6d4f99449d0b2a0a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af70f9ed20a7e5fef6d4f99449d0b2a0a">&#9670;&nbsp;</a></span>BIG_256_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a375ccfc139837462d3f3798cf44fdceb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a375ccfc139837462d3f3798cf44fdceb">&#9670;&nbsp;</a></span>BIG_256_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="a5dde770895a5473f6e9770f92d1f5aa0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5dde770895a5473f6e9770f92d1f5aa0">&#9670;&nbsp;</a></span>BIG_256_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="a734c94d13cbbd866f389706f9684b38f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a734c94d13cbbd866f389706f9684b38f">&#9670;&nbsp;</a></span>BIG_256_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a199564d5d8a0cc674a13f7d6d5c390a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a199564d5d8a0cc674a13f7d6d5c390a7">&#9670;&nbsp;</a></span>BIG_256_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a3681ba93dd87149397a4d4877f0e0be6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3681ba93dd87149397a4d4877f0e0be6">&#9670;&nbsp;</a></span>BIG_256_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce">&#9670;&nbsp;</a></span>BIG_256_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="ac4155d5f3609fc2a4d3dde920d851e11"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac4155d5f3609fc2a4d3dde920d851e11">&#9670;&nbsp;</a></span>BIG_256_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="a70f41607cec7a5fb5876ef6114cb4487"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a70f41607cec7a5fb5876ef6114cb4487">&#9670;&nbsp;</a></span>BIG_256_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="af7c6931543d396754a664b870f53940b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af7c6931543d396754a664b870f53940b">&#9670;&nbsp;</a></span>BIG_256_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="adfc567d5ba28ba96bef4de548f490936"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adfc567d5ba28ba96bef4de548f490936">&#9670;&nbsp;</a></span>BIG_256_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a03bf0e9d7230ca101c85ca9dd1106647"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a03bf0e9d7230ca101c85ca9dd1106647">&#9670;&nbsp;</a></span>BIG_256_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="a3afe99cafc419f225c3b901fc9f018e5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3afe99cafc419f225c3b901fc9f018e5">&#9670;&nbsp;</a></span>BIG_256_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="aaef78beead9b031b7e219027ba4dec44"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaef78beead9b031b7e219027ba4dec44">&#9670;&nbsp;</a></span>BIG_256_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="aba86a9c166b98d580a9e3452744d5d3c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aba86a9c166b98d580a9e3452744d5d3c">&#9670;&nbsp;</a></span>BIG_256_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a7dae9bf5b4e7509b41d56bc627ba8369"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7dae9bf5b4e7509b41d56bc627ba8369">&#9670;&nbsp;</a></span>BIG_256_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="aece77a065e83680be752dac8a6519b83"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aece77a065e83680be752dac8a6519b83">&#9670;&nbsp;</a></span>BIG_256_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="addef2147947e45becf815d91759fe9e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#addef2147947e45becf815d91759fe9e8">&#9670;&nbsp;</a></span>BIG_256_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a0f76a362b0d4e8e3558d52156135920e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0f76a362b0d4e8e3558d52156135920e">&#9670;&nbsp;</a></span>BIG_256_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a2ff20a509a419768bd691c8e6757aa6c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2ff20a509a419768bd691c8e6757aa6c">&#9670;&nbsp;</a></span>BIG_256_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a0cbcbc50b4ed07fd1c1f2ea435626eb2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0cbcbc50b4ed07fd1c1f2ea435626eb2">&#9670;&nbsp;</a></span>BIG_256_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a29dd4f8e557da97534dde4266631e505"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a29dd4f8e557da97534dde4266631e505">&#9670;&nbsp;</a></span>BIG_256_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a4f8baf432b46720a1cfe897a571d23a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4f8baf432b46720a1cfe897a571d23a7">&#9670;&nbsp;</a></span>BIG_256_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a4996d5c30887ebba590b50c2eccd16d0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4996d5c30887ebba590b50c2eccd16d0">&#9670;&nbsp;</a></span>BIG_256_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="addc0b0eed4709089ea4affd912f7e20a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#addc0b0eed4709089ea4affd912f7e20a">&#9670;&nbsp;</a></span>BIG_256_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a976506581e8e06d57055921dec760493"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a976506581e8e06d57055921dec760493">&#9670;&nbsp;</a></span>BIG_256_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="ae4d8a36f15283eead515888a5cbbe615"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4d8a36f15283eead515888a5cbbe615">&#9670;&nbsp;</a></span>BIG_256_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="abbe2731a8b528019a913c292e95c34ad"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abbe2731a8b528019a913c292e95c34ad">&#9670;&nbsp;</a></span>BIG_256_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="af5870b9727ecb4808a668344f0994109"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af5870b9727ecb4808a668344f0994109">&#9670;&nbsp;</a></span>BIG_256_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a3a83080d302fbdc6b79a791f74cdc01c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3a83080d302fbdc6b79a791f74cdc01c">&#9670;&nbsp;</a></span>BIG_256_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a65c4b2f696fe7e38e29e2c1940a03395"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a65c4b2f696fe7e38e29e2c1940a03395">&#9670;&nbsp;</a></span>BIG_256_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a7539c997cb945c4842f61c61b0dbd527"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7539c997cb945c4842f61c61b0dbd527">&#9670;&nbsp;</a></span>BIG_256_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a2ed8026f6a8a6ab3331afde36953b69b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2ed8026f6a8a6ab3331afde36953b69b">&#9670;&nbsp;</a></span>BIG_256_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a22bf9d63c2ab7316376de3f7fbb958eb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a22bf9d63c2ab7316376de3f7fbb958eb">&#9670;&nbsp;</a></span>BIG_256_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a7c252a4354dfb59a76d97e0d6f762627"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c252a4354dfb59a76d97e0d6f762627">&#9670;&nbsp;</a></span>BIG_256_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>md</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
-          <td class="paramname"><em>MC</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="a1ca09ec3b1a33bc6bbb61a351baa2ff7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1ca09ec3b1a33bc6bbb61a351baa2ff7">&#9670;&nbsp;</a></span>BIG_256_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a23232ca660f365bf5876a8f5c4cf63f3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a23232ca660f365bf5876a8f5c4cf63f3">&#9670;&nbsp;</a></span>BIG_256_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="ae448673401c83ef7937ebd8109812d52"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae448673401c83ef7937ebd8109812d52">&#9670;&nbsp;</a></span>BIG_256_29_norm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="ae4abe3933bc1a620c581e84057bb6a3a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4abe3933bc1a620c581e84057bb6a3a">&#9670;&nbsp;</a></span>BIG_256_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a7bfb4f437084b7c83fe82dcd319fb04f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7bfb4f437084b7c83fe82dcd319fb04f">&#9670;&nbsp;</a></span>BIG_256_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a044828c9a61da9d1abbce2c515080772"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a044828c9a61da9d1abbce2c515080772">&#9670;&nbsp;</a></span>BIG_256_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="ab768075ecb86528f6f64727f1712d56e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab768075ecb86528f6f64727f1712d56e">&#9670;&nbsp;</a></span>BIG_256_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a26788a5f4a4c8a3c6223cfdc598e2206"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a26788a5f4a4c8a3c6223cfdc598e2206">&#9670;&nbsp;</a></span>BIG_256_29_pmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a37858e7d7ba07f829f5fe406e143244a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a37858e7d7ba07f829f5fe406e143244a">&#9670;&nbsp;</a></span>BIG_256_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="ad7ac4bee902715416866db38b3cb9bb2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad7ac4bee902715416866db38b3cb9bb2">&#9670;&nbsp;</a></span>BIG_256_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a9d82cba4b9bbb7877c7deb40685c5127"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d82cba4b9bbb7877c7deb40685c5127">&#9670;&nbsp;</a></span>BIG_256_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="ac62bbe0fa81461611bb6703b5f9cbd77"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac62bbe0fa81461611bb6703b5f9cbd77">&#9670;&nbsp;</a></span>BIG_256_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a2a30c02ed0211279e1eb64ef393131cf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2a30c02ed0211279e1eb64ef393131cf">&#9670;&nbsp;</a></span>BIG_256_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="adf02d79d6b9e70e0c09d0abc9efa9dac"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adf02d79d6b9e70e0c09d0abc9efa9dac">&#9670;&nbsp;</a></span>BIG_256_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="af5225a9da73fe4fdf6e07b3b135dfc25"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af5225a9da73fe4fdf6e07b3b135dfc25">&#9670;&nbsp;</a></span>BIG_256_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a3ad6c1bda0300811bb05f19092aeccb5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3ad6c1bda0300811bb05f19092aeccb5">&#9670;&nbsp;</a></span>BIG_256_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="a7eb0b9ad8b3f83098cf1e09143063760"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7eb0b9ad8b3f83098cf1e09143063760">&#9670;&nbsp;</a></span>BIG_256_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a897715e22f6f400d1e89eb20b13a4a61"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a897715e22f6f400d1e89eb20b13a4a61">&#9670;&nbsp;</a></span>BIG_256_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="aa9a29a0ef363c94da54880dff875562c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa9a29a0ef363c94da54880dff875562c">&#9670;&nbsp;</a></span>BIG_256_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="abf41ba04665e4640aae5cc73f1cfe760"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abf41ba04665e4640aae5cc73f1cfe760">&#9670;&nbsp;</a></span>BIG_256_29_split()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_256_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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="af3b9ab7a0b7fb9d2391d0cb9703640a1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af3b9ab7a0b7fb9d2391d0cb9703640a1">&#9670;&nbsp;</a></span>BIG_256_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a21edd2fc13e98c973af2bcdd8314e8b9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a21edd2fc13e98c973af2bcdd8314e8b9">&#9670;&nbsp;</a></span>BIG_256_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_256_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a97c753c8b89e022797d2b4d11bf70730"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a97c753c8b89e022797d2b4d11bf70730">&#9670;&nbsp;</a></span>BIG_256_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="af28a4870f8aff2e8428c2b6b4f94e756"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af28a4870f8aff2e8428c2b6b4f94e756">&#9670;&nbsp;</a></span>BIG_256_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_toBytes </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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="a934c865c43e9c75afe9748f030e4ec46"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a934c865c43e9c75afe9748f030e4ec46">&#9670;&nbsp;</a></span>BIG_256_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_256_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h_source.html b/website/static/cdocs/big__256__29_8h_source.html
deleted file mode 100644
index 8d199eb..0000000
--- a/website/static/cdocs/big__256__29_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_256_29.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_256_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__256__29_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_256_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_256_29_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__256__29_8h.html">config_big_256_29.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__256__29_8h.html#a6863374287d6031d9e1d8190b0d87205">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_256_29 (8*MODBYTES_256_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">   40</a></span>&#160;<span class="preprocessor">#define NLEN_256_29 (1+((8*MODBYTES_256_29-1)/BASEBITS_256_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_256_29 2*NLEN_256_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f">   42</a></span>&#160;<span class="preprocessor">#define BMASK_256_29 (((chunk)1&lt;&lt;BASEBITS_256_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__256__29_8h.html#a3211c1a2e191826e47948c6967f688ab">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_256_29 (1&lt;&lt;(CHUNK-BASEBITS_256_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">   45</a></span>&#160;<span class="preprocessor">#define HBITS_256_29 (BASEBITS_256_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__256__29_8h.html#a9873557170d0afc86c18f63c45658217">   46</a></span>&#160;<span class="preprocessor">#define HMASK_256_29 (((chunk)1&lt;&lt;HBITS_256_29)-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_256_29 NLEN_256_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_256_29 (NLEN_256_29+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__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>[<a class="code" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_256_29 DNLEN_256_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_256_29 (DNLEN_256_29+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__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>[<a class="code" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">DNLEN_256_29</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__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a>[<a class="code" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a>[<a class="code" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">DNLEN_256_29</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__256__29_8h.html#a976506581e8e06d57055921dec760493">BIG_256_29_iszilch</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#addc0b0eed4709089ea4affd912f7e20a">BIG_256_29_isunity</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a5dde770895a5473f6e9770f92d1f5aa0">BIG_256_29_diszilch</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a044828c9a61da9d1abbce2c515080772">BIG_256_29_output</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#ac62bbe0fa81461611bb6703b5f9cbd77">BIG_256_29_rawoutput</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a4ba7d16ea20d46ec7a200510ca41a338">BIG_256_29_cswap</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a8a6bf060bb48f7c51fcda4cde1e8e26e">BIG_256_29_cmove</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#afa7b733233ab20bec1044bbfd7e5fd66">BIG_256_29_dcmove</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#af28a4870f8aff2e8428c2b6b4f94e756">BIG_256_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#aece77a065e83680be752dac8a6519b83">BIG_256_29_fromBytes</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#addef2147947e45becf815d91759fe9e8">BIG_256_29_fromBytesLen</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a375ccfc139837462d3f3798cf44fdceb">BIG_256_29_dfromBytesLen</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a70f41607cec7a5fb5876ef6114cb4487">BIG_256_29_doutput</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#af7c6931543d396754a664b870f53940b">BIG_256_29_drawoutput</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a2a30c02ed0211279e1eb64ef393131cf">BIG_256_29_rcopy</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<span class="keyword">const</span> <a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#aa4870f8e59d0721de55dbd4c2d678abd">BIG_256_29_copy</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a705539d4d986b62787cb278c7a9c18cb">BIG_256_29_dcopy</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#aba86a9c166b98d580a9e3452744d5d3c">BIG_256_29_dsucopy</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#adfc567d5ba28ba96bef4de548f490936">BIG_256_29_dscopy</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#adf02d79d6b9e70e0c09d0abc9efa9dac">BIG_256_29_sdcopy</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a3ad6c1bda0300811bb05f19092aeccb5">BIG_256_29_sducopy</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a934c865c43e9c75afe9748f030e4ec46">BIG_256_29_zero</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a7dae9bf5b4e7509b41d56bc627ba8369">BIG_256_29_dzero</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#ae4abe3933bc1a620c581e84057bb6a3a">BIG_256_29_one</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a4f8baf432b46720a1cfe897a571d23a7">BIG_256_29_invmod2m</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a1aef430ef0ea9a948aee90f82071d417">BIG_256_29_add</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a7bfb4f437084b7c83fe82dcd319fb04f">BIG_256_29_or</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a29dd4f8e557da97534dde4266631e505">BIG_256_29_inc</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a97c753c8b89e022797d2b4d11bf70730">BIG_256_29_sub</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#af70f9ed20a7e5fef6d4f99449d0b2a0a">BIG_256_29_dec</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#ad7f19e783f041f1e0c3474201ea12a92">BIG_256_29_dadd</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#aaef78beead9b031b7e219027ba4dec44">BIG_256_29_dsub</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a0cbcbc50b4ed07fd1c1f2ea435626eb2">BIG_256_29_imul</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a26788a5f4a4c8a3c6223cfdc598e2206">BIG_256_29_pmul</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a734c94d13cbbd866f389706f9684b38f">BIG_256_29_div3</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a37858e7d7ba07f829f5fe406e143244a">BIG_256_29_pxmul</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a1ca09ec3b1a33bc6bbb61a351baa2ff7">BIG_256_29_mul</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#aa9a29a0ef363c94da54880dff875562c">BIG_256_29_smul</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#af3b9ab7a0b7fb9d2391d0cb9703640a1">BIG_256_29_sqr</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a7c252a4354dfb59a76d97e0d6f762627">BIG_256_29_monty</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> a,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a7eb0b9ad8b3f83098cf1e09143063760">BIG_256_29_shl</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a0f76a362b0d4e8e3558d52156135920e">BIG_256_29_fshl</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a03bf0e9d7230ca101c85ca9dd1106647">BIG_256_29_dshl</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a897715e22f6f400d1e89eb20b13a4a61">BIG_256_29_shr</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a21edd2fc13e98c973af2bcdd8314e8b9">BIG_256_29_ssn</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> r,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> a, <a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a2ff20a509a419768bd691c8e6757aa6c">BIG_256_29_fshr</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a3afe99cafc419f225c3b901fc9f018e5">BIG_256_29_dshr</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#abf41ba04665e4640aae5cc73f1cfe760">BIG_256_29_split</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#ae448673401c83ef7937ebd8109812d52">BIG_256_29_norm</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#ac4155d5f3609fc2a4d3dde920d851e11">BIG_256_29_dnorm</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#aa1510430ef1fd606da826613e516e0dd">BIG_256_29_comp</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#aa4e2034ea1159ea641544922afe4532d">BIG_256_29_dcomp</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#a23232ca660f365bf5876a8f5c4cf63f3">BIG_256_29_nbits</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce">BIG_256_29_dnbits</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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__256__29_8h.html#af5870b9727ecb4808a668344f0994109">BIG_256_29_mod</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#af5225a9da73fe4fdf6e07b3b135dfc25">BIG_256_29_sdiv</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a199564d5d8a0cc674a13f7d6d5c390a7">BIG_256_29_dmod</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#ac06384af8509fa4648f7fe9a31169820">BIG_256_29_ddiv</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#ab768075ecb86528f6f64727f1712d56e">BIG_256_29_parity</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a76e5bdb3549fede8f264cfcb26be6018">BIG_256_29_bit</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#abbe2731a8b528019a913c292e95c34ad">BIG_256_29_lastbits</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#ad7ac4bee902715416866db38b3cb9bb2">BIG_256_29_random</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a9d82cba4b9bbb7877c7deb40685c5127">BIG_256_29_randomnum</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a7539c997cb945c4842f61c61b0dbd527">BIG_256_29_modmul</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a65c4b2f696fe7e38e29e2c1940a03395">BIG_256_29_moddiv</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> z,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a22bf9d63c2ab7316376de3f7fbb958eb">BIG_256_29_modsqr</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a2ed8026f6a8a6ab3331afde36953b69b">BIG_256_29_modneg</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#ae4d8a36f15283eead515888a5cbbe615">BIG_256_29_jacobi</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a4996d5c30887ebba590b50c2eccd16d0">BIG_256_29_invmodp</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> x,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a> y,<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a3a83080d302fbdc6b79a791f74cdc01c">BIG_256_29_mod2m</a>(<a class="code" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</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__256__29_8h.html#a3681ba93dd87149397a4d4877f0e0be6">BIG_256_29_dmod2m</a>(<a class="code" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</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_256_29(<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__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f">BMASK_256_29</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__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</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_256_29(<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__256__29_8h.html#a9873557170d0afc86c18f63c45658217">HMASK_256_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__256__29_8h.html#a9873557170d0afc86c18f63c45658217">HMASK_256_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</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__256__29_8h.html#a9873557170d0afc86c18f63c45658217">HMASK_256_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</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__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f">BMASK_256_29</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__256__29_8h_html_a8a6bf060bb48f7c51fcda4cde1e8e26e"><div class="ttname"><a href="big__256__29_8h.html#a8a6bf060bb48f7c51fcda4cde1e8e26e">BIG_256_29_cmove</a></div><div class="ttdeci">void BIG_256_29_cmove(BIG_256_29 x, BIG_256_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:110</div></div>
-<div class="ttc" id="big__256__29_8h_html_ab609d4900b112ac810c1c77bc558760f"><div class="ttname"><a href="big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f">BMASK_256_29</a></div><div class="ttdeci">#define BMASK_256_29</div><div class="ttdef"><b>Definition:</b> big_256_29.h:42</div></div>
-<div class="ttc" id="big__256__29_8h_html_af70f9ed20a7e5fef6d4f99449d0b2a0a"><div class="ttname"><a href="big__256__29_8h.html#af70f9ed20a7e5fef6d4f99449d0b2a0a">BIG_256_29_dec</a></div><div class="ttdeci">void BIG_256_29_dec(BIG_256_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:440</div></div>
-<div class="ttc" id="big__256__29_8h_html_af3b9ab7a0b7fb9d2391d0cb9703640a1"><div class="ttname"><a href="big__256__29_8h.html#af3b9ab7a0b7fb9d2391d0cb9703640a1">BIG_256_29_sqr</a></div><div class="ttdeci">void BIG_256_29_sqr(DBIG_256_29 x, BIG_256_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:618</div></div>
-<div class="ttc" id="big__256__29_8h_html_a653e1560782ad0484bdace3a6a23e627"><div class="ttname"><a href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">DNLEN_256_29</a></div><div class="ttdeci">#define DNLEN_256_29</div><div class="ttdef"><b>Definition:</b> big_256_29.h:41</div></div>
-<div class="ttc" id="big__256__29_8h_html_afa7b733233ab20bec1044bbfd7e5fd66"><div class="ttname"><a href="big__256__29_8h.html#afa7b733233ab20bec1044bbfd7e5fd66">BIG_256_29_dcmove</a></div><div class="ttdeci">void BIG_256_29_dcmove(BIG_256_29 x, BIG_256_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__256__29_8h_html_a1aef430ef0ea9a948aee90f82071d417"><div class="ttname"><a href="big__256__29_8h.html#a1aef430ef0ea9a948aee90f82071d417">BIG_256_29_add</a></div><div class="ttdeci">void BIG_256_29_add(BIG_256_29 x, BIG_256_29 y, BIG_256_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:356</div></div>
-<div class="ttc" id="big__256__29_8h_html_af5870b9727ecb4808a668344f0994109"><div class="ttname"><a href="big__256__29_8h.html#af5870b9727ecb4808a668344f0994109">BIG_256_29_mod</a></div><div class="ttdeci">void BIG_256_29_mod(BIG_256_29 x, BIG_256_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1082</div></div>
-<div class="ttc" id="big__256__29_8h_html_a7dae9bf5b4e7509b41d56bc627ba8369"><div class="ttname"><a href="big__256__29_8h.html#a7dae9bf5b4e7509b41d56bc627ba8369">BIG_256_29_dzero</a></div><div class="ttdeci">void BIG_256_29_dzero(DBIG_256_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:329</div></div>
-<div class="ttc" id="big__256__29_8h_html_abf41ba04665e4640aae5cc73f1cfe760"><div class="ttname"><a href="big__256__29_8h.html#abf41ba04665e4640aae5cc73f1cfe760">BIG_256_29_split</a></div><div class="ttdeci">chunk BIG_256_29_split(BIG_256_29 x, BIG_256_29 y, DBIG_256_29 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_256_29.c:932</div></div>
-<div class="ttc" id="big__256__29_8h_html_a26788a5f4a4c8a3c6223cfdc598e2206"><div class="ttname"><a href="big__256__29_8h.html#a26788a5f4a4c8a3c6223cfdc598e2206">BIG_256_29_pmul</a></div><div class="ttdeci">chunk BIG_256_29_pmul(BIG_256_29 x, BIG_256_29 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_256_29.c:465</div></div>
-<div class="ttc" id="big__256__29_8h_html_a705539d4d986b62787cb278c7a9c18cb"><div class="ttname"><a href="big__256__29_8h.html#a705539d4d986b62787cb278c7a9c18cb">BIG_256_29_dcopy</a></div><div class="ttdeci">void BIG_256_29_dcopy(DBIG_256_29 x, DBIG_256_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:251</div></div>
-<div class="ttc" id="big__256__29_8h_html_a0cbcbc50b4ed07fd1c1f2ea435626eb2"><div class="ttname"><a href="big__256__29_8h.html#a0cbcbc50b4ed07fd1c1f2ea435626eb2">BIG_256_29_imul</a></div><div class="ttdeci">void BIG_256_29_imul(BIG_256_29 x, BIG_256_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:450</div></div>
-<div class="ttc" id="big__256__29_8h_html_a199564d5d8a0cc674a13f7d6d5c390a7"><div class="ttname"><a href="big__256__29_8h.html#a199564d5d8a0cc674a13f7d6d5c390a7">BIG_256_29_dmod</a></div><div class="ttdeci">void BIG_256_29_dmod(BIG_256_29 x, DBIG_256_29 y, BIG_256_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1113</div></div>
-<div class="ttc" id="big__256__29_8h_html_adfc567d5ba28ba96bef4de548f490936"><div class="ttname"><a href="big__256__29_8h.html#adfc567d5ba28ba96bef4de548f490936">BIG_256_29_dscopy</a></div><div class="ttdeci">void BIG_256_29_dscopy(DBIG_256_29 x, BIG_256_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:263</div></div>
-<div class="ttc" id="big__256__29_8h_html_a375ccfc139837462d3f3798cf44fdceb"><div class="ttname"><a href="big__256__29_8h.html#a375ccfc139837462d3f3798cf44fdceb">BIG_256_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_256_29_dfromBytesLen(DBIG_256_29 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_256_29.c:1485</div></div>
-<div class="ttc" id="big__256__29_8h_html_a0f76a362b0d4e8e3558d52156135920e"><div class="ttname"><a href="big__256__29_8h.html#a0f76a362b0d4e8e3558d52156135920e">BIG_256_29_fshl</a></div><div class="ttdeci">int BIG_256_29_fshl(BIG_256_29 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_256_29.c:832</div></div>
-<div class="ttc" id="big__256__29_8h_html_ae4abe3933bc1a620c581e84057bb6a3a"><div class="ttname"><a href="big__256__29_8h.html#ae4abe3933bc1a620c581e84057bb6a3a">BIG_256_29_one</a></div><div class="ttdeci">void BIG_256_29_one(BIG_256_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_256_29.c:340</div></div>
-<div class="ttc" id="config__big__256__29_8h_html"><div class="ttname"><a href="config__big__256__29_8h.html">config_big_256_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__256__29_8h_html_a98054fdf6f0d9c326bcbab282b566c28"><div class="ttname"><a href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">NLEN_256_29</a></div><div class="ttdeci">#define NLEN_256_29</div><div class="ttdef"><b>Definition:</b> big_256_29.h:40</div></div>
-<div class="ttc" id="big__256__29_8h_html_a7c252a4354dfb59a76d97e0d6f762627"><div class="ttname"><a href="big__256__29_8h.html#a7c252a4354dfb59a76d97e0d6f762627">BIG_256_29_monty</a></div><div class="ttdeci">void BIG_256_29_monty(BIG_256_29 a, BIG_256_29 md, chunk MC, DBIG_256_29 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_256_29.c:735</div></div>
-<div class="ttc" id="big__256__29_8h_html_a4ba7d16ea20d46ec7a200510ca41a338"><div class="ttname"><a href="big__256__29_8h.html#a4ba7d16ea20d46ec7a200510ca41a338">BIG_256_29_cswap</a></div><div class="ttdeci">void BIG_256_29_cswap(BIG_256_29 x, BIG_256_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:92</div></div>
-<div class="ttc" id="big__256__29_8h_html_ae4d8a36f15283eead515888a5cbbe615"><div class="ttname"><a href="big__256__29_8h.html#ae4d8a36f15283eead515888a5cbbe615">BIG_256_29_jacobi</a></div><div class="ttdeci">int BIG_256_29_jacobi(BIG_256_29 x, BIG_256_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1354</div></div>
-<div class="ttc" id="big__256__29_8h_html_a37858e7d7ba07f829f5fe406e143244a"><div class="ttname"><a href="big__256__29_8h.html#a37858e7d7ba07f829f5fe406e143244a">BIG_256_29_pxmul</a></div><div class="ttdeci">void BIG_256_29_pxmul(DBIG_256_29 x, BIG_256_29 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_256_29.c:501</div></div>
-<div class="ttc" id="big__256__29_8h_html_af5225a9da73fe4fdf6e07b3b135dfc25"><div class="ttname"><a href="big__256__29_8h.html#af5225a9da73fe4fdf6e07b3b135dfc25">BIG_256_29_sdiv</a></div><div class="ttdeci">void BIG_256_29_sdiv(BIG_256_29 x, BIG_256_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1188</div></div>
-<div class="ttc" id="big__256__29_8h_html_ab768075ecb86528f6f64727f1712d56e"><div class="ttname"><a href="big__256__29_8h.html#ab768075ecb86528f6f64727f1712d56e">BIG_256_29_parity</a></div><div class="ttdeci">int BIG_256_29_parity(BIG_256_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1225</div></div>
-<div class="ttc" id="big__256__29_8h_html_af28a4870f8aff2e8428c2b6b4f94e756"><div class="ttname"><a href="big__256__29_8h.html#af28a4870f8aff2e8428c2b6b4f94e756">BIG_256_29_toBytes</a></div><div class="ttdeci">void BIG_256_29_toBytes(char *a, BIG_256_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:141</div></div>
-<div class="ttc" id="big__256__29_8h_html_aa9a29a0ef363c94da54880dff875562c"><div class="ttname"><a href="big__256__29_8h.html#aa9a29a0ef363c94da54880dff875562c">BIG_256_29_smul</a></div><div class="ttdeci">void BIG_256_29_smul(BIG_256_29 x, BIG_256_29 y, BIG_256_29 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_256_29.c:518</div></div>
-<div class="ttc" id="big__256__29_8h_html_a21edd2fc13e98c973af2bcdd8314e8b9"><div class="ttname"><a href="big__256__29_8h.html#a21edd2fc13e98c973af2bcdd8314e8b9">BIG_256_29_ssn</a></div><div class="ttdeci">int BIG_256_29_ssn(BIG_256_29 r, BIG_256_29 a, BIG_256_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:877</div></div>
-<div class="ttc" id="big__256__29_8h_html_a01ec52b32e54946975e531e4f1356884"><div class="ttname"><a href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">DBIG_256_29</a></div><div class="ttdeci">chunk DBIG_256_29[DNLEN_256_29]</div><div class="ttdef"><b>Definition:</b> big_256_29.h:59</div></div>
-<div class="ttc" id="big__256__29_8h_html_a1ca09ec3b1a33bc6bbb61a351baa2ff7"><div class="ttname"><a href="big__256__29_8h.html#a1ca09ec3b1a33bc6bbb61a351baa2ff7">BIG_256_29_mul</a></div><div class="ttdeci">void BIG_256_29_mul(DBIG_256_29 x, BIG_256_29 y, BIG_256_29 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_256_29.c:542</div></div>
-<div class="ttc" id="big__256__29_8h_html_af7c6931543d396754a664b870f53940b"><div class="ttname"><a href="big__256__29_8h.html#af7c6931543d396754a664b870f53940b">BIG_256_29_drawoutput</a></div><div class="ttdeci">void BIG_256_29_drawoutput(DBIG_256_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:212</div></div>
-<div class="ttc" id="big__256__29_8h_html_a65c4b2f696fe7e38e29e2c1940a03395"><div class="ttname"><a href="big__256__29_8h.html#a65c4b2f696fe7e38e29e2c1940a03395">BIG_256_29_moddiv</a></div><div class="ttdeci">void BIG_256_29_moddiv(BIG_256_29 x, BIG_256_29 y, BIG_256_29 z, BIG_256_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1337</div></div>
-<div class="ttc" id="big__256__29_8h_html_a22bf9d63c2ab7316376de3f7fbb958eb"><div class="ttname"><a href="big__256__29_8h.html#a22bf9d63c2ab7316376de3f7fbb958eb">BIG_256_29_modsqr</a></div><div class="ttdeci">void BIG_256_29_modsqr(BIG_256_29 x, BIG_256_29 y, BIG_256_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1315</div></div>
-<div class="ttc" id="big__256__29_8h_html_ae448673401c83ef7937ebd8109812d52"><div class="ttname"><a href="big__256__29_8h.html#ae448673401c83ef7937ebd8109812d52">BIG_256_29_norm</a></div><div class="ttdeci">chunk BIG_256_29_norm(BIG_256_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:976</div></div>
-<div class="ttc" id="big__256__29_8h_html_a7eb0b9ad8b3f83098cf1e09143063760"><div class="ttname"><a href="big__256__29_8h.html#a7eb0b9ad8b3f83098cf1e09143063760">BIG_256_29_shl</a></div><div class="ttdeci">void BIG_256_29_shl(BIG_256_29 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_256_29.c:813</div></div>
-<div class="ttc" id="config__big__256__29_8h_html_aeb240eff1a42e7315190d4881c34f333"><div class="ttname"><a href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a></div><div class="ttdeci">#define BASEBITS_256_29</div><div class="ttdef"><b>Definition:</b> config_big_256_29.h:35</div></div>
-<div class="ttc" id="big__256__29_8h_html_ad7f19e783f041f1e0c3474201ea12a92"><div class="ttname"><a href="big__256__29_8h.html#ad7f19e783f041f1e0c3474201ea12a92">BIG_256_29_dadd</a></div><div class="ttdeci">void BIG_256_29_dadd(DBIG_256_29 x, DBIG_256_29 y, DBIG_256_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:426</div></div>
-<div class="ttc" id="big__256__29_8h_html_a934c865c43e9c75afe9748f030e4ec46"><div class="ttname"><a href="big__256__29_8h.html#a934c865c43e9c75afe9748f030e4ec46">BIG_256_29_zero</a></div><div class="ttdeci">void BIG_256_29_zero(BIG_256_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:319</div></div>
-<div class="ttc" id="big__256__29_8h_html_ac06384af8509fa4648f7fe9a31169820"><div class="ttname"><a href="big__256__29_8h.html#ac06384af8509fa4648f7fe9a31169820">BIG_256_29_ddiv</a></div><div class="ttdeci">void BIG_256_29_ddiv(BIG_256_29 x, DBIG_256_29 y, BIG_256_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1149</div></div>
-<div class="ttc" id="big__256__29_8h_html_addef2147947e45becf815d91759fe9e8"><div class="ttname"><a href="big__256__29_8h.html#addef2147947e45becf815d91759fe9e8">BIG_256_29_fromBytesLen</a></div><div class="ttdeci">void BIG_256_29_fromBytesLen(BIG_256_29 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_256_29.c:170</div></div>
-<div class="ttc" id="big__256__29_8h_html_aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce"><div class="ttname"><a href="big__256__29_8h.html#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce">BIG_256_29_dnbits</a></div><div class="ttdeci">int BIG_256_29_dnbits(DBIG_256_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1060</div></div>
-<div class="ttc" id="big__256__29_8h_html_aece77a065e83680be752dac8a6519b83"><div class="ttname"><a href="big__256__29_8h.html#aece77a065e83680be752dac8a6519b83">BIG_256_29_fromBytes</a></div><div class="ttdeci">void BIG_256_29_fromBytes(BIG_256_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:155</div></div>
-<div class="ttc" id="big__256__29_8h_html_a044828c9a61da9d1abbce2c515080772"><div class="ttname"><a href="big__256__29_8h.html#a044828c9a61da9d1abbce2c515080772">BIG_256_29_output</a></div><div class="ttdeci">void BIG_256_29_output(BIG_256_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:55</div></div>
-<div class="ttc" id="big__256__29_8h_html_a3ad6c1bda0300811bb05f19092aeccb5"><div class="ttname"><a href="big__256__29_8h.html#a3ad6c1bda0300811bb05f19092aeccb5">BIG_256_29_sducopy</a></div><div class="ttdeci">void BIG_256_29_sducopy(BIG_256_29 x, DBIG_256_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:306</div></div>
-<div class="ttc" id="big__256__29_8h_html_aa4e2034ea1159ea641544922afe4532d"><div class="ttname"><a href="big__256__29_8h.html#aa4e2034ea1159ea641544922afe4532d">BIG_256_29_dcomp</a></div><div class="ttdeci">int BIG_256_29_dcomp(DBIG_256_29 x, DBIG_256_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1026</div></div>
-<div class="ttc" id="big__256__29_8h_html_ac4155d5f3609fc2a4d3dde920d851e11"><div class="ttname"><a href="big__256__29_8h.html#ac4155d5f3609fc2a4d3dde920d851e11">BIG_256_29_dnorm</a></div><div class="ttdeci">void BIG_256_29_dnorm(DBIG_256_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:995</div></div>
-<div class="ttc" id="big__256__29_8h_html_a734c94d13cbbd866f389706f9684b38f"><div class="ttname"><a href="big__256__29_8h.html#a734c94d13cbbd866f389706f9684b38f">BIG_256_29_div3</a></div><div class="ttdeci">int BIG_256_29_div3(BIG_256_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:484</div></div>
-<div class="ttc" id="big__256__29_8h_html_addc0b0eed4709089ea4affd912f7e20a"><div class="ttname"><a href="big__256__29_8h.html#addc0b0eed4709089ea4affd912f7e20a">BIG_256_29_isunity</a></div><div class="ttdeci">int BIG_256_29_isunity(BIG_256_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:35</div></div>
-<div class="ttc" id="big__256__29_8h_html_a752b7e9ddbb1be663b24c192c7b40f18"><div class="ttname"><a href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">BIG_256_29</a></div><div class="ttdeci">chunk BIG_256_29[NLEN_256_29]</div><div class="ttdef"><b>Definition:</b> big_256_29.h:58</div></div>
-<div class="ttc" id="big__256__29_8h_html_a7539c997cb945c4842f61c61b0dbd527"><div class="ttname"><a href="big__256__29_8h.html#a7539c997cb945c4842f61c61b0dbd527">BIG_256_29_modmul</a></div><div class="ttdeci">void BIG_256_29_modmul(BIG_256_29 x, BIG_256_29 y, BIG_256_29 z, BIG_256_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1300</div></div>
-<div class="ttc" id="big__256__29_8h_html_a29dd4f8e557da97534dde4266631e505"><div class="ttname"><a href="big__256__29_8h.html#a29dd4f8e557da97534dde4266631e505">BIG_256_29_inc</a></div><div class="ttdeci">void BIG_256_29_inc(BIG_256_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:386</div></div>
-<div class="ttc" id="big__256__29_8h_html_a976506581e8e06d57055921dec760493"><div class="ttname"><a href="big__256__29_8h.html#a976506581e8e06d57055921dec760493">BIG_256_29_iszilch</a></div><div class="ttdeci">int BIG_256_29_iszilch(BIG_256_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:26</div></div>
-<div class="ttc" id="big__256__29_8h_html_a70f41607cec7a5fb5876ef6114cb4487"><div class="ttname"><a href="big__256__29_8h.html#a70f41607cec7a5fb5876ef6114cb4487">BIG_256_29_doutput</a></div><div class="ttdeci">void BIG_256_29_doutput(DBIG_256_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:190</div></div>
-<div class="ttc" id="big__256__29_8h_html_aa4870f8e59d0721de55dbd4c2d678abd"><div class="ttname"><a href="big__256__29_8h.html#aa4870f8e59d0721de55dbd4c2d678abd">BIG_256_29_copy</a></div><div class="ttdeci">void BIG_256_29_copy(BIG_256_29 x, BIG_256_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:227</div></div>
-<div class="ttc" id="big__256__29_8h_html_a897715e22f6f400d1e89eb20b13a4a61"><div class="ttname"><a href="big__256__29_8h.html#a897715e22f6f400d1e89eb20b13a4a61">BIG_256_29_shr</a></div><div class="ttdeci">void BIG_256_29_shr(BIG_256_29 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_256_29.c:864</div></div>
-<div class="ttc" id="big__256__29_8h_html_a2ed8026f6a8a6ab3331afde36953b69b"><div class="ttname"><a href="big__256__29_8h.html#a2ed8026f6a8a6ab3331afde36953b69b">BIG_256_29_modneg</a></div><div class="ttdeci">void BIG_256_29_modneg(BIG_256_29 x, BIG_256_29 y, BIG_256_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1327</div></div>
-<div class="ttc" id="big__256__29_8h_html_a76e5bdb3549fede8f264cfcb26be6018"><div class="ttname"><a href="big__256__29_8h.html#a76e5bdb3549fede8f264cfcb26be6018">BIG_256_29_bit</a></div><div class="ttdeci">int BIG_256_29_bit(BIG_256_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1232</div></div>
-<div class="ttc" id="big__256__29_8h_html_a2ff20a509a419768bd691c8e6757aa6c"><div class="ttname"><a href="big__256__29_8h.html#a2ff20a509a419768bd691c8e6757aa6c">BIG_256_29_fshr</a></div><div class="ttdeci">int BIG_256_29_fshr(BIG_256_29 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_256_29.c:906</div></div>
-<div class="ttc" id="big__256__29_8h_html_aaef78beead9b031b7e219027ba4dec44"><div class="ttname"><a href="big__256__29_8h.html#aaef78beead9b031b7e219027ba4dec44">BIG_256_29_dsub</a></div><div class="ttdeci">void BIG_256_29_dsub(DBIG_256_29 x, DBIG_256_29 y, DBIG_256_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:413</div></div>
-<div class="ttc" id="big__256__29_8h_html_a9d82cba4b9bbb7877c7deb40685c5127"><div class="ttname"><a href="big__256__29_8h.html#a9d82cba4b9bbb7877c7deb40685c5127">BIG_256_29_randomnum</a></div><div class="ttdeci">void BIG_256_29_randomnum(BIG_256_29 x, BIG_256_29 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_256_29.c:1274</div></div>
-<div class="ttc" id="big__256__29_8h_html_adf02d79d6b9e70e0c09d0abc9efa9dac"><div class="ttname"><a href="big__256__29_8h.html#adf02d79d6b9e70e0c09d0abc9efa9dac">BIG_256_29_sdcopy</a></div><div class="ttdeci">void BIG_256_29_sdcopy(BIG_256_29 x, DBIG_256_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:294</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__256__29_8h_html_a3afe99cafc419f225c3b901fc9f018e5"><div class="ttname"><a href="big__256__29_8h.html#a3afe99cafc419f225c3b901fc9f018e5">BIG_256_29_dshr</a></div><div class="ttdeci">void BIG_256_29_dshr(DBIG_256_29 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_256_29.c:918</div></div>
-<div class="ttc" id="big__256__29_8h_html_a4996d5c30887ebba590b50c2eccd16d0"><div class="ttname"><a href="big__256__29_8h.html#a4996d5c30887ebba590b50c2eccd16d0">BIG_256_29_invmodp</a></div><div class="ttdeci">void BIG_256_29_invmodp(BIG_256_29 x, BIG_256_29 y, BIG_256_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1392</div></div>
-<div class="ttc" id="big__256__29_8h_html_a5dde770895a5473f6e9770f92d1f5aa0"><div class="ttname"><a href="big__256__29_8h.html#a5dde770895a5473f6e9770f92d1f5aa0">BIG_256_29_diszilch</a></div><div class="ttdeci">int BIG_256_29_diszilch(DBIG_256_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:45</div></div>
-<div class="ttc" id="big__256__29_8h_html_a97c753c8b89e022797d2b4d11bf70730"><div class="ttname"><a href="big__256__29_8h.html#a97c753c8b89e022797d2b4d11bf70730">BIG_256_29_sub</a></div><div class="ttdeci">void BIG_256_29_sub(BIG_256_29 x, BIG_256_29 y, BIG_256_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:397</div></div>
-<div class="ttc" id="big__256__29_8h_html_a23232ca660f365bf5876a8f5c4cf63f3"><div class="ttname"><a href="big__256__29_8h.html#a23232ca660f365bf5876a8f5c4cf63f3">BIG_256_29_nbits</a></div><div class="ttdeci">int BIG_256_29_nbits(BIG_256_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1040</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__256__29_8h_html_a02f07f385a505ff1d42a133d7b9372af"><div class="ttname"><a href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">HBITS_256_29</a></div><div class="ttdeci">#define HBITS_256_29</div><div class="ttdef"><b>Definition:</b> big_256_29.h:45</div></div>
-<div class="ttc" id="big__256__29_8h_html_a7bfb4f437084b7c83fe82dcd319fb04f"><div class="ttname"><a href="big__256__29_8h.html#a7bfb4f437084b7c83fe82dcd319fb04f">BIG_256_29_or</a></div><div class="ttdeci">void BIG_256_29_or(BIG_256_29 x, BIG_256_29 y, BIG_256_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:371</div></div>
-<div class="ttc" id="big__256__29_8h_html_abbe2731a8b528019a913c292e95c34ad"><div class="ttname"><a href="big__256__29_8h.html#abbe2731a8b528019a913c292e95c34ad">BIG_256_29_lastbits</a></div><div class="ttdeci">int BIG_256_29_lastbits(BIG_256_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1240</div></div>
-<div class="ttc" id="big__256__29_8h_html_ad7ac4bee902715416866db38b3cb9bb2"><div class="ttname"><a href="big__256__29_8h.html#ad7ac4bee902715416866db38b3cb9bb2">BIG_256_29_random</a></div><div class="ttdeci">void BIG_256_29_random(BIG_256_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1248</div></div>
-<div class="ttc" id="big__256__29_8h_html_aa1510430ef1fd606da826613e516e0dd"><div class="ttname"><a href="big__256__29_8h.html#aa1510430ef1fd606da826613e516e0dd">BIG_256_29_comp</a></div><div class="ttdeci">int BIG_256_29_comp(BIG_256_29 x, BIG_256_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1014</div></div>
-<div class="ttc" id="big__256__29_8h_html_ac62bbe0fa81461611bb6703b5f9cbd77"><div class="ttname"><a href="big__256__29_8h.html#ac62bbe0fa81461611bb6703b5f9cbd77">BIG_256_29_rawoutput</a></div><div class="ttdeci">void BIG_256_29_rawoutput(BIG_256_29 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_256_29.c:77</div></div>
-<div class="ttc" id="big__256__29_8h_html_a4f8baf432b46720a1cfe897a571d23a7"><div class="ttname"><a href="big__256__29_8h.html#a4f8baf432b46720a1cfe897a571d23a7">BIG_256_29_invmod2m</a></div><div class="ttdeci">void BIG_256_29_invmod2m(BIG_256_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__256__29_8h_html_a2a30c02ed0211279e1eb64ef393131cf"><div class="ttname"><a href="big__256__29_8h.html#a2a30c02ed0211279e1eb64ef393131cf">BIG_256_29_rcopy</a></div><div class="ttdeci">void BIG_256_29_rcopy(BIG_256_29 x, const BIG_256_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:239</div></div>
-<div class="ttc" id="big__256__29_8h_html_aba86a9c166b98d580a9e3452744d5d3c"><div class="ttname"><a href="big__256__29_8h.html#aba86a9c166b98d580a9e3452744d5d3c">BIG_256_29_dsucopy</a></div><div class="ttdeci">void BIG_256_29_dsucopy(DBIG_256_29 x, BIG_256_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:280</div></div>
-<div class="ttc" id="big__256__29_8h_html_a9873557170d0afc86c18f63c45658217"><div class="ttname"><a href="big__256__29_8h.html#a9873557170d0afc86c18f63c45658217">HMASK_256_29</a></div><div class="ttdeci">#define HMASK_256_29</div><div class="ttdef"><b>Definition:</b> big_256_29.h:46</div></div>
-<div class="ttc" id="big__256__29_8h_html_a3681ba93dd87149397a4d4877f0e0be6"><div class="ttname"><a href="big__256__29_8h.html#a3681ba93dd87149397a4d4877f0e0be6">BIG_256_29_dmod2m</a></div><div class="ttdeci">void BIG_256_29_dmod2m(DBIG_256_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1470</div></div>
-<div class="ttc" id="big__256__29_8h_html_a03bf0e9d7230ca101c85ca9dd1106647"><div class="ttname"><a href="big__256__29_8h.html#a03bf0e9d7230ca101c85ca9dd1106647">BIG_256_29_dshl</a></div><div class="ttdeci">void BIG_256_29_dshl(DBIG_256_29 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_256_29.c:846</div></div>
-<div class="ttc" id="big__256__29_8h_html_a3a83080d302fbdc6b79a791f74cdc01c"><div class="ttname"><a href="big__256__29_8h.html#a3a83080d302fbdc6b79a791f74cdc01c">BIG_256_29_mod2m</a></div><div class="ttdeci">void BIG_256_29_mod2m(BIG_256_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_256_29.c:1456</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__256__56_8h.html b/website/static/cdocs/big__256__56_8h.html
index 6d45b64..f95d1b3 100644
--- a/website/static/cdocs/big__256__56_8h.html
+++ b/website/static/cdocs/big__256__56_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_256_56.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="a4c8060fefbe73886b90ab33d610082eb"></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="afe8cd20e0d0355603d12911536a4805b"></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__256__56_8h_source.html b/website/static/cdocs/big__256__56_8h_source.html
index 9309877..9019f2d 100644
--- a/website/static/cdocs/big__256__56_8h_source.html
+++ b/website/static/cdocs/big__256__56_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_256_56.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_256_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__256__56_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_256_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_256_56_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__256__56_8h.html">config_big_256_56.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__256__56_8h.html#a1a77f9a8aca3f6f0a3a3c95a129c6142">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_256_56 (8*MODBYTES_256_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">   40</a></span>&#160;<span class="preprocessor">#define NLEN_256_56 (1+((8*MODBYTES_256_56-1)/BASEBITS_256_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_256_56 2*NLEN_256_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">   42</a></span>&#160;<span class="preprocessor">#define BMASK_256_56 (((chunk)1&lt;&lt;BASEBITS_256_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#abb2364526460e9b2121ae38a6bd46944">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_256_56 (1&lt;&lt;(CHUNK-BASEBITS_256_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">   45</a></span>&#160;<span class="preprocessor">#define HBITS_256_56 (BASEBITS_256_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">   46</a></span>&#160;<span class="preprocessor">#define HMASK_256_56 (((chunk)1&lt;&lt;HBITS_256_56)-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_256_56 NLEN_256_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_256_56 (NLEN_256_56+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__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>[<a class="code" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_256_56 DNLEN_256_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_256_56 (DNLEN_256_56+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__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>[<a class="code" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</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__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>[<a class="code" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>[<a class="code" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</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__256__56_8h.html#ac13c91de6deefb2098a17f7081984384">BIG_256_56_iszilch</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ae636476adf911162915969bf70750f45">BIG_256_56_isunity</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a324d5660ea8931291a7284b3b6de93e1">BIG_256_56_diszilch</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a90c090098ac877b38930f0fc1533006a">BIG_256_56_output</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a7dab0615b4c1b3e76fccca81aa7fe305">BIG_256_56_rawoutput</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a85c9d556d3f7900217847a7b091eafec">BIG_256_56_cswap</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ada66c853edcbaebdd452bc0427fc22d1">BIG_256_56_cmove</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a5310a826307911d6af7cb936b7e79370">BIG_256_56_dcmove</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ad4d7e429da003447d680466dd428d514">BIG_256_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a80abfe28372008df098b91281cee9db6">BIG_256_56_fromBytes</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ab22e2947678113edf042d0fb64c3c92f">BIG_256_56_fromBytesLen</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aea2c9721a0f4ebb9ebba811745126c34">BIG_256_56_dfromBytesLen</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#adbf2e441d8f1b0657612621b8b65be87">BIG_256_56_doutput</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a7e709031a4a9a2b25820bef34ef2ab1f">BIG_256_56_drawoutput</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a3ad61321234a88125b2b15ada3366cea">BIG_256_56_rcopy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ab9ca2de3d023808394170fe5cbfeb4a1">BIG_256_56_copy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a97d508aa48ce8ec7cc182a3b63136725">BIG_256_56_dcopy</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a9569d112833f0400bfb7c0e4451a2947">BIG_256_56_dsucopy</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a8acdb6265dd58d447b477296828d7816">BIG_256_56_dscopy</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a2b46a5704c6c9451e28efd19d422c8b4">BIG_256_56_sdcopy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#ac7a0863f1ff16c84466ffb5aa5faa084">BIG_256_56_sducopy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1">BIG_256_56_zero</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a831984c1adc8072930bc69e712692e79">BIG_256_56_dzero</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#abf29e543cdacfaea193ec50d15cb5046">BIG_256_56_one</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a63396a981b7423fb6b83014c87e17198">BIG_256_56_invmod2m</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3">BIG_256_56_add</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ac31e66cea886e917326dd0c517b66483">BIG_256_56_or</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a9de89e29493f9cb68834d42b9fa55740">BIG_256_56_inc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a7f8334cd5e8d117b04a7bd1b483eab59">BIG_256_56_sub</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a6015176b7b1fe5d45c0dd6200bbbf9f9">BIG_256_56_dec</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a2678ae03f495863e148440f19173eb33">BIG_256_56_dadd</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a44853e6b32b195c3b0ff2b38c79e9bd5">BIG_256_56_dsub</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#ab122c9bc11ced893982f8d7e87f6d16b">BIG_256_56_imul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a0ede35af10dda3126fd0493d583bda42">BIG_256_56_pmul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4302fda3b44636fc6bf5d8f79b7b069d">BIG_256_56_div3</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a5608b3eab346fbc75d7d3f0ca2c1e75a">BIG_256_56_pxmul</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a3fe683627bcb77695f0b2d00b760043d">BIG_256_56_mul</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ad7b0da6bb5592a34e7dc33672fa318b3">BIG_256_56_smul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a24962ca1663d1412d7e82204fa7a2069">BIG_256_56_sqr</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aac4adc454956f0d59d4c7376aebf78df">BIG_256_56_monty</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a6696ef1d4eccd40596dab5e21a88736a">BIG_256_56_shl</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a82d11ffc2638f3a7514ac5004ed554ad">BIG_256_56_fshl</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a08908affacbbd90703a3e5ac2b3fc211">BIG_256_56_dshl</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a48944f7a7caeb6e958ff72fc8b3a1000">BIG_256_56_shr</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a42f61e4166a19d24abf6461ab2a0ffd7">BIG_256_56_ssn</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a, <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ae2503de5720030f26b6c4333ac7d98e4">BIG_256_56_fshr</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#adae5bfd34ccdb07cd9b5731a12506337">BIG_256_56_dshr</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a2f320ab1db2f54c8d6bb1fcabff892cf">BIG_256_56_split</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#aaf32c737dd0cf6aea60a9dc5dae3e420">BIG_256_56_norm</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ae80c8604eec0e7ee089b8c195e5c4c83">BIG_256_56_dnorm</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a94434905dd1631c1274bb6bd97c43ff8">BIG_256_56_comp</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a9896badbfc40d4d2f6f1358ba0c7f901">BIG_256_56_dcomp</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a5d3fae21f6edf0b2eb716edbde36fdde">BIG_256_56_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4c8060fefbe73886b90ab33d610082eb">BIG_256_56_dnbits</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a6ce0fb117601d7754f57a49d839779bc">BIG_256_56_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ac1cf1d0c2157f25a4d98f35b1c5c1cdf">BIG_256_56_sdiv</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a37ea30e1625cffb9381c15c170b98227">BIG_256_56_dmod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a5ee163011b3e8f143bd3b251aebae89f">BIG_256_56_ddiv</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#afc11c894923b900c67881f60b9e9a4cb">BIG_256_56_parity</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4b9e7a612f45a257aee96e1cd3057cff">BIG_256_56_bit</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a48a4dc339dd2631ad1a35bf8af04d951">BIG_256_56_lastbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aef2334923d0f6e3179818980022664eb">BIG_256_56_random</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a2f8e6263d2b25ab7c88b73360fbb9a2a">BIG_256_56_randomnum</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a6df30d8e6f2067ce5f5647f8ba2aef19">BIG_256_56_modmul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#afe8cd20e0d0355603d12911536a4805b">BIG_256_56_moddiv</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a06612fae29e631679cd4aa169f1b3c6a">BIG_256_56_modsqr</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a45b83f967d61baf813216a8d76998ed2">BIG_256_56_modneg</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aa0916109277df97f7ae45f48bd597aea">BIG_256_56_jacobi</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a1957fef0abc63c2a816d264532f5aa8e">BIG_256_56_invmodp</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4de3ad384e46113af03a7333034fec23">BIG_256_56_mod2m</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a8c122049b296516c6b2fd8081c1f404d">BIG_256_56_dmod2m</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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_256_56(<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__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">BMASK_256_56</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__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</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_256_56(<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__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</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__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</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__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">BMASK_256_56</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__256__56_8h_html_a4b9e7a612f45a257aee96e1cd3057cff"><div class="ttname"><a href="big__256__56_8h.html#a4b9e7a612f45a257aee96e1cd3057cff">BIG_256_56_bit</a></div><div class="ttdeci">int BIG_256_56_bit(BIG_256_56 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1232</div></div>
-<div class="ttc" id="big__256__56_8h_html_a9896badbfc40d4d2f6f1358ba0c7f901"><div class="ttname"><a href="big__256__56_8h.html#a9896badbfc40d4d2f6f1358ba0c7f901">BIG_256_56_dcomp</a></div><div class="ttdeci">int BIG_256_56_dcomp(DBIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1026</div></div>
+<a href="big__256__56_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_256_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_256_56_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__256__56_8h.html">config_big_256_56.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__256__56_8h.html#a1a77f9a8aca3f6f0a3a3c95a129c6142">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_256_56 (8*MODBYTES_256_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">   40</a></span>&#160;<span class="preprocessor">#define NLEN_256_56 (1+((8*MODBYTES_256_56-1)/BASEBITS_256_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_256_56 2*NLEN_256_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">   42</a></span>&#160;<span class="preprocessor">#define BMASK_256_56 (((chunk)1&lt;&lt;BASEBITS_256_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#abb2364526460e9b2121ae38a6bd46944">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_256_56 (1&lt;&lt;(CHUNK-BASEBITS_256_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">   45</a></span>&#160;<span class="preprocessor">#define HBITS_256_56 (BASEBITS_256_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">   46</a></span>&#160;<span class="preprocessor">#define HMASK_256_56 (((chunk)1&lt;&lt;HBITS_256_56)-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_256_56 NLEN_256_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_256_56 (NLEN_256_56+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__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>[<a class="code" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_256_56 DNLEN_256_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_256_56 (DNLEN_256_56+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__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>[<a class="code" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</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__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>[<a class="code" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a>[<a class="code" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</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__256__56_8h.html#ac13c91de6deefb2098a17f7081984384">BIG_256_56_iszilch</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ae636476adf911162915969bf70750f45">BIG_256_56_isunity</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a324d5660ea8931291a7284b3b6de93e1">BIG_256_56_diszilch</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a90c090098ac877b38930f0fc1533006a">BIG_256_56_output</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a7dab0615b4c1b3e76fccca81aa7fe305">BIG_256_56_rawoutput</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a85c9d556d3f7900217847a7b091eafec">BIG_256_56_cswap</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ada66c853edcbaebdd452bc0427fc22d1">BIG_256_56_cmove</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a5310a826307911d6af7cb936b7e79370">BIG_256_56_dcmove</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ad4d7e429da003447d680466dd428d514">BIG_256_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a80abfe28372008df098b91281cee9db6">BIG_256_56_fromBytes</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ab22e2947678113edf042d0fb64c3c92f">BIG_256_56_fromBytesLen</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aea2c9721a0f4ebb9ebba811745126c34">BIG_256_56_dfromBytesLen</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#adbf2e441d8f1b0657612621b8b65be87">BIG_256_56_doutput</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a7e709031a4a9a2b25820bef34ef2ab1f">BIG_256_56_drawoutput</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a3ad61321234a88125b2b15ada3366cea">BIG_256_56_rcopy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ab9ca2de3d023808394170fe5cbfeb4a1">BIG_256_56_copy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a97d508aa48ce8ec7cc182a3b63136725">BIG_256_56_dcopy</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a9569d112833f0400bfb7c0e4451a2947">BIG_256_56_dsucopy</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a8acdb6265dd58d447b477296828d7816">BIG_256_56_dscopy</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a2b46a5704c6c9451e28efd19d422c8b4">BIG_256_56_sdcopy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#ac7a0863f1ff16c84466ffb5aa5faa084">BIG_256_56_sducopy</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1">BIG_256_56_zero</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a831984c1adc8072930bc69e712692e79">BIG_256_56_dzero</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#abf29e543cdacfaea193ec50d15cb5046">BIG_256_56_one</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a63396a981b7423fb6b83014c87e17198">BIG_256_56_invmod2m</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3">BIG_256_56_add</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ac31e66cea886e917326dd0c517b66483">BIG_256_56_or</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a9de89e29493f9cb68834d42b9fa55740">BIG_256_56_inc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a7f8334cd5e8d117b04a7bd1b483eab59">BIG_256_56_sub</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a6015176b7b1fe5d45c0dd6200bbbf9f9">BIG_256_56_dec</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a2678ae03f495863e148440f19173eb33">BIG_256_56_dadd</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a44853e6b32b195c3b0ff2b38c79e9bd5">BIG_256_56_dsub</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#ab122c9bc11ced893982f8d7e87f6d16b">BIG_256_56_imul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a0ede35af10dda3126fd0493d583bda42">BIG_256_56_pmul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4302fda3b44636fc6bf5d8f79b7b069d">BIG_256_56_div3</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a5608b3eab346fbc75d7d3f0ca2c1e75a">BIG_256_56_pxmul</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a3fe683627bcb77695f0b2d00b760043d">BIG_256_56_mul</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ad7b0da6bb5592a34e7dc33672fa318b3">BIG_256_56_smul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a24962ca1663d1412d7e82204fa7a2069">BIG_256_56_sqr</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aac4adc454956f0d59d4c7376aebf78df">BIG_256_56_monty</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a6696ef1d4eccd40596dab5e21a88736a">BIG_256_56_shl</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a82d11ffc2638f3a7514ac5004ed554ad">BIG_256_56_fshl</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a08908affacbbd90703a3e5ac2b3fc211">BIG_256_56_dshl</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a48944f7a7caeb6e958ff72fc8b3a1000">BIG_256_56_shr</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a42f61e4166a19d24abf6461ab2a0ffd7">BIG_256_56_ssn</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a, <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ae2503de5720030f26b6c4333ac7d98e4">BIG_256_56_fshr</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#adae5bfd34ccdb07cd9b5731a12506337">BIG_256_56_dshr</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a2f320ab1db2f54c8d6bb1fcabff892cf">BIG_256_56_split</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#aaf32c737dd0cf6aea60a9dc5dae3e420">BIG_256_56_norm</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ae80c8604eec0e7ee089b8c195e5c4c83">BIG_256_56_dnorm</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a94434905dd1631c1274bb6bd97c43ff8">BIG_256_56_comp</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a9896badbfc40d4d2f6f1358ba0c7f901">BIG_256_56_dcomp</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a5d3fae21f6edf0b2eb716edbde36fdde">BIG_256_56_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4c8060fefbe73886b90ab33d610082eb">BIG_256_56_dnbits</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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__256__56_8h.html#a6ce0fb117601d7754f57a49d839779bc">BIG_256_56_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#ac1cf1d0c2157f25a4d98f35b1c5c1cdf">BIG_256_56_sdiv</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a37ea30e1625cffb9381c15c170b98227">BIG_256_56_dmod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a5ee163011b3e8f143bd3b251aebae89f">BIG_256_56_ddiv</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#afc11c894923b900c67881f60b9e9a4cb">BIG_256_56_parity</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4b9e7a612f45a257aee96e1cd3057cff">BIG_256_56_bit</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a48a4dc339dd2631ad1a35bf8af04d951">BIG_256_56_lastbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aef2334923d0f6e3179818980022664eb">BIG_256_56_random</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a2f8e6263d2b25ab7c88b73360fbb9a2a">BIG_256_56_randomnum</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a6df30d8e6f2067ce5f5647f8ba2aef19">BIG_256_56_modmul</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#afe8cd20e0d0355603d12911536a4805b">BIG_256_56_moddiv</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a06612fae29e631679cd4aa169f1b3c6a">BIG_256_56_modsqr</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a45b83f967d61baf813216a8d76998ed2">BIG_256_56_modneg</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#aa0916109277df97f7ae45f48bd597aea">BIG_256_56_jacobi</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a1957fef0abc63c2a816d264532f5aa8e">BIG_256_56_invmodp</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a4de3ad384e46113af03a7333034fec23">BIG_256_56_mod2m</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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__256__56_8h.html#a8c122049b296516c6b2fd8081c1f404d">BIG_256_56_dmod2m</a>(<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</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_256_56(<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__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">BMASK_256_56</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__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</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_256_56(<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__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</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__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</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__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">BMASK_256_56</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__256__56_8h_html_a4b9e7a612f45a257aee96e1cd3057cff"><div class="ttname"><a href="big__256__56_8h.html#a4b9e7a612f45a257aee96e1cd3057cff">BIG_256_56_bit</a></div><div class="ttdeci">int BIG_256_56_bit(BIG_256_56 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1232</div></div>
+<div class="ttc" id="big__256__56_8h_html_a9896badbfc40d4d2f6f1358ba0c7f901"><div class="ttname"><a href="big__256__56_8h.html#a9896badbfc40d4d2f6f1358ba0c7f901">BIG_256_56_dcomp</a></div><div class="ttdeci">int BIG_256_56_dcomp(DBIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1026</div></div>
 <div class="ttc" id="big__256__56_8h_html_a9de3212703b203df789675e419950b50"><div class="ttname"><a href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">HBITS_256_56</a></div><div class="ttdeci">#define HBITS_256_56</div><div class="ttdef"><b>Definition:</b> big_256_56.h:45</div></div>
-<div class="ttc" id="big__256__56_8h_html_a5d3fae21f6edf0b2eb716edbde36fdde"><div class="ttname"><a href="big__256__56_8h.html#a5d3fae21f6edf0b2eb716edbde36fdde">BIG_256_56_nbits</a></div><div class="ttdeci">int BIG_256_56_nbits(BIG_256_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1040</div></div>
-<div class="ttc" id="big__256__56_8h_html_aea2c9721a0f4ebb9ebba811745126c34"><div class="ttname"><a href="big__256__56_8h.html#aea2c9721a0f4ebb9ebba811745126c34">BIG_256_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_256_56_dfromBytesLen(DBIG_256_56 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_256_56.c:1485</div></div>
-<div class="ttc" id="big__256__56_8h_html_adbf2e441d8f1b0657612621b8b65be87"><div class="ttname"><a href="big__256__56_8h.html#adbf2e441d8f1b0657612621b8b65be87">BIG_256_56_doutput</a></div><div class="ttdeci">void BIG_256_56_doutput(DBIG_256_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:190</div></div>
+<div class="ttc" id="big__256__56_8h_html_a5d3fae21f6edf0b2eb716edbde36fdde"><div class="ttname"><a href="big__256__56_8h.html#a5d3fae21f6edf0b2eb716edbde36fdde">BIG_256_56_nbits</a></div><div class="ttdeci">int BIG_256_56_nbits(BIG_256_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1040</div></div>
+<div class="ttc" id="big__256__56_8h_html_aea2c9721a0f4ebb9ebba811745126c34"><div class="ttname"><a href="big__256__56_8h.html#aea2c9721a0f4ebb9ebba811745126c34">BIG_256_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_256_56_dfromBytesLen(DBIG_256_56 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_256_56.c:1569</div></div>
+<div class="ttc" id="big__256__56_8h_html_adbf2e441d8f1b0657612621b8b65be87"><div class="ttname"><a href="big__256__56_8h.html#adbf2e441d8f1b0657612621b8b65be87">BIG_256_56_doutput</a></div><div class="ttdeci">void BIG_256_56_doutput(DBIG_256_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:190</div></div>
 <div class="ttc" id="config__big__256__56_8h_html_ac6cb0299279eb5c9a07bccfd297f1b40"><div class="ttname"><a href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">BASEBITS_256_56</a></div><div class="ttdeci">#define BASEBITS_256_56</div><div class="ttdef"><b>Definition:</b> config_big_256_56.h:35</div></div>
 <div class="ttc" id="big__256__56_8h_html_a82d11ffc2638f3a7514ac5004ed554ad"><div class="ttname"><a href="big__256__56_8h.html#a82d11ffc2638f3a7514ac5004ed554ad">BIG_256_56_fshl</a></div><div class="ttdeci">int BIG_256_56_fshl(BIG_256_56 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_256_56.c:832</div></div>
-<div class="ttc" id="big__256__56_8h_html_a9c6d9b44e809b7b7691b350db090b0e1"><div class="ttname"><a href="big__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1">BIG_256_56_zero</a></div><div class="ttdeci">void BIG_256_56_zero(BIG_256_56 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:319</div></div>
-<div class="ttc" id="big__256__56_8h_html_afc11c894923b900c67881f60b9e9a4cb"><div class="ttname"><a href="big__256__56_8h.html#afc11c894923b900c67881f60b9e9a4cb">BIG_256_56_parity</a></div><div class="ttdeci">int BIG_256_56_parity(BIG_256_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1225</div></div>
-<div class="ttc" id="big__256__56_8h_html_a94434905dd1631c1274bb6bd97c43ff8"><div class="ttname"><a href="big__256__56_8h.html#a94434905dd1631c1274bb6bd97c43ff8">BIG_256_56_comp</a></div><div class="ttdeci">int BIG_256_56_comp(BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1014</div></div>
-<div class="ttc" id="big__256__56_8h_html_a3fe683627bcb77695f0b2d00b760043d"><div class="ttname"><a href="big__256__56_8h.html#a3fe683627bcb77695f0b2d00b760043d">BIG_256_56_mul</a></div><div class="ttdeci">void BIG_256_56_mul(DBIG_256_56 x, BIG_256_56 y, BIG_256_56 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_256_56.c:542</div></div>
-<div class="ttc" id="big__256__56_8h_html_a5310a826307911d6af7cb936b7e79370"><div class="ttname"><a href="big__256__56_8h.html#a5310a826307911d6af7cb936b7e79370">BIG_256_56_dcmove</a></div><div class="ttdeci">void BIG_256_56_dcmove(BIG_256_56 x, BIG_256_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__256__56_8h_html_a85c9d556d3f7900217847a7b091eafec"><div class="ttname"><a href="big__256__56_8h.html#a85c9d556d3f7900217847a7b091eafec">BIG_256_56_cswap</a></div><div class="ttdeci">void BIG_256_56_cswap(BIG_256_56 x, BIG_256_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:92</div></div>
-<div class="ttc" id="big__256__56_8h_html_a0ede35af10dda3126fd0493d583bda42"><div class="ttname"><a href="big__256__56_8h.html#a0ede35af10dda3126fd0493d583bda42">BIG_256_56_pmul</a></div><div class="ttdeci">chunk BIG_256_56_pmul(BIG_256_56 x, BIG_256_56 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_256_56.c:465</div></div>
-<div class="ttc" id="big__256__56_8h_html_a7dab0615b4c1b3e76fccca81aa7fe305"><div class="ttname"><a href="big__256__56_8h.html#a7dab0615b4c1b3e76fccca81aa7fe305">BIG_256_56_rawoutput</a></div><div class="ttdeci">void BIG_256_56_rawoutput(BIG_256_56 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_256_56.c:77</div></div>
+<div class="ttc" id="big__256__56_8h_html_a9c6d9b44e809b7b7691b350db090b0e1"><div class="ttname"><a href="big__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1">BIG_256_56_zero</a></div><div class="ttdeci">void BIG_256_56_zero(BIG_256_56 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:319</div></div>
+<div class="ttc" id="big__256__56_8h_html_afc11c894923b900c67881f60b9e9a4cb"><div class="ttname"><a href="big__256__56_8h.html#afc11c894923b900c67881f60b9e9a4cb">BIG_256_56_parity</a></div><div class="ttdeci">int BIG_256_56_parity(BIG_256_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1225</div></div>
+<div class="ttc" id="big__256__56_8h_html_a94434905dd1631c1274bb6bd97c43ff8"><div class="ttname"><a href="big__256__56_8h.html#a94434905dd1631c1274bb6bd97c43ff8">BIG_256_56_comp</a></div><div class="ttdeci">int BIG_256_56_comp(BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1014</div></div>
+<div class="ttc" id="big__256__56_8h_html_a3fe683627bcb77695f0b2d00b760043d"><div class="ttname"><a href="big__256__56_8h.html#a3fe683627bcb77695f0b2d00b760043d">BIG_256_56_mul</a></div><div class="ttdeci">void BIG_256_56_mul(DBIG_256_56 x, BIG_256_56 y, BIG_256_56 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_256_56.c:542</div></div>
+<div class="ttc" id="big__256__56_8h_html_a5310a826307911d6af7cb936b7e79370"><div class="ttname"><a href="big__256__56_8h.html#a5310a826307911d6af7cb936b7e79370">BIG_256_56_dcmove</a></div><div class="ttdeci">void BIG_256_56_dcmove(BIG_256_56 x, BIG_256_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__256__56_8h_html_a85c9d556d3f7900217847a7b091eafec"><div class="ttname"><a href="big__256__56_8h.html#a85c9d556d3f7900217847a7b091eafec">BIG_256_56_cswap</a></div><div class="ttdeci">void BIG_256_56_cswap(BIG_256_56 x, BIG_256_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:92</div></div>
+<div class="ttc" id="big__256__56_8h_html_a0ede35af10dda3126fd0493d583bda42"><div class="ttname"><a href="big__256__56_8h.html#a0ede35af10dda3126fd0493d583bda42">BIG_256_56_pmul</a></div><div class="ttdeci">chunk BIG_256_56_pmul(BIG_256_56 x, BIG_256_56 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_256_56.c:465</div></div>
+<div class="ttc" id="big__256__56_8h_html_a7dab0615b4c1b3e76fccca81aa7fe305"><div class="ttname"><a href="big__256__56_8h.html#a7dab0615b4c1b3e76fccca81aa7fe305">BIG_256_56_rawoutput</a></div><div class="ttdeci">void BIG_256_56_rawoutput(BIG_256_56 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_256_56.c:77</div></div>
 <div class="ttc" id="big__256__56_8h_html_ae2503de5720030f26b6c4333ac7d98e4"><div class="ttname"><a href="big__256__56_8h.html#ae2503de5720030f26b6c4333ac7d98e4">BIG_256_56_fshr</a></div><div class="ttdeci">int BIG_256_56_fshr(BIG_256_56 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_256_56.c:906</div></div>
-<div class="ttc" id="big__256__56_8h_html_a2b46a5704c6c9451e28efd19d422c8b4"><div class="ttname"><a href="big__256__56_8h.html#a2b46a5704c6c9451e28efd19d422c8b4">BIG_256_56_sdcopy</a></div><div class="ttdeci">void BIG_256_56_sdcopy(BIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:294</div></div>
-<div class="ttc" id="big__256__56_8h_html_a6015176b7b1fe5d45c0dd6200bbbf9f9"><div class="ttname"><a href="big__256__56_8h.html#a6015176b7b1fe5d45c0dd6200bbbf9f9">BIG_256_56_dec</a></div><div class="ttdeci">void BIG_256_56_dec(BIG_256_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:440</div></div>
-<div class="ttc" id="big__256__56_8h_html_ac13c91de6deefb2098a17f7081984384"><div class="ttname"><a href="big__256__56_8h.html#ac13c91de6deefb2098a17f7081984384">BIG_256_56_iszilch</a></div><div class="ttdeci">int BIG_256_56_iszilch(BIG_256_56 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:26</div></div>
-<div class="ttc" id="big__256__56_8h_html_a5ee163011b3e8f143bd3b251aebae89f"><div class="ttname"><a href="big__256__56_8h.html#a5ee163011b3e8f143bd3b251aebae89f">BIG_256_56_ddiv</a></div><div class="ttdeci">void BIG_256_56_ddiv(BIG_256_56 x, DBIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1149</div></div>
+<div class="ttc" id="big__256__56_8h_html_a2b46a5704c6c9451e28efd19d422c8b4"><div class="ttname"><a href="big__256__56_8h.html#a2b46a5704c6c9451e28efd19d422c8b4">BIG_256_56_sdcopy</a></div><div class="ttdeci">void BIG_256_56_sdcopy(BIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:294</div></div>
+<div class="ttc" id="big__256__56_8h_html_a6015176b7b1fe5d45c0dd6200bbbf9f9"><div class="ttname"><a href="big__256__56_8h.html#a6015176b7b1fe5d45c0dd6200bbbf9f9">BIG_256_56_dec</a></div><div class="ttdeci">void BIG_256_56_dec(BIG_256_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:440</div></div>
+<div class="ttc" id="big__256__56_8h_html_ac13c91de6deefb2098a17f7081984384"><div class="ttname"><a href="big__256__56_8h.html#ac13c91de6deefb2098a17f7081984384">BIG_256_56_iszilch</a></div><div class="ttdeci">int BIG_256_56_iszilch(BIG_256_56 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:26</div></div>
+<div class="ttc" id="big__256__56_8h_html_a5ee163011b3e8f143bd3b251aebae89f"><div class="ttname"><a href="big__256__56_8h.html#a5ee163011b3e8f143bd3b251aebae89f">BIG_256_56_ddiv</a></div><div class="ttdeci">void BIG_256_56_ddiv(BIG_256_56 x, DBIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1149</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="big__256__56_8h_html_a9de89e29493f9cb68834d42b9fa55740"><div class="ttname"><a href="big__256__56_8h.html#a9de89e29493f9cb68834d42b9fa55740">BIG_256_56_inc</a></div><div class="ttdeci">void BIG_256_56_inc(BIG_256_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:386</div></div>
-<div class="ttc" id="big__256__56_8h_html_a2678ae03f495863e148440f19173eb33"><div class="ttname"><a href="big__256__56_8h.html#a2678ae03f495863e148440f19173eb33">BIG_256_56_dadd</a></div><div class="ttdeci">void BIG_256_56_dadd(DBIG_256_56 x, DBIG_256_56 y, DBIG_256_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:426</div></div>
-<div class="ttc" id="big__256__56_8h_html_ad7b0da6bb5592a34e7dc33672fa318b3"><div class="ttname"><a href="big__256__56_8h.html#ad7b0da6bb5592a34e7dc33672fa318b3">BIG_256_56_smul</a></div><div class="ttdeci">void BIG_256_56_smul(BIG_256_56 x, BIG_256_56 y, BIG_256_56 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_256_56.c:518</div></div>
-<div class="ttc" id="big__256__56_8h_html_a831984c1adc8072930bc69e712692e79"><div class="ttname"><a href="big__256__56_8h.html#a831984c1adc8072930bc69e712692e79">BIG_256_56_dzero</a></div><div class="ttdeci">void BIG_256_56_dzero(DBIG_256_56 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:329</div></div>
-<div class="ttc" id="big__256__56_8h_html_a97d508aa48ce8ec7cc182a3b63136725"><div class="ttname"><a href="big__256__56_8h.html#a97d508aa48ce8ec7cc182a3b63136725">BIG_256_56_dcopy</a></div><div class="ttdeci">void BIG_256_56_dcopy(DBIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:251</div></div>
-<div class="ttc" id="big__256__56_8h_html_a2f8e6263d2b25ab7c88b73360fbb9a2a"><div class="ttname"><a href="big__256__56_8h.html#a2f8e6263d2b25ab7c88b73360fbb9a2a">BIG_256_56_randomnum</a></div><div class="ttdeci">void BIG_256_56_randomnum(BIG_256_56 x, BIG_256_56 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_256_56.c:1274</div></div>
-<div class="ttc" id="big__256__56_8h_html_aacf68874a1db0161c30bb528dd0515f3"><div class="ttname"><a href="big__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3">BIG_256_56_add</a></div><div class="ttdeci">void BIG_256_56_add(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:356</div></div>
-<div class="ttc" id="big__256__56_8h_html_a7e709031a4a9a2b25820bef34ef2ab1f"><div class="ttname"><a href="big__256__56_8h.html#a7e709031a4a9a2b25820bef34ef2ab1f">BIG_256_56_drawoutput</a></div><div class="ttdeci">void BIG_256_56_drawoutput(DBIG_256_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:212</div></div>
-<div class="ttc" id="big__256__56_8h_html_a2f320ab1db2f54c8d6bb1fcabff892cf"><div class="ttname"><a href="big__256__56_8h.html#a2f320ab1db2f54c8d6bb1fcabff892cf">BIG_256_56_split</a></div><div class="ttdeci">chunk BIG_256_56_split(BIG_256_56 x, BIG_256_56 y, DBIG_256_56 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_256_56.c:932</div></div>
-<div class="ttc" id="big__256__56_8h_html_a5608b3eab346fbc75d7d3f0ca2c1e75a"><div class="ttname"><a href="big__256__56_8h.html#a5608b3eab346fbc75d7d3f0ca2c1e75a">BIG_256_56_pxmul</a></div><div class="ttdeci">void BIG_256_56_pxmul(DBIG_256_56 x, BIG_256_56 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_256_56.c:501</div></div>
-<div class="ttc" id="big__256__56_8h_html_a48944f7a7caeb6e958ff72fc8b3a1000"><div class="ttname"><a href="big__256__56_8h.html#a48944f7a7caeb6e958ff72fc8b3a1000">BIG_256_56_shr</a></div><div class="ttdeci">void BIG_256_56_shr(BIG_256_56 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_256_56.c:864</div></div>
-<div class="ttc" id="big__256__56_8h_html_a7f8334cd5e8d117b04a7bd1b483eab59"><div class="ttname"><a href="big__256__56_8h.html#a7f8334cd5e8d117b04a7bd1b483eab59">BIG_256_56_sub</a></div><div class="ttdeci">void BIG_256_56_sub(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:397</div></div>
-<div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__256__56_8h_html_a324d5660ea8931291a7284b3b6de93e1"><div class="ttname"><a href="big__256__56_8h.html#a324d5660ea8931291a7284b3b6de93e1">BIG_256_56_diszilch</a></div><div class="ttdeci">int BIG_256_56_diszilch(DBIG_256_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:45</div></div>
+<div class="ttc" id="big__256__56_8h_html_a9de89e29493f9cb68834d42b9fa55740"><div class="ttname"><a href="big__256__56_8h.html#a9de89e29493f9cb68834d42b9fa55740">BIG_256_56_inc</a></div><div class="ttdeci">void BIG_256_56_inc(BIG_256_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:386</div></div>
+<div class="ttc" id="big__256__56_8h_html_a2678ae03f495863e148440f19173eb33"><div class="ttname"><a href="big__256__56_8h.html#a2678ae03f495863e148440f19173eb33">BIG_256_56_dadd</a></div><div class="ttdeci">void BIG_256_56_dadd(DBIG_256_56 x, DBIG_256_56 y, DBIG_256_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:426</div></div>
+<div class="ttc" id="big__256__56_8h_html_ad7b0da6bb5592a34e7dc33672fa318b3"><div class="ttname"><a href="big__256__56_8h.html#ad7b0da6bb5592a34e7dc33672fa318b3">BIG_256_56_smul</a></div><div class="ttdeci">void BIG_256_56_smul(BIG_256_56 x, BIG_256_56 y, BIG_256_56 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_256_56.c:518</div></div>
+<div class="ttc" id="big__256__56_8h_html_a831984c1adc8072930bc69e712692e79"><div class="ttname"><a href="big__256__56_8h.html#a831984c1adc8072930bc69e712692e79">BIG_256_56_dzero</a></div><div class="ttdeci">void BIG_256_56_dzero(DBIG_256_56 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:329</div></div>
+<div class="ttc" id="big__256__56_8h_html_a97d508aa48ce8ec7cc182a3b63136725"><div class="ttname"><a href="big__256__56_8h.html#a97d508aa48ce8ec7cc182a3b63136725">BIG_256_56_dcopy</a></div><div class="ttdeci">void BIG_256_56_dcopy(DBIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:251</div></div>
+<div class="ttc" id="big__256__56_8h_html_a2f8e6263d2b25ab7c88b73360fbb9a2a"><div class="ttname"><a href="big__256__56_8h.html#a2f8e6263d2b25ab7c88b73360fbb9a2a">BIG_256_56_randomnum</a></div><div class="ttdeci">void BIG_256_56_randomnum(BIG_256_56 x, BIG_256_56 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_256_56.c:1274</div></div>
+<div class="ttc" id="big__256__56_8h_html_aacf68874a1db0161c30bb528dd0515f3"><div class="ttname"><a href="big__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3">BIG_256_56_add</a></div><div class="ttdeci">void BIG_256_56_add(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:356</div></div>
+<div class="ttc" id="big__256__56_8h_html_a7e709031a4a9a2b25820bef34ef2ab1f"><div class="ttname"><a href="big__256__56_8h.html#a7e709031a4a9a2b25820bef34ef2ab1f">BIG_256_56_drawoutput</a></div><div class="ttdeci">void BIG_256_56_drawoutput(DBIG_256_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:212</div></div>
+<div class="ttc" id="big__256__56_8h_html_a2f320ab1db2f54c8d6bb1fcabff892cf"><div class="ttname"><a href="big__256__56_8h.html#a2f320ab1db2f54c8d6bb1fcabff892cf">BIG_256_56_split</a></div><div class="ttdeci">chunk BIG_256_56_split(BIG_256_56 x, BIG_256_56 y, DBIG_256_56 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_256_56.c:932</div></div>
+<div class="ttc" id="big__256__56_8h_html_a5608b3eab346fbc75d7d3f0ca2c1e75a"><div class="ttname"><a href="big__256__56_8h.html#a5608b3eab346fbc75d7d3f0ca2c1e75a">BIG_256_56_pxmul</a></div><div class="ttdeci">void BIG_256_56_pxmul(DBIG_256_56 x, BIG_256_56 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_256_56.c:501</div></div>
+<div class="ttc" id="big__256__56_8h_html_a48944f7a7caeb6e958ff72fc8b3a1000"><div class="ttname"><a href="big__256__56_8h.html#a48944f7a7caeb6e958ff72fc8b3a1000">BIG_256_56_shr</a></div><div class="ttdeci">void BIG_256_56_shr(BIG_256_56 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_256_56.c:864</div></div>
+<div class="ttc" id="big__256__56_8h_html_a7f8334cd5e8d117b04a7bd1b483eab59"><div class="ttname"><a href="big__256__56_8h.html#a7f8334cd5e8d117b04a7bd1b483eab59">BIG_256_56_sub</a></div><div class="ttdeci">void BIG_256_56_sub(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:397</div></div>
+<div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__256__56_8h_html_a324d5660ea8931291a7284b3b6de93e1"><div class="ttname"><a href="big__256__56_8h.html#a324d5660ea8931291a7284b3b6de93e1">BIG_256_56_diszilch</a></div><div class="ttdeci">int BIG_256_56_diszilch(DBIG_256_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:45</div></div>
 <div class="ttc" id="big__256__56_8h_html_a4c25819d00f7df64955ee1c77609e309"><div class="ttname"><a href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">NLEN_256_56</a></div><div class="ttdeci">#define NLEN_256_56</div><div class="ttdef"><b>Definition:</b> big_256_56.h:40</div></div>
-<div class="ttc" id="big__256__56_8h_html_a44853e6b32b195c3b0ff2b38c79e9bd5"><div class="ttname"><a href="big__256__56_8h.html#a44853e6b32b195c3b0ff2b38c79e9bd5">BIG_256_56_dsub</a></div><div class="ttdeci">void BIG_256_56_dsub(DBIG_256_56 x, DBIG_256_56 y, DBIG_256_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:413</div></div>
-<div class="ttc" id="big__256__56_8h_html_a90c090098ac877b38930f0fc1533006a"><div class="ttname"><a href="big__256__56_8h.html#a90c090098ac877b38930f0fc1533006a">BIG_256_56_output</a></div><div class="ttdeci">void BIG_256_56_output(BIG_256_56 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:55</div></div>
-<div class="ttc" id="big__256__56_8h_html_a4c8060fefbe73886b90ab33d610082eb"><div class="ttname"><a href="big__256__56_8h.html#a4c8060fefbe73886b90ab33d610082eb">BIG_256_56_dnbits</a></div><div class="ttdeci">int BIG_256_56_dnbits(DBIG_256_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1060</div></div>
-<div class="ttc" id="big__256__56_8h_html_aac4adc454956f0d59d4c7376aebf78df"><div class="ttname"><a href="big__256__56_8h.html#aac4adc454956f0d59d4c7376aebf78df">BIG_256_56_monty</a></div><div class="ttdeci">void BIG_256_56_monty(BIG_256_56 a, BIG_256_56 md, chunk MC, DBIG_256_56 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_256_56.c:735</div></div>
-<div class="ttc" id="big__256__56_8h_html_a1957fef0abc63c2a816d264532f5aa8e"><div class="ttname"><a href="big__256__56_8h.html#a1957fef0abc63c2a816d264532f5aa8e">BIG_256_56_invmodp</a></div><div class="ttdeci">void BIG_256_56_invmodp(BIG_256_56 x, BIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1392</div></div>
-<div class="ttc" id="big__256__56_8h_html_a4de3ad384e46113af03a7333034fec23"><div class="ttname"><a href="big__256__56_8h.html#a4de3ad384e46113af03a7333034fec23">BIG_256_56_mod2m</a></div><div class="ttdeci">void BIG_256_56_mod2m(BIG_256_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1456</div></div>
-<div class="ttc" id="big__256__56_8h_html_afe8cd20e0d0355603d12911536a4805b"><div class="ttname"><a href="big__256__56_8h.html#afe8cd20e0d0355603d12911536a4805b">BIG_256_56_moddiv</a></div><div class="ttdeci">void BIG_256_56_moddiv(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z, BIG_256_56 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1337</div></div>
-<div class="ttc" id="big__256__56_8h_html_a6df30d8e6f2067ce5f5647f8ba2aef19"><div class="ttname"><a href="big__256__56_8h.html#a6df30d8e6f2067ce5f5647f8ba2aef19">BIG_256_56_modmul</a></div><div class="ttdeci">void BIG_256_56_modmul(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z, BIG_256_56 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1300</div></div>
-<div class="ttc" id="big__256__56_8h_html_aa0916109277df97f7ae45f48bd597aea"><div class="ttname"><a href="big__256__56_8h.html#aa0916109277df97f7ae45f48bd597aea">BIG_256_56_jacobi</a></div><div class="ttdeci">int BIG_256_56_jacobi(BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1354</div></div>
-<div class="ttc" id="big__256__56_8h_html_ac31e66cea886e917326dd0c517b66483"><div class="ttname"><a href="big__256__56_8h.html#ac31e66cea886e917326dd0c517b66483">BIG_256_56_or</a></div><div class="ttdeci">void BIG_256_56_or(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:371</div></div>
-<div class="ttc" id="big__256__56_8h_html_a8c122049b296516c6b2fd8081c1f404d"><div class="ttname"><a href="big__256__56_8h.html#a8c122049b296516c6b2fd8081c1f404d">BIG_256_56_dmod2m</a></div><div class="ttdeci">void BIG_256_56_dmod2m(DBIG_256_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1470</div></div>
-<div class="ttc" id="big__256__56_8h_html_a6696ef1d4eccd40596dab5e21a88736a"><div class="ttname"><a href="big__256__56_8h.html#a6696ef1d4eccd40596dab5e21a88736a">BIG_256_56_shl</a></div><div class="ttdeci">void BIG_256_56_shl(BIG_256_56 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_256_56.c:813</div></div>
-<div class="ttc" id="big__256__56_8h_html_a24962ca1663d1412d7e82204fa7a2069"><div class="ttname"><a href="big__256__56_8h.html#a24962ca1663d1412d7e82204fa7a2069">BIG_256_56_sqr</a></div><div class="ttdeci">void BIG_256_56_sqr(DBIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:618</div></div>
-<div class="ttc" id="big__256__56_8h_html_a08908affacbbd90703a3e5ac2b3fc211"><div class="ttname"><a href="big__256__56_8h.html#a08908affacbbd90703a3e5ac2b3fc211">BIG_256_56_dshl</a></div><div class="ttdeci">void BIG_256_56_dshl(DBIG_256_56 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_256_56.c:846</div></div>
-<div class="ttc" id="big__256__56_8h_html_ae636476adf911162915969bf70750f45"><div class="ttname"><a href="big__256__56_8h.html#ae636476adf911162915969bf70750f45">BIG_256_56_isunity</a></div><div class="ttdeci">int BIG_256_56_isunity(BIG_256_56 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:35</div></div>
-<div class="ttc" id="big__256__56_8h_html_a9569d112833f0400bfb7c0e4451a2947"><div class="ttname"><a href="big__256__56_8h.html#a9569d112833f0400bfb7c0e4451a2947">BIG_256_56_dsucopy</a></div><div class="ttdeci">void BIG_256_56_dsucopy(DBIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:280</div></div>
-<div class="ttc" id="big__256__56_8h_html_ada66c853edcbaebdd452bc0427fc22d1"><div class="ttname"><a href="big__256__56_8h.html#ada66c853edcbaebdd452bc0427fc22d1">BIG_256_56_cmove</a></div><div class="ttdeci">void BIG_256_56_cmove(BIG_256_56 x, BIG_256_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:110</div></div>
-<div class="ttc" id="big__256__56_8h_html_ad4d7e429da003447d680466dd428d514"><div class="ttname"><a href="big__256__56_8h.html#ad4d7e429da003447d680466dd428d514">BIG_256_56_toBytes</a></div><div class="ttdeci">void BIG_256_56_toBytes(char *a, BIG_256_56 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:141</div></div>
-<div class="ttc" id="big__256__56_8h_html_aef2334923d0f6e3179818980022664eb"><div class="ttname"><a href="big__256__56_8h.html#aef2334923d0f6e3179818980022664eb">BIG_256_56_random</a></div><div class="ttdeci">void BIG_256_56_random(BIG_256_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1248</div></div>
-<div class="ttc" id="big__256__56_8h_html_ac1cf1d0c2157f25a4d98f35b1c5c1cdf"><div class="ttname"><a href="big__256__56_8h.html#ac1cf1d0c2157f25a4d98f35b1c5c1cdf">BIG_256_56_sdiv</a></div><div class="ttdeci">void BIG_256_56_sdiv(BIG_256_56 x, BIG_256_56 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1188</div></div>
-<div class="ttc" id="big__256__56_8h_html_aaf32c737dd0cf6aea60a9dc5dae3e420"><div class="ttname"><a href="big__256__56_8h.html#aaf32c737dd0cf6aea60a9dc5dae3e420">BIG_256_56_norm</a></div><div class="ttdeci">chunk BIG_256_56_norm(BIG_256_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:976</div></div>
-<div class="ttc" id="big__256__56_8h_html_a8acdb6265dd58d447b477296828d7816"><div class="ttname"><a href="big__256__56_8h.html#a8acdb6265dd58d447b477296828d7816">BIG_256_56_dscopy</a></div><div class="ttdeci">void BIG_256_56_dscopy(DBIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:263</div></div>
-<div class="ttc" id="big__256__56_8h_html_ab9ca2de3d023808394170fe5cbfeb4a1"><div class="ttname"><a href="big__256__56_8h.html#ab9ca2de3d023808394170fe5cbfeb4a1">BIG_256_56_copy</a></div><div class="ttdeci">void BIG_256_56_copy(BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:227</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__256__56_8h_html_a4302fda3b44636fc6bf5d8f79b7b069d"><div class="ttname"><a href="big__256__56_8h.html#a4302fda3b44636fc6bf5d8f79b7b069d">BIG_256_56_div3</a></div><div class="ttdeci">int BIG_256_56_div3(BIG_256_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:484</div></div>
-<div class="ttc" id="big__256__56_8h_html_a48a4dc339dd2631ad1a35bf8af04d951"><div class="ttname"><a href="big__256__56_8h.html#a48a4dc339dd2631ad1a35bf8af04d951">BIG_256_56_lastbits</a></div><div class="ttdeci">int BIG_256_56_lastbits(BIG_256_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1240</div></div>
-<div class="ttc" id="big__256__56_8h_html_ae80c8604eec0e7ee089b8c195e5c4c83"><div class="ttname"><a href="big__256__56_8h.html#ae80c8604eec0e7ee089b8c195e5c4c83">BIG_256_56_dnorm</a></div><div class="ttdeci">void BIG_256_56_dnorm(DBIG_256_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:995</div></div>
-<div class="ttc" id="big__256__56_8h_html_ab22e2947678113edf042d0fb64c3c92f"><div class="ttname"><a href="big__256__56_8h.html#ab22e2947678113edf042d0fb64c3c92f">BIG_256_56_fromBytesLen</a></div><div class="ttdeci">void BIG_256_56_fromBytesLen(BIG_256_56 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_256_56.c:170</div></div>
-<div class="ttc" id="big__256__56_8h_html_a37ea30e1625cffb9381c15c170b98227"><div class="ttname"><a href="big__256__56_8h.html#a37ea30e1625cffb9381c15c170b98227">BIG_256_56_dmod</a></div><div class="ttdeci">void BIG_256_56_dmod(BIG_256_56 x, DBIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1113</div></div>
+<div class="ttc" id="big__256__56_8h_html_a44853e6b32b195c3b0ff2b38c79e9bd5"><div class="ttname"><a href="big__256__56_8h.html#a44853e6b32b195c3b0ff2b38c79e9bd5">BIG_256_56_dsub</a></div><div class="ttdeci">void BIG_256_56_dsub(DBIG_256_56 x, DBIG_256_56 y, DBIG_256_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:413</div></div>
+<div class="ttc" id="big__256__56_8h_html_a90c090098ac877b38930f0fc1533006a"><div class="ttname"><a href="big__256__56_8h.html#a90c090098ac877b38930f0fc1533006a">BIG_256_56_output</a></div><div class="ttdeci">void BIG_256_56_output(BIG_256_56 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:55</div></div>
+<div class="ttc" id="big__256__56_8h_html_a4c8060fefbe73886b90ab33d610082eb"><div class="ttname"><a href="big__256__56_8h.html#a4c8060fefbe73886b90ab33d610082eb">BIG_256_56_dnbits</a></div><div class="ttdeci">int BIG_256_56_dnbits(DBIG_256_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1060</div></div>
+<div class="ttc" id="big__256__56_8h_html_aac4adc454956f0d59d4c7376aebf78df"><div class="ttname"><a href="big__256__56_8h.html#aac4adc454956f0d59d4c7376aebf78df">BIG_256_56_monty</a></div><div class="ttdeci">void BIG_256_56_monty(BIG_256_56 a, BIG_256_56 md, chunk MC, DBIG_256_56 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_256_56.c:735</div></div>
+<div class="ttc" id="big__256__56_8h_html_a1957fef0abc63c2a816d264532f5aa8e"><div class="ttname"><a href="big__256__56_8h.html#a1957fef0abc63c2a816d264532f5aa8e">BIG_256_56_invmodp</a></div><div class="ttdeci">void BIG_256_56_invmodp(BIG_256_56 x, BIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1476</div></div>
+<div class="ttc" id="big__256__56_8h_html_a4de3ad384e46113af03a7333034fec23"><div class="ttname"><a href="big__256__56_8h.html#a4de3ad384e46113af03a7333034fec23">BIG_256_56_mod2m</a></div><div class="ttdeci">void BIG_256_56_mod2m(BIG_256_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1540</div></div>
+<div class="ttc" id="big__256__56_8h_html_afe8cd20e0d0355603d12911536a4805b"><div class="ttname"><a href="big__256__56_8h.html#afe8cd20e0d0355603d12911536a4805b">BIG_256_56_moddiv</a></div><div class="ttdeci">void BIG_256_56_moddiv(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z, BIG_256_56 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1337</div></div>
+<div class="ttc" id="big__256__56_8h_html_a6df30d8e6f2067ce5f5647f8ba2aef19"><div class="ttname"><a href="big__256__56_8h.html#a6df30d8e6f2067ce5f5647f8ba2aef19">BIG_256_56_modmul</a></div><div class="ttdeci">void BIG_256_56_modmul(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z, BIG_256_56 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1300</div></div>
+<div class="ttc" id="big__256__56_8h_html_aa0916109277df97f7ae45f48bd597aea"><div class="ttname"><a href="big__256__56_8h.html#aa0916109277df97f7ae45f48bd597aea">BIG_256_56_jacobi</a></div><div class="ttdeci">int BIG_256_56_jacobi(BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1354</div></div>
+<div class="ttc" id="big__256__56_8h_html_ac31e66cea886e917326dd0c517b66483"><div class="ttname"><a href="big__256__56_8h.html#ac31e66cea886e917326dd0c517b66483">BIG_256_56_or</a></div><div class="ttdeci">void BIG_256_56_or(BIG_256_56 x, BIG_256_56 y, BIG_256_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:371</div></div>
+<div class="ttc" id="big__256__56_8h_html_a8c122049b296516c6b2fd8081c1f404d"><div class="ttname"><a href="big__256__56_8h.html#a8c122049b296516c6b2fd8081c1f404d">BIG_256_56_dmod2m</a></div><div class="ttdeci">void BIG_256_56_dmod2m(DBIG_256_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1554</div></div>
+<div class="ttc" id="big__256__56_8h_html_a6696ef1d4eccd40596dab5e21a88736a"><div class="ttname"><a href="big__256__56_8h.html#a6696ef1d4eccd40596dab5e21a88736a">BIG_256_56_shl</a></div><div class="ttdeci">void BIG_256_56_shl(BIG_256_56 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_256_56.c:813</div></div>
+<div class="ttc" id="big__256__56_8h_html_a24962ca1663d1412d7e82204fa7a2069"><div class="ttname"><a href="big__256__56_8h.html#a24962ca1663d1412d7e82204fa7a2069">BIG_256_56_sqr</a></div><div class="ttdeci">void BIG_256_56_sqr(DBIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:618</div></div>
+<div class="ttc" id="big__256__56_8h_html_a08908affacbbd90703a3e5ac2b3fc211"><div class="ttname"><a href="big__256__56_8h.html#a08908affacbbd90703a3e5ac2b3fc211">BIG_256_56_dshl</a></div><div class="ttdeci">void BIG_256_56_dshl(DBIG_256_56 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_256_56.c:846</div></div>
+<div class="ttc" id="big__256__56_8h_html_ae636476adf911162915969bf70750f45"><div class="ttname"><a href="big__256__56_8h.html#ae636476adf911162915969bf70750f45">BIG_256_56_isunity</a></div><div class="ttdeci">int BIG_256_56_isunity(BIG_256_56 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:35</div></div>
+<div class="ttc" id="big__256__56_8h_html_a9569d112833f0400bfb7c0e4451a2947"><div class="ttname"><a href="big__256__56_8h.html#a9569d112833f0400bfb7c0e4451a2947">BIG_256_56_dsucopy</a></div><div class="ttdeci">void BIG_256_56_dsucopy(DBIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:280</div></div>
+<div class="ttc" id="big__256__56_8h_html_ada66c853edcbaebdd452bc0427fc22d1"><div class="ttname"><a href="big__256__56_8h.html#ada66c853edcbaebdd452bc0427fc22d1">BIG_256_56_cmove</a></div><div class="ttdeci">void BIG_256_56_cmove(BIG_256_56 x, BIG_256_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:110</div></div>
+<div class="ttc" id="big__256__56_8h_html_ad4d7e429da003447d680466dd428d514"><div class="ttname"><a href="big__256__56_8h.html#ad4d7e429da003447d680466dd428d514">BIG_256_56_toBytes</a></div><div class="ttdeci">void BIG_256_56_toBytes(char *a, BIG_256_56 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:141</div></div>
+<div class="ttc" id="big__256__56_8h_html_aef2334923d0f6e3179818980022664eb"><div class="ttname"><a href="big__256__56_8h.html#aef2334923d0f6e3179818980022664eb">BIG_256_56_random</a></div><div class="ttdeci">void BIG_256_56_random(BIG_256_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1248</div></div>
+<div class="ttc" id="big__256__56_8h_html_ac1cf1d0c2157f25a4d98f35b1c5c1cdf"><div class="ttname"><a href="big__256__56_8h.html#ac1cf1d0c2157f25a4d98f35b1c5c1cdf">BIG_256_56_sdiv</a></div><div class="ttdeci">void BIG_256_56_sdiv(BIG_256_56 x, BIG_256_56 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1188</div></div>
+<div class="ttc" id="big__256__56_8h_html_aaf32c737dd0cf6aea60a9dc5dae3e420"><div class="ttname"><a href="big__256__56_8h.html#aaf32c737dd0cf6aea60a9dc5dae3e420">BIG_256_56_norm</a></div><div class="ttdeci">chunk BIG_256_56_norm(BIG_256_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:976</div></div>
+<div class="ttc" id="big__256__56_8h_html_a8acdb6265dd58d447b477296828d7816"><div class="ttname"><a href="big__256__56_8h.html#a8acdb6265dd58d447b477296828d7816">BIG_256_56_dscopy</a></div><div class="ttdeci">void BIG_256_56_dscopy(DBIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:263</div></div>
+<div class="ttc" id="big__256__56_8h_html_ab9ca2de3d023808394170fe5cbfeb4a1"><div class="ttname"><a href="big__256__56_8h.html#ab9ca2de3d023808394170fe5cbfeb4a1">BIG_256_56_copy</a></div><div class="ttdeci">void BIG_256_56_copy(BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:227</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__256__56_8h_html_a4302fda3b44636fc6bf5d8f79b7b069d"><div class="ttname"><a href="big__256__56_8h.html#a4302fda3b44636fc6bf5d8f79b7b069d">BIG_256_56_div3</a></div><div class="ttdeci">int BIG_256_56_div3(BIG_256_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:484</div></div>
+<div class="ttc" id="big__256__56_8h_html_a48a4dc339dd2631ad1a35bf8af04d951"><div class="ttname"><a href="big__256__56_8h.html#a48a4dc339dd2631ad1a35bf8af04d951">BIG_256_56_lastbits</a></div><div class="ttdeci">int BIG_256_56_lastbits(BIG_256_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1240</div></div>
+<div class="ttc" id="big__256__56_8h_html_ae80c8604eec0e7ee089b8c195e5c4c83"><div class="ttname"><a href="big__256__56_8h.html#ae80c8604eec0e7ee089b8c195e5c4c83">BIG_256_56_dnorm</a></div><div class="ttdeci">void BIG_256_56_dnorm(DBIG_256_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:995</div></div>
+<div class="ttc" id="big__256__56_8h_html_ab22e2947678113edf042d0fb64c3c92f"><div class="ttname"><a href="big__256__56_8h.html#ab22e2947678113edf042d0fb64c3c92f">BIG_256_56_fromBytesLen</a></div><div class="ttdeci">void BIG_256_56_fromBytesLen(BIG_256_56 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_256_56.c:170</div></div>
+<div class="ttc" id="big__256__56_8h_html_a37ea30e1625cffb9381c15c170b98227"><div class="ttname"><a href="big__256__56_8h.html#a37ea30e1625cffb9381c15c170b98227">BIG_256_56_dmod</a></div><div class="ttdeci">void BIG_256_56_dmod(BIG_256_56 x, DBIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1113</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.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="big__256__56_8h_html_a3ad61321234a88125b2b15ada3366cea"><div class="ttname"><a href="big__256__56_8h.html#a3ad61321234a88125b2b15ada3366cea">BIG_256_56_rcopy</a></div><div class="ttdeci">void BIG_256_56_rcopy(BIG_256_56 x, const BIG_256_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:239</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__256__56_8h_html_a3ad61321234a88125b2b15ada3366cea"><div class="ttname"><a href="big__256__56_8h.html#a3ad61321234a88125b2b15ada3366cea">BIG_256_56_rcopy</a></div><div class="ttdeci">void BIG_256_56_rcopy(BIG_256_56 x, const BIG_256_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:239</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__256__56_8h_html_a80538a998337c358f552c8a20c099c9b"><div class="ttname"><a href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">HMASK_256_56</a></div><div class="ttdeci">#define HMASK_256_56</div><div class="ttdef"><b>Definition:</b> big_256_56.h:46</div></div>
-<div class="ttc" id="big__256__56_8h_html_a45b83f967d61baf813216a8d76998ed2"><div class="ttname"><a href="big__256__56_8h.html#a45b83f967d61baf813216a8d76998ed2">BIG_256_56_modneg</a></div><div class="ttdeci">void BIG_256_56_modneg(BIG_256_56 x, BIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1327</div></div>
-<div class="ttc" id="big__256__56_8h_html_a06612fae29e631679cd4aa169f1b3c6a"><div class="ttname"><a href="big__256__56_8h.html#a06612fae29e631679cd4aa169f1b3c6a">BIG_256_56_modsqr</a></div><div class="ttdeci">void BIG_256_56_modsqr(BIG_256_56 x, BIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1315</div></div>
-<div class="ttc" id="big__256__56_8h_html_a42f61e4166a19d24abf6461ab2a0ffd7"><div class="ttname"><a href="big__256__56_8h.html#a42f61e4166a19d24abf6461ab2a0ffd7">BIG_256_56_ssn</a></div><div class="ttdeci">int BIG_256_56_ssn(BIG_256_56 r, BIG_256_56 a, BIG_256_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:877</div></div>
-<div class="ttc" id="big__256__56_8h_html_a80abfe28372008df098b91281cee9db6"><div class="ttname"><a href="big__256__56_8h.html#a80abfe28372008df098b91281cee9db6">BIG_256_56_fromBytes</a></div><div class="ttdeci">void BIG_256_56_fromBytes(BIG_256_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:155</div></div>
-<div class="ttc" id="big__256__56_8h_html_abf29e543cdacfaea193ec50d15cb5046"><div class="ttname"><a href="big__256__56_8h.html#abf29e543cdacfaea193ec50d15cb5046">BIG_256_56_one</a></div><div class="ttdeci">void BIG_256_56_one(BIG_256_56 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_256_56.c:340</div></div>
-<div class="ttc" id="big__256__56_8h_html_ab122c9bc11ced893982f8d7e87f6d16b"><div class="ttname"><a href="big__256__56_8h.html#ab122c9bc11ced893982f8d7e87f6d16b">BIG_256_56_imul</a></div><div class="ttdeci">void BIG_256_56_imul(BIG_256_56 x, BIG_256_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:450</div></div>
-<div class="ttc" id="big__256__56_8h_html_a63396a981b7423fb6b83014c87e17198"><div class="ttname"><a href="big__256__56_8h.html#a63396a981b7423fb6b83014c87e17198">BIG_256_56_invmod2m</a></div><div class="ttdeci">void BIG_256_56_invmod2m(BIG_256_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__256__56_8h_html_ac7a0863f1ff16c84466ffb5aa5faa084"><div class="ttname"><a href="big__256__56_8h.html#ac7a0863f1ff16c84466ffb5aa5faa084">BIG_256_56_sducopy</a></div><div class="ttdeci">void BIG_256_56_sducopy(BIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:306</div></div>
+<div class="ttc" id="big__256__56_8h_html_a45b83f967d61baf813216a8d76998ed2"><div class="ttname"><a href="big__256__56_8h.html#a45b83f967d61baf813216a8d76998ed2">BIG_256_56_modneg</a></div><div class="ttdeci">void BIG_256_56_modneg(BIG_256_56 x, BIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1327</div></div>
+<div class="ttc" id="big__256__56_8h_html_a06612fae29e631679cd4aa169f1b3c6a"><div class="ttname"><a href="big__256__56_8h.html#a06612fae29e631679cd4aa169f1b3c6a">BIG_256_56_modsqr</a></div><div class="ttdeci">void BIG_256_56_modsqr(BIG_256_56 x, BIG_256_56 y, BIG_256_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1315</div></div>
+<div class="ttc" id="big__256__56_8h_html_a42f61e4166a19d24abf6461ab2a0ffd7"><div class="ttname"><a href="big__256__56_8h.html#a42f61e4166a19d24abf6461ab2a0ffd7">BIG_256_56_ssn</a></div><div class="ttdeci">int BIG_256_56_ssn(BIG_256_56 r, BIG_256_56 a, BIG_256_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:877</div></div>
+<div class="ttc" id="big__256__56_8h_html_a80abfe28372008df098b91281cee9db6"><div class="ttname"><a href="big__256__56_8h.html#a80abfe28372008df098b91281cee9db6">BIG_256_56_fromBytes</a></div><div class="ttdeci">void BIG_256_56_fromBytes(BIG_256_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:155</div></div>
+<div class="ttc" id="big__256__56_8h_html_abf29e543cdacfaea193ec50d15cb5046"><div class="ttname"><a href="big__256__56_8h.html#abf29e543cdacfaea193ec50d15cb5046">BIG_256_56_one</a></div><div class="ttdeci">void BIG_256_56_one(BIG_256_56 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_256_56.c:340</div></div>
+<div class="ttc" id="big__256__56_8h_html_ab122c9bc11ced893982f8d7e87f6d16b"><div class="ttname"><a href="big__256__56_8h.html#ab122c9bc11ced893982f8d7e87f6d16b">BIG_256_56_imul</a></div><div class="ttdeci">void BIG_256_56_imul(BIG_256_56 x, BIG_256_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:450</div></div>
+<div class="ttc" id="big__256__56_8h_html_a63396a981b7423fb6b83014c87e17198"><div class="ttname"><a href="big__256__56_8h.html#a63396a981b7423fb6b83014c87e17198">BIG_256_56_invmod2m</a></div><div class="ttdeci">void BIG_256_56_invmod2m(BIG_256_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1432</div></div>
+<div class="ttc" id="big__256__56_8h_html_ac7a0863f1ff16c84466ffb5aa5faa084"><div class="ttname"><a href="big__256__56_8h.html#ac7a0863f1ff16c84466ffb5aa5faa084">BIG_256_56_sducopy</a></div><div class="ttdeci">void BIG_256_56_sducopy(BIG_256_56 x, DBIG_256_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:306</div></div>
 <div class="ttc" id="big__256__56_8h_html_a654f923f35390eab504ed90f184a4aae"><div class="ttname"><a href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">BMASK_256_56</a></div><div class="ttdeci">#define BMASK_256_56</div><div class="ttdef"><b>Definition:</b> big_256_56.h:42</div></div>
-<div class="ttc" id="big__256__56_8h_html_a6ce0fb117601d7754f57a49d839779bc"><div class="ttname"><a href="big__256__56_8h.html#a6ce0fb117601d7754f57a49d839779bc">BIG_256_56_mod</a></div><div class="ttdeci">void BIG_256_56_mod(BIG_256_56 x, BIG_256_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_256_56.c:1082</div></div>
-<div class="ttc" id="big__256__56_8h_html_adae5bfd34ccdb07cd9b5731a12506337"><div class="ttname"><a href="big__256__56_8h.html#adae5bfd34ccdb07cd9b5731a12506337">BIG_256_56_dshr</a></div><div class="ttdeci">void BIG_256_56_dshr(DBIG_256_56 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_256_56.c:918</div></div>
+<div class="ttc" id="big__256__56_8h_html_a6ce0fb117601d7754f57a49d839779bc"><div class="ttname"><a href="big__256__56_8h.html#a6ce0fb117601d7754f57a49d839779bc">BIG_256_56_mod</a></div><div class="ttdeci">void BIG_256_56_mod(BIG_256_56 x, BIG_256_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_256_56.c:1082</div></div>
+<div class="ttc" id="big__256__56_8h_html_adae5bfd34ccdb07cd9b5731a12506337"><div class="ttname"><a href="big__256__56_8h.html#adae5bfd34ccdb07cd9b5731a12506337">BIG_256_56_dshr</a></div><div class="ttdeci">void BIG_256_56_dshr(DBIG_256_56 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_256_56.c:918</div></div>
 <div class="ttc" id="big__256__56_8h_html_ac0ef2169da39807adbf4e20e99b48437"><div class="ttname"><a href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">DNLEN_256_56</a></div><div class="ttdeci">#define DNLEN_256_56</div><div class="ttdef"><b>Definition:</b> big_256_56.h:41</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__336__29_8h.html b/website/static/cdocs/big__336__29_8h.html
deleted file mode 100644
index 5faea40..0000000
--- a/website/static/cdocs/big__336__29_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_336_29.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_336_29.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__336__29_8h_source.html">config_big_336_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__336__29_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:a387bb8aca1a20d3a37bdc32c5d62fb19"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a387bb8aca1a20d3a37bdc32c5d62fb19">BIGBITS_336_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">MODBYTES_336_29</a>)</td></tr>
-<tr class="separator:a387bb8aca1a20d3a37bdc32c5d62fb19"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b14578e59aabea47a378405513d004a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">MODBYTES_336_29</a>-1)/<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>))</td></tr>
-<tr class="separator:a8b14578e59aabea47a378405513d004a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a505c0645884488f027436579943cf995"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">DNLEN_336_29</a>&#160;&#160;&#160;2*<a class="el" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a></td></tr>
-<tr class="separator:a505c0645884488f027436579943cf995"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad85064af77fbac212dd37ff15c9d594f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f">BMASK_336_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>)-1)</td></tr>
-<tr class="separator:ad85064af77fbac212dd37ff15c9d594f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a07f6d3a4d4c0bd5724e65181ab517d2c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a07f6d3a4d4c0bd5724e65181ab517d2c">NEXCESS_336_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>-1))</td></tr>
-<tr class="separator:a07f6d3a4d4c0bd5724e65181ab517d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad3015fbe7576b1f8d714639562ea3b1c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>/2)</td></tr>
-<tr class="separator:ad3015fbe7576b1f8d714639562ea3b1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7f9f778c19308c583d28d1c040e38e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">HMASK_336_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</a>)-1)</td></tr>
-<tr class="separator:ae7f9f778c19308c583d28d1c040e38e8"><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:a89edacff8a53658296ebf4e37a96beb1"><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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a>[<a class="el" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a>]</td></tr>
-<tr class="separator:a89edacff8a53658296ebf4e37a96beb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16a4d062e83884ebcc64eb5f802809c9"><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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a>[<a class="el" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">DNLEN_336_29</a>]</td></tr>
-<tr class="separator:a16a4d062e83884ebcc64eb5f802809c9"><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:a230c8d9151ecff0f78b9e12bccdf635e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a230c8d9151ecff0f78b9e12bccdf635e">BIG_336_29_iszilch</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a230c8d9151ecff0f78b9e12bccdf635e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a230c8d9151ecff0f78b9e12bccdf635e">More...</a><br /></td></tr>
-<tr class="separator:a230c8d9151ecff0f78b9e12bccdf635e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6deb8d369b93c4784ff598adbabb224"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad6deb8d369b93c4784ff598adbabb224">BIG_336_29_isunity</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:ad6deb8d369b93c4784ff598adbabb224"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#ad6deb8d369b93c4784ff598adbabb224">More...</a><br /></td></tr>
-<tr class="separator:ad6deb8d369b93c4784ff598adbabb224"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9509b0dc8baeda5dc8c20b32dff94ad4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a9509b0dc8baeda5dc8c20b32dff94ad4">BIG_336_29_diszilch</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a9509b0dc8baeda5dc8c20b32dff94ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a9509b0dc8baeda5dc8c20b32dff94ad4">More...</a><br /></td></tr>
-<tr class="separator:a9509b0dc8baeda5dc8c20b32dff94ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ce5cd538831acb1ceaa657dcea7e142"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a1ce5cd538831acb1ceaa657dcea7e142">BIG_336_29_output</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a1ce5cd538831acb1ceaa657dcea7e142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#a1ce5cd538831acb1ceaa657dcea7e142">More...</a><br /></td></tr>
-<tr class="separator:a1ce5cd538831acb1ceaa657dcea7e142"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a37a28dbc85f653ddc47e5a0977a83d5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a37a28dbc85f653ddc47e5a0977a83d5b">BIG_336_29_rawoutput</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a37a28dbc85f653ddc47e5a0977a83d5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a37a28dbc85f653ddc47e5a0977a83d5b">More...</a><br /></td></tr>
-<tr class="separator:a37a28dbc85f653ddc47e5a0977a83d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e973afced1de79a5d3a283ae5b271af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a3e973afced1de79a5d3a283ae5b271af">BIG_336_29_cswap</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, int s)</td></tr>
-<tr class="memdesc:a3e973afced1de79a5d3a283ae5b271af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a3e973afced1de79a5d3a283ae5b271af">More...</a><br /></td></tr>
-<tr class="separator:a3e973afced1de79a5d3a283ae5b271af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a34ec564848369556a4b02dcc01f9ca04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a34ec564848369556a4b02dcc01f9ca04">BIG_336_29_cmove</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, int s)</td></tr>
-<tr class="memdesc:a34ec564848369556a4b02dcc01f9ca04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a34ec564848369556a4b02dcc01f9ca04">More...</a><br /></td></tr>
-<tr class="separator:a34ec564848369556a4b02dcc01f9ca04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae9c08f62fd328bb248328dcf3837b134"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ae9c08f62fd328bb248328dcf3837b134">BIG_336_29_dcmove</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, int s)</td></tr>
-<tr class="memdesc:ae9c08f62fd328bb248328dcf3837b134"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#ae9c08f62fd328bb248328dcf3837b134">More...</a><br /></td></tr>
-<tr class="separator:ae9c08f62fd328bb248328dcf3837b134"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f3773dddbaae9d598cf26562718aca4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a3f3773dddbaae9d598cf26562718aca4">BIG_336_29_toBytes</a> (char *a, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a3f3773dddbaae9d598cf26562718aca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a3f3773dddbaae9d598cf26562718aca4">More...</a><br /></td></tr>
-<tr class="separator:a3f3773dddbaae9d598cf26562718aca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a966fa27a1ed84d09b8411bd82519072f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a966fa27a1ed84d09b8411bd82519072f">BIG_336_29_fromBytes</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, char *a)</td></tr>
-<tr class="memdesc:a966fa27a1ed84d09b8411bd82519072f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a966fa27a1ed84d09b8411bd82519072f">More...</a><br /></td></tr>
-<tr class="separator:a966fa27a1ed84d09b8411bd82519072f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac912d49447a466dcf1d5f85a6e14f336"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ac912d49447a466dcf1d5f85a6e14f336">BIG_336_29_fromBytesLen</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:ac912d49447a466dcf1d5f85a6e14f336"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#ac912d49447a466dcf1d5f85a6e14f336">More...</a><br /></td></tr>
-<tr class="separator:ac912d49447a466dcf1d5f85a6e14f336"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a20861abd6145ea8dbadd9ff84af2dea1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a20861abd6145ea8dbadd9ff84af2dea1">BIG_336_29_dfromBytesLen</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a20861abd6145ea8dbadd9ff84af2dea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a20861abd6145ea8dbadd9ff84af2dea1">More...</a><br /></td></tr>
-<tr class="separator:a20861abd6145ea8dbadd9ff84af2dea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa481a2e2eab1f3187f8780c294e7d9fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#aa481a2e2eab1f3187f8780c294e7d9fb">BIG_336_29_doutput</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x)</td></tr>
-<tr class="memdesc:aa481a2e2eab1f3187f8780c294e7d9fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#aa481a2e2eab1f3187f8780c294e7d9fb">More...</a><br /></td></tr>
-<tr class="separator:aa481a2e2eab1f3187f8780c294e7d9fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1b50365cb7eddcbec5ce1c7922c5475"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad1b50365cb7eddcbec5ce1c7922c5475">BIG_336_29_drawoutput</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x)</td></tr>
-<tr class="memdesc:ad1b50365cb7eddcbec5ce1c7922c5475"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#ad1b50365cb7eddcbec5ce1c7922c5475">More...</a><br /></td></tr>
-<tr class="separator:ad1b50365cb7eddcbec5ce1c7922c5475"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab18ce1ef87d290fc6c489a41aa763fbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ab18ce1ef87d290fc6c489a41aa763fbd">BIG_336_29_rcopy</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, const <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y)</td></tr>
-<tr class="memdesc:ab18ce1ef87d290fc6c489a41aa763fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#ab18ce1ef87d290fc6c489a41aa763fbd">More...</a><br /></td></tr>
-<tr class="separator:ab18ce1ef87d290fc6c489a41aa763fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6c4af364650172b17df2e7e0930e666f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a6c4af364650172b17df2e7e0930e666f">BIG_336_29_copy</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a6c4af364650172b17df2e7e0930e666f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#a6c4af364650172b17df2e7e0930e666f">More...</a><br /></td></tr>
-<tr class="separator:a6c4af364650172b17df2e7e0930e666f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a244e69d514f07e515b3473380595b10d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a244e69d514f07e515b3473380595b10d">BIG_336_29_dcopy</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a244e69d514f07e515b3473380595b10d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a244e69d514f07e515b3473380595b10d">More...</a><br /></td></tr>
-<tr class="separator:a244e69d514f07e515b3473380595b10d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c1b26f91d75cc611fd12dd3808ae8ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a3c1b26f91d75cc611fd12dd3808ae8ca">BIG_336_29_dsucopy</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a3c1b26f91d75cc611fd12dd3808ae8ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#a3c1b26f91d75cc611fd12dd3808ae8ca">More...</a><br /></td></tr>
-<tr class="separator:a3c1b26f91d75cc611fd12dd3808ae8ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b4f65976a9cc91ba58144fa44bb7177"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a7b4f65976a9cc91ba58144fa44bb7177">BIG_336_29_dscopy</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a7b4f65976a9cc91ba58144fa44bb7177"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#a7b4f65976a9cc91ba58144fa44bb7177">More...</a><br /></td></tr>
-<tr class="separator:a7b4f65976a9cc91ba58144fa44bb7177"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad45969a681f02ce92a0fa21fc5ed1c95"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad45969a681f02ce92a0fa21fc5ed1c95">BIG_336_29_sdcopy</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y)</td></tr>
-<tr class="memdesc:ad45969a681f02ce92a0fa21fc5ed1c95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#ad45969a681f02ce92a0fa21fc5ed1c95">More...</a><br /></td></tr>
-<tr class="separator:ad45969a681f02ce92a0fa21fc5ed1c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2867c99c42fd61b2a2cd3e4267a4e892"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a2867c99c42fd61b2a2cd3e4267a4e892">BIG_336_29_sducopy</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a2867c99c42fd61b2a2cd3e4267a4e892"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a2867c99c42fd61b2a2cd3e4267a4e892">More...</a><br /></td></tr>
-<tr class="separator:a2867c99c42fd61b2a2cd3e4267a4e892"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a04f38d96c8de1197f3b75032e3e987d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a04f38d96c8de1197f3b75032e3e987d2">BIG_336_29_zero</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a04f38d96c8de1197f3b75032e3e987d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a04f38d96c8de1197f3b75032e3e987d2">More...</a><br /></td></tr>
-<tr class="separator:a04f38d96c8de1197f3b75032e3e987d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa12e7e0bd105f263877e1c347d7eccd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#aa12e7e0bd105f263877e1c347d7eccd1">BIG_336_29_dzero</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x)</td></tr>
-<tr class="memdesc:aa12e7e0bd105f263877e1c347d7eccd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#aa12e7e0bd105f263877e1c347d7eccd1">More...</a><br /></td></tr>
-<tr class="separator:aa12e7e0bd105f263877e1c347d7eccd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa88f788433edb46e3fce010c675e3ebe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#aa88f788433edb46e3fce010c675e3ebe">BIG_336_29_one</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:aa88f788433edb46e3fce010c675e3ebe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#aa88f788433edb46e3fce010c675e3ebe">More...</a><br /></td></tr>
-<tr class="separator:aa88f788433edb46e3fce010c675e3ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa6d1cde9525f89fd5a3e549b4a26b6dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#aa6d1cde9525f89fd5a3e549b4a26b6dd">BIG_336_29_invmod2m</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:aa6d1cde9525f89fd5a3e549b4a26b6dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#aa6d1cde9525f89fd5a3e549b4a26b6dd">More...</a><br /></td></tr>
-<tr class="separator:aa6d1cde9525f89fd5a3e549b4a26b6dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a75c1d8be1ba70f7f4475ead6a5f43af0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a75c1d8be1ba70f7f4475ead6a5f43af0">BIG_336_29_add</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z)</td></tr>
-<tr class="memdesc:a75c1d8be1ba70f7f4475ead6a5f43af0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a75c1d8be1ba70f7f4475ead6a5f43af0">More...</a><br /></td></tr>
-<tr class="separator:a75c1d8be1ba70f7f4475ead6a5f43af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5e8219fa6226d669de04ee7bbe82e8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad5e8219fa6226d669de04ee7bbe82e8a">BIG_336_29_or</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z)</td></tr>
-<tr class="memdesc:ad5e8219fa6226d669de04ee7bbe82e8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#ad5e8219fa6226d669de04ee7bbe82e8a">More...</a><br /></td></tr>
-<tr class="separator:ad5e8219fa6226d669de04ee7bbe82e8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a213286f51d77e52e9e3da344da1fbd88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a213286f51d77e52e9e3da344da1fbd88">BIG_336_29_inc</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int i)</td></tr>
-<tr class="memdesc:a213286f51d77e52e9e3da344da1fbd88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#a213286f51d77e52e9e3da344da1fbd88">More...</a><br /></td></tr>
-<tr class="separator:a213286f51d77e52e9e3da344da1fbd88"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89c1e07d9b8e96b7e971ab5417400335"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a89c1e07d9b8e96b7e971ab5417400335">BIG_336_29_sub</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z)</td></tr>
-<tr class="memdesc:a89c1e07d9b8e96b7e971ab5417400335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a89c1e07d9b8e96b7e971ab5417400335">More...</a><br /></td></tr>
-<tr class="separator:a89c1e07d9b8e96b7e971ab5417400335"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad2b49abad8d092e55c30ee6a54e56ff5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad2b49abad8d092e55c30ee6a54e56ff5">BIG_336_29_dec</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int i)</td></tr>
-<tr class="memdesc:ad2b49abad8d092e55c30ee6a54e56ff5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#ad2b49abad8d092e55c30ee6a54e56ff5">More...</a><br /></td></tr>
-<tr class="separator:ad2b49abad8d092e55c30ee6a54e56ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeabd48c0ad271c023797578103ac840e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#aeabd48c0ad271c023797578103ac840e">BIG_336_29_dadd</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> z)</td></tr>
-<tr class="memdesc:aeabd48c0ad271c023797578103ac840e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#aeabd48c0ad271c023797578103ac840e">More...</a><br /></td></tr>
-<tr class="separator:aeabd48c0ad271c023797578103ac840e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaec1f3921b23e1646dcec6938c8edf99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#aaec1f3921b23e1646dcec6938c8edf99">BIG_336_29_dsub</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> z)</td></tr>
-<tr class="memdesc:aaec1f3921b23e1646dcec6938c8edf99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#aaec1f3921b23e1646dcec6938c8edf99">More...</a><br /></td></tr>
-<tr class="separator:aaec1f3921b23e1646dcec6938c8edf99"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5579d667e486744ad3281c318b726fe1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a5579d667e486744ad3281c318b726fe1">BIG_336_29_imul</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, int i)</td></tr>
-<tr class="memdesc:a5579d667e486744ad3281c318b726fe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a5579d667e486744ad3281c318b726fe1">More...</a><br /></td></tr>
-<tr class="separator:a5579d667e486744ad3281c318b726fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae8b0f5ddf0ba8cd8c725c5acb99a465b"><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__336__29_8h.html#ae8b0f5ddf0ba8cd8c725c5acb99a465b">BIG_336_29_pmul</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, int i)</td></tr>
-<tr class="memdesc:ae8b0f5ddf0ba8cd8c725c5acb99a465b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#ae8b0f5ddf0ba8cd8c725c5acb99a465b">More...</a><br /></td></tr>
-<tr class="separator:ae8b0f5ddf0ba8cd8c725c5acb99a465b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a51ba250655520120124160cc87e0424b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a51ba250655520120124160cc87e0424b">BIG_336_29_div3</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a51ba250655520120124160cc87e0424b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#a51ba250655520120124160cc87e0424b">More...</a><br /></td></tr>
-<tr class="separator:a51ba250655520120124160cc87e0424b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6627ad75b1268e62a5f7d88be8014ccd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a6627ad75b1268e62a5f7d88be8014ccd">BIG_336_29_pxmul</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, int i)</td></tr>
-<tr class="memdesc:a6627ad75b1268e62a5f7d88be8014ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a6627ad75b1268e62a5f7d88be8014ccd">More...</a><br /></td></tr>
-<tr class="separator:a6627ad75b1268e62a5f7d88be8014ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5467c39a0f90dfe7d5382675d80c4af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad5467c39a0f90dfe7d5382675d80c4af">BIG_336_29_mul</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z)</td></tr>
-<tr class="memdesc:ad5467c39a0f90dfe7d5382675d80c4af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#ad5467c39a0f90dfe7d5382675d80c4af">More...</a><br /></td></tr>
-<tr class="separator:ad5467c39a0f90dfe7d5382675d80c4af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c05fe473e5b3b23f505850370dfb4d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a9c05fe473e5b3b23f505850370dfb4d5">BIG_336_29_smul</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z)</td></tr>
-<tr class="memdesc:a9c05fe473e5b3b23f505850370dfb4d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#a9c05fe473e5b3b23f505850370dfb4d5">More...</a><br /></td></tr>
-<tr class="separator:a9c05fe473e5b3b23f505850370dfb4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a79f4ddd5776131afb411c6b8b7d7853d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a79f4ddd5776131afb411c6b8b7d7853d">BIG_336_29_sqr</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a79f4ddd5776131afb411c6b8b7d7853d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a79f4ddd5776131afb411c6b8b7d7853d">More...</a><br /></td></tr>
-<tr class="separator:a79f4ddd5776131afb411c6b8b7d7853d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae9423918c339248a32cde90059d54bf0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ae9423918c339248a32cde90059d54bf0">BIG_336_29_monty</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> a, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> d)</td></tr>
-<tr class="memdesc:ae9423918c339248a32cde90059d54bf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#ae9423918c339248a32cde90059d54bf0">More...</a><br /></td></tr>
-<tr class="separator:ae9423918c339248a32cde90059d54bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad9d73478b62aa9c03c9ed0ee21084ac4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad9d73478b62aa9c03c9ed0ee21084ac4">BIG_336_29_shl</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int s)</td></tr>
-<tr class="memdesc:ad9d73478b62aa9c03c9ed0ee21084ac4"><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="#ad9d73478b62aa9c03c9ed0ee21084ac4">More...</a><br /></td></tr>
-<tr class="separator:ad9d73478b62aa9c03c9ed0ee21084ac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1fb372329a67a713aa3e66a7f5ce7335"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a1fb372329a67a713aa3e66a7f5ce7335">BIG_336_29_fshl</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int s)</td></tr>
-<tr class="memdesc:a1fb372329a67a713aa3e66a7f5ce7335"><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="#a1fb372329a67a713aa3e66a7f5ce7335">More...</a><br /></td></tr>
-<tr class="separator:a1fb372329a67a713aa3e66a7f5ce7335"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a71f283cfb6248804db064fea30190cc5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a71f283cfb6248804db064fea30190cc5">BIG_336_29_dshl</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, int s)</td></tr>
-<tr class="memdesc:a71f283cfb6248804db064fea30190cc5"><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="#a71f283cfb6248804db064fea30190cc5">More...</a><br /></td></tr>
-<tr class="separator:a71f283cfb6248804db064fea30190cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a214e850cd3502a3e115959d4622d815b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a214e850cd3502a3e115959d4622d815b">BIG_336_29_shr</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int s)</td></tr>
-<tr class="memdesc:a214e850cd3502a3e115959d4622d815b"><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="#a214e850cd3502a3e115959d4622d815b">More...</a><br /></td></tr>
-<tr class="separator:a214e850cd3502a3e115959d4622d815b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7bd8806b8b21c010a9647fac762036d8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a7bd8806b8b21c010a9647fac762036d8">BIG_336_29_ssn</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> r, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> a, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> m)</td></tr>
-<tr class="memdesc:a7bd8806b8b21c010a9647fac762036d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a7bd8806b8b21c010a9647fac762036d8">More...</a><br /></td></tr>
-<tr class="separator:a7bd8806b8b21c010a9647fac762036d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af781f798c463ac6403dd9a363772ea0a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#af781f798c463ac6403dd9a363772ea0a">BIG_336_29_fshr</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int s)</td></tr>
-<tr class="memdesc:af781f798c463ac6403dd9a363772ea0a"><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="#af781f798c463ac6403dd9a363772ea0a">More...</a><br /></td></tr>
-<tr class="separator:af781f798c463ac6403dd9a363772ea0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2c5eca3ca53299e19f5b2cfb026af42f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a2c5eca3ca53299e19f5b2cfb026af42f">BIG_336_29_dshr</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, int s)</td></tr>
-<tr class="memdesc:a2c5eca3ca53299e19f5b2cfb026af42f"><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="#a2c5eca3ca53299e19f5b2cfb026af42f">More...</a><br /></td></tr>
-<tr class="separator:a2c5eca3ca53299e19f5b2cfb026af42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac01951f8f16ebf0b7120f083b4c20aab"><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__336__29_8h.html#ac01951f8f16ebf0b7120f083b4c20aab">BIG_336_29_split</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> z, int s)</td></tr>
-<tr class="memdesc:ac01951f8f16ebf0b7120f083b4c20aab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#ac01951f8f16ebf0b7120f083b4c20aab">More...</a><br /></td></tr>
-<tr class="separator:ac01951f8f16ebf0b7120f083b4c20aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae019c2a192bd2b4549f8544b3124985"><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__336__29_8h.html#aae019c2a192bd2b4549f8544b3124985">BIG_336_29_norm</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:aae019c2a192bd2b4549f8544b3124985"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#aae019c2a192bd2b4549f8544b3124985">More...</a><br /></td></tr>
-<tr class="separator:aae019c2a192bd2b4549f8544b3124985"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9adcbfd01df1d2862d4a733a939b83ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a9adcbfd01df1d2862d4a733a939b83ae">BIG_336_29_dnorm</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a9adcbfd01df1d2862d4a733a939b83ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#a9adcbfd01df1d2862d4a733a939b83ae">More...</a><br /></td></tr>
-<tr class="separator:a9adcbfd01df1d2862d4a733a939b83ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a763a715d585c890995a8bbce08988a80"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a763a715d585c890995a8bbce08988a80">BIG_336_29_comp</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a763a715d585c890995a8bbce08988a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a763a715d585c890995a8bbce08988a80">More...</a><br /></td></tr>
-<tr class="separator:a763a715d585c890995a8bbce08988a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adbf7ba2f51fbac9c4fb2943f9f2769da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#adbf7ba2f51fbac9c4fb2943f9f2769da">BIG_336_29_dcomp</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y)</td></tr>
-<tr class="memdesc:adbf7ba2f51fbac9c4fb2943f9f2769da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#adbf7ba2f51fbac9c4fb2943f9f2769da">More...</a><br /></td></tr>
-<tr class="separator:adbf7ba2f51fbac9c4fb2943f9f2769da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb5782ca3aa5769cfa84cd5d470d503a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#afb5782ca3aa5769cfa84cd5d470d503a">BIG_336_29_nbits</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:afb5782ca3aa5769cfa84cd5d470d503a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#afb5782ca3aa5769cfa84cd5d470d503a">More...</a><br /></td></tr>
-<tr class="separator:afb5782ca3aa5769cfa84cd5d470d503a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a2019a072b248c24d0ef0c1bb201954"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a2a2019a072b248c24d0ef0c1bb201954">BIG_336_29_dnbits</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a2a2019a072b248c24d0ef0c1bb201954"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#a2a2019a072b248c24d0ef0c1bb201954">More...</a><br /></td></tr>
-<tr class="separator:a2a2019a072b248c24d0ef0c1bb201954"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4383888885e060ff4298b0535bc1d3c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a4383888885e060ff4298b0535bc1d3c4">BIG_336_29_mod</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a4383888885e060ff4298b0535bc1d3c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#a4383888885e060ff4298b0535bc1d3c4">More...</a><br /></td></tr>
-<tr class="separator:a4383888885e060ff4298b0535bc1d3c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad355509f4c5d76b7fac2865d7a3817ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad355509f4c5d76b7fac2865d7a3817ee">BIG_336_29_sdiv</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:ad355509f4c5d76b7fac2865d7a3817ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#ad355509f4c5d76b7fac2865d7a3817ee">More...</a><br /></td></tr>
-<tr class="separator:ad355509f4c5d76b7fac2865d7a3817ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63200114268a09a55ba435bdd917ba7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a63200114268a09a55ba435bdd917ba7d">BIG_336_29_dmod</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a63200114268a09a55ba435bdd917ba7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a63200114268a09a55ba435bdd917ba7d">More...</a><br /></td></tr>
-<tr class="separator:a63200114268a09a55ba435bdd917ba7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6386d5ef47067541157b93e6edaf7e21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a6386d5ef47067541157b93e6edaf7e21">BIG_336_29_ddiv</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a6386d5ef47067541157b93e6edaf7e21"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a6386d5ef47067541157b93e6edaf7e21">More...</a><br /></td></tr>
-<tr class="separator:a6386d5ef47067541157b93e6edaf7e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b664b937461785b3b32f6ba6fbf4e00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a8b664b937461785b3b32f6ba6fbf4e00">BIG_336_29_parity</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x)</td></tr>
-<tr class="memdesc:a8b664b937461785b3b32f6ba6fbf4e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a8b664b937461785b3b32f6ba6fbf4e00">More...</a><br /></td></tr>
-<tr class="separator:a8b664b937461785b3b32f6ba6fbf4e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad514e47ff474e65b1b5f10ee790e4c13"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ad514e47ff474e65b1b5f10ee790e4c13">BIG_336_29_bit</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int i)</td></tr>
-<tr class="memdesc:ad514e47ff474e65b1b5f10ee790e4c13"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#ad514e47ff474e65b1b5f10ee790e4c13">More...</a><br /></td></tr>
-<tr class="separator:ad514e47ff474e65b1b5f10ee790e4c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab69ef8cd98e2cfec2c896d795afd41fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#ab69ef8cd98e2cfec2c896d795afd41fc">BIG_336_29_lastbits</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int n)</td></tr>
-<tr class="memdesc:ab69ef8cd98e2cfec2c896d795afd41fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#ab69ef8cd98e2cfec2c896d795afd41fc">More...</a><br /></td></tr>
-<tr class="separator:ab69ef8cd98e2cfec2c896d795afd41fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa268dc8d92ea89fd9747df7d6cd56c80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#aa268dc8d92ea89fd9747df7d6cd56c80">BIG_336_29_random</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:aa268dc8d92ea89fd9747df7d6cd56c80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#aa268dc8d92ea89fd9747df7d6cd56c80">More...</a><br /></td></tr>
-<tr class="separator:aa268dc8d92ea89fd9747df7d6cd56c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e580dd237aa3ccc3c30da5f17cb25c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a0e580dd237aa3ccc3c30da5f17cb25c8">BIG_336_29_randomnum</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a0e580dd237aa3ccc3c30da5f17cb25c8"><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="#a0e580dd237aa3ccc3c30da5f17cb25c8">More...</a><br /></td></tr>
-<tr class="separator:a0e580dd237aa3ccc3c30da5f17cb25c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a24e62b683fa847940386e56891aa601c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a24e62b683fa847940386e56891aa601c">BIG_336_29_modmul</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a24e62b683fa847940386e56891aa601c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a24e62b683fa847940386e56891aa601c">More...</a><br /></td></tr>
-<tr class="separator:a24e62b683fa847940386e56891aa601c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a99a30e1d14f7e17d15108df3f1deaf65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a99a30e1d14f7e17d15108df3f1deaf65">BIG_336_29_moddiv</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a99a30e1d14f7e17d15108df3f1deaf65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a99a30e1d14f7e17d15108df3f1deaf65">More...</a><br /></td></tr>
-<tr class="separator:a99a30e1d14f7e17d15108df3f1deaf65"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7418873bde193b2ae00ca12bb1bd72d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a7418873bde193b2ae00ca12bb1bd72d0">BIG_336_29_modsqr</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a7418873bde193b2ae00ca12bb1bd72d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a7418873bde193b2ae00ca12bb1bd72d0">More...</a><br /></td></tr>
-<tr class="separator:a7418873bde193b2ae00ca12bb1bd72d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c2940f39feede18db26b83eb155ac4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a5c2940f39feede18db26b83eb155ac4c">BIG_336_29_modneg</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a5c2940f39feede18db26b83eb155ac4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a5c2940f39feede18db26b83eb155ac4c">More...</a><br /></td></tr>
-<tr class="separator:a5c2940f39feede18db26b83eb155ac4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9426091077ed3d20296520250682323d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a9426091077ed3d20296520250682323d">BIG_336_29_jacobi</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y)</td></tr>
-<tr class="memdesc:a9426091077ed3d20296520250682323d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#a9426091077ed3d20296520250682323d">More...</a><br /></td></tr>
-<tr class="separator:a9426091077ed3d20296520250682323d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c0b44e1207e320b6167a9254f321ab1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a5c0b44e1207e320b6167a9254f321ab1">BIG_336_29_invmodp</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y, <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> n)</td></tr>
-<tr class="memdesc:a5c0b44e1207e320b6167a9254f321ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a5c0b44e1207e320b6167a9254f321ab1">More...</a><br /></td></tr>
-<tr class="separator:a5c0b44e1207e320b6167a9254f321ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adcb3a172848c6450b152887f2fd8b523"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#adcb3a172848c6450b152887f2fd8b523">BIG_336_29_mod2m</a> (<a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x, int m)</td></tr>
-<tr class="memdesc:adcb3a172848c6450b152887f2fd8b523"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#adcb3a172848c6450b152887f2fd8b523">More...</a><br /></td></tr>
-<tr class="separator:adcb3a172848c6450b152887f2fd8b523"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a777bbea4f90ee4bfd54c76036223f70f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html#a777bbea4f90ee4bfd54c76036223f70f">BIG_336_29_dmod2m</a> (<a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x, int m)</td></tr>
-<tr class="memdesc:a777bbea4f90ee4bfd54c76036223f70f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a777bbea4f90ee4bfd54c76036223f70f">More...</a><br /></td></tr>
-<tr class="separator:a777bbea4f90ee4bfd54c76036223f70f"><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="a387bb8aca1a20d3a37bdc32c5d62fb19"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a387bb8aca1a20d3a37bdc32c5d62fb19">&#9670;&nbsp;</a></span>BIGBITS_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_336_29&#160;&#160;&#160;(8*<a class="el" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">MODBYTES_336_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="ad85064af77fbac212dd37ff15c9d594f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad85064af77fbac212dd37ff15c9d594f">&#9670;&nbsp;</a></span>BMASK_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_336_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="a505c0645884488f027436579943cf995"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a505c0645884488f027436579943cf995">&#9670;&nbsp;</a></span>DNLEN_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_336_29&#160;&#160;&#160;2*<a class="el" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="ad3015fbe7576b1f8d714639562ea3b1c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad3015fbe7576b1f8d714639562ea3b1c">&#9670;&nbsp;</a></span>HBITS_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_336_29&#160;&#160;&#160;(<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="ae7f9f778c19308c583d28d1c040e38e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae7f9f778c19308c583d28d1c040e38e8">&#9670;&nbsp;</a></span>HMASK_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_336_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a07f6d3a4d4c0bd5724e65181ab517d2c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a07f6d3a4d4c0bd5724e65181ab517d2c">&#9670;&nbsp;</a></span>NEXCESS_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_336_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</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="a8b14578e59aabea47a378405513d004a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8b14578e59aabea47a378405513d004a">&#9670;&nbsp;</a></span>NLEN_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_336_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">MODBYTES_336_29</a>-1)/<a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a89edacff8a53658296ebf4e37a96beb1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a89edacff8a53658296ebf4e37a96beb1">&#9670;&nbsp;</a></span>BIG_336_29</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_336_29[<a class="el" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a16a4d062e83884ebcc64eb5f802809c9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16a4d062e83884ebcc64eb5f802809c9">&#9670;&nbsp;</a></span>DBIG_336_29</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_336_29[<a class="el" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">DNLEN_336_29</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="a75c1d8be1ba70f7f4475ead6a5f43af0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a75c1d8be1ba70f7f4475ead6a5f43af0">&#9670;&nbsp;</a></span>BIG_336_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ad514e47ff474e65b1b5f10ee790e4c13"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad514e47ff474e65b1b5f10ee790e4c13">&#9670;&nbsp;</a></span>BIG_336_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a34ec564848369556a4b02dcc01f9ca04"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a34ec564848369556a4b02dcc01f9ca04">&#9670;&nbsp;</a></span>BIG_336_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a763a715d585c890995a8bbce08988a80"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a763a715d585c890995a8bbce08988a80">&#9670;&nbsp;</a></span>BIG_336_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a6c4af364650172b17df2e7e0930e666f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6c4af364650172b17df2e7e0930e666f">&#9670;&nbsp;</a></span>BIG_336_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a3e973afced1de79a5d3a283ae5b271af"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3e973afced1de79a5d3a283ae5b271af">&#9670;&nbsp;</a></span>BIG_336_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="aeabd48c0ad271c023797578103ac840e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeabd48c0ad271c023797578103ac840e">&#9670;&nbsp;</a></span>BIG_336_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="ae9c08f62fd328bb248328dcf3837b134"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae9c08f62fd328bb248328dcf3837b134">&#9670;&nbsp;</a></span>BIG_336_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="adbf7ba2f51fbac9c4fb2943f9f2769da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adbf7ba2f51fbac9c4fb2943f9f2769da">&#9670;&nbsp;</a></span>BIG_336_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a244e69d514f07e515b3473380595b10d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a244e69d514f07e515b3473380595b10d">&#9670;&nbsp;</a></span>BIG_336_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a6386d5ef47067541157b93e6edaf7e21"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6386d5ef47067541157b93e6edaf7e21">&#9670;&nbsp;</a></span>BIG_336_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ad2b49abad8d092e55c30ee6a54e56ff5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad2b49abad8d092e55c30ee6a54e56ff5">&#9670;&nbsp;</a></span>BIG_336_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a20861abd6145ea8dbadd9ff84af2dea1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a20861abd6145ea8dbadd9ff84af2dea1">&#9670;&nbsp;</a></span>BIG_336_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a9509b0dc8baeda5dc8c20b32dff94ad4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9509b0dc8baeda5dc8c20b32dff94ad4">&#9670;&nbsp;</a></span>BIG_336_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a51ba250655520120124160cc87e0424b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a51ba250655520120124160cc87e0424b">&#9670;&nbsp;</a></span>BIG_336_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a63200114268a09a55ba435bdd917ba7d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a63200114268a09a55ba435bdd917ba7d">&#9670;&nbsp;</a></span>BIG_336_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a777bbea4f90ee4bfd54c76036223f70f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a777bbea4f90ee4bfd54c76036223f70f">&#9670;&nbsp;</a></span>BIG_336_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a2a2019a072b248c24d0ef0c1bb201954"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2a2019a072b248c24d0ef0c1bb201954">&#9670;&nbsp;</a></span>BIG_336_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a9adcbfd01df1d2862d4a733a939b83ae"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9adcbfd01df1d2862d4a733a939b83ae">&#9670;&nbsp;</a></span>BIG_336_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="aa481a2e2eab1f3187f8780c294e7d9fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa481a2e2eab1f3187f8780c294e7d9fb">&#9670;&nbsp;</a></span>BIG_336_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="ad1b50365cb7eddcbec5ce1c7922c5475"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad1b50365cb7eddcbec5ce1c7922c5475">&#9670;&nbsp;</a></span>BIG_336_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a7b4f65976a9cc91ba58144fa44bb7177"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7b4f65976a9cc91ba58144fa44bb7177">&#9670;&nbsp;</a></span>BIG_336_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a71f283cfb6248804db064fea30190cc5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a71f283cfb6248804db064fea30190cc5">&#9670;&nbsp;</a></span>BIG_336_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a2c5eca3ca53299e19f5b2cfb026af42f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2c5eca3ca53299e19f5b2cfb026af42f">&#9670;&nbsp;</a></span>BIG_336_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="aaec1f3921b23e1646dcec6938c8edf99"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaec1f3921b23e1646dcec6938c8edf99">&#9670;&nbsp;</a></span>BIG_336_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a3c1b26f91d75cc611fd12dd3808ae8ca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3c1b26f91d75cc611fd12dd3808ae8ca">&#9670;&nbsp;</a></span>BIG_336_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="aa12e7e0bd105f263877e1c347d7eccd1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa12e7e0bd105f263877e1c347d7eccd1">&#9670;&nbsp;</a></span>BIG_336_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a966fa27a1ed84d09b8411bd82519072f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a966fa27a1ed84d09b8411bd82519072f">&#9670;&nbsp;</a></span>BIG_336_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ac912d49447a466dcf1d5f85a6e14f336"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac912d49447a466dcf1d5f85a6e14f336">&#9670;&nbsp;</a></span>BIG_336_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a1fb372329a67a713aa3e66a7f5ce7335"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1fb372329a67a713aa3e66a7f5ce7335">&#9670;&nbsp;</a></span>BIG_336_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="af781f798c463ac6403dd9a363772ea0a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af781f798c463ac6403dd9a363772ea0a">&#9670;&nbsp;</a></span>BIG_336_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a5579d667e486744ad3281c318b726fe1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5579d667e486744ad3281c318b726fe1">&#9670;&nbsp;</a></span>BIG_336_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a213286f51d77e52e9e3da344da1fbd88"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a213286f51d77e52e9e3da344da1fbd88">&#9670;&nbsp;</a></span>BIG_336_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="aa6d1cde9525f89fd5a3e549b4a26b6dd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa6d1cde9525f89fd5a3e549b4a26b6dd">&#9670;&nbsp;</a></span>BIG_336_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a5c0b44e1207e320b6167a9254f321ab1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5c0b44e1207e320b6167a9254f321ab1">&#9670;&nbsp;</a></span>BIG_336_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ad6deb8d369b93c4784ff598adbabb224"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad6deb8d369b93c4784ff598adbabb224">&#9670;&nbsp;</a></span>BIG_336_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a230c8d9151ecff0f78b9e12bccdf635e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a230c8d9151ecff0f78b9e12bccdf635e">&#9670;&nbsp;</a></span>BIG_336_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a9426091077ed3d20296520250682323d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9426091077ed3d20296520250682323d">&#9670;&nbsp;</a></span>BIG_336_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ab69ef8cd98e2cfec2c896d795afd41fc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab69ef8cd98e2cfec2c896d795afd41fc">&#9670;&nbsp;</a></span>BIG_336_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a4383888885e060ff4298b0535bc1d3c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4383888885e060ff4298b0535bc1d3c4">&#9670;&nbsp;</a></span>BIG_336_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="adcb3a172848c6450b152887f2fd8b523"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adcb3a172848c6450b152887f2fd8b523">&#9670;&nbsp;</a></span>BIG_336_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a99a30e1d14f7e17d15108df3f1deaf65"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a99a30e1d14f7e17d15108df3f1deaf65">&#9670;&nbsp;</a></span>BIG_336_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a24e62b683fa847940386e56891aa601c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a24e62b683fa847940386e56891aa601c">&#9670;&nbsp;</a></span>BIG_336_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a5c2940f39feede18db26b83eb155ac4c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5c2940f39feede18db26b83eb155ac4c">&#9670;&nbsp;</a></span>BIG_336_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a7418873bde193b2ae00ca12bb1bd72d0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7418873bde193b2ae00ca12bb1bd72d0">&#9670;&nbsp;</a></span>BIG_336_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ae9423918c339248a32cde90059d54bf0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae9423918c339248a32cde90059d54bf0">&#9670;&nbsp;</a></span>BIG_336_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="ad5467c39a0f90dfe7d5382675d80c4af"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad5467c39a0f90dfe7d5382675d80c4af">&#9670;&nbsp;</a></span>BIG_336_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="afb5782ca3aa5769cfa84cd5d470d503a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afb5782ca3aa5769cfa84cd5d470d503a">&#9670;&nbsp;</a></span>BIG_336_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="aae019c2a192bd2b4549f8544b3124985"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aae019c2a192bd2b4549f8544b3124985">&#9670;&nbsp;</a></span>BIG_336_29_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_336_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="aa88f788433edb46e3fce010c675e3ebe"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa88f788433edb46e3fce010c675e3ebe">&#9670;&nbsp;</a></span>BIG_336_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ad5e8219fa6226d669de04ee7bbe82e8a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad5e8219fa6226d669de04ee7bbe82e8a">&#9670;&nbsp;</a></span>BIG_336_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a1ce5cd538831acb1ceaa657dcea7e142"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1ce5cd538831acb1ceaa657dcea7e142">&#9670;&nbsp;</a></span>BIG_336_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a8b664b937461785b3b32f6ba6fbf4e00"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8b664b937461785b3b32f6ba6fbf4e00">&#9670;&nbsp;</a></span>BIG_336_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ae8b0f5ddf0ba8cd8c725c5acb99a465b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae8b0f5ddf0ba8cd8c725c5acb99a465b">&#9670;&nbsp;</a></span>BIG_336_29_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_336_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a6627ad75b1268e62a5f7d88be8014ccd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6627ad75b1268e62a5f7d88be8014ccd">&#9670;&nbsp;</a></span>BIG_336_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="aa268dc8d92ea89fd9747df7d6cd56c80"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa268dc8d92ea89fd9747df7d6cd56c80">&#9670;&nbsp;</a></span>BIG_336_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a0e580dd237aa3ccc3c30da5f17cb25c8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0e580dd237aa3ccc3c30da5f17cb25c8">&#9670;&nbsp;</a></span>BIG_336_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a37a28dbc85f653ddc47e5a0977a83d5b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a37a28dbc85f653ddc47e5a0977a83d5b">&#9670;&nbsp;</a></span>BIG_336_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ab18ce1ef87d290fc6c489a41aa763fbd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab18ce1ef87d290fc6c489a41aa763fbd">&#9670;&nbsp;</a></span>BIG_336_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ad45969a681f02ce92a0fa21fc5ed1c95"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad45969a681f02ce92a0fa21fc5ed1c95">&#9670;&nbsp;</a></span>BIG_336_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="ad355509f4c5d76b7fac2865d7a3817ee"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad355509f4c5d76b7fac2865d7a3817ee">&#9670;&nbsp;</a></span>BIG_336_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a2867c99c42fd61b2a2cd3e4267a4e892"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2867c99c42fd61b2a2cd3e4267a4e892">&#9670;&nbsp;</a></span>BIG_336_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="ad9d73478b62aa9c03c9ed0ee21084ac4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad9d73478b62aa9c03c9ed0ee21084ac4">&#9670;&nbsp;</a></span>BIG_336_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a214e850cd3502a3e115959d4622d815b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a214e850cd3502a3e115959d4622d815b">&#9670;&nbsp;</a></span>BIG_336_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a9c05fe473e5b3b23f505850370dfb4d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9c05fe473e5b3b23f505850370dfb4d5">&#9670;&nbsp;</a></span>BIG_336_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="ac01951f8f16ebf0b7120f083b4c20aab"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac01951f8f16ebf0b7120f083b4c20aab">&#9670;&nbsp;</a></span>BIG_336_29_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_336_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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="a79f4ddd5776131afb411c6b8b7d7853d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a79f4ddd5776131afb411c6b8b7d7853d">&#9670;&nbsp;</a></span>BIG_336_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a7bd8806b8b21c010a9647fac762036d8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7bd8806b8b21c010a9647fac762036d8">&#9670;&nbsp;</a></span>BIG_336_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_336_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a89c1e07d9b8e96b7e971ab5417400335"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a89c1e07d9b8e96b7e971ab5417400335">&#9670;&nbsp;</a></span>BIG_336_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a3f3773dddbaae9d598cf26562718aca4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3f3773dddbaae9d598cf26562718aca4">&#9670;&nbsp;</a></span>BIG_336_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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="a04f38d96c8de1197f3b75032e3e987d2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a04f38d96c8de1197f3b75032e3e987d2">&#9670;&nbsp;</a></span>BIG_336_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_336_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h_source.html b/website/static/cdocs/big__336__29_8h_source.html
deleted file mode 100644
index e6c95f8..0000000
--- a/website/static/cdocs/big__336__29_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_336_29.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_336_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__336__29_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_336_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_336_29_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__336__29_8h.html">config_big_336_29.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__336__29_8h.html#a387bb8aca1a20d3a37bdc32c5d62fb19">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_336_29 (8*MODBYTES_336_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">   40</a></span>&#160;<span class="preprocessor">#define NLEN_336_29 (1+((8*MODBYTES_336_29-1)/BASEBITS_336_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_336_29 2*NLEN_336_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f">   42</a></span>&#160;<span class="preprocessor">#define BMASK_336_29 (((chunk)1&lt;&lt;BASEBITS_336_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__336__29_8h.html#a07f6d3a4d4c0bd5724e65181ab517d2c">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_336_29 (1&lt;&lt;(CHUNK-BASEBITS_336_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">   45</a></span>&#160;<span class="preprocessor">#define HBITS_336_29 (BASEBITS_336_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">   46</a></span>&#160;<span class="preprocessor">#define HMASK_336_29 (((chunk)1&lt;&lt;HBITS_336_29)-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_336_29 NLEN_336_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_336_29 (NLEN_336_29+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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a>[<a class="code" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_336_29 DNLEN_336_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_336_29 (DNLEN_336_29+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__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a>[<a class="code" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">DNLEN_336_29</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__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a>[<a class="code" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a>[<a class="code" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">DNLEN_336_29</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__336__29_8h.html#a230c8d9151ecff0f78b9e12bccdf635e">BIG_336_29_iszilch</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ad6deb8d369b93c4784ff598adbabb224">BIG_336_29_isunity</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a9509b0dc8baeda5dc8c20b32dff94ad4">BIG_336_29_diszilch</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a1ce5cd538831acb1ceaa657dcea7e142">BIG_336_29_output</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a37a28dbc85f653ddc47e5a0977a83d5b">BIG_336_29_rawoutput</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a3e973afced1de79a5d3a283ae5b271af">BIG_336_29_cswap</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a34ec564848369556a4b02dcc01f9ca04">BIG_336_29_cmove</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ae9c08f62fd328bb248328dcf3837b134">BIG_336_29_dcmove</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a3f3773dddbaae9d598cf26562718aca4">BIG_336_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a966fa27a1ed84d09b8411bd82519072f">BIG_336_29_fromBytes</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ac912d49447a466dcf1d5f85a6e14f336">BIG_336_29_fromBytesLen</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a20861abd6145ea8dbadd9ff84af2dea1">BIG_336_29_dfromBytesLen</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#aa481a2e2eab1f3187f8780c294e7d9fb">BIG_336_29_doutput</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#ad1b50365cb7eddcbec5ce1c7922c5475">BIG_336_29_drawoutput</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#ab18ce1ef87d290fc6c489a41aa763fbd">BIG_336_29_rcopy</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<span class="keyword">const</span> <a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a6c4af364650172b17df2e7e0930e666f">BIG_336_29_copy</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a244e69d514f07e515b3473380595b10d">BIG_336_29_dcopy</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a3c1b26f91d75cc611fd12dd3808ae8ca">BIG_336_29_dsucopy</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a7b4f65976a9cc91ba58144fa44bb7177">BIG_336_29_dscopy</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ad45969a681f02ce92a0fa21fc5ed1c95">BIG_336_29_sdcopy</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a2867c99c42fd61b2a2cd3e4267a4e892">BIG_336_29_sducopy</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a04f38d96c8de1197f3b75032e3e987d2">BIG_336_29_zero</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#aa12e7e0bd105f263877e1c347d7eccd1">BIG_336_29_dzero</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#aa88f788433edb46e3fce010c675e3ebe">BIG_336_29_one</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#aa6d1cde9525f89fd5a3e549b4a26b6dd">BIG_336_29_invmod2m</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a75c1d8be1ba70f7f4475ead6a5f43af0">BIG_336_29_add</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ad5e8219fa6226d669de04ee7bbe82e8a">BIG_336_29_or</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a213286f51d77e52e9e3da344da1fbd88">BIG_336_29_inc</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a89c1e07d9b8e96b7e971ab5417400335">BIG_336_29_sub</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ad2b49abad8d092e55c30ee6a54e56ff5">BIG_336_29_dec</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#aeabd48c0ad271c023797578103ac840e">BIG_336_29_dadd</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#aaec1f3921b23e1646dcec6938c8edf99">BIG_336_29_dsub</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a5579d667e486744ad3281c318b726fe1">BIG_336_29_imul</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ae8b0f5ddf0ba8cd8c725c5acb99a465b">BIG_336_29_pmul</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a51ba250655520120124160cc87e0424b">BIG_336_29_div3</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a6627ad75b1268e62a5f7d88be8014ccd">BIG_336_29_pxmul</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ad5467c39a0f90dfe7d5382675d80c4af">BIG_336_29_mul</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a9c05fe473e5b3b23f505850370dfb4d5">BIG_336_29_smul</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a79f4ddd5776131afb411c6b8b7d7853d">BIG_336_29_sqr</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ae9423918c339248a32cde90059d54bf0">BIG_336_29_monty</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> a,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#ad9d73478b62aa9c03c9ed0ee21084ac4">BIG_336_29_shl</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a1fb372329a67a713aa3e66a7f5ce7335">BIG_336_29_fshl</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a71f283cfb6248804db064fea30190cc5">BIG_336_29_dshl</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a214e850cd3502a3e115959d4622d815b">BIG_336_29_shr</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a7bd8806b8b21c010a9647fac762036d8">BIG_336_29_ssn</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> r,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> a, <a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#af781f798c463ac6403dd9a363772ea0a">BIG_336_29_fshr</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a2c5eca3ca53299e19f5b2cfb026af42f">BIG_336_29_dshr</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#ac01951f8f16ebf0b7120f083b4c20aab">BIG_336_29_split</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#aae019c2a192bd2b4549f8544b3124985">BIG_336_29_norm</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a9adcbfd01df1d2862d4a733a939b83ae">BIG_336_29_dnorm</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a763a715d585c890995a8bbce08988a80">BIG_336_29_comp</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#adbf7ba2f51fbac9c4fb2943f9f2769da">BIG_336_29_dcomp</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#afb5782ca3aa5769cfa84cd5d470d503a">BIG_336_29_nbits</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a2a2019a072b248c24d0ef0c1bb201954">BIG_336_29_dnbits</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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__336__29_8h.html#a4383888885e060ff4298b0535bc1d3c4">BIG_336_29_mod</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ad355509f4c5d76b7fac2865d7a3817ee">BIG_336_29_sdiv</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a63200114268a09a55ba435bdd917ba7d">BIG_336_29_dmod</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a6386d5ef47067541157b93e6edaf7e21">BIG_336_29_ddiv</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a8b664b937461785b3b32f6ba6fbf4e00">BIG_336_29_parity</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ad514e47ff474e65b1b5f10ee790e4c13">BIG_336_29_bit</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#ab69ef8cd98e2cfec2c896d795afd41fc">BIG_336_29_lastbits</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#aa268dc8d92ea89fd9747df7d6cd56c80">BIG_336_29_random</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a0e580dd237aa3ccc3c30da5f17cb25c8">BIG_336_29_randomnum</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a24e62b683fa847940386e56891aa601c">BIG_336_29_modmul</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a99a30e1d14f7e17d15108df3f1deaf65">BIG_336_29_moddiv</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> z,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a7418873bde193b2ae00ca12bb1bd72d0">BIG_336_29_modsqr</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a5c2940f39feede18db26b83eb155ac4c">BIG_336_29_modneg</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a9426091077ed3d20296520250682323d">BIG_336_29_jacobi</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a5c0b44e1207e320b6167a9254f321ab1">BIG_336_29_invmodp</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> x,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a> y,<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#adcb3a172848c6450b152887f2fd8b523">BIG_336_29_mod2m</a>(<a class="code" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</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__336__29_8h.html#a777bbea4f90ee4bfd54c76036223f70f">BIG_336_29_dmod2m</a>(<a class="code" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</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_336_29(<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__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f">BMASK_336_29</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__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</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_336_29(<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__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">HMASK_336_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">HMASK_336_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</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__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">HMASK_336_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</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__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f">BMASK_336_29</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__336__29_8h_html_aeabd48c0ad271c023797578103ac840e"><div class="ttname"><a href="big__336__29_8h.html#aeabd48c0ad271c023797578103ac840e">BIG_336_29_dadd</a></div><div class="ttdeci">void BIG_336_29_dadd(DBIG_336_29 x, DBIG_336_29 y, DBIG_336_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:426</div></div>
-<div class="ttc" id="big__336__29_8h_html_adcb3a172848c6450b152887f2fd8b523"><div class="ttname"><a href="big__336__29_8h.html#adcb3a172848c6450b152887f2fd8b523">BIG_336_29_mod2m</a></div><div class="ttdeci">void BIG_336_29_mod2m(BIG_336_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1456</div></div>
-<div class="ttc" id="big__336__29_8h_html_ae9c08f62fd328bb248328dcf3837b134"><div class="ttname"><a href="big__336__29_8h.html#ae9c08f62fd328bb248328dcf3837b134">BIG_336_29_dcmove</a></div><div class="ttdeci">void BIG_336_29_dcmove(BIG_336_29 x, BIG_336_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__336__29_8h_html_ae7f9f778c19308c583d28d1c040e38e8"><div class="ttname"><a href="big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">HMASK_336_29</a></div><div class="ttdeci">#define HMASK_336_29</div><div class="ttdef"><b>Definition:</b> big_336_29.h:46</div></div>
-<div class="ttc" id="big__336__29_8h_html_a1ce5cd538831acb1ceaa657dcea7e142"><div class="ttname"><a href="big__336__29_8h.html#a1ce5cd538831acb1ceaa657dcea7e142">BIG_336_29_output</a></div><div class="ttdeci">void BIG_336_29_output(BIG_336_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:55</div></div>
-<div class="ttc" id="big__336__29_8h_html_a5c2940f39feede18db26b83eb155ac4c"><div class="ttname"><a href="big__336__29_8h.html#a5c2940f39feede18db26b83eb155ac4c">BIG_336_29_modneg</a></div><div class="ttdeci">void BIG_336_29_modneg(BIG_336_29 x, BIG_336_29 y, BIG_336_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1327</div></div>
-<div class="ttc" id="big__336__29_8h_html_a7b4f65976a9cc91ba58144fa44bb7177"><div class="ttname"><a href="big__336__29_8h.html#a7b4f65976a9cc91ba58144fa44bb7177">BIG_336_29_dscopy</a></div><div class="ttdeci">void BIG_336_29_dscopy(DBIG_336_29 x, BIG_336_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:263</div></div>
-<div class="ttc" id="big__336__29_8h_html_a505c0645884488f027436579943cf995"><div class="ttname"><a href="big__336__29_8h.html#a505c0645884488f027436579943cf995">DNLEN_336_29</a></div><div class="ttdeci">#define DNLEN_336_29</div><div class="ttdef"><b>Definition:</b> big_336_29.h:41</div></div>
-<div class="ttc" id="big__336__29_8h_html_a24e62b683fa847940386e56891aa601c"><div class="ttname"><a href="big__336__29_8h.html#a24e62b683fa847940386e56891aa601c">BIG_336_29_modmul</a></div><div class="ttdeci">void BIG_336_29_modmul(BIG_336_29 x, BIG_336_29 y, BIG_336_29 z, BIG_336_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1300</div></div>
-<div class="ttc" id="big__336__29_8h_html_ac912d49447a466dcf1d5f85a6e14f336"><div class="ttname"><a href="big__336__29_8h.html#ac912d49447a466dcf1d5f85a6e14f336">BIG_336_29_fromBytesLen</a></div><div class="ttdeci">void BIG_336_29_fromBytesLen(BIG_336_29 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_336_29.c:170</div></div>
-<div class="ttc" id="config__big__336__29_8h_html_a636ff6768b4963d56be607c9a94ee28e"><div class="ttname"><a href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a></div><div class="ttdeci">#define BASEBITS_336_29</div><div class="ttdef"><b>Definition:</b> config_big_336_29.h:35</div></div>
-<div class="ttc" id="big__336__29_8h_html_a9c05fe473e5b3b23f505850370dfb4d5"><div class="ttname"><a href="big__336__29_8h.html#a9c05fe473e5b3b23f505850370dfb4d5">BIG_336_29_smul</a></div><div class="ttdeci">void BIG_336_29_smul(BIG_336_29 x, BIG_336_29 y, BIG_336_29 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_336_29.c:518</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad5e8219fa6226d669de04ee7bbe82e8a"><div class="ttname"><a href="big__336__29_8h.html#ad5e8219fa6226d669de04ee7bbe82e8a">BIG_336_29_or</a></div><div class="ttdeci">void BIG_336_29_or(BIG_336_29 x, BIG_336_29 y, BIG_336_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:371</div></div>
-<div class="ttc" id="big__336__29_8h_html_ac01951f8f16ebf0b7120f083b4c20aab"><div class="ttname"><a href="big__336__29_8h.html#ac01951f8f16ebf0b7120f083b4c20aab">BIG_336_29_split</a></div><div class="ttdeci">chunk BIG_336_29_split(BIG_336_29 x, BIG_336_29 y, DBIG_336_29 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_336_29.c:932</div></div>
-<div class="ttc" id="big__336__29_8h_html_a6627ad75b1268e62a5f7d88be8014ccd"><div class="ttname"><a href="big__336__29_8h.html#a6627ad75b1268e62a5f7d88be8014ccd">BIG_336_29_pxmul</a></div><div class="ttdeci">void BIG_336_29_pxmul(DBIG_336_29 x, BIG_336_29 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_336_29.c:501</div></div>
-<div class="ttc" id="big__336__29_8h_html_ae9423918c339248a32cde90059d54bf0"><div class="ttname"><a href="big__336__29_8h.html#ae9423918c339248a32cde90059d54bf0">BIG_336_29_monty</a></div><div class="ttdeci">void BIG_336_29_monty(BIG_336_29 a, BIG_336_29 md, chunk MC, DBIG_336_29 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_336_29.c:735</div></div>
-<div class="ttc" id="big__336__29_8h_html_a966fa27a1ed84d09b8411bd82519072f"><div class="ttname"><a href="big__336__29_8h.html#a966fa27a1ed84d09b8411bd82519072f">BIG_336_29_fromBytes</a></div><div class="ttdeci">void BIG_336_29_fromBytes(BIG_336_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:155</div></div>
-<div class="ttc" id="big__336__29_8h_html_a8b664b937461785b3b32f6ba6fbf4e00"><div class="ttname"><a href="big__336__29_8h.html#a8b664b937461785b3b32f6ba6fbf4e00">BIG_336_29_parity</a></div><div class="ttdeci">int BIG_336_29_parity(BIG_336_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1225</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad2b49abad8d092e55c30ee6a54e56ff5"><div class="ttname"><a href="big__336__29_8h.html#ad2b49abad8d092e55c30ee6a54e56ff5">BIG_336_29_dec</a></div><div class="ttdeci">void BIG_336_29_dec(BIG_336_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:440</div></div>
-<div class="ttc" id="big__336__29_8h_html_a244e69d514f07e515b3473380595b10d"><div class="ttname"><a href="big__336__29_8h.html#a244e69d514f07e515b3473380595b10d">BIG_336_29_dcopy</a></div><div class="ttdeci">void BIG_336_29_dcopy(DBIG_336_29 x, DBIG_336_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:251</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad514e47ff474e65b1b5f10ee790e4c13"><div class="ttname"><a href="big__336__29_8h.html#ad514e47ff474e65b1b5f10ee790e4c13">BIG_336_29_bit</a></div><div class="ttdeci">int BIG_336_29_bit(BIG_336_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1232</div></div>
-<div class="ttc" id="big__336__29_8h_html_a9adcbfd01df1d2862d4a733a939b83ae"><div class="ttname"><a href="big__336__29_8h.html#a9adcbfd01df1d2862d4a733a939b83ae">BIG_336_29_dnorm</a></div><div class="ttdeci">void BIG_336_29_dnorm(DBIG_336_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:995</div></div>
-<div class="ttc" id="config__big__336__29_8h_html"><div class="ttname"><a href="config__big__336__29_8h.html">config_big_336_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__336__29_8h_html_ae8b0f5ddf0ba8cd8c725c5acb99a465b"><div class="ttname"><a href="big__336__29_8h.html#ae8b0f5ddf0ba8cd8c725c5acb99a465b">BIG_336_29_pmul</a></div><div class="ttdeci">chunk BIG_336_29_pmul(BIG_336_29 x, BIG_336_29 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_336_29.c:465</div></div>
-<div class="ttc" id="big__336__29_8h_html_a51ba250655520120124160cc87e0424b"><div class="ttname"><a href="big__336__29_8h.html#a51ba250655520120124160cc87e0424b">BIG_336_29_div3</a></div><div class="ttdeci">int BIG_336_29_div3(BIG_336_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:484</div></div>
-<div class="ttc" id="big__336__29_8h_html_a3e973afced1de79a5d3a283ae5b271af"><div class="ttname"><a href="big__336__29_8h.html#a3e973afced1de79a5d3a283ae5b271af">BIG_336_29_cswap</a></div><div class="ttdeci">void BIG_336_29_cswap(BIG_336_29 x, BIG_336_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:92</div></div>
-<div class="ttc" id="big__336__29_8h_html_a16a4d062e83884ebcc64eb5f802809c9"><div class="ttname"><a href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">DBIG_336_29</a></div><div class="ttdeci">chunk DBIG_336_29[DNLEN_336_29]</div><div class="ttdef"><b>Definition:</b> big_336_29.h:59</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad6deb8d369b93c4784ff598adbabb224"><div class="ttname"><a href="big__336__29_8h.html#ad6deb8d369b93c4784ff598adbabb224">BIG_336_29_isunity</a></div><div class="ttdeci">int BIG_336_29_isunity(BIG_336_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:35</div></div>
-<div class="ttc" id="big__336__29_8h_html_ab69ef8cd98e2cfec2c896d795afd41fc"><div class="ttname"><a href="big__336__29_8h.html#ab69ef8cd98e2cfec2c896d795afd41fc">BIG_336_29_lastbits</a></div><div class="ttdeci">int BIG_336_29_lastbits(BIG_336_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1240</div></div>
-<div class="ttc" id="big__336__29_8h_html_a99a30e1d14f7e17d15108df3f1deaf65"><div class="ttname"><a href="big__336__29_8h.html#a99a30e1d14f7e17d15108df3f1deaf65">BIG_336_29_moddiv</a></div><div class="ttdeci">void BIG_336_29_moddiv(BIG_336_29 x, BIG_336_29 y, BIG_336_29 z, BIG_336_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1337</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad9d73478b62aa9c03c9ed0ee21084ac4"><div class="ttname"><a href="big__336__29_8h.html#ad9d73478b62aa9c03c9ed0ee21084ac4">BIG_336_29_shl</a></div><div class="ttdeci">void BIG_336_29_shl(BIG_336_29 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_336_29.c:813</div></div>
-<div class="ttc" id="big__336__29_8h_html_a7418873bde193b2ae00ca12bb1bd72d0"><div class="ttname"><a href="big__336__29_8h.html#a7418873bde193b2ae00ca12bb1bd72d0">BIG_336_29_modsqr</a></div><div class="ttdeci">void BIG_336_29_modsqr(BIG_336_29 x, BIG_336_29 y, BIG_336_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1315</div></div>
-<div class="ttc" id="big__336__29_8h_html_aa481a2e2eab1f3187f8780c294e7d9fb"><div class="ttname"><a href="big__336__29_8h.html#aa481a2e2eab1f3187f8780c294e7d9fb">BIG_336_29_doutput</a></div><div class="ttdeci">void BIG_336_29_doutput(DBIG_336_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:190</div></div>
-<div class="ttc" id="big__336__29_8h_html_a214e850cd3502a3e115959d4622d815b"><div class="ttname"><a href="big__336__29_8h.html#a214e850cd3502a3e115959d4622d815b">BIG_336_29_shr</a></div><div class="ttdeci">void BIG_336_29_shr(BIG_336_29 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_336_29.c:864</div></div>
-<div class="ttc" id="big__336__29_8h_html_af781f798c463ac6403dd9a363772ea0a"><div class="ttname"><a href="big__336__29_8h.html#af781f798c463ac6403dd9a363772ea0a">BIG_336_29_fshr</a></div><div class="ttdeci">int BIG_336_29_fshr(BIG_336_29 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_336_29.c:906</div></div>
-<div class="ttc" id="big__336__29_8h_html_a230c8d9151ecff0f78b9e12bccdf635e"><div class="ttname"><a href="big__336__29_8h.html#a230c8d9151ecff0f78b9e12bccdf635e">BIG_336_29_iszilch</a></div><div class="ttdeci">int BIG_336_29_iszilch(BIG_336_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:26</div></div>
-<div class="ttc" id="big__336__29_8h_html_aa12e7e0bd105f263877e1c347d7eccd1"><div class="ttname"><a href="big__336__29_8h.html#aa12e7e0bd105f263877e1c347d7eccd1">BIG_336_29_dzero</a></div><div class="ttdeci">void BIG_336_29_dzero(DBIG_336_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:329</div></div>
-<div class="ttc" id="big__336__29_8h_html_a777bbea4f90ee4bfd54c76036223f70f"><div class="ttname"><a href="big__336__29_8h.html#a777bbea4f90ee4bfd54c76036223f70f">BIG_336_29_dmod2m</a></div><div class="ttdeci">void BIG_336_29_dmod2m(DBIG_336_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1470</div></div>
-<div class="ttc" id="big__336__29_8h_html_a89c1e07d9b8e96b7e971ab5417400335"><div class="ttname"><a href="big__336__29_8h.html#a89c1e07d9b8e96b7e971ab5417400335">BIG_336_29_sub</a></div><div class="ttdeci">void BIG_336_29_sub(BIG_336_29 x, BIG_336_29 y, BIG_336_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:397</div></div>
-<div class="ttc" id="big__336__29_8h_html_aaec1f3921b23e1646dcec6938c8edf99"><div class="ttname"><a href="big__336__29_8h.html#aaec1f3921b23e1646dcec6938c8edf99">BIG_336_29_dsub</a></div><div class="ttdeci">void BIG_336_29_dsub(DBIG_336_29 x, DBIG_336_29 y, DBIG_336_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:413</div></div>
-<div class="ttc" id="big__336__29_8h_html_a75c1d8be1ba70f7f4475ead6a5f43af0"><div class="ttname"><a href="big__336__29_8h.html#a75c1d8be1ba70f7f4475ead6a5f43af0">BIG_336_29_add</a></div><div class="ttdeci">void BIG_336_29_add(BIG_336_29 x, BIG_336_29 y, BIG_336_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:356</div></div>
-<div class="ttc" id="big__336__29_8h_html_a8b14578e59aabea47a378405513d004a"><div class="ttname"><a href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">NLEN_336_29</a></div><div class="ttdeci">#define NLEN_336_29</div><div class="ttdef"><b>Definition:</b> big_336_29.h:40</div></div>
-<div class="ttc" id="big__336__29_8h_html_ab18ce1ef87d290fc6c489a41aa763fbd"><div class="ttname"><a href="big__336__29_8h.html#ab18ce1ef87d290fc6c489a41aa763fbd">BIG_336_29_rcopy</a></div><div class="ttdeci">void BIG_336_29_rcopy(BIG_336_29 x, const BIG_336_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:239</div></div>
-<div class="ttc" id="big__336__29_8h_html_a37a28dbc85f653ddc47e5a0977a83d5b"><div class="ttname"><a href="big__336__29_8h.html#a37a28dbc85f653ddc47e5a0977a83d5b">BIG_336_29_rawoutput</a></div><div class="ttdeci">void BIG_336_29_rawoutput(BIG_336_29 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_336_29.c:77</div></div>
-<div class="ttc" id="big__336__29_8h_html_a5c0b44e1207e320b6167a9254f321ab1"><div class="ttname"><a href="big__336__29_8h.html#a5c0b44e1207e320b6167a9254f321ab1">BIG_336_29_invmodp</a></div><div class="ttdeci">void BIG_336_29_invmodp(BIG_336_29 x, BIG_336_29 y, BIG_336_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1392</div></div>
-<div class="ttc" id="big__336__29_8h_html_a63200114268a09a55ba435bdd917ba7d"><div class="ttname"><a href="big__336__29_8h.html#a63200114268a09a55ba435bdd917ba7d">BIG_336_29_dmod</a></div><div class="ttdeci">void BIG_336_29_dmod(BIG_336_29 x, DBIG_336_29 y, BIG_336_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1113</div></div>
-<div class="ttc" id="big__336__29_8h_html_aa88f788433edb46e3fce010c675e3ebe"><div class="ttname"><a href="big__336__29_8h.html#aa88f788433edb46e3fce010c675e3ebe">BIG_336_29_one</a></div><div class="ttdeci">void BIG_336_29_one(BIG_336_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_336_29.c:340</div></div>
-<div class="ttc" id="big__336__29_8h_html_a2a2019a072b248c24d0ef0c1bb201954"><div class="ttname"><a href="big__336__29_8h.html#a2a2019a072b248c24d0ef0c1bb201954">BIG_336_29_dnbits</a></div><div class="ttdeci">int BIG_336_29_dnbits(DBIG_336_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1060</div></div>
-<div class="ttc" id="big__336__29_8h_html_a3c1b26f91d75cc611fd12dd3808ae8ca"><div class="ttname"><a href="big__336__29_8h.html#a3c1b26f91d75cc611fd12dd3808ae8ca">BIG_336_29_dsucopy</a></div><div class="ttdeci">void BIG_336_29_dsucopy(DBIG_336_29 x, BIG_336_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:280</div></div>
-<div class="ttc" id="big__336__29_8h_html_aa268dc8d92ea89fd9747df7d6cd56c80"><div class="ttname"><a href="big__336__29_8h.html#aa268dc8d92ea89fd9747df7d6cd56c80">BIG_336_29_random</a></div><div class="ttdeci">void BIG_336_29_random(BIG_336_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1248</div></div>
-<div class="ttc" id="big__336__29_8h_html_a89edacff8a53658296ebf4e37a96beb1"><div class="ttname"><a href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">BIG_336_29</a></div><div class="ttdeci">chunk BIG_336_29[NLEN_336_29]</div><div class="ttdef"><b>Definition:</b> big_336_29.h:58</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad85064af77fbac212dd37ff15c9d594f"><div class="ttname"><a href="big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f">BMASK_336_29</a></div><div class="ttdeci">#define BMASK_336_29</div><div class="ttdef"><b>Definition:</b> big_336_29.h:42</div></div>
-<div class="ttc" id="big__336__29_8h_html_a6386d5ef47067541157b93e6edaf7e21"><div class="ttname"><a href="big__336__29_8h.html#a6386d5ef47067541157b93e6edaf7e21">BIG_336_29_ddiv</a></div><div class="ttdeci">void BIG_336_29_ddiv(BIG_336_29 x, DBIG_336_29 y, BIG_336_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1149</div></div>
-<div class="ttc" id="big__336__29_8h_html_a6c4af364650172b17df2e7e0930e666f"><div class="ttname"><a href="big__336__29_8h.html#a6c4af364650172b17df2e7e0930e666f">BIG_336_29_copy</a></div><div class="ttdeci">void BIG_336_29_copy(BIG_336_29 x, BIG_336_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:227</div></div>
-<div class="ttc" id="big__336__29_8h_html_a04f38d96c8de1197f3b75032e3e987d2"><div class="ttname"><a href="big__336__29_8h.html#a04f38d96c8de1197f3b75032e3e987d2">BIG_336_29_zero</a></div><div class="ttdeci">void BIG_336_29_zero(BIG_336_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:319</div></div>
-<div class="ttc" id="big__336__29_8h_html_a71f283cfb6248804db064fea30190cc5"><div class="ttname"><a href="big__336__29_8h.html#a71f283cfb6248804db064fea30190cc5">BIG_336_29_dshl</a></div><div class="ttdeci">void BIG_336_29_dshl(DBIG_336_29 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_336_29.c:846</div></div>
-<div class="ttc" id="big__336__29_8h_html_afb5782ca3aa5769cfa84cd5d470d503a"><div class="ttname"><a href="big__336__29_8h.html#afb5782ca3aa5769cfa84cd5d470d503a">BIG_336_29_nbits</a></div><div class="ttdeci">int BIG_336_29_nbits(BIG_336_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1040</div></div>
-<div class="ttc" id="big__336__29_8h_html_a763a715d585c890995a8bbce08988a80"><div class="ttname"><a href="big__336__29_8h.html#a763a715d585c890995a8bbce08988a80">BIG_336_29_comp</a></div><div class="ttdeci">int BIG_336_29_comp(BIG_336_29 x, BIG_336_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1014</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad355509f4c5d76b7fac2865d7a3817ee"><div class="ttname"><a href="big__336__29_8h.html#ad355509f4c5d76b7fac2865d7a3817ee">BIG_336_29_sdiv</a></div><div class="ttdeci">void BIG_336_29_sdiv(BIG_336_29 x, BIG_336_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1188</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad5467c39a0f90dfe7d5382675d80c4af"><div class="ttname"><a href="big__336__29_8h.html#ad5467c39a0f90dfe7d5382675d80c4af">BIG_336_29_mul</a></div><div class="ttdeci">void BIG_336_29_mul(DBIG_336_29 x, BIG_336_29 y, BIG_336_29 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_336_29.c:542</div></div>
-<div class="ttc" id="big__336__29_8h_html_aae019c2a192bd2b4549f8544b3124985"><div class="ttname"><a href="big__336__29_8h.html#aae019c2a192bd2b4549f8544b3124985">BIG_336_29_norm</a></div><div class="ttdeci">chunk BIG_336_29_norm(BIG_336_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:976</div></div>
-<div class="ttc" id="big__336__29_8h_html_a9509b0dc8baeda5dc8c20b32dff94ad4"><div class="ttname"><a href="big__336__29_8h.html#a9509b0dc8baeda5dc8c20b32dff94ad4">BIG_336_29_diszilch</a></div><div class="ttdeci">int BIG_336_29_diszilch(DBIG_336_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_336_29.c: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__336__29_8h_html_ad1b50365cb7eddcbec5ce1c7922c5475"><div class="ttname"><a href="big__336__29_8h.html#ad1b50365cb7eddcbec5ce1c7922c5475">BIG_336_29_drawoutput</a></div><div class="ttdeci">void BIG_336_29_drawoutput(DBIG_336_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:212</div></div>
-<div class="ttc" id="big__336__29_8h_html_a0e580dd237aa3ccc3c30da5f17cb25c8"><div class="ttname"><a href="big__336__29_8h.html#a0e580dd237aa3ccc3c30da5f17cb25c8">BIG_336_29_randomnum</a></div><div class="ttdeci">void BIG_336_29_randomnum(BIG_336_29 x, BIG_336_29 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_336_29.c:1274</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__336__29_8h_html_a34ec564848369556a4b02dcc01f9ca04"><div class="ttname"><a href="big__336__29_8h.html#a34ec564848369556a4b02dcc01f9ca04">BIG_336_29_cmove</a></div><div class="ttdeci">void BIG_336_29_cmove(BIG_336_29 x, BIG_336_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:110</div></div>
-<div class="ttc" id="big__336__29_8h_html_a4383888885e060ff4298b0535bc1d3c4"><div class="ttname"><a href="big__336__29_8h.html#a4383888885e060ff4298b0535bc1d3c4">BIG_336_29_mod</a></div><div class="ttdeci">void BIG_336_29_mod(BIG_336_29 x, BIG_336_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1082</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__336__29_8h_html_a20861abd6145ea8dbadd9ff84af2dea1"><div class="ttname"><a href="big__336__29_8h.html#a20861abd6145ea8dbadd9ff84af2dea1">BIG_336_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_336_29_dfromBytesLen(DBIG_336_29 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_336_29.c:1485</div></div>
-<div class="ttc" id="big__336__29_8h_html_a2c5eca3ca53299e19f5b2cfb026af42f"><div class="ttname"><a href="big__336__29_8h.html#a2c5eca3ca53299e19f5b2cfb026af42f">BIG_336_29_dshr</a></div><div class="ttdeci">void BIG_336_29_dshr(DBIG_336_29 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_336_29.c:918</div></div>
-<div class="ttc" id="big__336__29_8h_html_adbf7ba2f51fbac9c4fb2943f9f2769da"><div class="ttname"><a href="big__336__29_8h.html#adbf7ba2f51fbac9c4fb2943f9f2769da">BIG_336_29_dcomp</a></div><div class="ttdeci">int BIG_336_29_dcomp(DBIG_336_29 x, DBIG_336_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1026</div></div>
-<div class="ttc" id="big__336__29_8h_html_a79f4ddd5776131afb411c6b8b7d7853d"><div class="ttname"><a href="big__336__29_8h.html#a79f4ddd5776131afb411c6b8b7d7853d">BIG_336_29_sqr</a></div><div class="ttdeci">void BIG_336_29_sqr(DBIG_336_29 x, BIG_336_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:618</div></div>
-<div class="ttc" id="big__336__29_8h_html_a5579d667e486744ad3281c318b726fe1"><div class="ttname"><a href="big__336__29_8h.html#a5579d667e486744ad3281c318b726fe1">BIG_336_29_imul</a></div><div class="ttdeci">void BIG_336_29_imul(BIG_336_29 x, BIG_336_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:450</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad45969a681f02ce92a0fa21fc5ed1c95"><div class="ttname"><a href="big__336__29_8h.html#ad45969a681f02ce92a0fa21fc5ed1c95">BIG_336_29_sdcopy</a></div><div class="ttdeci">void BIG_336_29_sdcopy(BIG_336_29 x, DBIG_336_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:294</div></div>
-<div class="ttc" id="big__336__29_8h_html_a9426091077ed3d20296520250682323d"><div class="ttname"><a href="big__336__29_8h.html#a9426091077ed3d20296520250682323d">BIG_336_29_jacobi</a></div><div class="ttdeci">int BIG_336_29_jacobi(BIG_336_29 x, BIG_336_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_336_29.c:1354</div></div>
-<div class="ttc" id="big__336__29_8h_html_a3f3773dddbaae9d598cf26562718aca4"><div class="ttname"><a href="big__336__29_8h.html#a3f3773dddbaae9d598cf26562718aca4">BIG_336_29_toBytes</a></div><div class="ttdeci">void BIG_336_29_toBytes(char *a, BIG_336_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:141</div></div>
-<div class="ttc" id="big__336__29_8h_html_a1fb372329a67a713aa3e66a7f5ce7335"><div class="ttname"><a href="big__336__29_8h.html#a1fb372329a67a713aa3e66a7f5ce7335">BIG_336_29_fshl</a></div><div class="ttdeci">int BIG_336_29_fshl(BIG_336_29 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_336_29.c:832</div></div>
-<div class="ttc" id="big__336__29_8h_html_a7bd8806b8b21c010a9647fac762036d8"><div class="ttname"><a href="big__336__29_8h.html#a7bd8806b8b21c010a9647fac762036d8">BIG_336_29_ssn</a></div><div class="ttdeci">int BIG_336_29_ssn(BIG_336_29 r, BIG_336_29 a, BIG_336_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:877</div></div>
-<div class="ttc" id="big__336__29_8h_html_aa6d1cde9525f89fd5a3e549b4a26b6dd"><div class="ttname"><a href="big__336__29_8h.html#aa6d1cde9525f89fd5a3e549b4a26b6dd">BIG_336_29_invmod2m</a></div><div class="ttdeci">void BIG_336_29_invmod2m(BIG_336_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__336__29_8h_html_a2867c99c42fd61b2a2cd3e4267a4e892"><div class="ttname"><a href="big__336__29_8h.html#a2867c99c42fd61b2a2cd3e4267a4e892">BIG_336_29_sducopy</a></div><div class="ttdeci">void BIG_336_29_sducopy(BIG_336_29 x, DBIG_336_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:306</div></div>
-<div class="ttc" id="big__336__29_8h_html_ad3015fbe7576b1f8d714639562ea3b1c"><div class="ttname"><a href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">HBITS_336_29</a></div><div class="ttdeci">#define HBITS_336_29</div><div class="ttdef"><b>Definition:</b> big_336_29.h:45</div></div>
-<div class="ttc" id="big__336__29_8h_html_a213286f51d77e52e9e3da344da1fbd88"><div class="ttname"><a href="big__336__29_8h.html#a213286f51d77e52e9e3da344da1fbd88">BIG_336_29_inc</a></div><div class="ttdeci">void BIG_336_29_inc(BIG_336_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_29.c:386</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__336__60_8h.html b/website/static/cdocs/big__336__60_8h.html
index 4e77628..88356e5 100644
--- a/website/static/cdocs/big__336__60_8h.html
+++ b/website/static/cdocs/big__336__60_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_336_60.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="a01cdeeca257bdfd863966f618cce8f25"></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="ad06a4d1ded09f6a3c715dbf40b202fa6"></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__336__60_8h_source.html b/website/static/cdocs/big__336__60_8h_source.html
index 4607864..58e7d0e 100644
--- a/website/static/cdocs/big__336__60_8h_source.html
+++ b/website/static/cdocs/big__336__60_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_336_60.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_336_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__336__60_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_336_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_336_60_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__336__60_8h.html">config_big_336_60.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__336__60_8h.html#a3f52e43a01b810e38e5ef9ba558a23cb">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_336_60 (8*MODBYTES_336_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">   40</a></span>&#160;<span class="preprocessor">#define NLEN_336_60 (1+((8*MODBYTES_336_60-1)/BASEBITS_336_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_336_60 2*NLEN_336_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">   42</a></span>&#160;<span class="preprocessor">#define BMASK_336_60 (((chunk)1&lt;&lt;BASEBITS_336_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#ae3e8977ecd7ecde394e2b4aa9e632dfb">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_336_60 (1&lt;&lt;(CHUNK-BASEBITS_336_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">   45</a></span>&#160;<span class="preprocessor">#define HBITS_336_60 (BASEBITS_336_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a11943313ab42b453d55d266c55c51518">   46</a></span>&#160;<span class="preprocessor">#define HMASK_336_60 (((chunk)1&lt;&lt;HBITS_336_60)-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_336_60 NLEN_336_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_336_60 (NLEN_336_60+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__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>[<a class="code" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">NLEN_336_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_336_60 DNLEN_336_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_336_60 (DNLEN_336_60+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__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a>[<a class="code" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">DNLEN_336_60</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__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>[<a class="code" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">NLEN_336_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a>[<a class="code" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">DNLEN_336_60</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__336__60_8h.html#ad2fdb06120298ceb0a05dfb3b9cf7ec9">BIG_336_60_iszilch</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a6110ea9f4eb7f2c2b149811811498c2d">BIG_336_60_isunity</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ae27bd00b39985d05559052594f64f73f">BIG_336_60_diszilch</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a10ed23a539989365141b79d6c5c0646f">BIG_336_60_output</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac6322e35950d16e663ad1b32e1a1ba70">BIG_336_60_rawoutput</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac7314ad73bf8d827ae131376253a9c2d">BIG_336_60_cswap</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a22be022a62a8e282a902e5f55a110044">BIG_336_60_cmove</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac6f36800bcc75556f7b8c2f5f13e5142">BIG_336_60_dcmove</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af57d9134bdb184783baba00ca655c68f">BIG_336_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0c3c071fd382b7f26aaa916d4041062f">BIG_336_60_fromBytes</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ace8ee13e612b9f20ae7bc2d01e522627">BIG_336_60_fromBytesLen</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a41bc32aed1c711f75fc1899b3093ff1c">BIG_336_60_dfromBytesLen</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a7a9c0abe6ae3dc699e0d15624066bf5e">BIG_336_60_doutput</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a18fe5cc52c356d53cbf4ff5063284f24">BIG_336_60_drawoutput</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a2faf9a3077c06ce3a7bcba6ca139df67">BIG_336_60_rcopy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aa1721857bbc3ff137c24e5baaeaa5bce">BIG_336_60_copy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a63c7af0fa85602050c767389275ffa55">BIG_336_60_dcopy</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a6b90631f2c3fffb0dfa97e0c655b05ca">BIG_336_60_dsucopy</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac2df0a3d44c4e8e84757ec11d722a8c0">BIG_336_60_dscopy</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4ed446fc2420de7fc378d22364fc9bb4">BIG_336_60_sdcopy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ab52e629f6cb19193d0bccac07dc35b7f">BIG_336_60_sducopy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f">BIG_336_60_zero</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a3ff3859219ae22cb05263be8f347208f">BIG_336_60_dzero</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ae9ba45a626ce6f9df1db95c621454402">BIG_336_60_one</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c">BIG_336_60_invmod2m</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a6fd779dd5a3c29408daad6706fa2af96">BIG_336_60_add</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a50e2c8aee9357b3097fe5f99e248cc3f">BIG_336_60_or</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a9e50880f7150af10b54c5b8be27d6ef7">BIG_336_60_inc</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4e0852f724706e43c0e2d2e00832a79e">BIG_336_60_sub</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af1283bb51906451dba7843b4e2d90a10">BIG_336_60_dec</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ae6b2075c2f345e8cf099b9728fca2e93">BIG_336_60_dadd</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ae236801f7296b77a8b44b24c1c99144a">BIG_336_60_dsub</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#aab0c9a28410127cb2bf1b18fadba2758">BIG_336_60_imul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a499b35972f2a591692ba338f2d82e59d">BIG_336_60_pmul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aa0a26045bfa5350d39fe5b6fb9bc9fcc">BIG_336_60_div3</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ab12935b6defd7ac4daface8d5c957602">BIG_336_60_pxmul</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a082c280b1c5911cd89e5a6c8cddc8fff">BIG_336_60_mul</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a1f1a7c3a55986cde5f711f9965748bdb">BIG_336_60_smul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4b2f503b18764049b49a088c691a1c88">BIG_336_60_sqr</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aee9c3f30b1db361a625d402f20d86de7">BIG_336_60_monty</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> a,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ae103370dfd2be79b88415c94f6396c87">BIG_336_60_shl</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a406e86c8f10b5524f863634052c7a7a2">BIG_336_60_fshl</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0c36e399b07f9d22d930d47631cc926b">BIG_336_60_dshl</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a4e52f03c2a7b70f2e913c1d91d9b449f">BIG_336_60_shr</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a5ca003567baa4d198d4a79aa48e1bf4d">BIG_336_60_ssn</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> r,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> a, <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a302bb3ec86e68b5e47efcd092ce74d6b">BIG_336_60_fshr</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a2348403c3493299ba4e8aeea388e6e91">BIG_336_60_dshr</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#aab90c4639b0228f0350ca1b0684a7991">BIG_336_60_split</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a5a09394cbdf1d93a52fcef9297654bc4">BIG_336_60_norm</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a3823984b5191998da6eb5a518fd5863e">BIG_336_60_dnorm</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#abccd1c61be187dfdf63333df2b515960">BIG_336_60_comp</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4580e3db1eb48c6ea8374325bcb063ad">BIG_336_60_dcomp</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a5cdd19c5643e493a3abe4351597201fd">BIG_336_60_nbits</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a01cdeeca257bdfd863966f618cce8f25">BIG_336_60_dnbits</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a05a276f16977ae960980b29e4bb79b82">BIG_336_60_mod</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aff59c75662a0f7b99cbdb80b315f8a0f">BIG_336_60_sdiv</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#afac8c4580d3641124cc1d72b2a39411a">BIG_336_60_dmod</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af5ec673f29c9b38a42301e8fd083df7a">BIG_336_60_ddiv</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0ccd22659e53e4bf4d430fd65cdc9591">BIG_336_60_parity</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a6fbd613871b8a2f6e941f4430f5300c0">BIG_336_60_bit</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a15d5db06de7e63d6df3ecf27570f88bd">BIG_336_60_lastbits</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a04cd8e072ce3ede750dc3f34b9eee28b">BIG_336_60_random</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aa4b640bfecebae2728ad7a6f3a072245">BIG_336_60_randomnum</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ae025a0109ec324bc9183f5e849b2116d">BIG_336_60_modmul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> z,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ad06a4d1ded09f6a3c715dbf40b202fa6">BIG_336_60_moddiv</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> z,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a1a6176e7a9c243790e85acad8ad81c2b">BIG_336_60_modsqr</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0ee9bf8e449e1d4b9209ace9b636ad8a">BIG_336_60_modneg</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aead7f42505054b341f2f0ad5a34c8aca">BIG_336_60_jacobi</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a2ea32ae9b84ac45118f6a5bdb361535b">BIG_336_60_invmodp</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af332472a6669c85459cc6f00bd462f9e">BIG_336_60_mod2m</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a9f3b5ca05545275d66e276996f40f92b">BIG_336_60_dmod2m</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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_336_60(<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__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">BMASK_336_60</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__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">BASEBITS_336_60</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_336_60(<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__336__60_8h.html#a11943313ab42b453d55d266c55c51518">HMASK_336_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__336__60_8h.html#a11943313ab42b453d55d266c55c51518">HMASK_336_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</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__336__60_8h.html#a11943313ab42b453d55d266c55c51518">HMASK_336_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</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__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">BASEBITS_336_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">BMASK_336_60</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__336__60_8h_html_aa0a26045bfa5350d39fe5b6fb9bc9fcc"><div class="ttname"><a href="big__336__60_8h.html#aa0a26045bfa5350d39fe5b6fb9bc9fcc">BIG_336_60_div3</a></div><div class="ttdeci">int BIG_336_60_div3(BIG_336_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:484</div></div>
-<div class="ttc" id="big__336__60_8h_html_a3823984b5191998da6eb5a518fd5863e"><div class="ttname"><a href="big__336__60_8h.html#a3823984b5191998da6eb5a518fd5863e">BIG_336_60_dnorm</a></div><div class="ttdeci">void BIG_336_60_dnorm(DBIG_336_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:995</div></div>
-<div class="ttc" id="config__big__336__60_8h_html"><div class="ttname"><a href="config__big__336__60_8h.html">config_big_336_60.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__336__60_8h_html_ae103370dfd2be79b88415c94f6396c87"><div class="ttname"><a href="big__336__60_8h.html#ae103370dfd2be79b88415c94f6396c87">BIG_336_60_shl</a></div><div class="ttdeci">void BIG_336_60_shl(BIG_336_60 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_336_60.c:813</div></div>
-<div class="ttc" id="big__336__60_8h_html_a5a09394cbdf1d93a52fcef9297654bc4"><div class="ttname"><a href="big__336__60_8h.html#a5a09394cbdf1d93a52fcef9297654bc4">BIG_336_60_norm</a></div><div class="ttdeci">chunk BIG_336_60_norm(BIG_336_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:976</div></div>
-<div class="ttc" id="big__336__60_8h_html_abccd1c61be187dfdf63333df2b515960"><div class="ttname"><a href="big__336__60_8h.html#abccd1c61be187dfdf63333df2b515960">BIG_336_60_comp</a></div><div class="ttdeci">int BIG_336_60_comp(BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1014</div></div>
-<div class="ttc" id="big__336__60_8h_html_a4e52f03c2a7b70f2e913c1d91d9b449f"><div class="ttname"><a href="big__336__60_8h.html#a4e52f03c2a7b70f2e913c1d91d9b449f">BIG_336_60_shr</a></div><div class="ttdeci">void BIG_336_60_shr(BIG_336_60 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_336_60.c:864</div></div>
-<div class="ttc" id="big__336__60_8h_html_a2348403c3493299ba4e8aeea388e6e91"><div class="ttname"><a href="big__336__60_8h.html#a2348403c3493299ba4e8aeea388e6e91">BIG_336_60_dshr</a></div><div class="ttdeci">void BIG_336_60_dshr(DBIG_336_60 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_336_60.c:918</div></div>
-<div class="ttc" id="big__336__60_8h_html_ac7314ad73bf8d827ae131376253a9c2d"><div class="ttname"><a href="big__336__60_8h.html#ac7314ad73bf8d827ae131376253a9c2d">BIG_336_60_cswap</a></div><div class="ttdeci">void BIG_336_60_cswap(BIG_336_60 x, BIG_336_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:92</div></div>
-<div class="ttc" id="big__336__60_8h_html_a6110ea9f4eb7f2c2b149811811498c2d"><div class="ttname"><a href="big__336__60_8h.html#a6110ea9f4eb7f2c2b149811811498c2d">BIG_336_60_isunity</a></div><div class="ttdeci">int BIG_336_60_isunity(BIG_336_60 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:35</div></div>
+<a href="big__336__60_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_336_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_336_60_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__336__60_8h.html">config_big_336_60.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__336__60_8h.html#a3f52e43a01b810e38e5ef9ba558a23cb">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_336_60 (8*MODBYTES_336_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">   40</a></span>&#160;<span class="preprocessor">#define NLEN_336_60 (1+((8*MODBYTES_336_60-1)/BASEBITS_336_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_336_60 2*NLEN_336_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">   42</a></span>&#160;<span class="preprocessor">#define BMASK_336_60 (((chunk)1&lt;&lt;BASEBITS_336_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#ae3e8977ecd7ecde394e2b4aa9e632dfb">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_336_60 (1&lt;&lt;(CHUNK-BASEBITS_336_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">   45</a></span>&#160;<span class="preprocessor">#define HBITS_336_60 (BASEBITS_336_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a11943313ab42b453d55d266c55c51518">   46</a></span>&#160;<span class="preprocessor">#define HMASK_336_60 (((chunk)1&lt;&lt;HBITS_336_60)-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_336_60 NLEN_336_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_336_60 (NLEN_336_60+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__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>[<a class="code" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">NLEN_336_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_336_60 DNLEN_336_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_336_60 (DNLEN_336_60+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__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a>[<a class="code" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">DNLEN_336_60</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__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>[<a class="code" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">NLEN_336_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a>[<a class="code" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">DNLEN_336_60</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__336__60_8h.html#ad2fdb06120298ceb0a05dfb3b9cf7ec9">BIG_336_60_iszilch</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a6110ea9f4eb7f2c2b149811811498c2d">BIG_336_60_isunity</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ae27bd00b39985d05559052594f64f73f">BIG_336_60_diszilch</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a10ed23a539989365141b79d6c5c0646f">BIG_336_60_output</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac6322e35950d16e663ad1b32e1a1ba70">BIG_336_60_rawoutput</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac7314ad73bf8d827ae131376253a9c2d">BIG_336_60_cswap</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a22be022a62a8e282a902e5f55a110044">BIG_336_60_cmove</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac6f36800bcc75556f7b8c2f5f13e5142">BIG_336_60_dcmove</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af57d9134bdb184783baba00ca655c68f">BIG_336_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0c3c071fd382b7f26aaa916d4041062f">BIG_336_60_fromBytes</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ace8ee13e612b9f20ae7bc2d01e522627">BIG_336_60_fromBytesLen</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a41bc32aed1c711f75fc1899b3093ff1c">BIG_336_60_dfromBytesLen</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a7a9c0abe6ae3dc699e0d15624066bf5e">BIG_336_60_doutput</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a18fe5cc52c356d53cbf4ff5063284f24">BIG_336_60_drawoutput</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a2faf9a3077c06ce3a7bcba6ca139df67">BIG_336_60_rcopy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aa1721857bbc3ff137c24e5baaeaa5bce">BIG_336_60_copy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a63c7af0fa85602050c767389275ffa55">BIG_336_60_dcopy</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a6b90631f2c3fffb0dfa97e0c655b05ca">BIG_336_60_dsucopy</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ac2df0a3d44c4e8e84757ec11d722a8c0">BIG_336_60_dscopy</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4ed446fc2420de7fc378d22364fc9bb4">BIG_336_60_sdcopy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ab52e629f6cb19193d0bccac07dc35b7f">BIG_336_60_sducopy</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f">BIG_336_60_zero</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a3ff3859219ae22cb05263be8f347208f">BIG_336_60_dzero</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ae9ba45a626ce6f9df1db95c621454402">BIG_336_60_one</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c">BIG_336_60_invmod2m</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a6fd779dd5a3c29408daad6706fa2af96">BIG_336_60_add</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a50e2c8aee9357b3097fe5f99e248cc3f">BIG_336_60_or</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a9e50880f7150af10b54c5b8be27d6ef7">BIG_336_60_inc</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4e0852f724706e43c0e2d2e00832a79e">BIG_336_60_sub</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af1283bb51906451dba7843b4e2d90a10">BIG_336_60_dec</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ae6b2075c2f345e8cf099b9728fca2e93">BIG_336_60_dadd</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ae236801f7296b77a8b44b24c1c99144a">BIG_336_60_dsub</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#aab0c9a28410127cb2bf1b18fadba2758">BIG_336_60_imul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a499b35972f2a591692ba338f2d82e59d">BIG_336_60_pmul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aa0a26045bfa5350d39fe5b6fb9bc9fcc">BIG_336_60_div3</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ab12935b6defd7ac4daface8d5c957602">BIG_336_60_pxmul</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a082c280b1c5911cd89e5a6c8cddc8fff">BIG_336_60_mul</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a1f1a7c3a55986cde5f711f9965748bdb">BIG_336_60_smul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4b2f503b18764049b49a088c691a1c88">BIG_336_60_sqr</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aee9c3f30b1db361a625d402f20d86de7">BIG_336_60_monty</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> a,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#ae103370dfd2be79b88415c94f6396c87">BIG_336_60_shl</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a406e86c8f10b5524f863634052c7a7a2">BIG_336_60_fshl</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0c36e399b07f9d22d930d47631cc926b">BIG_336_60_dshl</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a4e52f03c2a7b70f2e913c1d91d9b449f">BIG_336_60_shr</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a5ca003567baa4d198d4a79aa48e1bf4d">BIG_336_60_ssn</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> r,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> a, <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a302bb3ec86e68b5e47efcd092ce74d6b">BIG_336_60_fshr</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a2348403c3493299ba4e8aeea388e6e91">BIG_336_60_dshr</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#aab90c4639b0228f0350ca1b0684a7991">BIG_336_60_split</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a5a09394cbdf1d93a52fcef9297654bc4">BIG_336_60_norm</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a3823984b5191998da6eb5a518fd5863e">BIG_336_60_dnorm</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#abccd1c61be187dfdf63333df2b515960">BIG_336_60_comp</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a4580e3db1eb48c6ea8374325bcb063ad">BIG_336_60_dcomp</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a5cdd19c5643e493a3abe4351597201fd">BIG_336_60_nbits</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a01cdeeca257bdfd863966f618cce8f25">BIG_336_60_dnbits</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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__336__60_8h.html#a05a276f16977ae960980b29e4bb79b82">BIG_336_60_mod</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aff59c75662a0f7b99cbdb80b315f8a0f">BIG_336_60_sdiv</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#afac8c4580d3641124cc1d72b2a39411a">BIG_336_60_dmod</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af5ec673f29c9b38a42301e8fd083df7a">BIG_336_60_ddiv</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0ccd22659e53e4bf4d430fd65cdc9591">BIG_336_60_parity</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a6fbd613871b8a2f6e941f4430f5300c0">BIG_336_60_bit</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a15d5db06de7e63d6df3ecf27570f88bd">BIG_336_60_lastbits</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a04cd8e072ce3ede750dc3f34b9eee28b">BIG_336_60_random</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aa4b640bfecebae2728ad7a6f3a072245">BIG_336_60_randomnum</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ae025a0109ec324bc9183f5e849b2116d">BIG_336_60_modmul</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> z,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#ad06a4d1ded09f6a3c715dbf40b202fa6">BIG_336_60_moddiv</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> z,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a1a6176e7a9c243790e85acad8ad81c2b">BIG_336_60_modsqr</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a0ee9bf8e449e1d4b9209ace9b636ad8a">BIG_336_60_modneg</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#aead7f42505054b341f2f0ad5a34c8aca">BIG_336_60_jacobi</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a2ea32ae9b84ac45118f6a5bdb361535b">BIG_336_60_invmodp</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#af332472a6669c85459cc6f00bd462f9e">BIG_336_60_mod2m</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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__336__60_8h.html#a9f3b5ca05545275d66e276996f40f92b">BIG_336_60_dmod2m</a>(<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</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_336_60(<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__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">BMASK_336_60</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__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">BASEBITS_336_60</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_336_60(<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__336__60_8h.html#a11943313ab42b453d55d266c55c51518">HMASK_336_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__336__60_8h.html#a11943313ab42b453d55d266c55c51518">HMASK_336_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</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__336__60_8h.html#a11943313ab42b453d55d266c55c51518">HMASK_336_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</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__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">BASEBITS_336_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">BMASK_336_60</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__336__60_8h_html_aa0a26045bfa5350d39fe5b6fb9bc9fcc"><div class="ttname"><a href="big__336__60_8h.html#aa0a26045bfa5350d39fe5b6fb9bc9fcc">BIG_336_60_div3</a></div><div class="ttdeci">int BIG_336_60_div3(BIG_336_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:484</div></div>
+<div class="ttc" id="big__336__60_8h_html_a3823984b5191998da6eb5a518fd5863e"><div class="ttname"><a href="big__336__60_8h.html#a3823984b5191998da6eb5a518fd5863e">BIG_336_60_dnorm</a></div><div class="ttdeci">void BIG_336_60_dnorm(DBIG_336_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:995</div></div>
+<div class="ttc" id="config__big__336__60_8h_html"><div class="ttname"><a href="config__big__336__60_8h.html">config_big_336_60.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__336__60_8h_html_ae103370dfd2be79b88415c94f6396c87"><div class="ttname"><a href="big__336__60_8h.html#ae103370dfd2be79b88415c94f6396c87">BIG_336_60_shl</a></div><div class="ttdeci">void BIG_336_60_shl(BIG_336_60 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_336_60.c:813</div></div>
+<div class="ttc" id="big__336__60_8h_html_a5a09394cbdf1d93a52fcef9297654bc4"><div class="ttname"><a href="big__336__60_8h.html#a5a09394cbdf1d93a52fcef9297654bc4">BIG_336_60_norm</a></div><div class="ttdeci">chunk BIG_336_60_norm(BIG_336_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:976</div></div>
+<div class="ttc" id="big__336__60_8h_html_abccd1c61be187dfdf63333df2b515960"><div class="ttname"><a href="big__336__60_8h.html#abccd1c61be187dfdf63333df2b515960">BIG_336_60_comp</a></div><div class="ttdeci">int BIG_336_60_comp(BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1014</div></div>
+<div class="ttc" id="big__336__60_8h_html_a4e52f03c2a7b70f2e913c1d91d9b449f"><div class="ttname"><a href="big__336__60_8h.html#a4e52f03c2a7b70f2e913c1d91d9b449f">BIG_336_60_shr</a></div><div class="ttdeci">void BIG_336_60_shr(BIG_336_60 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_336_60.c:864</div></div>
+<div class="ttc" id="big__336__60_8h_html_a2348403c3493299ba4e8aeea388e6e91"><div class="ttname"><a href="big__336__60_8h.html#a2348403c3493299ba4e8aeea388e6e91">BIG_336_60_dshr</a></div><div class="ttdeci">void BIG_336_60_dshr(DBIG_336_60 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_336_60.c:918</div></div>
+<div class="ttc" id="big__336__60_8h_html_ac7314ad73bf8d827ae131376253a9c2d"><div class="ttname"><a href="big__336__60_8h.html#ac7314ad73bf8d827ae131376253a9c2d">BIG_336_60_cswap</a></div><div class="ttdeci">void BIG_336_60_cswap(BIG_336_60 x, BIG_336_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:92</div></div>
+<div class="ttc" id="big__336__60_8h_html_a6110ea9f4eb7f2c2b149811811498c2d"><div class="ttname"><a href="big__336__60_8h.html#a6110ea9f4eb7f2c2b149811811498c2d">BIG_336_60_isunity</a></div><div class="ttdeci">int BIG_336_60_isunity(BIG_336_60 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:35</div></div>
 <div class="ttc" id="big__336__60_8h_html_a406e86c8f10b5524f863634052c7a7a2"><div class="ttname"><a href="big__336__60_8h.html#a406e86c8f10b5524f863634052c7a7a2">BIG_336_60_fshl</a></div><div class="ttdeci">int BIG_336_60_fshl(BIG_336_60 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_336_60.c:832</div></div>
-<div class="ttc" id="big__336__60_8h_html_af5ec673f29c9b38a42301e8fd083df7a"><div class="ttname"><a href="big__336__60_8h.html#af5ec673f29c9b38a42301e8fd083df7a">BIG_336_60_ddiv</a></div><div class="ttdeci">void BIG_336_60_ddiv(BIG_336_60 x, DBIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1149</div></div>
-<div class="ttc" id="big__336__60_8h_html_ae025a0109ec324bc9183f5e849b2116d"><div class="ttname"><a href="big__336__60_8h.html#ae025a0109ec324bc9183f5e849b2116d">BIG_336_60_modmul</a></div><div class="ttdeci">void BIG_336_60_modmul(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z, BIG_336_60 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1300</div></div>
-<div class="ttc" id="big__336__60_8h_html_ad06a4d1ded09f6a3c715dbf40b202fa6"><div class="ttname"><a href="big__336__60_8h.html#ad06a4d1ded09f6a3c715dbf40b202fa6">BIG_336_60_moddiv</a></div><div class="ttdeci">void BIG_336_60_moddiv(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z, BIG_336_60 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1337</div></div>
-<div class="ttc" id="big__336__60_8h_html_a7a9c0abe6ae3dc699e0d15624066bf5e"><div class="ttname"><a href="big__336__60_8h.html#a7a9c0abe6ae3dc699e0d15624066bf5e">BIG_336_60_doutput</a></div><div class="ttdeci">void BIG_336_60_doutput(DBIG_336_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:190</div></div>
-<div class="ttc" id="big__336__60_8h_html_a22be022a62a8e282a902e5f55a110044"><div class="ttname"><a href="big__336__60_8h.html#a22be022a62a8e282a902e5f55a110044">BIG_336_60_cmove</a></div><div class="ttdeci">void BIG_336_60_cmove(BIG_336_60 x, BIG_336_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:110</div></div>
+<div class="ttc" id="big__336__60_8h_html_af5ec673f29c9b38a42301e8fd083df7a"><div class="ttname"><a href="big__336__60_8h.html#af5ec673f29c9b38a42301e8fd083df7a">BIG_336_60_ddiv</a></div><div class="ttdeci">void BIG_336_60_ddiv(BIG_336_60 x, DBIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1149</div></div>
+<div class="ttc" id="big__336__60_8h_html_ae025a0109ec324bc9183f5e849b2116d"><div class="ttname"><a href="big__336__60_8h.html#ae025a0109ec324bc9183f5e849b2116d">BIG_336_60_modmul</a></div><div class="ttdeci">void BIG_336_60_modmul(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z, BIG_336_60 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1300</div></div>
+<div class="ttc" id="big__336__60_8h_html_ad06a4d1ded09f6a3c715dbf40b202fa6"><div class="ttname"><a href="big__336__60_8h.html#ad06a4d1ded09f6a3c715dbf40b202fa6">BIG_336_60_moddiv</a></div><div class="ttdeci">void BIG_336_60_moddiv(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z, BIG_336_60 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1337</div></div>
+<div class="ttc" id="big__336__60_8h_html_a7a9c0abe6ae3dc699e0d15624066bf5e"><div class="ttname"><a href="big__336__60_8h.html#a7a9c0abe6ae3dc699e0d15624066bf5e">BIG_336_60_doutput</a></div><div class="ttdeci">void BIG_336_60_doutput(DBIG_336_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:190</div></div>
+<div class="ttc" id="big__336__60_8h_html_a22be022a62a8e282a902e5f55a110044"><div class="ttname"><a href="big__336__60_8h.html#a22be022a62a8e282a902e5f55a110044">BIG_336_60_cmove</a></div><div class="ttdeci">void BIG_336_60_cmove(BIG_336_60 x, BIG_336_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:110</div></div>
 <div class="ttc" id="big__336__60_8h_html_a43cd5984d14e5bce79a1dd36a17ec7e1"><div class="ttname"><a href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a></div><div class="ttdeci">chunk BIG_336_60[NLEN_336_60]</div><div class="ttdef"><b>Definition:</b> big_336_60.h:58</div></div>
-<div class="ttc" id="big__336__60_8h_html_a5ca003567baa4d198d4a79aa48e1bf4d"><div class="ttname"><a href="big__336__60_8h.html#a5ca003567baa4d198d4a79aa48e1bf4d">BIG_336_60_ssn</a></div><div class="ttdeci">int BIG_336_60_ssn(BIG_336_60 r, BIG_336_60 a, BIG_336_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:877</div></div>
-<div class="ttc" id="big__336__60_8h_html_af57d9134bdb184783baba00ca655c68f"><div class="ttname"><a href="big__336__60_8h.html#af57d9134bdb184783baba00ca655c68f">BIG_336_60_toBytes</a></div><div class="ttdeci">void BIG_336_60_toBytes(char *a, BIG_336_60 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:141</div></div>
-<div class="ttc" id="big__336__60_8h_html_a2faf9a3077c06ce3a7bcba6ca139df67"><div class="ttname"><a href="big__336__60_8h.html#a2faf9a3077c06ce3a7bcba6ca139df67">BIG_336_60_rcopy</a></div><div class="ttdeci">void BIG_336_60_rcopy(BIG_336_60 x, const BIG_336_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:239</div></div>
-<div class="ttc" id="big__336__60_8h_html_a0ee9bf8e449e1d4b9209ace9b636ad8a"><div class="ttname"><a href="big__336__60_8h.html#a0ee9bf8e449e1d4b9209ace9b636ad8a">BIG_336_60_modneg</a></div><div class="ttdeci">void BIG_336_60_modneg(BIG_336_60 x, BIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1327</div></div>
-<div class="ttc" id="big__336__60_8h_html_aa1721857bbc3ff137c24e5baaeaa5bce"><div class="ttname"><a href="big__336__60_8h.html#aa1721857bbc3ff137c24e5baaeaa5bce">BIG_336_60_copy</a></div><div class="ttdeci">void BIG_336_60_copy(BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:227</div></div>
+<div class="ttc" id="big__336__60_8h_html_a5ca003567baa4d198d4a79aa48e1bf4d"><div class="ttname"><a href="big__336__60_8h.html#a5ca003567baa4d198d4a79aa48e1bf4d">BIG_336_60_ssn</a></div><div class="ttdeci">int BIG_336_60_ssn(BIG_336_60 r, BIG_336_60 a, BIG_336_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:877</div></div>
+<div class="ttc" id="big__336__60_8h_html_af57d9134bdb184783baba00ca655c68f"><div class="ttname"><a href="big__336__60_8h.html#af57d9134bdb184783baba00ca655c68f">BIG_336_60_toBytes</a></div><div class="ttdeci">void BIG_336_60_toBytes(char *a, BIG_336_60 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:141</div></div>
+<div class="ttc" id="big__336__60_8h_html_a2faf9a3077c06ce3a7bcba6ca139df67"><div class="ttname"><a href="big__336__60_8h.html#a2faf9a3077c06ce3a7bcba6ca139df67">BIG_336_60_rcopy</a></div><div class="ttdeci">void BIG_336_60_rcopy(BIG_336_60 x, const BIG_336_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:239</div></div>
+<div class="ttc" id="big__336__60_8h_html_a0ee9bf8e449e1d4b9209ace9b636ad8a"><div class="ttname"><a href="big__336__60_8h.html#a0ee9bf8e449e1d4b9209ace9b636ad8a">BIG_336_60_modneg</a></div><div class="ttdeci">void BIG_336_60_modneg(BIG_336_60 x, BIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1327</div></div>
+<div class="ttc" id="big__336__60_8h_html_aa1721857bbc3ff137c24e5baaeaa5bce"><div class="ttname"><a href="big__336__60_8h.html#aa1721857bbc3ff137c24e5baaeaa5bce">BIG_336_60_copy</a></div><div class="ttdeci">void BIG_336_60_copy(BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:227</div></div>
 <div class="ttc" id="big__336__60_8h_html_a302bb3ec86e68b5e47efcd092ce74d6b"><div class="ttname"><a href="big__336__60_8h.html#a302bb3ec86e68b5e47efcd092ce74d6b">BIG_336_60_fshr</a></div><div class="ttdeci">int BIG_336_60_fshr(BIG_336_60 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_336_60.c:906</div></div>
-<div class="ttc" id="big__336__60_8h_html_a1a6176e7a9c243790e85acad8ad81c2b"><div class="ttname"><a href="big__336__60_8h.html#a1a6176e7a9c243790e85acad8ad81c2b">BIG_336_60_modsqr</a></div><div class="ttdeci">void BIG_336_60_modsqr(BIG_336_60 x, BIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1315</div></div>
-<div class="ttc" id="big__336__60_8h_html_ae27bd00b39985d05559052594f64f73f"><div class="ttname"><a href="big__336__60_8h.html#ae27bd00b39985d05559052594f64f73f">BIG_336_60_diszilch</a></div><div class="ttdeci">int BIG_336_60_diszilch(DBIG_336_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:45</div></div>
-<div class="ttc" id="big__336__60_8h_html_a1f1a7c3a55986cde5f711f9965748bdb"><div class="ttname"><a href="big__336__60_8h.html#a1f1a7c3a55986cde5f711f9965748bdb">BIG_336_60_smul</a></div><div class="ttdeci">void BIG_336_60_smul(BIG_336_60 x, BIG_336_60 y, BIG_336_60 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_336_60.c:518</div></div>
-<div class="ttc" id="big__336__60_8h_html_aa4b640bfecebae2728ad7a6f3a072245"><div class="ttname"><a href="big__336__60_8h.html#aa4b640bfecebae2728ad7a6f3a072245">BIG_336_60_randomnum</a></div><div class="ttdeci">void BIG_336_60_randomnum(BIG_336_60 x, BIG_336_60 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_336_60.c:1274</div></div>
-<div class="ttc" id="big__336__60_8h_html_aff59c75662a0f7b99cbdb80b315f8a0f"><div class="ttname"><a href="big__336__60_8h.html#aff59c75662a0f7b99cbdb80b315f8a0f">BIG_336_60_sdiv</a></div><div class="ttdeci">void BIG_336_60_sdiv(BIG_336_60 x, BIG_336_60 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1188</div></div>
-<div class="ttc" id="big__336__60_8h_html_a082c280b1c5911cd89e5a6c8cddc8fff"><div class="ttname"><a href="big__336__60_8h.html#a082c280b1c5911cd89e5a6c8cddc8fff">BIG_336_60_mul</a></div><div class="ttdeci">void BIG_336_60_mul(DBIG_336_60 x, BIG_336_60 y, BIG_336_60 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_336_60.c:542</div></div>
-<div class="ttc" id="big__336__60_8h_html_ab12935b6defd7ac4daface8d5c957602"><div class="ttname"><a href="big__336__60_8h.html#ab12935b6defd7ac4daface8d5c957602">BIG_336_60_pxmul</a></div><div class="ttdeci">void BIG_336_60_pxmul(DBIG_336_60 x, BIG_336_60 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_336_60.c:501</div></div>
-<div class="ttc" id="big__336__60_8h_html_ae236801f7296b77a8b44b24c1c99144a"><div class="ttname"><a href="big__336__60_8h.html#ae236801f7296b77a8b44b24c1c99144a">BIG_336_60_dsub</a></div><div class="ttdeci">void BIG_336_60_dsub(DBIG_336_60 x, DBIG_336_60 y, DBIG_336_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:413</div></div>
+<div class="ttc" id="big__336__60_8h_html_a1a6176e7a9c243790e85acad8ad81c2b"><div class="ttname"><a href="big__336__60_8h.html#a1a6176e7a9c243790e85acad8ad81c2b">BIG_336_60_modsqr</a></div><div class="ttdeci">void BIG_336_60_modsqr(BIG_336_60 x, BIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1315</div></div>
+<div class="ttc" id="big__336__60_8h_html_ae27bd00b39985d05559052594f64f73f"><div class="ttname"><a href="big__336__60_8h.html#ae27bd00b39985d05559052594f64f73f">BIG_336_60_diszilch</a></div><div class="ttdeci">int BIG_336_60_diszilch(DBIG_336_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:45</div></div>
+<div class="ttc" id="big__336__60_8h_html_a1f1a7c3a55986cde5f711f9965748bdb"><div class="ttname"><a href="big__336__60_8h.html#a1f1a7c3a55986cde5f711f9965748bdb">BIG_336_60_smul</a></div><div class="ttdeci">void BIG_336_60_smul(BIG_336_60 x, BIG_336_60 y, BIG_336_60 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_336_60.c:518</div></div>
+<div class="ttc" id="big__336__60_8h_html_aa4b640bfecebae2728ad7a6f3a072245"><div class="ttname"><a href="big__336__60_8h.html#aa4b640bfecebae2728ad7a6f3a072245">BIG_336_60_randomnum</a></div><div class="ttdeci">void BIG_336_60_randomnum(BIG_336_60 x, BIG_336_60 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_336_60.c:1274</div></div>
+<div class="ttc" id="big__336__60_8h_html_aff59c75662a0f7b99cbdb80b315f8a0f"><div class="ttname"><a href="big__336__60_8h.html#aff59c75662a0f7b99cbdb80b315f8a0f">BIG_336_60_sdiv</a></div><div class="ttdeci">void BIG_336_60_sdiv(BIG_336_60 x, BIG_336_60 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1188</div></div>
+<div class="ttc" id="big__336__60_8h_html_a082c280b1c5911cd89e5a6c8cddc8fff"><div class="ttname"><a href="big__336__60_8h.html#a082c280b1c5911cd89e5a6c8cddc8fff">BIG_336_60_mul</a></div><div class="ttdeci">void BIG_336_60_mul(DBIG_336_60 x, BIG_336_60 y, BIG_336_60 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_336_60.c:542</div></div>
+<div class="ttc" id="big__336__60_8h_html_ab12935b6defd7ac4daface8d5c957602"><div class="ttname"><a href="big__336__60_8h.html#ab12935b6defd7ac4daface8d5c957602">BIG_336_60_pxmul</a></div><div class="ttdeci">void BIG_336_60_pxmul(DBIG_336_60 x, BIG_336_60 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_336_60.c:501</div></div>
+<div class="ttc" id="big__336__60_8h_html_ae236801f7296b77a8b44b24c1c99144a"><div class="ttname"><a href="big__336__60_8h.html#ae236801f7296b77a8b44b24c1c99144a">BIG_336_60_dsub</a></div><div class="ttdeci">void BIG_336_60_dsub(DBIG_336_60 x, DBIG_336_60 y, DBIG_336_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:413</div></div>
 <div class="ttc" id="big__336__60_8h_html_a75d2e37ce8a66bba994599e6de547ed8"><div class="ttname"><a href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">DNLEN_336_60</a></div><div class="ttdeci">#define DNLEN_336_60</div><div class="ttdef"><b>Definition:</b> big_336_60.h:41</div></div>
-<div class="ttc" id="big__336__60_8h_html_ae9ba45a626ce6f9df1db95c621454402"><div class="ttname"><a href="big__336__60_8h.html#ae9ba45a626ce6f9df1db95c621454402">BIG_336_60_one</a></div><div class="ttdeci">void BIG_336_60_one(BIG_336_60 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_336_60.c:340</div></div>
+<div class="ttc" id="big__336__60_8h_html_ae9ba45a626ce6f9df1db95c621454402"><div class="ttname"><a href="big__336__60_8h.html#ae9ba45a626ce6f9df1db95c621454402">BIG_336_60_one</a></div><div class="ttdeci">void BIG_336_60_one(BIG_336_60 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_336_60.c:340</div></div>
 <div class="ttc" id="big__336__60_8h_html_a186c54b9bbf488698a7f9d0071bcf0a9"><div class="ttname"><a href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">HBITS_336_60</a></div><div class="ttdeci">#define HBITS_336_60</div><div class="ttdef"><b>Definition:</b> big_336_60.h:45</div></div>
-<div class="ttc" id="big__336__60_8h_html_ac2df0a3d44c4e8e84757ec11d722a8c0"><div class="ttname"><a href="big__336__60_8h.html#ac2df0a3d44c4e8e84757ec11d722a8c0">BIG_336_60_dscopy</a></div><div class="ttdeci">void BIG_336_60_dscopy(DBIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:263</div></div>
-<div class="ttc" id="big__336__60_8h_html_aead7f42505054b341f2f0ad5a34c8aca"><div class="ttname"><a href="big__336__60_8h.html#aead7f42505054b341f2f0ad5a34c8aca">BIG_336_60_jacobi</a></div><div class="ttdeci">int BIG_336_60_jacobi(BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1354</div></div>
-<div class="ttc" id="big__336__60_8h_html_aee9c3f30b1db361a625d402f20d86de7"><div class="ttname"><a href="big__336__60_8h.html#aee9c3f30b1db361a625d402f20d86de7">BIG_336_60_monty</a></div><div class="ttdeci">void BIG_336_60_monty(BIG_336_60 a, BIG_336_60 md, chunk MC, DBIG_336_60 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_336_60.c:735</div></div>
-<div class="ttc" id="big__336__60_8h_html_aab90c4639b0228f0350ca1b0684a7991"><div class="ttname"><a href="big__336__60_8h.html#aab90c4639b0228f0350ca1b0684a7991">BIG_336_60_split</a></div><div class="ttdeci">chunk BIG_336_60_split(BIG_336_60 x, BIG_336_60 y, DBIG_336_60 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_336_60.c:932</div></div>
-<div class="ttc" id="big__336__60_8h_html_aab7b66e556c3b34bc3026d2d5314e52f"><div class="ttname"><a href="big__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f">BIG_336_60_zero</a></div><div class="ttdeci">void BIG_336_60_zero(BIG_336_60 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:319</div></div>
+<div class="ttc" id="big__336__60_8h_html_ac2df0a3d44c4e8e84757ec11d722a8c0"><div class="ttname"><a href="big__336__60_8h.html#ac2df0a3d44c4e8e84757ec11d722a8c0">BIG_336_60_dscopy</a></div><div class="ttdeci">void BIG_336_60_dscopy(DBIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:263</div></div>
+<div class="ttc" id="big__336__60_8h_html_aead7f42505054b341f2f0ad5a34c8aca"><div class="ttname"><a href="big__336__60_8h.html#aead7f42505054b341f2f0ad5a34c8aca">BIG_336_60_jacobi</a></div><div class="ttdeci">int BIG_336_60_jacobi(BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1354</div></div>
+<div class="ttc" id="big__336__60_8h_html_aee9c3f30b1db361a625d402f20d86de7"><div class="ttname"><a href="big__336__60_8h.html#aee9c3f30b1db361a625d402f20d86de7">BIG_336_60_monty</a></div><div class="ttdeci">void BIG_336_60_monty(BIG_336_60 a, BIG_336_60 md, chunk MC, DBIG_336_60 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_336_60.c:735</div></div>
+<div class="ttc" id="big__336__60_8h_html_aab90c4639b0228f0350ca1b0684a7991"><div class="ttname"><a href="big__336__60_8h.html#aab90c4639b0228f0350ca1b0684a7991">BIG_336_60_split</a></div><div class="ttdeci">chunk BIG_336_60_split(BIG_336_60 x, BIG_336_60 y, DBIG_336_60 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_336_60.c:932</div></div>
+<div class="ttc" id="big__336__60_8h_html_aab7b66e556c3b34bc3026d2d5314e52f"><div class="ttname"><a href="big__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f">BIG_336_60_zero</a></div><div class="ttdeci">void BIG_336_60_zero(BIG_336_60 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:319</div></div>
 <div class="ttc" id="big__336__60_8h_html_a11943313ab42b453d55d266c55c51518"><div class="ttname"><a href="big__336__60_8h.html#a11943313ab42b453d55d266c55c51518">HMASK_336_60</a></div><div class="ttdeci">#define HMASK_336_60</div><div class="ttdef"><b>Definition:</b> big_336_60.h:46</div></div>
-<div class="ttc" id="big__336__60_8h_html_a15d5db06de7e63d6df3ecf27570f88bd"><div class="ttname"><a href="big__336__60_8h.html#a15d5db06de7e63d6df3ecf27570f88bd">BIG_336_60_lastbits</a></div><div class="ttdeci">int BIG_336_60_lastbits(BIG_336_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1240</div></div>
-<div class="ttc" id="big__336__60_8h_html_af1283bb51906451dba7843b4e2d90a10"><div class="ttname"><a href="big__336__60_8h.html#af1283bb51906451dba7843b4e2d90a10">BIG_336_60_dec</a></div><div class="ttdeci">void BIG_336_60_dec(BIG_336_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:440</div></div>
-<div class="ttc" id="big__336__60_8h_html_a0c3c071fd382b7f26aaa916d4041062f"><div class="ttname"><a href="big__336__60_8h.html#a0c3c071fd382b7f26aaa916d4041062f">BIG_336_60_fromBytes</a></div><div class="ttdeci">void BIG_336_60_fromBytes(BIG_336_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:155</div></div>
-<div class="ttc" id="big__336__60_8h_html_a4580e3db1eb48c6ea8374325bcb063ad"><div class="ttname"><a href="big__336__60_8h.html#a4580e3db1eb48c6ea8374325bcb063ad">BIG_336_60_dcomp</a></div><div class="ttdeci">int BIG_336_60_dcomp(DBIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1026</div></div>
-<div class="ttc" id="big__336__60_8h_html_afac8c4580d3641124cc1d72b2a39411a"><div class="ttname"><a href="big__336__60_8h.html#afac8c4580d3641124cc1d72b2a39411a">BIG_336_60_dmod</a></div><div class="ttdeci">void BIG_336_60_dmod(BIG_336_60 x, DBIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1113</div></div>
-<div class="ttc" id="big__336__60_8h_html_a01cdeeca257bdfd863966f618cce8f25"><div class="ttname"><a href="big__336__60_8h.html#a01cdeeca257bdfd863966f618cce8f25">BIG_336_60_dnbits</a></div><div class="ttdeci">int BIG_336_60_dnbits(DBIG_336_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1060</div></div>
-<div class="ttc" id="big__336__60_8h_html_a499b35972f2a591692ba338f2d82e59d"><div class="ttname"><a href="big__336__60_8h.html#a499b35972f2a591692ba338f2d82e59d">BIG_336_60_pmul</a></div><div class="ttdeci">chunk BIG_336_60_pmul(BIG_336_60 x, BIG_336_60 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_336_60.c:465</div></div>
-<div class="ttc" id="big__336__60_8h_html_a04cd8e072ce3ede750dc3f34b9eee28b"><div class="ttname"><a href="big__336__60_8h.html#a04cd8e072ce3ede750dc3f34b9eee28b">BIG_336_60_random</a></div><div class="ttdeci">void BIG_336_60_random(BIG_336_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1248</div></div>
-<div class="ttc" id="big__336__60_8h_html_ab52e629f6cb19193d0bccac07dc35b7f"><div class="ttname"><a href="big__336__60_8h.html#ab52e629f6cb19193d0bccac07dc35b7f">BIG_336_60_sducopy</a></div><div class="ttdeci">void BIG_336_60_sducopy(BIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:306</div></div>
-<div class="ttc" id="big__336__60_8h_html_ac6322e35950d16e663ad1b32e1a1ba70"><div class="ttname"><a href="big__336__60_8h.html#ac6322e35950d16e663ad1b32e1a1ba70">BIG_336_60_rawoutput</a></div><div class="ttdeci">void BIG_336_60_rawoutput(BIG_336_60 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_336_60.c:77</div></div>
+<div class="ttc" id="big__336__60_8h_html_a15d5db06de7e63d6df3ecf27570f88bd"><div class="ttname"><a href="big__336__60_8h.html#a15d5db06de7e63d6df3ecf27570f88bd">BIG_336_60_lastbits</a></div><div class="ttdeci">int BIG_336_60_lastbits(BIG_336_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1240</div></div>
+<div class="ttc" id="big__336__60_8h_html_af1283bb51906451dba7843b4e2d90a10"><div class="ttname"><a href="big__336__60_8h.html#af1283bb51906451dba7843b4e2d90a10">BIG_336_60_dec</a></div><div class="ttdeci">void BIG_336_60_dec(BIG_336_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:440</div></div>
+<div class="ttc" id="big__336__60_8h_html_a0c3c071fd382b7f26aaa916d4041062f"><div class="ttname"><a href="big__336__60_8h.html#a0c3c071fd382b7f26aaa916d4041062f">BIG_336_60_fromBytes</a></div><div class="ttdeci">void BIG_336_60_fromBytes(BIG_336_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:155</div></div>
+<div class="ttc" id="big__336__60_8h_html_a4580e3db1eb48c6ea8374325bcb063ad"><div class="ttname"><a href="big__336__60_8h.html#a4580e3db1eb48c6ea8374325bcb063ad">BIG_336_60_dcomp</a></div><div class="ttdeci">int BIG_336_60_dcomp(DBIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1026</div></div>
+<div class="ttc" id="big__336__60_8h_html_afac8c4580d3641124cc1d72b2a39411a"><div class="ttname"><a href="big__336__60_8h.html#afac8c4580d3641124cc1d72b2a39411a">BIG_336_60_dmod</a></div><div class="ttdeci">void BIG_336_60_dmod(BIG_336_60 x, DBIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1113</div></div>
+<div class="ttc" id="big__336__60_8h_html_a01cdeeca257bdfd863966f618cce8f25"><div class="ttname"><a href="big__336__60_8h.html#a01cdeeca257bdfd863966f618cce8f25">BIG_336_60_dnbits</a></div><div class="ttdeci">int BIG_336_60_dnbits(DBIG_336_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1060</div></div>
+<div class="ttc" id="big__336__60_8h_html_a499b35972f2a591692ba338f2d82e59d"><div class="ttname"><a href="big__336__60_8h.html#a499b35972f2a591692ba338f2d82e59d">BIG_336_60_pmul</a></div><div class="ttdeci">chunk BIG_336_60_pmul(BIG_336_60 x, BIG_336_60 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_336_60.c:465</div></div>
+<div class="ttc" id="big__336__60_8h_html_a04cd8e072ce3ede750dc3f34b9eee28b"><div class="ttname"><a href="big__336__60_8h.html#a04cd8e072ce3ede750dc3f34b9eee28b">BIG_336_60_random</a></div><div class="ttdeci">void BIG_336_60_random(BIG_336_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1248</div></div>
+<div class="ttc" id="big__336__60_8h_html_ab52e629f6cb19193d0bccac07dc35b7f"><div class="ttname"><a href="big__336__60_8h.html#ab52e629f6cb19193d0bccac07dc35b7f">BIG_336_60_sducopy</a></div><div class="ttdeci">void BIG_336_60_sducopy(BIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:306</div></div>
+<div class="ttc" id="big__336__60_8h_html_ac6322e35950d16e663ad1b32e1a1ba70"><div class="ttname"><a href="big__336__60_8h.html#ac6322e35950d16e663ad1b32e1a1ba70">BIG_336_60_rawoutput</a></div><div class="ttdeci">void BIG_336_60_rawoutput(BIG_336_60 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_336_60.c:77</div></div>
 <div class="ttc" id="big__336__60_8h_html_acbbfd8e119ea9e2af4dfa0a215793659"><div class="ttname"><a href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">NLEN_336_60</a></div><div class="ttdeci">#define NLEN_336_60</div><div class="ttdef"><b>Definition:</b> big_336_60.h:40</div></div>
-<div class="ttc" id="big__336__60_8h_html_a0ccd22659e53e4bf4d430fd65cdc9591"><div class="ttname"><a href="big__336__60_8h.html#a0ccd22659e53e4bf4d430fd65cdc9591">BIG_336_60_parity</a></div><div class="ttdeci">int BIG_336_60_parity(BIG_336_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1225</div></div>
-<div class="ttc" id="big__336__60_8h_html_aab0c9a28410127cb2bf1b18fadba2758"><div class="ttname"><a href="big__336__60_8h.html#aab0c9a28410127cb2bf1b18fadba2758">BIG_336_60_imul</a></div><div class="ttdeci">void BIG_336_60_imul(BIG_336_60 x, BIG_336_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:450</div></div>
+<div class="ttc" id="big__336__60_8h_html_a0ccd22659e53e4bf4d430fd65cdc9591"><div class="ttname"><a href="big__336__60_8h.html#a0ccd22659e53e4bf4d430fd65cdc9591">BIG_336_60_parity</a></div><div class="ttdeci">int BIG_336_60_parity(BIG_336_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1225</div></div>
+<div class="ttc" id="big__336__60_8h_html_aab0c9a28410127cb2bf1b18fadba2758"><div class="ttname"><a href="big__336__60_8h.html#aab0c9a28410127cb2bf1b18fadba2758">BIG_336_60_imul</a></div><div class="ttdeci">void BIG_336_60_imul(BIG_336_60 x, BIG_336_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:450</div></div>
 <div class="ttc" id="big__336__60_8h_html_a97f414afc90a2633e4448cc93c57ba60"><div class="ttname"><a href="big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">BMASK_336_60</a></div><div class="ttdeci">#define BMASK_336_60</div><div class="ttdef"><b>Definition:</b> big_336_60.h:42</div></div>
-<div class="ttc" id="big__336__60_8h_html_ac6f36800bcc75556f7b8c2f5f13e5142"><div class="ttname"><a href="big__336__60_8h.html#ac6f36800bcc75556f7b8c2f5f13e5142">BIG_336_60_dcmove</a></div><div class="ttdeci">void BIG_336_60_dcmove(BIG_336_60 x, BIG_336_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__336__60_8h_html_a4e0852f724706e43c0e2d2e00832a79e"><div class="ttname"><a href="big__336__60_8h.html#a4e0852f724706e43c0e2d2e00832a79e">BIG_336_60_sub</a></div><div class="ttdeci">void BIG_336_60_sub(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:397</div></div>
-<div class="ttc" id="big__336__60_8h_html_ad2fdb06120298ceb0a05dfb3b9cf7ec9"><div class="ttname"><a href="big__336__60_8h.html#ad2fdb06120298ceb0a05dfb3b9cf7ec9">BIG_336_60_iszilch</a></div><div class="ttdeci">int BIG_336_60_iszilch(BIG_336_60 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:26</div></div>
-<div class="ttc" id="big__336__60_8h_html_ae6b2075c2f345e8cf099b9728fca2e93"><div class="ttname"><a href="big__336__60_8h.html#ae6b2075c2f345e8cf099b9728fca2e93">BIG_336_60_dadd</a></div><div class="ttdeci">void BIG_336_60_dadd(DBIG_336_60 x, DBIG_336_60 y, DBIG_336_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:426</div></div>
-<div class="ttc" id="big__336__60_8h_html_a50e2c8aee9357b3097fe5f99e248cc3f"><div class="ttname"><a href="big__336__60_8h.html#a50e2c8aee9357b3097fe5f99e248cc3f">BIG_336_60_or</a></div><div class="ttdeci">void BIG_336_60_or(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:371</div></div>
-<div class="ttc" id="big__336__60_8h_html_a6fbd613871b8a2f6e941f4430f5300c0"><div class="ttname"><a href="big__336__60_8h.html#a6fbd613871b8a2f6e941f4430f5300c0">BIG_336_60_bit</a></div><div class="ttdeci">int BIG_336_60_bit(BIG_336_60 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1232</div></div>
-<div class="ttc" id="big__336__60_8h_html_a05a276f16977ae960980b29e4bb79b82"><div class="ttname"><a href="big__336__60_8h.html#a05a276f16977ae960980b29e4bb79b82">BIG_336_60_mod</a></div><div class="ttdeci">void BIG_336_60_mod(BIG_336_60 x, BIG_336_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1082</div></div>
-<div class="ttc" id="big__336__60_8h_html_af332472a6669c85459cc6f00bd462f9e"><div class="ttname"><a href="big__336__60_8h.html#af332472a6669c85459cc6f00bd462f9e">BIG_336_60_mod2m</a></div><div class="ttdeci">void BIG_336_60_mod2m(BIG_336_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1456</div></div>
-<div class="ttc" id="big__336__60_8h_html_a2ea32ae9b84ac45118f6a5bdb361535b"><div class="ttname"><a href="big__336__60_8h.html#a2ea32ae9b84ac45118f6a5bdb361535b">BIG_336_60_invmodp</a></div><div class="ttdeci">void BIG_336_60_invmodp(BIG_336_60 x, BIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1392</div></div>
+<div class="ttc" id="big__336__60_8h_html_ac6f36800bcc75556f7b8c2f5f13e5142"><div class="ttname"><a href="big__336__60_8h.html#ac6f36800bcc75556f7b8c2f5f13e5142">BIG_336_60_dcmove</a></div><div class="ttdeci">void BIG_336_60_dcmove(BIG_336_60 x, BIG_336_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__336__60_8h_html_a4e0852f724706e43c0e2d2e00832a79e"><div class="ttname"><a href="big__336__60_8h.html#a4e0852f724706e43c0e2d2e00832a79e">BIG_336_60_sub</a></div><div class="ttdeci">void BIG_336_60_sub(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:397</div></div>
+<div class="ttc" id="big__336__60_8h_html_ad2fdb06120298ceb0a05dfb3b9cf7ec9"><div class="ttname"><a href="big__336__60_8h.html#ad2fdb06120298ceb0a05dfb3b9cf7ec9">BIG_336_60_iszilch</a></div><div class="ttdeci">int BIG_336_60_iszilch(BIG_336_60 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:26</div></div>
+<div class="ttc" id="big__336__60_8h_html_ae6b2075c2f345e8cf099b9728fca2e93"><div class="ttname"><a href="big__336__60_8h.html#ae6b2075c2f345e8cf099b9728fca2e93">BIG_336_60_dadd</a></div><div class="ttdeci">void BIG_336_60_dadd(DBIG_336_60 x, DBIG_336_60 y, DBIG_336_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:426</div></div>
+<div class="ttc" id="big__336__60_8h_html_a50e2c8aee9357b3097fe5f99e248cc3f"><div class="ttname"><a href="big__336__60_8h.html#a50e2c8aee9357b3097fe5f99e248cc3f">BIG_336_60_or</a></div><div class="ttdeci">void BIG_336_60_or(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:371</div></div>
+<div class="ttc" id="big__336__60_8h_html_a6fbd613871b8a2f6e941f4430f5300c0"><div class="ttname"><a href="big__336__60_8h.html#a6fbd613871b8a2f6e941f4430f5300c0">BIG_336_60_bit</a></div><div class="ttdeci">int BIG_336_60_bit(BIG_336_60 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1232</div></div>
+<div class="ttc" id="big__336__60_8h_html_a05a276f16977ae960980b29e4bb79b82"><div class="ttname"><a href="big__336__60_8h.html#a05a276f16977ae960980b29e4bb79b82">BIG_336_60_mod</a></div><div class="ttdeci">void BIG_336_60_mod(BIG_336_60 x, BIG_336_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1082</div></div>
+<div class="ttc" id="big__336__60_8h_html_af332472a6669c85459cc6f00bd462f9e"><div class="ttname"><a href="big__336__60_8h.html#af332472a6669c85459cc6f00bd462f9e">BIG_336_60_mod2m</a></div><div class="ttdeci">void BIG_336_60_mod2m(BIG_336_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1540</div></div>
+<div class="ttc" id="big__336__60_8h_html_a2ea32ae9b84ac45118f6a5bdb361535b"><div class="ttname"><a href="big__336__60_8h.html#a2ea32ae9b84ac45118f6a5bdb361535b">BIG_336_60_invmodp</a></div><div class="ttdeci">void BIG_336_60_invmodp(BIG_336_60 x, BIG_336_60 y, BIG_336_60 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1476</div></div>
 <div class="ttc" id="config__big__336__60_8h_html_aafc3fab89520932a6ddf0486adb1e988"><div class="ttname"><a href="config__big__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">BASEBITS_336_60</a></div><div class="ttdeci">#define BASEBITS_336_60</div><div class="ttdef"><b>Definition:</b> config_big_336_60.h:35</div></div>
-<div class="ttc" id="big__336__60_8h_html_a41bc32aed1c711f75fc1899b3093ff1c"><div class="ttname"><a href="big__336__60_8h.html#a41bc32aed1c711f75fc1899b3093ff1c">BIG_336_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_336_60_dfromBytesLen(DBIG_336_60 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_336_60.c:1485</div></div>
-<div class="ttc" id="big__336__60_8h_html_a10ed23a539989365141b79d6c5c0646f"><div class="ttname"><a href="big__336__60_8h.html#a10ed23a539989365141b79d6c5c0646f">BIG_336_60_output</a></div><div class="ttdeci">void BIG_336_60_output(BIG_336_60 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:55</div></div>
+<div class="ttc" id="big__336__60_8h_html_a41bc32aed1c711f75fc1899b3093ff1c"><div class="ttname"><a href="big__336__60_8h.html#a41bc32aed1c711f75fc1899b3093ff1c">BIG_336_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_336_60_dfromBytesLen(DBIG_336_60 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_336_60.c:1569</div></div>
+<div class="ttc" id="big__336__60_8h_html_a10ed23a539989365141b79d6c5c0646f"><div class="ttname"><a href="big__336__60_8h.html#a10ed23a539989365141b79d6c5c0646f">BIG_336_60_output</a></div><div class="ttdeci">void BIG_336_60_output(BIG_336_60 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:55</div></div>
 <div class="ttc" id="big__336__60_8h_html_a70c432ae6e91b20f991bec94badb11d6"><div class="ttname"><a href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a></div><div class="ttdeci">chunk DBIG_336_60[DNLEN_336_60]</div><div class="ttdef"><b>Definition:</b> big_336_60.h:59</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__336__60_8h_html_a3ff3859219ae22cb05263be8f347208f"><div class="ttname"><a href="big__336__60_8h.html#a3ff3859219ae22cb05263be8f347208f">BIG_336_60_dzero</a></div><div class="ttdeci">void BIG_336_60_dzero(DBIG_336_60 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:329</div></div>
-<div class="ttc" id="big__336__60_8h_html_a63c7af0fa85602050c767389275ffa55"><div class="ttname"><a href="big__336__60_8h.html#a63c7af0fa85602050c767389275ffa55">BIG_336_60_dcopy</a></div><div class="ttdeci">void BIG_336_60_dcopy(DBIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:251</div></div>
-<div class="ttc" id="big__336__60_8h_html_a9e50880f7150af10b54c5b8be27d6ef7"><div class="ttname"><a href="big__336__60_8h.html#a9e50880f7150af10b54c5b8be27d6ef7">BIG_336_60_inc</a></div><div class="ttdeci">void BIG_336_60_inc(BIG_336_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:386</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__336__60_8h_html_a5cdd19c5643e493a3abe4351597201fd"><div class="ttname"><a href="big__336__60_8h.html#a5cdd19c5643e493a3abe4351597201fd">BIG_336_60_nbits</a></div><div class="ttdeci">int BIG_336_60_nbits(BIG_336_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1040</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__336__60_8h_html_a3ff3859219ae22cb05263be8f347208f"><div class="ttname"><a href="big__336__60_8h.html#a3ff3859219ae22cb05263be8f347208f">BIG_336_60_dzero</a></div><div class="ttdeci">void BIG_336_60_dzero(DBIG_336_60 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:329</div></div>
+<div class="ttc" id="big__336__60_8h_html_a63c7af0fa85602050c767389275ffa55"><div class="ttname"><a href="big__336__60_8h.html#a63c7af0fa85602050c767389275ffa55">BIG_336_60_dcopy</a></div><div class="ttdeci">void BIG_336_60_dcopy(DBIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:251</div></div>
+<div class="ttc" id="big__336__60_8h_html_a9e50880f7150af10b54c5b8be27d6ef7"><div class="ttname"><a href="big__336__60_8h.html#a9e50880f7150af10b54c5b8be27d6ef7">BIG_336_60_inc</a></div><div class="ttdeci">void BIG_336_60_inc(BIG_336_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:386</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__336__60_8h_html_a5cdd19c5643e493a3abe4351597201fd"><div class="ttname"><a href="big__336__60_8h.html#a5cdd19c5643e493a3abe4351597201fd">BIG_336_60_nbits</a></div><div class="ttdeci">int BIG_336_60_nbits(BIG_336_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1040</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__336__60_8h_html_a6b90631f2c3fffb0dfa97e0c655b05ca"><div class="ttname"><a href="big__336__60_8h.html#a6b90631f2c3fffb0dfa97e0c655b05ca">BIG_336_60_dsucopy</a></div><div class="ttdeci">void BIG_336_60_dsucopy(DBIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:280</div></div>
-<div class="ttc" id="big__336__60_8h_html_a9f3b5ca05545275d66e276996f40f92b"><div class="ttname"><a href="big__336__60_8h.html#a9f3b5ca05545275d66e276996f40f92b">BIG_336_60_dmod2m</a></div><div class="ttdeci">void BIG_336_60_dmod2m(DBIG_336_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:1470</div></div>
-<div class="ttc" id="big__336__60_8h_html_a0c36e399b07f9d22d930d47631cc926b"><div class="ttname"><a href="big__336__60_8h.html#a0c36e399b07f9d22d930d47631cc926b">BIG_336_60_dshl</a></div><div class="ttdeci">void BIG_336_60_dshl(DBIG_336_60 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_336_60.c:846</div></div>
-<div class="ttc" id="big__336__60_8h_html_a18fe5cc52c356d53cbf4ff5063284f24"><div class="ttname"><a href="big__336__60_8h.html#a18fe5cc52c356d53cbf4ff5063284f24">BIG_336_60_drawoutput</a></div><div class="ttdeci">void BIG_336_60_drawoutput(DBIG_336_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:212</div></div>
-<div class="ttc" id="big__336__60_8h_html_a4ed446fc2420de7fc378d22364fc9bb4"><div class="ttname"><a href="big__336__60_8h.html#a4ed446fc2420de7fc378d22364fc9bb4">BIG_336_60_sdcopy</a></div><div class="ttdeci">void BIG_336_60_sdcopy(BIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:294</div></div>
-<div class="ttc" id="big__336__60_8h_html_ace8ee13e612b9f20ae7bc2d01e522627"><div class="ttname"><a href="big__336__60_8h.html#ace8ee13e612b9f20ae7bc2d01e522627">BIG_336_60_fromBytesLen</a></div><div class="ttdeci">void BIG_336_60_fromBytesLen(BIG_336_60 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_336_60.c:170</div></div>
-<div class="ttc" id="big__336__60_8h_html_a6fd779dd5a3c29408daad6706fa2af96"><div class="ttname"><a href="big__336__60_8h.html#a6fd779dd5a3c29408daad6706fa2af96">BIG_336_60_add</a></div><div class="ttdeci">void BIG_336_60_add(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:356</div></div>
-<div class="ttc" id="big__336__60_8h_html_a4b2f503b18764049b49a088c691a1c88"><div class="ttname"><a href="big__336__60_8h.html#a4b2f503b18764049b49a088c691a1c88">BIG_336_60_sqr</a></div><div class="ttdeci">void BIG_336_60_sqr(DBIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_336_60.c:618</div></div>
-<div class="ttc" id="big__336__60_8h_html_ad6f5e1da3bf4d5fdcdc77fcadb2eb72c"><div class="ttname"><a href="big__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c">BIG_336_60_invmod2m</a></div><div class="ttdeci">void BIG_336_60_invmod2m(BIG_336_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
+<div class="ttc" id="big__336__60_8h_html_a6b90631f2c3fffb0dfa97e0c655b05ca"><div class="ttname"><a href="big__336__60_8h.html#a6b90631f2c3fffb0dfa97e0c655b05ca">BIG_336_60_dsucopy</a></div><div class="ttdeci">void BIG_336_60_dsucopy(DBIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:280</div></div>
+<div class="ttc" id="big__336__60_8h_html_a9f3b5ca05545275d66e276996f40f92b"><div class="ttname"><a href="big__336__60_8h.html#a9f3b5ca05545275d66e276996f40f92b">BIG_336_60_dmod2m</a></div><div class="ttdeci">void BIG_336_60_dmod2m(DBIG_336_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1554</div></div>
+<div class="ttc" id="big__336__60_8h_html_a0c36e399b07f9d22d930d47631cc926b"><div class="ttname"><a href="big__336__60_8h.html#a0c36e399b07f9d22d930d47631cc926b">BIG_336_60_dshl</a></div><div class="ttdeci">void BIG_336_60_dshl(DBIG_336_60 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_336_60.c:846</div></div>
+<div class="ttc" id="big__336__60_8h_html_a18fe5cc52c356d53cbf4ff5063284f24"><div class="ttname"><a href="big__336__60_8h.html#a18fe5cc52c356d53cbf4ff5063284f24">BIG_336_60_drawoutput</a></div><div class="ttdeci">void BIG_336_60_drawoutput(DBIG_336_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:212</div></div>
+<div class="ttc" id="big__336__60_8h_html_a4ed446fc2420de7fc378d22364fc9bb4"><div class="ttname"><a href="big__336__60_8h.html#a4ed446fc2420de7fc378d22364fc9bb4">BIG_336_60_sdcopy</a></div><div class="ttdeci">void BIG_336_60_sdcopy(BIG_336_60 x, DBIG_336_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:294</div></div>
+<div class="ttc" id="big__336__60_8h_html_ace8ee13e612b9f20ae7bc2d01e522627"><div class="ttname"><a href="big__336__60_8h.html#ace8ee13e612b9f20ae7bc2d01e522627">BIG_336_60_fromBytesLen</a></div><div class="ttdeci">void BIG_336_60_fromBytesLen(BIG_336_60 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_336_60.c:170</div></div>
+<div class="ttc" id="big__336__60_8h_html_a6fd779dd5a3c29408daad6706fa2af96"><div class="ttname"><a href="big__336__60_8h.html#a6fd779dd5a3c29408daad6706fa2af96">BIG_336_60_add</a></div><div class="ttdeci">void BIG_336_60_add(BIG_336_60 x, BIG_336_60 y, BIG_336_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:356</div></div>
+<div class="ttc" id="big__336__60_8h_html_a4b2f503b18764049b49a088c691a1c88"><div class="ttname"><a href="big__336__60_8h.html#a4b2f503b18764049b49a088c691a1c88">BIG_336_60_sqr</a></div><div class="ttdeci">void BIG_336_60_sqr(DBIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:618</div></div>
+<div class="ttc" id="big__336__60_8h_html_ad6f5e1da3bf4d5fdcdc77fcadb2eb72c"><div class="ttname"><a href="big__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c">BIG_336_60_invmod2m</a></div><div class="ttdeci">void BIG_336_60_invmod2m(BIG_336_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_336_60.c:1432</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__384__28_8h.html b/website/static/cdocs/big__384__28_8h.html
deleted file mode 100644
index cab1243..0000000
--- a/website/static/cdocs/big__384__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_384_28.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">AMCL
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_df7310d1a865926cc859bcfb1880083f.html">include</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">big_384_28.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
-<code>#include &lt;stdlib.h&gt;</code><br />
-<code>#include &lt;inttypes.h&gt;</code><br />
-<code>#include &quot;<a class="el" href="arch_8h_source.html">arch.h</a>&quot;</code><br />
-<code>#include &quot;amcl.h&quot;</code><br />
-<code>#include &quot;<a class="el" href="config__big__384__28_8h_source.html">config_big_384_28.h</a>&quot;</code><br />
-</div>
-<p><a href="big__384__28_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:a8f05d26a410dd97379ac2651922a6449"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8f05d26a410dd97379ac2651922a6449">BIGBITS_384_28</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>)</td></tr>
-<tr class="separator:a8f05d26a410dd97379ac2651922a6449"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a439daca6a2d884b15798c1e6d9a6ba4e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>-1)/<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>))</td></tr>
-<tr class="separator:a439daca6a2d884b15798c1e6d9a6ba4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8ecc6d852c9a8295de789234094b1dce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_28</a>&#160;&#160;&#160;2*<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a></td></tr>
-<tr class="separator:a8ecc6d852c9a8295de789234094b1dce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a84665e78dbc0947688151a4ac8dc9644"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">BMASK_384_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>)-1)</td></tr>
-<tr class="separator:a84665e78dbc0947688151a4ac8dc9644"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8fd2df8afe92c49d115a5fc91d4deb59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8fd2df8afe92c49d115a5fc91d4deb59">NEXCESS_384_28</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>-1))</td></tr>
-<tr class="separator:a8fd2df8afe92c49d115a5fc91d4deb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7add637ce6e6a22f580a621e454e2f1b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a>&#160;&#160;&#160;(<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>/2)</td></tr>
-<tr class="separator:a7add637ce6e6a22f580a621e454e2f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f236ead1b11b6a59048301ebad560fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">HMASK_384_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a>)-1)</td></tr>
-<tr class="separator:a4f236ead1b11b6a59048301ebad560fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:a16ee35f89cb5f1ddd2dd23ca3060b71e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>[<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>]</td></tr>
-<tr class="separator:a16ee35f89cb5f1ddd2dd23ca3060b71e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee6f1279d5b892bfe71c18395de4c91b"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>[<a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_28</a>]</td></tr>
-<tr class="separator:aee6f1279d5b892bfe71c18395de4c91b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:aaae155a2c272e54cb6debaf4c22c752c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c">BIG_384_28_iszilch</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:aaae155a2c272e54cb6debaf4c22c752c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#aaae155a2c272e54cb6debaf4c22c752c">More...</a><br /></td></tr>
-<tr class="separator:aaae155a2c272e54cb6debaf4c22c752c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a58341593cdb187626cb9ed9fc255c390"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390">BIG_384_28_isunity</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a58341593cdb187626cb9ed9fc255c390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#a58341593cdb187626cb9ed9fc255c390">More...</a><br /></td></tr>
-<tr class="separator:a58341593cdb187626cb9ed9fc255c390"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac824c238b2ad967cc52836a888ce5ec7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7">BIG_384_28_diszilch</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
-<tr class="memdesc:ac824c238b2ad967cc52836a888ce5ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#ac824c238b2ad967cc52836a888ce5ec7">More...</a><br /></td></tr>
-<tr class="separator:ac824c238b2ad967cc52836a888ce5ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afbc6201e5eae7949f8fdaca44dfc95b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6">BIG_384_28_output</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:afbc6201e5eae7949f8fdaca44dfc95b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#afbc6201e5eae7949f8fdaca44dfc95b6">More...</a><br /></td></tr>
-<tr class="separator:afbc6201e5eae7949f8fdaca44dfc95b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4487f671a15c0626f311c012e20c9c2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b">BIG_384_28_rawoutput</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a4487f671a15c0626f311c012e20c9c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a4487f671a15c0626f311c012e20c9c2b">More...</a><br /></td></tr>
-<tr class="separator:a4487f671a15c0626f311c012e20c9c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09cb7359e8678a5ac2e7fc3e332eb29c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c">BIG_384_28_cswap</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int s)</td></tr>
-<tr class="memdesc:a09cb7359e8678a5ac2e7fc3e332eb29c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a09cb7359e8678a5ac2e7fc3e332eb29c">More...</a><br /></td></tr>
-<tr class="separator:a09cb7359e8678a5ac2e7fc3e332eb29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c2f771cf7b5dd17f8e1f05da8bf97a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1">BIG_384_28_cmove</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int s)</td></tr>
-<tr class="memdesc:a7c2f771cf7b5dd17f8e1f05da8bf97a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a7c2f771cf7b5dd17f8e1f05da8bf97a1">More...</a><br /></td></tr>
-<tr class="separator:a7c2f771cf7b5dd17f8e1f05da8bf97a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae71455123481ffaa1c7e08f81d155ff9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9">BIG_384_28_dcmove</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int s)</td></tr>
-<tr class="memdesc:ae71455123481ffaa1c7e08f81d155ff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#ae71455123481ffaa1c7e08f81d155ff9">More...</a><br /></td></tr>
-<tr class="separator:ae71455123481ffaa1c7e08f81d155ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3ab047839afd602bbba5fa530f48a1f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9">BIG_384_28_toBytes</a> (char *a, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a3ab047839afd602bbba5fa530f48a1f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a3ab047839afd602bbba5fa530f48a1f9">More...</a><br /></td></tr>
-<tr class="separator:a3ab047839afd602bbba5fa530f48a1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a51b34c564e69a54e167e4327dc712219"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a51b34c564e69a54e167e4327dc712219">BIG_384_28_fromBytes</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, char *a)</td></tr>
-<tr class="memdesc:a51b34c564e69a54e167e4327dc712219"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a51b34c564e69a54e167e4327dc712219">More...</a><br /></td></tr>
-<tr class="separator:a51b34c564e69a54e167e4327dc712219"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9e2586315194fec22ccc7a45e62d46ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad">BIG_384_28_fromBytesLen</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a9e2586315194fec22ccc7a45e62d46ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#a9e2586315194fec22ccc7a45e62d46ad">More...</a><br /></td></tr>
-<tr class="separator:a9e2586315194fec22ccc7a45e62d46ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a42203ae1493bb5e1f84e2f93b44f543f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f">BIG_384_28_dfromBytesLen</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a42203ae1493bb5e1f84e2f93b44f543f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a42203ae1493bb5e1f84e2f93b44f543f">More...</a><br /></td></tr>
-<tr class="separator:a42203ae1493bb5e1f84e2f93b44f543f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a516ac3f0b90c3eae0d5021c8616b7368"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368">BIG_384_28_doutput</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a516ac3f0b90c3eae0d5021c8616b7368"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a516ac3f0b90c3eae0d5021c8616b7368">More...</a><br /></td></tr>
-<tr class="separator:a516ac3f0b90c3eae0d5021c8616b7368"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afacc56ed2d110adb76534f3835129f70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#afacc56ed2d110adb76534f3835129f70">BIG_384_28_drawoutput</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
-<tr class="memdesc:afacc56ed2d110adb76534f3835129f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#afacc56ed2d110adb76534f3835129f70">More...</a><br /></td></tr>
-<tr class="separator:afacc56ed2d110adb76534f3835129f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af1375dc3069a5b40e2a4721bc6c34ca7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7">BIG_384_28_rcopy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, const <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
-<tr class="memdesc:af1375dc3069a5b40e2a4721bc6c34ca7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#af1375dc3069a5b40e2a4721bc6c34ca7">More...</a><br /></td></tr>
-<tr class="separator:af1375dc3069a5b40e2a4721bc6c34ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63d3817c3c3bce6ac1c39c8b16fac06f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f">BIG_384_28_copy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
-<tr class="memdesc:a63d3817c3c3bce6ac1c39c8b16fac06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#a63d3817c3c3bce6ac1c39c8b16fac06f">More...</a><br /></td></tr>
-<tr class="separator:a63d3817c3c3bce6ac1c39c8b16fac06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab5a69694470155f14f5bee3c62b773d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6">BIG_384_28_dcopy</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
-<tr class="memdesc:ab5a69694470155f14f5bee3c62b773d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#ab5a69694470155f14f5bee3c62b773d6">More...</a><br /></td></tr>
-<tr class="separator:ab5a69694470155f14f5bee3c62b773d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1a726364369270a9e29464eeb9aee469"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a1a726364369270a9e29464eeb9aee469">BIG_384_28_dsucopy</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
-<tr class="memdesc:a1a726364369270a9e29464eeb9aee469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#a1a726364369270a9e29464eeb9aee469">More...</a><br /></td></tr>
-<tr class="separator:a1a726364369270a9e29464eeb9aee469"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9b5cd02ecfebe5b4d0f6ac1edac6c52c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">BIG_384_28_dscopy</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
-<tr class="memdesc:a9b5cd02ecfebe5b4d0f6ac1edac6c52c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">More...</a><br /></td></tr>
-<tr class="separator:a9b5cd02ecfebe5b4d0f6ac1edac6c52c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a52395d29456061e275f180bcbc0fa9d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9">BIG_384_28_sdcopy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
-<tr class="memdesc:a52395d29456061e275f180bcbc0fa9d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a52395d29456061e275f180bcbc0fa9d9">More...</a><br /></td></tr>
-<tr class="separator:a52395d29456061e275f180bcbc0fa9d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a618bf7d7e2be346517e7fbed186f46e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8">BIG_384_28_sducopy</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
-<tr class="memdesc:a618bf7d7e2be346517e7fbed186f46e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a618bf7d7e2be346517e7fbed186f46e8">More...</a><br /></td></tr>
-<tr class="separator:a618bf7d7e2be346517e7fbed186f46e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae43efdb25a16be101f8156b2047d7e9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c">BIG_384_28_zero</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:ae43efdb25a16be101f8156b2047d7e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#ae43efdb25a16be101f8156b2047d7e9c">More...</a><br /></td></tr>
-<tr class="separator:ae43efdb25a16be101f8156b2047d7e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a238e27e5b205b6181f5c718d12c26e00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00">BIG_384_28_dzero</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a238e27e5b205b6181f5c718d12c26e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#a238e27e5b205b6181f5c718d12c26e00">More...</a><br /></td></tr>
-<tr class="separator:a238e27e5b205b6181f5c718d12c26e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab1d79b56107d0bfe073c4dbec9edb424"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424">BIG_384_28_one</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:ab1d79b56107d0bfe073c4dbec9edb424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#ab1d79b56107d0bfe073c4dbec9edb424">More...</a><br /></td></tr>
-<tr class="separator:ab1d79b56107d0bfe073c4dbec9edb424"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7fe701290d9d38d84514372f424187c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a7fe701290d9d38d84514372f424187c5">BIG_384_28_invmod2m</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a7fe701290d9d38d84514372f424187c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a7fe701290d9d38d84514372f424187c5">More...</a><br /></td></tr>
-<tr class="separator:a7fe701290d9d38d84514372f424187c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4a9f21e199c8aa375f10a620421382e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6">BIG_384_28_add</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
-<tr class="memdesc:a4a9f21e199c8aa375f10a620421382e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a4a9f21e199c8aa375f10a620421382e6">More...</a><br /></td></tr>
-<tr class="separator:a4a9f21e199c8aa375f10a620421382e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2bac6adf71cf485e03e34f2900c0e00c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c">BIG_384_28_or</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
-<tr class="memdesc:a2bac6adf71cf485e03e34f2900c0e00c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#a2bac6adf71cf485e03e34f2900c0e00c">More...</a><br /></td></tr>
-<tr class="separator:a2bac6adf71cf485e03e34f2900c0e00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c7488a309fc2c3ae069dfffc9d7c4c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0">BIG_384_28_inc</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int i)</td></tr>
-<tr class="memdesc:a5c7488a309fc2c3ae069dfffc9d7c4c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#a5c7488a309fc2c3ae069dfffc9d7c4c0">More...</a><br /></td></tr>
-<tr class="separator:a5c7488a309fc2c3ae069dfffc9d7c4c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d20d009e9edb553f18c4c65d5ded998"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998">BIG_384_28_sub</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
-<tr class="memdesc:a5d20d009e9edb553f18c4c65d5ded998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a5d20d009e9edb553f18c4c65d5ded998">More...</a><br /></td></tr>
-<tr class="separator:a5d20d009e9edb553f18c4c65d5ded998"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a228697f5aeef97b347d5bd095cbed9bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf">BIG_384_28_dec</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int i)</td></tr>
-<tr class="memdesc:a228697f5aeef97b347d5bd095cbed9bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a228697f5aeef97b347d5bd095cbed9bf">More...</a><br /></td></tr>
-<tr class="separator:a228697f5aeef97b347d5bd095cbed9bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac45376eaec2c8050f1375202e0976534"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac45376eaec2c8050f1375202e0976534">BIG_384_28_dadd</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> z)</td></tr>
-<tr class="memdesc:ac45376eaec2c8050f1375202e0976534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#ac45376eaec2c8050f1375202e0976534">More...</a><br /></td></tr>
-<tr class="separator:ac45376eaec2c8050f1375202e0976534"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4cb202b0eb07a78d009b729089742fea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea">BIG_384_28_dsub</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> z)</td></tr>
-<tr class="memdesc:a4cb202b0eb07a78d009b729089742fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a4cb202b0eb07a78d009b729089742fea">More...</a><br /></td></tr>
-<tr class="separator:a4cb202b0eb07a78d009b729089742fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3da153b25d066347093f0dbbf14eb15d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d">BIG_384_28_imul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int i)</td></tr>
-<tr class="memdesc:a3da153b25d066347093f0dbbf14eb15d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a3da153b25d066347093f0dbbf14eb15d">More...</a><br /></td></tr>
-<tr class="separator:a3da153b25d066347093f0dbbf14eb15d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad63df8e11b6f1cfeb7e9140cab9d561e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e">BIG_384_28_pmul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int i)</td></tr>
-<tr class="memdesc:ad63df8e11b6f1cfeb7e9140cab9d561e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#ad63df8e11b6f1cfeb7e9140cab9d561e">More...</a><br /></td></tr>
-<tr class="separator:ad63df8e11b6f1cfeb7e9140cab9d561e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac436ebf172cfe996920945b3f1b7cb4a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a">BIG_384_28_div3</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:ac436ebf172cfe996920945b3f1b7cb4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#ac436ebf172cfe996920945b3f1b7cb4a">More...</a><br /></td></tr>
-<tr class="separator:ac436ebf172cfe996920945b3f1b7cb4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a47ca896b3c4555f90fd10841c9f87d03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03">BIG_384_28_pxmul</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, int i)</td></tr>
-<tr class="memdesc:a47ca896b3c4555f90fd10841c9f87d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a47ca896b3c4555f90fd10841c9f87d03">More...</a><br /></td></tr>
-<tr class="separator:a47ca896b3c4555f90fd10841c9f87d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac6c217fef49e386b85b023fe05f80723"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723">BIG_384_28_mul</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
-<tr class="memdesc:ac6c217fef49e386b85b023fe05f80723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#ac6c217fef49e386b85b023fe05f80723">More...</a><br /></td></tr>
-<tr class="separator:ac6c217fef49e386b85b023fe05f80723"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adc8507bac205a5f0ccbac18de7b68ca1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1">BIG_384_28_smul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z)</td></tr>
-<tr class="memdesc:adc8507bac205a5f0ccbac18de7b68ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#adc8507bac205a5f0ccbac18de7b68ca1">More...</a><br /></td></tr>
-<tr class="separator:adc8507bac205a5f0ccbac18de7b68ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b9f6d6a15963d0ca607e5143f726651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651">BIG_384_28_sqr</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
-<tr class="memdesc:a0b9f6d6a15963d0ca607e5143f726651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a0b9f6d6a15963d0ca607e5143f726651">More...</a><br /></td></tr>
-<tr class="separator:a0b9f6d6a15963d0ca607e5143f726651"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a847b33bcb40d3241e31b6ee96bd8f4c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6">BIG_384_28_monty</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> a, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> d)</td></tr>
-<tr class="memdesc:a847b33bcb40d3241e31b6ee96bd8f4c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#a847b33bcb40d3241e31b6ee96bd8f4c6">More...</a><br /></td></tr>
-<tr class="separator:a847b33bcb40d3241e31b6ee96bd8f4c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade8e4549ea507d3e683fe81d4d400f71"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71">BIG_384_28_shl</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
-<tr class="memdesc:ade8e4549ea507d3e683fe81d4d400f71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a BIG left by any number of bits - input must be normalised, output normalised.  <a href="#ade8e4549ea507d3e683fe81d4d400f71">More...</a><br /></td></tr>
-<tr class="separator:ade8e4549ea507d3e683fe81d4d400f71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad9ec1f2757cac24535f8bdef1a7a39e8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8">BIG_384_28_fshl</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
-<tr class="memdesc:ad9ec1f2757cac24535f8bdef1a7a39e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast shifts a BIG left by a small number of bits - input must be normalised, output will be normalised.  <a href="#ad9ec1f2757cac24535f8bdef1a7a39e8">More...</a><br /></td></tr>
-<tr class="separator:ad9ec1f2757cac24535f8bdef1a7a39e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8a513d5bf6c2e56d438f0474a3cb069a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a">BIG_384_28_dshl</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, int s)</td></tr>
-<tr class="memdesc:a8a513d5bf6c2e56d438f0474a3cb069a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a DBIG left by any number of bits - input must be normalised, output normalised.  <a href="#a8a513d5bf6c2e56d438f0474a3cb069a">More...</a><br /></td></tr>
-<tr class="separator:a8a513d5bf6c2e56d438f0474a3cb069a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d145f76d6d0b8823761f4ca6370c637"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637">BIG_384_28_shr</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
-<tr class="memdesc:a0d145f76d6d0b8823761f4ca6370c637"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a BIG right by any number of bits - input must be normalised, output normalised.  <a href="#a0d145f76d6d0b8823761f4ca6370c637">More...</a><br /></td></tr>
-<tr class="separator:a0d145f76d6d0b8823761f4ca6370c637"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae24758a390284bae57bd3bc25543309d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae24758a390284bae57bd3bc25543309d">BIG_384_28_ssn</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> r, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> a, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> m)</td></tr>
-<tr class="memdesc:ae24758a390284bae57bd3bc25543309d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#ae24758a390284bae57bd3bc25543309d">More...</a><br /></td></tr>
-<tr class="separator:ae24758a390284bae57bd3bc25543309d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a916fbbcf68123a8a3ed28f427dc34784"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784">BIG_384_28_fshr</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int s)</td></tr>
-<tr class="memdesc:a916fbbcf68123a8a3ed28f427dc34784"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast shifts a BIG right by a small number of bits - input must be normalised, output will be normalised.  <a href="#a916fbbcf68123a8a3ed28f427dc34784">More...</a><br /></td></tr>
-<tr class="separator:a916fbbcf68123a8a3ed28f427dc34784"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa77897ed052e7b53cf745c275bf7e31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31">BIG_384_28_dshr</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, int s)</td></tr>
-<tr class="memdesc:afa77897ed052e7b53cf745c275bf7e31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifts a DBIG right by any number of bits - input must be normalised, output normalised.  <a href="#afa77897ed052e7b53cf745c275bf7e31">More...</a><br /></td></tr>
-<tr class="separator:afa77897ed052e7b53cf745c275bf7e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a33f7b0063f5af0e6c58510966beac8f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8">BIG_384_28_split</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> z, int s)</td></tr>
-<tr class="memdesc:a33f7b0063f5af0e6c58510966beac8f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a33f7b0063f5af0e6c58510966beac8f8">More...</a><br /></td></tr>
-<tr class="separator:a33f7b0063f5af0e6c58510966beac8f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ad8fd01de1709b61612fcc279274600"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600">BIG_384_28_norm</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a4ad8fd01de1709b61612fcc279274600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#a4ad8fd01de1709b61612fcc279274600">More...</a><br /></td></tr>
-<tr class="separator:a4ad8fd01de1709b61612fcc279274600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aef2b744cef6fe1696b79b2aa3fed8fb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2">BIG_384_28_dnorm</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
-<tr class="memdesc:aef2b744cef6fe1696b79b2aa3fed8fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#aef2b744cef6fe1696b79b2aa3fed8fb2">More...</a><br /></td></tr>
-<tr class="separator:aef2b744cef6fe1696b79b2aa3fed8fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2d828ed693c2267db21030a7b8aa65f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f">BIG_384_28_comp</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
-<tr class="memdesc:aa2d828ed693c2267db21030a7b8aa65f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#aa2d828ed693c2267db21030a7b8aa65f">More...</a><br /></td></tr>
-<tr class="separator:aa2d828ed693c2267db21030a7b8aa65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a65f2020e457f2c9d9b98cd595032a962"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962">BIG_384_28_dcomp</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y)</td></tr>
-<tr class="memdesc:a65f2020e457f2c9d9b98cd595032a962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a65f2020e457f2c9d9b98cd595032a962">More...</a><br /></td></tr>
-<tr class="separator:a65f2020e457f2c9d9b98cd595032a962"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c167fb2b00eccd42ce4ae9c796189e4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4">BIG_384_28_nbits</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:a5c167fb2b00eccd42ce4ae9c796189e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a5c167fb2b00eccd42ce4ae9c796189e4">More...</a><br /></td></tr>
-<tr class="separator:a5c167fb2b00eccd42ce4ae9c796189e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad69eeb57746553c390c02ce7fc53fedd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd">BIG_384_28_dnbits</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x)</td></tr>
-<tr class="memdesc:ad69eeb57746553c390c02ce7fc53fedd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#ad69eeb57746553c390c02ce7fc53fedd">More...</a><br /></td></tr>
-<tr class="separator:ad69eeb57746553c390c02ce7fc53fedd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad08e2bf2a67f19eaab434ec546bb7ff6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6">BIG_384_28_mod</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:ad08e2bf2a67f19eaab434ec546bb7ff6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#ad08e2bf2a67f19eaab434ec546bb7ff6">More...</a><br /></td></tr>
-<tr class="separator:ad08e2bf2a67f19eaab434ec546bb7ff6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a15d63ef2bcc446e9d28fb3e5b6184b41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41">BIG_384_28_sdiv</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:a15d63ef2bcc446e9d28fb3e5b6184b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#a15d63ef2bcc446e9d28fb3e5b6184b41">More...</a><br /></td></tr>
-<tr class="separator:a15d63ef2bcc446e9d28fb3e5b6184b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5726874f41c1bc21331297bdd12ad02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02">BIG_384_28_dmod</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:af5726874f41c1bc21331297bdd12ad02"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#af5726874f41c1bc21331297bdd12ad02">More...</a><br /></td></tr>
-<tr class="separator:af5726874f41c1bc21331297bdd12ad02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0c669c1e0764711db98f4690ab4ead02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02">BIG_384_28_ddiv</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:a0c669c1e0764711db98f4690ab4ead02"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a0c669c1e0764711db98f4690ab4ead02">More...</a><br /></td></tr>
-<tr class="separator:a0c669c1e0764711db98f4690ab4ead02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aff7c69eedbb24ec68e7ddf4db9acc4c4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4">BIG_384_28_parity</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x)</td></tr>
-<tr class="memdesc:aff7c69eedbb24ec68e7ddf4db9acc4c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#aff7c69eedbb24ec68e7ddf4db9acc4c4">More...</a><br /></td></tr>
-<tr class="separator:aff7c69eedbb24ec68e7ddf4db9acc4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1332067c6ddd966c3ee106ca9232bcd5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5">BIG_384_28_bit</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int i)</td></tr>
-<tr class="memdesc:a1332067c6ddd966c3ee106ca9232bcd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a1332067c6ddd966c3ee106ca9232bcd5">More...</a><br /></td></tr>
-<tr class="separator:a1332067c6ddd966c3ee106ca9232bcd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a11b73740018af049295c35189bceac13"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a11b73740018af049295c35189bceac13">BIG_384_28_lastbits</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int n)</td></tr>
-<tr class="memdesc:a11b73740018af049295c35189bceac13"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#a11b73740018af049295c35189bceac13">More...</a><br /></td></tr>
-<tr class="separator:a11b73740018af049295c35189bceac13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1668ae2de15408b596eea43adc6f9015"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015">BIG_384_28_random</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a1668ae2de15408b596eea43adc6f9015"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#a1668ae2de15408b596eea43adc6f9015">More...</a><br /></td></tr>
-<tr class="separator:a1668ae2de15408b596eea43adc6f9015"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae9a29e377331b63ca78ce090e32bda20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20">BIG_384_28_randomnum</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:ae9a29e377331b63ca78ce090e32bda20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an unbiased random BIG from a random number generator, reduced with respect to a modulus.  <a href="#ae9a29e377331b63ca78ce090e32bda20">More...</a><br /></td></tr>
-<tr class="separator:ae9a29e377331b63ca78ce090e32bda20"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad9ca3ee5748f621f5e97876f57c3ce5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c">BIG_384_28_modmul</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:ad9ca3ee5748f621f5e97876f57c3ce5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#ad9ca3ee5748f621f5e97876f57c3ce5c">More...</a><br /></td></tr>
-<tr class="separator:ad9ca3ee5748f621f5e97876f57c3ce5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa752852a23b3e0c59a7b664c0e117261"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261">BIG_384_28_moddiv</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:aa752852a23b3e0c59a7b664c0e117261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#aa752852a23b3e0c59a7b664c0e117261">More...</a><br /></td></tr>
-<tr class="separator:aa752852a23b3e0c59a7b664c0e117261"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6dd22adb17f614887efdee1cb57d0e81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81">BIG_384_28_modsqr</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:a6dd22adb17f614887efdee1cb57d0e81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a6dd22adb17f614887efdee1cb57d0e81">More...</a><br /></td></tr>
-<tr class="separator:a6dd22adb17f614887efdee1cb57d0e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2db1bbccaf315a380d68b89d82867077"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077">BIG_384_28_modneg</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:a2db1bbccaf315a380d68b89d82867077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a2db1bbccaf315a380d68b89d82867077">More...</a><br /></td></tr>
-<tr class="separator:a2db1bbccaf315a380d68b89d82867077"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad2c01faa4c2e37c3b546d0a3213e2cd5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5">BIG_384_28_jacobi</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y)</td></tr>
-<tr class="memdesc:ad2c01faa4c2e37c3b546d0a3213e2cd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#ad2c01faa4c2e37c3b546d0a3213e2cd5">More...</a><br /></td></tr>
-<tr class="separator:ad2c01faa4c2e37c3b546d0a3213e2cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3303e969db79f8ea0c7b56a1beb2a79a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a">BIG_384_28_invmodp</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y, <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> n)</td></tr>
-<tr class="memdesc:a3303e969db79f8ea0c7b56a1beb2a79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a3303e969db79f8ea0c7b56a1beb2a79a">More...</a><br /></td></tr>
-<tr class="separator:a3303e969db79f8ea0c7b56a1beb2a79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96499245fbc0e95cea2d5620a737fda6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6">BIG_384_28_mod2m</a> (<a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x, int m)</td></tr>
-<tr class="memdesc:a96499245fbc0e95cea2d5620a737fda6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a96499245fbc0e95cea2d5620a737fda6">More...</a><br /></td></tr>
-<tr class="separator:a96499245fbc0e95cea2d5620a737fda6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a45c30f3703cec5ae3eb6de061012af88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88">BIG_384_28_dmod2m</a> (<a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x, int m)</td></tr>
-<tr class="memdesc:a45c30f3703cec5ae3eb6de061012af88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a45c30f3703cec5ae3eb6de061012af88">More...</a><br /></td></tr>
-<tr class="separator:a45c30f3703cec5ae3eb6de061012af88"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><dl class="section author"><dt>Author</dt><dd>Mike Scott </dd></dl>
-</div><h2 class="groupheader">Macro Definition Documentation</h2>
-<a id="a8f05d26a410dd97379ac2651922a6449"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8f05d26a410dd97379ac2651922a6449">&#9670;&nbsp;</a></span>BIGBITS_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_384_28&#160;&#160;&#160;(8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="a84665e78dbc0947688151a4ac8dc9644"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a84665e78dbc0947688151a4ac8dc9644">&#9670;&nbsp;</a></span>BMASK_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_384_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="a8ecc6d852c9a8295de789234094b1dce"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8ecc6d852c9a8295de789234094b1dce">&#9670;&nbsp;</a></span>DNLEN_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_384_28&#160;&#160;&#160;2*<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="a7add637ce6e6a22f580a621e454e2f1b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7add637ce6e6a22f580a621e454e2f1b">&#9670;&nbsp;</a></span>HBITS_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_384_28&#160;&#160;&#160;(<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="a4f236ead1b11b6a59048301ebad560fe"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4f236ead1b11b6a59048301ebad560fe">&#9670;&nbsp;</a></span>HMASK_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_384_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a8fd2df8afe92c49d115a5fc91d4deb59"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8fd2df8afe92c49d115a5fc91d4deb59">&#9670;&nbsp;</a></span>NEXCESS_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_384_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>-1))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>2^(CHUNK-BASEBITS-1) - digit cannot be multiplied by more than this before normalisation </p>
-
-</div>
-</div>
-<a id="a439daca6a2d884b15798c1e6d9a6ba4e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a439daca6a2d884b15798c1e6d9a6ba4e">&#9670;&nbsp;</a></span>NLEN_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_384_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>-1)/<a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a16ee35f89cb5f1ddd2dd23ca3060b71e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16ee35f89cb5f1ddd2dd23ca3060b71e">&#9670;&nbsp;</a></span>BIG_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28[<a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="aee6f1279d5b892bfe71c18395de4c91b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee6f1279d5b892bfe71c18395de4c91b">&#9670;&nbsp;</a></span>DBIG_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_384_28[<a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_28</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type DBIG as array of chunks </p>
-
-</div>
-</div>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="a4a9f21e199c8aa375f10a620421382e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4a9f21e199c8aa375f10a620421382e6">&#9670;&nbsp;</a></span>BIG_384_28_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, sum of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a1332067c6ddd966c3ee106ca9232bcd5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1332067c6ddd966c3ee106ca9232bcd5">&#9670;&nbsp;</a></span>BIG_384_28_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>the bit of x to be returned </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
-
-</div>
-</div>
-<a id="a7c2f771cf7b5dd17f8e1f05da8bf97a1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c2f771cf7b5dd17f8e1f05da8bf97a1">&#9670;&nbsp;</a></span>BIG_384_28_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>another BIG number </td></tr>
-    <tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="aa2d828ed693c2267db21030a7b8aa65f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa2d828ed693c2267db21030a7b8aa65f">&#9670;&nbsp;</a></span>BIG_384_28_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>first BIG number to be compared </td></tr>
-    <tr><td class="paramname">y</td><td>second BIG number to be compared </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
-
-</div>
-</div>
-<a id="a63d3817c3c3bce6ac1c39c8b16fac06f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a63d3817c3c3bce6ac1c39c8b16fac06f">&#9670;&nbsp;</a></span>BIG_384_28_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a09cb7359e8678a5ac2e7fc3e332eb29c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a09cb7359e8678a5ac2e7fc3e332eb29c">&#9670;&nbsp;</a></span>BIG_384_28_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Conditionally swaps parameters in constant time (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>another BIG number </td></tr>
-    <tr><td class="paramname">s</td><td>swap takes place if not equal to 0 </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ac45376eaec2c8050f1375202e0976534"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac45376eaec2c8050f1375202e0976534">&#9670;&nbsp;</a></span>BIG_384_28_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, sum of other two - output not normalised </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">z</td><td>DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae71455123481ffaa1c7e08f81d155ff9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae71455123481ffaa1c7e08f81d155ff9">&#9670;&nbsp;</a></span>BIG_384_28_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Conditionally copies second parameter to the first (without branching) </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>another DBIG number </td></tr>
-    <tr><td class="paramname">s</td><td>copy takes place if not equal to 0 </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a65f2020e457f2c9d9b98cd595032a962"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a65f2020e457f2c9d9b98cd595032a962">&#9670;&nbsp;</a></span>BIG_384_28_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>first DBIG number to be compared </td></tr>
-    <tr><td class="paramname">y</td><td>second DBIG number to be compared </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>-1 is x&lt;y, 0 if x=y, 1 if x&gt;y </dd></dl>
-
-</div>
-</div>
-<a id="ab5a69694470155f14f5bee3c62b773d6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab5a69694470155f14f5bee3c62b773d6">&#9670;&nbsp;</a></span>BIG_384_28_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a0c669c1e0764711db98f4690ab4ead02"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0c669c1e0764711db98f4690ab4ead02">&#9670;&nbsp;</a></span>BIG_384_28_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y/n </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">n</td><td>Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a228697f5aeef97b347d5bd095cbed9bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a228697f5aeef97b347d5bd095cbed9bf">&#9670;&nbsp;</a></span>BIG_384_28_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be decremented </td></tr>
-    <tr><td class="paramname">i</td><td>integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a42203ae1493bb5e1f84e2f93b44f543f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a42203ae1493bb5e1f84e2f93b44f543f">&#9670;&nbsp;</a></span>BIG_384_28_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-    <tr><td class="paramname">s</td><td>byte array length </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ac824c238b2ad967cc52836a888ce5ec7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac824c238b2ad967cc52836a888ce5ec7">&#9670;&nbsp;</a></span>BIG_384_28_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
-
-</div>
-</div>
-<a id="ac436ebf172cfe996920945b3f1b7cb4a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac436ebf172cfe996920945b3f1b7cb4a">&#9670;&nbsp;</a></span>BIG_384_28_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Remainder </dd></dl>
-
-</div>
-</div>
-<a id="af5726874f41c1bc21331297bdd12ad02"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af5726874f41c1bc21331297bdd12ad02">&#9670;&nbsp;</a></span>BIG_384_28_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used. y is destroyed. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y mod n </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">n</td><td>Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a45c30f3703cec5ae3eb6de061012af88"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a45c30f3703cec5ae3eb6de061012af88">&#9670;&nbsp;</a></span>BIG_384_28_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<pre class="fragment">Truncation
-@param x DBIG number, on reduced mod 2^m
-@param m new truncated size
-</pre> 
-</div>
-</div>
-<a id="ad69eeb57746553c390c02ce7fc53fedd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad69eeb57746553c390c02ce7fc53fedd">&#9670;&nbsp;</a></span>BIG_384_28_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
-
-</div>
-</div>
-<a id="aef2b744cef6fe1696b79b2aa3fed8fb2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aef2b744cef6fe1696b79b2aa3fed8fb2">&#9670;&nbsp;</a></span>BIG_384_28_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>All digits of the input DBIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be normalised </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a516ac3f0b90c3eae0d5021c8616b7368"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a516ac3f0b90c3eae0d5021c8616b7368">&#9670;&nbsp;</a></span>BIG_384_28_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="afacc56ed2d110adb76534f3835129f70"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afacc56ed2d110adb76534f3835129f70">&#9670;&nbsp;</a></span>BIG_384_28_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a9b5cd02ecfebe5b4d0f6ac1edac6c52c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">&#9670;&nbsp;</a></span>BIG_384_28_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a8a513d5bf6c2e56d438f0474a3cb069a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8a513d5bf6c2e56d438f0474a3cb069a">&#9670;&nbsp;</a></span>BIG_384_28_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="afa77897ed052e7b53cf745c275bf7e31"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afa77897ed052e7b53cf745c275bf7e31">&#9670;&nbsp;</a></span>BIG_384_28_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a4cb202b0eb07a78d009b729089742fea"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4cb202b0eb07a78d009b729089742fea">&#9670;&nbsp;</a></span>BIG_384_28_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, difference of other two - output not normalised </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">z</td><td>DBIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a1a726364369270a9e29464eeb9aee469"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1a726364369270a9e29464eeb9aee469">&#9670;&nbsp;</a></span>BIG_384_28_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a238e27e5b205b6181f5c718d12c26e00"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a238e27e5b205b6181f5c718d12c26e00">&#9670;&nbsp;</a></span>BIG_384_28_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number to be set to zero </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a51b34c564e69a54e167e4327dc712219"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a51b34c564e69a54e167e4327dc712219">&#9670;&nbsp;</a></span>BIG_384_28_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a9e2586315194fec22ccc7a45e62d46ad"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9e2586315194fec22ccc7a45e62d46ad">&#9670;&nbsp;</a></span>BIG_384_28_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-    <tr><td class="paramname">s</td><td>byte array length </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ad9ec1f2757cac24535f8bdef1a7a39e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad9ec1f2757cac24535f8bdef1a7a39e8">&#9670;&nbsp;</a></span>BIG_384_28_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Overflow bits </dd></dl>
-
-</div>
-</div>
-<a id="a916fbbcf68123a8a3ed28f427dc34784"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a916fbbcf68123a8a3ed28f427dc34784">&#9670;&nbsp;</a></span>BIG_384_28_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>The number of bits to be shifted must be less than BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Shifted out bits </dd></dl>
-
-</div>
-</div>
-<a id="a3da153b25d066347093f0dbbf14eb15d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3da153b25d066347093f0dbbf14eb15d">&#9670;&nbsp;</a></span>BIG_384_28_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>small integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a5c7488a309fc2c3ae069dfffc9d7c4c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5c7488a309fc2c3ae069dfffc9d7c4c0">&#9670;&nbsp;</a></span>BIG_384_28_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be incremented </td></tr>
-    <tr><td class="paramname">i</td><td>integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a7fe701290d9d38d84514372f424187c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7fe701290d9d38d84514372f424187c5">&#9670;&nbsp;</a></span>BIG_384_28_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be inverted </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a3303e969db79f8ea0c7b56a1beb2a79a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3303e969db79f8ea0c7b56a1beb2a79a">&#9670;&nbsp;</a></span>BIG_384_28_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Modular Inversion - This is slow. Uses binary method. </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = 1/y mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a58341593cdb187626cb9ed9fc255c390"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a58341593cdb187626cb9ed9fc255c390">&#9670;&nbsp;</a></span>BIG_384_28_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if one, else returns 0 </dd></dl>
-
-</div>
-</div>
-<a id="aaae155a2c272e54cb6debaf4c22c752c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaae155a2c272e54cb6debaf4c22c752c">&#9670;&nbsp;</a></span>BIG_384_28_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl>
-
-</div>
-</div>
-<a id="ad2c01faa4c2e37c3b546d0a3213e2cd5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad2c01faa4c2e37c3b546d0a3213e2cd5">&#9670;&nbsp;</a></span>BIG_384_28_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Jacobi symbol, -1,0 or 1 </dd></dl>
-
-</div>
-</div>
-<a id="a11b73740018af049295c35189bceac13"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a11b73740018af049295c35189bceac13">&#9670;&nbsp;</a></span>BIG_384_28_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>number of bits to return. Assumed to be less than BASEBITS. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>least significant n bits as an integer </dd></dl>
-
-</div>
-</div>
-<a id="ad08e2bf2a67f19eaab434ec546bb7ff6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad08e2bf2a67f19eaab434ec546bb7ff6">&#9670;&nbsp;</a></span>BIG_384_28_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be reduced mod n </td></tr>
-    <tr><td class="paramname">n</td><td>The modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a96499245fbc0e95cea2d5620a737fda6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a96499245fbc0e95cea2d5620a737fda6">&#9670;&nbsp;</a></span>BIG_384_28_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<pre class="fragment">Truncation
-@param x BIG number, on reduced mod 2^m
-@param m new truncated size
-</pre> 
-</div>
-</div>
-<a id="aa752852a23b3e0c59a7b664c0e117261"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa752852a23b3e0c59a7b664c0e117261">&#9670;&nbsp;</a></span>BIG_384_28_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow method for modular division </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y/z mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ad9ca3ee5748f621f5e97876f57c3ce5c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad9ca3ee5748f621f5e97876f57c3ce5c">&#9670;&nbsp;</a></span>BIG_384_28_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>brief return NAF (Non-Adjacent-Form) value as +/- 1, 3 or 5, inputs must be normalised</p>
-<p>Given x and 3*x extracts NAF value from given bit position, and returns number of bits processed, and number of trailing zeros detected if any param x BIG number param x3 BIG number, three times x param i bit position param nbs pointer to integer returning number of bits processed param nzs pointer to integer returning number of trailing 0s return + or - 1, 3 or 5Slow method for modular multiplication </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y*z mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a2db1bbccaf315a380d68b89d82867077"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2db1bbccaf315a380d68b89d82867077">&#9670;&nbsp;</a></span>BIG_384_28_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Modular negation </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = -y mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a6dd22adb17f614887efdee1cb57d0e81"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6dd22adb17f614887efdee1cb57d0e81">&#9670;&nbsp;</a></span>BIG_384_28_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow method for modular squaring </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit = y^2 mod n </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">n</td><td>The BIG Modulus </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a847b33bcb40d3241e31b6ee96bd8f4c6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a847b33bcb40d3241e31b6ee96bd8f4c6">&#9670;&nbsp;</a></span>BIG_384_28_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>md</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
-          <td class="paramname"><em>MC</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>d</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">a</td><td>BIG number, reduction of a BIG </td></tr>
-    <tr><td class="paramname">md</td><td>BIG number, the modulus </td></tr>
-    <tr><td class="paramname">MC</td><td>the Montgomery Constant </td></tr>
-    <tr><td class="paramname">d</td><td>DBIG number to be reduced </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ac6c217fef49e386b85b023fe05f80723"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac6c217fef49e386b85b023fe05f80723">&#9670;&nbsp;</a></span>BIG_384_28_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a5c167fb2b00eccd42ce4ae9c796189e4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5c167fb2b00eccd42ce4ae9c796189e4">&#9670;&nbsp;</a></span>BIG_384_28_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Number of bits in x </dd></dl>
-
-</div>
-</div>
-<a id="a4ad8fd01de1709b61612fcc279274600"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4ad8fd01de1709b61612fcc279274600">&#9670;&nbsp;</a></span>BIG_384_28_norm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>All digits of the input BIG are reduced mod 2^BASEBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be normalised </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ab1d79b56107d0bfe073c4dbec9edb424"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab1d79b56107d0bfe073c4dbec9edb424">&#9670;&nbsp;</a></span>BIG_384_28_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be set to one. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a2bac6adf71cf485e03e34f2900c0e00c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2bac6adf71cf485e03e34f2900c0e00c">&#9670;&nbsp;</a></span>BIG_384_28_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, or of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="afbc6201e5eae7949f8fdaca44dfc95b6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afbc6201e5eae7949f8fdaca44dfc95b6">&#9670;&nbsp;</a></span>BIG_384_28_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="aff7c69eedbb24ec68e7ddf4db9acc4c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aff7c69eedbb24ec68e7ddf4db9acc4c4">&#9670;&nbsp;</a></span>BIG_384_28_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl>
-
-</div>
-</div>
-<a id="ad63df8e11b6f1cfeb7e9140cab9d561e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad63df8e11b6f1cfeb7e9140cab9d561e">&#9670;&nbsp;</a></span>BIG_384_28_pmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>small integer </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Overflowing bits </dd></dl>
-
-</div>
-</div>
-<a id="a47ca896b3c4555f90fd10841c9f87d03"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a47ca896b3c4555f90fd10841c9f87d03">&#9670;&nbsp;</a></span>BIG_384_28_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>i</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">i</td><td>small integer </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a1668ae2de15408b596eea43adc6f9015"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1668ae2de15408b596eea43adc6f9015">&#9670;&nbsp;</a></span>BIG_384_28_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
-          <td class="paramname"><em>r</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
-    <tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae9a29e377331b63ca78ce090e32bda20"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae9a29e377331b63ca78ce090e32bda20">&#9670;&nbsp;</a></span>BIG_384_28_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
-          <td class="paramname"><em>r</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Assumes that the random number generator has been suitably initialised </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, on exit a random number </td></tr>
-    <tr><td class="paramname">n</td><td>The modulus </td></tr>
-    <tr><td class="paramname">r</td><td>A pointer to a Cryptographically Secure Random Number Generator </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a4487f671a15c0626f311c012e20c9c2b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4487f671a15c0626f311c012e20c9c2b">&#9670;&nbsp;</a></span>BIG_384_28_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>a BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="af1375dc3069a5b40e2a4721bc6c34ca7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af1375dc3069a5b40e2a4721bc6c34ca7">&#9670;&nbsp;</a></span>BIG_384_28_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number in ROM </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a52395d29456061e275f180bcbc0fa9d9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52395d29456061e275f180bcbc0fa9d9">&#9670;&nbsp;</a></span>BIG_384_28_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a15d63ef2bcc446e9d28fb3e5b6184b41"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a15d63ef2bcc446e9d28fb3e5b6184b41">&#9670;&nbsp;</a></span>BIG_384_28_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Slow but rarely used </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be divided by n </td></tr>
-    <tr><td class="paramname">n</td><td>The Divisor </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a618bf7d7e2be346517e7fbed186f46e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a618bf7d7e2be346517e7fbed186f46e8">&#9670;&nbsp;</a></span>BIG_384_28_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-    <tr><td class="paramname">y</td><td>DBIG number to be copied </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ade8e4549ea507d3e683fe81d4d400f71"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade8e4549ea507d3e683fe81d4d400f71">&#9670;&nbsp;</a></span>BIG_384_28_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a0d145f76d6d0b8823761f4ca6370c637"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d145f76d6d0b8823761f4ca6370c637">&#9670;&nbsp;</a></span>BIG_384_28_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be shifted </td></tr>
-    <tr><td class="paramname">s</td><td>Number of bits to shift </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="adc8507bac205a5f0ccbac18de7b68ca1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adc8507bac205a5f0ccbac18de7b68ca1">&#9670;&nbsp;</a></span>BIG_384_28_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Note that the product must fit into a BIG, and x must be distinct from y and z </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, product of other two </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a33f7b0063f5af0e6c58510966beac8f8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a33f7b0063f5af0e6c58510966beac8f8">&#9670;&nbsp;</a></span>BIG_384_28_split()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_28_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>s</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Internal function. The value of s must be approximately in the middle of the DBIG. Typically used to extract z mod 2^MODBITS and z/2^MODBITS </p><dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, top half of z </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number, bottom half of z </td></tr>
-    <tr><td class="paramname">z</td><td>DBIG number to be split in two. </td></tr>
-    <tr><td class="paramname">s</td><td>Bit position at which to split </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>carry-out from top half </dd></dl>
-
-</div>
-</div>
-<a id="a0b9f6d6a15963d0ca607e5143f726651"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0b9f6d6a15963d0ca607e5143f726651">&#9670;&nbsp;</a></span>BIG_384_28_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>DBIG number, square of a BIG </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number to be squared </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae24758a390284bae57bd3bc25543309d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae24758a390284bae57bd3bc25543309d">&#9670;&nbsp;</a></span>BIG_384_28_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_28_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>m</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">r</td><td>BIG number normalised output </td></tr>
-    <tr><td class="paramname">a</td><td>BIG number to be subtracted from </td></tr>
-    <tr><td class="paramname">m</td><td>BIG number to be shifted and subtracted </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>sign of r </dd></dl>
-
-</div>
-</div>
-<a id="a5d20d009e9edb553f18c4c65d5ded998"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5d20d009e9edb553f18c4c65d5ded998">&#9670;&nbsp;</a></span>BIG_384_28_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>z</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number, difference of other two - output not normalised </td></tr>
-    <tr><td class="paramname">y</td><td>BIG number </td></tr>
-    <tr><td class="paramname">z</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a3ab047839afd602bbba5fa530f48a1f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3ab047839afd602bbba5fa530f48a1f9">&#9670;&nbsp;</a></span>BIG_384_28_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_toBytes </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">a</td><td>byte array </td></tr>
-    <tr><td class="paramname">x</td><td>BIG number </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ae43efdb25a16be101f8156b2047d7e9c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae43efdb25a16be101f8156b2047d7e9c">&#9670;&nbsp;</a></span>BIG_384_28_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_28_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>&#160;</td>
-          <td class="paramname"><em>x</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">x</td><td>BIG number to be set to zero </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.8.15
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/big__384__28_8h_source.html b/website/static/cdocs/big__384__28_8h_source.html
deleted file mode 100644
index 24a9218..0000000
--- a/website/static/cdocs/big__384__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_384_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_384_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__384__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_384_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_384_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__384__28_8h.html">config_big_384_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__384__28_8h.html#a8f05d26a410dd97379ac2651922a6449">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_384_28 (8*MODBYTES_384_28) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">   40</a></span>&#160;<span class="preprocessor">#define NLEN_384_28 (1+((8*MODBYTES_384_28-1)/BASEBITS_384_28)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_384_28 2*NLEN_384_28 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">   42</a></span>&#160;<span class="preprocessor">#define BMASK_384_28 (((chunk)1&lt;&lt;BASEBITS_384_28)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__384__28_8h.html#a8fd2df8afe92c49d115a5fc91d4deb59">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_384_28 (1&lt;&lt;(CHUNK-BASEBITS_384_28-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">   45</a></span>&#160;<span class="preprocessor">#define HBITS_384_28 (BASEBITS_384_28/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">   46</a></span>&#160;<span class="preprocessor">#define HMASK_384_28 (((chunk)1&lt;&lt;HBITS_384_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_384_28 NLEN_384_28</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_384_28 (NLEN_384_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__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>[<a class="code" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_384_28 DNLEN_384_28</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_384_28 (DNLEN_384_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__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>[<a class="code" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_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__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a>[<a class="code" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a>[<a class="code" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_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__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c">BIG_384_28_iszilch</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390">BIG_384_28_isunity</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7">BIG_384_28_diszilch</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6">BIG_384_28_output</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b">BIG_384_28_rawoutput</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c">BIG_384_28_cswap</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1">BIG_384_28_cmove</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9">BIG_384_28_dcmove</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9">BIG_384_28_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a51b34c564e69a54e167e4327dc712219">BIG_384_28_fromBytes</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad">BIG_384_28_fromBytesLen</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f">BIG_384_28_dfromBytesLen</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368">BIG_384_28_doutput</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#afacc56ed2d110adb76534f3835129f70">BIG_384_28_drawoutput</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7">BIG_384_28_rcopy</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<span class="keyword">const</span> <a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f">BIG_384_28_copy</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6">BIG_384_28_dcopy</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a1a726364369270a9e29464eeb9aee469">BIG_384_28_dsucopy</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">BIG_384_28_dscopy</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9">BIG_384_28_sdcopy</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8">BIG_384_28_sducopy</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c">BIG_384_28_zero</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00">BIG_384_28_dzero</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424">BIG_384_28_one</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a7fe701290d9d38d84514372f424187c5">BIG_384_28_invmod2m</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6">BIG_384_28_add</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c">BIG_384_28_or</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0">BIG_384_28_inc</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998">BIG_384_28_sub</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf">BIG_384_28_dec</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ac45376eaec2c8050f1375202e0976534">BIG_384_28_dadd</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea">BIG_384_28_dsub</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d">BIG_384_28_imul</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e">BIG_384_28_pmul</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a">BIG_384_28_div3</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03">BIG_384_28_pxmul</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723">BIG_384_28_mul</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1">BIG_384_28_smul</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651">BIG_384_28_sqr</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6">BIG_384_28_monty</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> a,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71">BIG_384_28_shl</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8">BIG_384_28_fshl</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a">BIG_384_28_dshl</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637">BIG_384_28_shr</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ae24758a390284bae57bd3bc25543309d">BIG_384_28_ssn</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> r,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> a, <a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784">BIG_384_28_fshr</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31">BIG_384_28_dshr</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8">BIG_384_28_split</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600">BIG_384_28_norm</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2">BIG_384_28_dnorm</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f">BIG_384_28_comp</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962">BIG_384_28_dcomp</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4">BIG_384_28_nbits</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd">BIG_384_28_dnbits</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6">BIG_384_28_mod</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41">BIG_384_28_sdiv</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02">BIG_384_28_dmod</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02">BIG_384_28_ddiv</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4">BIG_384_28_parity</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5">BIG_384_28_bit</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a11b73740018af049295c35189bceac13">BIG_384_28_lastbits</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015">BIG_384_28_random</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20">BIG_384_28_randomnum</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c">BIG_384_28_modmul</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261">BIG_384_28_moddiv</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> z,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81">BIG_384_28_modsqr</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077">BIG_384_28_modneg</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5">BIG_384_28_jacobi</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a">BIG_384_28_invmodp</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> x,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a> y,<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6">BIG_384_28_mod2m</a>(<a class="code" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_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__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88">BIG_384_28_dmod2m</a>(<a class="code" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_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_384_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__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">BMASK_384_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__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_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_384_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__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">HMASK_384_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__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">HMASK_384_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__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_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__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">HMASK_384_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__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_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__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_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__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">BMASK_384_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__384__28_8h_html_a33f7b0063f5af0e6c58510966beac8f8"><div class="ttname"><a href="big__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8">BIG_384_28_split</a></div><div class="ttdeci">chunk BIG_384_28_split(BIG_384_28 x, BIG_384_28 y, DBIG_384_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_384_28.c:932</div></div>
-<div class="ttc" id="big__384__28_8h_html_a4487f671a15c0626f311c012e20c9c2b"><div class="ttname"><a href="big__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b">BIG_384_28_rawoutput</a></div><div class="ttdeci">void BIG_384_28_rawoutput(BIG_384_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_384_28.c:77</div></div>
-<div class="ttc" id="big__384__28_8h_html_a3da153b25d066347093f0dbbf14eb15d"><div class="ttname"><a href="big__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d">BIG_384_28_imul</a></div><div class="ttdeci">void BIG_384_28_imul(BIG_384_28 x, BIG_384_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_384_28.c:450</div></div>
-<div class="ttc" id="big__384__28_8h_html_a5c7488a309fc2c3ae069dfffc9d7c4c0"><div class="ttname"><a href="big__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0">BIG_384_28_inc</a></div><div class="ttdeci">void BIG_384_28_inc(BIG_384_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_384_28.c:386</div></div>
-<div class="ttc" id="big__384__28_8h_html_a5d20d009e9edb553f18c4c65d5ded998"><div class="ttname"><a href="big__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998">BIG_384_28_sub</a></div><div class="ttdeci">void BIG_384_28_sub(BIG_384_28 x, BIG_384_28 y, BIG_384_28 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:397</div></div>
-<div class="ttc" id="big__384__28_8h_html_ab5a69694470155f14f5bee3c62b773d6"><div class="ttname"><a href="big__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6">BIG_384_28_dcopy</a></div><div class="ttdeci">void BIG_384_28_dcopy(DBIG_384_28 x, DBIG_384_28 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:251</div></div>
-<div class="ttc" id="big__384__28_8h_html_a916fbbcf68123a8a3ed28f427dc34784"><div class="ttname"><a href="big__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784">BIG_384_28_fshr</a></div><div class="ttdeci">int BIG_384_28_fshr(BIG_384_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_384_28.c:906</div></div>
-<div class="ttc" id="big__384__28_8h_html_a4f236ead1b11b6a59048301ebad560fe"><div class="ttname"><a href="big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">HMASK_384_28</a></div><div class="ttdeci">#define HMASK_384_28</div><div class="ttdef"><b>Definition:</b> big_384_28.h:46</div></div>
-<div class="ttc" id="big__384__28_8h_html_a9e2586315194fec22ccc7a45e62d46ad"><div class="ttname"><a href="big__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad">BIG_384_28_fromBytesLen</a></div><div class="ttdeci">void BIG_384_28_fromBytesLen(BIG_384_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_384_28.c:170</div></div>
-<div class="ttc" id="big__384__28_8h_html_a8a513d5bf6c2e56d438f0474a3cb069a"><div class="ttname"><a href="big__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a">BIG_384_28_dshl</a></div><div class="ttdeci">void BIG_384_28_dshl(DBIG_384_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_384_28.c:846</div></div>
-<div class="ttc" id="big__384__28_8h_html_ac824c238b2ad967cc52836a888ce5ec7"><div class="ttname"><a href="big__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7">BIG_384_28_diszilch</a></div><div class="ttdeci">int BIG_384_28_diszilch(DBIG_384_28 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:45</div></div>
-<div class="ttc" id="config__big__384__28_8h_html"><div class="ttname"><a href="config__big__384__28_8h.html">config_big_384_28.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__384__28_8h_html_a4a9f21e199c8aa375f10a620421382e6"><div class="ttname"><a href="big__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6">BIG_384_28_add</a></div><div class="ttdeci">void BIG_384_28_add(BIG_384_28 x, BIG_384_28 y, BIG_384_28 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:356</div></div>
-<div class="ttc" id="big__384__28_8h_html_a0d145f76d6d0b8823761f4ca6370c637"><div class="ttname"><a href="big__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637">BIG_384_28_shr</a></div><div class="ttdeci">void BIG_384_28_shr(BIG_384_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_384_28.c:864</div></div>
-<div class="ttc" id="big__384__28_8h_html_ae24758a390284bae57bd3bc25543309d"><div class="ttname"><a href="big__384__28_8h.html#ae24758a390284bae57bd3bc25543309d">BIG_384_28_ssn</a></div><div class="ttdeci">int BIG_384_28_ssn(BIG_384_28 r, BIG_384_28 a, BIG_384_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_384_28.c:877</div></div>
-<div class="ttc" id="big__384__28_8h_html_ad69eeb57746553c390c02ce7fc53fedd"><div class="ttname"><a href="big__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd">BIG_384_28_dnbits</a></div><div class="ttdeci">int BIG_384_28_dnbits(DBIG_384_28 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1060</div></div>
-<div class="ttc" id="big__384__28_8h_html_a6dd22adb17f614887efdee1cb57d0e81"><div class="ttname"><a href="big__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81">BIG_384_28_modsqr</a></div><div class="ttdeci">void BIG_384_28_modsqr(BIG_384_28 x, BIG_384_28 y, BIG_384_28 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1315</div></div>
-<div class="ttc" id="big__384__28_8h_html_a15d63ef2bcc446e9d28fb3e5b6184b41"><div class="ttname"><a href="big__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41">BIG_384_28_sdiv</a></div><div class="ttdeci">void BIG_384_28_sdiv(BIG_384_28 x, BIG_384_28 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1188</div></div>
-<div class="ttc" id="big__384__28_8h_html_a65f2020e457f2c9d9b98cd595032a962"><div class="ttname"><a href="big__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962">BIG_384_28_dcomp</a></div><div class="ttdeci">int BIG_384_28_dcomp(DBIG_384_28 x, DBIG_384_28 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1026</div></div>
-<div class="ttc" id="big__384__28_8h_html_a618bf7d7e2be346517e7fbed186f46e8"><div class="ttname"><a href="big__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8">BIG_384_28_sducopy</a></div><div class="ttdeci">void BIG_384_28_sducopy(BIG_384_28 x, DBIG_384_28 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:306</div></div>
-<div class="ttc" id="big__384__28_8h_html_ae9a29e377331b63ca78ce090e32bda20"><div class="ttname"><a href="big__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20">BIG_384_28_randomnum</a></div><div class="ttdeci">void BIG_384_28_randomnum(BIG_384_28 x, BIG_384_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_384_28.c:1274</div></div>
-<div class="ttc" id="big__384__28_8h_html_a2bac6adf71cf485e03e34f2900c0e00c"><div class="ttname"><a href="big__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c">BIG_384_28_or</a></div><div class="ttdeci">void BIG_384_28_or(BIG_384_28 x, BIG_384_28 y, BIG_384_28 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:371</div></div>
-<div class="ttc" id="big__384__28_8h_html_a5c167fb2b00eccd42ce4ae9c796189e4"><div class="ttname"><a href="big__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4">BIG_384_28_nbits</a></div><div class="ttdeci">int BIG_384_28_nbits(BIG_384_28 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1040</div></div>
-<div class="ttc" id="big__384__28_8h_html_af1375dc3069a5b40e2a4721bc6c34ca7"><div class="ttname"><a href="big__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7">BIG_384_28_rcopy</a></div><div class="ttdeci">void BIG_384_28_rcopy(BIG_384_28 x, const BIG_384_28 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:239</div></div>
-<div class="ttc" id="big__384__28_8h_html_a439daca6a2d884b15798c1e6d9a6ba4e"><div class="ttname"><a href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">NLEN_384_28</a></div><div class="ttdeci">#define NLEN_384_28</div><div class="ttdef"><b>Definition:</b> big_384_28.h:40</div></div>
-<div class="ttc" id="big__384__28_8h_html_ad08e2bf2a67f19eaab434ec546bb7ff6"><div class="ttname"><a href="big__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6">BIG_384_28_mod</a></div><div class="ttdeci">void BIG_384_28_mod(BIG_384_28 x, BIG_384_28 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1082</div></div>
-<div class="ttc" id="big__384__28_8h_html_a51b34c564e69a54e167e4327dc712219"><div class="ttname"><a href="big__384__28_8h.html#a51b34c564e69a54e167e4327dc712219">BIG_384_28_fromBytes</a></div><div class="ttdeci">void BIG_384_28_fromBytes(BIG_384_28 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:155</div></div>
-<div class="ttc" id="big__384__28_8h_html_a4ad8fd01de1709b61612fcc279274600"><div class="ttname"><a href="big__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600">BIG_384_28_norm</a></div><div class="ttdeci">chunk BIG_384_28_norm(BIG_384_28 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:976</div></div>
-<div class="ttc" id="big__384__28_8h_html_a4cb202b0eb07a78d009b729089742fea"><div class="ttname"><a href="big__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea">BIG_384_28_dsub</a></div><div class="ttdeci">void BIG_384_28_dsub(DBIG_384_28 x, DBIG_384_28 y, DBIG_384_28 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:413</div></div>
-<div class="ttc" id="big__384__28_8h_html_a7fe701290d9d38d84514372f424187c5"><div class="ttname"><a href="big__384__28_8h.html#a7fe701290d9d38d84514372f424187c5">BIG_384_28_invmod2m</a></div><div class="ttdeci">void BIG_384_28_invmod2m(BIG_384_28 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__384__28_8h_html_a0c669c1e0764711db98f4690ab4ead02"><div class="ttname"><a href="big__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02">BIG_384_28_ddiv</a></div><div class="ttdeci">void BIG_384_28_ddiv(BIG_384_28 x, DBIG_384_28 y, BIG_384_28 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1149</div></div>
-<div class="ttc" id="big__384__28_8h_html_ad9ec1f2757cac24535f8bdef1a7a39e8"><div class="ttname"><a href="big__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8">BIG_384_28_fshl</a></div><div class="ttdeci">int BIG_384_28_fshl(BIG_384_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_384_28.c:832</div></div>
-<div class="ttc" id="big__384__28_8h_html_a7c2f771cf7b5dd17f8e1f05da8bf97a1"><div class="ttname"><a href="big__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1">BIG_384_28_cmove</a></div><div class="ttdeci">void BIG_384_28_cmove(BIG_384_28 x, BIG_384_28 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:110</div></div>
-<div class="ttc" id="config__big__384__28_8h_html_a63908e1d54e13f099cce3ef2abf90f96"><div class="ttname"><a href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a></div><div class="ttdeci">#define BASEBITS_384_28</div><div class="ttdef"><b>Definition:</b> config_big_384_28.h:35</div></div>
-<div class="ttc" id="big__384__28_8h_html_a42203ae1493bb5e1f84e2f93b44f543f"><div class="ttname"><a href="big__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f">BIG_384_28_dfromBytesLen</a></div><div class="ttdeci">void BIG_384_28_dfromBytesLen(DBIG_384_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_384_28.c:1485</div></div>
-<div class="ttc" id="big__384__28_8h_html_a516ac3f0b90c3eae0d5021c8616b7368"><div class="ttname"><a href="big__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368">BIG_384_28_doutput</a></div><div class="ttdeci">void BIG_384_28_doutput(DBIG_384_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:190</div></div>
-<div class="ttc" id="big__384__28_8h_html_ab1d79b56107d0bfe073c4dbec9edb424"><div class="ttname"><a href="big__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424">BIG_384_28_one</a></div><div class="ttdeci">void BIG_384_28_one(BIG_384_28 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_384_28.c:340</div></div>
-<div class="ttc" id="big__384__28_8h_html_a16ee35f89cb5f1ddd2dd23ca3060b71e"><div class="ttname"><a href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">BIG_384_28</a></div><div class="ttdeci">chunk BIG_384_28[NLEN_384_28]</div><div class="ttdef"><b>Definition:</b> big_384_28.h:58</div></div>
-<div class="ttc" id="big__384__28_8h_html_ae43efdb25a16be101f8156b2047d7e9c"><div class="ttname"><a href="big__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c">BIG_384_28_zero</a></div><div class="ttdeci">void BIG_384_28_zero(BIG_384_28 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:319</div></div>
-<div class="ttc" id="big__384__28_8h_html_ae71455123481ffaa1c7e08f81d155ff9"><div class="ttname"><a href="big__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9">BIG_384_28_dcmove</a></div><div class="ttdeci">void BIG_384_28_dcmove(BIG_384_28 x, BIG_384_28 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__384__28_8h_html_afbc6201e5eae7949f8fdaca44dfc95b6"><div class="ttname"><a href="big__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6">BIG_384_28_output</a></div><div class="ttdeci">void BIG_384_28_output(BIG_384_28 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:55</div></div>
-<div class="ttc" id="big__384__28_8h_html_a228697f5aeef97b347d5bd095cbed9bf"><div class="ttname"><a href="big__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf">BIG_384_28_dec</a></div><div class="ttdeci">void BIG_384_28_dec(BIG_384_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_384_28.c:440</div></div>
-<div class="ttc" id="big__384__28_8h_html_a52395d29456061e275f180bcbc0fa9d9"><div class="ttname"><a href="big__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9">BIG_384_28_sdcopy</a></div><div class="ttdeci">void BIG_384_28_sdcopy(BIG_384_28 x, DBIG_384_28 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:294</div></div>
-<div class="ttc" id="big__384__28_8h_html_a58341593cdb187626cb9ed9fc255c390"><div class="ttname"><a href="big__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390">BIG_384_28_isunity</a></div><div class="ttdeci">int BIG_384_28_isunity(BIG_384_28 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:35</div></div>
-<div class="ttc" id="big__384__28_8h_html_ac6c217fef49e386b85b023fe05f80723"><div class="ttname"><a href="big__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723">BIG_384_28_mul</a></div><div class="ttdeci">void BIG_384_28_mul(DBIG_384_28 x, BIG_384_28 y, BIG_384_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_384_28.c:542</div></div>
-<div class="ttc" id="big__384__28_8h_html_a1332067c6ddd966c3ee106ca9232bcd5"><div class="ttname"><a href="big__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5">BIG_384_28_bit</a></div><div class="ttdeci">int BIG_384_28_bit(BIG_384_28 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1232</div></div>
-<div class="ttc" id="big__384__28_8h_html_a8ecc6d852c9a8295de789234094b1dce"><div class="ttname"><a href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">DNLEN_384_28</a></div><div class="ttdeci">#define DNLEN_384_28</div><div class="ttdef"><b>Definition:</b> big_384_28.h:41</div></div>
-<div class="ttc" id="big__384__28_8h_html_a9b5cd02ecfebe5b4d0f6ac1edac6c52c"><div class="ttname"><a href="big__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">BIG_384_28_dscopy</a></div><div class="ttdeci">void BIG_384_28_dscopy(DBIG_384_28 x, BIG_384_28 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:263</div></div>
-<div class="ttc" id="big__384__28_8h_html_aa2d828ed693c2267db21030a7b8aa65f"><div class="ttname"><a href="big__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f">BIG_384_28_comp</a></div><div class="ttdeci">int BIG_384_28_comp(BIG_384_28 x, BIG_384_28 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1014</div></div>
-<div class="ttc" id="big__384__28_8h_html_a11b73740018af049295c35189bceac13"><div class="ttname"><a href="big__384__28_8h.html#a11b73740018af049295c35189bceac13">BIG_384_28_lastbits</a></div><div class="ttdeci">int BIG_384_28_lastbits(BIG_384_28 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1240</div></div>
-<div class="ttc" id="big__384__28_8h_html_a47ca896b3c4555f90fd10841c9f87d03"><div class="ttname"><a href="big__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03">BIG_384_28_pxmul</a></div><div class="ttdeci">void BIG_384_28_pxmul(DBIG_384_28 x, BIG_384_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_384_28.c:501</div></div>
-<div class="ttc" id="big__384__28_8h_html_aee6f1279d5b892bfe71c18395de4c91b"><div class="ttname"><a href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">DBIG_384_28</a></div><div class="ttdeci">chunk DBIG_384_28[DNLEN_384_28]</div><div class="ttdef"><b>Definition:</b> big_384_28.h:59</div></div>
-<div class="ttc" id="big__384__28_8h_html_aef2b744cef6fe1696b79b2aa3fed8fb2"><div class="ttname"><a href="big__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2">BIG_384_28_dnorm</a></div><div class="ttdeci">void BIG_384_28_dnorm(DBIG_384_28 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:995</div></div>
-<div class="ttc" id="big__384__28_8h_html_a3ab047839afd602bbba5fa530f48a1f9"><div class="ttname"><a href="big__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9">BIG_384_28_toBytes</a></div><div class="ttdeci">void BIG_384_28_toBytes(char *a, BIG_384_28 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:141</div></div>
-<div class="ttc" id="big__384__28_8h_html_ad2c01faa4c2e37c3b546d0a3213e2cd5"><div class="ttname"><a href="big__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5">BIG_384_28_jacobi</a></div><div class="ttdeci">int BIG_384_28_jacobi(BIG_384_28 x, BIG_384_28 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1354</div></div>
-<div class="ttc" id="big__384__28_8h_html_a1668ae2de15408b596eea43adc6f9015"><div class="ttname"><a href="big__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015">BIG_384_28_random</a></div><div class="ttdeci">void BIG_384_28_random(BIG_384_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_384_28.c:1248</div></div>
-<div class="ttc" id="big__384__28_8h_html_a3303e969db79f8ea0c7b56a1beb2a79a"><div class="ttname"><a href="big__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a">BIG_384_28_invmodp</a></div><div class="ttdeci">void BIG_384_28_invmodp(BIG_384_28 x, BIG_384_28 y, BIG_384_28 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1392</div></div>
-<div class="ttc" id="big__384__28_8h_html_a84665e78dbc0947688151a4ac8dc9644"><div class="ttname"><a href="big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">BMASK_384_28</a></div><div class="ttdeci">#define BMASK_384_28</div><div class="ttdef"><b>Definition:</b> big_384_28.h:42</div></div>
-<div class="ttc" id="big__384__28_8h_html_ade8e4549ea507d3e683fe81d4d400f71"><div class="ttname"><a href="big__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71">BIG_384_28_shl</a></div><div class="ttdeci">void BIG_384_28_shl(BIG_384_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_384_28.c:813</div></div>
-<div class="ttc" id="big__384__28_8h_html_ac436ebf172cfe996920945b3f1b7cb4a"><div class="ttname"><a href="big__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a">BIG_384_28_div3</a></div><div class="ttdeci">int BIG_384_28_div3(BIG_384_28 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:484</div></div>
-<div class="ttc" id="big__384__28_8h_html_aff7c69eedbb24ec68e7ddf4db9acc4c4"><div class="ttname"><a href="big__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4">BIG_384_28_parity</a></div><div class="ttdeci">int BIG_384_28_parity(BIG_384_28 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1225</div></div>
-<div class="ttc" id="big__384__28_8h_html_a238e27e5b205b6181f5c718d12c26e00"><div class="ttname"><a href="big__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00">BIG_384_28_dzero</a></div><div class="ttdeci">void BIG_384_28_dzero(DBIG_384_28 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:329</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__384__28_8h_html_afacc56ed2d110adb76534f3835129f70"><div class="ttname"><a href="big__384__28_8h.html#afacc56ed2d110adb76534f3835129f70">BIG_384_28_drawoutput</a></div><div class="ttdeci">void BIG_384_28_drawoutput(DBIG_384_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:212</div></div>
-<div class="ttc" id="big__384__28_8h_html_ac45376eaec2c8050f1375202e0976534"><div class="ttname"><a href="big__384__28_8h.html#ac45376eaec2c8050f1375202e0976534">BIG_384_28_dadd</a></div><div class="ttdeci">void BIG_384_28_dadd(DBIG_384_28 x, DBIG_384_28 y, DBIG_384_28 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:426</div></div>
-<div class="ttc" id="big__384__28_8h_html_ad9ca3ee5748f621f5e97876f57c3ce5c"><div class="ttname"><a href="big__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c">BIG_384_28_modmul</a></div><div class="ttdeci">void BIG_384_28_modmul(BIG_384_28 x, BIG_384_28 y, BIG_384_28 z, BIG_384_28 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1300</div></div>
-<div class="ttc" id="big__384__28_8h_html_a09cb7359e8678a5ac2e7fc3e332eb29c"><div class="ttname"><a href="big__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c">BIG_384_28_cswap</a></div><div class="ttdeci">void BIG_384_28_cswap(BIG_384_28 x, BIG_384_28 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:92</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__384__28_8h_html_a96499245fbc0e95cea2d5620a737fda6"><div class="ttname"><a href="big__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6">BIG_384_28_mod2m</a></div><div class="ttdeci">void BIG_384_28_mod2m(BIG_384_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1456</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__384__28_8h_html_a0b9f6d6a15963d0ca607e5143f726651"><div class="ttname"><a href="big__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651">BIG_384_28_sqr</a></div><div class="ttdeci">void BIG_384_28_sqr(DBIG_384_28 x, BIG_384_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_384_28.c:618</div></div>
-<div class="ttc" id="big__384__28_8h_html_a63d3817c3c3bce6ac1c39c8b16fac06f"><div class="ttname"><a href="big__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f">BIG_384_28_copy</a></div><div class="ttdeci">void BIG_384_28_copy(BIG_384_28 x, BIG_384_28 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:227</div></div>
-<div class="ttc" id="big__384__28_8h_html_a1a726364369270a9e29464eeb9aee469"><div class="ttname"><a href="big__384__28_8h.html#a1a726364369270a9e29464eeb9aee469">BIG_384_28_dsucopy</a></div><div class="ttdeci">void BIG_384_28_dsucopy(DBIG_384_28 x, BIG_384_28 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:280</div></div>
-<div class="ttc" id="big__384__28_8h_html_a7add637ce6e6a22f580a621e454e2f1b"><div class="ttname"><a href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">HBITS_384_28</a></div><div class="ttdeci">#define HBITS_384_28</div><div class="ttdef"><b>Definition:</b> big_384_28.h:45</div></div>
-<div class="ttc" id="big__384__28_8h_html_af5726874f41c1bc21331297bdd12ad02"><div class="ttname"><a href="big__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02">BIG_384_28_dmod</a></div><div class="ttdeci">void BIG_384_28_dmod(BIG_384_28 x, DBIG_384_28 y, BIG_384_28 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1113</div></div>
-<div class="ttc" id="big__384__28_8h_html_a847b33bcb40d3241e31b6ee96bd8f4c6"><div class="ttname"><a href="big__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6">BIG_384_28_monty</a></div><div class="ttdeci">void BIG_384_28_monty(BIG_384_28 a, BIG_384_28 md, chunk MC, DBIG_384_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_384_28.c:735</div></div>
-<div class="ttc" id="big__384__28_8h_html_a2db1bbccaf315a380d68b89d82867077"><div class="ttname"><a href="big__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077">BIG_384_28_modneg</a></div><div class="ttdeci">void BIG_384_28_modneg(BIG_384_28 x, BIG_384_28 y, BIG_384_28 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1327</div></div>
-<div class="ttc" id="big__384__28_8h_html_aa752852a23b3e0c59a7b664c0e117261"><div class="ttname"><a href="big__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261">BIG_384_28_moddiv</a></div><div class="ttdeci">void BIG_384_28_moddiv(BIG_384_28 x, BIG_384_28 y, BIG_384_28 z, BIG_384_28 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1337</div></div>
-<div class="ttc" id="big__384__28_8h_html_afa77897ed052e7b53cf745c275bf7e31"><div class="ttname"><a href="big__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31">BIG_384_28_dshr</a></div><div class="ttdeci">void BIG_384_28_dshr(DBIG_384_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_384_28.c:918</div></div>
-<div class="ttc" id="big__384__28_8h_html_aaae155a2c272e54cb6debaf4c22c752c"><div class="ttname"><a href="big__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c">BIG_384_28_iszilch</a></div><div class="ttdeci">int BIG_384_28_iszilch(BIG_384_28 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:26</div></div>
-<div class="ttc" id="big__384__28_8h_html_a45c30f3703cec5ae3eb6de061012af88"><div class="ttname"><a href="big__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88">BIG_384_28_dmod2m</a></div><div class="ttdeci">void BIG_384_28_dmod2m(DBIG_384_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_28.c:1470</div></div>
-<div class="ttc" id="big__384__28_8h_html_ad63df8e11b6f1cfeb7e9140cab9d561e"><div class="ttname"><a href="big__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e">BIG_384_28_pmul</a></div><div class="ttdeci">chunk BIG_384_28_pmul(BIG_384_28 x, BIG_384_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_384_28.c:465</div></div>
-<div class="ttc" id="big__384__28_8h_html_adc8507bac205a5f0ccbac18de7b68ca1"><div class="ttname"><a href="big__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1">BIG_384_28_smul</a></div><div class="ttdeci">void BIG_384_28_smul(BIG_384_28 x, BIG_384_28 y, BIG_384_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_384_28.c:518</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__384__29_8h.html b/website/static/cdocs/big__384__29_8h.html
deleted file mode 100644
index 1b8d3ec..0000000
--- a/website/static/cdocs/big__384__29_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_384_29.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">AMCL
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_df7310d1a865926cc859bcfb1880083f.html">include</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">big_384_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
-<code>#include &lt;stdlib.h&gt;</code><br />
-<code>#include &lt;inttypes.h&gt;</code><br />
-<code>#include &quot;<a class="el" href="arch_8h_source.html">arch.h</a>&quot;</code><br />
-<code>#include &quot;amcl.h&quot;</code><br />
-<code>#include &quot;<a class="el" href="config__big__384__29_8h_source.html">config_big_384_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__384__29_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:a5feb1f06130ed84f11090989e07af7b2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a5feb1f06130ed84f11090989e07af7b2">BIGBITS_384_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">MODBYTES_384_29</a>)</td></tr>
-<tr class="separator:a5feb1f06130ed84f11090989e07af7b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2d1004b9eccdcfc31be289533132cfe3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">MODBYTES_384_29</a>-1)/<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>))</td></tr>
-<tr class="separator:a2d1004b9eccdcfc31be289533132cfe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:addd1b223ffcb85c18f7f25c1b0e2e068"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">DNLEN_384_29</a>&#160;&#160;&#160;2*<a class="el" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a></td></tr>
-<tr class="separator:addd1b223ffcb85c18f7f25c1b0e2e068"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a385093038217417d0ccf44b5d13875d4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4">BMASK_384_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>)-1)</td></tr>
-<tr class="separator:a385093038217417d0ccf44b5d13875d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0eb3ec057af21eb8c5e402134bda3fbb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a0eb3ec057af21eb8c5e402134bda3fbb">NEXCESS_384_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>-1))</td></tr>
-<tr class="separator:a0eb3ec057af21eb8c5e402134bda3fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7676d9d5313782211e981b9e62cdff5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>/2)</td></tr>
-<tr class="separator:ab7676d9d5313782211e981b9e62cdff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9f3ff82f9bb37efc3eb8afa48876b952"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">HMASK_384_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</a>)-1)</td></tr>
-<tr class="separator:a9f3ff82f9bb37efc3eb8afa48876b952"><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:a8c300cadd1a50e2f3a67f9ef2214944c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>[<a class="el" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a>]</td></tr>
-<tr class="separator:a8c300cadd1a50e2f3a67f9ef2214944c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aef1a1a590bb80b9d666d508e97dc2aa8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>[<a class="el" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">DNLEN_384_29</a>]</td></tr>
-<tr class="separator:aef1a1a590bb80b9d666d508e97dc2aa8"><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:a69ba68e3a4efc01da04050cc79706680"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a69ba68e3a4efc01da04050cc79706680">BIG_384_29_iszilch</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a69ba68e3a4efc01da04050cc79706680"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a69ba68e3a4efc01da04050cc79706680">More...</a><br /></td></tr>
-<tr class="separator:a69ba68e3a4efc01da04050cc79706680"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a239235d13ab7ea1c82070ea771293f18"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a239235d13ab7ea1c82070ea771293f18">BIG_384_29_isunity</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a239235d13ab7ea1c82070ea771293f18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#a239235d13ab7ea1c82070ea771293f18">More...</a><br /></td></tr>
-<tr class="separator:a239235d13ab7ea1c82070ea771293f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16caa5b2e994f3b3b09d4a4952970977"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a16caa5b2e994f3b3b09d4a4952970977">BIG_384_29_diszilch</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a16caa5b2e994f3b3b09d4a4952970977"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a16caa5b2e994f3b3b09d4a4952970977">More...</a><br /></td></tr>
-<tr class="separator:a16caa5b2e994f3b3b09d4a4952970977"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade4da533b2f4d9e98b4ce291dc9e9019"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ade4da533b2f4d9e98b4ce291dc9e9019">BIG_384_29_output</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:ade4da533b2f4d9e98b4ce291dc9e9019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#ade4da533b2f4d9e98b4ce291dc9e9019">More...</a><br /></td></tr>
-<tr class="separator:ade4da533b2f4d9e98b4ce291dc9e9019"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82a583012fcdf4a28fd8895d6d086374"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a82a583012fcdf4a28fd8895d6d086374">BIG_384_29_rawoutput</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a82a583012fcdf4a28fd8895d6d086374"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a82a583012fcdf4a28fd8895d6d086374">More...</a><br /></td></tr>
-<tr class="separator:a82a583012fcdf4a28fd8895d6d086374"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a848fbcf9248fdf5f123ad831f0eb36"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a5a848fbcf9248fdf5f123ad831f0eb36">BIG_384_29_cswap</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, int s)</td></tr>
-<tr class="memdesc:a5a848fbcf9248fdf5f123ad831f0eb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a5a848fbcf9248fdf5f123ad831f0eb36">More...</a><br /></td></tr>
-<tr class="separator:a5a848fbcf9248fdf5f123ad831f0eb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab35f8dbaae1db3e43babae24a220297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#aab35f8dbaae1db3e43babae24a220297">BIG_384_29_cmove</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, int s)</td></tr>
-<tr class="memdesc:aab35f8dbaae1db3e43babae24a220297"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#aab35f8dbaae1db3e43babae24a220297">More...</a><br /></td></tr>
-<tr class="separator:aab35f8dbaae1db3e43babae24a220297"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a550d58a56c3336f2b0a5895aeb61b72b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a550d58a56c3336f2b0a5895aeb61b72b">BIG_384_29_dcmove</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, int s)</td></tr>
-<tr class="memdesc:a550d58a56c3336f2b0a5895aeb61b72b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#a550d58a56c3336f2b0a5895aeb61b72b">More...</a><br /></td></tr>
-<tr class="separator:a550d58a56c3336f2b0a5895aeb61b72b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69579e616a8b921d289151ae3cc40d75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a69579e616a8b921d289151ae3cc40d75">BIG_384_29_toBytes</a> (char *a, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a69579e616a8b921d289151ae3cc40d75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a69579e616a8b921d289151ae3cc40d75">More...</a><br /></td></tr>
-<tr class="separator:a69579e616a8b921d289151ae3cc40d75"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a611c1c3a2087a61ca8aca6702a501e7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a611c1c3a2087a61ca8aca6702a501e7d">BIG_384_29_fromBytes</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, char *a)</td></tr>
-<tr class="memdesc:a611c1c3a2087a61ca8aca6702a501e7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a611c1c3a2087a61ca8aca6702a501e7d">More...</a><br /></td></tr>
-<tr class="separator:a611c1c3a2087a61ca8aca6702a501e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab26f93bbc86ea2938b1d640d50baf514"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ab26f93bbc86ea2938b1d640d50baf514">BIG_384_29_fromBytesLen</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:ab26f93bbc86ea2938b1d640d50baf514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#ab26f93bbc86ea2938b1d640d50baf514">More...</a><br /></td></tr>
-<tr class="separator:ab26f93bbc86ea2938b1d640d50baf514"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aebcaf728ea21b894d4f40f2ce84b06e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#aebcaf728ea21b894d4f40f2ce84b06e5">BIG_384_29_dfromBytesLen</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:aebcaf728ea21b894d4f40f2ce84b06e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#aebcaf728ea21b894d4f40f2ce84b06e5">More...</a><br /></td></tr>
-<tr class="separator:aebcaf728ea21b894d4f40f2ce84b06e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a298aa7a0970303e8d65d6653fa72ba24"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a298aa7a0970303e8d65d6653fa72ba24">BIG_384_29_doutput</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a298aa7a0970303e8d65d6653fa72ba24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a298aa7a0970303e8d65d6653fa72ba24">More...</a><br /></td></tr>
-<tr class="separator:a298aa7a0970303e8d65d6653fa72ba24"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16f67ff9a20a55edadfd8b1dd6d7a2e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a16f67ff9a20a55edadfd8b1dd6d7a2e8">BIG_384_29_drawoutput</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a16f67ff9a20a55edadfd8b1dd6d7a2e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a16f67ff9a20a55edadfd8b1dd6d7a2e8">More...</a><br /></td></tr>
-<tr class="separator:a16f67ff9a20a55edadfd8b1dd6d7a2e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad0821bce35e6e5adfef3461fc18c3872"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ad0821bce35e6e5adfef3461fc18c3872">BIG_384_29_rcopy</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, const <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y)</td></tr>
-<tr class="memdesc:ad0821bce35e6e5adfef3461fc18c3872"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#ad0821bce35e6e5adfef3461fc18c3872">More...</a><br /></td></tr>
-<tr class="separator:ad0821bce35e6e5adfef3461fc18c3872"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa87c91cf1a4e235b4e57061744b7488"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#aaa87c91cf1a4e235b4e57061744b7488">BIG_384_29_copy</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y)</td></tr>
-<tr class="memdesc:aaa87c91cf1a4e235b4e57061744b7488"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#aaa87c91cf1a4e235b4e57061744b7488">More...</a><br /></td></tr>
-<tr class="separator:aaa87c91cf1a4e235b4e57061744b7488"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a31493a223d149d150b81109af2622e68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a31493a223d149d150b81109af2622e68">BIG_384_29_dcopy</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y)</td></tr>
-<tr class="memdesc:a31493a223d149d150b81109af2622e68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a31493a223d149d150b81109af2622e68">More...</a><br /></td></tr>
-<tr class="separator:a31493a223d149d150b81109af2622e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a461b13e8431b6341e9c0f18e171e30a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a461b13e8431b6341e9c0f18e171e30a1">BIG_384_29_dsucopy</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y)</td></tr>
-<tr class="memdesc:a461b13e8431b6341e9c0f18e171e30a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#a461b13e8431b6341e9c0f18e171e30a1">More...</a><br /></td></tr>
-<tr class="separator:a461b13e8431b6341e9c0f18e171e30a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a84ac3f34e8a03c0e8f5e3a6d1a856442"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a84ac3f34e8a03c0e8f5e3a6d1a856442">BIG_384_29_dscopy</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y)</td></tr>
-<tr class="memdesc:a84ac3f34e8a03c0e8f5e3a6d1a856442"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#a84ac3f34e8a03c0e8f5e3a6d1a856442">More...</a><br /></td></tr>
-<tr class="separator:a84ac3f34e8a03c0e8f5e3a6d1a856442"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a331c8e2de95479761e68bfa83e640445"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a331c8e2de95479761e68bfa83e640445">BIG_384_29_sdcopy</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y)</td></tr>
-<tr class="memdesc:a331c8e2de95479761e68bfa83e640445"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a331c8e2de95479761e68bfa83e640445">More...</a><br /></td></tr>
-<tr class="separator:a331c8e2de95479761e68bfa83e640445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af84298cbd89cb60dfefe7df04e4ac165"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#af84298cbd89cb60dfefe7df04e4ac165">BIG_384_29_sducopy</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y)</td></tr>
-<tr class="memdesc:af84298cbd89cb60dfefe7df04e4ac165"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#af84298cbd89cb60dfefe7df04e4ac165">More...</a><br /></td></tr>
-<tr class="separator:af84298cbd89cb60dfefe7df04e4ac165"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a41e218680a464b2f6d727aee4681edb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a41e218680a464b2f6d727aee4681edb6">BIG_384_29_zero</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a41e218680a464b2f6d727aee4681edb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a41e218680a464b2f6d727aee4681edb6">More...</a><br /></td></tr>
-<tr class="separator:a41e218680a464b2f6d727aee4681edb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a58d1c2c922f53294419dd7a491bfac43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a58d1c2c922f53294419dd7a491bfac43">BIG_384_29_dzero</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a58d1c2c922f53294419dd7a491bfac43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#a58d1c2c922f53294419dd7a491bfac43">More...</a><br /></td></tr>
-<tr class="separator:a58d1c2c922f53294419dd7a491bfac43"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a885fa7c4bf3a44ff79768ed0d83c80ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a885fa7c4bf3a44ff79768ed0d83c80ec">BIG_384_29_one</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a885fa7c4bf3a44ff79768ed0d83c80ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#a885fa7c4bf3a44ff79768ed0d83c80ec">More...</a><br /></td></tr>
-<tr class="separator:a885fa7c4bf3a44ff79768ed0d83c80ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad24cf08aefb349c5ec7d384fb26d4a3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ad24cf08aefb349c5ec7d384fb26d4a3c">BIG_384_29_invmod2m</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:ad24cf08aefb349c5ec7d384fb26d4a3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#ad24cf08aefb349c5ec7d384fb26d4a3c">More...</a><br /></td></tr>
-<tr class="separator:ad24cf08aefb349c5ec7d384fb26d4a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae8a33809748e86abf38be6a82ee48dbc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ae8a33809748e86abf38be6a82ee48dbc">BIG_384_29_add</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z)</td></tr>
-<tr class="memdesc:ae8a33809748e86abf38be6a82ee48dbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#ae8a33809748e86abf38be6a82ee48dbc">More...</a><br /></td></tr>
-<tr class="separator:ae8a33809748e86abf38be6a82ee48dbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abc3c04e91c8a5e1336ca2c4fd2744492"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#abc3c04e91c8a5e1336ca2c4fd2744492">BIG_384_29_or</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z)</td></tr>
-<tr class="memdesc:abc3c04e91c8a5e1336ca2c4fd2744492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#abc3c04e91c8a5e1336ca2c4fd2744492">More...</a><br /></td></tr>
-<tr class="separator:abc3c04e91c8a5e1336ca2c4fd2744492"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd830342f83d91806905d61288ff1a89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#abd830342f83d91806905d61288ff1a89">BIG_384_29_inc</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int i)</td></tr>
-<tr class="memdesc:abd830342f83d91806905d61288ff1a89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#abd830342f83d91806905d61288ff1a89">More...</a><br /></td></tr>
-<tr class="separator:abd830342f83d91806905d61288ff1a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ec616ce0230484c3fe0009710f5233c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a4ec616ce0230484c3fe0009710f5233c">BIG_384_29_sub</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z)</td></tr>
-<tr class="memdesc:a4ec616ce0230484c3fe0009710f5233c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a4ec616ce0230484c3fe0009710f5233c">More...</a><br /></td></tr>
-<tr class="separator:a4ec616ce0230484c3fe0009710f5233c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9606f885cd731e6bb70ed43c0fb56de9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a9606f885cd731e6bb70ed43c0fb56de9">BIG_384_29_dec</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int i)</td></tr>
-<tr class="memdesc:a9606f885cd731e6bb70ed43c0fb56de9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a9606f885cd731e6bb70ed43c0fb56de9">More...</a><br /></td></tr>
-<tr class="separator:a9606f885cd731e6bb70ed43c0fb56de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a80012252d35e1f39786cb8020b2dbc27"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a80012252d35e1f39786cb8020b2dbc27">BIG_384_29_dadd</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> z)</td></tr>
-<tr class="memdesc:a80012252d35e1f39786cb8020b2dbc27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#a80012252d35e1f39786cb8020b2dbc27">More...</a><br /></td></tr>
-<tr class="separator:a80012252d35e1f39786cb8020b2dbc27"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8e8bf34c64b05b903b9027541825547d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a8e8bf34c64b05b903b9027541825547d">BIG_384_29_dsub</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> z)</td></tr>
-<tr class="memdesc:a8e8bf34c64b05b903b9027541825547d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a8e8bf34c64b05b903b9027541825547d">More...</a><br /></td></tr>
-<tr class="separator:a8e8bf34c64b05b903b9027541825547d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad19895d08db9aeebf44eff2cc1dafb52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ad19895d08db9aeebf44eff2cc1dafb52">BIG_384_29_imul</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, int i)</td></tr>
-<tr class="memdesc:ad19895d08db9aeebf44eff2cc1dafb52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#ad19895d08db9aeebf44eff2cc1dafb52">More...</a><br /></td></tr>
-<tr class="separator:ad19895d08db9aeebf44eff2cc1dafb52"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4141ae18ee04ccefb2d1bf110b935ec0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a4141ae18ee04ccefb2d1bf110b935ec0">BIG_384_29_pmul</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, int i)</td></tr>
-<tr class="memdesc:a4141ae18ee04ccefb2d1bf110b935ec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a4141ae18ee04ccefb2d1bf110b935ec0">More...</a><br /></td></tr>
-<tr class="separator:a4141ae18ee04ccefb2d1bf110b935ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa5f1a4ab6733b7f7d6d241ee5062c2de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#aa5f1a4ab6733b7f7d6d241ee5062c2de">BIG_384_29_div3</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:aa5f1a4ab6733b7f7d6d241ee5062c2de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#aa5f1a4ab6733b7f7d6d241ee5062c2de">More...</a><br /></td></tr>
-<tr class="separator:aa5f1a4ab6733b7f7d6d241ee5062c2de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7af0ca6c0f3147ee53ab842ee0d573f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a7af0ca6c0f3147ee53ab842ee0d573f7">BIG_384_29_pxmul</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, int i)</td></tr>
-<tr class="memdesc:a7af0ca6c0f3147ee53ab842ee0d573f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a7af0ca6c0f3147ee53ab842ee0d573f7">More...</a><br /></td></tr>
-<tr class="separator:a7af0ca6c0f3147ee53ab842ee0d573f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acc2d3df7f8f1ad51ee78d34f1e6a481b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#acc2d3df7f8f1ad51ee78d34f1e6a481b">BIG_384_29_mul</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z)</td></tr>
-<tr class="memdesc:acc2d3df7f8f1ad51ee78d34f1e6a481b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#acc2d3df7f8f1ad51ee78d34f1e6a481b">More...</a><br /></td></tr>
-<tr class="separator:acc2d3df7f8f1ad51ee78d34f1e6a481b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af933c60ca40249a1ee97207d17ec8971"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#af933c60ca40249a1ee97207d17ec8971">BIG_384_29_smul</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z)</td></tr>
-<tr class="memdesc:af933c60ca40249a1ee97207d17ec8971"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#af933c60ca40249a1ee97207d17ec8971">More...</a><br /></td></tr>
-<tr class="separator:af933c60ca40249a1ee97207d17ec8971"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af7e0e139b973fd707f3dc0416149368e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#af7e0e139b973fd707f3dc0416149368e">BIG_384_29_sqr</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y)</td></tr>
-<tr class="memdesc:af7e0e139b973fd707f3dc0416149368e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#af7e0e139b973fd707f3dc0416149368e">More...</a><br /></td></tr>
-<tr class="separator:af7e0e139b973fd707f3dc0416149368e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab5123a78afa3994d0cf7d544317f6a80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ab5123a78afa3994d0cf7d544317f6a80">BIG_384_29_monty</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> a, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> d)</td></tr>
-<tr class="memdesc:ab5123a78afa3994d0cf7d544317f6a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#ab5123a78afa3994d0cf7d544317f6a80">More...</a><br /></td></tr>
-<tr class="separator:ab5123a78afa3994d0cf7d544317f6a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d9b60bba362a7654da3e79a0364e84c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a6d9b60bba362a7654da3e79a0364e84c">BIG_384_29_shl</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int s)</td></tr>
-<tr class="memdesc:a6d9b60bba362a7654da3e79a0364e84c"><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="#a6d9b60bba362a7654da3e79a0364e84c">More...</a><br /></td></tr>
-<tr class="separator:a6d9b60bba362a7654da3e79a0364e84c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a534f2208022d5711bc1ce450e7822205"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a534f2208022d5711bc1ce450e7822205">BIG_384_29_fshl</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int s)</td></tr>
-<tr class="memdesc:a534f2208022d5711bc1ce450e7822205"><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="#a534f2208022d5711bc1ce450e7822205">More...</a><br /></td></tr>
-<tr class="separator:a534f2208022d5711bc1ce450e7822205"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a66077e9acce3a88340f7555136248e81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a66077e9acce3a88340f7555136248e81">BIG_384_29_dshl</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, int s)</td></tr>
-<tr class="memdesc:a66077e9acce3a88340f7555136248e81"><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="#a66077e9acce3a88340f7555136248e81">More...</a><br /></td></tr>
-<tr class="separator:a66077e9acce3a88340f7555136248e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3260b1ddfce0d1b53a94b8c5dcdcbec8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a3260b1ddfce0d1b53a94b8c5dcdcbec8">BIG_384_29_shr</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int s)</td></tr>
-<tr class="memdesc:a3260b1ddfce0d1b53a94b8c5dcdcbec8"><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="#a3260b1ddfce0d1b53a94b8c5dcdcbec8">More...</a><br /></td></tr>
-<tr class="separator:a3260b1ddfce0d1b53a94b8c5dcdcbec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a944b245f8d0b3478465c737273711da6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a944b245f8d0b3478465c737273711da6">BIG_384_29_ssn</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> r, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> a, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> m)</td></tr>
-<tr class="memdesc:a944b245f8d0b3478465c737273711da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a944b245f8d0b3478465c737273711da6">More...</a><br /></td></tr>
-<tr class="separator:a944b245f8d0b3478465c737273711da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aacf67d3558e177d1e90e6779449062de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#aacf67d3558e177d1e90e6779449062de">BIG_384_29_fshr</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int s)</td></tr>
-<tr class="memdesc:aacf67d3558e177d1e90e6779449062de"><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="#aacf67d3558e177d1e90e6779449062de">More...</a><br /></td></tr>
-<tr class="separator:aacf67d3558e177d1e90e6779449062de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01b53c51d421c61e4b09ad5ab88995f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a01b53c51d421c61e4b09ad5ab88995f5">BIG_384_29_dshr</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, int s)</td></tr>
-<tr class="memdesc:a01b53c51d421c61e4b09ad5ab88995f5"><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="#a01b53c51d421c61e4b09ad5ab88995f5">More...</a><br /></td></tr>
-<tr class="separator:a01b53c51d421c61e4b09ad5ab88995f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89cba4e8778cb74d2a273749ec1fccfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a89cba4e8778cb74d2a273749ec1fccfb">BIG_384_29_split</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> z, int s)</td></tr>
-<tr class="memdesc:a89cba4e8778cb74d2a273749ec1fccfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a89cba4e8778cb74d2a273749ec1fccfb">More...</a><br /></td></tr>
-<tr class="separator:a89cba4e8778cb74d2a273749ec1fccfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adae96ed56ad1402b54f0a5a1222d8f87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#adae96ed56ad1402b54f0a5a1222d8f87">BIG_384_29_norm</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:adae96ed56ad1402b54f0a5a1222d8f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#adae96ed56ad1402b54f0a5a1222d8f87">More...</a><br /></td></tr>
-<tr class="separator:adae96ed56ad1402b54f0a5a1222d8f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9109a9ab947921c2831aaeb359e16828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a9109a9ab947921c2831aaeb359e16828">BIG_384_29_dnorm</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a9109a9ab947921c2831aaeb359e16828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#a9109a9ab947921c2831aaeb359e16828">More...</a><br /></td></tr>
-<tr class="separator:a9109a9ab947921c2831aaeb359e16828"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac06efcddbe91d806bf4b8c01c56f08ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ac06efcddbe91d806bf4b8c01c56f08ca">BIG_384_29_comp</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y)</td></tr>
-<tr class="memdesc:ac06efcddbe91d806bf4b8c01c56f08ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#ac06efcddbe91d806bf4b8c01c56f08ca">More...</a><br /></td></tr>
-<tr class="separator:ac06efcddbe91d806bf4b8c01c56f08ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0b99018225d825960c70dd1a213c581b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a0b99018225d825960c70dd1a213c581b">BIG_384_29_dcomp</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y)</td></tr>
-<tr class="memdesc:a0b99018225d825960c70dd1a213c581b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a0b99018225d825960c70dd1a213c581b">More...</a><br /></td></tr>
-<tr class="separator:a0b99018225d825960c70dd1a213c581b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad60635d46eb5edd3b8f422fd9094e04c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ad60635d46eb5edd3b8f422fd9094e04c">BIG_384_29_nbits</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:ad60635d46eb5edd3b8f422fd9094e04c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#ad60635d46eb5edd3b8f422fd9094e04c">More...</a><br /></td></tr>
-<tr class="separator:ad60635d46eb5edd3b8f422fd9094e04c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a442287e511b421462af841b34fce153b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a442287e511b421462af841b34fce153b">BIG_384_29_dnbits</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a442287e511b421462af841b34fce153b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#a442287e511b421462af841b34fce153b">More...</a><br /></td></tr>
-<tr class="separator:a442287e511b421462af841b34fce153b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e429b6a38eff8bc3d7e984e506b92ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a5e429b6a38eff8bc3d7e984e506b92ee">BIG_384_29_mod</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a5e429b6a38eff8bc3d7e984e506b92ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#a5e429b6a38eff8bc3d7e984e506b92ee">More...</a><br /></td></tr>
-<tr class="separator:a5e429b6a38eff8bc3d7e984e506b92ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a396198fbeb743b7ad4f7f80c2934f965"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a396198fbeb743b7ad4f7f80c2934f965">BIG_384_29_sdiv</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a396198fbeb743b7ad4f7f80c2934f965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#a396198fbeb743b7ad4f7f80c2934f965">More...</a><br /></td></tr>
-<tr class="separator:a396198fbeb743b7ad4f7f80c2934f965"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a042d957754ebc5d6847abf0c0ed613f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a042d957754ebc5d6847abf0c0ed613f9">BIG_384_29_dmod</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a042d957754ebc5d6847abf0c0ed613f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a042d957754ebc5d6847abf0c0ed613f9">More...</a><br /></td></tr>
-<tr class="separator:a042d957754ebc5d6847abf0c0ed613f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4089cb6ff0368f04bb1d415c9ceb1c72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a4089cb6ff0368f04bb1d415c9ceb1c72">BIG_384_29_ddiv</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a4089cb6ff0368f04bb1d415c9ceb1c72"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a4089cb6ff0368f04bb1d415c9ceb1c72">More...</a><br /></td></tr>
-<tr class="separator:a4089cb6ff0368f04bb1d415c9ceb1c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c2b8fc522862ee9f466dcb227a6a278"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a4c2b8fc522862ee9f466dcb227a6a278">BIG_384_29_parity</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x)</td></tr>
-<tr class="memdesc:a4c2b8fc522862ee9f466dcb227a6a278"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a4c2b8fc522862ee9f466dcb227a6a278">More...</a><br /></td></tr>
-<tr class="separator:a4c2b8fc522862ee9f466dcb227a6a278"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76a57f414f2b3be61fa038ec2a016bb0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a76a57f414f2b3be61fa038ec2a016bb0">BIG_384_29_bit</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int i)</td></tr>
-<tr class="memdesc:a76a57f414f2b3be61fa038ec2a016bb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a76a57f414f2b3be61fa038ec2a016bb0">More...</a><br /></td></tr>
-<tr class="separator:a76a57f414f2b3be61fa038ec2a016bb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40be50b37b5e4515902c22dad2f156ef"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a40be50b37b5e4515902c22dad2f156ef">BIG_384_29_lastbits</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int n)</td></tr>
-<tr class="memdesc:a40be50b37b5e4515902c22dad2f156ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#a40be50b37b5e4515902c22dad2f156ef">More...</a><br /></td></tr>
-<tr class="separator:a40be50b37b5e4515902c22dad2f156ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab47d90d426deb85d60b6677eda549e78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ab47d90d426deb85d60b6677eda549e78">BIG_384_29_random</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:ab47d90d426deb85d60b6677eda549e78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#ab47d90d426deb85d60b6677eda549e78">More...</a><br /></td></tr>
-<tr class="separator:ab47d90d426deb85d60b6677eda549e78"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9771f9ed803f3be53c92db25f6e059fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a9771f9ed803f3be53c92db25f6e059fb">BIG_384_29_randomnum</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a9771f9ed803f3be53c92db25f6e059fb"><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="#a9771f9ed803f3be53c92db25f6e059fb">More...</a><br /></td></tr>
-<tr class="separator:a9771f9ed803f3be53c92db25f6e059fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83339bca9b54d2c662b82563aa2cab6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a83339bca9b54d2c662b82563aa2cab6e">BIG_384_29_modmul</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a83339bca9b54d2c662b82563aa2cab6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a83339bca9b54d2c662b82563aa2cab6e">More...</a><br /></td></tr>
-<tr class="separator:a83339bca9b54d2c662b82563aa2cab6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1ecea87aa16f997ac5926c559c56bf5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ad1ecea87aa16f997ac5926c559c56bf5">BIG_384_29_moddiv</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:ad1ecea87aa16f997ac5926c559c56bf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#ad1ecea87aa16f997ac5926c559c56bf5">More...</a><br /></td></tr>
-<tr class="separator:ad1ecea87aa16f997ac5926c559c56bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8711ca578f23cc48a617bd707696951a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a8711ca578f23cc48a617bd707696951a">BIG_384_29_modsqr</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a8711ca578f23cc48a617bd707696951a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a8711ca578f23cc48a617bd707696951a">More...</a><br /></td></tr>
-<tr class="separator:a8711ca578f23cc48a617bd707696951a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9a3aab2f941d3ad88fe09a884ce4bbf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a9a3aab2f941d3ad88fe09a884ce4bbf3">BIG_384_29_modneg</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a9a3aab2f941d3ad88fe09a884ce4bbf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a9a3aab2f941d3ad88fe09a884ce4bbf3">More...</a><br /></td></tr>
-<tr class="separator:a9a3aab2f941d3ad88fe09a884ce4bbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af934ab3c68b97302df91f99bbb83a2b0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#af934ab3c68b97302df91f99bbb83a2b0">BIG_384_29_jacobi</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y)</td></tr>
-<tr class="memdesc:af934ab3c68b97302df91f99bbb83a2b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#af934ab3c68b97302df91f99bbb83a2b0">More...</a><br /></td></tr>
-<tr class="separator:af934ab3c68b97302df91f99bbb83a2b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a39adf092cc3e1e0d5f98acaebcf4dd2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a39adf092cc3e1e0d5f98acaebcf4dd2f">BIG_384_29_invmodp</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y, <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> n)</td></tr>
-<tr class="memdesc:a39adf092cc3e1e0d5f98acaebcf4dd2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a39adf092cc3e1e0d5f98acaebcf4dd2f">More...</a><br /></td></tr>
-<tr class="separator:a39adf092cc3e1e0d5f98acaebcf4dd2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2eb7feb42ec2e26b6d413bc27161b003"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#a2eb7feb42ec2e26b6d413bc27161b003">BIG_384_29_mod2m</a> (<a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x, int m)</td></tr>
-<tr class="memdesc:a2eb7feb42ec2e26b6d413bc27161b003"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a2eb7feb42ec2e26b6d413bc27161b003">More...</a><br /></td></tr>
-<tr class="separator:a2eb7feb42ec2e26b6d413bc27161b003"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5942c0c1f2816790ec4c6fac63fb934"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html#ad5942c0c1f2816790ec4c6fac63fb934">BIG_384_29_dmod2m</a> (<a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x, int m)</td></tr>
-<tr class="memdesc:ad5942c0c1f2816790ec4c6fac63fb934"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#ad5942c0c1f2816790ec4c6fac63fb934">More...</a><br /></td></tr>
-<tr class="separator:ad5942c0c1f2816790ec4c6fac63fb934"><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="a5feb1f06130ed84f11090989e07af7b2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5feb1f06130ed84f11090989e07af7b2">&#9670;&nbsp;</a></span>BIGBITS_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_384_29&#160;&#160;&#160;(8*<a class="el" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">MODBYTES_384_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="a385093038217417d0ccf44b5d13875d4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a385093038217417d0ccf44b5d13875d4">&#9670;&nbsp;</a></span>BMASK_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_384_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="addd1b223ffcb85c18f7f25c1b0e2e068"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#addd1b223ffcb85c18f7f25c1b0e2e068">&#9670;&nbsp;</a></span>DNLEN_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_384_29&#160;&#160;&#160;2*<a class="el" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="ab7676d9d5313782211e981b9e62cdff5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab7676d9d5313782211e981b9e62cdff5">&#9670;&nbsp;</a></span>HBITS_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_384_29&#160;&#160;&#160;(<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="a9f3ff82f9bb37efc3eb8afa48876b952"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9f3ff82f9bb37efc3eb8afa48876b952">&#9670;&nbsp;</a></span>HMASK_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_384_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a0eb3ec057af21eb8c5e402134bda3fbb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0eb3ec057af21eb8c5e402134bda3fbb">&#9670;&nbsp;</a></span>NEXCESS_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_384_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</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="a2d1004b9eccdcfc31be289533132cfe3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2d1004b9eccdcfc31be289533132cfe3">&#9670;&nbsp;</a></span>NLEN_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_384_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">MODBYTES_384_29</a>-1)/<a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a8c300cadd1a50e2f3a67f9ef2214944c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8c300cadd1a50e2f3a67f9ef2214944c">&#9670;&nbsp;</a></span>BIG_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_29[<a class="el" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="aef1a1a590bb80b9d666d508e97dc2aa8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aef1a1a590bb80b9d666d508e97dc2aa8">&#9670;&nbsp;</a></span>DBIG_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_384_29[<a class="el" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">DNLEN_384_29</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="ae8a33809748e86abf38be6a82ee48dbc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae8a33809748e86abf38be6a82ee48dbc">&#9670;&nbsp;</a></span>BIG_384_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a76a57f414f2b3be61fa038ec2a016bb0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a76a57f414f2b3be61fa038ec2a016bb0">&#9670;&nbsp;</a></span>BIG_384_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="aab35f8dbaae1db3e43babae24a220297"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aab35f8dbaae1db3e43babae24a220297">&#9670;&nbsp;</a></span>BIG_384_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ac06efcddbe91d806bf4b8c01c56f08ca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac06efcddbe91d806bf4b8c01c56f08ca">&#9670;&nbsp;</a></span>BIG_384_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="aaa87c91cf1a4e235b4e57061744b7488"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaa87c91cf1a4e235b4e57061744b7488">&#9670;&nbsp;</a></span>BIG_384_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a5a848fbcf9248fdf5f123ad831f0eb36"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a848fbcf9248fdf5f123ad831f0eb36">&#9670;&nbsp;</a></span>BIG_384_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a80012252d35e1f39786cb8020b2dbc27"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a80012252d35e1f39786cb8020b2dbc27">&#9670;&nbsp;</a></span>BIG_384_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a550d58a56c3336f2b0a5895aeb61b72b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a550d58a56c3336f2b0a5895aeb61b72b">&#9670;&nbsp;</a></span>BIG_384_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a0b99018225d825960c70dd1a213c581b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0b99018225d825960c70dd1a213c581b">&#9670;&nbsp;</a></span>BIG_384_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a31493a223d149d150b81109af2622e68"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a31493a223d149d150b81109af2622e68">&#9670;&nbsp;</a></span>BIG_384_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a4089cb6ff0368f04bb1d415c9ceb1c72"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4089cb6ff0368f04bb1d415c9ceb1c72">&#9670;&nbsp;</a></span>BIG_384_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a9606f885cd731e6bb70ed43c0fb56de9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9606f885cd731e6bb70ed43c0fb56de9">&#9670;&nbsp;</a></span>BIG_384_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="aebcaf728ea21b894d4f40f2ce84b06e5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aebcaf728ea21b894d4f40f2ce84b06e5">&#9670;&nbsp;</a></span>BIG_384_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a16caa5b2e994f3b3b09d4a4952970977"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16caa5b2e994f3b3b09d4a4952970977">&#9670;&nbsp;</a></span>BIG_384_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="aa5f1a4ab6733b7f7d6d241ee5062c2de"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa5f1a4ab6733b7f7d6d241ee5062c2de">&#9670;&nbsp;</a></span>BIG_384_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a042d957754ebc5d6847abf0c0ed613f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a042d957754ebc5d6847abf0c0ed613f9">&#9670;&nbsp;</a></span>BIG_384_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ad5942c0c1f2816790ec4c6fac63fb934"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad5942c0c1f2816790ec4c6fac63fb934">&#9670;&nbsp;</a></span>BIG_384_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a442287e511b421462af841b34fce153b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a442287e511b421462af841b34fce153b">&#9670;&nbsp;</a></span>BIG_384_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a9109a9ab947921c2831aaeb359e16828"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9109a9ab947921c2831aaeb359e16828">&#9670;&nbsp;</a></span>BIG_384_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a298aa7a0970303e8d65d6653fa72ba24"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a298aa7a0970303e8d65d6653fa72ba24">&#9670;&nbsp;</a></span>BIG_384_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a16f67ff9a20a55edadfd8b1dd6d7a2e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16f67ff9a20a55edadfd8b1dd6d7a2e8">&#9670;&nbsp;</a></span>BIG_384_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a84ac3f34e8a03c0e8f5e3a6d1a856442"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a84ac3f34e8a03c0e8f5e3a6d1a856442">&#9670;&nbsp;</a></span>BIG_384_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a66077e9acce3a88340f7555136248e81"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a66077e9acce3a88340f7555136248e81">&#9670;&nbsp;</a></span>BIG_384_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a01b53c51d421c61e4b09ad5ab88995f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a01b53c51d421c61e4b09ad5ab88995f5">&#9670;&nbsp;</a></span>BIG_384_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a8e8bf34c64b05b903b9027541825547d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8e8bf34c64b05b903b9027541825547d">&#9670;&nbsp;</a></span>BIG_384_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a461b13e8431b6341e9c0f18e171e30a1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a461b13e8431b6341e9c0f18e171e30a1">&#9670;&nbsp;</a></span>BIG_384_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a58d1c2c922f53294419dd7a491bfac43"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a58d1c2c922f53294419dd7a491bfac43">&#9670;&nbsp;</a></span>BIG_384_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a611c1c3a2087a61ca8aca6702a501e7d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a611c1c3a2087a61ca8aca6702a501e7d">&#9670;&nbsp;</a></span>BIG_384_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ab26f93bbc86ea2938b1d640d50baf514"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab26f93bbc86ea2938b1d640d50baf514">&#9670;&nbsp;</a></span>BIG_384_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a534f2208022d5711bc1ce450e7822205"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a534f2208022d5711bc1ce450e7822205">&#9670;&nbsp;</a></span>BIG_384_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="aacf67d3558e177d1e90e6779449062de"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aacf67d3558e177d1e90e6779449062de">&#9670;&nbsp;</a></span>BIG_384_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ad19895d08db9aeebf44eff2cc1dafb52"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad19895d08db9aeebf44eff2cc1dafb52">&#9670;&nbsp;</a></span>BIG_384_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="abd830342f83d91806905d61288ff1a89"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd830342f83d91806905d61288ff1a89">&#9670;&nbsp;</a></span>BIG_384_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ad24cf08aefb349c5ec7d384fb26d4a3c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad24cf08aefb349c5ec7d384fb26d4a3c">&#9670;&nbsp;</a></span>BIG_384_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a39adf092cc3e1e0d5f98acaebcf4dd2f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a39adf092cc3e1e0d5f98acaebcf4dd2f">&#9670;&nbsp;</a></span>BIG_384_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a239235d13ab7ea1c82070ea771293f18"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a239235d13ab7ea1c82070ea771293f18">&#9670;&nbsp;</a></span>BIG_384_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a69ba68e3a4efc01da04050cc79706680"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a69ba68e3a4efc01da04050cc79706680">&#9670;&nbsp;</a></span>BIG_384_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="af934ab3c68b97302df91f99bbb83a2b0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af934ab3c68b97302df91f99bbb83a2b0">&#9670;&nbsp;</a></span>BIG_384_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a40be50b37b5e4515902c22dad2f156ef"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a40be50b37b5e4515902c22dad2f156ef">&#9670;&nbsp;</a></span>BIG_384_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a5e429b6a38eff8bc3d7e984e506b92ee"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5e429b6a38eff8bc3d7e984e506b92ee">&#9670;&nbsp;</a></span>BIG_384_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a2eb7feb42ec2e26b6d413bc27161b003"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2eb7feb42ec2e26b6d413bc27161b003">&#9670;&nbsp;</a></span>BIG_384_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ad1ecea87aa16f997ac5926c559c56bf5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad1ecea87aa16f997ac5926c559c56bf5">&#9670;&nbsp;</a></span>BIG_384_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a83339bca9b54d2c662b82563aa2cab6e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83339bca9b54d2c662b82563aa2cab6e">&#9670;&nbsp;</a></span>BIG_384_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a9a3aab2f941d3ad88fe09a884ce4bbf3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9a3aab2f941d3ad88fe09a884ce4bbf3">&#9670;&nbsp;</a></span>BIG_384_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a8711ca578f23cc48a617bd707696951a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8711ca578f23cc48a617bd707696951a">&#9670;&nbsp;</a></span>BIG_384_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ab5123a78afa3994d0cf7d544317f6a80"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab5123a78afa3994d0cf7d544317f6a80">&#9670;&nbsp;</a></span>BIG_384_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>md</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
-          <td class="paramname"><em>MC</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="acc2d3df7f8f1ad51ee78d34f1e6a481b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acc2d3df7f8f1ad51ee78d34f1e6a481b">&#9670;&nbsp;</a></span>BIG_384_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ad60635d46eb5edd3b8f422fd9094e04c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad60635d46eb5edd3b8f422fd9094e04c">&#9670;&nbsp;</a></span>BIG_384_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="adae96ed56ad1402b54f0a5a1222d8f87"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adae96ed56ad1402b54f0a5a1222d8f87">&#9670;&nbsp;</a></span>BIG_384_29_norm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a885fa7c4bf3a44ff79768ed0d83c80ec"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a885fa7c4bf3a44ff79768ed0d83c80ec">&#9670;&nbsp;</a></span>BIG_384_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="abc3c04e91c8a5e1336ca2c4fd2744492"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abc3c04e91c8a5e1336ca2c4fd2744492">&#9670;&nbsp;</a></span>BIG_384_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ade4da533b2f4d9e98b4ce291dc9e9019"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade4da533b2f4d9e98b4ce291dc9e9019">&#9670;&nbsp;</a></span>BIG_384_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a4c2b8fc522862ee9f466dcb227a6a278"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4c2b8fc522862ee9f466dcb227a6a278">&#9670;&nbsp;</a></span>BIG_384_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a4141ae18ee04ccefb2d1bf110b935ec0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4141ae18ee04ccefb2d1bf110b935ec0">&#9670;&nbsp;</a></span>BIG_384_29_pmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a7af0ca6c0f3147ee53ab842ee0d573f7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7af0ca6c0f3147ee53ab842ee0d573f7">&#9670;&nbsp;</a></span>BIG_384_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ab47d90d426deb85d60b6677eda549e78"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab47d90d426deb85d60b6677eda549e78">&#9670;&nbsp;</a></span>BIG_384_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a9771f9ed803f3be53c92db25f6e059fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9771f9ed803f3be53c92db25f6e059fb">&#9670;&nbsp;</a></span>BIG_384_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a82a583012fcdf4a28fd8895d6d086374"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a82a583012fcdf4a28fd8895d6d086374">&#9670;&nbsp;</a></span>BIG_384_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="ad0821bce35e6e5adfef3461fc18c3872"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad0821bce35e6e5adfef3461fc18c3872">&#9670;&nbsp;</a></span>BIG_384_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a331c8e2de95479761e68bfa83e640445"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a331c8e2de95479761e68bfa83e640445">&#9670;&nbsp;</a></span>BIG_384_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a396198fbeb743b7ad4f7f80c2934f965"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a396198fbeb743b7ad4f7f80c2934f965">&#9670;&nbsp;</a></span>BIG_384_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="af84298cbd89cb60dfefe7df04e4ac165"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af84298cbd89cb60dfefe7df04e4ac165">&#9670;&nbsp;</a></span>BIG_384_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="a6d9b60bba362a7654da3e79a0364e84c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6d9b60bba362a7654da3e79a0364e84c">&#9670;&nbsp;</a></span>BIG_384_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a3260b1ddfce0d1b53a94b8c5dcdcbec8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3260b1ddfce0d1b53a94b8c5dcdcbec8">&#9670;&nbsp;</a></span>BIG_384_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="af933c60ca40249a1ee97207d17ec8971"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af933c60ca40249a1ee97207d17ec8971">&#9670;&nbsp;</a></span>BIG_384_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a89cba4e8778cb74d2a273749ec1fccfb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a89cba4e8778cb74d2a273749ec1fccfb">&#9670;&nbsp;</a></span>BIG_384_29_split()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_384_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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="af7e0e139b973fd707f3dc0416149368e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af7e0e139b973fd707f3dc0416149368e">&#9670;&nbsp;</a></span>BIG_384_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a944b245f8d0b3478465c737273711da6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a944b245f8d0b3478465c737273711da6">&#9670;&nbsp;</a></span>BIG_384_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_384_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a4ec616ce0230484c3fe0009710f5233c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4ec616ce0230484c3fe0009710f5233c">&#9670;&nbsp;</a></span>BIG_384_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a69579e616a8b921d289151ae3cc40d75"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a69579e616a8b921d289151ae3cc40d75">&#9670;&nbsp;</a></span>BIG_384_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_toBytes </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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="a41e218680a464b2f6d727aee4681edb6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a41e218680a464b2f6d727aee4681edb6">&#9670;&nbsp;</a></span>BIG_384_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_384_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h_source.html b/website/static/cdocs/big__384__29_8h_source.html
deleted file mode 100644
index 95a67b4..0000000
--- a/website/static/cdocs/big__384__29_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_384_29.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_384_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__384__29_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_384_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_384_29_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__384__29_8h.html">config_big_384_29.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__384__29_8h.html#a5feb1f06130ed84f11090989e07af7b2">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_384_29 (8*MODBYTES_384_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">   40</a></span>&#160;<span class="preprocessor">#define NLEN_384_29 (1+((8*MODBYTES_384_29-1)/BASEBITS_384_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_384_29 2*NLEN_384_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4">   42</a></span>&#160;<span class="preprocessor">#define BMASK_384_29 (((chunk)1&lt;&lt;BASEBITS_384_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__384__29_8h.html#a0eb3ec057af21eb8c5e402134bda3fbb">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_384_29 (1&lt;&lt;(CHUNK-BASEBITS_384_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">   45</a></span>&#160;<span class="preprocessor">#define HBITS_384_29 (BASEBITS_384_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">   46</a></span>&#160;<span class="preprocessor">#define HMASK_384_29 (((chunk)1&lt;&lt;HBITS_384_29)-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_384_29 NLEN_384_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_384_29 (NLEN_384_29+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__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>[<a class="code" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_384_29 DNLEN_384_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_384_29 (DNLEN_384_29+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__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>[<a class="code" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">DNLEN_384_29</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__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a>[<a class="code" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a>[<a class="code" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">DNLEN_384_29</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__384__29_8h.html#a69ba68e3a4efc01da04050cc79706680">BIG_384_29_iszilch</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a239235d13ab7ea1c82070ea771293f18">BIG_384_29_isunity</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a16caa5b2e994f3b3b09d4a4952970977">BIG_384_29_diszilch</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#ade4da533b2f4d9e98b4ce291dc9e9019">BIG_384_29_output</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a82a583012fcdf4a28fd8895d6d086374">BIG_384_29_rawoutput</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a5a848fbcf9248fdf5f123ad831f0eb36">BIG_384_29_cswap</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#aab35f8dbaae1db3e43babae24a220297">BIG_384_29_cmove</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a550d58a56c3336f2b0a5895aeb61b72b">BIG_384_29_dcmove</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a69579e616a8b921d289151ae3cc40d75">BIG_384_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a611c1c3a2087a61ca8aca6702a501e7d">BIG_384_29_fromBytes</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#ab26f93bbc86ea2938b1d640d50baf514">BIG_384_29_fromBytesLen</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#aebcaf728ea21b894d4f40f2ce84b06e5">BIG_384_29_dfromBytesLen</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a298aa7a0970303e8d65d6653fa72ba24">BIG_384_29_doutput</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a16f67ff9a20a55edadfd8b1dd6d7a2e8">BIG_384_29_drawoutput</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#ad0821bce35e6e5adfef3461fc18c3872">BIG_384_29_rcopy</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<span class="keyword">const</span> <a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#aaa87c91cf1a4e235b4e57061744b7488">BIG_384_29_copy</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a31493a223d149d150b81109af2622e68">BIG_384_29_dcopy</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a461b13e8431b6341e9c0f18e171e30a1">BIG_384_29_dsucopy</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a84ac3f34e8a03c0e8f5e3a6d1a856442">BIG_384_29_dscopy</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a331c8e2de95479761e68bfa83e640445">BIG_384_29_sdcopy</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#af84298cbd89cb60dfefe7df04e4ac165">BIG_384_29_sducopy</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a41e218680a464b2f6d727aee4681edb6">BIG_384_29_zero</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a58d1c2c922f53294419dd7a491bfac43">BIG_384_29_dzero</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a885fa7c4bf3a44ff79768ed0d83c80ec">BIG_384_29_one</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#ad24cf08aefb349c5ec7d384fb26d4a3c">BIG_384_29_invmod2m</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#ae8a33809748e86abf38be6a82ee48dbc">BIG_384_29_add</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#abc3c04e91c8a5e1336ca2c4fd2744492">BIG_384_29_or</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#abd830342f83d91806905d61288ff1a89">BIG_384_29_inc</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a4ec616ce0230484c3fe0009710f5233c">BIG_384_29_sub</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a9606f885cd731e6bb70ed43c0fb56de9">BIG_384_29_dec</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a80012252d35e1f39786cb8020b2dbc27">BIG_384_29_dadd</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a8e8bf34c64b05b903b9027541825547d">BIG_384_29_dsub</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#ad19895d08db9aeebf44eff2cc1dafb52">BIG_384_29_imul</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a4141ae18ee04ccefb2d1bf110b935ec0">BIG_384_29_pmul</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#aa5f1a4ab6733b7f7d6d241ee5062c2de">BIG_384_29_div3</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a7af0ca6c0f3147ee53ab842ee0d573f7">BIG_384_29_pxmul</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#acc2d3df7f8f1ad51ee78d34f1e6a481b">BIG_384_29_mul</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#af933c60ca40249a1ee97207d17ec8971">BIG_384_29_smul</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#af7e0e139b973fd707f3dc0416149368e">BIG_384_29_sqr</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#ab5123a78afa3994d0cf7d544317f6a80">BIG_384_29_monty</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> a,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a6d9b60bba362a7654da3e79a0364e84c">BIG_384_29_shl</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a534f2208022d5711bc1ce450e7822205">BIG_384_29_fshl</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a66077e9acce3a88340f7555136248e81">BIG_384_29_dshl</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a3260b1ddfce0d1b53a94b8c5dcdcbec8">BIG_384_29_shr</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a944b245f8d0b3478465c737273711da6">BIG_384_29_ssn</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> r,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> a, <a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#aacf67d3558e177d1e90e6779449062de">BIG_384_29_fshr</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a01b53c51d421c61e4b09ad5ab88995f5">BIG_384_29_dshr</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a89cba4e8778cb74d2a273749ec1fccfb">BIG_384_29_split</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#adae96ed56ad1402b54f0a5a1222d8f87">BIG_384_29_norm</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a9109a9ab947921c2831aaeb359e16828">BIG_384_29_dnorm</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#ac06efcddbe91d806bf4b8c01c56f08ca">BIG_384_29_comp</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a0b99018225d825960c70dd1a213c581b">BIG_384_29_dcomp</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#ad60635d46eb5edd3b8f422fd9094e04c">BIG_384_29_nbits</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a442287e511b421462af841b34fce153b">BIG_384_29_dnbits</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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__384__29_8h.html#a5e429b6a38eff8bc3d7e984e506b92ee">BIG_384_29_mod</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a396198fbeb743b7ad4f7f80c2934f965">BIG_384_29_sdiv</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a042d957754ebc5d6847abf0c0ed613f9">BIG_384_29_dmod</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a4089cb6ff0368f04bb1d415c9ceb1c72">BIG_384_29_ddiv</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a4c2b8fc522862ee9f466dcb227a6a278">BIG_384_29_parity</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a76a57f414f2b3be61fa038ec2a016bb0">BIG_384_29_bit</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a40be50b37b5e4515902c22dad2f156ef">BIG_384_29_lastbits</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#ab47d90d426deb85d60b6677eda549e78">BIG_384_29_random</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a9771f9ed803f3be53c92db25f6e059fb">BIG_384_29_randomnum</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a83339bca9b54d2c662b82563aa2cab6e">BIG_384_29_modmul</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#ad1ecea87aa16f997ac5926c559c56bf5">BIG_384_29_moddiv</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> z,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a8711ca578f23cc48a617bd707696951a">BIG_384_29_modsqr</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a9a3aab2f941d3ad88fe09a884ce4bbf3">BIG_384_29_modneg</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#af934ab3c68b97302df91f99bbb83a2b0">BIG_384_29_jacobi</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a39adf092cc3e1e0d5f98acaebcf4dd2f">BIG_384_29_invmodp</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> x,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a> y,<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#a2eb7feb42ec2e26b6d413bc27161b003">BIG_384_29_mod2m</a>(<a class="code" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</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__384__29_8h.html#ad5942c0c1f2816790ec4c6fac63fb934">BIG_384_29_dmod2m</a>(<a class="code" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</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_384_29(<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__384__29_8h.html#a385093038217417d0ccf44b5d13875d4">BMASK_384_29</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__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</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_384_29(<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__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">HMASK_384_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">HMASK_384_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</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__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">HMASK_384_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</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__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4">BMASK_384_29</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__384__29_8h_html_a6d9b60bba362a7654da3e79a0364e84c"><div class="ttname"><a href="big__384__29_8h.html#a6d9b60bba362a7654da3e79a0364e84c">BIG_384_29_shl</a></div><div class="ttdeci">void BIG_384_29_shl(BIG_384_29 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_384_29.c:813</div></div>
-<div class="ttc" id="big__384__29_8h_html_a76a57f414f2b3be61fa038ec2a016bb0"><div class="ttname"><a href="big__384__29_8h.html#a76a57f414f2b3be61fa038ec2a016bb0">BIG_384_29_bit</a></div><div class="ttdeci">int BIG_384_29_bit(BIG_384_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1232</div></div>
-<div class="ttc" id="big__384__29_8h_html_a461b13e8431b6341e9c0f18e171e30a1"><div class="ttname"><a href="big__384__29_8h.html#a461b13e8431b6341e9c0f18e171e30a1">BIG_384_29_dsucopy</a></div><div class="ttdeci">void BIG_384_29_dsucopy(DBIG_384_29 x, BIG_384_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:280</div></div>
-<div class="ttc" id="big__384__29_8h_html_a298aa7a0970303e8d65d6653fa72ba24"><div class="ttname"><a href="big__384__29_8h.html#a298aa7a0970303e8d65d6653fa72ba24">BIG_384_29_doutput</a></div><div class="ttdeci">void BIG_384_29_doutput(DBIG_384_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:190</div></div>
-<div class="ttc" id="big__384__29_8h_html_a31493a223d149d150b81109af2622e68"><div class="ttname"><a href="big__384__29_8h.html#a31493a223d149d150b81109af2622e68">BIG_384_29_dcopy</a></div><div class="ttdeci">void BIG_384_29_dcopy(DBIG_384_29 x, DBIG_384_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:251</div></div>
-<div class="ttc" id="big__384__29_8h_html_a4c2b8fc522862ee9f466dcb227a6a278"><div class="ttname"><a href="big__384__29_8h.html#a4c2b8fc522862ee9f466dcb227a6a278">BIG_384_29_parity</a></div><div class="ttdeci">int BIG_384_29_parity(BIG_384_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1225</div></div>
-<div class="ttc" id="config__big__384__29_8h_html_afbf8af6e59b69e4f78c0d20c2acea5cd"><div class="ttname"><a href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a></div><div class="ttdeci">#define BASEBITS_384_29</div><div class="ttdef"><b>Definition:</b> config_big_384_29.h:35</div></div>
-<div class="ttc" id="big__384__29_8h_html_a239235d13ab7ea1c82070ea771293f18"><div class="ttname"><a href="big__384__29_8h.html#a239235d13ab7ea1c82070ea771293f18">BIG_384_29_isunity</a></div><div class="ttdeci">int BIG_384_29_isunity(BIG_384_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:35</div></div>
-<div class="ttc" id="config__big__384__29_8h_html"><div class="ttname"><a href="config__big__384__29_8h.html">config_big_384_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__384__29_8h_html_aab35f8dbaae1db3e43babae24a220297"><div class="ttname"><a href="big__384__29_8h.html#aab35f8dbaae1db3e43babae24a220297">BIG_384_29_cmove</a></div><div class="ttdeci">void BIG_384_29_cmove(BIG_384_29 x, BIG_384_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:110</div></div>
-<div class="ttc" id="big__384__29_8h_html_a4089cb6ff0368f04bb1d415c9ceb1c72"><div class="ttname"><a href="big__384__29_8h.html#a4089cb6ff0368f04bb1d415c9ceb1c72">BIG_384_29_ddiv</a></div><div class="ttdeci">void BIG_384_29_ddiv(BIG_384_29 x, DBIG_384_29 y, BIG_384_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1149</div></div>
-<div class="ttc" id="big__384__29_8h_html_ad1ecea87aa16f997ac5926c559c56bf5"><div class="ttname"><a href="big__384__29_8h.html#ad1ecea87aa16f997ac5926c559c56bf5">BIG_384_29_moddiv</a></div><div class="ttdeci">void BIG_384_29_moddiv(BIG_384_29 x, BIG_384_29 y, BIG_384_29 z, BIG_384_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1337</div></div>
-<div class="ttc" id="big__384__29_8h_html_a2d1004b9eccdcfc31be289533132cfe3"><div class="ttname"><a href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">NLEN_384_29</a></div><div class="ttdeci">#define NLEN_384_29</div><div class="ttdef"><b>Definition:</b> big_384_29.h:40</div></div>
-<div class="ttc" id="big__384__29_8h_html_a944b245f8d0b3478465c737273711da6"><div class="ttname"><a href="big__384__29_8h.html#a944b245f8d0b3478465c737273711da6">BIG_384_29_ssn</a></div><div class="ttdeci">int BIG_384_29_ssn(BIG_384_29 r, BIG_384_29 a, BIG_384_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:877</div></div>
-<div class="ttc" id="big__384__29_8h_html_a16caa5b2e994f3b3b09d4a4952970977"><div class="ttname"><a href="big__384__29_8h.html#a16caa5b2e994f3b3b09d4a4952970977">BIG_384_29_diszilch</a></div><div class="ttdeci">int BIG_384_29_diszilch(DBIG_384_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:45</div></div>
-<div class="ttc" id="big__384__29_8h_html_a5e429b6a38eff8bc3d7e984e506b92ee"><div class="ttname"><a href="big__384__29_8h.html#a5e429b6a38eff8bc3d7e984e506b92ee">BIG_384_29_mod</a></div><div class="ttdeci">void BIG_384_29_mod(BIG_384_29 x, BIG_384_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1082</div></div>
-<div class="ttc" id="big__384__29_8h_html_a84ac3f34e8a03c0e8f5e3a6d1a856442"><div class="ttname"><a href="big__384__29_8h.html#a84ac3f34e8a03c0e8f5e3a6d1a856442">BIG_384_29_dscopy</a></div><div class="ttdeci">void BIG_384_29_dscopy(DBIG_384_29 x, BIG_384_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:263</div></div>
-<div class="ttc" id="big__384__29_8h_html_addd1b223ffcb85c18f7f25c1b0e2e068"><div class="ttname"><a href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">DNLEN_384_29</a></div><div class="ttdeci">#define DNLEN_384_29</div><div class="ttdef"><b>Definition:</b> big_384_29.h:41</div></div>
-<div class="ttc" id="big__384__29_8h_html_ab7676d9d5313782211e981b9e62cdff5"><div class="ttname"><a href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">HBITS_384_29</a></div><div class="ttdeci">#define HBITS_384_29</div><div class="ttdef"><b>Definition:</b> big_384_29.h:45</div></div>
-<div class="ttc" id="big__384__29_8h_html_a8c300cadd1a50e2f3a67f9ef2214944c"><div class="ttname"><a href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">BIG_384_29</a></div><div class="ttdeci">chunk BIG_384_29[NLEN_384_29]</div><div class="ttdef"><b>Definition:</b> big_384_29.h:58</div></div>
-<div class="ttc" id="big__384__29_8h_html_adae96ed56ad1402b54f0a5a1222d8f87"><div class="ttname"><a href="big__384__29_8h.html#adae96ed56ad1402b54f0a5a1222d8f87">BIG_384_29_norm</a></div><div class="ttdeci">chunk BIG_384_29_norm(BIG_384_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:976</div></div>
-<div class="ttc" id="big__384__29_8h_html_a9606f885cd731e6bb70ed43c0fb56de9"><div class="ttname"><a href="big__384__29_8h.html#a9606f885cd731e6bb70ed43c0fb56de9">BIG_384_29_dec</a></div><div class="ttdeci">void BIG_384_29_dec(BIG_384_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:440</div></div>
-<div class="ttc" id="big__384__29_8h_html_aacf67d3558e177d1e90e6779449062de"><div class="ttname"><a href="big__384__29_8h.html#aacf67d3558e177d1e90e6779449062de">BIG_384_29_fshr</a></div><div class="ttdeci">int BIG_384_29_fshr(BIG_384_29 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_384_29.c:906</div></div>
-<div class="ttc" id="big__384__29_8h_html_ad19895d08db9aeebf44eff2cc1dafb52"><div class="ttname"><a href="big__384__29_8h.html#ad19895d08db9aeebf44eff2cc1dafb52">BIG_384_29_imul</a></div><div class="ttdeci">void BIG_384_29_imul(BIG_384_29 x, BIG_384_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:450</div></div>
-<div class="ttc" id="big__384__29_8h_html_a8711ca578f23cc48a617bd707696951a"><div class="ttname"><a href="big__384__29_8h.html#a8711ca578f23cc48a617bd707696951a">BIG_384_29_modsqr</a></div><div class="ttdeci">void BIG_384_29_modsqr(BIG_384_29 x, BIG_384_29 y, BIG_384_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1315</div></div>
-<div class="ttc" id="big__384__29_8h_html_a9109a9ab947921c2831aaeb359e16828"><div class="ttname"><a href="big__384__29_8h.html#a9109a9ab947921c2831aaeb359e16828">BIG_384_29_dnorm</a></div><div class="ttdeci">void BIG_384_29_dnorm(DBIG_384_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:995</div></div>
-<div class="ttc" id="big__384__29_8h_html_a534f2208022d5711bc1ce450e7822205"><div class="ttname"><a href="big__384__29_8h.html#a534f2208022d5711bc1ce450e7822205">BIG_384_29_fshl</a></div><div class="ttdeci">int BIG_384_29_fshl(BIG_384_29 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_384_29.c:832</div></div>
-<div class="ttc" id="big__384__29_8h_html_aa5f1a4ab6733b7f7d6d241ee5062c2de"><div class="ttname"><a href="big__384__29_8h.html#aa5f1a4ab6733b7f7d6d241ee5062c2de">BIG_384_29_div3</a></div><div class="ttdeci">int BIG_384_29_div3(BIG_384_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:484</div></div>
-<div class="ttc" id="big__384__29_8h_html_a41e218680a464b2f6d727aee4681edb6"><div class="ttname"><a href="big__384__29_8h.html#a41e218680a464b2f6d727aee4681edb6">BIG_384_29_zero</a></div><div class="ttdeci">void BIG_384_29_zero(BIG_384_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:319</div></div>
-<div class="ttc" id="big__384__29_8h_html_ad60635d46eb5edd3b8f422fd9094e04c"><div class="ttname"><a href="big__384__29_8h.html#ad60635d46eb5edd3b8f422fd9094e04c">BIG_384_29_nbits</a></div><div class="ttdeci">int BIG_384_29_nbits(BIG_384_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1040</div></div>
-<div class="ttc" id="big__384__29_8h_html_ae8a33809748e86abf38be6a82ee48dbc"><div class="ttname"><a href="big__384__29_8h.html#ae8a33809748e86abf38be6a82ee48dbc">BIG_384_29_add</a></div><div class="ttdeci">void BIG_384_29_add(BIG_384_29 x, BIG_384_29 y, BIG_384_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:356</div></div>
-<div class="ttc" id="big__384__29_8h_html_ad24cf08aefb349c5ec7d384fb26d4a3c"><div class="ttname"><a href="big__384__29_8h.html#ad24cf08aefb349c5ec7d384fb26d4a3c">BIG_384_29_invmod2m</a></div><div class="ttdeci">void BIG_384_29_invmod2m(BIG_384_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__384__29_8h_html_a3260b1ddfce0d1b53a94b8c5dcdcbec8"><div class="ttname"><a href="big__384__29_8h.html#a3260b1ddfce0d1b53a94b8c5dcdcbec8">BIG_384_29_shr</a></div><div class="ttdeci">void BIG_384_29_shr(BIG_384_29 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_384_29.c:864</div></div>
-<div class="ttc" id="big__384__29_8h_html_a385093038217417d0ccf44b5d13875d4"><div class="ttname"><a href="big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4">BMASK_384_29</a></div><div class="ttdeci">#define BMASK_384_29</div><div class="ttdef"><b>Definition:</b> big_384_29.h:42</div></div>
-<div class="ttc" id="big__384__29_8h_html_af934ab3c68b97302df91f99bbb83a2b0"><div class="ttname"><a href="big__384__29_8h.html#af934ab3c68b97302df91f99bbb83a2b0">BIG_384_29_jacobi</a></div><div class="ttdeci">int BIG_384_29_jacobi(BIG_384_29 x, BIG_384_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1354</div></div>
-<div class="ttc" id="big__384__29_8h_html_a66077e9acce3a88340f7555136248e81"><div class="ttname"><a href="big__384__29_8h.html#a66077e9acce3a88340f7555136248e81">BIG_384_29_dshl</a></div><div class="ttdeci">void BIG_384_29_dshl(DBIG_384_29 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_384_29.c:846</div></div>
-<div class="ttc" id="big__384__29_8h_html_a442287e511b421462af841b34fce153b"><div class="ttname"><a href="big__384__29_8h.html#a442287e511b421462af841b34fce153b">BIG_384_29_dnbits</a></div><div class="ttdeci">int BIG_384_29_dnbits(DBIG_384_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1060</div></div>
-<div class="ttc" id="big__384__29_8h_html_aef1a1a590bb80b9d666d508e97dc2aa8"><div class="ttname"><a href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">DBIG_384_29</a></div><div class="ttdeci">chunk DBIG_384_29[DNLEN_384_29]</div><div class="ttdef"><b>Definition:</b> big_384_29.h:59</div></div>
-<div class="ttc" id="big__384__29_8h_html_a4ec616ce0230484c3fe0009710f5233c"><div class="ttname"><a href="big__384__29_8h.html#a4ec616ce0230484c3fe0009710f5233c">BIG_384_29_sub</a></div><div class="ttdeci">void BIG_384_29_sub(BIG_384_29 x, BIG_384_29 y, BIG_384_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:397</div></div>
-<div class="ttc" id="big__384__29_8h_html_a9771f9ed803f3be53c92db25f6e059fb"><div class="ttname"><a href="big__384__29_8h.html#a9771f9ed803f3be53c92db25f6e059fb">BIG_384_29_randomnum</a></div><div class="ttdeci">void BIG_384_29_randomnum(BIG_384_29 x, BIG_384_29 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_384_29.c:1274</div></div>
-<div class="ttc" id="big__384__29_8h_html_a5a848fbcf9248fdf5f123ad831f0eb36"><div class="ttname"><a href="big__384__29_8h.html#a5a848fbcf9248fdf5f123ad831f0eb36">BIG_384_29_cswap</a></div><div class="ttdeci">void BIG_384_29_cswap(BIG_384_29 x, BIG_384_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:92</div></div>
-<div class="ttc" id="big__384__29_8h_html_ab47d90d426deb85d60b6677eda549e78"><div class="ttname"><a href="big__384__29_8h.html#ab47d90d426deb85d60b6677eda549e78">BIG_384_29_random</a></div><div class="ttdeci">void BIG_384_29_random(BIG_384_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1248</div></div>
-<div class="ttc" id="big__384__29_8h_html_a9f3ff82f9bb37efc3eb8afa48876b952"><div class="ttname"><a href="big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">HMASK_384_29</a></div><div class="ttdeci">#define HMASK_384_29</div><div class="ttdef"><b>Definition:</b> big_384_29.h:46</div></div>
-<div class="ttc" id="big__384__29_8h_html_a69ba68e3a4efc01da04050cc79706680"><div class="ttname"><a href="big__384__29_8h.html#a69ba68e3a4efc01da04050cc79706680">BIG_384_29_iszilch</a></div><div class="ttdeci">int BIG_384_29_iszilch(BIG_384_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:26</div></div>
-<div class="ttc" id="big__384__29_8h_html_ade4da533b2f4d9e98b4ce291dc9e9019"><div class="ttname"><a href="big__384__29_8h.html#ade4da533b2f4d9e98b4ce291dc9e9019">BIG_384_29_output</a></div><div class="ttdeci">void BIG_384_29_output(BIG_384_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:55</div></div>
-<div class="ttc" id="big__384__29_8h_html_abd830342f83d91806905d61288ff1a89"><div class="ttname"><a href="big__384__29_8h.html#abd830342f83d91806905d61288ff1a89">BIG_384_29_inc</a></div><div class="ttdeci">void BIG_384_29_inc(BIG_384_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:386</div></div>
-<div class="ttc" id="big__384__29_8h_html_a82a583012fcdf4a28fd8895d6d086374"><div class="ttname"><a href="big__384__29_8h.html#a82a583012fcdf4a28fd8895d6d086374">BIG_384_29_rawoutput</a></div><div class="ttdeci">void BIG_384_29_rawoutput(BIG_384_29 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_384_29.c:77</div></div>
-<div class="ttc" id="big__384__29_8h_html_acc2d3df7f8f1ad51ee78d34f1e6a481b"><div class="ttname"><a href="big__384__29_8h.html#acc2d3df7f8f1ad51ee78d34f1e6a481b">BIG_384_29_mul</a></div><div class="ttdeci">void BIG_384_29_mul(DBIG_384_29 x, BIG_384_29 y, BIG_384_29 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_384_29.c:542</div></div>
-<div class="ttc" id="big__384__29_8h_html_a611c1c3a2087a61ca8aca6702a501e7d"><div class="ttname"><a href="big__384__29_8h.html#a611c1c3a2087a61ca8aca6702a501e7d">BIG_384_29_fromBytes</a></div><div class="ttdeci">void BIG_384_29_fromBytes(BIG_384_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:155</div></div>
-<div class="ttc" id="big__384__29_8h_html_aaa87c91cf1a4e235b4e57061744b7488"><div class="ttname"><a href="big__384__29_8h.html#aaa87c91cf1a4e235b4e57061744b7488">BIG_384_29_copy</a></div><div class="ttdeci">void BIG_384_29_copy(BIG_384_29 x, BIG_384_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:227</div></div>
-<div class="ttc" id="big__384__29_8h_html_a58d1c2c922f53294419dd7a491bfac43"><div class="ttname"><a href="big__384__29_8h.html#a58d1c2c922f53294419dd7a491bfac43">BIG_384_29_dzero</a></div><div class="ttdeci">void BIG_384_29_dzero(DBIG_384_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:329</div></div>
-<div class="ttc" id="big__384__29_8h_html_ad5942c0c1f2816790ec4c6fac63fb934"><div class="ttname"><a href="big__384__29_8h.html#ad5942c0c1f2816790ec4c6fac63fb934">BIG_384_29_dmod2m</a></div><div class="ttdeci">void BIG_384_29_dmod2m(DBIG_384_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1470</div></div>
-<div class="ttc" id="big__384__29_8h_html_af933c60ca40249a1ee97207d17ec8971"><div class="ttname"><a href="big__384__29_8h.html#af933c60ca40249a1ee97207d17ec8971">BIG_384_29_smul</a></div><div class="ttdeci">void BIG_384_29_smul(BIG_384_29 x, BIG_384_29 y, BIG_384_29 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_384_29.c:518</div></div>
-<div class="ttc" id="big__384__29_8h_html_ab5123a78afa3994d0cf7d544317f6a80"><div class="ttname"><a href="big__384__29_8h.html#ab5123a78afa3994d0cf7d544317f6a80">BIG_384_29_monty</a></div><div class="ttdeci">void BIG_384_29_monty(BIG_384_29 a, BIG_384_29 md, chunk MC, DBIG_384_29 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_384_29.c:735</div></div>
-<div class="ttc" id="big__384__29_8h_html_aebcaf728ea21b894d4f40f2ce84b06e5"><div class="ttname"><a href="big__384__29_8h.html#aebcaf728ea21b894d4f40f2ce84b06e5">BIG_384_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_384_29_dfromBytesLen(DBIG_384_29 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_384_29.c:1485</div></div>
-<div class="ttc" id="big__384__29_8h_html_a7af0ca6c0f3147ee53ab842ee0d573f7"><div class="ttname"><a href="big__384__29_8h.html#a7af0ca6c0f3147ee53ab842ee0d573f7">BIG_384_29_pxmul</a></div><div class="ttdeci">void BIG_384_29_pxmul(DBIG_384_29 x, BIG_384_29 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_384_29.c:501</div></div>
-<div class="ttc" id="big__384__29_8h_html_ab26f93bbc86ea2938b1d640d50baf514"><div class="ttname"><a href="big__384__29_8h.html#ab26f93bbc86ea2938b1d640d50baf514">BIG_384_29_fromBytesLen</a></div><div class="ttdeci">void BIG_384_29_fromBytesLen(BIG_384_29 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_384_29.c:170</div></div>
-<div class="ttc" id="big__384__29_8h_html_a885fa7c4bf3a44ff79768ed0d83c80ec"><div class="ttname"><a href="big__384__29_8h.html#a885fa7c4bf3a44ff79768ed0d83c80ec">BIG_384_29_one</a></div><div class="ttdeci">void BIG_384_29_one(BIG_384_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_384_29.c:340</div></div>
-<div class="ttc" id="big__384__29_8h_html_ad0821bce35e6e5adfef3461fc18c3872"><div class="ttname"><a href="big__384__29_8h.html#ad0821bce35e6e5adfef3461fc18c3872">BIG_384_29_rcopy</a></div><div class="ttdeci">void BIG_384_29_rcopy(BIG_384_29 x, const BIG_384_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:239</div></div>
-<div class="ttc" id="big__384__29_8h_html_a0b99018225d825960c70dd1a213c581b"><div class="ttname"><a href="big__384__29_8h.html#a0b99018225d825960c70dd1a213c581b">BIG_384_29_dcomp</a></div><div class="ttdeci">int BIG_384_29_dcomp(DBIG_384_29 x, DBIG_384_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1026</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__384__29_8h_html_af7e0e139b973fd707f3dc0416149368e"><div class="ttname"><a href="big__384__29_8h.html#af7e0e139b973fd707f3dc0416149368e">BIG_384_29_sqr</a></div><div class="ttdeci">void BIG_384_29_sqr(DBIG_384_29 x, BIG_384_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:618</div></div>
-<div class="ttc" id="big__384__29_8h_html_af84298cbd89cb60dfefe7df04e4ac165"><div class="ttname"><a href="big__384__29_8h.html#af84298cbd89cb60dfefe7df04e4ac165">BIG_384_29_sducopy</a></div><div class="ttdeci">void BIG_384_29_sducopy(BIG_384_29 x, DBIG_384_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:306</div></div>
-<div class="ttc" id="big__384__29_8h_html_a83339bca9b54d2c662b82563aa2cab6e"><div class="ttname"><a href="big__384__29_8h.html#a83339bca9b54d2c662b82563aa2cab6e">BIG_384_29_modmul</a></div><div class="ttdeci">void BIG_384_29_modmul(BIG_384_29 x, BIG_384_29 y, BIG_384_29 z, BIG_384_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1300</div></div>
-<div class="ttc" id="big__384__29_8h_html_a550d58a56c3336f2b0a5895aeb61b72b"><div class="ttname"><a href="big__384__29_8h.html#a550d58a56c3336f2b0a5895aeb61b72b">BIG_384_29_dcmove</a></div><div class="ttdeci">void BIG_384_29_dcmove(BIG_384_29 x, BIG_384_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</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__384__29_8h_html_abc3c04e91c8a5e1336ca2c4fd2744492"><div class="ttname"><a href="big__384__29_8h.html#abc3c04e91c8a5e1336ca2c4fd2744492">BIG_384_29_or</a></div><div class="ttdeci">void BIG_384_29_or(BIG_384_29 x, BIG_384_29 y, BIG_384_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:371</div></div>
-<div class="ttc" id="big__384__29_8h_html_a39adf092cc3e1e0d5f98acaebcf4dd2f"><div class="ttname"><a href="big__384__29_8h.html#a39adf092cc3e1e0d5f98acaebcf4dd2f">BIG_384_29_invmodp</a></div><div class="ttdeci">void BIG_384_29_invmodp(BIG_384_29 x, BIG_384_29 y, BIG_384_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1392</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__384__29_8h_html_a9a3aab2f941d3ad88fe09a884ce4bbf3"><div class="ttname"><a href="big__384__29_8h.html#a9a3aab2f941d3ad88fe09a884ce4bbf3">BIG_384_29_modneg</a></div><div class="ttdeci">void BIG_384_29_modneg(BIG_384_29 x, BIG_384_29 y, BIG_384_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1327</div></div>
-<div class="ttc" id="big__384__29_8h_html_a331c8e2de95479761e68bfa83e640445"><div class="ttname"><a href="big__384__29_8h.html#a331c8e2de95479761e68bfa83e640445">BIG_384_29_sdcopy</a></div><div class="ttdeci">void BIG_384_29_sdcopy(BIG_384_29 x, DBIG_384_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:294</div></div>
-<div class="ttc" id="big__384__29_8h_html_a4141ae18ee04ccefb2d1bf110b935ec0"><div class="ttname"><a href="big__384__29_8h.html#a4141ae18ee04ccefb2d1bf110b935ec0">BIG_384_29_pmul</a></div><div class="ttdeci">chunk BIG_384_29_pmul(BIG_384_29 x, BIG_384_29 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_384_29.c:465</div></div>
-<div class="ttc" id="big__384__29_8h_html_a01b53c51d421c61e4b09ad5ab88995f5"><div class="ttname"><a href="big__384__29_8h.html#a01b53c51d421c61e4b09ad5ab88995f5">BIG_384_29_dshr</a></div><div class="ttdeci">void BIG_384_29_dshr(DBIG_384_29 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_384_29.c:918</div></div>
-<div class="ttc" id="big__384__29_8h_html_a2eb7feb42ec2e26b6d413bc27161b003"><div class="ttname"><a href="big__384__29_8h.html#a2eb7feb42ec2e26b6d413bc27161b003">BIG_384_29_mod2m</a></div><div class="ttdeci">void BIG_384_29_mod2m(BIG_384_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1456</div></div>
-<div class="ttc" id="big__384__29_8h_html_ac06efcddbe91d806bf4b8c01c56f08ca"><div class="ttname"><a href="big__384__29_8h.html#ac06efcddbe91d806bf4b8c01c56f08ca">BIG_384_29_comp</a></div><div class="ttdeci">int BIG_384_29_comp(BIG_384_29 x, BIG_384_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1014</div></div>
-<div class="ttc" id="big__384__29_8h_html_a89cba4e8778cb74d2a273749ec1fccfb"><div class="ttname"><a href="big__384__29_8h.html#a89cba4e8778cb74d2a273749ec1fccfb">BIG_384_29_split</a></div><div class="ttdeci">chunk BIG_384_29_split(BIG_384_29 x, BIG_384_29 y, DBIG_384_29 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_384_29.c:932</div></div>
-<div class="ttc" id="big__384__29_8h_html_a042d957754ebc5d6847abf0c0ed613f9"><div class="ttname"><a href="big__384__29_8h.html#a042d957754ebc5d6847abf0c0ed613f9">BIG_384_29_dmod</a></div><div class="ttdeci">void BIG_384_29_dmod(BIG_384_29 x, DBIG_384_29 y, BIG_384_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1113</div></div>
-<div class="ttc" id="big__384__29_8h_html_a8e8bf34c64b05b903b9027541825547d"><div class="ttname"><a href="big__384__29_8h.html#a8e8bf34c64b05b903b9027541825547d">BIG_384_29_dsub</a></div><div class="ttdeci">void BIG_384_29_dsub(DBIG_384_29 x, DBIG_384_29 y, DBIG_384_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:413</div></div>
-<div class="ttc" id="big__384__29_8h_html_a69579e616a8b921d289151ae3cc40d75"><div class="ttname"><a href="big__384__29_8h.html#a69579e616a8b921d289151ae3cc40d75">BIG_384_29_toBytes</a></div><div class="ttdeci">void BIG_384_29_toBytes(char *a, BIG_384_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:141</div></div>
-<div class="ttc" id="big__384__29_8h_html_a396198fbeb743b7ad4f7f80c2934f965"><div class="ttname"><a href="big__384__29_8h.html#a396198fbeb743b7ad4f7f80c2934f965">BIG_384_29_sdiv</a></div><div class="ttdeci">void BIG_384_29_sdiv(BIG_384_29 x, BIG_384_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1188</div></div>
-<div class="ttc" id="big__384__29_8h_html_a16f67ff9a20a55edadfd8b1dd6d7a2e8"><div class="ttname"><a href="big__384__29_8h.html#a16f67ff9a20a55edadfd8b1dd6d7a2e8">BIG_384_29_drawoutput</a></div><div class="ttdeci">void BIG_384_29_drawoutput(DBIG_384_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:212</div></div>
-<div class="ttc" id="big__384__29_8h_html_a80012252d35e1f39786cb8020b2dbc27"><div class="ttname"><a href="big__384__29_8h.html#a80012252d35e1f39786cb8020b2dbc27">BIG_384_29_dadd</a></div><div class="ttdeci">void BIG_384_29_dadd(DBIG_384_29 x, DBIG_384_29 y, DBIG_384_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_29.c:426</div></div>
-<div class="ttc" id="big__384__29_8h_html_a40be50b37b5e4515902c22dad2f156ef"><div class="ttname"><a href="big__384__29_8h.html#a40be50b37b5e4515902c22dad2f156ef">BIG_384_29_lastbits</a></div><div class="ttdeci">int BIG_384_29_lastbits(BIG_384_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_384_29.c:1240</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__384__56_8h.html b/website/static/cdocs/big__384__56_8h.html
index 7ab50cf..af4fac6 100644
--- a/website/static/cdocs/big__384__56_8h.html
+++ b/website/static/cdocs/big__384__56_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_384_56.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="a41684e324281a6f40403c8719c12db83"></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="a05c605371b6db50505d44a2409b0a208"></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__384__56_8h_source.html b/website/static/cdocs/big__384__56_8h_source.html
index 78ebeab..d584aed 100644
--- a/website/static/cdocs/big__384__56_8h_source.html
+++ b/website/static/cdocs/big__384__56_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_384_56.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_384_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__384__56_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_384_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_384_56_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__384__56_8h.html">config_big_384_56.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__384__56_8h.html#a6e1353243985f68f42cdf9be09b90141">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_384_56 (8*MODBYTES_384_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">   40</a></span>&#160;<span class="preprocessor">#define NLEN_384_56 (1+((8*MODBYTES_384_56-1)/BASEBITS_384_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_384_56 2*NLEN_384_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">   42</a></span>&#160;<span class="preprocessor">#define BMASK_384_56 (((chunk)1&lt;&lt;BASEBITS_384_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a5a6ef8568e207c971f9c23b06673b778">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_384_56 (1&lt;&lt;(CHUNK-BASEBITS_384_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">   45</a></span>&#160;<span class="preprocessor">#define HBITS_384_56 (BASEBITS_384_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">   46</a></span>&#160;<span class="preprocessor">#define HMASK_384_56 (((chunk)1&lt;&lt;HBITS_384_56)-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_384_56 NLEN_384_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_384_56 (NLEN_384_56+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__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>[<a class="code" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_384_56 DNLEN_384_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_384_56 (DNLEN_384_56+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__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a>[<a class="code" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">DNLEN_384_56</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__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>[<a class="code" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a>[<a class="code" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">DNLEN_384_56</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__384__56_8h.html#a501d069a9b78be0c8ad093314e1f7bb3">BIG_384_56_iszilch</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a904972dd817ed39992151c2d9c40e530">BIG_384_56_isunity</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a4c4e0e30b5871b09f9dc6feba9465fd3">BIG_384_56_diszilch</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ad9694ea00361b6487cabde26235ae0ae">BIG_384_56_output</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#afa1909f6c026350b5231eb12c6b14565">BIG_384_56_rawoutput</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#abd8bddc35d4bda42867f0e9a4eb07874">BIG_384_56_cswap</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ad9b8213b5add9582a664fcd58ff80ef2">BIG_384_56_cmove</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a22a6d481288f98dfb1c985aaf4c34a12">BIG_384_56_dcmove</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ab7cdb8bcf992f08fd7a089ef7ef67f06">BIG_384_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8b3ba939ef56607de9561c736bb45b06">BIG_384_56_fromBytes</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ad2fffed8ee3c80a87427a7816dccd458">BIG_384_56_fromBytesLen</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ad8a23de43097c9bf56cb0dbdd0a3380b">BIG_384_56_dfromBytesLen</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a55fc7488d3c7d8530495e9c077a473a9">BIG_384_56_doutput</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a6d94dd0fad95639cfa1b221ecbf9d282">BIG_384_56_drawoutput</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ab90026aff678dcc7ab1d1c2d7167f296">BIG_384_56_rcopy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a99265daad1062824f89c9f163e40b33e">BIG_384_56_copy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a41e18ce29fb09e100b00dcffb8304b6a">BIG_384_56_dcopy</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#af97d5f512b479452b76c8c395cc526da">BIG_384_56_dsucopy</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a7c1897e5941d8b5a6f12665f240a76b6">BIG_384_56_dscopy</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a407e94ca63a7bff4efacf40e3e42662d">BIG_384_56_sdcopy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a83dc4374d0ff05900d9c1f37abf2ca0e">BIG_384_56_sducopy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ac2cc31c4eee2db7c34437af01cb0b09b">BIG_384_56_zero</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a7a29993b9800bc5fed165682d13fa5da">BIG_384_56_dzero</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#af2195a8253e0c58b8bb147deb707dcd2">BIG_384_56_one</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2">BIG_384_56_invmod2m</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#afe5a8c4ad2eea34b6dc4716646f77e18">BIG_384_56_add</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#acfcc567d1954ac2f544c267e48e711fd">BIG_384_56_or</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ac341a05be2a42320d3144cecb595166f">BIG_384_56_inc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a2fc55eb658f35dbc23c2129d9304f21e">BIG_384_56_sub</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#acb29aee7950c9c6d2ed896fbb8b1e8d0">BIG_384_56_dec</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a98358a4dd86211868eeb80b7a21f8694">BIG_384_56_dadd</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ac114288aa5bbc61e6f533ca6db5d253c">BIG_384_56_dsub</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a6ac44aa223a117f1239157b2c2d477e3">BIG_384_56_imul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8cd2e3373d75d4eabd69efdc077102b6">BIG_384_56_pmul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a88c643881b2dcb024ec8674fd59a4643">BIG_384_56_div3</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aaaf368d2ac42f5ddd825da235e397c08">BIG_384_56_pxmul</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a99db6539a15cf5e277cc3079381546a1">BIG_384_56_mul</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#afff858b85945feea8c4304eaa0307a5c">BIG_384_56_smul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8f44795268d343dd622457846a42cb49">BIG_384_56_sqr</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a212014277605c4d603aeaf27a0453bd0">BIG_384_56_monty</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> a,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a6a728958036a6adcc69b6e0953344b6c">BIG_384_56_shl</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a0348863e6f3a873d11b0d3e2f5b5b7a6">BIG_384_56_fshl</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#add2d166ceaaa059bd8fd7b62c51b45a7">BIG_384_56_dshl</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a1164e9e8808b1ee99a586bb360bf3dc1">BIG_384_56_shr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a52bba4444f17006ad65e1b0a48532ca6">BIG_384_56_ssn</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> a, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ab650eeee7180e6bc956edf083890ae96">BIG_384_56_fshr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#af25337e9c2f5c5885aa1b28c84c4695b">BIG_384_56_dshr</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a8ce439dbee1a71a202667ca20ae5ffa1">BIG_384_56_split</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ad7697ab07cf3b454d1e3706e16cbea0d">BIG_384_56_norm</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ace1e87ade1ebce4f28cf7e6924a56cc5">BIG_384_56_dnorm</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#afce7cbc5b297710f08ec91d0c48459d9">BIG_384_56_comp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#add5ae95435b4aaf29ff4009dff080e75">BIG_384_56_dcomp</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#aa975ee4fd00b1c3b163433911ebb232d">BIG_384_56_nbits</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a41684e324281a6f40403c8719c12db83">BIG_384_56_dnbits</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a20f5f28740c150878645e8b055421fe1">BIG_384_56_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#adf3da0c74b8beedfcf9f7cd56b9328dc">BIG_384_56_sdiv</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8623960a691328a6137b09c62f8ff191">BIG_384_56_dmod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aaa7c7bc03ef40e9c8e92578fb1190090">BIG_384_56_ddiv</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a18cfde297623f697994a00ab1aee9325">BIG_384_56_parity</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#adccaaea2fa428b6b907bba1f057f47fc">BIG_384_56_bit</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a2c43db5f1761f1ab986cc62f8a9ec89e">BIG_384_56_lastbits</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aac5c3aa122fe71f774d84308ae786e27">BIG_384_56_random</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a4fbe5634d4f5caf8e939de0bfd33a880">BIG_384_56_randomnum</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a6f4dfa3df3b0a3e1f0a295a4518f9edc">BIG_384_56_modmul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a05c605371b6db50505d44a2409b0a208">BIG_384_56_moddiv</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a2345e7bf7451a965d72bd1c9d2f66198">BIG_384_56_modsqr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a01afcbd9656c926d98b433b17b0929ad">BIG_384_56_modneg</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a4092febdcd66786f025cb1fa6b01c1e0">BIG_384_56_jacobi</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ac96a4421de3b5fd001192f2f0544cf7a">BIG_384_56_invmodp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ab28f4d0d9184346bfaf5ae46231d6119">BIG_384_56_mod2m</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aac92ed32b643060b228968fff92f550b">BIG_384_56_dmod2m</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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_384_56(<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__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">BMASK_384_56</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__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</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_384_56(<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__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">HMASK_384_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">HMASK_384_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</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__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">HMASK_384_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</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__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">BMASK_384_56</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__384__56_8h_html_ad2fffed8ee3c80a87427a7816dccd458"><div class="ttname"><a href="big__384__56_8h.html#ad2fffed8ee3c80a87427a7816dccd458">BIG_384_56_fromBytesLen</a></div><div class="ttdeci">void BIG_384_56_fromBytesLen(BIG_384_56 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_384_56.c:170</div></div>
-<div class="ttc" id="big__384__56_8h_html_a18cfde297623f697994a00ab1aee9325"><div class="ttname"><a href="big__384__56_8h.html#a18cfde297623f697994a00ab1aee9325">BIG_384_56_parity</a></div><div class="ttdeci">int BIG_384_56_parity(BIG_384_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1225</div></div>
-<div class="ttc" id="big__384__56_8h_html_ac2cc31c4eee2db7c34437af01cb0b09b"><div class="ttname"><a href="big__384__56_8h.html#ac2cc31c4eee2db7c34437af01cb0b09b">BIG_384_56_zero</a></div><div class="ttdeci">void BIG_384_56_zero(BIG_384_56 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:319</div></div>
-<div class="ttc" id="big__384__56_8h_html_a22a6d481288f98dfb1c985aaf4c34a12"><div class="ttname"><a href="big__384__56_8h.html#a22a6d481288f98dfb1c985aaf4c34a12">BIG_384_56_dcmove</a></div><div class="ttdeci">void BIG_384_56_dcmove(BIG_384_56 x, BIG_384_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__384__56_8h_html_acb29aee7950c9c6d2ed896fbb8b1e8d0"><div class="ttname"><a href="big__384__56_8h.html#acb29aee7950c9c6d2ed896fbb8b1e8d0">BIG_384_56_dec</a></div><div class="ttdeci">void BIG_384_56_dec(BIG_384_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:440</div></div>
-<div class="ttc" id="big__384__56_8h_html_adf3da0c74b8beedfcf9f7cd56b9328dc"><div class="ttname"><a href="big__384__56_8h.html#adf3da0c74b8beedfcf9f7cd56b9328dc">BIG_384_56_sdiv</a></div><div class="ttdeci">void BIG_384_56_sdiv(BIG_384_56 x, BIG_384_56 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1188</div></div>
-<div class="ttc" id="big__384__56_8h_html_a4092febdcd66786f025cb1fa6b01c1e0"><div class="ttname"><a href="big__384__56_8h.html#a4092febdcd66786f025cb1fa6b01c1e0">BIG_384_56_jacobi</a></div><div class="ttdeci">int BIG_384_56_jacobi(BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1354</div></div>
-<div class="ttc" id="big__384__56_8h_html_af25337e9c2f5c5885aa1b28c84c4695b"><div class="ttname"><a href="big__384__56_8h.html#af25337e9c2f5c5885aa1b28c84c4695b">BIG_384_56_dshr</a></div><div class="ttdeci">void BIG_384_56_dshr(DBIG_384_56 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_384_56.c:918</div></div>
-<div class="ttc" id="big__384__56_8h_html_aac5c3aa122fe71f774d84308ae786e27"><div class="ttname"><a href="big__384__56_8h.html#aac5c3aa122fe71f774d84308ae786e27">BIG_384_56_random</a></div><div class="ttdeci">void BIG_384_56_random(BIG_384_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1248</div></div>
-<div class="ttc" id="big__384__56_8h_html_a501d069a9b78be0c8ad093314e1f7bb3"><div class="ttname"><a href="big__384__56_8h.html#a501d069a9b78be0c8ad093314e1f7bb3">BIG_384_56_iszilch</a></div><div class="ttdeci">int BIG_384_56_iszilch(BIG_384_56 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:26</div></div>
-<div class="ttc" id="big__384__56_8h_html_add2d166ceaaa059bd8fd7b62c51b45a7"><div class="ttname"><a href="big__384__56_8h.html#add2d166ceaaa059bd8fd7b62c51b45a7">BIG_384_56_dshl</a></div><div class="ttdeci">void BIG_384_56_dshl(DBIG_384_56 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_384_56.c:846</div></div>
-<div class="ttc" id="big__384__56_8h_html_ab28f4d0d9184346bfaf5ae46231d6119"><div class="ttname"><a href="big__384__56_8h.html#ab28f4d0d9184346bfaf5ae46231d6119">BIG_384_56_mod2m</a></div><div class="ttdeci">void BIG_384_56_mod2m(BIG_384_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1456</div></div>
+<a href="big__384__56_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_384_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_384_56_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__384__56_8h.html">config_big_384_56.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__384__56_8h.html#a6e1353243985f68f42cdf9be09b90141">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_384_56 (8*MODBYTES_384_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">   40</a></span>&#160;<span class="preprocessor">#define NLEN_384_56 (1+((8*MODBYTES_384_56-1)/BASEBITS_384_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_384_56 2*NLEN_384_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">   42</a></span>&#160;<span class="preprocessor">#define BMASK_384_56 (((chunk)1&lt;&lt;BASEBITS_384_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a5a6ef8568e207c971f9c23b06673b778">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_384_56 (1&lt;&lt;(CHUNK-BASEBITS_384_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">   45</a></span>&#160;<span class="preprocessor">#define HBITS_384_56 (BASEBITS_384_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">   46</a></span>&#160;<span class="preprocessor">#define HMASK_384_56 (((chunk)1&lt;&lt;HBITS_384_56)-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_384_56 NLEN_384_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_384_56 (NLEN_384_56+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__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>[<a class="code" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_384_56 DNLEN_384_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_384_56 (DNLEN_384_56+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__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a>[<a class="code" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">DNLEN_384_56</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__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>[<a class="code" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a>[<a class="code" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">DNLEN_384_56</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__384__56_8h.html#a501d069a9b78be0c8ad093314e1f7bb3">BIG_384_56_iszilch</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a904972dd817ed39992151c2d9c40e530">BIG_384_56_isunity</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a4c4e0e30b5871b09f9dc6feba9465fd3">BIG_384_56_diszilch</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ad9694ea00361b6487cabde26235ae0ae">BIG_384_56_output</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#afa1909f6c026350b5231eb12c6b14565">BIG_384_56_rawoutput</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#abd8bddc35d4bda42867f0e9a4eb07874">BIG_384_56_cswap</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ad9b8213b5add9582a664fcd58ff80ef2">BIG_384_56_cmove</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a22a6d481288f98dfb1c985aaf4c34a12">BIG_384_56_dcmove</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ab7cdb8bcf992f08fd7a089ef7ef67f06">BIG_384_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8b3ba939ef56607de9561c736bb45b06">BIG_384_56_fromBytes</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ad2fffed8ee3c80a87427a7816dccd458">BIG_384_56_fromBytesLen</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ad8a23de43097c9bf56cb0dbdd0a3380b">BIG_384_56_dfromBytesLen</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a55fc7488d3c7d8530495e9c077a473a9">BIG_384_56_doutput</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a6d94dd0fad95639cfa1b221ecbf9d282">BIG_384_56_drawoutput</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ab90026aff678dcc7ab1d1c2d7167f296">BIG_384_56_rcopy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a99265daad1062824f89c9f163e40b33e">BIG_384_56_copy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a41e18ce29fb09e100b00dcffb8304b6a">BIG_384_56_dcopy</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#af97d5f512b479452b76c8c395cc526da">BIG_384_56_dsucopy</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a7c1897e5941d8b5a6f12665f240a76b6">BIG_384_56_dscopy</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a407e94ca63a7bff4efacf40e3e42662d">BIG_384_56_sdcopy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a83dc4374d0ff05900d9c1f37abf2ca0e">BIG_384_56_sducopy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ac2cc31c4eee2db7c34437af01cb0b09b">BIG_384_56_zero</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a7a29993b9800bc5fed165682d13fa5da">BIG_384_56_dzero</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#af2195a8253e0c58b8bb147deb707dcd2">BIG_384_56_one</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2">BIG_384_56_invmod2m</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#afe5a8c4ad2eea34b6dc4716646f77e18">BIG_384_56_add</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#acfcc567d1954ac2f544c267e48e711fd">BIG_384_56_or</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ac341a05be2a42320d3144cecb595166f">BIG_384_56_inc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a2fc55eb658f35dbc23c2129d9304f21e">BIG_384_56_sub</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#acb29aee7950c9c6d2ed896fbb8b1e8d0">BIG_384_56_dec</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a98358a4dd86211868eeb80b7a21f8694">BIG_384_56_dadd</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ac114288aa5bbc61e6f533ca6db5d253c">BIG_384_56_dsub</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a6ac44aa223a117f1239157b2c2d477e3">BIG_384_56_imul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8cd2e3373d75d4eabd69efdc077102b6">BIG_384_56_pmul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a88c643881b2dcb024ec8674fd59a4643">BIG_384_56_div3</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aaaf368d2ac42f5ddd825da235e397c08">BIG_384_56_pxmul</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a99db6539a15cf5e277cc3079381546a1">BIG_384_56_mul</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#afff858b85945feea8c4304eaa0307a5c">BIG_384_56_smul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8f44795268d343dd622457846a42cb49">BIG_384_56_sqr</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a212014277605c4d603aeaf27a0453bd0">BIG_384_56_monty</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> a,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a6a728958036a6adcc69b6e0953344b6c">BIG_384_56_shl</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a0348863e6f3a873d11b0d3e2f5b5b7a6">BIG_384_56_fshl</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#add2d166ceaaa059bd8fd7b62c51b45a7">BIG_384_56_dshl</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a1164e9e8808b1ee99a586bb360bf3dc1">BIG_384_56_shr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a52bba4444f17006ad65e1b0a48532ca6">BIG_384_56_ssn</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> a, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ab650eeee7180e6bc956edf083890ae96">BIG_384_56_fshr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#af25337e9c2f5c5885aa1b28c84c4695b">BIG_384_56_dshr</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a8ce439dbee1a71a202667ca20ae5ffa1">BIG_384_56_split</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#ad7697ab07cf3b454d1e3706e16cbea0d">BIG_384_56_norm</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ace1e87ade1ebce4f28cf7e6924a56cc5">BIG_384_56_dnorm</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#afce7cbc5b297710f08ec91d0c48459d9">BIG_384_56_comp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#add5ae95435b4aaf29ff4009dff080e75">BIG_384_56_dcomp</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#aa975ee4fd00b1c3b163433911ebb232d">BIG_384_56_nbits</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a41684e324281a6f40403c8719c12db83">BIG_384_56_dnbits</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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__384__56_8h.html#a20f5f28740c150878645e8b055421fe1">BIG_384_56_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#adf3da0c74b8beedfcf9f7cd56b9328dc">BIG_384_56_sdiv</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a8623960a691328a6137b09c62f8ff191">BIG_384_56_dmod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aaa7c7bc03ef40e9c8e92578fb1190090">BIG_384_56_ddiv</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a18cfde297623f697994a00ab1aee9325">BIG_384_56_parity</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#adccaaea2fa428b6b907bba1f057f47fc">BIG_384_56_bit</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a2c43db5f1761f1ab986cc62f8a9ec89e">BIG_384_56_lastbits</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aac5c3aa122fe71f774d84308ae786e27">BIG_384_56_random</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a4fbe5634d4f5caf8e939de0bfd33a880">BIG_384_56_randomnum</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a6f4dfa3df3b0a3e1f0a295a4518f9edc">BIG_384_56_modmul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a05c605371b6db50505d44a2409b0a208">BIG_384_56_moddiv</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a2345e7bf7451a965d72bd1c9d2f66198">BIG_384_56_modsqr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a01afcbd9656c926d98b433b17b0929ad">BIG_384_56_modneg</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#a4092febdcd66786f025cb1fa6b01c1e0">BIG_384_56_jacobi</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ac96a4421de3b5fd001192f2f0544cf7a">BIG_384_56_invmodp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#ab28f4d0d9184346bfaf5ae46231d6119">BIG_384_56_mod2m</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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__384__56_8h.html#aac92ed32b643060b228968fff92f550b">BIG_384_56_dmod2m</a>(<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</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_384_56(<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__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">BMASK_384_56</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__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</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_384_56(<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__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">HMASK_384_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">HMASK_384_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</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__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">HMASK_384_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</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__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">BMASK_384_56</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__384__56_8h_html_ad2fffed8ee3c80a87427a7816dccd458"><div class="ttname"><a href="big__384__56_8h.html#ad2fffed8ee3c80a87427a7816dccd458">BIG_384_56_fromBytesLen</a></div><div class="ttdeci">void BIG_384_56_fromBytesLen(BIG_384_56 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_384_56.c:170</div></div>
+<div class="ttc" id="big__384__56_8h_html_a18cfde297623f697994a00ab1aee9325"><div class="ttname"><a href="big__384__56_8h.html#a18cfde297623f697994a00ab1aee9325">BIG_384_56_parity</a></div><div class="ttdeci">int BIG_384_56_parity(BIG_384_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1225</div></div>
+<div class="ttc" id="big__384__56_8h_html_ac2cc31c4eee2db7c34437af01cb0b09b"><div class="ttname"><a href="big__384__56_8h.html#ac2cc31c4eee2db7c34437af01cb0b09b">BIG_384_56_zero</a></div><div class="ttdeci">void BIG_384_56_zero(BIG_384_56 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:319</div></div>
+<div class="ttc" id="big__384__56_8h_html_a22a6d481288f98dfb1c985aaf4c34a12"><div class="ttname"><a href="big__384__56_8h.html#a22a6d481288f98dfb1c985aaf4c34a12">BIG_384_56_dcmove</a></div><div class="ttdeci">void BIG_384_56_dcmove(BIG_384_56 x, BIG_384_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__384__56_8h_html_acb29aee7950c9c6d2ed896fbb8b1e8d0"><div class="ttname"><a href="big__384__56_8h.html#acb29aee7950c9c6d2ed896fbb8b1e8d0">BIG_384_56_dec</a></div><div class="ttdeci">void BIG_384_56_dec(BIG_384_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:440</div></div>
+<div class="ttc" id="big__384__56_8h_html_adf3da0c74b8beedfcf9f7cd56b9328dc"><div class="ttname"><a href="big__384__56_8h.html#adf3da0c74b8beedfcf9f7cd56b9328dc">BIG_384_56_sdiv</a></div><div class="ttdeci">void BIG_384_56_sdiv(BIG_384_56 x, BIG_384_56 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1188</div></div>
+<div class="ttc" id="big__384__56_8h_html_a4092febdcd66786f025cb1fa6b01c1e0"><div class="ttname"><a href="big__384__56_8h.html#a4092febdcd66786f025cb1fa6b01c1e0">BIG_384_56_jacobi</a></div><div class="ttdeci">int BIG_384_56_jacobi(BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1354</div></div>
+<div class="ttc" id="big__384__56_8h_html_af25337e9c2f5c5885aa1b28c84c4695b"><div class="ttname"><a href="big__384__56_8h.html#af25337e9c2f5c5885aa1b28c84c4695b">BIG_384_56_dshr</a></div><div class="ttdeci">void BIG_384_56_dshr(DBIG_384_56 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_384_56.c:918</div></div>
+<div class="ttc" id="big__384__56_8h_html_aac5c3aa122fe71f774d84308ae786e27"><div class="ttname"><a href="big__384__56_8h.html#aac5c3aa122fe71f774d84308ae786e27">BIG_384_56_random</a></div><div class="ttdeci">void BIG_384_56_random(BIG_384_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1248</div></div>
+<div class="ttc" id="big__384__56_8h_html_a501d069a9b78be0c8ad093314e1f7bb3"><div class="ttname"><a href="big__384__56_8h.html#a501d069a9b78be0c8ad093314e1f7bb3">BIG_384_56_iszilch</a></div><div class="ttdeci">int BIG_384_56_iszilch(BIG_384_56 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:26</div></div>
+<div class="ttc" id="big__384__56_8h_html_add2d166ceaaa059bd8fd7b62c51b45a7"><div class="ttname"><a href="big__384__56_8h.html#add2d166ceaaa059bd8fd7b62c51b45a7">BIG_384_56_dshl</a></div><div class="ttdeci">void BIG_384_56_dshl(DBIG_384_56 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_384_56.c:846</div></div>
+<div class="ttc" id="big__384__56_8h_html_ab28f4d0d9184346bfaf5ae46231d6119"><div class="ttname"><a href="big__384__56_8h.html#ab28f4d0d9184346bfaf5ae46231d6119">BIG_384_56_mod2m</a></div><div class="ttdeci">void BIG_384_56_mod2m(BIG_384_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1540</div></div>
 <div class="ttc" id="big__384__56_8h_html_af631d7e86602f736b0dcf8de4eb40498"><div class="ttname"><a href="big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">HMASK_384_56</a></div><div class="ttdeci">#define HMASK_384_56</div><div class="ttdef"><b>Definition:</b> big_384_56.h:46</div></div>
-<div class="ttc" id="big__384__56_8h_html_afe5a8c4ad2eea34b6dc4716646f77e18"><div class="ttname"><a href="big__384__56_8h.html#afe5a8c4ad2eea34b6dc4716646f77e18">BIG_384_56_add</a></div><div class="ttdeci">void BIG_384_56_add(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:356</div></div>
-<div class="ttc" id="big__384__56_8h_html_adccaaea2fa428b6b907bba1f057f47fc"><div class="ttname"><a href="big__384__56_8h.html#adccaaea2fa428b6b907bba1f057f47fc">BIG_384_56_bit</a></div><div class="ttdeci">int BIG_384_56_bit(BIG_384_56 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1232</div></div>
-<div class="ttc" id="big__384__56_8h_html_abd8bddc35d4bda42867f0e9a4eb07874"><div class="ttname"><a href="big__384__56_8h.html#abd8bddc35d4bda42867f0e9a4eb07874">BIG_384_56_cswap</a></div><div class="ttdeci">void BIG_384_56_cswap(BIG_384_56 x, BIG_384_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:92</div></div>
-<div class="ttc" id="big__384__56_8h_html_a99265daad1062824f89c9f163e40b33e"><div class="ttname"><a href="big__384__56_8h.html#a99265daad1062824f89c9f163e40b33e">BIG_384_56_copy</a></div><div class="ttdeci">void BIG_384_56_copy(BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:227</div></div>
-<div class="ttc" id="big__384__56_8h_html_a4c4e0e30b5871b09f9dc6feba9465fd3"><div class="ttname"><a href="big__384__56_8h.html#a4c4e0e30b5871b09f9dc6feba9465fd3">BIG_384_56_diszilch</a></div><div class="ttdeci">int BIG_384_56_diszilch(DBIG_384_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:45</div></div>
+<div class="ttc" id="big__384__56_8h_html_afe5a8c4ad2eea34b6dc4716646f77e18"><div class="ttname"><a href="big__384__56_8h.html#afe5a8c4ad2eea34b6dc4716646f77e18">BIG_384_56_add</a></div><div class="ttdeci">void BIG_384_56_add(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:356</div></div>
+<div class="ttc" id="big__384__56_8h_html_adccaaea2fa428b6b907bba1f057f47fc"><div class="ttname"><a href="big__384__56_8h.html#adccaaea2fa428b6b907bba1f057f47fc">BIG_384_56_bit</a></div><div class="ttdeci">int BIG_384_56_bit(BIG_384_56 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1232</div></div>
+<div class="ttc" id="big__384__56_8h_html_abd8bddc35d4bda42867f0e9a4eb07874"><div class="ttname"><a href="big__384__56_8h.html#abd8bddc35d4bda42867f0e9a4eb07874">BIG_384_56_cswap</a></div><div class="ttdeci">void BIG_384_56_cswap(BIG_384_56 x, BIG_384_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:92</div></div>
+<div class="ttc" id="big__384__56_8h_html_a99265daad1062824f89c9f163e40b33e"><div class="ttname"><a href="big__384__56_8h.html#a99265daad1062824f89c9f163e40b33e">BIG_384_56_copy</a></div><div class="ttdeci">void BIG_384_56_copy(BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:227</div></div>
+<div class="ttc" id="big__384__56_8h_html_a4c4e0e30b5871b09f9dc6feba9465fd3"><div class="ttname"><a href="big__384__56_8h.html#a4c4e0e30b5871b09f9dc6feba9465fd3">BIG_384_56_diszilch</a></div><div class="ttdeci">int BIG_384_56_diszilch(DBIG_384_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:45</div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</div></div>
-<div class="ttc" id="big__384__56_8h_html_a8cd2e3373d75d4eabd69efdc077102b6"><div class="ttname"><a href="big__384__56_8h.html#a8cd2e3373d75d4eabd69efdc077102b6">BIG_384_56_pmul</a></div><div class="ttdeci">chunk BIG_384_56_pmul(BIG_384_56 x, BIG_384_56 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_384_56.c:465</div></div>
-<div class="ttc" id="big__384__56_8h_html_a6d94dd0fad95639cfa1b221ecbf9d282"><div class="ttname"><a href="big__384__56_8h.html#a6d94dd0fad95639cfa1b221ecbf9d282">BIG_384_56_drawoutput</a></div><div class="ttdeci">void BIG_384_56_drawoutput(DBIG_384_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:212</div></div>
+<div class="ttc" id="big__384__56_8h_html_a8cd2e3373d75d4eabd69efdc077102b6"><div class="ttname"><a href="big__384__56_8h.html#a8cd2e3373d75d4eabd69efdc077102b6">BIG_384_56_pmul</a></div><div class="ttdeci">chunk BIG_384_56_pmul(BIG_384_56 x, BIG_384_56 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_384_56.c:465</div></div>
+<div class="ttc" id="big__384__56_8h_html_a6d94dd0fad95639cfa1b221ecbf9d282"><div class="ttname"><a href="big__384__56_8h.html#a6d94dd0fad95639cfa1b221ecbf9d282">BIG_384_56_drawoutput</a></div><div class="ttdeci">void BIG_384_56_drawoutput(DBIG_384_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:212</div></div>
 <div class="ttc" id="big__384__56_8h_html_af8cf9396dc122f3521a29bc4e2e5aa22"><div class="ttname"><a href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">DNLEN_384_56</a></div><div class="ttdeci">#define DNLEN_384_56</div><div class="ttdef"><b>Definition:</b> big_384_56.h:41</div></div>
-<div class="ttc" id="big__384__56_8h_html_a41e18ce29fb09e100b00dcffb8304b6a"><div class="ttname"><a href="big__384__56_8h.html#a41e18ce29fb09e100b00dcffb8304b6a">BIG_384_56_dcopy</a></div><div class="ttdeci">void BIG_384_56_dcopy(DBIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:251</div></div>
-<div class="ttc" id="big__384__56_8h_html_ace1e87ade1ebce4f28cf7e6924a56cc5"><div class="ttname"><a href="big__384__56_8h.html#ace1e87ade1ebce4f28cf7e6924a56cc5">BIG_384_56_dnorm</a></div><div class="ttdeci">void BIG_384_56_dnorm(DBIG_384_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:995</div></div>
+<div class="ttc" id="big__384__56_8h_html_a41e18ce29fb09e100b00dcffb8304b6a"><div class="ttname"><a href="big__384__56_8h.html#a41e18ce29fb09e100b00dcffb8304b6a">BIG_384_56_dcopy</a></div><div class="ttdeci">void BIG_384_56_dcopy(DBIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:251</div></div>
+<div class="ttc" id="big__384__56_8h_html_ace1e87ade1ebce4f28cf7e6924a56cc5"><div class="ttname"><a href="big__384__56_8h.html#ace1e87ade1ebce4f28cf7e6924a56cc5">BIG_384_56_dnorm</a></div><div class="ttdeci">void BIG_384_56_dnorm(DBIG_384_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:995</div></div>
 <div class="ttc" id="big__384__56_8h_html_a5e1bda709894ea23a924da6c5b191748"><div class="ttname"><a href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a></div><div class="ttdeci">#define NLEN_384_56</div><div class="ttdef"><b>Definition:</b> big_384_56.h:40</div></div>
-<div class="ttc" id="big__384__56_8h_html_ab90026aff678dcc7ab1d1c2d7167f296"><div class="ttname"><a href="big__384__56_8h.html#ab90026aff678dcc7ab1d1c2d7167f296">BIG_384_56_rcopy</a></div><div class="ttdeci">void BIG_384_56_rcopy(BIG_384_56 x, const BIG_384_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:239</div></div>
-<div class="ttc" id="big__384__56_8h_html_ab7cdb8bcf992f08fd7a089ef7ef67f06"><div class="ttname"><a href="big__384__56_8h.html#ab7cdb8bcf992f08fd7a089ef7ef67f06">BIG_384_56_toBytes</a></div><div class="ttdeci">void BIG_384_56_toBytes(char *a, BIG_384_56 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:141</div></div>
-<div class="ttc" id="big__384__56_8h_html_ad8a23de43097c9bf56cb0dbdd0a3380b"><div class="ttname"><a href="big__384__56_8h.html#ad8a23de43097c9bf56cb0dbdd0a3380b">BIG_384_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_384_56_dfromBytesLen(DBIG_384_56 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_384_56.c:1485</div></div>
-<div class="ttc" id="big__384__56_8h_html_a20f5f28740c150878645e8b055421fe1"><div class="ttname"><a href="big__384__56_8h.html#a20f5f28740c150878645e8b055421fe1">BIG_384_56_mod</a></div><div class="ttdeci">void BIG_384_56_mod(BIG_384_56 x, BIG_384_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1082</div></div>
-<div class="ttc" id="big__384__56_8h_html_add5ae95435b4aaf29ff4009dff080e75"><div class="ttname"><a href="big__384__56_8h.html#add5ae95435b4aaf29ff4009dff080e75">BIG_384_56_dcomp</a></div><div class="ttdeci">int BIG_384_56_dcomp(DBIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1026</div></div>
-<div class="ttc" id="big__384__56_8h_html_a8f44795268d343dd622457846a42cb49"><div class="ttname"><a href="big__384__56_8h.html#a8f44795268d343dd622457846a42cb49">BIG_384_56_sqr</a></div><div class="ttdeci">void BIG_384_56_sqr(DBIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:618</div></div>
-<div class="ttc" id="big__384__56_8h_html_a904972dd817ed39992151c2d9c40e530"><div class="ttname"><a href="big__384__56_8h.html#a904972dd817ed39992151c2d9c40e530">BIG_384_56_isunity</a></div><div class="ttdeci">int BIG_384_56_isunity(BIG_384_56 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:35</div></div>
-<div class="ttc" id="big__384__56_8h_html_a01afcbd9656c926d98b433b17b0929ad"><div class="ttname"><a href="big__384__56_8h.html#a01afcbd9656c926d98b433b17b0929ad">BIG_384_56_modneg</a></div><div class="ttdeci">void BIG_384_56_modneg(BIG_384_56 x, BIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1327</div></div>
-<div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__384__56_8h_html_a1164e9e8808b1ee99a586bb360bf3dc1"><div class="ttname"><a href="big__384__56_8h.html#a1164e9e8808b1ee99a586bb360bf3dc1">BIG_384_56_shr</a></div><div class="ttdeci">void BIG_384_56_shr(BIG_384_56 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_384_56.c:864</div></div>
+<div class="ttc" id="big__384__56_8h_html_ab90026aff678dcc7ab1d1c2d7167f296"><div class="ttname"><a href="big__384__56_8h.html#ab90026aff678dcc7ab1d1c2d7167f296">BIG_384_56_rcopy</a></div><div class="ttdeci">void BIG_384_56_rcopy(BIG_384_56 x, const BIG_384_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:239</div></div>
+<div class="ttc" id="big__384__56_8h_html_ab7cdb8bcf992f08fd7a089ef7ef67f06"><div class="ttname"><a href="big__384__56_8h.html#ab7cdb8bcf992f08fd7a089ef7ef67f06">BIG_384_56_toBytes</a></div><div class="ttdeci">void BIG_384_56_toBytes(char *a, BIG_384_56 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:141</div></div>
+<div class="ttc" id="big__384__56_8h_html_ad8a23de43097c9bf56cb0dbdd0a3380b"><div class="ttname"><a href="big__384__56_8h.html#ad8a23de43097c9bf56cb0dbdd0a3380b">BIG_384_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_384_56_dfromBytesLen(DBIG_384_56 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_384_56.c:1569</div></div>
+<div class="ttc" id="big__384__56_8h_html_a20f5f28740c150878645e8b055421fe1"><div class="ttname"><a href="big__384__56_8h.html#a20f5f28740c150878645e8b055421fe1">BIG_384_56_mod</a></div><div class="ttdeci">void BIG_384_56_mod(BIG_384_56 x, BIG_384_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1082</div></div>
+<div class="ttc" id="big__384__56_8h_html_add5ae95435b4aaf29ff4009dff080e75"><div class="ttname"><a href="big__384__56_8h.html#add5ae95435b4aaf29ff4009dff080e75">BIG_384_56_dcomp</a></div><div class="ttdeci">int BIG_384_56_dcomp(DBIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1026</div></div>
+<div class="ttc" id="big__384__56_8h_html_a8f44795268d343dd622457846a42cb49"><div class="ttname"><a href="big__384__56_8h.html#a8f44795268d343dd622457846a42cb49">BIG_384_56_sqr</a></div><div class="ttdeci">void BIG_384_56_sqr(DBIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:618</div></div>
+<div class="ttc" id="big__384__56_8h_html_a904972dd817ed39992151c2d9c40e530"><div class="ttname"><a href="big__384__56_8h.html#a904972dd817ed39992151c2d9c40e530">BIG_384_56_isunity</a></div><div class="ttdeci">int BIG_384_56_isunity(BIG_384_56 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:35</div></div>
+<div class="ttc" id="big__384__56_8h_html_a01afcbd9656c926d98b433b17b0929ad"><div class="ttname"><a href="big__384__56_8h.html#a01afcbd9656c926d98b433b17b0929ad">BIG_384_56_modneg</a></div><div class="ttdeci">void BIG_384_56_modneg(BIG_384_56 x, BIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1327</div></div>
+<div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__384__56_8h_html_a1164e9e8808b1ee99a586bb360bf3dc1"><div class="ttname"><a href="big__384__56_8h.html#a1164e9e8808b1ee99a586bb360bf3dc1">BIG_384_56_shr</a></div><div class="ttdeci">void BIG_384_56_shr(BIG_384_56 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_384_56.c:864</div></div>
 <div class="ttc" id="big__384__56_8h_html_a0348863e6f3a873d11b0d3e2f5b5b7a6"><div class="ttname"><a href="big__384__56_8h.html#a0348863e6f3a873d11b0d3e2f5b5b7a6">BIG_384_56_fshl</a></div><div class="ttdeci">int BIG_384_56_fshl(BIG_384_56 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_384_56.c:832</div></div>
-<div class="ttc" id="big__384__56_8h_html_ad9b8213b5add9582a664fcd58ff80ef2"><div class="ttname"><a href="big__384__56_8h.html#ad9b8213b5add9582a664fcd58ff80ef2">BIG_384_56_cmove</a></div><div class="ttdeci">void BIG_384_56_cmove(BIG_384_56 x, BIG_384_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:110</div></div>
-<div class="ttc" id="big__384__56_8h_html_a6a728958036a6adcc69b6e0953344b6c"><div class="ttname"><a href="big__384__56_8h.html#a6a728958036a6adcc69b6e0953344b6c">BIG_384_56_shl</a></div><div class="ttdeci">void BIG_384_56_shl(BIG_384_56 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_384_56.c:813</div></div>
-<div class="ttc" id="big__384__56_8h_html_aa975ee4fd00b1c3b163433911ebb232d"><div class="ttname"><a href="big__384__56_8h.html#aa975ee4fd00b1c3b163433911ebb232d">BIG_384_56_nbits</a></div><div class="ttdeci">int BIG_384_56_nbits(BIG_384_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1040</div></div>
-<div class="ttc" id="big__384__56_8h_html_a8b3ba939ef56607de9561c736bb45b06"><div class="ttname"><a href="big__384__56_8h.html#a8b3ba939ef56607de9561c736bb45b06">BIG_384_56_fromBytes</a></div><div class="ttdeci">void BIG_384_56_fromBytes(BIG_384_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:155</div></div>
-<div class="ttc" id="big__384__56_8h_html_a8ce439dbee1a71a202667ca20ae5ffa1"><div class="ttname"><a href="big__384__56_8h.html#a8ce439dbee1a71a202667ca20ae5ffa1">BIG_384_56_split</a></div><div class="ttdeci">chunk BIG_384_56_split(BIG_384_56 x, BIG_384_56 y, DBIG_384_56 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_384_56.c:932</div></div>
+<div class="ttc" id="big__384__56_8h_html_ad9b8213b5add9582a664fcd58ff80ef2"><div class="ttname"><a href="big__384__56_8h.html#ad9b8213b5add9582a664fcd58ff80ef2">BIG_384_56_cmove</a></div><div class="ttdeci">void BIG_384_56_cmove(BIG_384_56 x, BIG_384_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:110</div></div>
+<div class="ttc" id="big__384__56_8h_html_a6a728958036a6adcc69b6e0953344b6c"><div class="ttname"><a href="big__384__56_8h.html#a6a728958036a6adcc69b6e0953344b6c">BIG_384_56_shl</a></div><div class="ttdeci">void BIG_384_56_shl(BIG_384_56 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_384_56.c:813</div></div>
+<div class="ttc" id="big__384__56_8h_html_aa975ee4fd00b1c3b163433911ebb232d"><div class="ttname"><a href="big__384__56_8h.html#aa975ee4fd00b1c3b163433911ebb232d">BIG_384_56_nbits</a></div><div class="ttdeci">int BIG_384_56_nbits(BIG_384_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1040</div></div>
+<div class="ttc" id="big__384__56_8h_html_a8b3ba939ef56607de9561c736bb45b06"><div class="ttname"><a href="big__384__56_8h.html#a8b3ba939ef56607de9561c736bb45b06">BIG_384_56_fromBytes</a></div><div class="ttdeci">void BIG_384_56_fromBytes(BIG_384_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:155</div></div>
+<div class="ttc" id="big__384__56_8h_html_a8ce439dbee1a71a202667ca20ae5ffa1"><div class="ttname"><a href="big__384__56_8h.html#a8ce439dbee1a71a202667ca20ae5ffa1">BIG_384_56_split</a></div><div class="ttdeci">chunk BIG_384_56_split(BIG_384_56 x, BIG_384_56 y, DBIG_384_56 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_384_56.c:932</div></div>
 <div class="ttc" id="big__384__56_8h_html_a6c518f0c183c5deeb8cf6f8245d0d40c"><div class="ttname"><a href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a></div><div class="ttdeci">chunk DBIG_384_56[DNLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:59</div></div>
-<div class="ttc" id="big__384__56_8h_html_a2c43db5f1761f1ab986cc62f8a9ec89e"><div class="ttname"><a href="big__384__56_8h.html#a2c43db5f1761f1ab986cc62f8a9ec89e">BIG_384_56_lastbits</a></div><div class="ttdeci">int BIG_384_56_lastbits(BIG_384_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1240</div></div>
-<div class="ttc" id="big__384__56_8h_html_a6f4dfa3df3b0a3e1f0a295a4518f9edc"><div class="ttname"><a href="big__384__56_8h.html#a6f4dfa3df3b0a3e1f0a295a4518f9edc">BIG_384_56_modmul</a></div><div class="ttdeci">void BIG_384_56_modmul(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z, BIG_384_56 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1300</div></div>
+<div class="ttc" id="big__384__56_8h_html_a2c43db5f1761f1ab986cc62f8a9ec89e"><div class="ttname"><a href="big__384__56_8h.html#a2c43db5f1761f1ab986cc62f8a9ec89e">BIG_384_56_lastbits</a></div><div class="ttdeci">int BIG_384_56_lastbits(BIG_384_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1240</div></div>
+<div class="ttc" id="big__384__56_8h_html_a6f4dfa3df3b0a3e1f0a295a4518f9edc"><div class="ttname"><a href="big__384__56_8h.html#a6f4dfa3df3b0a3e1f0a295a4518f9edc">BIG_384_56_modmul</a></div><div class="ttdeci">void BIG_384_56_modmul(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z, BIG_384_56 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1300</div></div>
 <div class="ttc" id="big__384__56_8h_html_ab650eeee7180e6bc956edf083890ae96"><div class="ttname"><a href="big__384__56_8h.html#ab650eeee7180e6bc956edf083890ae96">BIG_384_56_fshr</a></div><div class="ttdeci">int BIG_384_56_fshr(BIG_384_56 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_384_56.c:906</div></div>
-<div class="ttc" id="big__384__56_8h_html_a88c643881b2dcb024ec8674fd59a4643"><div class="ttname"><a href="big__384__56_8h.html#a88c643881b2dcb024ec8674fd59a4643">BIG_384_56_div3</a></div><div class="ttdeci">int BIG_384_56_div3(BIG_384_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:484</div></div>
-<div class="ttc" id="big__384__56_8h_html_ac341a05be2a42320d3144cecb595166f"><div class="ttname"><a href="big__384__56_8h.html#ac341a05be2a42320d3144cecb595166f">BIG_384_56_inc</a></div><div class="ttdeci">void BIG_384_56_inc(BIG_384_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:386</div></div>
-<div class="ttc" id="big__384__56_8h_html_a7c1897e5941d8b5a6f12665f240a76b6"><div class="ttname"><a href="big__384__56_8h.html#a7c1897e5941d8b5a6f12665f240a76b6">BIG_384_56_dscopy</a></div><div class="ttdeci">void BIG_384_56_dscopy(DBIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:263</div></div>
-<div class="ttc" id="big__384__56_8h_html_a52bba4444f17006ad65e1b0a48532ca6"><div class="ttname"><a href="big__384__56_8h.html#a52bba4444f17006ad65e1b0a48532ca6">BIG_384_56_ssn</a></div><div class="ttdeci">int BIG_384_56_ssn(BIG_384_56 r, BIG_384_56 a, BIG_384_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:877</div></div>
-<div class="ttc" id="big__384__56_8h_html_abba3c5d97b761e44d268d6307f7ba3e2"><div class="ttname"><a href="big__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2">BIG_384_56_invmod2m</a></div><div class="ttdeci">void BIG_384_56_invmod2m(BIG_384_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div><div class="ttdef"><b>Definition:</b> ff_3072.c:66</div></div>
+<div class="ttc" id="big__384__56_8h_html_a88c643881b2dcb024ec8674fd59a4643"><div class="ttname"><a href="big__384__56_8h.html#a88c643881b2dcb024ec8674fd59a4643">BIG_384_56_div3</a></div><div class="ttdeci">int BIG_384_56_div3(BIG_384_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:484</div></div>
+<div class="ttc" id="big__384__56_8h_html_ac341a05be2a42320d3144cecb595166f"><div class="ttname"><a href="big__384__56_8h.html#ac341a05be2a42320d3144cecb595166f">BIG_384_56_inc</a></div><div class="ttdeci">void BIG_384_56_inc(BIG_384_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:386</div></div>
+<div class="ttc" id="big__384__56_8h_html_a7c1897e5941d8b5a6f12665f240a76b6"><div class="ttname"><a href="big__384__56_8h.html#a7c1897e5941d8b5a6f12665f240a76b6">BIG_384_56_dscopy</a></div><div class="ttdeci">void BIG_384_56_dscopy(DBIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:263</div></div>
+<div class="ttc" id="big__384__56_8h_html_a52bba4444f17006ad65e1b0a48532ca6"><div class="ttname"><a href="big__384__56_8h.html#a52bba4444f17006ad65e1b0a48532ca6">BIG_384_56_ssn</a></div><div class="ttdeci">int BIG_384_56_ssn(BIG_384_56 r, BIG_384_56 a, BIG_384_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:877</div></div>
+<div class="ttc" id="big__384__56_8h_html_abba3c5d97b761e44d268d6307f7ba3e2"><div class="ttname"><a href="big__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2">BIG_384_56_invmod2m</a></div><div class="ttdeci">void BIG_384_56_invmod2m(BIG_384_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1432</div></div>
 <div class="ttc" id="big__384__56_8h_html_a4bb9352ea46877e21288144972438d7b"><div class="ttname"><a href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">HBITS_384_56</a></div><div class="ttdeci">#define HBITS_384_56</div><div class="ttdef"><b>Definition:</b> big_384_56.h:45</div></div>
-<div class="ttc" id="big__384__56_8h_html_a41684e324281a6f40403c8719c12db83"><div class="ttname"><a href="big__384__56_8h.html#a41684e324281a6f40403c8719c12db83">BIG_384_56_dnbits</a></div><div class="ttdeci">int BIG_384_56_dnbits(DBIG_384_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1060</div></div>
-<div class="ttc" id="big__384__56_8h_html_ac114288aa5bbc61e6f533ca6db5d253c"><div class="ttname"><a href="big__384__56_8h.html#ac114288aa5bbc61e6f533ca6db5d253c">BIG_384_56_dsub</a></div><div class="ttdeci">void BIG_384_56_dsub(DBIG_384_56 x, DBIG_384_56 y, DBIG_384_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:413</div></div>
-<div class="ttc" id="big__384__56_8h_html_a7a29993b9800bc5fed165682d13fa5da"><div class="ttname"><a href="big__384__56_8h.html#a7a29993b9800bc5fed165682d13fa5da">BIG_384_56_dzero</a></div><div class="ttdeci">void BIG_384_56_dzero(DBIG_384_56 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:329</div></div>
-<div class="ttc" id="big__384__56_8h_html_ac96a4421de3b5fd001192f2f0544cf7a"><div class="ttname"><a href="big__384__56_8h.html#ac96a4421de3b5fd001192f2f0544cf7a">BIG_384_56_invmodp</a></div><div class="ttdeci">void BIG_384_56_invmodp(BIG_384_56 x, BIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1392</div></div>
-<div class="ttc" id="big__384__56_8h_html_a2345e7bf7451a965d72bd1c9d2f66198"><div class="ttname"><a href="big__384__56_8h.html#a2345e7bf7451a965d72bd1c9d2f66198">BIG_384_56_modsqr</a></div><div class="ttdeci">void BIG_384_56_modsqr(BIG_384_56 x, BIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1315</div></div>
-<div class="ttc" id="big__384__56_8h_html_a4fbe5634d4f5caf8e939de0bfd33a880"><div class="ttname"><a href="big__384__56_8h.html#a4fbe5634d4f5caf8e939de0bfd33a880">BIG_384_56_randomnum</a></div><div class="ttdeci">void BIG_384_56_randomnum(BIG_384_56 x, BIG_384_56 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_384_56.c:1274</div></div>
-<div class="ttc" id="big__384__56_8h_html_a6ac44aa223a117f1239157b2c2d477e3"><div class="ttname"><a href="big__384__56_8h.html#a6ac44aa223a117f1239157b2c2d477e3">BIG_384_56_imul</a></div><div class="ttdeci">void BIG_384_56_imul(BIG_384_56 x, BIG_384_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:450</div></div>
-<div class="ttc" id="big__384__56_8h_html_aaa7c7bc03ef40e9c8e92578fb1190090"><div class="ttname"><a href="big__384__56_8h.html#aaa7c7bc03ef40e9c8e92578fb1190090">BIG_384_56_ddiv</a></div><div class="ttdeci">void BIG_384_56_ddiv(BIG_384_56 x, DBIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1149</div></div>
+<div class="ttc" id="big__384__56_8h_html_a41684e324281a6f40403c8719c12db83"><div class="ttname"><a href="big__384__56_8h.html#a41684e324281a6f40403c8719c12db83">BIG_384_56_dnbits</a></div><div class="ttdeci">int BIG_384_56_dnbits(DBIG_384_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1060</div></div>
+<div class="ttc" id="big__384__56_8h_html_ac114288aa5bbc61e6f533ca6db5d253c"><div class="ttname"><a href="big__384__56_8h.html#ac114288aa5bbc61e6f533ca6db5d253c">BIG_384_56_dsub</a></div><div class="ttdeci">void BIG_384_56_dsub(DBIG_384_56 x, DBIG_384_56 y, DBIG_384_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:413</div></div>
+<div class="ttc" id="big__384__56_8h_html_a7a29993b9800bc5fed165682d13fa5da"><div class="ttname"><a href="big__384__56_8h.html#a7a29993b9800bc5fed165682d13fa5da">BIG_384_56_dzero</a></div><div class="ttdeci">void BIG_384_56_dzero(DBIG_384_56 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:329</div></div>
+<div class="ttc" id="big__384__56_8h_html_ac96a4421de3b5fd001192f2f0544cf7a"><div class="ttname"><a href="big__384__56_8h.html#ac96a4421de3b5fd001192f2f0544cf7a">BIG_384_56_invmodp</a></div><div class="ttdeci">void BIG_384_56_invmodp(BIG_384_56 x, BIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1476</div></div>
+<div class="ttc" id="big__384__56_8h_html_a2345e7bf7451a965d72bd1c9d2f66198"><div class="ttname"><a href="big__384__56_8h.html#a2345e7bf7451a965d72bd1c9d2f66198">BIG_384_56_modsqr</a></div><div class="ttdeci">void BIG_384_56_modsqr(BIG_384_56 x, BIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1315</div></div>
+<div class="ttc" id="big__384__56_8h_html_a4fbe5634d4f5caf8e939de0bfd33a880"><div class="ttname"><a href="big__384__56_8h.html#a4fbe5634d4f5caf8e939de0bfd33a880">BIG_384_56_randomnum</a></div><div class="ttdeci">void BIG_384_56_randomnum(BIG_384_56 x, BIG_384_56 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_384_56.c:1274</div></div>
+<div class="ttc" id="big__384__56_8h_html_a6ac44aa223a117f1239157b2c2d477e3"><div class="ttname"><a href="big__384__56_8h.html#a6ac44aa223a117f1239157b2c2d477e3">BIG_384_56_imul</a></div><div class="ttdeci">void BIG_384_56_imul(BIG_384_56 x, BIG_384_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:450</div></div>
+<div class="ttc" id="big__384__56_8h_html_aaa7c7bc03ef40e9c8e92578fb1190090"><div class="ttname"><a href="big__384__56_8h.html#aaa7c7bc03ef40e9c8e92578fb1190090">BIG_384_56_ddiv</a></div><div class="ttdeci">void BIG_384_56_ddiv(BIG_384_56 x, DBIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1149</div></div>
 <div class="ttc" id="big__384__56_8h_html_a73e44860541e0d07e82f012bbb29c0da"><div class="ttname"><a href="big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">BMASK_384_56</a></div><div class="ttdeci">#define BMASK_384_56</div><div class="ttdef"><b>Definition:</b> big_384_56.h:42</div></div>
-<div class="ttc" id="big__384__56_8h_html_af2195a8253e0c58b8bb147deb707dcd2"><div class="ttname"><a href="big__384__56_8h.html#af2195a8253e0c58b8bb147deb707dcd2">BIG_384_56_one</a></div><div class="ttdeci">void BIG_384_56_one(BIG_384_56 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_384_56.c:340</div></div>
-<div class="ttc" id="big__384__56_8h_html_aaaf368d2ac42f5ddd825da235e397c08"><div class="ttname"><a href="big__384__56_8h.html#aaaf368d2ac42f5ddd825da235e397c08">BIG_384_56_pxmul</a></div><div class="ttdeci">void BIG_384_56_pxmul(DBIG_384_56 x, BIG_384_56 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_384_56.c:501</div></div>
-<div class="ttc" id="big__384__56_8h_html_a55fc7488d3c7d8530495e9c077a473a9"><div class="ttname"><a href="big__384__56_8h.html#a55fc7488d3c7d8530495e9c077a473a9">BIG_384_56_doutput</a></div><div class="ttdeci">void BIG_384_56_doutput(DBIG_384_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:190</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__384__56_8h_html_afce7cbc5b297710f08ec91d0c48459d9"><div class="ttname"><a href="big__384__56_8h.html#afce7cbc5b297710f08ec91d0c48459d9">BIG_384_56_comp</a></div><div class="ttdeci">int BIG_384_56_comp(BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1014</div></div>
-<div class="ttc" id="big__384__56_8h_html_aac92ed32b643060b228968fff92f550b"><div class="ttname"><a href="big__384__56_8h.html#aac92ed32b643060b228968fff92f550b">BIG_384_56_dmod2m</a></div><div class="ttdeci">void BIG_384_56_dmod2m(DBIG_384_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1470</div></div>
-<div class="ttc" id="big__384__56_8h_html_a8623960a691328a6137b09c62f8ff191"><div class="ttname"><a href="big__384__56_8h.html#a8623960a691328a6137b09c62f8ff191">BIG_384_56_dmod</a></div><div class="ttdeci">void BIG_384_56_dmod(BIG_384_56 x, DBIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1113</div></div>
-<div class="ttc" id="big__384__56_8h_html_a2fc55eb658f35dbc23c2129d9304f21e"><div class="ttname"><a href="big__384__56_8h.html#a2fc55eb658f35dbc23c2129d9304f21e">BIG_384_56_sub</a></div><div class="ttdeci">void BIG_384_56_sub(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:397</div></div>
-<div class="ttc" id="big__384__56_8h_html_a05c605371b6db50505d44a2409b0a208"><div class="ttname"><a href="big__384__56_8h.html#a05c605371b6db50505d44a2409b0a208">BIG_384_56_moddiv</a></div><div class="ttdeci">void BIG_384_56_moddiv(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z, BIG_384_56 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:1337</div></div>
-<div class="ttc" id="big__384__56_8h_html_a407e94ca63a7bff4efacf40e3e42662d"><div class="ttname"><a href="big__384__56_8h.html#a407e94ca63a7bff4efacf40e3e42662d">BIG_384_56_sdcopy</a></div><div class="ttdeci">void BIG_384_56_sdcopy(BIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:294</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__384__56_8h_html_af97d5f512b479452b76c8c395cc526da"><div class="ttname"><a href="big__384__56_8h.html#af97d5f512b479452b76c8c395cc526da">BIG_384_56_dsucopy</a></div><div class="ttdeci">void BIG_384_56_dsucopy(DBIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:280</div></div>
+<div class="ttc" id="big__384__56_8h_html_af2195a8253e0c58b8bb147deb707dcd2"><div class="ttname"><a href="big__384__56_8h.html#af2195a8253e0c58b8bb147deb707dcd2">BIG_384_56_one</a></div><div class="ttdeci">void BIG_384_56_one(BIG_384_56 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_384_56.c:340</div></div>
+<div class="ttc" id="big__384__56_8h_html_aaaf368d2ac42f5ddd825da235e397c08"><div class="ttname"><a href="big__384__56_8h.html#aaaf368d2ac42f5ddd825da235e397c08">BIG_384_56_pxmul</a></div><div class="ttdeci">void BIG_384_56_pxmul(DBIG_384_56 x, BIG_384_56 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_384_56.c:501</div></div>
+<div class="ttc" id="big__384__56_8h_html_a55fc7488d3c7d8530495e9c077a473a9"><div class="ttname"><a href="big__384__56_8h.html#a55fc7488d3c7d8530495e9c077a473a9">BIG_384_56_doutput</a></div><div class="ttdeci">void BIG_384_56_doutput(DBIG_384_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:190</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__384__56_8h_html_afce7cbc5b297710f08ec91d0c48459d9"><div class="ttname"><a href="big__384__56_8h.html#afce7cbc5b297710f08ec91d0c48459d9">BIG_384_56_comp</a></div><div class="ttdeci">int BIG_384_56_comp(BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1014</div></div>
+<div class="ttc" id="big__384__56_8h_html_aac92ed32b643060b228968fff92f550b"><div class="ttname"><a href="big__384__56_8h.html#aac92ed32b643060b228968fff92f550b">BIG_384_56_dmod2m</a></div><div class="ttdeci">void BIG_384_56_dmod2m(DBIG_384_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1554</div></div>
+<div class="ttc" id="big__384__56_8h_html_a8623960a691328a6137b09c62f8ff191"><div class="ttname"><a href="big__384__56_8h.html#a8623960a691328a6137b09c62f8ff191">BIG_384_56_dmod</a></div><div class="ttdeci">void BIG_384_56_dmod(BIG_384_56 x, DBIG_384_56 y, BIG_384_56 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1113</div></div>
+<div class="ttc" id="big__384__56_8h_html_a2fc55eb658f35dbc23c2129d9304f21e"><div class="ttname"><a href="big__384__56_8h.html#a2fc55eb658f35dbc23c2129d9304f21e">BIG_384_56_sub</a></div><div class="ttdeci">void BIG_384_56_sub(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:397</div></div>
+<div class="ttc" id="big__384__56_8h_html_a05c605371b6db50505d44a2409b0a208"><div class="ttname"><a href="big__384__56_8h.html#a05c605371b6db50505d44a2409b0a208">BIG_384_56_moddiv</a></div><div class="ttdeci">void BIG_384_56_moddiv(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z, BIG_384_56 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:1337</div></div>
+<div class="ttc" id="big__384__56_8h_html_a407e94ca63a7bff4efacf40e3e42662d"><div class="ttname"><a href="big__384__56_8h.html#a407e94ca63a7bff4efacf40e3e42662d">BIG_384_56_sdcopy</a></div><div class="ttdeci">void BIG_384_56_sdcopy(BIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:294</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__384__56_8h_html_af97d5f512b479452b76c8c395cc526da"><div class="ttname"><a href="big__384__56_8h.html#af97d5f512b479452b76c8c395cc526da">BIG_384_56_dsucopy</a></div><div class="ttdeci">void BIG_384_56_dsucopy(DBIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:280</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__384__56_8h_html_a83dc4374d0ff05900d9c1f37abf2ca0e"><div class="ttname"><a href="big__384__56_8h.html#a83dc4374d0ff05900d9c1f37abf2ca0e">BIG_384_56_sducopy</a></div><div class="ttdeci">void BIG_384_56_sducopy(BIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:306</div></div>
-<div class="ttc" id="big__384__56_8h_html_a99db6539a15cf5e277cc3079381546a1"><div class="ttname"><a href="big__384__56_8h.html#a99db6539a15cf5e277cc3079381546a1">BIG_384_56_mul</a></div><div class="ttdeci">void BIG_384_56_mul(DBIG_384_56 x, BIG_384_56 y, BIG_384_56 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_384_56.c:542</div></div>
-<div class="ttc" id="big__384__56_8h_html_ad7697ab07cf3b454d1e3706e16cbea0d"><div class="ttname"><a href="big__384__56_8h.html#ad7697ab07cf3b454d1e3706e16cbea0d">BIG_384_56_norm</a></div><div class="ttdeci">chunk BIG_384_56_norm(BIG_384_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:976</div></div>
-<div class="ttc" id="big__384__56_8h_html_a212014277605c4d603aeaf27a0453bd0"><div class="ttname"><a href="big__384__56_8h.html#a212014277605c4d603aeaf27a0453bd0">BIG_384_56_monty</a></div><div class="ttdeci">void BIG_384_56_monty(BIG_384_56 a, BIG_384_56 md, chunk MC, DBIG_384_56 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_384_56.c:735</div></div>
-<div class="ttc" id="big__384__56_8h_html_a98358a4dd86211868eeb80b7a21f8694"><div class="ttname"><a href="big__384__56_8h.html#a98358a4dd86211868eeb80b7a21f8694">BIG_384_56_dadd</a></div><div class="ttdeci">void BIG_384_56_dadd(DBIG_384_56 x, DBIG_384_56 y, DBIG_384_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:426</div></div>
-<div class="ttc" id="big__384__56_8h_html_afa1909f6c026350b5231eb12c6b14565"><div class="ttname"><a href="big__384__56_8h.html#afa1909f6c026350b5231eb12c6b14565">BIG_384_56_rawoutput</a></div><div class="ttdeci">void BIG_384_56_rawoutput(BIG_384_56 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_384_56.c:77</div></div>
-<div class="ttc" id="big__384__56_8h_html_acfcc567d1954ac2f544c267e48e711fd"><div class="ttname"><a href="big__384__56_8h.html#acfcc567d1954ac2f544c267e48e711fd">BIG_384_56_or</a></div><div class="ttdeci">void BIG_384_56_or(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:371</div></div>
-<div class="ttc" id="big__384__56_8h_html_ad9694ea00361b6487cabde26235ae0ae"><div class="ttname"><a href="big__384__56_8h.html#ad9694ea00361b6487cabde26235ae0ae">BIG_384_56_output</a></div><div class="ttdeci">void BIG_384_56_output(BIG_384_56 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_56.c:55</div></div>
-<div class="ttc" id="big__384__56_8h_html_afff858b85945feea8c4304eaa0307a5c"><div class="ttname"><a href="big__384__56_8h.html#afff858b85945feea8c4304eaa0307a5c">BIG_384_56_smul</a></div><div class="ttdeci">void BIG_384_56_smul(BIG_384_56 x, BIG_384_56 y, BIG_384_56 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_384_56.c:518</div></div>
+<div class="ttc" id="big__384__56_8h_html_a83dc4374d0ff05900d9c1f37abf2ca0e"><div class="ttname"><a href="big__384__56_8h.html#a83dc4374d0ff05900d9c1f37abf2ca0e">BIG_384_56_sducopy</a></div><div class="ttdeci">void BIG_384_56_sducopy(BIG_384_56 x, DBIG_384_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:306</div></div>
+<div class="ttc" id="big__384__56_8h_html_a99db6539a15cf5e277cc3079381546a1"><div class="ttname"><a href="big__384__56_8h.html#a99db6539a15cf5e277cc3079381546a1">BIG_384_56_mul</a></div><div class="ttdeci">void BIG_384_56_mul(DBIG_384_56 x, BIG_384_56 y, BIG_384_56 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_384_56.c:542</div></div>
+<div class="ttc" id="big__384__56_8h_html_ad7697ab07cf3b454d1e3706e16cbea0d"><div class="ttname"><a href="big__384__56_8h.html#ad7697ab07cf3b454d1e3706e16cbea0d">BIG_384_56_norm</a></div><div class="ttdeci">chunk BIG_384_56_norm(BIG_384_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:976</div></div>
+<div class="ttc" id="big__384__56_8h_html_a212014277605c4d603aeaf27a0453bd0"><div class="ttname"><a href="big__384__56_8h.html#a212014277605c4d603aeaf27a0453bd0">BIG_384_56_monty</a></div><div class="ttdeci">void BIG_384_56_monty(BIG_384_56 a, BIG_384_56 md, chunk MC, DBIG_384_56 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_384_56.c:735</div></div>
+<div class="ttc" id="big__384__56_8h_html_a98358a4dd86211868eeb80b7a21f8694"><div class="ttname"><a href="big__384__56_8h.html#a98358a4dd86211868eeb80b7a21f8694">BIG_384_56_dadd</a></div><div class="ttdeci">void BIG_384_56_dadd(DBIG_384_56 x, DBIG_384_56 y, DBIG_384_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:426</div></div>
+<div class="ttc" id="big__384__56_8h_html_afa1909f6c026350b5231eb12c6b14565"><div class="ttname"><a href="big__384__56_8h.html#afa1909f6c026350b5231eb12c6b14565">BIG_384_56_rawoutput</a></div><div class="ttdeci">void BIG_384_56_rawoutput(BIG_384_56 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_384_56.c:77</div></div>
+<div class="ttc" id="big__384__56_8h_html_acfcc567d1954ac2f544c267e48e711fd"><div class="ttname"><a href="big__384__56_8h.html#acfcc567d1954ac2f544c267e48e711fd">BIG_384_56_or</a></div><div class="ttdeci">void BIG_384_56_or(BIG_384_56 x, BIG_384_56 y, BIG_384_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:371</div></div>
+<div class="ttc" id="big__384__56_8h_html_ad9694ea00361b6487cabde26235ae0ae"><div class="ttname"><a href="big__384__56_8h.html#ad9694ea00361b6487cabde26235ae0ae">BIG_384_56_output</a></div><div class="ttdeci">void BIG_384_56_output(BIG_384_56 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_384_56.c:55</div></div>
+<div class="ttc" id="big__384__56_8h_html_afff858b85945feea8c4304eaa0307a5c"><div class="ttname"><a href="big__384__56_8h.html#afff858b85945feea8c4304eaa0307a5c">BIG_384_56_smul</a></div><div class="ttdeci">void BIG_384_56_smul(BIG_384_56 x, BIG_384_56 y, BIG_384_56 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_384_56.c:518</div></div>
 <div class="ttc" id="config__big__384__56_8h_html_a17291ec476cbf2794ab8552edb4e7cd1"><div class="ttname"><a href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</a></div><div class="ttdeci">#define BASEBITS_384_56</div><div class="ttdef"><b>Definition:</b> config_big_384_56.h:35</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__384__58_8h.html b/website/static/cdocs/big__384__58_8h.html
index b297d14..cdca0f8 100644
--- a/website/static/cdocs/big__384__58_8h.html
+++ b/website/static/cdocs/big__384__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_384_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="a12f59a1451e98aa457b45a0c9898be97"></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="a99e8598fcacae65ca34af9b96e91b359"></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__384__58_8h_source.html b/website/static/cdocs/big__384__58_8h_source.html
index 788bb2b..f8ef001 100644
--- a/website/static/cdocs/big__384__58_8h_source.html
+++ b/website/static/cdocs/big__384__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_384_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_384_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__384__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_384_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_384_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__384__58_8h.html">config_big_384_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__384__58_8h.html#af101e9b3ede482bfe16e1ddab5bf39bb">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_384_58 (8*MODBYTES_384_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">   40</a></span>&#160;<span class="preprocessor">#define NLEN_384_58 (1+((8*MODBYTES_384_58-1)/BASEBITS_384_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_384_58 2*NLEN_384_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">   42</a></span>&#160;<span class="preprocessor">#define BMASK_384_58 (((chunk)1&lt;&lt;BASEBITS_384_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#af4327ee14410cfee8eb9f247e40cd284">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_384_58 (1&lt;&lt;(CHUNK-BASEBITS_384_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">   45</a></span>&#160;<span class="preprocessor">#define HBITS_384_58 (BASEBITS_384_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">   46</a></span>&#160;<span class="preprocessor">#define HMASK_384_58 (((chunk)1&lt;&lt;HBITS_384_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_384_58 NLEN_384_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_384_58 (NLEN_384_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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">NLEN_384_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_384_58 DNLEN_384_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_384_58 (DNLEN_384_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__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">DNLEN_384_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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">NLEN_384_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">DNLEN_384_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__384__58_8h.html#a085ab7b1ab27484e4a7c7140feb60187">BIG_384_58_iszilch</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a95b36449d7c9b454aa7078ee3d315440">BIG_384_58_isunity</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#acd9a14edae6ce1432782af539d42c1e9">BIG_384_58_diszilch</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a6af5e5780b8fdd16090f1c39ef59d472">BIG_384_58_output</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a4c17d65c22198c489aa0ba8f2a0b9e5d">BIG_384_58_rawoutput</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a47173fb66dd59791d52de7ce3e028489">BIG_384_58_cswap</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a44f7d12534086593a5cd3a3cd4a658c4">BIG_384_58_cmove</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a24095a62da55894721f08bb532f345e0">BIG_384_58_dcmove</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a6fed12fb7988a0dd95e7fc46ceda3fb1">BIG_384_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#af2d2989242c0d216a88b51967897e050">BIG_384_58_fromBytes</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a43a58dff669431b77cb732a7264f3e73">BIG_384_58_fromBytesLen</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae47259dfc64c5e59f9343101dd7fe1c7">BIG_384_58_dfromBytesLen</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a630f7cf05c1bd2fa4885e1751502177a">BIG_384_58_doutput</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#ad2926a6467657bf033322f2362d2fb12">BIG_384_58_drawoutput</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a9452ad916f4080a86bb036147be2a0cd">BIG_384_58_rcopy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a3f6f4393c14a8a46adafe62e7ccb8b69">BIG_384_58_copy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a292844e136042a363d11b252a0975f62">BIG_384_58_dcopy</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aa71228c81fe53b25def57a78bfb86e80">BIG_384_58_dsucopy</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#aab4faaab0b749ceca584142f2b737504">BIG_384_58_dscopy</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a4b3b94899d48922a8972a9c8e1031c2e">BIG_384_58_sdcopy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a2abdf434dac4cfef0e3bc0e4e287a518">BIG_384_58_sducopy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a13f04d7bc085d6284718d88142e68452">BIG_384_58_zero</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#acc9c5375ec2b5de29b92a7aebcee02db">BIG_384_58_dzero</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a0ef71839c7a40c5cc0f4692140b06eed">BIG_384_58_one</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5">BIG_384_58_invmod2m</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#aa68da70c9329f24cc625b827cd2e693c">BIG_384_58_add</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a4dd451771222a49c9c3e3499ca3e9412">BIG_384_58_or</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ab5ab83546289412fe928c96aa65e73b1">BIG_384_58_inc</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a8a56a1492a22aba9398327f4f4fd2c07">BIG_384_58_sub</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a084244c33d546f61c2c1b26290d5055b">BIG_384_58_dec</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ac2e27604049490a11348eacf65bd219a">BIG_384_58_dadd</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a58860dadc5f3b013124854a6f23e5f2c">BIG_384_58_dsub</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a79c763f34d8c986f12c11c1bbdb8f3c1">BIG_384_58_imul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a7ee909810f49f97be05326902f460307">BIG_384_58_pmul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a241ffac606d31cd7bba9cd863d6f4710">BIG_384_58_div3</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ad98144baa029fdb2d783325eaf9246e2">BIG_384_58_pxmul</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae6e74f74ce26cddf1ebdcb0359b93dc8">BIG_384_58_mul</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a212c66be3b342eb0db8e56027141f73f">BIG_384_58_smul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5aec53c42724703820d1d67b93c0ae55">BIG_384_58_sqr</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a378e1616fa22f2cb56a2fdab4956b2fa">BIG_384_58_monty</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a629b32231bb3b8599fcb16f681dd199f">BIG_384_58_shl</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a243180bd852735ab7f35eb5dd40b32f5">BIG_384_58_fshl</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a9e111c13856057d0ede18c2a93384ac0">BIG_384_58_dshl</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aae4e464026886b838f7a1bb764db9a05">BIG_384_58_shr</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a11a478af5d2913ab517aed2e9fa971d8">BIG_384_58_ssn</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a, <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5f9d30e39044ce32968dfb9befa4cc92">BIG_384_58_fshr</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a88d79309341499f275ca18df3068fc72">BIG_384_58_dshr</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a3eff2a947a85c5b0a4314ffb810c22a8">BIG_384_58_split</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a4aea3cbe70ffc3437689860cc0bf42a1">BIG_384_58_norm</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a98f4f358132ca7daf604e365d9105075">BIG_384_58_dnorm</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aba4272e639d67a38c6dfb3ad1af21220">BIG_384_58_comp</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a3835e8b97f792c16d3094a3ec9162ab0">BIG_384_58_dcomp</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aa708054d84909993b289e576f2f21e98">BIG_384_58_nbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a12f59a1451e98aa457b45a0c9898be97">BIG_384_58_dnbits</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#ad1f52b936238a122991c3ecd17c5f03e">BIG_384_58_mod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ad77d2eb8d74fd8ac4850429740acf402">BIG_384_58_sdiv</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#add4e36049330cf8ccff38c5eddf27b9e">BIG_384_58_dmod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#adc755243d8f636bfbe010e1b9aaa850a">BIG_384_58_ddiv</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a69d23728641290b240082659c30dbc87">BIG_384_58_parity</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a34fd5847ba648bb7e353d166fb21b5a9">BIG_384_58_bit</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a13ae985ae407685cfb61a2461a4da105">BIG_384_58_lastbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a90aa6e033eaedc10ae5933cf6d434dc3">BIG_384_58_random</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a74f46214730642d512098918ec893ff0">BIG_384_58_randomnum</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a2c46609f6a9c888d7de89d3e53a8e12a">BIG_384_58_modmul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a99e8598fcacae65ca34af9b96e91b359">BIG_384_58_moddiv</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a09730e6a4ebd020f3343ce6d9d92bcb0">BIG_384_58_modsqr</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae3e2a53632c35ab3d7c8dc196050084d">BIG_384_58_modneg</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a24ddff680ad72280b2c5f74039396944">BIG_384_58_jacobi</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5a1e7aea63e90f03b07eedc3185fb1d4">BIG_384_58_invmodp</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5b9ba02e7f5ccc29304fecf84f19b50b">BIG_384_58_mod2m</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a6fb80dc9b4342ab0ed2cafa40c2f9c48">BIG_384_58_dmod2m</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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_384_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__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">BMASK_384_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__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">BASEBITS_384_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_384_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__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">HMASK_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">HMASK_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_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__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">HMASK_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_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__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">BASEBITS_384_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">BMASK_384_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__384__58_8h_html_a98f4f358132ca7daf604e365d9105075"><div class="ttname"><a href="big__384__58_8h.html#a98f4f358132ca7daf604e365d9105075">BIG_384_58_dnorm</a></div><div class="ttdeci">void BIG_384_58_dnorm(DBIG_384_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:995</div></div>
+<a href="big__384__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_384_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_384_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__384__58_8h.html">config_big_384_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__384__58_8h.html#af101e9b3ede482bfe16e1ddab5bf39bb">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_384_58 (8*MODBYTES_384_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">   40</a></span>&#160;<span class="preprocessor">#define NLEN_384_58 (1+((8*MODBYTES_384_58-1)/BASEBITS_384_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_384_58 2*NLEN_384_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">   42</a></span>&#160;<span class="preprocessor">#define BMASK_384_58 (((chunk)1&lt;&lt;BASEBITS_384_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#af4327ee14410cfee8eb9f247e40cd284">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_384_58 (1&lt;&lt;(CHUNK-BASEBITS_384_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">   45</a></span>&#160;<span class="preprocessor">#define HBITS_384_58 (BASEBITS_384_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">   46</a></span>&#160;<span class="preprocessor">#define HMASK_384_58 (((chunk)1&lt;&lt;HBITS_384_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_384_58 NLEN_384_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_384_58 (NLEN_384_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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">NLEN_384_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_384_58 DNLEN_384_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_384_58 (DNLEN_384_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__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">DNLEN_384_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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">NLEN_384_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a>[<a class="code" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">DNLEN_384_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__384__58_8h.html#a085ab7b1ab27484e4a7c7140feb60187">BIG_384_58_iszilch</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a95b36449d7c9b454aa7078ee3d315440">BIG_384_58_isunity</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#acd9a14edae6ce1432782af539d42c1e9">BIG_384_58_diszilch</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a6af5e5780b8fdd16090f1c39ef59d472">BIG_384_58_output</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a4c17d65c22198c489aa0ba8f2a0b9e5d">BIG_384_58_rawoutput</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a47173fb66dd59791d52de7ce3e028489">BIG_384_58_cswap</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a44f7d12534086593a5cd3a3cd4a658c4">BIG_384_58_cmove</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a24095a62da55894721f08bb532f345e0">BIG_384_58_dcmove</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a6fed12fb7988a0dd95e7fc46ceda3fb1">BIG_384_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#af2d2989242c0d216a88b51967897e050">BIG_384_58_fromBytes</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a43a58dff669431b77cb732a7264f3e73">BIG_384_58_fromBytesLen</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae47259dfc64c5e59f9343101dd7fe1c7">BIG_384_58_dfromBytesLen</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a630f7cf05c1bd2fa4885e1751502177a">BIG_384_58_doutput</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#ad2926a6467657bf033322f2362d2fb12">BIG_384_58_drawoutput</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a9452ad916f4080a86bb036147be2a0cd">BIG_384_58_rcopy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a3f6f4393c14a8a46adafe62e7ccb8b69">BIG_384_58_copy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a292844e136042a363d11b252a0975f62">BIG_384_58_dcopy</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aa71228c81fe53b25def57a78bfb86e80">BIG_384_58_dsucopy</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#aab4faaab0b749ceca584142f2b737504">BIG_384_58_dscopy</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a4b3b94899d48922a8972a9c8e1031c2e">BIG_384_58_sdcopy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a2abdf434dac4cfef0e3bc0e4e287a518">BIG_384_58_sducopy</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a13f04d7bc085d6284718d88142e68452">BIG_384_58_zero</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#acc9c5375ec2b5de29b92a7aebcee02db">BIG_384_58_dzero</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a0ef71839c7a40c5cc0f4692140b06eed">BIG_384_58_one</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5">BIG_384_58_invmod2m</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#aa68da70c9329f24cc625b827cd2e693c">BIG_384_58_add</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a4dd451771222a49c9c3e3499ca3e9412">BIG_384_58_or</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ab5ab83546289412fe928c96aa65e73b1">BIG_384_58_inc</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a8a56a1492a22aba9398327f4f4fd2c07">BIG_384_58_sub</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a084244c33d546f61c2c1b26290d5055b">BIG_384_58_dec</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ac2e27604049490a11348eacf65bd219a">BIG_384_58_dadd</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a58860dadc5f3b013124854a6f23e5f2c">BIG_384_58_dsub</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a79c763f34d8c986f12c11c1bbdb8f3c1">BIG_384_58_imul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a7ee909810f49f97be05326902f460307">BIG_384_58_pmul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a241ffac606d31cd7bba9cd863d6f4710">BIG_384_58_div3</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ad98144baa029fdb2d783325eaf9246e2">BIG_384_58_pxmul</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae6e74f74ce26cddf1ebdcb0359b93dc8">BIG_384_58_mul</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a212c66be3b342eb0db8e56027141f73f">BIG_384_58_smul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5aec53c42724703820d1d67b93c0ae55">BIG_384_58_sqr</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a378e1616fa22f2cb56a2fdab4956b2fa">BIG_384_58_monty</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a629b32231bb3b8599fcb16f681dd199f">BIG_384_58_shl</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a243180bd852735ab7f35eb5dd40b32f5">BIG_384_58_fshl</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a9e111c13856057d0ede18c2a93384ac0">BIG_384_58_dshl</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aae4e464026886b838f7a1bb764db9a05">BIG_384_58_shr</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a11a478af5d2913ab517aed2e9fa971d8">BIG_384_58_ssn</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a, <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5f9d30e39044ce32968dfb9befa4cc92">BIG_384_58_fshr</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a88d79309341499f275ca18df3068fc72">BIG_384_58_dshr</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a3eff2a947a85c5b0a4314ffb810c22a8">BIG_384_58_split</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#a4aea3cbe70ffc3437689860cc0bf42a1">BIG_384_58_norm</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a98f4f358132ca7daf604e365d9105075">BIG_384_58_dnorm</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aba4272e639d67a38c6dfb3ad1af21220">BIG_384_58_comp</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a3835e8b97f792c16d3094a3ec9162ab0">BIG_384_58_dcomp</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#aa708054d84909993b289e576f2f21e98">BIG_384_58_nbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a12f59a1451e98aa457b45a0c9898be97">BIG_384_58_dnbits</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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__384__58_8h.html#ad1f52b936238a122991c3ecd17c5f03e">BIG_384_58_mod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ad77d2eb8d74fd8ac4850429740acf402">BIG_384_58_sdiv</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#add4e36049330cf8ccff38c5eddf27b9e">BIG_384_58_dmod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#adc755243d8f636bfbe010e1b9aaa850a">BIG_384_58_ddiv</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a69d23728641290b240082659c30dbc87">BIG_384_58_parity</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a34fd5847ba648bb7e353d166fb21b5a9">BIG_384_58_bit</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a13ae985ae407685cfb61a2461a4da105">BIG_384_58_lastbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a90aa6e033eaedc10ae5933cf6d434dc3">BIG_384_58_random</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a74f46214730642d512098918ec893ff0">BIG_384_58_randomnum</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a2c46609f6a9c888d7de89d3e53a8e12a">BIG_384_58_modmul</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a99e8598fcacae65ca34af9b96e91b359">BIG_384_58_moddiv</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a09730e6a4ebd020f3343ce6d9d92bcb0">BIG_384_58_modsqr</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#ae3e2a53632c35ab3d7c8dc196050084d">BIG_384_58_modneg</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a24ddff680ad72280b2c5f74039396944">BIG_384_58_jacobi</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5a1e7aea63e90f03b07eedc3185fb1d4">BIG_384_58_invmodp</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a5b9ba02e7f5ccc29304fecf84f19b50b">BIG_384_58_mod2m</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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__384__58_8h.html#a6fb80dc9b4342ab0ed2cafa40c2f9c48">BIG_384_58_dmod2m</a>(<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_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_384_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__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">BMASK_384_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__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">BASEBITS_384_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_384_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__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">HMASK_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">HMASK_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_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__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">HMASK_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_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__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_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__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">BASEBITS_384_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">BMASK_384_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__384__58_8h_html_a98f4f358132ca7daf604e365d9105075"><div class="ttname"><a href="big__384__58_8h.html#a98f4f358132ca7daf604e365d9105075">BIG_384_58_dnorm</a></div><div class="ttdeci">void BIG_384_58_dnorm(DBIG_384_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:995</div></div>
 <div class="ttc" id="big__384__58_8h_html_a7bbc1e57f9520e560c34d1108871c3c8"><div class="ttname"><a href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">DNLEN_384_58</a></div><div class="ttdeci">#define DNLEN_384_58</div><div class="ttdef"><b>Definition:</b> big_384_58.h:41</div></div>
-<div class="ttc" id="big__384__58_8h_html_a4dd451771222a49c9c3e3499ca3e9412"><div class="ttname"><a href="big__384__58_8h.html#a4dd451771222a49c9c3e3499ca3e9412">BIG_384_58_or</a></div><div class="ttdeci">void BIG_384_58_or(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:371</div></div>
-<div class="ttc" id="big__384__58_8h_html_a2abdf434dac4cfef0e3bc0e4e287a518"><div class="ttname"><a href="big__384__58_8h.html#a2abdf434dac4cfef0e3bc0e4e287a518">BIG_384_58_sducopy</a></div><div class="ttdeci">void BIG_384_58_sducopy(BIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:306</div></div>
-<div class="ttc" id="big__384__58_8h_html_a241ffac606d31cd7bba9cd863d6f4710"><div class="ttname"><a href="big__384__58_8h.html#a241ffac606d31cd7bba9cd863d6f4710">BIG_384_58_div3</a></div><div class="ttdeci">int BIG_384_58_div3(BIG_384_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:484</div></div>
-<div class="ttc" id="big__384__58_8h_html_a9452ad916f4080a86bb036147be2a0cd"><div class="ttname"><a href="big__384__58_8h.html#a9452ad916f4080a86bb036147be2a0cd">BIG_384_58_rcopy</a></div><div class="ttdeci">void BIG_384_58_rcopy(BIG_384_58 x, const BIG_384_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:239</div></div>
-<div class="ttc" id="big__384__58_8h_html_acc9c5375ec2b5de29b92a7aebcee02db"><div class="ttname"><a href="big__384__58_8h.html#acc9c5375ec2b5de29b92a7aebcee02db">BIG_384_58_dzero</a></div><div class="ttdeci">void BIG_384_58_dzero(DBIG_384_58 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:329</div></div>
-<div class="ttc" id="big__384__58_8h_html_adc755243d8f636bfbe010e1b9aaa850a"><div class="ttname"><a href="big__384__58_8h.html#adc755243d8f636bfbe010e1b9aaa850a">BIG_384_58_ddiv</a></div><div class="ttdeci">void BIG_384_58_ddiv(BIG_384_58 x, DBIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1149</div></div>
-<div class="ttc" id="big__384__58_8h_html_a629b32231bb3b8599fcb16f681dd199f"><div class="ttname"><a href="big__384__58_8h.html#a629b32231bb3b8599fcb16f681dd199f">BIG_384_58_shl</a></div><div class="ttdeci">void BIG_384_58_shl(BIG_384_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_384_58.c:813</div></div>
-<div class="ttc" id="big__384__58_8h_html_a74f46214730642d512098918ec893ff0"><div class="ttname"><a href="big__384__58_8h.html#a74f46214730642d512098918ec893ff0">BIG_384_58_randomnum</a></div><div class="ttdeci">void BIG_384_58_randomnum(BIG_384_58 x, BIG_384_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_384_58.c:1274</div></div>
-<div class="ttc" id="big__384__58_8h_html_a34fd5847ba648bb7e353d166fb21b5a9"><div class="ttname"><a href="big__384__58_8h.html#a34fd5847ba648bb7e353d166fb21b5a9">BIG_384_58_bit</a></div><div class="ttdeci">int BIG_384_58_bit(BIG_384_58 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1232</div></div>
-<div class="ttc" id="big__384__58_8h_html_a212c66be3b342eb0db8e56027141f73f"><div class="ttname"><a href="big__384__58_8h.html#a212c66be3b342eb0db8e56027141f73f">BIG_384_58_smul</a></div><div class="ttdeci">void BIG_384_58_smul(BIG_384_58 x, BIG_384_58 y, BIG_384_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_384_58.c:518</div></div>
-<div class="ttc" id="big__384__58_8h_html_a90aa6e033eaedc10ae5933cf6d434dc3"><div class="ttname"><a href="big__384__58_8h.html#a90aa6e033eaedc10ae5933cf6d434dc3">BIG_384_58_random</a></div><div class="ttdeci">void BIG_384_58_random(BIG_384_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_384_58.c:1248</div></div>
-<div class="ttc" id="big__384__58_8h_html_ae6e74f74ce26cddf1ebdcb0359b93dc8"><div class="ttname"><a href="big__384__58_8h.html#ae6e74f74ce26cddf1ebdcb0359b93dc8">BIG_384_58_mul</a></div><div class="ttdeci">void BIG_384_58_mul(DBIG_384_58 x, BIG_384_58 y, BIG_384_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_384_58.c:542</div></div>
-<div class="ttc" id="big__384__58_8h_html_ae47259dfc64c5e59f9343101dd7fe1c7"><div class="ttname"><a href="big__384__58_8h.html#ae47259dfc64c5e59f9343101dd7fe1c7">BIG_384_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_384_58_dfromBytesLen(DBIG_384_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_384_58.c:1485</div></div>
+<div class="ttc" id="big__384__58_8h_html_a4dd451771222a49c9c3e3499ca3e9412"><div class="ttname"><a href="big__384__58_8h.html#a4dd451771222a49c9c3e3499ca3e9412">BIG_384_58_or</a></div><div class="ttdeci">void BIG_384_58_or(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:371</div></div>
+<div class="ttc" id="big__384__58_8h_html_a2abdf434dac4cfef0e3bc0e4e287a518"><div class="ttname"><a href="big__384__58_8h.html#a2abdf434dac4cfef0e3bc0e4e287a518">BIG_384_58_sducopy</a></div><div class="ttdeci">void BIG_384_58_sducopy(BIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:306</div></div>
+<div class="ttc" id="big__384__58_8h_html_a241ffac606d31cd7bba9cd863d6f4710"><div class="ttname"><a href="big__384__58_8h.html#a241ffac606d31cd7bba9cd863d6f4710">BIG_384_58_div3</a></div><div class="ttdeci">int BIG_384_58_div3(BIG_384_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:484</div></div>
+<div class="ttc" id="big__384__58_8h_html_a9452ad916f4080a86bb036147be2a0cd"><div class="ttname"><a href="big__384__58_8h.html#a9452ad916f4080a86bb036147be2a0cd">BIG_384_58_rcopy</a></div><div class="ttdeci">void BIG_384_58_rcopy(BIG_384_58 x, const BIG_384_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:239</div></div>
+<div class="ttc" id="big__384__58_8h_html_acc9c5375ec2b5de29b92a7aebcee02db"><div class="ttname"><a href="big__384__58_8h.html#acc9c5375ec2b5de29b92a7aebcee02db">BIG_384_58_dzero</a></div><div class="ttdeci">void BIG_384_58_dzero(DBIG_384_58 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:329</div></div>
+<div class="ttc" id="big__384__58_8h_html_adc755243d8f636bfbe010e1b9aaa850a"><div class="ttname"><a href="big__384__58_8h.html#adc755243d8f636bfbe010e1b9aaa850a">BIG_384_58_ddiv</a></div><div class="ttdeci">void BIG_384_58_ddiv(BIG_384_58 x, DBIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1149</div></div>
+<div class="ttc" id="big__384__58_8h_html_a629b32231bb3b8599fcb16f681dd199f"><div class="ttname"><a href="big__384__58_8h.html#a629b32231bb3b8599fcb16f681dd199f">BIG_384_58_shl</a></div><div class="ttdeci">void BIG_384_58_shl(BIG_384_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_384_58.c:813</div></div>
+<div class="ttc" id="big__384__58_8h_html_a74f46214730642d512098918ec893ff0"><div class="ttname"><a href="big__384__58_8h.html#a74f46214730642d512098918ec893ff0">BIG_384_58_randomnum</a></div><div class="ttdeci">void BIG_384_58_randomnum(BIG_384_58 x, BIG_384_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_384_58.c:1274</div></div>
+<div class="ttc" id="big__384__58_8h_html_a34fd5847ba648bb7e353d166fb21b5a9"><div class="ttname"><a href="big__384__58_8h.html#a34fd5847ba648bb7e353d166fb21b5a9">BIG_384_58_bit</a></div><div class="ttdeci">int BIG_384_58_bit(BIG_384_58 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1232</div></div>
+<div class="ttc" id="big__384__58_8h_html_a212c66be3b342eb0db8e56027141f73f"><div class="ttname"><a href="big__384__58_8h.html#a212c66be3b342eb0db8e56027141f73f">BIG_384_58_smul</a></div><div class="ttdeci">void BIG_384_58_smul(BIG_384_58 x, BIG_384_58 y, BIG_384_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_384_58.c:518</div></div>
+<div class="ttc" id="big__384__58_8h_html_a90aa6e033eaedc10ae5933cf6d434dc3"><div class="ttname"><a href="big__384__58_8h.html#a90aa6e033eaedc10ae5933cf6d434dc3">BIG_384_58_random</a></div><div class="ttdeci">void BIG_384_58_random(BIG_384_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_384_58.c:1248</div></div>
+<div class="ttc" id="big__384__58_8h_html_ae6e74f74ce26cddf1ebdcb0359b93dc8"><div class="ttname"><a href="big__384__58_8h.html#ae6e74f74ce26cddf1ebdcb0359b93dc8">BIG_384_58_mul</a></div><div class="ttdeci">void BIG_384_58_mul(DBIG_384_58 x, BIG_384_58 y, BIG_384_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_384_58.c:542</div></div>
+<div class="ttc" id="big__384__58_8h_html_ae47259dfc64c5e59f9343101dd7fe1c7"><div class="ttname"><a href="big__384__58_8h.html#ae47259dfc64c5e59f9343101dd7fe1c7">BIG_384_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_384_58_dfromBytesLen(DBIG_384_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_384_58.c:1569</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="big__384__58_8h_html_a4b3b94899d48922a8972a9c8e1031c2e"><div class="ttname"><a href="big__384__58_8h.html#a4b3b94899d48922a8972a9c8e1031c2e">BIG_384_58_sdcopy</a></div><div class="ttdeci">void BIG_384_58_sdcopy(BIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:294</div></div>
-<div class="ttc" id="big__384__58_8h_html_a085ab7b1ab27484e4a7c7140feb60187"><div class="ttname"><a href="big__384__58_8h.html#a085ab7b1ab27484e4a7c7140feb60187">BIG_384_58_iszilch</a></div><div class="ttdeci">int BIG_384_58_iszilch(BIG_384_58 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:26</div></div>
-<div class="ttc" id="big__384__58_8h_html_ac2e27604049490a11348eacf65bd219a"><div class="ttname"><a href="big__384__58_8h.html#ac2e27604049490a11348eacf65bd219a">BIG_384_58_dadd</a></div><div class="ttdeci">void BIG_384_58_dadd(DBIG_384_58 x, DBIG_384_58 y, DBIG_384_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:426</div></div>
-<div class="ttc" id="big__384__58_8h_html_a44f7d12534086593a5cd3a3cd4a658c4"><div class="ttname"><a href="big__384__58_8h.html#a44f7d12534086593a5cd3a3cd4a658c4">BIG_384_58_cmove</a></div><div class="ttdeci">void BIG_384_58_cmove(BIG_384_58 x, BIG_384_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:110</div></div>
-<div class="ttc" id="big__384__58_8h_html_a0ef71839c7a40c5cc0f4692140b06eed"><div class="ttname"><a href="big__384__58_8h.html#a0ef71839c7a40c5cc0f4692140b06eed">BIG_384_58_one</a></div><div class="ttdeci">void BIG_384_58_one(BIG_384_58 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_384_58.c:340</div></div>
-<div class="ttc" id="big__384__58_8h_html_acd9a14edae6ce1432782af539d42c1e9"><div class="ttname"><a href="big__384__58_8h.html#acd9a14edae6ce1432782af539d42c1e9">BIG_384_58_diszilch</a></div><div class="ttdeci">int BIG_384_58_diszilch(DBIG_384_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:45</div></div>
-<div class="ttc" id="big__384__58_8h_html_a88d79309341499f275ca18df3068fc72"><div class="ttname"><a href="big__384__58_8h.html#a88d79309341499f275ca18df3068fc72">BIG_384_58_dshr</a></div><div class="ttdeci">void BIG_384_58_dshr(DBIG_384_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_384_58.c:918</div></div>
-<div class="ttc" id="big__384__58_8h_html_aa68da70c9329f24cc625b827cd2e693c"><div class="ttname"><a href="big__384__58_8h.html#aa68da70c9329f24cc625b827cd2e693c">BIG_384_58_add</a></div><div class="ttdeci">void BIG_384_58_add(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:356</div></div>
-<div class="ttc" id="big__384__58_8h_html_aae4e464026886b838f7a1bb764db9a05"><div class="ttname"><a href="big__384__58_8h.html#aae4e464026886b838f7a1bb764db9a05">BIG_384_58_shr</a></div><div class="ttdeci">void BIG_384_58_shr(BIG_384_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_384_58.c:864</div></div>
-<div class="ttc" id="big__384__58_8h_html_a13f04d7bc085d6284718d88142e68452"><div class="ttname"><a href="big__384__58_8h.html#a13f04d7bc085d6284718d88142e68452">BIG_384_58_zero</a></div><div class="ttdeci">void BIG_384_58_zero(BIG_384_58 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:319</div></div>
-<div class="ttc" id="big__384__58_8h_html_a3835e8b97f792c16d3094a3ec9162ab0"><div class="ttname"><a href="big__384__58_8h.html#a3835e8b97f792c16d3094a3ec9162ab0">BIG_384_58_dcomp</a></div><div class="ttdeci">int BIG_384_58_dcomp(DBIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1026</div></div>
-<div class="ttc" id="big__384__58_8h_html_a2c46609f6a9c888d7de89d3e53a8e12a"><div class="ttname"><a href="big__384__58_8h.html#a2c46609f6a9c888d7de89d3e53a8e12a">BIG_384_58_modmul</a></div><div class="ttdeci">void BIG_384_58_modmul(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z, BIG_384_58 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1300</div></div>
-<div class="ttc" id="config__big__384__58_8h_html"><div class="ttname"><a href="config__big__384__58_8h.html">config_big_384_58.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__384__58_8h_html_a5b9ba02e7f5ccc29304fecf84f19b50b"><div class="ttname"><a href="big__384__58_8h.html#a5b9ba02e7f5ccc29304fecf84f19b50b">BIG_384_58_mod2m</a></div><div class="ttdeci">void BIG_384_58_mod2m(BIG_384_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1456</div></div>
-<div class="ttc" id="big__384__58_8h_html_a4c17d65c22198c489aa0ba8f2a0b9e5d"><div class="ttname"><a href="big__384__58_8h.html#a4c17d65c22198c489aa0ba8f2a0b9e5d">BIG_384_58_rawoutput</a></div><div class="ttdeci">void BIG_384_58_rawoutput(BIG_384_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_384_58.c:77</div></div>
-<div class="ttc" id="big__384__58_8h_html_a084244c33d546f61c2c1b26290d5055b"><div class="ttname"><a href="big__384__58_8h.html#a084244c33d546f61c2c1b26290d5055b">BIG_384_58_dec</a></div><div class="ttdeci">void BIG_384_58_dec(BIG_384_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_384_58.c:440</div></div>
-<div class="ttc" id="big__384__58_8h_html_aa708054d84909993b289e576f2f21e98"><div class="ttname"><a href="big__384__58_8h.html#aa708054d84909993b289e576f2f21e98">BIG_384_58_nbits</a></div><div class="ttdeci">int BIG_384_58_nbits(BIG_384_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1040</div></div>
-<div class="ttc" id="big__384__58_8h_html_aa71228c81fe53b25def57a78bfb86e80"><div class="ttname"><a href="big__384__58_8h.html#aa71228c81fe53b25def57a78bfb86e80">BIG_384_58_dsucopy</a></div><div class="ttdeci">void BIG_384_58_dsucopy(DBIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:280</div></div>
-<div class="ttc" id="big__384__58_8h_html_a13ae985ae407685cfb61a2461a4da105"><div class="ttname"><a href="big__384__58_8h.html#a13ae985ae407685cfb61a2461a4da105">BIG_384_58_lastbits</a></div><div class="ttdeci">int BIG_384_58_lastbits(BIG_384_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1240</div></div>
-<div class="ttc" id="big__384__58_8h_html_a3eff2a947a85c5b0a4314ffb810c22a8"><div class="ttname"><a href="big__384__58_8h.html#a3eff2a947a85c5b0a4314ffb810c22a8">BIG_384_58_split</a></div><div class="ttdeci">chunk BIG_384_58_split(BIG_384_58 x, BIG_384_58 y, DBIG_384_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_384_58.c:932</div></div>
+<div class="ttc" id="big__384__58_8h_html_a4b3b94899d48922a8972a9c8e1031c2e"><div class="ttname"><a href="big__384__58_8h.html#a4b3b94899d48922a8972a9c8e1031c2e">BIG_384_58_sdcopy</a></div><div class="ttdeci">void BIG_384_58_sdcopy(BIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:294</div></div>
+<div class="ttc" id="big__384__58_8h_html_a085ab7b1ab27484e4a7c7140feb60187"><div class="ttname"><a href="big__384__58_8h.html#a085ab7b1ab27484e4a7c7140feb60187">BIG_384_58_iszilch</a></div><div class="ttdeci">int BIG_384_58_iszilch(BIG_384_58 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:26</div></div>
+<div class="ttc" id="big__384__58_8h_html_ac2e27604049490a11348eacf65bd219a"><div class="ttname"><a href="big__384__58_8h.html#ac2e27604049490a11348eacf65bd219a">BIG_384_58_dadd</a></div><div class="ttdeci">void BIG_384_58_dadd(DBIG_384_58 x, DBIG_384_58 y, DBIG_384_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:426</div></div>
+<div class="ttc" id="big__384__58_8h_html_a44f7d12534086593a5cd3a3cd4a658c4"><div class="ttname"><a href="big__384__58_8h.html#a44f7d12534086593a5cd3a3cd4a658c4">BIG_384_58_cmove</a></div><div class="ttdeci">void BIG_384_58_cmove(BIG_384_58 x, BIG_384_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:110</div></div>
+<div class="ttc" id="big__384__58_8h_html_a0ef71839c7a40c5cc0f4692140b06eed"><div class="ttname"><a href="big__384__58_8h.html#a0ef71839c7a40c5cc0f4692140b06eed">BIG_384_58_one</a></div><div class="ttdeci">void BIG_384_58_one(BIG_384_58 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_384_58.c:340</div></div>
+<div class="ttc" id="big__384__58_8h_html_acd9a14edae6ce1432782af539d42c1e9"><div class="ttname"><a href="big__384__58_8h.html#acd9a14edae6ce1432782af539d42c1e9">BIG_384_58_diszilch</a></div><div class="ttdeci">int BIG_384_58_diszilch(DBIG_384_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:45</div></div>
+<div class="ttc" id="big__384__58_8h_html_a88d79309341499f275ca18df3068fc72"><div class="ttname"><a href="big__384__58_8h.html#a88d79309341499f275ca18df3068fc72">BIG_384_58_dshr</a></div><div class="ttdeci">void BIG_384_58_dshr(DBIG_384_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_384_58.c:918</div></div>
+<div class="ttc" id="big__384__58_8h_html_aa68da70c9329f24cc625b827cd2e693c"><div class="ttname"><a href="big__384__58_8h.html#aa68da70c9329f24cc625b827cd2e693c">BIG_384_58_add</a></div><div class="ttdeci">void BIG_384_58_add(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:356</div></div>
+<div class="ttc" id="big__384__58_8h_html_aae4e464026886b838f7a1bb764db9a05"><div class="ttname"><a href="big__384__58_8h.html#aae4e464026886b838f7a1bb764db9a05">BIG_384_58_shr</a></div><div class="ttdeci">void BIG_384_58_shr(BIG_384_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_384_58.c:864</div></div>
+<div class="ttc" id="big__384__58_8h_html_a13f04d7bc085d6284718d88142e68452"><div class="ttname"><a href="big__384__58_8h.html#a13f04d7bc085d6284718d88142e68452">BIG_384_58_zero</a></div><div class="ttdeci">void BIG_384_58_zero(BIG_384_58 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:319</div></div>
+<div class="ttc" id="big__384__58_8h_html_a3835e8b97f792c16d3094a3ec9162ab0"><div class="ttname"><a href="big__384__58_8h.html#a3835e8b97f792c16d3094a3ec9162ab0">BIG_384_58_dcomp</a></div><div class="ttdeci">int BIG_384_58_dcomp(DBIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1026</div></div>
+<div class="ttc" id="big__384__58_8h_html_a2c46609f6a9c888d7de89d3e53a8e12a"><div class="ttname"><a href="big__384__58_8h.html#a2c46609f6a9c888d7de89d3e53a8e12a">BIG_384_58_modmul</a></div><div class="ttdeci">void BIG_384_58_modmul(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z, BIG_384_58 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1300</div></div>
+<div class="ttc" id="config__big__384__58_8h_html"><div class="ttname"><a href="config__big__384__58_8h.html">config_big_384_58.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__384__58_8h_html_a5b9ba02e7f5ccc29304fecf84f19b50b"><div class="ttname"><a href="big__384__58_8h.html#a5b9ba02e7f5ccc29304fecf84f19b50b">BIG_384_58_mod2m</a></div><div class="ttdeci">void BIG_384_58_mod2m(BIG_384_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1540</div></div>
+<div class="ttc" id="big__384__58_8h_html_a4c17d65c22198c489aa0ba8f2a0b9e5d"><div class="ttname"><a href="big__384__58_8h.html#a4c17d65c22198c489aa0ba8f2a0b9e5d">BIG_384_58_rawoutput</a></div><div class="ttdeci">void BIG_384_58_rawoutput(BIG_384_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_384_58.c:77</div></div>
+<div class="ttc" id="big__384__58_8h_html_a084244c33d546f61c2c1b26290d5055b"><div class="ttname"><a href="big__384__58_8h.html#a084244c33d546f61c2c1b26290d5055b">BIG_384_58_dec</a></div><div class="ttdeci">void BIG_384_58_dec(BIG_384_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_384_58.c:440</div></div>
+<div class="ttc" id="big__384__58_8h_html_aa708054d84909993b289e576f2f21e98"><div class="ttname"><a href="big__384__58_8h.html#aa708054d84909993b289e576f2f21e98">BIG_384_58_nbits</a></div><div class="ttdeci">int BIG_384_58_nbits(BIG_384_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1040</div></div>
+<div class="ttc" id="big__384__58_8h_html_aa71228c81fe53b25def57a78bfb86e80"><div class="ttname"><a href="big__384__58_8h.html#aa71228c81fe53b25def57a78bfb86e80">BIG_384_58_dsucopy</a></div><div class="ttdeci">void BIG_384_58_dsucopy(DBIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:280</div></div>
+<div class="ttc" id="big__384__58_8h_html_a13ae985ae407685cfb61a2461a4da105"><div class="ttname"><a href="big__384__58_8h.html#a13ae985ae407685cfb61a2461a4da105">BIG_384_58_lastbits</a></div><div class="ttdeci">int BIG_384_58_lastbits(BIG_384_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1240</div></div>
+<div class="ttc" id="big__384__58_8h_html_a3eff2a947a85c5b0a4314ffb810c22a8"><div class="ttname"><a href="big__384__58_8h.html#a3eff2a947a85c5b0a4314ffb810c22a8">BIG_384_58_split</a></div><div class="ttdeci">chunk BIG_384_58_split(BIG_384_58 x, BIG_384_58 y, DBIG_384_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_384_58.c:932</div></div>
 <div class="ttc" id="config__big__384__58_8h_html_aef3a9fbfcd02db7e7fae8c77794c2fec"><div class="ttname"><a href="config__big__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">BASEBITS_384_58</a></div><div class="ttdeci">#define BASEBITS_384_58</div><div class="ttdef"><b>Definition:</b> config_big_384_58.h:35</div></div>
 <div class="ttc" id="big__384__58_8h_html_ac8efaee7fe7da09d317cedb6ef0f2cc4"><div class="ttname"><a href="big__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">HBITS_384_58</a></div><div class="ttdeci">#define HBITS_384_58</div><div class="ttdef"><b>Definition:</b> big_384_58.h:45</div></div>
-<div class="ttc" id="big__384__58_8h_html_a79c763f34d8c986f12c11c1bbdb8f3c1"><div class="ttname"><a href="big__384__58_8h.html#a79c763f34d8c986f12c11c1bbdb8f3c1">BIG_384_58_imul</a></div><div class="ttdeci">void BIG_384_58_imul(BIG_384_58 x, BIG_384_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_384_58.c:450</div></div>
-<div class="ttc" id="big__384__58_8h_html_ad2926a6467657bf033322f2362d2fb12"><div class="ttname"><a href="big__384__58_8h.html#ad2926a6467657bf033322f2362d2fb12">BIG_384_58_drawoutput</a></div><div class="ttdeci">void BIG_384_58_drawoutput(DBIG_384_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:212</div></div>
+<div class="ttc" id="big__384__58_8h_html_a79c763f34d8c986f12c11c1bbdb8f3c1"><div class="ttname"><a href="big__384__58_8h.html#a79c763f34d8c986f12c11c1bbdb8f3c1">BIG_384_58_imul</a></div><div class="ttdeci">void BIG_384_58_imul(BIG_384_58 x, BIG_384_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_384_58.c:450</div></div>
+<div class="ttc" id="big__384__58_8h_html_ad2926a6467657bf033322f2362d2fb12"><div class="ttname"><a href="big__384__58_8h.html#ad2926a6467657bf033322f2362d2fb12">BIG_384_58_drawoutput</a></div><div class="ttdeci">void BIG_384_58_drawoutput(DBIG_384_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:212</div></div>
 <div class="ttc" id="big__384__58_8h_html_a243180bd852735ab7f35eb5dd40b32f5"><div class="ttname"><a href="big__384__58_8h.html#a243180bd852735ab7f35eb5dd40b32f5">BIG_384_58_fshl</a></div><div class="ttdeci">int BIG_384_58_fshl(BIG_384_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_384_58.c:832</div></div>
-<div class="ttc" id="big__384__58_8h_html_a24ddff680ad72280b2c5f74039396944"><div class="ttname"><a href="big__384__58_8h.html#a24ddff680ad72280b2c5f74039396944">BIG_384_58_jacobi</a></div><div class="ttdeci">int BIG_384_58_jacobi(BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1354</div></div>
-<div class="ttc" id="big__384__58_8h_html_a7ee909810f49f97be05326902f460307"><div class="ttname"><a href="big__384__58_8h.html#a7ee909810f49f97be05326902f460307">BIG_384_58_pmul</a></div><div class="ttdeci">chunk BIG_384_58_pmul(BIG_384_58 x, BIG_384_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_384_58.c:465</div></div>
-<div class="ttc" id="big__384__58_8h_html_a8a56a1492a22aba9398327f4f4fd2c07"><div class="ttname"><a href="big__384__58_8h.html#a8a56a1492a22aba9398327f4f4fd2c07">BIG_384_58_sub</a></div><div class="ttdeci">void BIG_384_58_sub(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:397</div></div>
-<div class="ttc" id="big__384__58_8h_html_a5a1e7aea63e90f03b07eedc3185fb1d4"><div class="ttname"><a href="big__384__58_8h.html#a5a1e7aea63e90f03b07eedc3185fb1d4">BIG_384_58_invmodp</a></div><div class="ttdeci">void BIG_384_58_invmodp(BIG_384_58 x, BIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1392</div></div>
-<div class="ttc" id="big__384__58_8h_html_a378e1616fa22f2cb56a2fdab4956b2fa"><div class="ttname"><a href="big__384__58_8h.html#a378e1616fa22f2cb56a2fdab4956b2fa">BIG_384_58_monty</a></div><div class="ttdeci">void BIG_384_58_monty(BIG_384_58 a, BIG_384_58 md, chunk MC, DBIG_384_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_384_58.c:735</div></div>
-<div class="ttc" id="big__384__58_8h_html_a11a478af5d2913ab517aed2e9fa971d8"><div class="ttname"><a href="big__384__58_8h.html#a11a478af5d2913ab517aed2e9fa971d8">BIG_384_58_ssn</a></div><div class="ttdeci">int BIG_384_58_ssn(BIG_384_58 r, BIG_384_58 a, BIG_384_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_384_58.c:877</div></div>
-<div class="ttc" id="big__384__58_8h_html_add4e36049330cf8ccff38c5eddf27b9e"><div class="ttname"><a href="big__384__58_8h.html#add4e36049330cf8ccff38c5eddf27b9e">BIG_384_58_dmod</a></div><div class="ttdeci">void BIG_384_58_dmod(BIG_384_58 x, DBIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1113</div></div>
-<div class="ttc" id="big__384__58_8h_html_a9e111c13856057d0ede18c2a93384ac0"><div class="ttname"><a href="big__384__58_8h.html#a9e111c13856057d0ede18c2a93384ac0">BIG_384_58_dshl</a></div><div class="ttdeci">void BIG_384_58_dshl(DBIG_384_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_384_58.c:846</div></div>
-<div class="ttc" id="big__384__58_8h_html_ad77d2eb8d74fd8ac4850429740acf402"><div class="ttname"><a href="big__384__58_8h.html#ad77d2eb8d74fd8ac4850429740acf402">BIG_384_58_sdiv</a></div><div class="ttdeci">void BIG_384_58_sdiv(BIG_384_58 x, BIG_384_58 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1188</div></div>
-<div class="ttc" id="big__384__58_8h_html_a292844e136042a363d11b252a0975f62"><div class="ttname"><a href="big__384__58_8h.html#a292844e136042a363d11b252a0975f62">BIG_384_58_dcopy</a></div><div class="ttdeci">void BIG_384_58_dcopy(DBIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:251</div></div>
-<div class="ttc" id="big__384__58_8h_html_a69d23728641290b240082659c30dbc87"><div class="ttname"><a href="big__384__58_8h.html#a69d23728641290b240082659c30dbc87">BIG_384_58_parity</a></div><div class="ttdeci">int BIG_384_58_parity(BIG_384_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1225</div></div>
-<div class="ttc" id="big__384__58_8h_html_a58860dadc5f3b013124854a6f23e5f2c"><div class="ttname"><a href="big__384__58_8h.html#a58860dadc5f3b013124854a6f23e5f2c">BIG_384_58_dsub</a></div><div class="ttdeci">void BIG_384_58_dsub(DBIG_384_58 x, DBIG_384_58 y, DBIG_384_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:413</div></div>
-<div class="ttc" id="big__384__58_8h_html_a12f59a1451e98aa457b45a0c9898be97"><div class="ttname"><a href="big__384__58_8h.html#a12f59a1451e98aa457b45a0c9898be97">BIG_384_58_dnbits</a></div><div class="ttdeci">int BIG_384_58_dnbits(DBIG_384_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1060</div></div>
-<div class="ttc" id="big__384__58_8h_html_ad98144baa029fdb2d783325eaf9246e2"><div class="ttname"><a href="big__384__58_8h.html#ad98144baa029fdb2d783325eaf9246e2">BIG_384_58_pxmul</a></div><div class="ttdeci">void BIG_384_58_pxmul(DBIG_384_58 x, BIG_384_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_384_58.c:501</div></div>
-<div class="ttc" id="big__384__58_8h_html_a4aea3cbe70ffc3437689860cc0bf42a1"><div class="ttname"><a href="big__384__58_8h.html#a4aea3cbe70ffc3437689860cc0bf42a1">BIG_384_58_norm</a></div><div class="ttdeci">chunk BIG_384_58_norm(BIG_384_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:976</div></div>
-<div class="ttc" id="big__384__58_8h_html_af2d2989242c0d216a88b51967897e050"><div class="ttname"><a href="big__384__58_8h.html#af2d2989242c0d216a88b51967897e050">BIG_384_58_fromBytes</a></div><div class="ttdeci">void BIG_384_58_fromBytes(BIG_384_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:155</div></div>
-<div class="ttc" id="big__384__58_8h_html_a3f6f4393c14a8a46adafe62e7ccb8b69"><div class="ttname"><a href="big__384__58_8h.html#a3f6f4393c14a8a46adafe62e7ccb8b69">BIG_384_58_copy</a></div><div class="ttdeci">void BIG_384_58_copy(BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:227</div></div>
-<div class="ttc" id="big__384__58_8h_html_aab4faaab0b749ceca584142f2b737504"><div class="ttname"><a href="big__384__58_8h.html#aab4faaab0b749ceca584142f2b737504">BIG_384_58_dscopy</a></div><div class="ttdeci">void BIG_384_58_dscopy(DBIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:263</div></div>
-<div class="ttc" id="big__384__58_8h_html_a6fed12fb7988a0dd95e7fc46ceda3fb1"><div class="ttname"><a href="big__384__58_8h.html#a6fed12fb7988a0dd95e7fc46ceda3fb1">BIG_384_58_toBytes</a></div><div class="ttdeci">void BIG_384_58_toBytes(char *a, BIG_384_58 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:141</div></div>
+<div class="ttc" id="big__384__58_8h_html_a24ddff680ad72280b2c5f74039396944"><div class="ttname"><a href="big__384__58_8h.html#a24ddff680ad72280b2c5f74039396944">BIG_384_58_jacobi</a></div><div class="ttdeci">int BIG_384_58_jacobi(BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1354</div></div>
+<div class="ttc" id="big__384__58_8h_html_a7ee909810f49f97be05326902f460307"><div class="ttname"><a href="big__384__58_8h.html#a7ee909810f49f97be05326902f460307">BIG_384_58_pmul</a></div><div class="ttdeci">chunk BIG_384_58_pmul(BIG_384_58 x, BIG_384_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_384_58.c:465</div></div>
+<div class="ttc" id="big__384__58_8h_html_a8a56a1492a22aba9398327f4f4fd2c07"><div class="ttname"><a href="big__384__58_8h.html#a8a56a1492a22aba9398327f4f4fd2c07">BIG_384_58_sub</a></div><div class="ttdeci">void BIG_384_58_sub(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:397</div></div>
+<div class="ttc" id="big__384__58_8h_html_a5a1e7aea63e90f03b07eedc3185fb1d4"><div class="ttname"><a href="big__384__58_8h.html#a5a1e7aea63e90f03b07eedc3185fb1d4">BIG_384_58_invmodp</a></div><div class="ttdeci">void BIG_384_58_invmodp(BIG_384_58 x, BIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1476</div></div>
+<div class="ttc" id="big__384__58_8h_html_a378e1616fa22f2cb56a2fdab4956b2fa"><div class="ttname"><a href="big__384__58_8h.html#a378e1616fa22f2cb56a2fdab4956b2fa">BIG_384_58_monty</a></div><div class="ttdeci">void BIG_384_58_monty(BIG_384_58 a, BIG_384_58 md, chunk MC, DBIG_384_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_384_58.c:735</div></div>
+<div class="ttc" id="big__384__58_8h_html_a11a478af5d2913ab517aed2e9fa971d8"><div class="ttname"><a href="big__384__58_8h.html#a11a478af5d2913ab517aed2e9fa971d8">BIG_384_58_ssn</a></div><div class="ttdeci">int BIG_384_58_ssn(BIG_384_58 r, BIG_384_58 a, BIG_384_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_384_58.c:877</div></div>
+<div class="ttc" id="big__384__58_8h_html_add4e36049330cf8ccff38c5eddf27b9e"><div class="ttname"><a href="big__384__58_8h.html#add4e36049330cf8ccff38c5eddf27b9e">BIG_384_58_dmod</a></div><div class="ttdeci">void BIG_384_58_dmod(BIG_384_58 x, DBIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1113</div></div>
+<div class="ttc" id="big__384__58_8h_html_a9e111c13856057d0ede18c2a93384ac0"><div class="ttname"><a href="big__384__58_8h.html#a9e111c13856057d0ede18c2a93384ac0">BIG_384_58_dshl</a></div><div class="ttdeci">void BIG_384_58_dshl(DBIG_384_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_384_58.c:846</div></div>
+<div class="ttc" id="big__384__58_8h_html_ad77d2eb8d74fd8ac4850429740acf402"><div class="ttname"><a href="big__384__58_8h.html#ad77d2eb8d74fd8ac4850429740acf402">BIG_384_58_sdiv</a></div><div class="ttdeci">void BIG_384_58_sdiv(BIG_384_58 x, BIG_384_58 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1188</div></div>
+<div class="ttc" id="big__384__58_8h_html_a292844e136042a363d11b252a0975f62"><div class="ttname"><a href="big__384__58_8h.html#a292844e136042a363d11b252a0975f62">BIG_384_58_dcopy</a></div><div class="ttdeci">void BIG_384_58_dcopy(DBIG_384_58 x, DBIG_384_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:251</div></div>
+<div class="ttc" id="big__384__58_8h_html_a69d23728641290b240082659c30dbc87"><div class="ttname"><a href="big__384__58_8h.html#a69d23728641290b240082659c30dbc87">BIG_384_58_parity</a></div><div class="ttdeci">int BIG_384_58_parity(BIG_384_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1225</div></div>
+<div class="ttc" id="big__384__58_8h_html_a58860dadc5f3b013124854a6f23e5f2c"><div class="ttname"><a href="big__384__58_8h.html#a58860dadc5f3b013124854a6f23e5f2c">BIG_384_58_dsub</a></div><div class="ttdeci">void BIG_384_58_dsub(DBIG_384_58 x, DBIG_384_58 y, DBIG_384_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:413</div></div>
+<div class="ttc" id="big__384__58_8h_html_a12f59a1451e98aa457b45a0c9898be97"><div class="ttname"><a href="big__384__58_8h.html#a12f59a1451e98aa457b45a0c9898be97">BIG_384_58_dnbits</a></div><div class="ttdeci">int BIG_384_58_dnbits(DBIG_384_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1060</div></div>
+<div class="ttc" id="big__384__58_8h_html_ad98144baa029fdb2d783325eaf9246e2"><div class="ttname"><a href="big__384__58_8h.html#ad98144baa029fdb2d783325eaf9246e2">BIG_384_58_pxmul</a></div><div class="ttdeci">void BIG_384_58_pxmul(DBIG_384_58 x, BIG_384_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_384_58.c:501</div></div>
+<div class="ttc" id="big__384__58_8h_html_a4aea3cbe70ffc3437689860cc0bf42a1"><div class="ttname"><a href="big__384__58_8h.html#a4aea3cbe70ffc3437689860cc0bf42a1">BIG_384_58_norm</a></div><div class="ttdeci">chunk BIG_384_58_norm(BIG_384_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:976</div></div>
+<div class="ttc" id="big__384__58_8h_html_af2d2989242c0d216a88b51967897e050"><div class="ttname"><a href="big__384__58_8h.html#af2d2989242c0d216a88b51967897e050">BIG_384_58_fromBytes</a></div><div class="ttdeci">void BIG_384_58_fromBytes(BIG_384_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:155</div></div>
+<div class="ttc" id="big__384__58_8h_html_a3f6f4393c14a8a46adafe62e7ccb8b69"><div class="ttname"><a href="big__384__58_8h.html#a3f6f4393c14a8a46adafe62e7ccb8b69">BIG_384_58_copy</a></div><div class="ttdeci">void BIG_384_58_copy(BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:227</div></div>
+<div class="ttc" id="big__384__58_8h_html_aab4faaab0b749ceca584142f2b737504"><div class="ttname"><a href="big__384__58_8h.html#aab4faaab0b749ceca584142f2b737504">BIG_384_58_dscopy</a></div><div class="ttdeci">void BIG_384_58_dscopy(DBIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:263</div></div>
+<div class="ttc" id="big__384__58_8h_html_a6fed12fb7988a0dd95e7fc46ceda3fb1"><div class="ttname"><a href="big__384__58_8h.html#a6fed12fb7988a0dd95e7fc46ceda3fb1">BIG_384_58_toBytes</a></div><div class="ttdeci">void BIG_384_58_toBytes(char *a, BIG_384_58 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:141</div></div>
 <div class="ttc" id="big__384__58_8h_html_a8a96d1a995cdf624142dbc7661dc61c8"><div class="ttname"><a href="big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">BMASK_384_58</a></div><div class="ttdeci">#define BMASK_384_58</div><div class="ttdef"><b>Definition:</b> big_384_58.h:42</div></div>
-<div class="ttc" id="big__384__58_8h_html_a6fb80dc9b4342ab0ed2cafa40c2f9c48"><div class="ttname"><a href="big__384__58_8h.html#a6fb80dc9b4342ab0ed2cafa40c2f9c48">BIG_384_58_dmod2m</a></div><div class="ttdeci">void BIG_384_58_dmod2m(DBIG_384_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1470</div></div>
-<div class="ttc" id="big__384__58_8h_html_a95b36449d7c9b454aa7078ee3d315440"><div class="ttname"><a href="big__384__58_8h.html#a95b36449d7c9b454aa7078ee3d315440">BIG_384_58_isunity</a></div><div class="ttdeci">int BIG_384_58_isunity(BIG_384_58 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:35</div></div>
-<div class="ttc" id="big__384__58_8h_html_a24095a62da55894721f08bb532f345e0"><div class="ttname"><a href="big__384__58_8h.html#a24095a62da55894721f08bb532f345e0">BIG_384_58_dcmove</a></div><div class="ttdeci">void BIG_384_58_dcmove(BIG_384_58 x, BIG_384_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
+<div class="ttc" id="big__384__58_8h_html_a6fb80dc9b4342ab0ed2cafa40c2f9c48"><div class="ttname"><a href="big__384__58_8h.html#a6fb80dc9b4342ab0ed2cafa40c2f9c48">BIG_384_58_dmod2m</a></div><div class="ttdeci">void BIG_384_58_dmod2m(DBIG_384_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1554</div></div>
+<div class="ttc" id="big__384__58_8h_html_a95b36449d7c9b454aa7078ee3d315440"><div class="ttname"><a href="big__384__58_8h.html#a95b36449d7c9b454aa7078ee3d315440">BIG_384_58_isunity</a></div><div class="ttdeci">int BIG_384_58_isunity(BIG_384_58 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:35</div></div>
+<div class="ttc" id="big__384__58_8h_html_a24095a62da55894721f08bb532f345e0"><div class="ttname"><a href="big__384__58_8h.html#a24095a62da55894721f08bb532f345e0">BIG_384_58_dcmove</a></div><div class="ttdeci">void BIG_384_58_dcmove(BIG_384_58 x, BIG_384_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
 <div class="ttc" id="big__384__58_8h_html_a5f9d30e39044ce32968dfb9befa4cc92"><div class="ttname"><a href="big__384__58_8h.html#a5f9d30e39044ce32968dfb9befa4cc92">BIG_384_58_fshr</a></div><div class="ttdeci">int BIG_384_58_fshr(BIG_384_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_384_58.c:906</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__384__58_8h_html_a630f7cf05c1bd2fa4885e1751502177a"><div class="ttname"><a href="big__384__58_8h.html#a630f7cf05c1bd2fa4885e1751502177a">BIG_384_58_doutput</a></div><div class="ttdeci">void BIG_384_58_doutput(DBIG_384_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:190</div></div>
-<div class="ttc" id="big__384__58_8h_html_a43a58dff669431b77cb732a7264f3e73"><div class="ttname"><a href="big__384__58_8h.html#a43a58dff669431b77cb732a7264f3e73">BIG_384_58_fromBytesLen</a></div><div class="ttdeci">void BIG_384_58_fromBytesLen(BIG_384_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_384_58.c:170</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__384__58_8h_html_a630f7cf05c1bd2fa4885e1751502177a"><div class="ttname"><a href="big__384__58_8h.html#a630f7cf05c1bd2fa4885e1751502177a">BIG_384_58_doutput</a></div><div class="ttdeci">void BIG_384_58_doutput(DBIG_384_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:190</div></div>
+<div class="ttc" id="big__384__58_8h_html_a43a58dff669431b77cb732a7264f3e73"><div class="ttname"><a href="big__384__58_8h.html#a43a58dff669431b77cb732a7264f3e73">BIG_384_58_fromBytesLen</a></div><div class="ttdeci">void BIG_384_58_fromBytesLen(BIG_384_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_384_58.c:170</div></div>
 <div class="ttc" id="big__384__58_8h_html_a442aeb9af2b58dcd6894cb61a3a9bd51"><div class="ttname"><a href="big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">HMASK_384_58</a></div><div class="ttdeci">#define HMASK_384_58</div><div class="ttdef"><b>Definition:</b> big_384_58.h:46</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__384__58_8h_html_a6af5e5780b8fdd16090f1c39ef59d472"><div class="ttname"><a href="big__384__58_8h.html#a6af5e5780b8fdd16090f1c39ef59d472">BIG_384_58_output</a></div><div class="ttdeci">void BIG_384_58_output(BIG_384_58 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:55</div></div>
-<div class="ttc" id="big__384__58_8h_html_a09730e6a4ebd020f3343ce6d9d92bcb0"><div class="ttname"><a href="big__384__58_8h.html#a09730e6a4ebd020f3343ce6d9d92bcb0">BIG_384_58_modsqr</a></div><div class="ttdeci">void BIG_384_58_modsqr(BIG_384_58 x, BIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1315</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__384__58_8h_html_a6af5e5780b8fdd16090f1c39ef59d472"><div class="ttname"><a href="big__384__58_8h.html#a6af5e5780b8fdd16090f1c39ef59d472">BIG_384_58_output</a></div><div class="ttdeci">void BIG_384_58_output(BIG_384_58 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:55</div></div>
+<div class="ttc" id="big__384__58_8h_html_a09730e6a4ebd020f3343ce6d9d92bcb0"><div class="ttname"><a href="big__384__58_8h.html#a09730e6a4ebd020f3343ce6d9d92bcb0">BIG_384_58_modsqr</a></div><div class="ttdeci">void BIG_384_58_modsqr(BIG_384_58 x, BIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1315</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__384__58_8h_html_ab5ab83546289412fe928c96aa65e73b1"><div class="ttname"><a href="big__384__58_8h.html#ab5ab83546289412fe928c96aa65e73b1">BIG_384_58_inc</a></div><div class="ttdeci">void BIG_384_58_inc(BIG_384_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_384_58.c:386</div></div>
-<div class="ttc" id="big__384__58_8h_html_a99e8598fcacae65ca34af9b96e91b359"><div class="ttname"><a href="big__384__58_8h.html#a99e8598fcacae65ca34af9b96e91b359">BIG_384_58_moddiv</a></div><div class="ttdeci">void BIG_384_58_moddiv(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z, BIG_384_58 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1337</div></div>
-<div class="ttc" id="big__384__58_8h_html_ad1f52b936238a122991c3ecd17c5f03e"><div class="ttname"><a href="big__384__58_8h.html#ad1f52b936238a122991c3ecd17c5f03e">BIG_384_58_mod</a></div><div class="ttdeci">void BIG_384_58_mod(BIG_384_58 x, BIG_384_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1082</div></div>
-<div class="ttc" id="big__384__58_8h_html_aba4272e639d67a38c6dfb3ad1af21220"><div class="ttname"><a href="big__384__58_8h.html#aba4272e639d67a38c6dfb3ad1af21220">BIG_384_58_comp</a></div><div class="ttdeci">int BIG_384_58_comp(BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1014</div></div>
-<div class="ttc" id="big__384__58_8h_html_a47173fb66dd59791d52de7ce3e028489"><div class="ttname"><a href="big__384__58_8h.html#a47173fb66dd59791d52de7ce3e028489">BIG_384_58_cswap</a></div><div class="ttdeci">void BIG_384_58_cswap(BIG_384_58 x, BIG_384_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:92</div></div>
+<div class="ttc" id="big__384__58_8h_html_ab5ab83546289412fe928c96aa65e73b1"><div class="ttname"><a href="big__384__58_8h.html#ab5ab83546289412fe928c96aa65e73b1">BIG_384_58_inc</a></div><div class="ttdeci">void BIG_384_58_inc(BIG_384_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_384_58.c:386</div></div>
+<div class="ttc" id="big__384__58_8h_html_a99e8598fcacae65ca34af9b96e91b359"><div class="ttname"><a href="big__384__58_8h.html#a99e8598fcacae65ca34af9b96e91b359">BIG_384_58_moddiv</a></div><div class="ttdeci">void BIG_384_58_moddiv(BIG_384_58 x, BIG_384_58 y, BIG_384_58 z, BIG_384_58 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1337</div></div>
+<div class="ttc" id="big__384__58_8h_html_ad1f52b936238a122991c3ecd17c5f03e"><div class="ttname"><a href="big__384__58_8h.html#ad1f52b936238a122991c3ecd17c5f03e">BIG_384_58_mod</a></div><div class="ttdeci">void BIG_384_58_mod(BIG_384_58 x, BIG_384_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1082</div></div>
+<div class="ttc" id="big__384__58_8h_html_aba4272e639d67a38c6dfb3ad1af21220"><div class="ttname"><a href="big__384__58_8h.html#aba4272e639d67a38c6dfb3ad1af21220">BIG_384_58_comp</a></div><div class="ttdeci">int BIG_384_58_comp(BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1014</div></div>
+<div class="ttc" id="big__384__58_8h_html_a47173fb66dd59791d52de7ce3e028489"><div class="ttname"><a href="big__384__58_8h.html#a47173fb66dd59791d52de7ce3e028489">BIG_384_58_cswap</a></div><div class="ttdeci">void BIG_384_58_cswap(BIG_384_58 x, BIG_384_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:92</div></div>
 <div class="ttc" id="big__384__58_8h_html_a82c59c9baadb3c5d881618296c935630"><div class="ttname"><a href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">NLEN_384_58</a></div><div class="ttdeci">#define NLEN_384_58</div><div class="ttdef"><b>Definition:</b> big_384_58.h:40</div></div>
-<div class="ttc" id="big__384__58_8h_html_ae108f47f92152fdd03c4b91f11f7e3c5"><div class="ttname"><a href="big__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5">BIG_384_58_invmod2m</a></div><div class="ttdeci">void BIG_384_58_invmod2m(BIG_384_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__384__58_8h_html_ae3e2a53632c35ab3d7c8dc196050084d"><div class="ttname"><a href="big__384__58_8h.html#ae3e2a53632c35ab3d7c8dc196050084d">BIG_384_58_modneg</a></div><div class="ttdeci">void BIG_384_58_modneg(BIG_384_58 x, BIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_384_58.c:1327</div></div>
+<div class="ttc" id="big__384__58_8h_html_ae108f47f92152fdd03c4b91f11f7e3c5"><div class="ttname"><a href="big__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5">BIG_384_58_invmod2m</a></div><div class="ttdeci">void BIG_384_58_invmod2m(BIG_384_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1432</div></div>
+<div class="ttc" id="big__384__58_8h_html_ae3e2a53632c35ab3d7c8dc196050084d"><div class="ttname"><a href="big__384__58_8h.html#ae3e2a53632c35ab3d7c8dc196050084d">BIG_384_58_modneg</a></div><div class="ttdeci">void BIG_384_58_modneg(BIG_384_58 x, BIG_384_58 y, BIG_384_58 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_384_58.c:1327</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab914db55caa046b50795e836a4a052ea"><div class="ttname"><a href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a></div><div class="ttdeci">chunk DBIG_384_58[DNLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:59</div></div>
-<div class="ttc" id="big__384__58_8h_html_a5aec53c42724703820d1d67b93c0ae55"><div class="ttname"><a href="big__384__58_8h.html#a5aec53c42724703820d1d67b93c0ae55">BIG_384_58_sqr</a></div><div class="ttdeci">void BIG_384_58_sqr(DBIG_384_58 x, BIG_384_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_384_58.c:618</div></div>
+<div class="ttc" id="big__384__58_8h_html_a5aec53c42724703820d1d67b93c0ae55"><div class="ttname"><a href="big__384__58_8h.html#a5aec53c42724703820d1d67b93c0ae55">BIG_384_58_sqr</a></div><div class="ttdeci">void BIG_384_58_sqr(DBIG_384_58 x, BIG_384_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_384_58.c:618</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__416__29_8h.html b/website/static/cdocs/big__416__29_8h.html
deleted file mode 100644
index 0e0c5a0..0000000
--- a/website/static/cdocs/big__416__29_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_416_29.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_416_29.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__416__29_8h_source.html">config_big_416_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__416__29_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:aa20947ce69e7c08ec647e7bfae4640ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aa20947ce69e7c08ec647e7bfae4640ba">BIGBITS_416_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">MODBYTES_416_29</a>)</td></tr>
-<tr class="separator:aa20947ce69e7c08ec647e7bfae4640ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abb7a6001a4ec0aebc5115578e1d06b5a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">MODBYTES_416_29</a>-1)/<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>))</td></tr>
-<tr class="separator:abb7a6001a4ec0aebc5115578e1d06b5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aadd2ee7522b82b71e9ee85d8cdc7c6da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">DNLEN_416_29</a>&#160;&#160;&#160;2*<a class="el" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a></td></tr>
-<tr class="separator:aadd2ee7522b82b71e9ee85d8cdc7c6da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab20c7e47edf7020f72aa4e2391c62248"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248">BMASK_416_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>)-1)</td></tr>
-<tr class="separator:ab20c7e47edf7020f72aa4e2391c62248"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0da12b741692af75253ccfe8992b197e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a0da12b741692af75253ccfe8992b197e">NEXCESS_416_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>-1))</td></tr>
-<tr class="separator:a0da12b741692af75253ccfe8992b197e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab96162363a8fbed4497bafd600895ea6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>/2)</td></tr>
-<tr class="separator:ab96162363a8fbed4497bafd600895ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa55744f8804c0a03dcb386997e08076d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">HMASK_416_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</a>)-1)</td></tr>
-<tr class="separator:aa55744f8804c0a03dcb386997e08076d"><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:a43215c263089f63fa98abfa64ed93b62"><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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a>[<a class="el" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a>]</td></tr>
-<tr class="separator:a43215c263089f63fa98abfa64ed93b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a43fef2562a328eff51d535c40f5e83b0"><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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a>[<a class="el" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">DNLEN_416_29</a>]</td></tr>
-<tr class="separator:a43fef2562a328eff51d535c40f5e83b0"><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:a5f21d81728b9d4fd660568eba71d3aa2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a5f21d81728b9d4fd660568eba71d3aa2">BIG_416_29_iszilch</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a5f21d81728b9d4fd660568eba71d3aa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a5f21d81728b9d4fd660568eba71d3aa2">More...</a><br /></td></tr>
-<tr class="separator:a5f21d81728b9d4fd660568eba71d3aa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aba62b6820581d7e01189c197e4ccb2e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aba62b6820581d7e01189c197e4ccb2e0">BIG_416_29_isunity</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:aba62b6820581d7e01189c197e4ccb2e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#aba62b6820581d7e01189c197e4ccb2e0">More...</a><br /></td></tr>
-<tr class="separator:aba62b6820581d7e01189c197e4ccb2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8fedbfa4e31b49e69728faa2a6f91565"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a8fedbfa4e31b49e69728faa2a6f91565">BIG_416_29_diszilch</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a8fedbfa4e31b49e69728faa2a6f91565"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a8fedbfa4e31b49e69728faa2a6f91565">More...</a><br /></td></tr>
-<tr class="separator:a8fedbfa4e31b49e69728faa2a6f91565"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2224807ec96be55f42f009ab092a480e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a2224807ec96be55f42f009ab092a480e">BIG_416_29_output</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a2224807ec96be55f42f009ab092a480e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#a2224807ec96be55f42f009ab092a480e">More...</a><br /></td></tr>
-<tr class="separator:a2224807ec96be55f42f009ab092a480e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c3e625f14d5c519876b3d8f0f1a6158"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a4c3e625f14d5c519876b3d8f0f1a6158">BIG_416_29_rawoutput</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a4c3e625f14d5c519876b3d8f0f1a6158"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a4c3e625f14d5c519876b3d8f0f1a6158">More...</a><br /></td></tr>
-<tr class="separator:a4c3e625f14d5c519876b3d8f0f1a6158"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a77676579ad9e12c35e891cd1b3ad7bab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a77676579ad9e12c35e891cd1b3ad7bab">BIG_416_29_cswap</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, int s)</td></tr>
-<tr class="memdesc:a77676579ad9e12c35e891cd1b3ad7bab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a77676579ad9e12c35e891cd1b3ad7bab">More...</a><br /></td></tr>
-<tr class="separator:a77676579ad9e12c35e891cd1b3ad7bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a98dca944b9b0d6b06b788195adb94b56"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a98dca944b9b0d6b06b788195adb94b56">BIG_416_29_cmove</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, int s)</td></tr>
-<tr class="memdesc:a98dca944b9b0d6b06b788195adb94b56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a98dca944b9b0d6b06b788195adb94b56">More...</a><br /></td></tr>
-<tr class="separator:a98dca944b9b0d6b06b788195adb94b56"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa0522b5de35f639c86be4120fe7092dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aa0522b5de35f639c86be4120fe7092dc">BIG_416_29_dcmove</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, int s)</td></tr>
-<tr class="memdesc:aa0522b5de35f639c86be4120fe7092dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#aa0522b5de35f639c86be4120fe7092dc">More...</a><br /></td></tr>
-<tr class="separator:aa0522b5de35f639c86be4120fe7092dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afef53d763389177bdf29e1eafef7ce69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#afef53d763389177bdf29e1eafef7ce69">BIG_416_29_toBytes</a> (char *a, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:afef53d763389177bdf29e1eafef7ce69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#afef53d763389177bdf29e1eafef7ce69">More...</a><br /></td></tr>
-<tr class="separator:afef53d763389177bdf29e1eafef7ce69"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8164d17175332f303f47a1c38bd941d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a8164d17175332f303f47a1c38bd941d7">BIG_416_29_fromBytes</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, char *a)</td></tr>
-<tr class="memdesc:a8164d17175332f303f47a1c38bd941d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a8164d17175332f303f47a1c38bd941d7">More...</a><br /></td></tr>
-<tr class="separator:a8164d17175332f303f47a1c38bd941d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae2001c7fb8b395dc564ccf22bfeb4071"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ae2001c7fb8b395dc564ccf22bfeb4071">BIG_416_29_fromBytesLen</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:ae2001c7fb8b395dc564ccf22bfeb4071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#ae2001c7fb8b395dc564ccf22bfeb4071">More...</a><br /></td></tr>
-<tr class="separator:ae2001c7fb8b395dc564ccf22bfeb4071"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a07bf5beb7e8e387c5bab1560e4e2d6e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a07bf5beb7e8e387c5bab1560e4e2d6e0">BIG_416_29_dfromBytesLen</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a07bf5beb7e8e387c5bab1560e4e2d6e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a07bf5beb7e8e387c5bab1560e4e2d6e0">More...</a><br /></td></tr>
-<tr class="separator:a07bf5beb7e8e387c5bab1560e4e2d6e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2c2a3e48ab57f28f556798c36cb8dc5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a2c2a3e48ab57f28f556798c36cb8dc5e">BIG_416_29_doutput</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a2c2a3e48ab57f28f556798c36cb8dc5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a2c2a3e48ab57f28f556798c36cb8dc5e">More...</a><br /></td></tr>
-<tr class="separator:a2c2a3e48ab57f28f556798c36cb8dc5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2558ed1d1e691f6dbab20a7a2f46af8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a2558ed1d1e691f6dbab20a7a2f46af8b">BIG_416_29_drawoutput</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a2558ed1d1e691f6dbab20a7a2f46af8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a2558ed1d1e691f6dbab20a7a2f46af8b">More...</a><br /></td></tr>
-<tr class="separator:a2558ed1d1e691f6dbab20a7a2f46af8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab573c7bfe0bc79f45fa4b197ee8971d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aab573c7bfe0bc79f45fa4b197ee8971d">BIG_416_29_rcopy</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, const <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y)</td></tr>
-<tr class="memdesc:aab573c7bfe0bc79f45fa4b197ee8971d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#aab573c7bfe0bc79f45fa4b197ee8971d">More...</a><br /></td></tr>
-<tr class="separator:aab573c7bfe0bc79f45fa4b197ee8971d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af86e1bac4d01fc13e8a00105fc6f711c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#af86e1bac4d01fc13e8a00105fc6f711c">BIG_416_29_copy</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y)</td></tr>
-<tr class="memdesc:af86e1bac4d01fc13e8a00105fc6f711c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#af86e1bac4d01fc13e8a00105fc6f711c">More...</a><br /></td></tr>
-<tr class="separator:af86e1bac4d01fc13e8a00105fc6f711c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a50a77138c16b74b6d3bcbe250a43bb8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a50a77138c16b74b6d3bcbe250a43bb8c">BIG_416_29_dcopy</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y)</td></tr>
-<tr class="memdesc:a50a77138c16b74b6d3bcbe250a43bb8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a50a77138c16b74b6d3bcbe250a43bb8c">More...</a><br /></td></tr>
-<tr class="separator:a50a77138c16b74b6d3bcbe250a43bb8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abeea8d5acc80d509028e53a98d8a6d51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#abeea8d5acc80d509028e53a98d8a6d51">BIG_416_29_dsucopy</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y)</td></tr>
-<tr class="memdesc:abeea8d5acc80d509028e53a98d8a6d51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#abeea8d5acc80d509028e53a98d8a6d51">More...</a><br /></td></tr>
-<tr class="separator:abeea8d5acc80d509028e53a98d8a6d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae3c2caa8dc99b4c6df19d781f0d48e3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ae3c2caa8dc99b4c6df19d781f0d48e3f">BIG_416_29_dscopy</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y)</td></tr>
-<tr class="memdesc:ae3c2caa8dc99b4c6df19d781f0d48e3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#ae3c2caa8dc99b4c6df19d781f0d48e3f">More...</a><br /></td></tr>
-<tr class="separator:ae3c2caa8dc99b4c6df19d781f0d48e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9af71f1d5e1005c228278cb95cd2c3e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a9af71f1d5e1005c228278cb95cd2c3e1">BIG_416_29_sdcopy</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y)</td></tr>
-<tr class="memdesc:a9af71f1d5e1005c228278cb95cd2c3e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a9af71f1d5e1005c228278cb95cd2c3e1">More...</a><br /></td></tr>
-<tr class="separator:a9af71f1d5e1005c228278cb95cd2c3e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a615066df2a33ddc16c1f2a904b5e86e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a615066df2a33ddc16c1f2a904b5e86e6">BIG_416_29_sducopy</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y)</td></tr>
-<tr class="memdesc:a615066df2a33ddc16c1f2a904b5e86e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a615066df2a33ddc16c1f2a904b5e86e6">More...</a><br /></td></tr>
-<tr class="separator:a615066df2a33ddc16c1f2a904b5e86e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18a194e4b947f6fb331e61e9582bf472"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a18a194e4b947f6fb331e61e9582bf472">BIG_416_29_zero</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a18a194e4b947f6fb331e61e9582bf472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a18a194e4b947f6fb331e61e9582bf472">More...</a><br /></td></tr>
-<tr class="separator:a18a194e4b947f6fb331e61e9582bf472"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa57becef0fa7d70d3049f7f4641748da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aa57becef0fa7d70d3049f7f4641748da">BIG_416_29_dzero</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x)</td></tr>
-<tr class="memdesc:aa57becef0fa7d70d3049f7f4641748da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#aa57becef0fa7d70d3049f7f4641748da">More...</a><br /></td></tr>
-<tr class="separator:aa57becef0fa7d70d3049f7f4641748da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0c9bb0b78533bd9738759301e40e5f9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a0c9bb0b78533bd9738759301e40e5f9a">BIG_416_29_one</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a0c9bb0b78533bd9738759301e40e5f9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#a0c9bb0b78533bd9738759301e40e5f9a">More...</a><br /></td></tr>
-<tr class="separator:a0c9bb0b78533bd9738759301e40e5f9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac0dc297a355c4edaa71d33041c248056"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ac0dc297a355c4edaa71d33041c248056">BIG_416_29_invmod2m</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:ac0dc297a355c4edaa71d33041c248056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#ac0dc297a355c4edaa71d33041c248056">More...</a><br /></td></tr>
-<tr class="separator:ac0dc297a355c4edaa71d33041c248056"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaaecab31c86f7c91178702073c428a56"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aaaecab31c86f7c91178702073c428a56">BIG_416_29_add</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z)</td></tr>
-<tr class="memdesc:aaaecab31c86f7c91178702073c428a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#aaaecab31c86f7c91178702073c428a56">More...</a><br /></td></tr>
-<tr class="separator:aaaecab31c86f7c91178702073c428a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d68fc022e6b069927dc11795e4aab3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a6d68fc022e6b069927dc11795e4aab3b">BIG_416_29_or</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z)</td></tr>
-<tr class="memdesc:a6d68fc022e6b069927dc11795e4aab3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#a6d68fc022e6b069927dc11795e4aab3b">More...</a><br /></td></tr>
-<tr class="separator:a6d68fc022e6b069927dc11795e4aab3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3234bf49b27ea7202e87511577ab2c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#af3234bf49b27ea7202e87511577ab2c7">BIG_416_29_inc</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int i)</td></tr>
-<tr class="memdesc:af3234bf49b27ea7202e87511577ab2c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#af3234bf49b27ea7202e87511577ab2c7">More...</a><br /></td></tr>
-<tr class="separator:af3234bf49b27ea7202e87511577ab2c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acad58ac85a661817c26d45b784e56c10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#acad58ac85a661817c26d45b784e56c10">BIG_416_29_sub</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z)</td></tr>
-<tr class="memdesc:acad58ac85a661817c26d45b784e56c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#acad58ac85a661817c26d45b784e56c10">More...</a><br /></td></tr>
-<tr class="separator:acad58ac85a661817c26d45b784e56c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f0ea72a41d913ad587cba929f93750e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a6f0ea72a41d913ad587cba929f93750e">BIG_416_29_dec</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int i)</td></tr>
-<tr class="memdesc:a6f0ea72a41d913ad587cba929f93750e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a6f0ea72a41d913ad587cba929f93750e">More...</a><br /></td></tr>
-<tr class="separator:a6f0ea72a41d913ad587cba929f93750e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a142b562a4d92f1f28f333bbe389b53f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a142b562a4d92f1f28f333bbe389b53f3">BIG_416_29_dadd</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> z)</td></tr>
-<tr class="memdesc:a142b562a4d92f1f28f333bbe389b53f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#a142b562a4d92f1f28f333bbe389b53f3">More...</a><br /></td></tr>
-<tr class="separator:a142b562a4d92f1f28f333bbe389b53f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a48f1216d6ecbebb0d5bcc14eb94bf922"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a48f1216d6ecbebb0d5bcc14eb94bf922">BIG_416_29_dsub</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> z)</td></tr>
-<tr class="memdesc:a48f1216d6ecbebb0d5bcc14eb94bf922"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a48f1216d6ecbebb0d5bcc14eb94bf922">More...</a><br /></td></tr>
-<tr class="separator:a48f1216d6ecbebb0d5bcc14eb94bf922"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18802fcca173f5402edd2aa2d88066c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a18802fcca173f5402edd2aa2d88066c3">BIG_416_29_imul</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, int i)</td></tr>
-<tr class="memdesc:a18802fcca173f5402edd2aa2d88066c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a18802fcca173f5402edd2aa2d88066c3">More...</a><br /></td></tr>
-<tr class="separator:a18802fcca173f5402edd2aa2d88066c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae5841499ea880e9977d32a1799f7f475"><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__416__29_8h.html#ae5841499ea880e9977d32a1799f7f475">BIG_416_29_pmul</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, int i)</td></tr>
-<tr class="memdesc:ae5841499ea880e9977d32a1799f7f475"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#ae5841499ea880e9977d32a1799f7f475">More...</a><br /></td></tr>
-<tr class="separator:ae5841499ea880e9977d32a1799f7f475"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afd78a40a3ced9250c93566ad2da629da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#afd78a40a3ced9250c93566ad2da629da">BIG_416_29_div3</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:afd78a40a3ced9250c93566ad2da629da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#afd78a40a3ced9250c93566ad2da629da">More...</a><br /></td></tr>
-<tr class="separator:afd78a40a3ced9250c93566ad2da629da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adf110cc273b34fe5126cf6665342e206"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#adf110cc273b34fe5126cf6665342e206">BIG_416_29_pxmul</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, int i)</td></tr>
-<tr class="memdesc:adf110cc273b34fe5126cf6665342e206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#adf110cc273b34fe5126cf6665342e206">More...</a><br /></td></tr>
-<tr class="separator:adf110cc273b34fe5126cf6665342e206"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb81f17df70c4e35eec8aee20b098065"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#adb81f17df70c4e35eec8aee20b098065">BIG_416_29_mul</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z)</td></tr>
-<tr class="memdesc:adb81f17df70c4e35eec8aee20b098065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#adb81f17df70c4e35eec8aee20b098065">More...</a><br /></td></tr>
-<tr class="separator:adb81f17df70c4e35eec8aee20b098065"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9df539ba2f02afd73c10acdfc4364a03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a9df539ba2f02afd73c10acdfc4364a03">BIG_416_29_smul</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z)</td></tr>
-<tr class="memdesc:a9df539ba2f02afd73c10acdfc4364a03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#a9df539ba2f02afd73c10acdfc4364a03">More...</a><br /></td></tr>
-<tr class="separator:a9df539ba2f02afd73c10acdfc4364a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb89f95d8e956d0c3894fa0e9e4c7023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#adb89f95d8e956d0c3894fa0e9e4c7023">BIG_416_29_sqr</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y)</td></tr>
-<tr class="memdesc:adb89f95d8e956d0c3894fa0e9e4c7023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#adb89f95d8e956d0c3894fa0e9e4c7023">More...</a><br /></td></tr>
-<tr class="separator:adb89f95d8e956d0c3894fa0e9e4c7023"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ae79b99e9ee26d60c28aa3127daa041"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a7ae79b99e9ee26d60c28aa3127daa041">BIG_416_29_monty</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> a, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> d)</td></tr>
-<tr class="memdesc:a7ae79b99e9ee26d60c28aa3127daa041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#a7ae79b99e9ee26d60c28aa3127daa041">More...</a><br /></td></tr>
-<tr class="separator:a7ae79b99e9ee26d60c28aa3127daa041"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9a7f77ea084fb68385803d7ddaeed2fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a9a7f77ea084fb68385803d7ddaeed2fe">BIG_416_29_shl</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int s)</td></tr>
-<tr class="memdesc:a9a7f77ea084fb68385803d7ddaeed2fe"><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="#a9a7f77ea084fb68385803d7ddaeed2fe">More...</a><br /></td></tr>
-<tr class="separator:a9a7f77ea084fb68385803d7ddaeed2fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f57608fc0566752282ea8a25294abc9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a6f57608fc0566752282ea8a25294abc9">BIG_416_29_fshl</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int s)</td></tr>
-<tr class="memdesc:a6f57608fc0566752282ea8a25294abc9"><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="#a6f57608fc0566752282ea8a25294abc9">More...</a><br /></td></tr>
-<tr class="separator:a6f57608fc0566752282ea8a25294abc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab64483dea5dba8a8593b2f0f10aeb486"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ab64483dea5dba8a8593b2f0f10aeb486">BIG_416_29_dshl</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, int s)</td></tr>
-<tr class="memdesc:ab64483dea5dba8a8593b2f0f10aeb486"><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="#ab64483dea5dba8a8593b2f0f10aeb486">More...</a><br /></td></tr>
-<tr class="separator:ab64483dea5dba8a8593b2f0f10aeb486"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6dd5a3f74265f7ba5947ebccc5a90042"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a6dd5a3f74265f7ba5947ebccc5a90042">BIG_416_29_shr</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int s)</td></tr>
-<tr class="memdesc:a6dd5a3f74265f7ba5947ebccc5a90042"><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="#a6dd5a3f74265f7ba5947ebccc5a90042">More...</a><br /></td></tr>
-<tr class="separator:a6dd5a3f74265f7ba5947ebccc5a90042"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9faf6d033461ddbfa26d1a7d1710a0af"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a9faf6d033461ddbfa26d1a7d1710a0af">BIG_416_29_ssn</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> r, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> a, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> m)</td></tr>
-<tr class="memdesc:a9faf6d033461ddbfa26d1a7d1710a0af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a9faf6d033461ddbfa26d1a7d1710a0af">More...</a><br /></td></tr>
-<tr class="separator:a9faf6d033461ddbfa26d1a7d1710a0af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a22880937261d7f334522dca3e339deb0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a22880937261d7f334522dca3e339deb0">BIG_416_29_fshr</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int s)</td></tr>
-<tr class="memdesc:a22880937261d7f334522dca3e339deb0"><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="#a22880937261d7f334522dca3e339deb0">More...</a><br /></td></tr>
-<tr class="separator:a22880937261d7f334522dca3e339deb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acdafbd0d229c7730d380f929383a2200"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#acdafbd0d229c7730d380f929383a2200">BIG_416_29_dshr</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, int s)</td></tr>
-<tr class="memdesc:acdafbd0d229c7730d380f929383a2200"><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="#acdafbd0d229c7730d380f929383a2200">More...</a><br /></td></tr>
-<tr class="separator:acdafbd0d229c7730d380f929383a2200"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a374674ab8939e7c1fd154cb51ff80e78"><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__416__29_8h.html#a374674ab8939e7c1fd154cb51ff80e78">BIG_416_29_split</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> z, int s)</td></tr>
-<tr class="memdesc:a374674ab8939e7c1fd154cb51ff80e78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a374674ab8939e7c1fd154cb51ff80e78">More...</a><br /></td></tr>
-<tr class="separator:a374674ab8939e7c1fd154cb51ff80e78"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a661d1791cd3385de1001a0bbbdd06941"><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__416__29_8h.html#a661d1791cd3385de1001a0bbbdd06941">BIG_416_29_norm</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a661d1791cd3385de1001a0bbbdd06941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#a661d1791cd3385de1001a0bbbdd06941">More...</a><br /></td></tr>
-<tr class="separator:a661d1791cd3385de1001a0bbbdd06941"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af57fd6676ad99e00f98234b5a0e69ad8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#af57fd6676ad99e00f98234b5a0e69ad8">BIG_416_29_dnorm</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x)</td></tr>
-<tr class="memdesc:af57fd6676ad99e00f98234b5a0e69ad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#af57fd6676ad99e00f98234b5a0e69ad8">More...</a><br /></td></tr>
-<tr class="separator:af57fd6676ad99e00f98234b5a0e69ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2aa857e0f0079cae346d944f654c6a9b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a2aa857e0f0079cae346d944f654c6a9b">BIG_416_29_comp</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y)</td></tr>
-<tr class="memdesc:a2aa857e0f0079cae346d944f654c6a9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a2aa857e0f0079cae346d944f654c6a9b">More...</a><br /></td></tr>
-<tr class="separator:a2aa857e0f0079cae346d944f654c6a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9eb3d430b55cbebb52d19e653b4ea54d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a9eb3d430b55cbebb52d19e653b4ea54d">BIG_416_29_dcomp</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y)</td></tr>
-<tr class="memdesc:a9eb3d430b55cbebb52d19e653b4ea54d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a9eb3d430b55cbebb52d19e653b4ea54d">More...</a><br /></td></tr>
-<tr class="separator:a9eb3d430b55cbebb52d19e653b4ea54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2cd3c7ff47a7593f5a5f1a65811f4dfd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a2cd3c7ff47a7593f5a5f1a65811f4dfd">BIG_416_29_nbits</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a2cd3c7ff47a7593f5a5f1a65811f4dfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a2cd3c7ff47a7593f5a5f1a65811f4dfd">More...</a><br /></td></tr>
-<tr class="separator:a2cd3c7ff47a7593f5a5f1a65811f4dfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a188c34ed572f8126c91b07760c198d39"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a188c34ed572f8126c91b07760c198d39">BIG_416_29_dnbits</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a188c34ed572f8126c91b07760c198d39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#a188c34ed572f8126c91b07760c198d39">More...</a><br /></td></tr>
-<tr class="separator:a188c34ed572f8126c91b07760c198d39"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acbf733277d63c290b5ad34fc1ee925ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#acbf733277d63c290b5ad34fc1ee925ba">BIG_416_29_mod</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:acbf733277d63c290b5ad34fc1ee925ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#acbf733277d63c290b5ad34fc1ee925ba">More...</a><br /></td></tr>
-<tr class="separator:acbf733277d63c290b5ad34fc1ee925ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af32886944ce9af389079dc6bc0976986"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#af32886944ce9af389079dc6bc0976986">BIG_416_29_sdiv</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:af32886944ce9af389079dc6bc0976986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#af32886944ce9af389079dc6bc0976986">More...</a><br /></td></tr>
-<tr class="separator:af32886944ce9af389079dc6bc0976986"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c517c1e3f9c042b23687ac622dfa7f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a7c517c1e3f9c042b23687ac622dfa7f9">BIG_416_29_dmod</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:a7c517c1e3f9c042b23687ac622dfa7f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a7c517c1e3f9c042b23687ac622dfa7f9">More...</a><br /></td></tr>
-<tr class="separator:a7c517c1e3f9c042b23687ac622dfa7f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac4957789d9712196a20deb06f46b6313"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ac4957789d9712196a20deb06f46b6313">BIG_416_29_ddiv</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:ac4957789d9712196a20deb06f46b6313"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#ac4957789d9712196a20deb06f46b6313">More...</a><br /></td></tr>
-<tr class="separator:ac4957789d9712196a20deb06f46b6313"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d6beee9da1345bfc6b9a26d044bfb6f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a0d6beee9da1345bfc6b9a26d044bfb6f">BIG_416_29_parity</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x)</td></tr>
-<tr class="memdesc:a0d6beee9da1345bfc6b9a26d044bfb6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a0d6beee9da1345bfc6b9a26d044bfb6f">More...</a><br /></td></tr>
-<tr class="separator:a0d6beee9da1345bfc6b9a26d044bfb6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8739d1c92d694611bd97a1b5a3a2b3f8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a8739d1c92d694611bd97a1b5a3a2b3f8">BIG_416_29_bit</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int i)</td></tr>
-<tr class="memdesc:a8739d1c92d694611bd97a1b5a3a2b3f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a8739d1c92d694611bd97a1b5a3a2b3f8">More...</a><br /></td></tr>
-<tr class="separator:a8739d1c92d694611bd97a1b5a3a2b3f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aef1e80b9da63d8ee67746ef86dca29a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#aef1e80b9da63d8ee67746ef86dca29a0">BIG_416_29_lastbits</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int n)</td></tr>
-<tr class="memdesc:aef1e80b9da63d8ee67746ef86dca29a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#aef1e80b9da63d8ee67746ef86dca29a0">More...</a><br /></td></tr>
-<tr class="separator:aef1e80b9da63d8ee67746ef86dca29a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a707a430d9d3a2e04fdad7d66ef00799c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a707a430d9d3a2e04fdad7d66ef00799c">BIG_416_29_random</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a707a430d9d3a2e04fdad7d66ef00799c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#a707a430d9d3a2e04fdad7d66ef00799c">More...</a><br /></td></tr>
-<tr class="separator:a707a430d9d3a2e04fdad7d66ef00799c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6765f3c27ff80da9b6d2ebad01509490"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a6765f3c27ff80da9b6d2ebad01509490">BIG_416_29_randomnum</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a6765f3c27ff80da9b6d2ebad01509490"><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="#a6765f3c27ff80da9b6d2ebad01509490">More...</a><br /></td></tr>
-<tr class="separator:a6765f3c27ff80da9b6d2ebad01509490"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af7b5a01fff9bec531bbb90eb258fde44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#af7b5a01fff9bec531bbb90eb258fde44">BIG_416_29_modmul</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:af7b5a01fff9bec531bbb90eb258fde44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#af7b5a01fff9bec531bbb90eb258fde44">More...</a><br /></td></tr>
-<tr class="separator:af7b5a01fff9bec531bbb90eb258fde44"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f53541771281fc6b8dc44a481db8f7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a3f53541771281fc6b8dc44a481db8f7c">BIG_416_29_moddiv</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:a3f53541771281fc6b8dc44a481db8f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a3f53541771281fc6b8dc44a481db8f7c">More...</a><br /></td></tr>
-<tr class="separator:a3f53541771281fc6b8dc44a481db8f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad9b04c927ffb3cd630e4c016db03209b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#ad9b04c927ffb3cd630e4c016db03209b">BIG_416_29_modsqr</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:ad9b04c927ffb3cd630e4c016db03209b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#ad9b04c927ffb3cd630e4c016db03209b">More...</a><br /></td></tr>
-<tr class="separator:ad9b04c927ffb3cd630e4c016db03209b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8729f78f44c7ea52e4c7884744aa94f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a8729f78f44c7ea52e4c7884744aa94f1">BIG_416_29_modneg</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:a8729f78f44c7ea52e4c7884744aa94f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a8729f78f44c7ea52e4c7884744aa94f1">More...</a><br /></td></tr>
-<tr class="separator:a8729f78f44c7ea52e4c7884744aa94f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af20c1841f5b7a6233f95a3bb6624ba37"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#af20c1841f5b7a6233f95a3bb6624ba37">BIG_416_29_jacobi</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y)</td></tr>
-<tr class="memdesc:af20c1841f5b7a6233f95a3bb6624ba37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#af20c1841f5b7a6233f95a3bb6624ba37">More...</a><br /></td></tr>
-<tr class="separator:af20c1841f5b7a6233f95a3bb6624ba37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a991ad6a5cf98fd833b92b1aa16f49daf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a991ad6a5cf98fd833b92b1aa16f49daf">BIG_416_29_invmodp</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y, <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> n)</td></tr>
-<tr class="memdesc:a991ad6a5cf98fd833b92b1aa16f49daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a991ad6a5cf98fd833b92b1aa16f49daf">More...</a><br /></td></tr>
-<tr class="separator:a991ad6a5cf98fd833b92b1aa16f49daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a64652c0104675781e738ab2fff57f36d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a64652c0104675781e738ab2fff57f36d">BIG_416_29_mod2m</a> (<a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x, int m)</td></tr>
-<tr class="memdesc:a64652c0104675781e738ab2fff57f36d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a64652c0104675781e738ab2fff57f36d">More...</a><br /></td></tr>
-<tr class="separator:a64652c0104675781e738ab2fff57f36d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0869f4718734600365ecf63d735292a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html#a0869f4718734600365ecf63d735292a1">BIG_416_29_dmod2m</a> (<a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x, int m)</td></tr>
-<tr class="memdesc:a0869f4718734600365ecf63d735292a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a0869f4718734600365ecf63d735292a1">More...</a><br /></td></tr>
-<tr class="separator:a0869f4718734600365ecf63d735292a1"><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="aa20947ce69e7c08ec647e7bfae4640ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa20947ce69e7c08ec647e7bfae4640ba">&#9670;&nbsp;</a></span>BIGBITS_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_416_29&#160;&#160;&#160;(8*<a class="el" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">MODBYTES_416_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="ab20c7e47edf7020f72aa4e2391c62248"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab20c7e47edf7020f72aa4e2391c62248">&#9670;&nbsp;</a></span>BMASK_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_416_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="aadd2ee7522b82b71e9ee85d8cdc7c6da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aadd2ee7522b82b71e9ee85d8cdc7c6da">&#9670;&nbsp;</a></span>DNLEN_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_416_29&#160;&#160;&#160;2*<a class="el" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="ab96162363a8fbed4497bafd600895ea6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab96162363a8fbed4497bafd600895ea6">&#9670;&nbsp;</a></span>HBITS_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_416_29&#160;&#160;&#160;(<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="aa55744f8804c0a03dcb386997e08076d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa55744f8804c0a03dcb386997e08076d">&#9670;&nbsp;</a></span>HMASK_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_416_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a0da12b741692af75253ccfe8992b197e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0da12b741692af75253ccfe8992b197e">&#9670;&nbsp;</a></span>NEXCESS_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_416_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</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="abb7a6001a4ec0aebc5115578e1d06b5a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abb7a6001a4ec0aebc5115578e1d06b5a">&#9670;&nbsp;</a></span>NLEN_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_416_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">MODBYTES_416_29</a>-1)/<a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a43215c263089f63fa98abfa64ed93b62"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a43215c263089f63fa98abfa64ed93b62">&#9670;&nbsp;</a></span>BIG_416_29</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_416_29[<a class="el" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a43fef2562a328eff51d535c40f5e83b0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a43fef2562a328eff51d535c40f5e83b0">&#9670;&nbsp;</a></span>DBIG_416_29</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_416_29[<a class="el" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">DNLEN_416_29</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="aaaecab31c86f7c91178702073c428a56"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaaecab31c86f7c91178702073c428a56">&#9670;&nbsp;</a></span>BIG_416_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a8739d1c92d694611bd97a1b5a3a2b3f8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8739d1c92d694611bd97a1b5a3a2b3f8">&#9670;&nbsp;</a></span>BIG_416_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a98dca944b9b0d6b06b788195adb94b56"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a98dca944b9b0d6b06b788195adb94b56">&#9670;&nbsp;</a></span>BIG_416_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a2aa857e0f0079cae346d944f654c6a9b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2aa857e0f0079cae346d944f654c6a9b">&#9670;&nbsp;</a></span>BIG_416_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="af86e1bac4d01fc13e8a00105fc6f711c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af86e1bac4d01fc13e8a00105fc6f711c">&#9670;&nbsp;</a></span>BIG_416_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a77676579ad9e12c35e891cd1b3ad7bab"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a77676579ad9e12c35e891cd1b3ad7bab">&#9670;&nbsp;</a></span>BIG_416_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a142b562a4d92f1f28f333bbe389b53f3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a142b562a4d92f1f28f333bbe389b53f3">&#9670;&nbsp;</a></span>BIG_416_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="aa0522b5de35f639c86be4120fe7092dc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa0522b5de35f639c86be4120fe7092dc">&#9670;&nbsp;</a></span>BIG_416_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a9eb3d430b55cbebb52d19e653b4ea54d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9eb3d430b55cbebb52d19e653b4ea54d">&#9670;&nbsp;</a></span>BIG_416_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a50a77138c16b74b6d3bcbe250a43bb8c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a50a77138c16b74b6d3bcbe250a43bb8c">&#9670;&nbsp;</a></span>BIG_416_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="ac4957789d9712196a20deb06f46b6313"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac4957789d9712196a20deb06f46b6313">&#9670;&nbsp;</a></span>BIG_416_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a6f0ea72a41d913ad587cba929f93750e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6f0ea72a41d913ad587cba929f93750e">&#9670;&nbsp;</a></span>BIG_416_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a07bf5beb7e8e387c5bab1560e4e2d6e0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a07bf5beb7e8e387c5bab1560e4e2d6e0">&#9670;&nbsp;</a></span>BIG_416_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a8fedbfa4e31b49e69728faa2a6f91565"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8fedbfa4e31b49e69728faa2a6f91565">&#9670;&nbsp;</a></span>BIG_416_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="afd78a40a3ced9250c93566ad2da629da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afd78a40a3ced9250c93566ad2da629da">&#9670;&nbsp;</a></span>BIG_416_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a7c517c1e3f9c042b23687ac622dfa7f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c517c1e3f9c042b23687ac622dfa7f9">&#9670;&nbsp;</a></span>BIG_416_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a0869f4718734600365ecf63d735292a1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0869f4718734600365ecf63d735292a1">&#9670;&nbsp;</a></span>BIG_416_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a188c34ed572f8126c91b07760c198d39"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a188c34ed572f8126c91b07760c198d39">&#9670;&nbsp;</a></span>BIG_416_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="af57fd6676ad99e00f98234b5a0e69ad8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af57fd6676ad99e00f98234b5a0e69ad8">&#9670;&nbsp;</a></span>BIG_416_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a2c2a3e48ab57f28f556798c36cb8dc5e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2c2a3e48ab57f28f556798c36cb8dc5e">&#9670;&nbsp;</a></span>BIG_416_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a2558ed1d1e691f6dbab20a7a2f46af8b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2558ed1d1e691f6dbab20a7a2f46af8b">&#9670;&nbsp;</a></span>BIG_416_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="ae3c2caa8dc99b4c6df19d781f0d48e3f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae3c2caa8dc99b4c6df19d781f0d48e3f">&#9670;&nbsp;</a></span>BIG_416_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="ab64483dea5dba8a8593b2f0f10aeb486"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab64483dea5dba8a8593b2f0f10aeb486">&#9670;&nbsp;</a></span>BIG_416_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="acdafbd0d229c7730d380f929383a2200"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acdafbd0d229c7730d380f929383a2200">&#9670;&nbsp;</a></span>BIG_416_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a48f1216d6ecbebb0d5bcc14eb94bf922"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a48f1216d6ecbebb0d5bcc14eb94bf922">&#9670;&nbsp;</a></span>BIG_416_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="abeea8d5acc80d509028e53a98d8a6d51"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abeea8d5acc80d509028e53a98d8a6d51">&#9670;&nbsp;</a></span>BIG_416_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="aa57becef0fa7d70d3049f7f4641748da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa57becef0fa7d70d3049f7f4641748da">&#9670;&nbsp;</a></span>BIG_416_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a8164d17175332f303f47a1c38bd941d7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8164d17175332f303f47a1c38bd941d7">&#9670;&nbsp;</a></span>BIG_416_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="ae2001c7fb8b395dc564ccf22bfeb4071"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae2001c7fb8b395dc564ccf22bfeb4071">&#9670;&nbsp;</a></span>BIG_416_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a6f57608fc0566752282ea8a25294abc9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6f57608fc0566752282ea8a25294abc9">&#9670;&nbsp;</a></span>BIG_416_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a22880937261d7f334522dca3e339deb0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a22880937261d7f334522dca3e339deb0">&#9670;&nbsp;</a></span>BIG_416_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a18802fcca173f5402edd2aa2d88066c3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a18802fcca173f5402edd2aa2d88066c3">&#9670;&nbsp;</a></span>BIG_416_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="af3234bf49b27ea7202e87511577ab2c7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af3234bf49b27ea7202e87511577ab2c7">&#9670;&nbsp;</a></span>BIG_416_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="ac0dc297a355c4edaa71d33041c248056"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac0dc297a355c4edaa71d33041c248056">&#9670;&nbsp;</a></span>BIG_416_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a991ad6a5cf98fd833b92b1aa16f49daf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a991ad6a5cf98fd833b92b1aa16f49daf">&#9670;&nbsp;</a></span>BIG_416_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="aba62b6820581d7e01189c197e4ccb2e0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aba62b6820581d7e01189c197e4ccb2e0">&#9670;&nbsp;</a></span>BIG_416_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a5f21d81728b9d4fd660568eba71d3aa2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5f21d81728b9d4fd660568eba71d3aa2">&#9670;&nbsp;</a></span>BIG_416_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="af20c1841f5b7a6233f95a3bb6624ba37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af20c1841f5b7a6233f95a3bb6624ba37">&#9670;&nbsp;</a></span>BIG_416_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="aef1e80b9da63d8ee67746ef86dca29a0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aef1e80b9da63d8ee67746ef86dca29a0">&#9670;&nbsp;</a></span>BIG_416_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="acbf733277d63c290b5ad34fc1ee925ba"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acbf733277d63c290b5ad34fc1ee925ba">&#9670;&nbsp;</a></span>BIG_416_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a64652c0104675781e738ab2fff57f36d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a64652c0104675781e738ab2fff57f36d">&#9670;&nbsp;</a></span>BIG_416_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a3f53541771281fc6b8dc44a481db8f7c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3f53541771281fc6b8dc44a481db8f7c">&#9670;&nbsp;</a></span>BIG_416_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="af7b5a01fff9bec531bbb90eb258fde44"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af7b5a01fff9bec531bbb90eb258fde44">&#9670;&nbsp;</a></span>BIG_416_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a8729f78f44c7ea52e4c7884744aa94f1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8729f78f44c7ea52e4c7884744aa94f1">&#9670;&nbsp;</a></span>BIG_416_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="ad9b04c927ffb3cd630e4c016db03209b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad9b04c927ffb3cd630e4c016db03209b">&#9670;&nbsp;</a></span>BIG_416_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a7ae79b99e9ee26d60c28aa3127daa041"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7ae79b99e9ee26d60c28aa3127daa041">&#9670;&nbsp;</a></span>BIG_416_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="adb81f17df70c4e35eec8aee20b098065"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adb81f17df70c4e35eec8aee20b098065">&#9670;&nbsp;</a></span>BIG_416_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a2cd3c7ff47a7593f5a5f1a65811f4dfd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2cd3c7ff47a7593f5a5f1a65811f4dfd">&#9670;&nbsp;</a></span>BIG_416_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a661d1791cd3385de1001a0bbbdd06941"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a661d1791cd3385de1001a0bbbdd06941">&#9670;&nbsp;</a></span>BIG_416_29_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_416_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a0c9bb0b78533bd9738759301e40e5f9a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0c9bb0b78533bd9738759301e40e5f9a">&#9670;&nbsp;</a></span>BIG_416_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a6d68fc022e6b069927dc11795e4aab3b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6d68fc022e6b069927dc11795e4aab3b">&#9670;&nbsp;</a></span>BIG_416_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a2224807ec96be55f42f009ab092a480e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2224807ec96be55f42f009ab092a480e">&#9670;&nbsp;</a></span>BIG_416_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a0d6beee9da1345bfc6b9a26d044bfb6f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d6beee9da1345bfc6b9a26d044bfb6f">&#9670;&nbsp;</a></span>BIG_416_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="ae5841499ea880e9977d32a1799f7f475"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae5841499ea880e9977d32a1799f7f475">&#9670;&nbsp;</a></span>BIG_416_29_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_416_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="adf110cc273b34fe5126cf6665342e206"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adf110cc273b34fe5126cf6665342e206">&#9670;&nbsp;</a></span>BIG_416_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a707a430d9d3a2e04fdad7d66ef00799c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a707a430d9d3a2e04fdad7d66ef00799c">&#9670;&nbsp;</a></span>BIG_416_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a6765f3c27ff80da9b6d2ebad01509490"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6765f3c27ff80da9b6d2ebad01509490">&#9670;&nbsp;</a></span>BIG_416_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a4c3e625f14d5c519876b3d8f0f1a6158"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4c3e625f14d5c519876b3d8f0f1a6158">&#9670;&nbsp;</a></span>BIG_416_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="aab573c7bfe0bc79f45fa4b197ee8971d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aab573c7bfe0bc79f45fa4b197ee8971d">&#9670;&nbsp;</a></span>BIG_416_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a9af71f1d5e1005c228278cb95cd2c3e1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9af71f1d5e1005c228278cb95cd2c3e1">&#9670;&nbsp;</a></span>BIG_416_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="af32886944ce9af389079dc6bc0976986"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af32886944ce9af389079dc6bc0976986">&#9670;&nbsp;</a></span>BIG_416_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a615066df2a33ddc16c1f2a904b5e86e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a615066df2a33ddc16c1f2a904b5e86e6">&#9670;&nbsp;</a></span>BIG_416_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="a9a7f77ea084fb68385803d7ddaeed2fe"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9a7f77ea084fb68385803d7ddaeed2fe">&#9670;&nbsp;</a></span>BIG_416_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a6dd5a3f74265f7ba5947ebccc5a90042"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6dd5a3f74265f7ba5947ebccc5a90042">&#9670;&nbsp;</a></span>BIG_416_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a9df539ba2f02afd73c10acdfc4364a03"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9df539ba2f02afd73c10acdfc4364a03">&#9670;&nbsp;</a></span>BIG_416_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a374674ab8939e7c1fd154cb51ff80e78"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a374674ab8939e7c1fd154cb51ff80e78">&#9670;&nbsp;</a></span>BIG_416_29_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_416_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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="adb89f95d8e956d0c3894fa0e9e4c7023"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adb89f95d8e956d0c3894fa0e9e4c7023">&#9670;&nbsp;</a></span>BIG_416_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a9faf6d033461ddbfa26d1a7d1710a0af"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9faf6d033461ddbfa26d1a7d1710a0af">&#9670;&nbsp;</a></span>BIG_416_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_416_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="acad58ac85a661817c26d45b784e56c10"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acad58ac85a661817c26d45b784e56c10">&#9670;&nbsp;</a></span>BIG_416_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="afef53d763389177bdf29e1eafef7ce69"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afef53d763389177bdf29e1eafef7ce69">&#9670;&nbsp;</a></span>BIG_416_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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="a18a194e4b947f6fb331e61e9582bf472"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a18a194e4b947f6fb331e61e9582bf472">&#9670;&nbsp;</a></span>BIG_416_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_416_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h_source.html b/website/static/cdocs/big__416__29_8h_source.html
deleted file mode 100644
index 3a029db..0000000
--- a/website/static/cdocs/big__416__29_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_416_29.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_416_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__416__29_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_416_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_416_29_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__416__29_8h.html">config_big_416_29.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__416__29_8h.html#aa20947ce69e7c08ec647e7bfae4640ba">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_416_29 (8*MODBYTES_416_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">   40</a></span>&#160;<span class="preprocessor">#define NLEN_416_29 (1+((8*MODBYTES_416_29-1)/BASEBITS_416_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_416_29 2*NLEN_416_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248">   42</a></span>&#160;<span class="preprocessor">#define BMASK_416_29 (((chunk)1&lt;&lt;BASEBITS_416_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__416__29_8h.html#a0da12b741692af75253ccfe8992b197e">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_416_29 (1&lt;&lt;(CHUNK-BASEBITS_416_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">   45</a></span>&#160;<span class="preprocessor">#define HBITS_416_29 (BASEBITS_416_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">   46</a></span>&#160;<span class="preprocessor">#define HMASK_416_29 (((chunk)1&lt;&lt;HBITS_416_29)-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_416_29 NLEN_416_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_416_29 (NLEN_416_29+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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a>[<a class="code" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_416_29 DNLEN_416_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_416_29 (DNLEN_416_29+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__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a>[<a class="code" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">DNLEN_416_29</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__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a>[<a class="code" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a>[<a class="code" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">DNLEN_416_29</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__416__29_8h.html#a5f21d81728b9d4fd660568eba71d3aa2">BIG_416_29_iszilch</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#aba62b6820581d7e01189c197e4ccb2e0">BIG_416_29_isunity</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a8fedbfa4e31b49e69728faa2a6f91565">BIG_416_29_diszilch</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a2224807ec96be55f42f009ab092a480e">BIG_416_29_output</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a4c3e625f14d5c519876b3d8f0f1a6158">BIG_416_29_rawoutput</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a77676579ad9e12c35e891cd1b3ad7bab">BIG_416_29_cswap</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a98dca944b9b0d6b06b788195adb94b56">BIG_416_29_cmove</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#aa0522b5de35f639c86be4120fe7092dc">BIG_416_29_dcmove</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#afef53d763389177bdf29e1eafef7ce69">BIG_416_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a8164d17175332f303f47a1c38bd941d7">BIG_416_29_fromBytes</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#ae2001c7fb8b395dc564ccf22bfeb4071">BIG_416_29_fromBytesLen</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a07bf5beb7e8e387c5bab1560e4e2d6e0">BIG_416_29_dfromBytesLen</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a2c2a3e48ab57f28f556798c36cb8dc5e">BIG_416_29_doutput</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a2558ed1d1e691f6dbab20a7a2f46af8b">BIG_416_29_drawoutput</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#aab573c7bfe0bc79f45fa4b197ee8971d">BIG_416_29_rcopy</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<span class="keyword">const</span> <a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#af86e1bac4d01fc13e8a00105fc6f711c">BIG_416_29_copy</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a50a77138c16b74b6d3bcbe250a43bb8c">BIG_416_29_dcopy</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#abeea8d5acc80d509028e53a98d8a6d51">BIG_416_29_dsucopy</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#ae3c2caa8dc99b4c6df19d781f0d48e3f">BIG_416_29_dscopy</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a9af71f1d5e1005c228278cb95cd2c3e1">BIG_416_29_sdcopy</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a615066df2a33ddc16c1f2a904b5e86e6">BIG_416_29_sducopy</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a18a194e4b947f6fb331e61e9582bf472">BIG_416_29_zero</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#aa57becef0fa7d70d3049f7f4641748da">BIG_416_29_dzero</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a0c9bb0b78533bd9738759301e40e5f9a">BIG_416_29_one</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#ac0dc297a355c4edaa71d33041c248056">BIG_416_29_invmod2m</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#aaaecab31c86f7c91178702073c428a56">BIG_416_29_add</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a6d68fc022e6b069927dc11795e4aab3b">BIG_416_29_or</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#af3234bf49b27ea7202e87511577ab2c7">BIG_416_29_inc</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#acad58ac85a661817c26d45b784e56c10">BIG_416_29_sub</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a6f0ea72a41d913ad587cba929f93750e">BIG_416_29_dec</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a142b562a4d92f1f28f333bbe389b53f3">BIG_416_29_dadd</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a48f1216d6ecbebb0d5bcc14eb94bf922">BIG_416_29_dsub</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a18802fcca173f5402edd2aa2d88066c3">BIG_416_29_imul</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#ae5841499ea880e9977d32a1799f7f475">BIG_416_29_pmul</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#afd78a40a3ced9250c93566ad2da629da">BIG_416_29_div3</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#adf110cc273b34fe5126cf6665342e206">BIG_416_29_pxmul</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#adb81f17df70c4e35eec8aee20b098065">BIG_416_29_mul</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a9df539ba2f02afd73c10acdfc4364a03">BIG_416_29_smul</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#adb89f95d8e956d0c3894fa0e9e4c7023">BIG_416_29_sqr</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a7ae79b99e9ee26d60c28aa3127daa041">BIG_416_29_monty</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> a,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a9a7f77ea084fb68385803d7ddaeed2fe">BIG_416_29_shl</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a6f57608fc0566752282ea8a25294abc9">BIG_416_29_fshl</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#ab64483dea5dba8a8593b2f0f10aeb486">BIG_416_29_dshl</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a6dd5a3f74265f7ba5947ebccc5a90042">BIG_416_29_shr</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a9faf6d033461ddbfa26d1a7d1710a0af">BIG_416_29_ssn</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> r,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> a, <a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a22880937261d7f334522dca3e339deb0">BIG_416_29_fshr</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#acdafbd0d229c7730d380f929383a2200">BIG_416_29_dshr</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a374674ab8939e7c1fd154cb51ff80e78">BIG_416_29_split</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a661d1791cd3385de1001a0bbbdd06941">BIG_416_29_norm</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#af57fd6676ad99e00f98234b5a0e69ad8">BIG_416_29_dnorm</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a2aa857e0f0079cae346d944f654c6a9b">BIG_416_29_comp</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a9eb3d430b55cbebb52d19e653b4ea54d">BIG_416_29_dcomp</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#a2cd3c7ff47a7593f5a5f1a65811f4dfd">BIG_416_29_nbits</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a188c34ed572f8126c91b07760c198d39">BIG_416_29_dnbits</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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__416__29_8h.html#acbf733277d63c290b5ad34fc1ee925ba">BIG_416_29_mod</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#af32886944ce9af389079dc6bc0976986">BIG_416_29_sdiv</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a7c517c1e3f9c042b23687ac622dfa7f9">BIG_416_29_dmod</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#ac4957789d9712196a20deb06f46b6313">BIG_416_29_ddiv</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a0d6beee9da1345bfc6b9a26d044bfb6f">BIG_416_29_parity</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a8739d1c92d694611bd97a1b5a3a2b3f8">BIG_416_29_bit</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#aef1e80b9da63d8ee67746ef86dca29a0">BIG_416_29_lastbits</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a707a430d9d3a2e04fdad7d66ef00799c">BIG_416_29_random</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a6765f3c27ff80da9b6d2ebad01509490">BIG_416_29_randomnum</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#af7b5a01fff9bec531bbb90eb258fde44">BIG_416_29_modmul</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a3f53541771281fc6b8dc44a481db8f7c">BIG_416_29_moddiv</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> z,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#ad9b04c927ffb3cd630e4c016db03209b">BIG_416_29_modsqr</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a8729f78f44c7ea52e4c7884744aa94f1">BIG_416_29_modneg</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#af20c1841f5b7a6233f95a3bb6624ba37">BIG_416_29_jacobi</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a991ad6a5cf98fd833b92b1aa16f49daf">BIG_416_29_invmodp</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> x,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a> y,<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a64652c0104675781e738ab2fff57f36d">BIG_416_29_mod2m</a>(<a class="code" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</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__416__29_8h.html#a0869f4718734600365ecf63d735292a1">BIG_416_29_dmod2m</a>(<a class="code" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</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_416_29(<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__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248">BMASK_416_29</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__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</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_416_29(<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__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">HMASK_416_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">HMASK_416_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</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__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">HMASK_416_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</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__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248">BMASK_416_29</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__416__29_8h_html_abb7a6001a4ec0aebc5115578e1d06b5a"><div class="ttname"><a href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">NLEN_416_29</a></div><div class="ttdeci">#define NLEN_416_29</div><div class="ttdef"><b>Definition:</b> big_416_29.h:40</div></div>
-<div class="ttc" id="big__416__29_8h_html_a2224807ec96be55f42f009ab092a480e"><div class="ttname"><a href="big__416__29_8h.html#a2224807ec96be55f42f009ab092a480e">BIG_416_29_output</a></div><div class="ttdeci">void BIG_416_29_output(BIG_416_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:55</div></div>
-<div class="ttc" id="big__416__29_8h_html_af20c1841f5b7a6233f95a3bb6624ba37"><div class="ttname"><a href="big__416__29_8h.html#af20c1841f5b7a6233f95a3bb6624ba37">BIG_416_29_jacobi</a></div><div class="ttdeci">int BIG_416_29_jacobi(BIG_416_29 x, BIG_416_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1354</div></div>
-<div class="ttc" id="big__416__29_8h_html_a6d68fc022e6b069927dc11795e4aab3b"><div class="ttname"><a href="big__416__29_8h.html#a6d68fc022e6b069927dc11795e4aab3b">BIG_416_29_or</a></div><div class="ttdeci">void BIG_416_29_or(BIG_416_29 x, BIG_416_29 y, BIG_416_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:371</div></div>
-<div class="ttc" id="big__416__29_8h_html_a0d6beee9da1345bfc6b9a26d044bfb6f"><div class="ttname"><a href="big__416__29_8h.html#a0d6beee9da1345bfc6b9a26d044bfb6f">BIG_416_29_parity</a></div><div class="ttdeci">int BIG_416_29_parity(BIG_416_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1225</div></div>
-<div class="ttc" id="big__416__29_8h_html_a2cd3c7ff47a7593f5a5f1a65811f4dfd"><div class="ttname"><a href="big__416__29_8h.html#a2cd3c7ff47a7593f5a5f1a65811f4dfd">BIG_416_29_nbits</a></div><div class="ttdeci">int BIG_416_29_nbits(BIG_416_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1040</div></div>
-<div class="ttc" id="big__416__29_8h_html_aef1e80b9da63d8ee67746ef86dca29a0"><div class="ttname"><a href="big__416__29_8h.html#aef1e80b9da63d8ee67746ef86dca29a0">BIG_416_29_lastbits</a></div><div class="ttdeci">int BIG_416_29_lastbits(BIG_416_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1240</div></div>
-<div class="ttc" id="big__416__29_8h_html_a64652c0104675781e738ab2fff57f36d"><div class="ttname"><a href="big__416__29_8h.html#a64652c0104675781e738ab2fff57f36d">BIG_416_29_mod2m</a></div><div class="ttdeci">void BIG_416_29_mod2m(BIG_416_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1456</div></div>
-<div class="ttc" id="big__416__29_8h_html_ac0dc297a355c4edaa71d33041c248056"><div class="ttname"><a href="big__416__29_8h.html#ac0dc297a355c4edaa71d33041c248056">BIG_416_29_invmod2m</a></div><div class="ttdeci">void BIG_416_29_invmod2m(BIG_416_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__416__29_8h_html_a43fef2562a328eff51d535c40f5e83b0"><div class="ttname"><a href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">DBIG_416_29</a></div><div class="ttdeci">chunk DBIG_416_29[DNLEN_416_29]</div><div class="ttdef"><b>Definition:</b> big_416_29.h:59</div></div>
-<div class="ttc" id="big__416__29_8h_html_a3f53541771281fc6b8dc44a481db8f7c"><div class="ttname"><a href="big__416__29_8h.html#a3f53541771281fc6b8dc44a481db8f7c">BIG_416_29_moddiv</a></div><div class="ttdeci">void BIG_416_29_moddiv(BIG_416_29 x, BIG_416_29 y, BIG_416_29 z, BIG_416_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1337</div></div>
-<div class="ttc" id="big__416__29_8h_html_a6765f3c27ff80da9b6d2ebad01509490"><div class="ttname"><a href="big__416__29_8h.html#a6765f3c27ff80da9b6d2ebad01509490">BIG_416_29_randomnum</a></div><div class="ttdeci">void BIG_416_29_randomnum(BIG_416_29 x, BIG_416_29 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_416_29.c:1274</div></div>
-<div class="ttc" id="big__416__29_8h_html_af57fd6676ad99e00f98234b5a0e69ad8"><div class="ttname"><a href="big__416__29_8h.html#af57fd6676ad99e00f98234b5a0e69ad8">BIG_416_29_dnorm</a></div><div class="ttdeci">void BIG_416_29_dnorm(DBIG_416_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:995</div></div>
-<div class="ttc" id="big__416__29_8h_html_a9eb3d430b55cbebb52d19e653b4ea54d"><div class="ttname"><a href="big__416__29_8h.html#a9eb3d430b55cbebb52d19e653b4ea54d">BIG_416_29_dcomp</a></div><div class="ttdeci">int BIG_416_29_dcomp(DBIG_416_29 x, DBIG_416_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1026</div></div>
-<div class="ttc" id="config__big__416__29_8h_html"><div class="ttname"><a href="config__big__416__29_8h.html">config_big_416_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__416__29_8h_html_a77676579ad9e12c35e891cd1b3ad7bab"><div class="ttname"><a href="big__416__29_8h.html#a77676579ad9e12c35e891cd1b3ad7bab">BIG_416_29_cswap</a></div><div class="ttdeci">void BIG_416_29_cswap(BIG_416_29 x, BIG_416_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:92</div></div>
-<div class="ttc" id="big__416__29_8h_html_a0c9bb0b78533bd9738759301e40e5f9a"><div class="ttname"><a href="big__416__29_8h.html#a0c9bb0b78533bd9738759301e40e5f9a">BIG_416_29_one</a></div><div class="ttdeci">void BIG_416_29_one(BIG_416_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_416_29.c:340</div></div>
-<div class="ttc" id="big__416__29_8h_html_aadd2ee7522b82b71e9ee85d8cdc7c6da"><div class="ttname"><a href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">DNLEN_416_29</a></div><div class="ttdeci">#define DNLEN_416_29</div><div class="ttdef"><b>Definition:</b> big_416_29.h:41</div></div>
-<div class="ttc" id="big__416__29_8h_html_aba62b6820581d7e01189c197e4ccb2e0"><div class="ttname"><a href="big__416__29_8h.html#aba62b6820581d7e01189c197e4ccb2e0">BIG_416_29_isunity</a></div><div class="ttdeci">int BIG_416_29_isunity(BIG_416_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:35</div></div>
-<div class="ttc" id="big__416__29_8h_html_a43215c263089f63fa98abfa64ed93b62"><div class="ttname"><a href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">BIG_416_29</a></div><div class="ttdeci">chunk BIG_416_29[NLEN_416_29]</div><div class="ttdef"><b>Definition:</b> big_416_29.h:58</div></div>
-<div class="ttc" id="big__416__29_8h_html_afd78a40a3ced9250c93566ad2da629da"><div class="ttname"><a href="big__416__29_8h.html#afd78a40a3ced9250c93566ad2da629da">BIG_416_29_div3</a></div><div class="ttdeci">int BIG_416_29_div3(BIG_416_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:484</div></div>
-<div class="ttc" id="big__416__29_8h_html_a18a194e4b947f6fb331e61e9582bf472"><div class="ttname"><a href="big__416__29_8h.html#a18a194e4b947f6fb331e61e9582bf472">BIG_416_29_zero</a></div><div class="ttdeci">void BIG_416_29_zero(BIG_416_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:319</div></div>
-<div class="ttc" id="big__416__29_8h_html_a9df539ba2f02afd73c10acdfc4364a03"><div class="ttname"><a href="big__416__29_8h.html#a9df539ba2f02afd73c10acdfc4364a03">BIG_416_29_smul</a></div><div class="ttdeci">void BIG_416_29_smul(BIG_416_29 x, BIG_416_29 y, BIG_416_29 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_416_29.c:518</div></div>
-<div class="ttc" id="big__416__29_8h_html_a9a7f77ea084fb68385803d7ddaeed2fe"><div class="ttname"><a href="big__416__29_8h.html#a9a7f77ea084fb68385803d7ddaeed2fe">BIG_416_29_shl</a></div><div class="ttdeci">void BIG_416_29_shl(BIG_416_29 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_416_29.c:813</div></div>
-<div class="ttc" id="big__416__29_8h_html_a142b562a4d92f1f28f333bbe389b53f3"><div class="ttname"><a href="big__416__29_8h.html#a142b562a4d92f1f28f333bbe389b53f3">BIG_416_29_dadd</a></div><div class="ttdeci">void BIG_416_29_dadd(DBIG_416_29 x, DBIG_416_29 y, DBIG_416_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:426</div></div>
-<div class="ttc" id="big__416__29_8h_html_a707a430d9d3a2e04fdad7d66ef00799c"><div class="ttname"><a href="big__416__29_8h.html#a707a430d9d3a2e04fdad7d66ef00799c">BIG_416_29_random</a></div><div class="ttdeci">void BIG_416_29_random(BIG_416_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1248</div></div>
-<div class="ttc" id="config__big__416__29_8h_html_a58db5de87c7efe4e798a182026e4e75e"><div class="ttname"><a href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a></div><div class="ttdeci">#define BASEBITS_416_29</div><div class="ttdef"><b>Definition:</b> config_big_416_29.h:35</div></div>
-<div class="ttc" id="big__416__29_8h_html_aab573c7bfe0bc79f45fa4b197ee8971d"><div class="ttname"><a href="big__416__29_8h.html#aab573c7bfe0bc79f45fa4b197ee8971d">BIG_416_29_rcopy</a></div><div class="ttdeci">void BIG_416_29_rcopy(BIG_416_29 x, const BIG_416_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:239</div></div>
-<div class="ttc" id="big__416__29_8h_html_a7c517c1e3f9c042b23687ac622dfa7f9"><div class="ttname"><a href="big__416__29_8h.html#a7c517c1e3f9c042b23687ac622dfa7f9">BIG_416_29_dmod</a></div><div class="ttdeci">void BIG_416_29_dmod(BIG_416_29 x, DBIG_416_29 y, BIG_416_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1113</div></div>
-<div class="ttc" id="big__416__29_8h_html_a0869f4718734600365ecf63d735292a1"><div class="ttname"><a href="big__416__29_8h.html#a0869f4718734600365ecf63d735292a1">BIG_416_29_dmod2m</a></div><div class="ttdeci">void BIG_416_29_dmod2m(DBIG_416_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1470</div></div>
-<div class="ttc" id="big__416__29_8h_html_a2aa857e0f0079cae346d944f654c6a9b"><div class="ttname"><a href="big__416__29_8h.html#a2aa857e0f0079cae346d944f654c6a9b">BIG_416_29_comp</a></div><div class="ttdeci">int BIG_416_29_comp(BIG_416_29 x, BIG_416_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1014</div></div>
-<div class="ttc" id="big__416__29_8h_html_ae2001c7fb8b395dc564ccf22bfeb4071"><div class="ttname"><a href="big__416__29_8h.html#ae2001c7fb8b395dc564ccf22bfeb4071">BIG_416_29_fromBytesLen</a></div><div class="ttdeci">void BIG_416_29_fromBytesLen(BIG_416_29 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_416_29.c:170</div></div>
-<div class="ttc" id="big__416__29_8h_html_a661d1791cd3385de1001a0bbbdd06941"><div class="ttname"><a href="big__416__29_8h.html#a661d1791cd3385de1001a0bbbdd06941">BIG_416_29_norm</a></div><div class="ttdeci">chunk BIG_416_29_norm(BIG_416_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:976</div></div>
-<div class="ttc" id="big__416__29_8h_html_ac4957789d9712196a20deb06f46b6313"><div class="ttname"><a href="big__416__29_8h.html#ac4957789d9712196a20deb06f46b6313">BIG_416_29_ddiv</a></div><div class="ttdeci">void BIG_416_29_ddiv(BIG_416_29 x, DBIG_416_29 y, BIG_416_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1149</div></div>
-<div class="ttc" id="big__416__29_8h_html_adb89f95d8e956d0c3894fa0e9e4c7023"><div class="ttname"><a href="big__416__29_8h.html#adb89f95d8e956d0c3894fa0e9e4c7023">BIG_416_29_sqr</a></div><div class="ttdeci">void BIG_416_29_sqr(DBIG_416_29 x, BIG_416_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:618</div></div>
-<div class="ttc" id="big__416__29_8h_html_a9af71f1d5e1005c228278cb95cd2c3e1"><div class="ttname"><a href="big__416__29_8h.html#a9af71f1d5e1005c228278cb95cd2c3e1">BIG_416_29_sdcopy</a></div><div class="ttdeci">void BIG_416_29_sdcopy(BIG_416_29 x, DBIG_416_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:294</div></div>
-<div class="ttc" id="big__416__29_8h_html_a8729f78f44c7ea52e4c7884744aa94f1"><div class="ttname"><a href="big__416__29_8h.html#a8729f78f44c7ea52e4c7884744aa94f1">BIG_416_29_modneg</a></div><div class="ttdeci">void BIG_416_29_modneg(BIG_416_29 x, BIG_416_29 y, BIG_416_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1327</div></div>
-<div class="ttc" id="big__416__29_8h_html_a7ae79b99e9ee26d60c28aa3127daa041"><div class="ttname"><a href="big__416__29_8h.html#a7ae79b99e9ee26d60c28aa3127daa041">BIG_416_29_monty</a></div><div class="ttdeci">void BIG_416_29_monty(BIG_416_29 a, BIG_416_29 md, chunk MC, DBIG_416_29 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_416_29.c:735</div></div>
-<div class="ttc" id="big__416__29_8h_html_a6f57608fc0566752282ea8a25294abc9"><div class="ttname"><a href="big__416__29_8h.html#a6f57608fc0566752282ea8a25294abc9">BIG_416_29_fshl</a></div><div class="ttdeci">int BIG_416_29_fshl(BIG_416_29 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_416_29.c:832</div></div>
-<div class="ttc" id="big__416__29_8h_html_af3234bf49b27ea7202e87511577ab2c7"><div class="ttname"><a href="big__416__29_8h.html#af3234bf49b27ea7202e87511577ab2c7">BIG_416_29_inc</a></div><div class="ttdeci">void BIG_416_29_inc(BIG_416_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:386</div></div>
-<div class="ttc" id="big__416__29_8h_html_a374674ab8939e7c1fd154cb51ff80e78"><div class="ttname"><a href="big__416__29_8h.html#a374674ab8939e7c1fd154cb51ff80e78">BIG_416_29_split</a></div><div class="ttdeci">chunk BIG_416_29_split(BIG_416_29 x, BIG_416_29 y, DBIG_416_29 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_416_29.c:932</div></div>
-<div class="ttc" id="big__416__29_8h_html_a18802fcca173f5402edd2aa2d88066c3"><div class="ttname"><a href="big__416__29_8h.html#a18802fcca173f5402edd2aa2d88066c3">BIG_416_29_imul</a></div><div class="ttdeci">void BIG_416_29_imul(BIG_416_29 x, BIG_416_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:450</div></div>
-<div class="ttc" id="big__416__29_8h_html_a188c34ed572f8126c91b07760c198d39"><div class="ttname"><a href="big__416__29_8h.html#a188c34ed572f8126c91b07760c198d39">BIG_416_29_dnbits</a></div><div class="ttdeci">int BIG_416_29_dnbits(DBIG_416_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1060</div></div>
-<div class="ttc" id="big__416__29_8h_html_a9faf6d033461ddbfa26d1a7d1710a0af"><div class="ttname"><a href="big__416__29_8h.html#a9faf6d033461ddbfa26d1a7d1710a0af">BIG_416_29_ssn</a></div><div class="ttdeci">int BIG_416_29_ssn(BIG_416_29 r, BIG_416_29 a, BIG_416_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:877</div></div>
-<div class="ttc" id="big__416__29_8h_html_ab20c7e47edf7020f72aa4e2391c62248"><div class="ttname"><a href="big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248">BMASK_416_29</a></div><div class="ttdeci">#define BMASK_416_29</div><div class="ttdef"><b>Definition:</b> big_416_29.h:42</div></div>
-<div class="ttc" id="big__416__29_8h_html_acdafbd0d229c7730d380f929383a2200"><div class="ttname"><a href="big__416__29_8h.html#acdafbd0d229c7730d380f929383a2200">BIG_416_29_dshr</a></div><div class="ttdeci">void BIG_416_29_dshr(DBIG_416_29 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_416_29.c:918</div></div>
-<div class="ttc" id="big__416__29_8h_html_a8164d17175332f303f47a1c38bd941d7"><div class="ttname"><a href="big__416__29_8h.html#a8164d17175332f303f47a1c38bd941d7">BIG_416_29_fromBytes</a></div><div class="ttdeci">void BIG_416_29_fromBytes(BIG_416_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:155</div></div>
-<div class="ttc" id="big__416__29_8h_html_a8fedbfa4e31b49e69728faa2a6f91565"><div class="ttname"><a href="big__416__29_8h.html#a8fedbfa4e31b49e69728faa2a6f91565">BIG_416_29_diszilch</a></div><div class="ttdeci">int BIG_416_29_diszilch(DBIG_416_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:45</div></div>
-<div class="ttc" id="big__416__29_8h_html_a22880937261d7f334522dca3e339deb0"><div class="ttname"><a href="big__416__29_8h.html#a22880937261d7f334522dca3e339deb0">BIG_416_29_fshr</a></div><div class="ttdeci">int BIG_416_29_fshr(BIG_416_29 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_416_29.c:906</div></div>
-<div class="ttc" id="big__416__29_8h_html_acbf733277d63c290b5ad34fc1ee925ba"><div class="ttname"><a href="big__416__29_8h.html#acbf733277d63c290b5ad34fc1ee925ba">BIG_416_29_mod</a></div><div class="ttdeci">void BIG_416_29_mod(BIG_416_29 x, BIG_416_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1082</div></div>
-<div class="ttc" id="big__416__29_8h_html_ab64483dea5dba8a8593b2f0f10aeb486"><div class="ttname"><a href="big__416__29_8h.html#ab64483dea5dba8a8593b2f0f10aeb486">BIG_416_29_dshl</a></div><div class="ttdeci">void BIG_416_29_dshl(DBIG_416_29 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_416_29.c:846</div></div>
-<div class="ttc" id="big__416__29_8h_html_a991ad6a5cf98fd833b92b1aa16f49daf"><div class="ttname"><a href="big__416__29_8h.html#a991ad6a5cf98fd833b92b1aa16f49daf">BIG_416_29_invmodp</a></div><div class="ttdeci">void BIG_416_29_invmodp(BIG_416_29 x, BIG_416_29 y, BIG_416_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1392</div></div>
-<div class="ttc" id="big__416__29_8h_html_ab96162363a8fbed4497bafd600895ea6"><div class="ttname"><a href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">HBITS_416_29</a></div><div class="ttdeci">#define HBITS_416_29</div><div class="ttdef"><b>Definition:</b> big_416_29.h:45</div></div>
-<div class="ttc" id="big__416__29_8h_html_adb81f17df70c4e35eec8aee20b098065"><div class="ttname"><a href="big__416__29_8h.html#adb81f17df70c4e35eec8aee20b098065">BIG_416_29_mul</a></div><div class="ttdeci">void BIG_416_29_mul(DBIG_416_29 x, BIG_416_29 y, BIG_416_29 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_416_29.c:542</div></div>
-<div class="ttc" id="big__416__29_8h_html_af32886944ce9af389079dc6bc0976986"><div class="ttname"><a href="big__416__29_8h.html#af32886944ce9af389079dc6bc0976986">BIG_416_29_sdiv</a></div><div class="ttdeci">void BIG_416_29_sdiv(BIG_416_29 x, BIG_416_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1188</div></div>
-<div class="ttc" id="big__416__29_8h_html_af86e1bac4d01fc13e8a00105fc6f711c"><div class="ttname"><a href="big__416__29_8h.html#af86e1bac4d01fc13e8a00105fc6f711c">BIG_416_29_copy</a></div><div class="ttdeci">void BIG_416_29_copy(BIG_416_29 x, BIG_416_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:227</div></div>
-<div class="ttc" id="big__416__29_8h_html_acad58ac85a661817c26d45b784e56c10"><div class="ttname"><a href="big__416__29_8h.html#acad58ac85a661817c26d45b784e56c10">BIG_416_29_sub</a></div><div class="ttdeci">void BIG_416_29_sub(BIG_416_29 x, BIG_416_29 y, BIG_416_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:397</div></div>
-<div class="ttc" id="big__416__29_8h_html_a2c2a3e48ab57f28f556798c36cb8dc5e"><div class="ttname"><a href="big__416__29_8h.html#a2c2a3e48ab57f28f556798c36cb8dc5e">BIG_416_29_doutput</a></div><div class="ttdeci">void BIG_416_29_doutput(DBIG_416_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:190</div></div>
-<div class="ttc" id="big__416__29_8h_html_ad9b04c927ffb3cd630e4c016db03209b"><div class="ttname"><a href="big__416__29_8h.html#ad9b04c927ffb3cd630e4c016db03209b">BIG_416_29_modsqr</a></div><div class="ttdeci">void BIG_416_29_modsqr(BIG_416_29 x, BIG_416_29 y, BIG_416_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1315</div></div>
-<div class="ttc" id="big__416__29_8h_html_a6dd5a3f74265f7ba5947ebccc5a90042"><div class="ttname"><a href="big__416__29_8h.html#a6dd5a3f74265f7ba5947ebccc5a90042">BIG_416_29_shr</a></div><div class="ttdeci">void BIG_416_29_shr(BIG_416_29 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_416_29.c:864</div></div>
-<div class="ttc" id="big__416__29_8h_html_a2558ed1d1e691f6dbab20a7a2f46af8b"><div class="ttname"><a href="big__416__29_8h.html#a2558ed1d1e691f6dbab20a7a2f46af8b">BIG_416_29_drawoutput</a></div><div class="ttdeci">void BIG_416_29_drawoutput(DBIG_416_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:212</div></div>
-<div class="ttc" id="big__416__29_8h_html_a48f1216d6ecbebb0d5bcc14eb94bf922"><div class="ttname"><a href="big__416__29_8h.html#a48f1216d6ecbebb0d5bcc14eb94bf922">BIG_416_29_dsub</a></div><div class="ttdeci">void BIG_416_29_dsub(DBIG_416_29 x, DBIG_416_29 y, DBIG_416_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:413</div></div>
-<div class="ttc" id="big__416__29_8h_html_a07bf5beb7e8e387c5bab1560e4e2d6e0"><div class="ttname"><a href="big__416__29_8h.html#a07bf5beb7e8e387c5bab1560e4e2d6e0">BIG_416_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_416_29_dfromBytesLen(DBIG_416_29 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_416_29.c:1485</div></div>
-<div class="ttc" id="big__416__29_8h_html_ae3c2caa8dc99b4c6df19d781f0d48e3f"><div class="ttname"><a href="big__416__29_8h.html#ae3c2caa8dc99b4c6df19d781f0d48e3f">BIG_416_29_dscopy</a></div><div class="ttdeci">void BIG_416_29_dscopy(DBIG_416_29 x, BIG_416_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:263</div></div>
-<div class="ttc" id="big__416__29_8h_html_adf110cc273b34fe5126cf6665342e206"><div class="ttname"><a href="big__416__29_8h.html#adf110cc273b34fe5126cf6665342e206">BIG_416_29_pxmul</a></div><div class="ttdeci">void BIG_416_29_pxmul(DBIG_416_29 x, BIG_416_29 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_416_29.c:501</div></div>
-<div class="ttc" id="big__416__29_8h_html_a5f21d81728b9d4fd660568eba71d3aa2"><div class="ttname"><a href="big__416__29_8h.html#a5f21d81728b9d4fd660568eba71d3aa2">BIG_416_29_iszilch</a></div><div class="ttdeci">int BIG_416_29_iszilch(BIG_416_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:26</div></div>
-<div class="ttc" id="big__416__29_8h_html_aa0522b5de35f639c86be4120fe7092dc"><div class="ttname"><a href="big__416__29_8h.html#aa0522b5de35f639c86be4120fe7092dc">BIG_416_29_dcmove</a></div><div class="ttdeci">void BIG_416_29_dcmove(BIG_416_29 x, BIG_416_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__416__29_8h_html_a615066df2a33ddc16c1f2a904b5e86e6"><div class="ttname"><a href="big__416__29_8h.html#a615066df2a33ddc16c1f2a904b5e86e6">BIG_416_29_sducopy</a></div><div class="ttdeci">void BIG_416_29_sducopy(BIG_416_29 x, DBIG_416_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:306</div></div>
-<div class="ttc" id="big__416__29_8h_html_a50a77138c16b74b6d3bcbe250a43bb8c"><div class="ttname"><a href="big__416__29_8h.html#a50a77138c16b74b6d3bcbe250a43bb8c">BIG_416_29_dcopy</a></div><div class="ttdeci">void BIG_416_29_dcopy(DBIG_416_29 x, DBIG_416_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:251</div></div>
-<div class="ttc" id="big__416__29_8h_html_af7b5a01fff9bec531bbb90eb258fde44"><div class="ttname"><a href="big__416__29_8h.html#af7b5a01fff9bec531bbb90eb258fde44">BIG_416_29_modmul</a></div><div class="ttdeci">void BIG_416_29_modmul(BIG_416_29 x, BIG_416_29 y, BIG_416_29 z, BIG_416_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1300</div></div>
-<div class="ttc" id="big__416__29_8h_html_aaaecab31c86f7c91178702073c428a56"><div class="ttname"><a href="big__416__29_8h.html#aaaecab31c86f7c91178702073c428a56">BIG_416_29_add</a></div><div class="ttdeci">void BIG_416_29_add(BIG_416_29 x, BIG_416_29 y, BIG_416_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:356</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="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__416__29_8h_html_a4c3e625f14d5c519876b3d8f0f1a6158"><div class="ttname"><a href="big__416__29_8h.html#a4c3e625f14d5c519876b3d8f0f1a6158">BIG_416_29_rawoutput</a></div><div class="ttdeci">void BIG_416_29_rawoutput(BIG_416_29 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_416_29.c:77</div></div>
-<div class="ttc" id="big__416__29_8h_html_a6f0ea72a41d913ad587cba929f93750e"><div class="ttname"><a href="big__416__29_8h.html#a6f0ea72a41d913ad587cba929f93750e">BIG_416_29_dec</a></div><div class="ttdeci">void BIG_416_29_dec(BIG_416_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:440</div></div>
-<div class="ttc" id="big__416__29_8h_html_a98dca944b9b0d6b06b788195adb94b56"><div class="ttname"><a href="big__416__29_8h.html#a98dca944b9b0d6b06b788195adb94b56">BIG_416_29_cmove</a></div><div class="ttdeci">void BIG_416_29_cmove(BIG_416_29 x, BIG_416_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:110</div></div>
-<div class="ttc" id="big__416__29_8h_html_ae5841499ea880e9977d32a1799f7f475"><div class="ttname"><a href="big__416__29_8h.html#ae5841499ea880e9977d32a1799f7f475">BIG_416_29_pmul</a></div><div class="ttdeci">chunk BIG_416_29_pmul(BIG_416_29 x, BIG_416_29 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_416_29.c:465</div></div>
-<div class="ttc" id="big__416__29_8h_html_a8739d1c92d694611bd97a1b5a3a2b3f8"><div class="ttname"><a href="big__416__29_8h.html#a8739d1c92d694611bd97a1b5a3a2b3f8">BIG_416_29_bit</a></div><div class="ttdeci">int BIG_416_29_bit(BIG_416_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_416_29.c:1232</div></div>
-<div class="ttc" id="big__416__29_8h_html_abeea8d5acc80d509028e53a98d8a6d51"><div class="ttname"><a href="big__416__29_8h.html#abeea8d5acc80d509028e53a98d8a6d51">BIG_416_29_dsucopy</a></div><div class="ttdeci">void BIG_416_29_dsucopy(DBIG_416_29 x, BIG_416_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:280</div></div>
-<div class="ttc" id="big__416__29_8h_html_afef53d763389177bdf29e1eafef7ce69"><div class="ttname"><a href="big__416__29_8h.html#afef53d763389177bdf29e1eafef7ce69">BIG_416_29_toBytes</a></div><div class="ttdeci">void BIG_416_29_toBytes(char *a, BIG_416_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:141</div></div>
-<div class="ttc" id="big__416__29_8h_html_aa55744f8804c0a03dcb386997e08076d"><div class="ttname"><a href="big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">HMASK_416_29</a></div><div class="ttdeci">#define HMASK_416_29</div><div class="ttdef"><b>Definition:</b> big_416_29.h:46</div></div>
-<div class="ttc" id="big__416__29_8h_html_aa57becef0fa7d70d3049f7f4641748da"><div class="ttname"><a href="big__416__29_8h.html#aa57becef0fa7d70d3049f7f4641748da">BIG_416_29_dzero</a></div><div class="ttdeci">void BIG_416_29_dzero(DBIG_416_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_416_29.c:329</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__416__60_8h.html b/website/static/cdocs/big__416__60_8h.html
index c679acf..46d8b13 100644
--- a/website/static/cdocs/big__416__60_8h.html
+++ b/website/static/cdocs/big__416__60_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_416_60.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="a6df92b82c808e8a717c28f54808a798e"></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="aca20bcde838384a74edc8740e8dc132d"></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__416__60_8h_source.html b/website/static/cdocs/big__416__60_8h_source.html
index f71c3ae..6ed3430 100644
--- a/website/static/cdocs/big__416__60_8h_source.html
+++ b/website/static/cdocs/big__416__60_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_416_60.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_416_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__416__60_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_416_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_416_60_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__416__60_8h.html">config_big_416_60.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__416__60_8h.html#a9994d8070f1ce0d6ea213808cbd0fd69">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_416_60 (8*MODBYTES_416_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">   40</a></span>&#160;<span class="preprocessor">#define NLEN_416_60 (1+((8*MODBYTES_416_60-1)/BASEBITS_416_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_416_60 2*NLEN_416_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">   42</a></span>&#160;<span class="preprocessor">#define BMASK_416_60 (((chunk)1&lt;&lt;BASEBITS_416_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a8876ed3c4e97b21fb7392a856bd41c70">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_416_60 (1&lt;&lt;(CHUNK-BASEBITS_416_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">   45</a></span>&#160;<span class="preprocessor">#define HBITS_416_60 (BASEBITS_416_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#aa64a4f8541df59159943cce57127b658">   46</a></span>&#160;<span class="preprocessor">#define HMASK_416_60 (((chunk)1&lt;&lt;HBITS_416_60)-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_416_60 NLEN_416_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_416_60 (NLEN_416_60+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__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">NLEN_416_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_416_60 DNLEN_416_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_416_60 (DNLEN_416_60+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__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">DNLEN_416_60</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__416__60_8h.html#a44dd6638775981360035b72d63fa739b">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">NLEN_416_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">DNLEN_416_60</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__416__60_8h.html#a7e94ebf52e7ae257f66363c6ac0799f6">BIG_416_60_iszilch</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a9c49df41345de0f105a4fee08e69e946">BIG_416_60_isunity</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a3ed7f7200ef21bd4f6d55ec5f70393b2">BIG_416_60_diszilch</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a372e5efea55e98d74d236bb8c1839cd2">BIG_416_60_output</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a71243d8d94cc18a57ced627be48c3efb">BIG_416_60_rawoutput</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#af55869cadc12843bd448fda8fb393151">BIG_416_60_cswap</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a4660aae017e830b1abd99570f5c7976f">BIG_416_60_cmove</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a20ff5abaeab93db9bf762caf73ea379a">BIG_416_60_dcmove</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a6e3d2294179d88e4c8f27b3b8a06e031">BIG_416_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ab5e6cd5ac8d431600469eb2c1dbb02b0">BIG_416_60_fromBytes</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a84d4f35db65ba464aaa306dc801edfd3">BIG_416_60_fromBytesLen</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a5260a3c464a36916e3fc7e7ea73d1e4c">BIG_416_60_dfromBytesLen</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a6766128129aa1c9a16b637098a961f0b">BIG_416_60_doutput</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a582ab8b92a7251bd317682a99f93e69b">BIG_416_60_drawoutput</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a09770909dcaec31c0effac0c8f7a7fd0">BIG_416_60_rcopy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a113def42be0fa6a5d6ff5a2ffb38944d">BIG_416_60_copy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a3fc78a38d18e71219f94dbe534e29be5">BIG_416_60_dcopy</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#af583384cb2b5057cf9dfa5cdd70b2412">BIG_416_60_dsucopy</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aca139fb157252ac5ec1cfca2d1246c5b">BIG_416_60_dscopy</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a5b603db2b4f2649534d9578342c5aad6">BIG_416_60_sdcopy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a4ac1440ba9f20b18c7a88f7361a8d1ab">BIG_416_60_sducopy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a8f397375caa86766a11272fb9090f12c">BIG_416_60_zero</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ae9ad2830489c59d3cc8c1396f527eaf7">BIG_416_60_dzero</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a1a1d5cbed92442b120e154808f4298f3">BIG_416_60_one</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb">BIG_416_60_invmod2m</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a883040938971d37c87ff7b02715a502f">BIG_416_60_add</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aa42d8e4022bc417e26895b19f85aa9cc">BIG_416_60_or</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ad001f306391c4246bedd44d86cd94017">BIG_416_60_inc</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a0064bf5b0ad9e1ce56719d20f219bfa7">BIG_416_60_sub</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a96351b2d8095cf8d9549056f0a8cdc87">BIG_416_60_dec</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a9714fde7e9f34abd97c2b47e723d3db2">BIG_416_60_dadd</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a25fbe23720bdfbd29c581cd6c815077e">BIG_416_60_dsub</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a2694e52bbfe1177f4f2fffc532c904e6">BIG_416_60_imul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aeea279942764dfe3511596995786edfb">BIG_416_60_pmul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ad9b13a821d7d6da5d8fdeca792bf8623">BIG_416_60_div3</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a38952466c05be959b364f664efd9167d">BIG_416_60_pxmul</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#adaec1eef5a9e4458f4c1e0eb6cf42d5d">BIG_416_60_mul</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ab62c6674158d7895e71726ec888c5fb6">BIG_416_60_smul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a32744f44d176ce480470515c1d53e021">BIG_416_60_sqr</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a179f8f261a0c6f20916ce474d4827280">BIG_416_60_monty</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> a,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a0317db9efbd9aab33365b02568fec99a">BIG_416_60_shl</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a88aea664a6a02f83783c4ee04c78dc71">BIG_416_60_fshl</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aca4723fcd0d0b02bd99633fd587560d2">BIG_416_60_dshl</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a3e53d79511a527e6c325789857c0281e">BIG_416_60_shr</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a1bdb5b7d999039e8234e85fa60b8d518">BIG_416_60_ssn</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> r,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> a, <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a13d8d211baf4897b6c33ca6b21c5f0f3">BIG_416_60_fshr</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a8f6ce4da6cc2b5d66989605c05f26fbe">BIG_416_60_dshr</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a2029e403800db3612cbb29052c80d457">BIG_416_60_split</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a108b73bf82757a122ec1a3fc737faa06">BIG_416_60_norm</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a50201152f0e34f80ae8d6cbd387dabde">BIG_416_60_dnorm</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a0be012c91e78401f894a8579fd8c4698">BIG_416_60_comp</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a109bd9c29e1afc5712811b4185c4345f">BIG_416_60_dcomp</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#aa781ee121685db423a163c28e7d95380">BIG_416_60_nbits</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a6df92b82c808e8a717c28f54808a798e">BIG_416_60_dnbits</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#af251efcd545ac8c988483139dadb7c8d">BIG_416_60_mod</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#add26e6050070fcf508b52cb7d61c0284">BIG_416_60_sdiv</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aa946c4bab60a34a50f232e1d3538385d">BIG_416_60_dmod</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#abbc4d7fc585adf4aaf4e2a32f87cacc1">BIG_416_60_ddiv</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#af4bbfb57c8eecc96e44b9cb60371baeb">BIG_416_60_parity</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a857d102cb2db42d9915c05d56f2b494d">BIG_416_60_bit</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aed8a61f10f59c3db0f9a60bcfa056eef">BIG_416_60_lastbits</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a9c958a026235febf76bf91395045f012">BIG_416_60_random</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ab2a4487cb13dd3a25784ab7c207a6fb0">BIG_416_60_randomnum</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aa607f7a0b0a0824c3639d8d05e3d852a">BIG_416_60_modmul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> z,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aca20bcde838384a74edc8740e8dc132d">BIG_416_60_moddiv</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> z,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a377f3d686542561a641f0cc02d365bc4">BIG_416_60_modsqr</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a942c393a99988261195aa620ed06d4fe">BIG_416_60_modneg</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aee1a3725023f0137e6b955cc83509647">BIG_416_60_jacobi</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a98ec049dcf151c0ac808b23dac571f87">BIG_416_60_invmodp</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a435e1ff5f005625b1ef07a8ea66fb53c">BIG_416_60_mod2m</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a089cdc486b7e96f85668a70fc3aa5810">BIG_416_60_dmod2m</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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_416_60(<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__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">BMASK_416_60</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__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">BASEBITS_416_60</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_416_60(<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__416__60_8h.html#aa64a4f8541df59159943cce57127b658">HMASK_416_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__416__60_8h.html#aa64a4f8541df59159943cce57127b658">HMASK_416_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</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__416__60_8h.html#aa64a4f8541df59159943cce57127b658">HMASK_416_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</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__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">BASEBITS_416_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">BMASK_416_60</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__416__60_8h_html_a38952466c05be959b364f664efd9167d"><div class="ttname"><a href="big__416__60_8h.html#a38952466c05be959b364f664efd9167d">BIG_416_60_pxmul</a></div><div class="ttdeci">void BIG_416_60_pxmul(DBIG_416_60 x, BIG_416_60 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_416_60.c:501</div></div>
-<div class="ttc" id="big__416__60_8h_html_abbc4d7fc585adf4aaf4e2a32f87cacc1"><div class="ttname"><a href="big__416__60_8h.html#abbc4d7fc585adf4aaf4e2a32f87cacc1">BIG_416_60_ddiv</a></div><div class="ttdeci">void BIG_416_60_ddiv(BIG_416_60 x, DBIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1149</div></div>
-<div class="ttc" id="big__416__60_8h_html_a84d4f35db65ba464aaa306dc801edfd3"><div class="ttname"><a href="big__416__60_8h.html#a84d4f35db65ba464aaa306dc801edfd3">BIG_416_60_fromBytesLen</a></div><div class="ttdeci">void BIG_416_60_fromBytesLen(BIG_416_60 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_416_60.c:170</div></div>
-<div class="ttc" id="big__416__60_8h_html_af251efcd545ac8c988483139dadb7c8d"><div class="ttname"><a href="big__416__60_8h.html#af251efcd545ac8c988483139dadb7c8d">BIG_416_60_mod</a></div><div class="ttdeci">void BIG_416_60_mod(BIG_416_60 x, BIG_416_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1082</div></div>
-<div class="ttc" id="big__416__60_8h_html_ad9b13a821d7d6da5d8fdeca792bf8623"><div class="ttname"><a href="big__416__60_8h.html#ad9b13a821d7d6da5d8fdeca792bf8623">BIG_416_60_div3</a></div><div class="ttdeci">int BIG_416_60_div3(BIG_416_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:484</div></div>
-<div class="ttc" id="big__416__60_8h_html_a582ab8b92a7251bd317682a99f93e69b"><div class="ttname"><a href="big__416__60_8h.html#a582ab8b92a7251bd317682a99f93e69b">BIG_416_60_drawoutput</a></div><div class="ttdeci">void BIG_416_60_drawoutput(DBIG_416_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:212</div></div>
-<div class="ttc" id="big__416__60_8h_html_a108b73bf82757a122ec1a3fc737faa06"><div class="ttname"><a href="big__416__60_8h.html#a108b73bf82757a122ec1a3fc737faa06">BIG_416_60_norm</a></div><div class="ttdeci">chunk BIG_416_60_norm(BIG_416_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:976</div></div>
+<a href="big__416__60_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_416_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_416_60_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__416__60_8h.html">config_big_416_60.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__416__60_8h.html#a9994d8070f1ce0d6ea213808cbd0fd69">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_416_60 (8*MODBYTES_416_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">   40</a></span>&#160;<span class="preprocessor">#define NLEN_416_60 (1+((8*MODBYTES_416_60-1)/BASEBITS_416_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_416_60 2*NLEN_416_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">   42</a></span>&#160;<span class="preprocessor">#define BMASK_416_60 (((chunk)1&lt;&lt;BASEBITS_416_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a8876ed3c4e97b21fb7392a856bd41c70">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_416_60 (1&lt;&lt;(CHUNK-BASEBITS_416_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">   45</a></span>&#160;<span class="preprocessor">#define HBITS_416_60 (BASEBITS_416_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#aa64a4f8541df59159943cce57127b658">   46</a></span>&#160;<span class="preprocessor">#define HMASK_416_60 (((chunk)1&lt;&lt;HBITS_416_60)-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_416_60 NLEN_416_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_416_60 (NLEN_416_60+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__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">NLEN_416_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_416_60 DNLEN_416_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_416_60 (DNLEN_416_60+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__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">DNLEN_416_60</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__416__60_8h.html#a44dd6638775981360035b72d63fa739b">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">NLEN_416_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a>[<a class="code" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">DNLEN_416_60</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__416__60_8h.html#a7e94ebf52e7ae257f66363c6ac0799f6">BIG_416_60_iszilch</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a9c49df41345de0f105a4fee08e69e946">BIG_416_60_isunity</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a3ed7f7200ef21bd4f6d55ec5f70393b2">BIG_416_60_diszilch</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a372e5efea55e98d74d236bb8c1839cd2">BIG_416_60_output</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a71243d8d94cc18a57ced627be48c3efb">BIG_416_60_rawoutput</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#af55869cadc12843bd448fda8fb393151">BIG_416_60_cswap</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a4660aae017e830b1abd99570f5c7976f">BIG_416_60_cmove</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a20ff5abaeab93db9bf762caf73ea379a">BIG_416_60_dcmove</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a6e3d2294179d88e4c8f27b3b8a06e031">BIG_416_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ab5e6cd5ac8d431600469eb2c1dbb02b0">BIG_416_60_fromBytes</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a84d4f35db65ba464aaa306dc801edfd3">BIG_416_60_fromBytesLen</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a5260a3c464a36916e3fc7e7ea73d1e4c">BIG_416_60_dfromBytesLen</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a6766128129aa1c9a16b637098a961f0b">BIG_416_60_doutput</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a582ab8b92a7251bd317682a99f93e69b">BIG_416_60_drawoutput</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a09770909dcaec31c0effac0c8f7a7fd0">BIG_416_60_rcopy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a113def42be0fa6a5d6ff5a2ffb38944d">BIG_416_60_copy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a3fc78a38d18e71219f94dbe534e29be5">BIG_416_60_dcopy</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#af583384cb2b5057cf9dfa5cdd70b2412">BIG_416_60_dsucopy</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aca139fb157252ac5ec1cfca2d1246c5b">BIG_416_60_dscopy</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a5b603db2b4f2649534d9578342c5aad6">BIG_416_60_sdcopy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a4ac1440ba9f20b18c7a88f7361a8d1ab">BIG_416_60_sducopy</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a8f397375caa86766a11272fb9090f12c">BIG_416_60_zero</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ae9ad2830489c59d3cc8c1396f527eaf7">BIG_416_60_dzero</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a1a1d5cbed92442b120e154808f4298f3">BIG_416_60_one</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb">BIG_416_60_invmod2m</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a883040938971d37c87ff7b02715a502f">BIG_416_60_add</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aa42d8e4022bc417e26895b19f85aa9cc">BIG_416_60_or</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ad001f306391c4246bedd44d86cd94017">BIG_416_60_inc</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a0064bf5b0ad9e1ce56719d20f219bfa7">BIG_416_60_sub</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a96351b2d8095cf8d9549056f0a8cdc87">BIG_416_60_dec</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a9714fde7e9f34abd97c2b47e723d3db2">BIG_416_60_dadd</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a25fbe23720bdfbd29c581cd6c815077e">BIG_416_60_dsub</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a2694e52bbfe1177f4f2fffc532c904e6">BIG_416_60_imul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aeea279942764dfe3511596995786edfb">BIG_416_60_pmul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ad9b13a821d7d6da5d8fdeca792bf8623">BIG_416_60_div3</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a38952466c05be959b364f664efd9167d">BIG_416_60_pxmul</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#adaec1eef5a9e4458f4c1e0eb6cf42d5d">BIG_416_60_mul</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ab62c6674158d7895e71726ec888c5fb6">BIG_416_60_smul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a32744f44d176ce480470515c1d53e021">BIG_416_60_sqr</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a179f8f261a0c6f20916ce474d4827280">BIG_416_60_monty</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> a,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a0317db9efbd9aab33365b02568fec99a">BIG_416_60_shl</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a88aea664a6a02f83783c4ee04c78dc71">BIG_416_60_fshl</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aca4723fcd0d0b02bd99633fd587560d2">BIG_416_60_dshl</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a3e53d79511a527e6c325789857c0281e">BIG_416_60_shr</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a1bdb5b7d999039e8234e85fa60b8d518">BIG_416_60_ssn</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> r,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> a, <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a13d8d211baf4897b6c33ca6b21c5f0f3">BIG_416_60_fshr</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a8f6ce4da6cc2b5d66989605c05f26fbe">BIG_416_60_dshr</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a2029e403800db3612cbb29052c80d457">BIG_416_60_split</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a108b73bf82757a122ec1a3fc737faa06">BIG_416_60_norm</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a50201152f0e34f80ae8d6cbd387dabde">BIG_416_60_dnorm</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#a0be012c91e78401f894a8579fd8c4698">BIG_416_60_comp</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a109bd9c29e1afc5712811b4185c4345f">BIG_416_60_dcomp</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#aa781ee121685db423a163c28e7d95380">BIG_416_60_nbits</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a6df92b82c808e8a717c28f54808a798e">BIG_416_60_dnbits</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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__416__60_8h.html#af251efcd545ac8c988483139dadb7c8d">BIG_416_60_mod</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#add26e6050070fcf508b52cb7d61c0284">BIG_416_60_sdiv</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aa946c4bab60a34a50f232e1d3538385d">BIG_416_60_dmod</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#abbc4d7fc585adf4aaf4e2a32f87cacc1">BIG_416_60_ddiv</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#af4bbfb57c8eecc96e44b9cb60371baeb">BIG_416_60_parity</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a857d102cb2db42d9915c05d56f2b494d">BIG_416_60_bit</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aed8a61f10f59c3db0f9a60bcfa056eef">BIG_416_60_lastbits</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a9c958a026235febf76bf91395045f012">BIG_416_60_random</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#ab2a4487cb13dd3a25784ab7c207a6fb0">BIG_416_60_randomnum</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aa607f7a0b0a0824c3639d8d05e3d852a">BIG_416_60_modmul</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> z,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aca20bcde838384a74edc8740e8dc132d">BIG_416_60_moddiv</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> z,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a377f3d686542561a641f0cc02d365bc4">BIG_416_60_modsqr</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a942c393a99988261195aa620ed06d4fe">BIG_416_60_modneg</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#aee1a3725023f0137e6b955cc83509647">BIG_416_60_jacobi</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a98ec049dcf151c0ac808b23dac571f87">BIG_416_60_invmodp</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a435e1ff5f005625b1ef07a8ea66fb53c">BIG_416_60_mod2m</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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__416__60_8h.html#a089cdc486b7e96f85668a70fc3aa5810">BIG_416_60_dmod2m</a>(<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</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_416_60(<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__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">BMASK_416_60</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__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">BASEBITS_416_60</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_416_60(<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__416__60_8h.html#aa64a4f8541df59159943cce57127b658">HMASK_416_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__416__60_8h.html#aa64a4f8541df59159943cce57127b658">HMASK_416_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</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__416__60_8h.html#aa64a4f8541df59159943cce57127b658">HMASK_416_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</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__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">BASEBITS_416_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">BMASK_416_60</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__416__60_8h_html_a38952466c05be959b364f664efd9167d"><div class="ttname"><a href="big__416__60_8h.html#a38952466c05be959b364f664efd9167d">BIG_416_60_pxmul</a></div><div class="ttdeci">void BIG_416_60_pxmul(DBIG_416_60 x, BIG_416_60 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_416_60.c:501</div></div>
+<div class="ttc" id="big__416__60_8h_html_abbc4d7fc585adf4aaf4e2a32f87cacc1"><div class="ttname"><a href="big__416__60_8h.html#abbc4d7fc585adf4aaf4e2a32f87cacc1">BIG_416_60_ddiv</a></div><div class="ttdeci">void BIG_416_60_ddiv(BIG_416_60 x, DBIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1149</div></div>
+<div class="ttc" id="big__416__60_8h_html_a84d4f35db65ba464aaa306dc801edfd3"><div class="ttname"><a href="big__416__60_8h.html#a84d4f35db65ba464aaa306dc801edfd3">BIG_416_60_fromBytesLen</a></div><div class="ttdeci">void BIG_416_60_fromBytesLen(BIG_416_60 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_416_60.c:170</div></div>
+<div class="ttc" id="big__416__60_8h_html_af251efcd545ac8c988483139dadb7c8d"><div class="ttname"><a href="big__416__60_8h.html#af251efcd545ac8c988483139dadb7c8d">BIG_416_60_mod</a></div><div class="ttdeci">void BIG_416_60_mod(BIG_416_60 x, BIG_416_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1082</div></div>
+<div class="ttc" id="big__416__60_8h_html_ad9b13a821d7d6da5d8fdeca792bf8623"><div class="ttname"><a href="big__416__60_8h.html#ad9b13a821d7d6da5d8fdeca792bf8623">BIG_416_60_div3</a></div><div class="ttdeci">int BIG_416_60_div3(BIG_416_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:484</div></div>
+<div class="ttc" id="big__416__60_8h_html_a582ab8b92a7251bd317682a99f93e69b"><div class="ttname"><a href="big__416__60_8h.html#a582ab8b92a7251bd317682a99f93e69b">BIG_416_60_drawoutput</a></div><div class="ttdeci">void BIG_416_60_drawoutput(DBIG_416_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:212</div></div>
+<div class="ttc" id="big__416__60_8h_html_a108b73bf82757a122ec1a3fc737faa06"><div class="ttname"><a href="big__416__60_8h.html#a108b73bf82757a122ec1a3fc737faa06">BIG_416_60_norm</a></div><div class="ttdeci">chunk BIG_416_60_norm(BIG_416_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:976</div></div>
 <div class="ttc" id="big__416__60_8h_html_a8a5de4d1220b566cacb911e18caf3c7d"><div class="ttname"><a href="big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">BMASK_416_60</a></div><div class="ttdeci">#define BMASK_416_60</div><div class="ttdef"><b>Definition:</b> big_416_60.h:42</div></div>
-<div class="ttc" id="big__416__60_8h_html_ac1668a46969f6961e4d4e5a8887e54cb"><div class="ttname"><a href="big__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb">BIG_416_60_invmod2m</a></div><div class="ttdeci">void BIG_416_60_invmod2m(BIG_416_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__416__60_8h_html_aa607f7a0b0a0824c3639d8d05e3d852a"><div class="ttname"><a href="big__416__60_8h.html#aa607f7a0b0a0824c3639d8d05e3d852a">BIG_416_60_modmul</a></div><div class="ttdeci">void BIG_416_60_modmul(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z, BIG_416_60 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1300</div></div>
-<div class="ttc" id="big__416__60_8h_html_ad001f306391c4246bedd44d86cd94017"><div class="ttname"><a href="big__416__60_8h.html#ad001f306391c4246bedd44d86cd94017">BIG_416_60_inc</a></div><div class="ttdeci">void BIG_416_60_inc(BIG_416_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:386</div></div>
-<div class="ttc" id="big__416__60_8h_html_ab2a4487cb13dd3a25784ab7c207a6fb0"><div class="ttname"><a href="big__416__60_8h.html#ab2a4487cb13dd3a25784ab7c207a6fb0">BIG_416_60_randomnum</a></div><div class="ttdeci">void BIG_416_60_randomnum(BIG_416_60 x, BIG_416_60 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_416_60.c:1274</div></div>
-<div class="ttc" id="big__416__60_8h_html_adaec1eef5a9e4458f4c1e0eb6cf42d5d"><div class="ttname"><a href="big__416__60_8h.html#adaec1eef5a9e4458f4c1e0eb6cf42d5d">BIG_416_60_mul</a></div><div class="ttdeci">void BIG_416_60_mul(DBIG_416_60 x, BIG_416_60 y, BIG_416_60 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_416_60.c:542</div></div>
-<div class="ttc" id="big__416__60_8h_html_a3e53d79511a527e6c325789857c0281e"><div class="ttname"><a href="big__416__60_8h.html#a3e53d79511a527e6c325789857c0281e">BIG_416_60_shr</a></div><div class="ttdeci">void BIG_416_60_shr(BIG_416_60 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_416_60.c:864</div></div>
+<div class="ttc" id="big__416__60_8h_html_ac1668a46969f6961e4d4e5a8887e54cb"><div class="ttname"><a href="big__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb">BIG_416_60_invmod2m</a></div><div class="ttdeci">void BIG_416_60_invmod2m(BIG_416_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1432</div></div>
+<div class="ttc" id="big__416__60_8h_html_aa607f7a0b0a0824c3639d8d05e3d852a"><div class="ttname"><a href="big__416__60_8h.html#aa607f7a0b0a0824c3639d8d05e3d852a">BIG_416_60_modmul</a></div><div class="ttdeci">void BIG_416_60_modmul(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z, BIG_416_60 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1300</div></div>
+<div class="ttc" id="big__416__60_8h_html_ad001f306391c4246bedd44d86cd94017"><div class="ttname"><a href="big__416__60_8h.html#ad001f306391c4246bedd44d86cd94017">BIG_416_60_inc</a></div><div class="ttdeci">void BIG_416_60_inc(BIG_416_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:386</div></div>
+<div class="ttc" id="big__416__60_8h_html_ab2a4487cb13dd3a25784ab7c207a6fb0"><div class="ttname"><a href="big__416__60_8h.html#ab2a4487cb13dd3a25784ab7c207a6fb0">BIG_416_60_randomnum</a></div><div class="ttdeci">void BIG_416_60_randomnum(BIG_416_60 x, BIG_416_60 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_416_60.c:1274</div></div>
+<div class="ttc" id="big__416__60_8h_html_adaec1eef5a9e4458f4c1e0eb6cf42d5d"><div class="ttname"><a href="big__416__60_8h.html#adaec1eef5a9e4458f4c1e0eb6cf42d5d">BIG_416_60_mul</a></div><div class="ttdeci">void BIG_416_60_mul(DBIG_416_60 x, BIG_416_60 y, BIG_416_60 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_416_60.c:542</div></div>
+<div class="ttc" id="big__416__60_8h_html_a3e53d79511a527e6c325789857c0281e"><div class="ttname"><a href="big__416__60_8h.html#a3e53d79511a527e6c325789857c0281e">BIG_416_60_shr</a></div><div class="ttdeci">void BIG_416_60_shr(BIG_416_60 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_416_60.c:864</div></div>
 <div class="ttc" id="big__416__60_8h_html_a5dc14d80e14a231cc3abf83d6bf47ab2"><div class="ttname"><a href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a></div><div class="ttdeci">chunk DBIG_416_60[DNLEN_416_60]</div><div class="ttdef"><b>Definition:</b> big_416_60.h:59</div></div>
-<div class="ttc" id="big__416__60_8h_html_aa946c4bab60a34a50f232e1d3538385d"><div class="ttname"><a href="big__416__60_8h.html#aa946c4bab60a34a50f232e1d3538385d">BIG_416_60_dmod</a></div><div class="ttdeci">void BIG_416_60_dmod(BIG_416_60 x, DBIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1113</div></div>
-<div class="ttc" id="big__416__60_8h_html_a1bdb5b7d999039e8234e85fa60b8d518"><div class="ttname"><a href="big__416__60_8h.html#a1bdb5b7d999039e8234e85fa60b8d518">BIG_416_60_ssn</a></div><div class="ttdeci">int BIG_416_60_ssn(BIG_416_60 r, BIG_416_60 a, BIG_416_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:877</div></div>
+<div class="ttc" id="big__416__60_8h_html_aa946c4bab60a34a50f232e1d3538385d"><div class="ttname"><a href="big__416__60_8h.html#aa946c4bab60a34a50f232e1d3538385d">BIG_416_60_dmod</a></div><div class="ttdeci">void BIG_416_60_dmod(BIG_416_60 x, DBIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1113</div></div>
+<div class="ttc" id="big__416__60_8h_html_a1bdb5b7d999039e8234e85fa60b8d518"><div class="ttname"><a href="big__416__60_8h.html#a1bdb5b7d999039e8234e85fa60b8d518">BIG_416_60_ssn</a></div><div class="ttdeci">int BIG_416_60_ssn(BIG_416_60 r, BIG_416_60 a, BIG_416_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:877</div></div>
 <div class="ttc" id="big__416__60_8h_html_a88aea664a6a02f83783c4ee04c78dc71"><div class="ttname"><a href="big__416__60_8h.html#a88aea664a6a02f83783c4ee04c78dc71">BIG_416_60_fshl</a></div><div class="ttdeci">int BIG_416_60_fshl(BIG_416_60 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_416_60.c:832</div></div>
-<div class="ttc" id="big__416__60_8h_html_a8f6ce4da6cc2b5d66989605c05f26fbe"><div class="ttname"><a href="big__416__60_8h.html#a8f6ce4da6cc2b5d66989605c05f26fbe">BIG_416_60_dshr</a></div><div class="ttdeci">void BIG_416_60_dshr(DBIG_416_60 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_416_60.c:918</div></div>
-<div class="ttc" id="big__416__60_8h_html_aed8a61f10f59c3db0f9a60bcfa056eef"><div class="ttname"><a href="big__416__60_8h.html#aed8a61f10f59c3db0f9a60bcfa056eef">BIG_416_60_lastbits</a></div><div class="ttdeci">int BIG_416_60_lastbits(BIG_416_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1240</div></div>
-<div class="ttc" id="big__416__60_8h_html_a7e94ebf52e7ae257f66363c6ac0799f6"><div class="ttname"><a href="big__416__60_8h.html#a7e94ebf52e7ae257f66363c6ac0799f6">BIG_416_60_iszilch</a></div><div class="ttdeci">int BIG_416_60_iszilch(BIG_416_60 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:26</div></div>
-<div class="ttc" id="big__416__60_8h_html_a435e1ff5f005625b1ef07a8ea66fb53c"><div class="ttname"><a href="big__416__60_8h.html#a435e1ff5f005625b1ef07a8ea66fb53c">BIG_416_60_mod2m</a></div><div class="ttdeci">void BIG_416_60_mod2m(BIG_416_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1456</div></div>
-<div class="ttc" id="big__416__60_8h_html_a377f3d686542561a641f0cc02d365bc4"><div class="ttname"><a href="big__416__60_8h.html#a377f3d686542561a641f0cc02d365bc4">BIG_416_60_modsqr</a></div><div class="ttdeci">void BIG_416_60_modsqr(BIG_416_60 x, BIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1315</div></div>
+<div class="ttc" id="big__416__60_8h_html_a8f6ce4da6cc2b5d66989605c05f26fbe"><div class="ttname"><a href="big__416__60_8h.html#a8f6ce4da6cc2b5d66989605c05f26fbe">BIG_416_60_dshr</a></div><div class="ttdeci">void BIG_416_60_dshr(DBIG_416_60 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_416_60.c:918</div></div>
+<div class="ttc" id="big__416__60_8h_html_aed8a61f10f59c3db0f9a60bcfa056eef"><div class="ttname"><a href="big__416__60_8h.html#aed8a61f10f59c3db0f9a60bcfa056eef">BIG_416_60_lastbits</a></div><div class="ttdeci">int BIG_416_60_lastbits(BIG_416_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1240</div></div>
+<div class="ttc" id="big__416__60_8h_html_a7e94ebf52e7ae257f66363c6ac0799f6"><div class="ttname"><a href="big__416__60_8h.html#a7e94ebf52e7ae257f66363c6ac0799f6">BIG_416_60_iszilch</a></div><div class="ttdeci">int BIG_416_60_iszilch(BIG_416_60 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:26</div></div>
+<div class="ttc" id="big__416__60_8h_html_a435e1ff5f005625b1ef07a8ea66fb53c"><div class="ttname"><a href="big__416__60_8h.html#a435e1ff5f005625b1ef07a8ea66fb53c">BIG_416_60_mod2m</a></div><div class="ttdeci">void BIG_416_60_mod2m(BIG_416_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1540</div></div>
+<div class="ttc" id="big__416__60_8h_html_a377f3d686542561a641f0cc02d365bc4"><div class="ttname"><a href="big__416__60_8h.html#a377f3d686542561a641f0cc02d365bc4">BIG_416_60_modsqr</a></div><div class="ttdeci">void BIG_416_60_modsqr(BIG_416_60 x, BIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1315</div></div>
 <div class="ttc" id="big__416__60_8h_html_a540344a81c9a457ddbd02afe7a143478"><div class="ttname"><a href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">HBITS_416_60</a></div><div class="ttdeci">#define HBITS_416_60</div><div class="ttdef"><b>Definition:</b> big_416_60.h:45</div></div>
-<div class="ttc" id="big__416__60_8h_html_ab5e6cd5ac8d431600469eb2c1dbb02b0"><div class="ttname"><a href="big__416__60_8h.html#ab5e6cd5ac8d431600469eb2c1dbb02b0">BIG_416_60_fromBytes</a></div><div class="ttdeci">void BIG_416_60_fromBytes(BIG_416_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:155</div></div>
-<div class="ttc" id="big__416__60_8h_html_a3fc78a38d18e71219f94dbe534e29be5"><div class="ttname"><a href="big__416__60_8h.html#a3fc78a38d18e71219f94dbe534e29be5">BIG_416_60_dcopy</a></div><div class="ttdeci">void BIG_416_60_dcopy(DBIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:251</div></div>
-<div class="ttc" id="big__416__60_8h_html_a4ac1440ba9f20b18c7a88f7361a8d1ab"><div class="ttname"><a href="big__416__60_8h.html#a4ac1440ba9f20b18c7a88f7361a8d1ab">BIG_416_60_sducopy</a></div><div class="ttdeci">void BIG_416_60_sducopy(BIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:306</div></div>
-<div class="ttc" id="big__416__60_8h_html_aa42d8e4022bc417e26895b19f85aa9cc"><div class="ttname"><a href="big__416__60_8h.html#aa42d8e4022bc417e26895b19f85aa9cc">BIG_416_60_or</a></div><div class="ttdeci">void BIG_416_60_or(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:371</div></div>
-<div class="ttc" id="big__416__60_8h_html_a71243d8d94cc18a57ced627be48c3efb"><div class="ttname"><a href="big__416__60_8h.html#a71243d8d94cc18a57ced627be48c3efb">BIG_416_60_rawoutput</a></div><div class="ttdeci">void BIG_416_60_rawoutput(BIG_416_60 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_416_60.c:77</div></div>
-<div class="ttc" id="big__416__60_8h_html_aeea279942764dfe3511596995786edfb"><div class="ttname"><a href="big__416__60_8h.html#aeea279942764dfe3511596995786edfb">BIG_416_60_pmul</a></div><div class="ttdeci">chunk BIG_416_60_pmul(BIG_416_60 x, BIG_416_60 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_416_60.c:465</div></div>
-<div class="ttc" id="big__416__60_8h_html_a372e5efea55e98d74d236bb8c1839cd2"><div class="ttname"><a href="big__416__60_8h.html#a372e5efea55e98d74d236bb8c1839cd2">BIG_416_60_output</a></div><div class="ttdeci">void BIG_416_60_output(BIG_416_60 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:55</div></div>
-<div class="ttc" id="big__416__60_8h_html_aa781ee121685db423a163c28e7d95380"><div class="ttname"><a href="big__416__60_8h.html#aa781ee121685db423a163c28e7d95380">BIG_416_60_nbits</a></div><div class="ttdeci">int BIG_416_60_nbits(BIG_416_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1040</div></div>
-<div class="ttc" id="big__416__60_8h_html_a1a1d5cbed92442b120e154808f4298f3"><div class="ttname"><a href="big__416__60_8h.html#a1a1d5cbed92442b120e154808f4298f3">BIG_416_60_one</a></div><div class="ttdeci">void BIG_416_60_one(BIG_416_60 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_416_60.c:340</div></div>
-<div class="ttc" id="big__416__60_8h_html_a98ec049dcf151c0ac808b23dac571f87"><div class="ttname"><a href="big__416__60_8h.html#a98ec049dcf151c0ac808b23dac571f87">BIG_416_60_invmodp</a></div><div class="ttdeci">void BIG_416_60_invmodp(BIG_416_60 x, BIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1392</div></div>
-<div class="ttc" id="big__416__60_8h_html_ab62c6674158d7895e71726ec888c5fb6"><div class="ttname"><a href="big__416__60_8h.html#ab62c6674158d7895e71726ec888c5fb6">BIG_416_60_smul</a></div><div class="ttdeci">void BIG_416_60_smul(BIG_416_60 x, BIG_416_60 y, BIG_416_60 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_416_60.c:518</div></div>
+<div class="ttc" id="big__416__60_8h_html_ab5e6cd5ac8d431600469eb2c1dbb02b0"><div class="ttname"><a href="big__416__60_8h.html#ab5e6cd5ac8d431600469eb2c1dbb02b0">BIG_416_60_fromBytes</a></div><div class="ttdeci">void BIG_416_60_fromBytes(BIG_416_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:155</div></div>
+<div class="ttc" id="big__416__60_8h_html_a3fc78a38d18e71219f94dbe534e29be5"><div class="ttname"><a href="big__416__60_8h.html#a3fc78a38d18e71219f94dbe534e29be5">BIG_416_60_dcopy</a></div><div class="ttdeci">void BIG_416_60_dcopy(DBIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:251</div></div>
+<div class="ttc" id="big__416__60_8h_html_a4ac1440ba9f20b18c7a88f7361a8d1ab"><div class="ttname"><a href="big__416__60_8h.html#a4ac1440ba9f20b18c7a88f7361a8d1ab">BIG_416_60_sducopy</a></div><div class="ttdeci">void BIG_416_60_sducopy(BIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:306</div></div>
+<div class="ttc" id="big__416__60_8h_html_aa42d8e4022bc417e26895b19f85aa9cc"><div class="ttname"><a href="big__416__60_8h.html#aa42d8e4022bc417e26895b19f85aa9cc">BIG_416_60_or</a></div><div class="ttdeci">void BIG_416_60_or(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:371</div></div>
+<div class="ttc" id="big__416__60_8h_html_a71243d8d94cc18a57ced627be48c3efb"><div class="ttname"><a href="big__416__60_8h.html#a71243d8d94cc18a57ced627be48c3efb">BIG_416_60_rawoutput</a></div><div class="ttdeci">void BIG_416_60_rawoutput(BIG_416_60 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_416_60.c:77</div></div>
+<div class="ttc" id="big__416__60_8h_html_aeea279942764dfe3511596995786edfb"><div class="ttname"><a href="big__416__60_8h.html#aeea279942764dfe3511596995786edfb">BIG_416_60_pmul</a></div><div class="ttdeci">chunk BIG_416_60_pmul(BIG_416_60 x, BIG_416_60 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_416_60.c:465</div></div>
+<div class="ttc" id="big__416__60_8h_html_a372e5efea55e98d74d236bb8c1839cd2"><div class="ttname"><a href="big__416__60_8h.html#a372e5efea55e98d74d236bb8c1839cd2">BIG_416_60_output</a></div><div class="ttdeci">void BIG_416_60_output(BIG_416_60 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:55</div></div>
+<div class="ttc" id="big__416__60_8h_html_aa781ee121685db423a163c28e7d95380"><div class="ttname"><a href="big__416__60_8h.html#aa781ee121685db423a163c28e7d95380">BIG_416_60_nbits</a></div><div class="ttdeci">int BIG_416_60_nbits(BIG_416_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1040</div></div>
+<div class="ttc" id="big__416__60_8h_html_a1a1d5cbed92442b120e154808f4298f3"><div class="ttname"><a href="big__416__60_8h.html#a1a1d5cbed92442b120e154808f4298f3">BIG_416_60_one</a></div><div class="ttdeci">void BIG_416_60_one(BIG_416_60 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_416_60.c:340</div></div>
+<div class="ttc" id="big__416__60_8h_html_a98ec049dcf151c0ac808b23dac571f87"><div class="ttname"><a href="big__416__60_8h.html#a98ec049dcf151c0ac808b23dac571f87">BIG_416_60_invmodp</a></div><div class="ttdeci">void BIG_416_60_invmodp(BIG_416_60 x, BIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1476</div></div>
+<div class="ttc" id="big__416__60_8h_html_ab62c6674158d7895e71726ec888c5fb6"><div class="ttname"><a href="big__416__60_8h.html#ab62c6674158d7895e71726ec888c5fb6">BIG_416_60_smul</a></div><div class="ttdeci">void BIG_416_60_smul(BIG_416_60 x, BIG_416_60 y, BIG_416_60 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_416_60.c:518</div></div>
 <div class="ttc" id="big__416__60_8h_html_a13d8d211baf4897b6c33ca6b21c5f0f3"><div class="ttname"><a href="big__416__60_8h.html#a13d8d211baf4897b6c33ca6b21c5f0f3">BIG_416_60_fshr</a></div><div class="ttdeci">int BIG_416_60_fshr(BIG_416_60 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_416_60.c:906</div></div>
-<div class="ttc" id="big__416__60_8h_html_a883040938971d37c87ff7b02715a502f"><div class="ttname"><a href="big__416__60_8h.html#a883040938971d37c87ff7b02715a502f">BIG_416_60_add</a></div><div class="ttdeci">void BIG_416_60_add(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:356</div></div>
-<div class="ttc" id="big__416__60_8h_html_a9c49df41345de0f105a4fee08e69e946"><div class="ttname"><a href="big__416__60_8h.html#a9c49df41345de0f105a4fee08e69e946">BIG_416_60_isunity</a></div><div class="ttdeci">int BIG_416_60_isunity(BIG_416_60 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:35</div></div>
-<div class="ttc" id="big__416__60_8h_html_a0317db9efbd9aab33365b02568fec99a"><div class="ttname"><a href="big__416__60_8h.html#a0317db9efbd9aab33365b02568fec99a">BIG_416_60_shl</a></div><div class="ttdeci">void BIG_416_60_shl(BIG_416_60 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_416_60.c:813</div></div>
-<div class="ttc" id="big__416__60_8h_html_a2694e52bbfe1177f4f2fffc532c904e6"><div class="ttname"><a href="big__416__60_8h.html#a2694e52bbfe1177f4f2fffc532c904e6">BIG_416_60_imul</a></div><div class="ttdeci">void BIG_416_60_imul(BIG_416_60 x, BIG_416_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:450</div></div>
-<div class="ttc" id="big__416__60_8h_html_a5260a3c464a36916e3fc7e7ea73d1e4c"><div class="ttname"><a href="big__416__60_8h.html#a5260a3c464a36916e3fc7e7ea73d1e4c">BIG_416_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_416_60_dfromBytesLen(DBIG_416_60 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_416_60.c:1485</div></div>
-<div class="ttc" id="big__416__60_8h_html_a3ed7f7200ef21bd4f6d55ec5f70393b2"><div class="ttname"><a href="big__416__60_8h.html#a3ed7f7200ef21bd4f6d55ec5f70393b2">BIG_416_60_diszilch</a></div><div class="ttdeci">int BIG_416_60_diszilch(DBIG_416_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:45</div></div>
-<div class="ttc" id="big__416__60_8h_html_a25fbe23720bdfbd29c581cd6c815077e"><div class="ttname"><a href="big__416__60_8h.html#a25fbe23720bdfbd29c581cd6c815077e">BIG_416_60_dsub</a></div><div class="ttdeci">void BIG_416_60_dsub(DBIG_416_60 x, DBIG_416_60 y, DBIG_416_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:413</div></div>
+<div class="ttc" id="big__416__60_8h_html_a883040938971d37c87ff7b02715a502f"><div class="ttname"><a href="big__416__60_8h.html#a883040938971d37c87ff7b02715a502f">BIG_416_60_add</a></div><div class="ttdeci">void BIG_416_60_add(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:356</div></div>
+<div class="ttc" id="big__416__60_8h_html_a9c49df41345de0f105a4fee08e69e946"><div class="ttname"><a href="big__416__60_8h.html#a9c49df41345de0f105a4fee08e69e946">BIG_416_60_isunity</a></div><div class="ttdeci">int BIG_416_60_isunity(BIG_416_60 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:35</div></div>
+<div class="ttc" id="big__416__60_8h_html_a0317db9efbd9aab33365b02568fec99a"><div class="ttname"><a href="big__416__60_8h.html#a0317db9efbd9aab33365b02568fec99a">BIG_416_60_shl</a></div><div class="ttdeci">void BIG_416_60_shl(BIG_416_60 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_416_60.c:813</div></div>
+<div class="ttc" id="big__416__60_8h_html_a2694e52bbfe1177f4f2fffc532c904e6"><div class="ttname"><a href="big__416__60_8h.html#a2694e52bbfe1177f4f2fffc532c904e6">BIG_416_60_imul</a></div><div class="ttdeci">void BIG_416_60_imul(BIG_416_60 x, BIG_416_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:450</div></div>
+<div class="ttc" id="big__416__60_8h_html_a5260a3c464a36916e3fc7e7ea73d1e4c"><div class="ttname"><a href="big__416__60_8h.html#a5260a3c464a36916e3fc7e7ea73d1e4c">BIG_416_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_416_60_dfromBytesLen(DBIG_416_60 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_416_60.c:1569</div></div>
+<div class="ttc" id="big__416__60_8h_html_a3ed7f7200ef21bd4f6d55ec5f70393b2"><div class="ttname"><a href="big__416__60_8h.html#a3ed7f7200ef21bd4f6d55ec5f70393b2">BIG_416_60_diszilch</a></div><div class="ttdeci">int BIG_416_60_diszilch(DBIG_416_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:45</div></div>
+<div class="ttc" id="big__416__60_8h_html_a25fbe23720bdfbd29c581cd6c815077e"><div class="ttname"><a href="big__416__60_8h.html#a25fbe23720bdfbd29c581cd6c815077e">BIG_416_60_dsub</a></div><div class="ttdeci">void BIG_416_60_dsub(DBIG_416_60 x, DBIG_416_60 y, DBIG_416_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:413</div></div>
 <div class="ttc" id="big__416__60_8h_html_a44dd6638775981360035b72d63fa739b"><div class="ttname"><a href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a></div><div class="ttdeci">chunk BIG_416_60[NLEN_416_60]</div><div class="ttdef"><b>Definition:</b> big_416_60.h:58</div></div>
-<div class="ttc" id="big__416__60_8h_html_a857d102cb2db42d9915c05d56f2b494d"><div class="ttname"><a href="big__416__60_8h.html#a857d102cb2db42d9915c05d56f2b494d">BIG_416_60_bit</a></div><div class="ttdeci">int BIG_416_60_bit(BIG_416_60 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1232</div></div>
-<div class="ttc" id="big__416__60_8h_html_a09770909dcaec31c0effac0c8f7a7fd0"><div class="ttname"><a href="big__416__60_8h.html#a09770909dcaec31c0effac0c8f7a7fd0">BIG_416_60_rcopy</a></div><div class="ttdeci">void BIG_416_60_rcopy(BIG_416_60 x, const BIG_416_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:239</div></div>
-<div class="ttc" id="big__416__60_8h_html_aee1a3725023f0137e6b955cc83509647"><div class="ttname"><a href="big__416__60_8h.html#aee1a3725023f0137e6b955cc83509647">BIG_416_60_jacobi</a></div><div class="ttdeci">int BIG_416_60_jacobi(BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1354</div></div>
-<div class="ttc" id="big__416__60_8h_html_a0064bf5b0ad9e1ce56719d20f219bfa7"><div class="ttname"><a href="big__416__60_8h.html#a0064bf5b0ad9e1ce56719d20f219bfa7">BIG_416_60_sub</a></div><div class="ttdeci">void BIG_416_60_sub(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:397</div></div>
-<div class="ttc" id="big__416__60_8h_html_af4bbfb57c8eecc96e44b9cb60371baeb"><div class="ttname"><a href="big__416__60_8h.html#af4bbfb57c8eecc96e44b9cb60371baeb">BIG_416_60_parity</a></div><div class="ttdeci">int BIG_416_60_parity(BIG_416_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1225</div></div>
-<div class="ttc" id="big__416__60_8h_html_aca4723fcd0d0b02bd99633fd587560d2"><div class="ttname"><a href="big__416__60_8h.html#aca4723fcd0d0b02bd99633fd587560d2">BIG_416_60_dshl</a></div><div class="ttdeci">void BIG_416_60_dshl(DBIG_416_60 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_416_60.c:846</div></div>
-<div class="ttc" id="big__416__60_8h_html_a9c958a026235febf76bf91395045f012"><div class="ttname"><a href="big__416__60_8h.html#a9c958a026235febf76bf91395045f012">BIG_416_60_random</a></div><div class="ttdeci">void BIG_416_60_random(BIG_416_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1248</div></div>
-<div class="ttc" id="big__416__60_8h_html_aca20bcde838384a74edc8740e8dc132d"><div class="ttname"><a href="big__416__60_8h.html#aca20bcde838384a74edc8740e8dc132d">BIG_416_60_moddiv</a></div><div class="ttdeci">void BIG_416_60_moddiv(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z, BIG_416_60 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1337</div></div>
-<div class="ttc" id="big__416__60_8h_html_a5b603db2b4f2649534d9578342c5aad6"><div class="ttname"><a href="big__416__60_8h.html#a5b603db2b4f2649534d9578342c5aad6">BIG_416_60_sdcopy</a></div><div class="ttdeci">void BIG_416_60_sdcopy(BIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:294</div></div>
-<div class="ttc" id="big__416__60_8h_html_aca139fb157252ac5ec1cfca2d1246c5b"><div class="ttname"><a href="big__416__60_8h.html#aca139fb157252ac5ec1cfca2d1246c5b">BIG_416_60_dscopy</a></div><div class="ttdeci">void BIG_416_60_dscopy(DBIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:263</div></div>
-<div class="ttc" id="big__416__60_8h_html_a089cdc486b7e96f85668a70fc3aa5810"><div class="ttname"><a href="big__416__60_8h.html#a089cdc486b7e96f85668a70fc3aa5810">BIG_416_60_dmod2m</a></div><div class="ttdeci">void BIG_416_60_dmod2m(DBIG_416_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1470</div></div>
-<div class="ttc" id="big__416__60_8h_html_af583384cb2b5057cf9dfa5cdd70b2412"><div class="ttname"><a href="big__416__60_8h.html#af583384cb2b5057cf9dfa5cdd70b2412">BIG_416_60_dsucopy</a></div><div class="ttdeci">void BIG_416_60_dsucopy(DBIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:280</div></div>
+<div class="ttc" id="big__416__60_8h_html_a857d102cb2db42d9915c05d56f2b494d"><div class="ttname"><a href="big__416__60_8h.html#a857d102cb2db42d9915c05d56f2b494d">BIG_416_60_bit</a></div><div class="ttdeci">int BIG_416_60_bit(BIG_416_60 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1232</div></div>
+<div class="ttc" id="big__416__60_8h_html_a09770909dcaec31c0effac0c8f7a7fd0"><div class="ttname"><a href="big__416__60_8h.html#a09770909dcaec31c0effac0c8f7a7fd0">BIG_416_60_rcopy</a></div><div class="ttdeci">void BIG_416_60_rcopy(BIG_416_60 x, const BIG_416_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:239</div></div>
+<div class="ttc" id="big__416__60_8h_html_aee1a3725023f0137e6b955cc83509647"><div class="ttname"><a href="big__416__60_8h.html#aee1a3725023f0137e6b955cc83509647">BIG_416_60_jacobi</a></div><div class="ttdeci">int BIG_416_60_jacobi(BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1354</div></div>
+<div class="ttc" id="big__416__60_8h_html_a0064bf5b0ad9e1ce56719d20f219bfa7"><div class="ttname"><a href="big__416__60_8h.html#a0064bf5b0ad9e1ce56719d20f219bfa7">BIG_416_60_sub</a></div><div class="ttdeci">void BIG_416_60_sub(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:397</div></div>
+<div class="ttc" id="big__416__60_8h_html_af4bbfb57c8eecc96e44b9cb60371baeb"><div class="ttname"><a href="big__416__60_8h.html#af4bbfb57c8eecc96e44b9cb60371baeb">BIG_416_60_parity</a></div><div class="ttdeci">int BIG_416_60_parity(BIG_416_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1225</div></div>
+<div class="ttc" id="big__416__60_8h_html_aca4723fcd0d0b02bd99633fd587560d2"><div class="ttname"><a href="big__416__60_8h.html#aca4723fcd0d0b02bd99633fd587560d2">BIG_416_60_dshl</a></div><div class="ttdeci">void BIG_416_60_dshl(DBIG_416_60 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_416_60.c:846</div></div>
+<div class="ttc" id="big__416__60_8h_html_a9c958a026235febf76bf91395045f012"><div class="ttname"><a href="big__416__60_8h.html#a9c958a026235febf76bf91395045f012">BIG_416_60_random</a></div><div class="ttdeci">void BIG_416_60_random(BIG_416_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1248</div></div>
+<div class="ttc" id="big__416__60_8h_html_aca20bcde838384a74edc8740e8dc132d"><div class="ttname"><a href="big__416__60_8h.html#aca20bcde838384a74edc8740e8dc132d">BIG_416_60_moddiv</a></div><div class="ttdeci">void BIG_416_60_moddiv(BIG_416_60 x, BIG_416_60 y, BIG_416_60 z, BIG_416_60 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1337</div></div>
+<div class="ttc" id="big__416__60_8h_html_a5b603db2b4f2649534d9578342c5aad6"><div class="ttname"><a href="big__416__60_8h.html#a5b603db2b4f2649534d9578342c5aad6">BIG_416_60_sdcopy</a></div><div class="ttdeci">void BIG_416_60_sdcopy(BIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:294</div></div>
+<div class="ttc" id="big__416__60_8h_html_aca139fb157252ac5ec1cfca2d1246c5b"><div class="ttname"><a href="big__416__60_8h.html#aca139fb157252ac5ec1cfca2d1246c5b">BIG_416_60_dscopy</a></div><div class="ttdeci">void BIG_416_60_dscopy(DBIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:263</div></div>
+<div class="ttc" id="big__416__60_8h_html_a089cdc486b7e96f85668a70fc3aa5810"><div class="ttname"><a href="big__416__60_8h.html#a089cdc486b7e96f85668a70fc3aa5810">BIG_416_60_dmod2m</a></div><div class="ttdeci">void BIG_416_60_dmod2m(DBIG_416_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1554</div></div>
+<div class="ttc" id="big__416__60_8h_html_af583384cb2b5057cf9dfa5cdd70b2412"><div class="ttname"><a href="big__416__60_8h.html#af583384cb2b5057cf9dfa5cdd70b2412">BIG_416_60_dsucopy</a></div><div class="ttdeci">void BIG_416_60_dsucopy(DBIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:280</div></div>
 <div class="ttc" id="big__416__60_8h_html_a34e8bb9e7e377b03bd03205498949276"><div class="ttname"><a href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">NLEN_416_60</a></div><div class="ttdeci">#define NLEN_416_60</div><div class="ttdef"><b>Definition:</b> big_416_60.h:40</div></div>
 <div class="ttc" id="big__416__60_8h_html_a50deb884bc5da406ec07e8e80951007c"><div class="ttname"><a href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">DNLEN_416_60</a></div><div class="ttdeci">#define DNLEN_416_60</div><div class="ttdef"><b>Definition:</b> big_416_60.h:41</div></div>
-<div class="ttc" id="big__416__60_8h_html_a6df92b82c808e8a717c28f54808a798e"><div class="ttname"><a href="big__416__60_8h.html#a6df92b82c808e8a717c28f54808a798e">BIG_416_60_dnbits</a></div><div class="ttdeci">int BIG_416_60_dnbits(DBIG_416_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1060</div></div>
-<div class="ttc" id="big__416__60_8h_html_a113def42be0fa6a5d6ff5a2ffb38944d"><div class="ttname"><a href="big__416__60_8h.html#a113def42be0fa6a5d6ff5a2ffb38944d">BIG_416_60_copy</a></div><div class="ttdeci">void BIG_416_60_copy(BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:227</div></div>
-<div class="ttc" id="big__416__60_8h_html_a50201152f0e34f80ae8d6cbd387dabde"><div class="ttname"><a href="big__416__60_8h.html#a50201152f0e34f80ae8d6cbd387dabde">BIG_416_60_dnorm</a></div><div class="ttdeci">void BIG_416_60_dnorm(DBIG_416_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:995</div></div>
-<div class="ttc" id="big__416__60_8h_html_a179f8f261a0c6f20916ce474d4827280"><div class="ttname"><a href="big__416__60_8h.html#a179f8f261a0c6f20916ce474d4827280">BIG_416_60_monty</a></div><div class="ttdeci">void BIG_416_60_monty(BIG_416_60 a, BIG_416_60 md, chunk MC, DBIG_416_60 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_416_60.c:735</div></div>
+<div class="ttc" id="big__416__60_8h_html_a6df92b82c808e8a717c28f54808a798e"><div class="ttname"><a href="big__416__60_8h.html#a6df92b82c808e8a717c28f54808a798e">BIG_416_60_dnbits</a></div><div class="ttdeci">int BIG_416_60_dnbits(DBIG_416_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1060</div></div>
+<div class="ttc" id="big__416__60_8h_html_a113def42be0fa6a5d6ff5a2ffb38944d"><div class="ttname"><a href="big__416__60_8h.html#a113def42be0fa6a5d6ff5a2ffb38944d">BIG_416_60_copy</a></div><div class="ttdeci">void BIG_416_60_copy(BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:227</div></div>
+<div class="ttc" id="big__416__60_8h_html_a50201152f0e34f80ae8d6cbd387dabde"><div class="ttname"><a href="big__416__60_8h.html#a50201152f0e34f80ae8d6cbd387dabde">BIG_416_60_dnorm</a></div><div class="ttdeci">void BIG_416_60_dnorm(DBIG_416_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:995</div></div>
+<div class="ttc" id="big__416__60_8h_html_a179f8f261a0c6f20916ce474d4827280"><div class="ttname"><a href="big__416__60_8h.html#a179f8f261a0c6f20916ce474d4827280">BIG_416_60_monty</a></div><div class="ttdeci">void BIG_416_60_monty(BIG_416_60 a, BIG_416_60 md, chunk MC, DBIG_416_60 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_416_60.c:735</div></div>
 <div class="ttc" id="config__big__416__60_8h_html_a8060cad5d7ca98d5002c4e9af144685a"><div class="ttname"><a href="config__big__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">BASEBITS_416_60</a></div><div class="ttdeci">#define BASEBITS_416_60</div><div class="ttdef"><b>Definition:</b> config_big_416_60.h:35</div></div>
-<div class="ttc" id="big__416__60_8h_html_a4660aae017e830b1abd99570f5c7976f"><div class="ttname"><a href="big__416__60_8h.html#a4660aae017e830b1abd99570f5c7976f">BIG_416_60_cmove</a></div><div class="ttdeci">void BIG_416_60_cmove(BIG_416_60 x, BIG_416_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:110</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__416__60_8h_html_a96351b2d8095cf8d9549056f0a8cdc87"><div class="ttname"><a href="big__416__60_8h.html#a96351b2d8095cf8d9549056f0a8cdc87">BIG_416_60_dec</a></div><div class="ttdeci">void BIG_416_60_dec(BIG_416_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:440</div></div>
-<div class="ttc" id="big__416__60_8h_html_a32744f44d176ce480470515c1d53e021"><div class="ttname"><a href="big__416__60_8h.html#a32744f44d176ce480470515c1d53e021">BIG_416_60_sqr</a></div><div class="ttdeci">void BIG_416_60_sqr(DBIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:618</div></div>
-<div class="ttc" id="big__416__60_8h_html_a6766128129aa1c9a16b637098a961f0b"><div class="ttname"><a href="big__416__60_8h.html#a6766128129aa1c9a16b637098a961f0b">BIG_416_60_doutput</a></div><div class="ttdeci">void BIG_416_60_doutput(DBIG_416_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:190</div></div>
-<div class="ttc" id="big__416__60_8h_html_a0be012c91e78401f894a8579fd8c4698"><div class="ttname"><a href="big__416__60_8h.html#a0be012c91e78401f894a8579fd8c4698">BIG_416_60_comp</a></div><div class="ttdeci">int BIG_416_60_comp(BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1014</div></div>
-<div class="ttc" id="big__416__60_8h_html_a109bd9c29e1afc5712811b4185c4345f"><div class="ttname"><a href="big__416__60_8h.html#a109bd9c29e1afc5712811b4185c4345f">BIG_416_60_dcomp</a></div><div class="ttdeci">int BIG_416_60_dcomp(DBIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1026</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__416__60_8h_html_a4660aae017e830b1abd99570f5c7976f"><div class="ttname"><a href="big__416__60_8h.html#a4660aae017e830b1abd99570f5c7976f">BIG_416_60_cmove</a></div><div class="ttdeci">void BIG_416_60_cmove(BIG_416_60 x, BIG_416_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:110</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__416__60_8h_html_a96351b2d8095cf8d9549056f0a8cdc87"><div class="ttname"><a href="big__416__60_8h.html#a96351b2d8095cf8d9549056f0a8cdc87">BIG_416_60_dec</a></div><div class="ttdeci">void BIG_416_60_dec(BIG_416_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:440</div></div>
+<div class="ttc" id="big__416__60_8h_html_a32744f44d176ce480470515c1d53e021"><div class="ttname"><a href="big__416__60_8h.html#a32744f44d176ce480470515c1d53e021">BIG_416_60_sqr</a></div><div class="ttdeci">void BIG_416_60_sqr(DBIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:618</div></div>
+<div class="ttc" id="big__416__60_8h_html_a6766128129aa1c9a16b637098a961f0b"><div class="ttname"><a href="big__416__60_8h.html#a6766128129aa1c9a16b637098a961f0b">BIG_416_60_doutput</a></div><div class="ttdeci">void BIG_416_60_doutput(DBIG_416_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:190</div></div>
+<div class="ttc" id="big__416__60_8h_html_a0be012c91e78401f894a8579fd8c4698"><div class="ttname"><a href="big__416__60_8h.html#a0be012c91e78401f894a8579fd8c4698">BIG_416_60_comp</a></div><div class="ttdeci">int BIG_416_60_comp(BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1014</div></div>
+<div class="ttc" id="big__416__60_8h_html_a109bd9c29e1afc5712811b4185c4345f"><div class="ttname"><a href="big__416__60_8h.html#a109bd9c29e1afc5712811b4185c4345f">BIG_416_60_dcomp</a></div><div class="ttdeci">int BIG_416_60_dcomp(DBIG_416_60 x, DBIG_416_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1026</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__416__60_8h_html_a942c393a99988261195aa620ed06d4fe"><div class="ttname"><a href="big__416__60_8h.html#a942c393a99988261195aa620ed06d4fe">BIG_416_60_modneg</a></div><div class="ttdeci">void BIG_416_60_modneg(BIG_416_60 x, BIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1327</div></div>
-<div class="ttc" id="big__416__60_8h_html_add26e6050070fcf508b52cb7d61c0284"><div class="ttname"><a href="big__416__60_8h.html#add26e6050070fcf508b52cb7d61c0284">BIG_416_60_sdiv</a></div><div class="ttdeci">void BIG_416_60_sdiv(BIG_416_60 x, BIG_416_60 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:1188</div></div>
-<div class="ttc" id="big__416__60_8h_html_a9714fde7e9f34abd97c2b47e723d3db2"><div class="ttname"><a href="big__416__60_8h.html#a9714fde7e9f34abd97c2b47e723d3db2">BIG_416_60_dadd</a></div><div class="ttdeci">void BIG_416_60_dadd(DBIG_416_60 x, DBIG_416_60 y, DBIG_416_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:426</div></div>
-<div class="ttc" id="big__416__60_8h_html_af55869cadc12843bd448fda8fb393151"><div class="ttname"><a href="big__416__60_8h.html#af55869cadc12843bd448fda8fb393151">BIG_416_60_cswap</a></div><div class="ttdeci">void BIG_416_60_cswap(BIG_416_60 x, BIG_416_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:92</div></div>
-<div class="ttc" id="big__416__60_8h_html_a2029e403800db3612cbb29052c80d457"><div class="ttname"><a href="big__416__60_8h.html#a2029e403800db3612cbb29052c80d457">BIG_416_60_split</a></div><div class="ttdeci">chunk BIG_416_60_split(BIG_416_60 x, BIG_416_60 y, DBIG_416_60 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_416_60.c:932</div></div>
-<div class="ttc" id="big__416__60_8h_html_a20ff5abaeab93db9bf762caf73ea379a"><div class="ttname"><a href="big__416__60_8h.html#a20ff5abaeab93db9bf762caf73ea379a">BIG_416_60_dcmove</a></div><div class="ttdeci">void BIG_416_60_dcmove(BIG_416_60 x, BIG_416_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__416__60_8h_html_a8f397375caa86766a11272fb9090f12c"><div class="ttname"><a href="big__416__60_8h.html#a8f397375caa86766a11272fb9090f12c">BIG_416_60_zero</a></div><div class="ttdeci">void BIG_416_60_zero(BIG_416_60 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:319</div></div>
+<div class="ttc" id="big__416__60_8h_html_a942c393a99988261195aa620ed06d4fe"><div class="ttname"><a href="big__416__60_8h.html#a942c393a99988261195aa620ed06d4fe">BIG_416_60_modneg</a></div><div class="ttdeci">void BIG_416_60_modneg(BIG_416_60 x, BIG_416_60 y, BIG_416_60 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1327</div></div>
+<div class="ttc" id="big__416__60_8h_html_add26e6050070fcf508b52cb7d61c0284"><div class="ttname"><a href="big__416__60_8h.html#add26e6050070fcf508b52cb7d61c0284">BIG_416_60_sdiv</a></div><div class="ttdeci">void BIG_416_60_sdiv(BIG_416_60 x, BIG_416_60 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:1188</div></div>
+<div class="ttc" id="big__416__60_8h_html_a9714fde7e9f34abd97c2b47e723d3db2"><div class="ttname"><a href="big__416__60_8h.html#a9714fde7e9f34abd97c2b47e723d3db2">BIG_416_60_dadd</a></div><div class="ttdeci">void BIG_416_60_dadd(DBIG_416_60 x, DBIG_416_60 y, DBIG_416_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:426</div></div>
+<div class="ttc" id="big__416__60_8h_html_af55869cadc12843bd448fda8fb393151"><div class="ttname"><a href="big__416__60_8h.html#af55869cadc12843bd448fda8fb393151">BIG_416_60_cswap</a></div><div class="ttdeci">void BIG_416_60_cswap(BIG_416_60 x, BIG_416_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:92</div></div>
+<div class="ttc" id="big__416__60_8h_html_a2029e403800db3612cbb29052c80d457"><div class="ttname"><a href="big__416__60_8h.html#a2029e403800db3612cbb29052c80d457">BIG_416_60_split</a></div><div class="ttdeci">chunk BIG_416_60_split(BIG_416_60 x, BIG_416_60 y, DBIG_416_60 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_416_60.c:932</div></div>
+<div class="ttc" id="big__416__60_8h_html_a20ff5abaeab93db9bf762caf73ea379a"><div class="ttname"><a href="big__416__60_8h.html#a20ff5abaeab93db9bf762caf73ea379a">BIG_416_60_dcmove</a></div><div class="ttdeci">void BIG_416_60_dcmove(BIG_416_60 x, BIG_416_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__416__60_8h_html_a8f397375caa86766a11272fb9090f12c"><div class="ttname"><a href="big__416__60_8h.html#a8f397375caa86766a11272fb9090f12c">BIG_416_60_zero</a></div><div class="ttdeci">void BIG_416_60_zero(BIG_416_60 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:319</div></div>
 <div class="ttc" id="big__416__60_8h_html_aa64a4f8541df59159943cce57127b658"><div class="ttname"><a href="big__416__60_8h.html#aa64a4f8541df59159943cce57127b658">HMASK_416_60</a></div><div class="ttdeci">#define HMASK_416_60</div><div class="ttdef"><b>Definition:</b> big_416_60.h:46</div></div>
-<div class="ttc" id="config__big__416__60_8h_html"><div class="ttname"><a href="config__big__416__60_8h.html">config_big_416_60.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__416__60_8h_html_ae9ad2830489c59d3cc8c1396f527eaf7"><div class="ttname"><a href="big__416__60_8h.html#ae9ad2830489c59d3cc8c1396f527eaf7">BIG_416_60_dzero</a></div><div class="ttdeci">void BIG_416_60_dzero(DBIG_416_60 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:329</div></div>
-<div class="ttc" id="big__416__60_8h_html_a6e3d2294179d88e4c8f27b3b8a06e031"><div class="ttname"><a href="big__416__60_8h.html#a6e3d2294179d88e4c8f27b3b8a06e031">BIG_416_60_toBytes</a></div><div class="ttdeci">void BIG_416_60_toBytes(char *a, BIG_416_60 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_416_60.c:141</div></div>
+<div class="ttc" id="config__big__416__60_8h_html"><div class="ttname"><a href="config__big__416__60_8h.html">config_big_416_60.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__416__60_8h_html_ae9ad2830489c59d3cc8c1396f527eaf7"><div class="ttname"><a href="big__416__60_8h.html#ae9ad2830489c59d3cc8c1396f527eaf7">BIG_416_60_dzero</a></div><div class="ttdeci">void BIG_416_60_dzero(DBIG_416_60 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:329</div></div>
+<div class="ttc" id="big__416__60_8h_html_a6e3d2294179d88e4c8f27b3b8a06e031"><div class="ttname"><a href="big__416__60_8h.html#a6e3d2294179d88e4c8f27b3b8a06e031">BIG_416_60_toBytes</a></div><div class="ttdeci">void BIG_416_60_toBytes(char *a, BIG_416_60 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_416_60.c:141</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__448__29_8h.html b/website/static/cdocs/big__448__29_8h.html
deleted file mode 100644
index d1c3c5e..0000000
--- a/website/static/cdocs/big__448__29_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_448_29.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_448_29.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__448__29_8h_source.html">config_big_448_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__448__29_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:a7a5a3ffd6671b7e3013edefee432cf3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a7a5a3ffd6671b7e3013edefee432cf3d">BIGBITS_448_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">MODBYTES_448_29</a>)</td></tr>
-<tr class="separator:a7a5a3ffd6671b7e3013edefee432cf3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a10fb0626866a70d80b6df4824b89e3cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">MODBYTES_448_29</a>-1)/<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>))</td></tr>
-<tr class="separator:a10fb0626866a70d80b6df4824b89e3cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4616c74eb991d091cdc238397eccb64c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">DNLEN_448_29</a>&#160;&#160;&#160;2*<a class="el" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a></td></tr>
-<tr class="separator:a4616c74eb991d091cdc238397eccb64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab8d629bbd801a7e1d4da1cdedc1a76b6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6">BMASK_448_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>)-1)</td></tr>
-<tr class="separator:ab8d629bbd801a7e1d4da1cdedc1a76b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a565018109ce03e9c7f6c2225b7bfd8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a2a565018109ce03e9c7f6c2225b7bfd8">NEXCESS_448_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>-1))</td></tr>
-<tr class="separator:a2a565018109ce03e9c7f6c2225b7bfd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8e6de2119434515297fc71c80107920"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>/2)</td></tr>
-<tr class="separator:ad8e6de2119434515297fc71c80107920"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a027d25f3937d2bd098156eb2df8c1bf3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">HMASK_448_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</a>)-1)</td></tr>
-<tr class="separator:a027d25f3937d2bd098156eb2df8c1bf3"><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:a8829af39424249e4cf31d92fe3418761"><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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a>[<a class="el" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a>]</td></tr>
-<tr class="separator:a8829af39424249e4cf31d92fe3418761"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae467a9ad26bf9a2dd01c191d5bef6dc7"><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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a>[<a class="el" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">DNLEN_448_29</a>]</td></tr>
-<tr class="separator:ae467a9ad26bf9a2dd01c191d5bef6dc7"><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:a09c7553a6d3bddeb319b6847b95b206f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a09c7553a6d3bddeb319b6847b95b206f">BIG_448_29_iszilch</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a09c7553a6d3bddeb319b6847b95b206f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a09c7553a6d3bddeb319b6847b95b206f">More...</a><br /></td></tr>
-<tr class="separator:a09c7553a6d3bddeb319b6847b95b206f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a54fe1672b4ae68f10c9b91e251adaabc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a54fe1672b4ae68f10c9b91e251adaabc">BIG_448_29_isunity</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a54fe1672b4ae68f10c9b91e251adaabc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#a54fe1672b4ae68f10c9b91e251adaabc">More...</a><br /></td></tr>
-<tr class="separator:a54fe1672b4ae68f10c9b91e251adaabc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adc34c5a4a04536b69ef88d01318b293f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#adc34c5a4a04536b69ef88d01318b293f">BIG_448_29_diszilch</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x)</td></tr>
-<tr class="memdesc:adc34c5a4a04536b69ef88d01318b293f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#adc34c5a4a04536b69ef88d01318b293f">More...</a><br /></td></tr>
-<tr class="separator:adc34c5a4a04536b69ef88d01318b293f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af57fb9d2c6f6573fbf07caf4cb7c8505"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#af57fb9d2c6f6573fbf07caf4cb7c8505">BIG_448_29_output</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:af57fb9d2c6f6573fbf07caf4cb7c8505"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#af57fb9d2c6f6573fbf07caf4cb7c8505">More...</a><br /></td></tr>
-<tr class="separator:af57fb9d2c6f6573fbf07caf4cb7c8505"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a095f347843aefe767bfe2801abb8b770"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a095f347843aefe767bfe2801abb8b770">BIG_448_29_rawoutput</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a095f347843aefe767bfe2801abb8b770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a095f347843aefe767bfe2801abb8b770">More...</a><br /></td></tr>
-<tr class="separator:a095f347843aefe767bfe2801abb8b770"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa0337aa7b6bb10b213193277b6706a07"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aa0337aa7b6bb10b213193277b6706a07">BIG_448_29_cswap</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, int s)</td></tr>
-<tr class="memdesc:aa0337aa7b6bb10b213193277b6706a07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#aa0337aa7b6bb10b213193277b6706a07">More...</a><br /></td></tr>
-<tr class="separator:aa0337aa7b6bb10b213193277b6706a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab522df22af3d6f8452a9f1ed5f6e787"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aab522df22af3d6f8452a9f1ed5f6e787">BIG_448_29_cmove</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, int s)</td></tr>
-<tr class="memdesc:aab522df22af3d6f8452a9f1ed5f6e787"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#aab522df22af3d6f8452a9f1ed5f6e787">More...</a><br /></td></tr>
-<tr class="separator:aab522df22af3d6f8452a9f1ed5f6e787"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a13a3c52ecff409475050fb20b196a4ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a13a3c52ecff409475050fb20b196a4ec">BIG_448_29_dcmove</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, int s)</td></tr>
-<tr class="memdesc:a13a3c52ecff409475050fb20b196a4ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#a13a3c52ecff409475050fb20b196a4ec">More...</a><br /></td></tr>
-<tr class="separator:a13a3c52ecff409475050fb20b196a4ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a58fe5186e333019079a63dd29e4de06f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a58fe5186e333019079a63dd29e4de06f">BIG_448_29_toBytes</a> (char *a, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a58fe5186e333019079a63dd29e4de06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a58fe5186e333019079a63dd29e4de06f">More...</a><br /></td></tr>
-<tr class="separator:a58fe5186e333019079a63dd29e4de06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a558045a997bfd9f332d0dc56182da244"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a558045a997bfd9f332d0dc56182da244">BIG_448_29_fromBytes</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, char *a)</td></tr>
-<tr class="memdesc:a558045a997bfd9f332d0dc56182da244"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a558045a997bfd9f332d0dc56182da244">More...</a><br /></td></tr>
-<tr class="separator:a558045a997bfd9f332d0dc56182da244"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a241537567b6f575209f356b938f5d8f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a241537567b6f575209f356b938f5d8f5">BIG_448_29_fromBytesLen</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a241537567b6f575209f356b938f5d8f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#a241537567b6f575209f356b938f5d8f5">More...</a><br /></td></tr>
-<tr class="separator:a241537567b6f575209f356b938f5d8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aefe85187833ee1017452f0c48b2df544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aefe85187833ee1017452f0c48b2df544">BIG_448_29_dfromBytesLen</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:aefe85187833ee1017452f0c48b2df544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#aefe85187833ee1017452f0c48b2df544">More...</a><br /></td></tr>
-<tr class="separator:aefe85187833ee1017452f0c48b2df544"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5df84f06f1ecdb4f4d0740fb65953f94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a5df84f06f1ecdb4f4d0740fb65953f94">BIG_448_29_doutput</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a5df84f06f1ecdb4f4d0740fb65953f94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a5df84f06f1ecdb4f4d0740fb65953f94">More...</a><br /></td></tr>
-<tr class="separator:a5df84f06f1ecdb4f4d0740fb65953f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2aef6adc137f20abe66c013fdc089453"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a2aef6adc137f20abe66c013fdc089453">BIG_448_29_drawoutput</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a2aef6adc137f20abe66c013fdc089453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a2aef6adc137f20abe66c013fdc089453">More...</a><br /></td></tr>
-<tr class="separator:a2aef6adc137f20abe66c013fdc089453"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae91f2b61abbf35ff8eead23ff33dbcc6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ae91f2b61abbf35ff8eead23ff33dbcc6">BIG_448_29_rcopy</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, const <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y)</td></tr>
-<tr class="memdesc:ae91f2b61abbf35ff8eead23ff33dbcc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#ae91f2b61abbf35ff8eead23ff33dbcc6">More...</a><br /></td></tr>
-<tr class="separator:ae91f2b61abbf35ff8eead23ff33dbcc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acbc8ffb914448e131b56eb4c3ba53fc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#acbc8ffb914448e131b56eb4c3ba53fc1">BIG_448_29_copy</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y)</td></tr>
-<tr class="memdesc:acbc8ffb914448e131b56eb4c3ba53fc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#acbc8ffb914448e131b56eb4c3ba53fc1">More...</a><br /></td></tr>
-<tr class="separator:acbc8ffb914448e131b56eb4c3ba53fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb1ba79905bb33694bbf515ee7c3d2bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#afb1ba79905bb33694bbf515ee7c3d2bd">BIG_448_29_dcopy</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y)</td></tr>
-<tr class="memdesc:afb1ba79905bb33694bbf515ee7c3d2bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#afb1ba79905bb33694bbf515ee7c3d2bd">More...</a><br /></td></tr>
-<tr class="separator:afb1ba79905bb33694bbf515ee7c3d2bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac7a8bd538830bd4938bdb96555962f91"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ac7a8bd538830bd4938bdb96555962f91">BIG_448_29_dsucopy</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y)</td></tr>
-<tr class="memdesc:ac7a8bd538830bd4938bdb96555962f91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#ac7a8bd538830bd4938bdb96555962f91">More...</a><br /></td></tr>
-<tr class="separator:ac7a8bd538830bd4938bdb96555962f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4cca42c269c38dd1c098e2ef5f9b2ef6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a4cca42c269c38dd1c098e2ef5f9b2ef6">BIG_448_29_dscopy</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y)</td></tr>
-<tr class="memdesc:a4cca42c269c38dd1c098e2ef5f9b2ef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#a4cca42c269c38dd1c098e2ef5f9b2ef6">More...</a><br /></td></tr>
-<tr class="separator:a4cca42c269c38dd1c098e2ef5f9b2ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7fbfcd1c557637a639650765514fd13f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a7fbfcd1c557637a639650765514fd13f">BIG_448_29_sdcopy</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y)</td></tr>
-<tr class="memdesc:a7fbfcd1c557637a639650765514fd13f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a7fbfcd1c557637a639650765514fd13f">More...</a><br /></td></tr>
-<tr class="separator:a7fbfcd1c557637a639650765514fd13f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aff258f5a582cc9a517ddac40a426c1c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aff258f5a582cc9a517ddac40a426c1c2">BIG_448_29_sducopy</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y)</td></tr>
-<tr class="memdesc:aff258f5a582cc9a517ddac40a426c1c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#aff258f5a582cc9a517ddac40a426c1c2">More...</a><br /></td></tr>
-<tr class="separator:aff258f5a582cc9a517ddac40a426c1c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e430482d15f64c789d7040d3a5ee496"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a6e430482d15f64c789d7040d3a5ee496">BIG_448_29_zero</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a6e430482d15f64c789d7040d3a5ee496"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a6e430482d15f64c789d7040d3a5ee496">More...</a><br /></td></tr>
-<tr class="separator:a6e430482d15f64c789d7040d3a5ee496"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acdf8614e386d747a7b3609c865a3b808"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#acdf8614e386d747a7b3609c865a3b808">BIG_448_29_dzero</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x)</td></tr>
-<tr class="memdesc:acdf8614e386d747a7b3609c865a3b808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#acdf8614e386d747a7b3609c865a3b808">More...</a><br /></td></tr>
-<tr class="separator:acdf8614e386d747a7b3609c865a3b808"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee02676b57dce89300afc580a6b84579"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aee02676b57dce89300afc580a6b84579">BIG_448_29_one</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:aee02676b57dce89300afc580a6b84579"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#aee02676b57dce89300afc580a6b84579">More...</a><br /></td></tr>
-<tr class="separator:aee02676b57dce89300afc580a6b84579"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0fb2aab64a09f62ba22061339ddca874"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a0fb2aab64a09f62ba22061339ddca874">BIG_448_29_invmod2m</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a0fb2aab64a09f62ba22061339ddca874"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a0fb2aab64a09f62ba22061339ddca874">More...</a><br /></td></tr>
-<tr class="separator:a0fb2aab64a09f62ba22061339ddca874"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a52732e32df914610f06d71e66ae0aaee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a52732e32df914610f06d71e66ae0aaee">BIG_448_29_add</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z)</td></tr>
-<tr class="memdesc:a52732e32df914610f06d71e66ae0aaee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a52732e32df914610f06d71e66ae0aaee">More...</a><br /></td></tr>
-<tr class="separator:a52732e32df914610f06d71e66ae0aaee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4fb00fa3b6c2c24987257f6a33955e1c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a4fb00fa3b6c2c24987257f6a33955e1c">BIG_448_29_or</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z)</td></tr>
-<tr class="memdesc:a4fb00fa3b6c2c24987257f6a33955e1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#a4fb00fa3b6c2c24987257f6a33955e1c">More...</a><br /></td></tr>
-<tr class="separator:a4fb00fa3b6c2c24987257f6a33955e1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8f36f4e7ab6f2e9fe4ed06cec28153d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a8f36f4e7ab6f2e9fe4ed06cec28153d5">BIG_448_29_inc</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int i)</td></tr>
-<tr class="memdesc:a8f36f4e7ab6f2e9fe4ed06cec28153d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#a8f36f4e7ab6f2e9fe4ed06cec28153d5">More...</a><br /></td></tr>
-<tr class="separator:a8f36f4e7ab6f2e9fe4ed06cec28153d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a38bad8b10d13490e1608c18122d1757f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a38bad8b10d13490e1608c18122d1757f">BIG_448_29_sub</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z)</td></tr>
-<tr class="memdesc:a38bad8b10d13490e1608c18122d1757f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a38bad8b10d13490e1608c18122d1757f">More...</a><br /></td></tr>
-<tr class="separator:a38bad8b10d13490e1608c18122d1757f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac046e873f702c3c6ba84a45283591d0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ac046e873f702c3c6ba84a45283591d0c">BIG_448_29_dec</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int i)</td></tr>
-<tr class="memdesc:ac046e873f702c3c6ba84a45283591d0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#ac046e873f702c3c6ba84a45283591d0c">More...</a><br /></td></tr>
-<tr class="separator:ac046e873f702c3c6ba84a45283591d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd5e5c67823d3e9e195cbbad446b8f2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#abd5e5c67823d3e9e195cbbad446b8f2b">BIG_448_29_dadd</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> z)</td></tr>
-<tr class="memdesc:abd5e5c67823d3e9e195cbbad446b8f2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#abd5e5c67823d3e9e195cbbad446b8f2b">More...</a><br /></td></tr>
-<tr class="separator:abd5e5c67823d3e9e195cbbad446b8f2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a690d7ffa0c2b7df6561011bd6156dd43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a690d7ffa0c2b7df6561011bd6156dd43">BIG_448_29_dsub</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> z)</td></tr>
-<tr class="memdesc:a690d7ffa0c2b7df6561011bd6156dd43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a690d7ffa0c2b7df6561011bd6156dd43">More...</a><br /></td></tr>
-<tr class="separator:a690d7ffa0c2b7df6561011bd6156dd43"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6de5e0385019f0c93dae2b23230299f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a6de5e0385019f0c93dae2b23230299f8">BIG_448_29_imul</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, int i)</td></tr>
-<tr class="memdesc:a6de5e0385019f0c93dae2b23230299f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a6de5e0385019f0c93dae2b23230299f8">More...</a><br /></td></tr>
-<tr class="separator:a6de5e0385019f0c93dae2b23230299f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a81ef91f38192d1fbdc5826a6d09b2b28"><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__448__29_8h.html#a81ef91f38192d1fbdc5826a6d09b2b28">BIG_448_29_pmul</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, int i)</td></tr>
-<tr class="memdesc:a81ef91f38192d1fbdc5826a6d09b2b28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a81ef91f38192d1fbdc5826a6d09b2b28">More...</a><br /></td></tr>
-<tr class="separator:a81ef91f38192d1fbdc5826a6d09b2b28"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a51937f4122d05f03a9583d1528cd6897"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a51937f4122d05f03a9583d1528cd6897">BIG_448_29_div3</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a51937f4122d05f03a9583d1528cd6897"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#a51937f4122d05f03a9583d1528cd6897">More...</a><br /></td></tr>
-<tr class="separator:a51937f4122d05f03a9583d1528cd6897"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e73af51900b138efd372c1c1faf38ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a5e73af51900b138efd372c1c1faf38ef">BIG_448_29_pxmul</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, int i)</td></tr>
-<tr class="memdesc:a5e73af51900b138efd372c1c1faf38ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a5e73af51900b138efd372c1c1faf38ef">More...</a><br /></td></tr>
-<tr class="separator:a5e73af51900b138efd372c1c1faf38ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac0bf30b8a5963b8f019da2a3123916ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ac0bf30b8a5963b8f019da2a3123916ca">BIG_448_29_mul</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z)</td></tr>
-<tr class="memdesc:ac0bf30b8a5963b8f019da2a3123916ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#ac0bf30b8a5963b8f019da2a3123916ca">More...</a><br /></td></tr>
-<tr class="separator:ac0bf30b8a5963b8f019da2a3123916ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad050214613920f9b77dc0b8f5ce10d18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ad050214613920f9b77dc0b8f5ce10d18">BIG_448_29_smul</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z)</td></tr>
-<tr class="memdesc:ad050214613920f9b77dc0b8f5ce10d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#ad050214613920f9b77dc0b8f5ce10d18">More...</a><br /></td></tr>
-<tr class="separator:ad050214613920f9b77dc0b8f5ce10d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a34ab101faf200fbc482ab23e6c09d45e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a34ab101faf200fbc482ab23e6c09d45e">BIG_448_29_sqr</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y)</td></tr>
-<tr class="memdesc:a34ab101faf200fbc482ab23e6c09d45e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a34ab101faf200fbc482ab23e6c09d45e">More...</a><br /></td></tr>
-<tr class="separator:a34ab101faf200fbc482ab23e6c09d45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac59e9444d4495f12d5ef69d88f1d64f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ac59e9444d4495f12d5ef69d88f1d64f9">BIG_448_29_monty</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> a, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> d)</td></tr>
-<tr class="memdesc:ac59e9444d4495f12d5ef69d88f1d64f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#ac59e9444d4495f12d5ef69d88f1d64f9">More...</a><br /></td></tr>
-<tr class="separator:ac59e9444d4495f12d5ef69d88f1d64f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f42b9409fc90afb337c086f36b99b0f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a4f42b9409fc90afb337c086f36b99b0f">BIG_448_29_shl</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int s)</td></tr>
-<tr class="memdesc:a4f42b9409fc90afb337c086f36b99b0f"><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="#a4f42b9409fc90afb337c086f36b99b0f">More...</a><br /></td></tr>
-<tr class="separator:a4f42b9409fc90afb337c086f36b99b0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97a62e56535b72fd5449154e9c842ba6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a97a62e56535b72fd5449154e9c842ba6">BIG_448_29_fshl</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int s)</td></tr>
-<tr class="memdesc:a97a62e56535b72fd5449154e9c842ba6"><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="#a97a62e56535b72fd5449154e9c842ba6">More...</a><br /></td></tr>
-<tr class="separator:a97a62e56535b72fd5449154e9c842ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a26445e5623108ee6104ef5afd7807b61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a26445e5623108ee6104ef5afd7807b61">BIG_448_29_dshl</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, int s)</td></tr>
-<tr class="memdesc:a26445e5623108ee6104ef5afd7807b61"><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="#a26445e5623108ee6104ef5afd7807b61">More...</a><br /></td></tr>
-<tr class="separator:a26445e5623108ee6104ef5afd7807b61"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae2edc8357240da28f4abde11918fba1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ae2edc8357240da28f4abde11918fba1e">BIG_448_29_shr</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int s)</td></tr>
-<tr class="memdesc:ae2edc8357240da28f4abde11918fba1e"><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="#ae2edc8357240da28f4abde11918fba1e">More...</a><br /></td></tr>
-<tr class="separator:ae2edc8357240da28f4abde11918fba1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d22bc595ce5949ef5e1fcfc79d769a8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a4d22bc595ce5949ef5e1fcfc79d769a8">BIG_448_29_ssn</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> r, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> a, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> m)</td></tr>
-<tr class="memdesc:a4d22bc595ce5949ef5e1fcfc79d769a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a4d22bc595ce5949ef5e1fcfc79d769a8">More...</a><br /></td></tr>
-<tr class="separator:a4d22bc595ce5949ef5e1fcfc79d769a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49e73322bb56496afcd9594983166c15"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a49e73322bb56496afcd9594983166c15">BIG_448_29_fshr</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int s)</td></tr>
-<tr class="memdesc:a49e73322bb56496afcd9594983166c15"><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="#a49e73322bb56496afcd9594983166c15">More...</a><br /></td></tr>
-<tr class="separator:a49e73322bb56496afcd9594983166c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeeb1c94512a234362e1fd43dea0aecdb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aeeb1c94512a234362e1fd43dea0aecdb">BIG_448_29_dshr</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, int s)</td></tr>
-<tr class="memdesc:aeeb1c94512a234362e1fd43dea0aecdb"><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="#aeeb1c94512a234362e1fd43dea0aecdb">More...</a><br /></td></tr>
-<tr class="separator:aeeb1c94512a234362e1fd43dea0aecdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3bad363fa21dc4b598d833758e86b5de"><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__448__29_8h.html#a3bad363fa21dc4b598d833758e86b5de">BIG_448_29_split</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> z, int s)</td></tr>
-<tr class="memdesc:a3bad363fa21dc4b598d833758e86b5de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a3bad363fa21dc4b598d833758e86b5de">More...</a><br /></td></tr>
-<tr class="separator:a3bad363fa21dc4b598d833758e86b5de"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad28e337ec4df64509040ae03e6d5a454"><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__448__29_8h.html#ad28e337ec4df64509040ae03e6d5a454">BIG_448_29_norm</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:ad28e337ec4df64509040ae03e6d5a454"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#ad28e337ec4df64509040ae03e6d5a454">More...</a><br /></td></tr>
-<tr class="separator:ad28e337ec4df64509040ae03e6d5a454"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1592d268df6258a58b6d4efa05e6eb41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a1592d268df6258a58b6d4efa05e6eb41">BIG_448_29_dnorm</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a1592d268df6258a58b6d4efa05e6eb41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#a1592d268df6258a58b6d4efa05e6eb41">More...</a><br /></td></tr>
-<tr class="separator:a1592d268df6258a58b6d4efa05e6eb41"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96d9269f5721a09b9e9241928241544e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a96d9269f5721a09b9e9241928241544e">BIG_448_29_comp</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y)</td></tr>
-<tr class="memdesc:a96d9269f5721a09b9e9241928241544e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a96d9269f5721a09b9e9241928241544e">More...</a><br /></td></tr>
-<tr class="separator:a96d9269f5721a09b9e9241928241544e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0539172f8147c115c9132f3a7dc0912a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a0539172f8147c115c9132f3a7dc0912a">BIG_448_29_dcomp</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y)</td></tr>
-<tr class="memdesc:a0539172f8147c115c9132f3a7dc0912a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a0539172f8147c115c9132f3a7dc0912a">More...</a><br /></td></tr>
-<tr class="separator:a0539172f8147c115c9132f3a7dc0912a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2f758afc90b97744fcbc4092b371f942"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a2f758afc90b97744fcbc4092b371f942">BIG_448_29_nbits</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a2f758afc90b97744fcbc4092b371f942"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a2f758afc90b97744fcbc4092b371f942">More...</a><br /></td></tr>
-<tr class="separator:a2f758afc90b97744fcbc4092b371f942"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8c33ce4cfa01dd3bbb8d2916f0e30e1b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a8c33ce4cfa01dd3bbb8d2916f0e30e1b">BIG_448_29_dnbits</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x)</td></tr>
-<tr class="memdesc:a8c33ce4cfa01dd3bbb8d2916f0e30e1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#a8c33ce4cfa01dd3bbb8d2916f0e30e1b">More...</a><br /></td></tr>
-<tr class="separator:a8c33ce4cfa01dd3bbb8d2916f0e30e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac9094c3c5eb5d967cebb5a66b581ec9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ac9094c3c5eb5d967cebb5a66b581ec9b">BIG_448_29_mod</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:ac9094c3c5eb5d967cebb5a66b581ec9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#ac9094c3c5eb5d967cebb5a66b581ec9b">More...</a><br /></td></tr>
-<tr class="separator:ac9094c3c5eb5d967cebb5a66b581ec9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a58883fddbb7cec0eae17da2628455e2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a58883fddbb7cec0eae17da2628455e2b">BIG_448_29_sdiv</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:a58883fddbb7cec0eae17da2628455e2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#a58883fddbb7cec0eae17da2628455e2b">More...</a><br /></td></tr>
-<tr class="separator:a58883fddbb7cec0eae17da2628455e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ef793e983e087bcb9bf54a73de8c8e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a7ef793e983e087bcb9bf54a73de8c8e6">BIG_448_29_dmod</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:a7ef793e983e087bcb9bf54a73de8c8e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a7ef793e983e087bcb9bf54a73de8c8e6">More...</a><br /></td></tr>
-<tr class="separator:a7ef793e983e087bcb9bf54a73de8c8e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a84096083bf0954b59f2925648c7a137a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a84096083bf0954b59f2925648c7a137a">BIG_448_29_ddiv</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:a84096083bf0954b59f2925648c7a137a"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a84096083bf0954b59f2925648c7a137a">More...</a><br /></td></tr>
-<tr class="separator:a84096083bf0954b59f2925648c7a137a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af33649f8023f525098d9d55d87ea47b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#af33649f8023f525098d9d55d87ea47b9">BIG_448_29_parity</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x)</td></tr>
-<tr class="memdesc:af33649f8023f525098d9d55d87ea47b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#af33649f8023f525098d9d55d87ea47b9">More...</a><br /></td></tr>
-<tr class="separator:af33649f8023f525098d9d55d87ea47b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af024cd5305a28c602df5eabae1b1afd6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#af024cd5305a28c602df5eabae1b1afd6">BIG_448_29_bit</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int i)</td></tr>
-<tr class="memdesc:af024cd5305a28c602df5eabae1b1afd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#af024cd5305a28c602df5eabae1b1afd6">More...</a><br /></td></tr>
-<tr class="separator:af024cd5305a28c602df5eabae1b1afd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a856f088af44e66b839436be19d0cbfb4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a856f088af44e66b839436be19d0cbfb4">BIG_448_29_lastbits</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int n)</td></tr>
-<tr class="memdesc:a856f088af44e66b839436be19d0cbfb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#a856f088af44e66b839436be19d0cbfb4">More...</a><br /></td></tr>
-<tr class="separator:a856f088af44e66b839436be19d0cbfb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad247cced03511c10360dc3f09e46664e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ad247cced03511c10360dc3f09e46664e">BIG_448_29_random</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:ad247cced03511c10360dc3f09e46664e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#ad247cced03511c10360dc3f09e46664e">More...</a><br /></td></tr>
-<tr class="separator:ad247cced03511c10360dc3f09e46664e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8e22d200d8827af9686391514c2a11fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a8e22d200d8827af9686391514c2a11fc">BIG_448_29_randomnum</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a8e22d200d8827af9686391514c2a11fc"><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="#a8e22d200d8827af9686391514c2a11fc">More...</a><br /></td></tr>
-<tr class="separator:a8e22d200d8827af9686391514c2a11fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a737a0b66f8a4ac411d473961d63bfa84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a737a0b66f8a4ac411d473961d63bfa84">BIG_448_29_modmul</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:a737a0b66f8a4ac411d473961d63bfa84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a737a0b66f8a4ac411d473961d63bfa84">More...</a><br /></td></tr>
-<tr class="separator:a737a0b66f8a4ac411d473961d63bfa84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a33832c68e0adcf25dba53fd6c5d9c4dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a33832c68e0adcf25dba53fd6c5d9c4dd">BIG_448_29_moddiv</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:a33832c68e0adcf25dba53fd6c5d9c4dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a33832c68e0adcf25dba53fd6c5d9c4dd">More...</a><br /></td></tr>
-<tr class="separator:a33832c68e0adcf25dba53fd6c5d9c4dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9418b0503eaca5e00710291c6e824e65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a9418b0503eaca5e00710291c6e824e65">BIG_448_29_modsqr</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:a9418b0503eaca5e00710291c6e824e65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a9418b0503eaca5e00710291c6e824e65">More...</a><br /></td></tr>
-<tr class="separator:a9418b0503eaca5e00710291c6e824e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa240fed64c7cff4d2589e8f5f57cc4bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aa240fed64c7cff4d2589e8f5f57cc4bc">BIG_448_29_modneg</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:aa240fed64c7cff4d2589e8f5f57cc4bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#aa240fed64c7cff4d2589e8f5f57cc4bc">More...</a><br /></td></tr>
-<tr class="separator:aa240fed64c7cff4d2589e8f5f57cc4bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab76cfe2635aa04110808b1a56f55d967"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#ab76cfe2635aa04110808b1a56f55d967">BIG_448_29_jacobi</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y)</td></tr>
-<tr class="memdesc:ab76cfe2635aa04110808b1a56f55d967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#ab76cfe2635aa04110808b1a56f55d967">More...</a><br /></td></tr>
-<tr class="separator:ab76cfe2635aa04110808b1a56f55d967"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2806d6e8f34c46c6a4f7fddaba57179a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a2806d6e8f34c46c6a4f7fddaba57179a">BIG_448_29_invmodp</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y, <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> n)</td></tr>
-<tr class="memdesc:a2806d6e8f34c46c6a4f7fddaba57179a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a2806d6e8f34c46c6a4f7fddaba57179a">More...</a><br /></td></tr>
-<tr class="separator:a2806d6e8f34c46c6a4f7fddaba57179a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa137e18bd8ac5429bb2b9e2ee4be83e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#aa137e18bd8ac5429bb2b9e2ee4be83e8">BIG_448_29_mod2m</a> (<a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x, int m)</td></tr>
-<tr class="memdesc:aa137e18bd8ac5429bb2b9e2ee4be83e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#aa137e18bd8ac5429bb2b9e2ee4be83e8">More...</a><br /></td></tr>
-<tr class="separator:aa137e18bd8ac5429bb2b9e2ee4be83e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3afb2ac3160292e8c72f614a4c5689f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html#a3afb2ac3160292e8c72f614a4c5689f2">BIG_448_29_dmod2m</a> (<a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x, int m)</td></tr>
-<tr class="memdesc:a3afb2ac3160292e8c72f614a4c5689f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a3afb2ac3160292e8c72f614a4c5689f2">More...</a><br /></td></tr>
-<tr class="separator:a3afb2ac3160292e8c72f614a4c5689f2"><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="a7a5a3ffd6671b7e3013edefee432cf3d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a5a3ffd6671b7e3013edefee432cf3d">&#9670;&nbsp;</a></span>BIGBITS_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_448_29&#160;&#160;&#160;(8*<a class="el" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">MODBYTES_448_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="ab8d629bbd801a7e1d4da1cdedc1a76b6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab8d629bbd801a7e1d4da1cdedc1a76b6">&#9670;&nbsp;</a></span>BMASK_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_448_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="a4616c74eb991d091cdc238397eccb64c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4616c74eb991d091cdc238397eccb64c">&#9670;&nbsp;</a></span>DNLEN_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_448_29&#160;&#160;&#160;2*<a class="el" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="ad8e6de2119434515297fc71c80107920"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad8e6de2119434515297fc71c80107920">&#9670;&nbsp;</a></span>HBITS_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_448_29&#160;&#160;&#160;(<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="a027d25f3937d2bd098156eb2df8c1bf3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a027d25f3937d2bd098156eb2df8c1bf3">&#9670;&nbsp;</a></span>HMASK_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_448_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a2a565018109ce03e9c7f6c2225b7bfd8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2a565018109ce03e9c7f6c2225b7bfd8">&#9670;&nbsp;</a></span>NEXCESS_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_448_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</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="a10fb0626866a70d80b6df4824b89e3cc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a10fb0626866a70d80b6df4824b89e3cc">&#9670;&nbsp;</a></span>NLEN_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_448_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">MODBYTES_448_29</a>-1)/<a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a8829af39424249e4cf31d92fe3418761"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8829af39424249e4cf31d92fe3418761">&#9670;&nbsp;</a></span>BIG_448_29</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_448_29[<a class="el" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="ae467a9ad26bf9a2dd01c191d5bef6dc7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae467a9ad26bf9a2dd01c191d5bef6dc7">&#9670;&nbsp;</a></span>DBIG_448_29</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_448_29[<a class="el" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">DNLEN_448_29</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="a52732e32df914610f06d71e66ae0aaee"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52732e32df914610f06d71e66ae0aaee">&#9670;&nbsp;</a></span>BIG_448_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="af024cd5305a28c602df5eabae1b1afd6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af024cd5305a28c602df5eabae1b1afd6">&#9670;&nbsp;</a></span>BIG_448_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="aab522df22af3d6f8452a9f1ed5f6e787"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aab522df22af3d6f8452a9f1ed5f6e787">&#9670;&nbsp;</a></span>BIG_448_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a96d9269f5721a09b9e9241928241544e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a96d9269f5721a09b9e9241928241544e">&#9670;&nbsp;</a></span>BIG_448_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="acbc8ffb914448e131b56eb4c3ba53fc1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acbc8ffb914448e131b56eb4c3ba53fc1">&#9670;&nbsp;</a></span>BIG_448_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="aa0337aa7b6bb10b213193277b6706a07"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa0337aa7b6bb10b213193277b6706a07">&#9670;&nbsp;</a></span>BIG_448_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="abd5e5c67823d3e9e195cbbad446b8f2b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd5e5c67823d3e9e195cbbad446b8f2b">&#9670;&nbsp;</a></span>BIG_448_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a13a3c52ecff409475050fb20b196a4ec"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a13a3c52ecff409475050fb20b196a4ec">&#9670;&nbsp;</a></span>BIG_448_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a0539172f8147c115c9132f3a7dc0912a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0539172f8147c115c9132f3a7dc0912a">&#9670;&nbsp;</a></span>BIG_448_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="afb1ba79905bb33694bbf515ee7c3d2bd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afb1ba79905bb33694bbf515ee7c3d2bd">&#9670;&nbsp;</a></span>BIG_448_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a84096083bf0954b59f2925648c7a137a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a84096083bf0954b59f2925648c7a137a">&#9670;&nbsp;</a></span>BIG_448_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ac046e873f702c3c6ba84a45283591d0c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac046e873f702c3c6ba84a45283591d0c">&#9670;&nbsp;</a></span>BIG_448_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="aefe85187833ee1017452f0c48b2df544"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aefe85187833ee1017452f0c48b2df544">&#9670;&nbsp;</a></span>BIG_448_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="adc34c5a4a04536b69ef88d01318b293f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adc34c5a4a04536b69ef88d01318b293f">&#9670;&nbsp;</a></span>BIG_448_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a51937f4122d05f03a9583d1528cd6897"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a51937f4122d05f03a9583d1528cd6897">&#9670;&nbsp;</a></span>BIG_448_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a7ef793e983e087bcb9bf54a73de8c8e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7ef793e983e087bcb9bf54a73de8c8e6">&#9670;&nbsp;</a></span>BIG_448_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a3afb2ac3160292e8c72f614a4c5689f2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3afb2ac3160292e8c72f614a4c5689f2">&#9670;&nbsp;</a></span>BIG_448_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a8c33ce4cfa01dd3bbb8d2916f0e30e1b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8c33ce4cfa01dd3bbb8d2916f0e30e1b">&#9670;&nbsp;</a></span>BIG_448_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a1592d268df6258a58b6d4efa05e6eb41"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1592d268df6258a58b6d4efa05e6eb41">&#9670;&nbsp;</a></span>BIG_448_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a5df84f06f1ecdb4f4d0740fb65953f94"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5df84f06f1ecdb4f4d0740fb65953f94">&#9670;&nbsp;</a></span>BIG_448_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a2aef6adc137f20abe66c013fdc089453"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2aef6adc137f20abe66c013fdc089453">&#9670;&nbsp;</a></span>BIG_448_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a4cca42c269c38dd1c098e2ef5f9b2ef6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4cca42c269c38dd1c098e2ef5f9b2ef6">&#9670;&nbsp;</a></span>BIG_448_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a26445e5623108ee6104ef5afd7807b61"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a26445e5623108ee6104ef5afd7807b61">&#9670;&nbsp;</a></span>BIG_448_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="aeeb1c94512a234362e1fd43dea0aecdb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeeb1c94512a234362e1fd43dea0aecdb">&#9670;&nbsp;</a></span>BIG_448_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a690d7ffa0c2b7df6561011bd6156dd43"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a690d7ffa0c2b7df6561011bd6156dd43">&#9670;&nbsp;</a></span>BIG_448_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="ac7a8bd538830bd4938bdb96555962f91"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac7a8bd538830bd4938bdb96555962f91">&#9670;&nbsp;</a></span>BIG_448_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="acdf8614e386d747a7b3609c865a3b808"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acdf8614e386d747a7b3609c865a3b808">&#9670;&nbsp;</a></span>BIG_448_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a558045a997bfd9f332d0dc56182da244"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a558045a997bfd9f332d0dc56182da244">&#9670;&nbsp;</a></span>BIG_448_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a241537567b6f575209f356b938f5d8f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a241537567b6f575209f356b938f5d8f5">&#9670;&nbsp;</a></span>BIG_448_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a97a62e56535b72fd5449154e9c842ba6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a97a62e56535b72fd5449154e9c842ba6">&#9670;&nbsp;</a></span>BIG_448_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a49e73322bb56496afcd9594983166c15"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a49e73322bb56496afcd9594983166c15">&#9670;&nbsp;</a></span>BIG_448_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a6de5e0385019f0c93dae2b23230299f8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6de5e0385019f0c93dae2b23230299f8">&#9670;&nbsp;</a></span>BIG_448_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a8f36f4e7ab6f2e9fe4ed06cec28153d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8f36f4e7ab6f2e9fe4ed06cec28153d5">&#9670;&nbsp;</a></span>BIG_448_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a0fb2aab64a09f62ba22061339ddca874"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0fb2aab64a09f62ba22061339ddca874">&#9670;&nbsp;</a></span>BIG_448_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a2806d6e8f34c46c6a4f7fddaba57179a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2806d6e8f34c46c6a4f7fddaba57179a">&#9670;&nbsp;</a></span>BIG_448_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a54fe1672b4ae68f10c9b91e251adaabc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a54fe1672b4ae68f10c9b91e251adaabc">&#9670;&nbsp;</a></span>BIG_448_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a09c7553a6d3bddeb319b6847b95b206f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a09c7553a6d3bddeb319b6847b95b206f">&#9670;&nbsp;</a></span>BIG_448_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ab76cfe2635aa04110808b1a56f55d967"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab76cfe2635aa04110808b1a56f55d967">&#9670;&nbsp;</a></span>BIG_448_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a856f088af44e66b839436be19d0cbfb4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a856f088af44e66b839436be19d0cbfb4">&#9670;&nbsp;</a></span>BIG_448_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ac9094c3c5eb5d967cebb5a66b581ec9b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac9094c3c5eb5d967cebb5a66b581ec9b">&#9670;&nbsp;</a></span>BIG_448_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="aa137e18bd8ac5429bb2b9e2ee4be83e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa137e18bd8ac5429bb2b9e2ee4be83e8">&#9670;&nbsp;</a></span>BIG_448_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a33832c68e0adcf25dba53fd6c5d9c4dd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a33832c68e0adcf25dba53fd6c5d9c4dd">&#9670;&nbsp;</a></span>BIG_448_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a737a0b66f8a4ac411d473961d63bfa84"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a737a0b66f8a4ac411d473961d63bfa84">&#9670;&nbsp;</a></span>BIG_448_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="aa240fed64c7cff4d2589e8f5f57cc4bc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa240fed64c7cff4d2589e8f5f57cc4bc">&#9670;&nbsp;</a></span>BIG_448_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a9418b0503eaca5e00710291c6e824e65"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9418b0503eaca5e00710291c6e824e65">&#9670;&nbsp;</a></span>BIG_448_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ac59e9444d4495f12d5ef69d88f1d64f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac59e9444d4495f12d5ef69d88f1d64f9">&#9670;&nbsp;</a></span>BIG_448_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="ac0bf30b8a5963b8f019da2a3123916ca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac0bf30b8a5963b8f019da2a3123916ca">&#9670;&nbsp;</a></span>BIG_448_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a2f758afc90b97744fcbc4092b371f942"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2f758afc90b97744fcbc4092b371f942">&#9670;&nbsp;</a></span>BIG_448_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ad28e337ec4df64509040ae03e6d5a454"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad28e337ec4df64509040ae03e6d5a454">&#9670;&nbsp;</a></span>BIG_448_29_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_448_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="aee02676b57dce89300afc580a6b84579"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee02676b57dce89300afc580a6b84579">&#9670;&nbsp;</a></span>BIG_448_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a4fb00fa3b6c2c24987257f6a33955e1c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4fb00fa3b6c2c24987257f6a33955e1c">&#9670;&nbsp;</a></span>BIG_448_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="af57fb9d2c6f6573fbf07caf4cb7c8505"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af57fb9d2c6f6573fbf07caf4cb7c8505">&#9670;&nbsp;</a></span>BIG_448_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="af33649f8023f525098d9d55d87ea47b9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af33649f8023f525098d9d55d87ea47b9">&#9670;&nbsp;</a></span>BIG_448_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a81ef91f38192d1fbdc5826a6d09b2b28"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a81ef91f38192d1fbdc5826a6d09b2b28">&#9670;&nbsp;</a></span>BIG_448_29_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_448_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a5e73af51900b138efd372c1c1faf38ef"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5e73af51900b138efd372c1c1faf38ef">&#9670;&nbsp;</a></span>BIG_448_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ad247cced03511c10360dc3f09e46664e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad247cced03511c10360dc3f09e46664e">&#9670;&nbsp;</a></span>BIG_448_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a8e22d200d8827af9686391514c2a11fc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8e22d200d8827af9686391514c2a11fc">&#9670;&nbsp;</a></span>BIG_448_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a095f347843aefe767bfe2801abb8b770"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a095f347843aefe767bfe2801abb8b770">&#9670;&nbsp;</a></span>BIG_448_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ae91f2b61abbf35ff8eead23ff33dbcc6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae91f2b61abbf35ff8eead23ff33dbcc6">&#9670;&nbsp;</a></span>BIG_448_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a7fbfcd1c557637a639650765514fd13f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7fbfcd1c557637a639650765514fd13f">&#9670;&nbsp;</a></span>BIG_448_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a58883fddbb7cec0eae17da2628455e2b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a58883fddbb7cec0eae17da2628455e2b">&#9670;&nbsp;</a></span>BIG_448_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="aff258f5a582cc9a517ddac40a426c1c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aff258f5a582cc9a517ddac40a426c1c2">&#9670;&nbsp;</a></span>BIG_448_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a4f42b9409fc90afb337c086f36b99b0f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4f42b9409fc90afb337c086f36b99b0f">&#9670;&nbsp;</a></span>BIG_448_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ae2edc8357240da28f4abde11918fba1e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae2edc8357240da28f4abde11918fba1e">&#9670;&nbsp;</a></span>BIG_448_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="ad050214613920f9b77dc0b8f5ce10d18"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad050214613920f9b77dc0b8f5ce10d18">&#9670;&nbsp;</a></span>BIG_448_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a3bad363fa21dc4b598d833758e86b5de"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3bad363fa21dc4b598d833758e86b5de">&#9670;&nbsp;</a></span>BIG_448_29_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_448_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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="a34ab101faf200fbc482ab23e6c09d45e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a34ab101faf200fbc482ab23e6c09d45e">&#9670;&nbsp;</a></span>BIG_448_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a4d22bc595ce5949ef5e1fcfc79d769a8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4d22bc595ce5949ef5e1fcfc79d769a8">&#9670;&nbsp;</a></span>BIG_448_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_448_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a38bad8b10d13490e1608c18122d1757f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a38bad8b10d13490e1608c18122d1757f">&#9670;&nbsp;</a></span>BIG_448_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a58fe5186e333019079a63dd29e4de06f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a58fe5186e333019079a63dd29e4de06f">&#9670;&nbsp;</a></span>BIG_448_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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="a6e430482d15f64c789d7040d3a5ee496"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6e430482d15f64c789d7040d3a5ee496">&#9670;&nbsp;</a></span>BIG_448_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_448_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h_source.html b/website/static/cdocs/big__448__29_8h_source.html
deleted file mode 100644
index 53710ad..0000000
--- a/website/static/cdocs/big__448__29_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_448_29.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_448_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__448__29_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_448_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_448_29_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__448__29_8h.html">config_big_448_29.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__448__29_8h.html#a7a5a3ffd6671b7e3013edefee432cf3d">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_448_29 (8*MODBYTES_448_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">   40</a></span>&#160;<span class="preprocessor">#define NLEN_448_29 (1+((8*MODBYTES_448_29-1)/BASEBITS_448_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_448_29 2*NLEN_448_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6">   42</a></span>&#160;<span class="preprocessor">#define BMASK_448_29 (((chunk)1&lt;&lt;BASEBITS_448_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__448__29_8h.html#a2a565018109ce03e9c7f6c2225b7bfd8">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_448_29 (1&lt;&lt;(CHUNK-BASEBITS_448_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">   45</a></span>&#160;<span class="preprocessor">#define HBITS_448_29 (BASEBITS_448_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">   46</a></span>&#160;<span class="preprocessor">#define HMASK_448_29 (((chunk)1&lt;&lt;HBITS_448_29)-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_448_29 NLEN_448_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_448_29 (NLEN_448_29+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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a>[<a class="code" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_448_29 DNLEN_448_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_448_29 (DNLEN_448_29+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__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a>[<a class="code" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">DNLEN_448_29</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__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a>[<a class="code" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a>[<a class="code" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">DNLEN_448_29</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__448__29_8h.html#a09c7553a6d3bddeb319b6847b95b206f">BIG_448_29_iszilch</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a54fe1672b4ae68f10c9b91e251adaabc">BIG_448_29_isunity</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#adc34c5a4a04536b69ef88d01318b293f">BIG_448_29_diszilch</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#af57fb9d2c6f6573fbf07caf4cb7c8505">BIG_448_29_output</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a095f347843aefe767bfe2801abb8b770">BIG_448_29_rawoutput</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#aa0337aa7b6bb10b213193277b6706a07">BIG_448_29_cswap</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#aab522df22af3d6f8452a9f1ed5f6e787">BIG_448_29_cmove</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a13a3c52ecff409475050fb20b196a4ec">BIG_448_29_dcmove</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a58fe5186e333019079a63dd29e4de06f">BIG_448_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a558045a997bfd9f332d0dc56182da244">BIG_448_29_fromBytes</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a241537567b6f575209f356b938f5d8f5">BIG_448_29_fromBytesLen</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#aefe85187833ee1017452f0c48b2df544">BIG_448_29_dfromBytesLen</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a5df84f06f1ecdb4f4d0740fb65953f94">BIG_448_29_doutput</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a2aef6adc137f20abe66c013fdc089453">BIG_448_29_drawoutput</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae91f2b61abbf35ff8eead23ff33dbcc6">BIG_448_29_rcopy</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<span class="keyword">const</span> <a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#acbc8ffb914448e131b56eb4c3ba53fc1">BIG_448_29_copy</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#afb1ba79905bb33694bbf515ee7c3d2bd">BIG_448_29_dcopy</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ac7a8bd538830bd4938bdb96555962f91">BIG_448_29_dsucopy</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a4cca42c269c38dd1c098e2ef5f9b2ef6">BIG_448_29_dscopy</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a7fbfcd1c557637a639650765514fd13f">BIG_448_29_sdcopy</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#aff258f5a582cc9a517ddac40a426c1c2">BIG_448_29_sducopy</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a6e430482d15f64c789d7040d3a5ee496">BIG_448_29_zero</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#acdf8614e386d747a7b3609c865a3b808">BIG_448_29_dzero</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#aee02676b57dce89300afc580a6b84579">BIG_448_29_one</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a0fb2aab64a09f62ba22061339ddca874">BIG_448_29_invmod2m</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a52732e32df914610f06d71e66ae0aaee">BIG_448_29_add</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a4fb00fa3b6c2c24987257f6a33955e1c">BIG_448_29_or</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8f36f4e7ab6f2e9fe4ed06cec28153d5">BIG_448_29_inc</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a38bad8b10d13490e1608c18122d1757f">BIG_448_29_sub</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ac046e873f702c3c6ba84a45283591d0c">BIG_448_29_dec</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#abd5e5c67823d3e9e195cbbad446b8f2b">BIG_448_29_dadd</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a690d7ffa0c2b7df6561011bd6156dd43">BIG_448_29_dsub</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a6de5e0385019f0c93dae2b23230299f8">BIG_448_29_imul</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a81ef91f38192d1fbdc5826a6d09b2b28">BIG_448_29_pmul</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a51937f4122d05f03a9583d1528cd6897">BIG_448_29_div3</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a5e73af51900b138efd372c1c1faf38ef">BIG_448_29_pxmul</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ac0bf30b8a5963b8f019da2a3123916ca">BIG_448_29_mul</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ad050214613920f9b77dc0b8f5ce10d18">BIG_448_29_smul</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a34ab101faf200fbc482ab23e6c09d45e">BIG_448_29_sqr</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ac59e9444d4495f12d5ef69d88f1d64f9">BIG_448_29_monty</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> a,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a4f42b9409fc90afb337c086f36b99b0f">BIG_448_29_shl</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a97a62e56535b72fd5449154e9c842ba6">BIG_448_29_fshl</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a26445e5623108ee6104ef5afd7807b61">BIG_448_29_dshl</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ae2edc8357240da28f4abde11918fba1e">BIG_448_29_shr</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a4d22bc595ce5949ef5e1fcfc79d769a8">BIG_448_29_ssn</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> r,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> a, <a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a49e73322bb56496afcd9594983166c15">BIG_448_29_fshr</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#aeeb1c94512a234362e1fd43dea0aecdb">BIG_448_29_dshr</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a3bad363fa21dc4b598d833758e86b5de">BIG_448_29_split</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ad28e337ec4df64509040ae03e6d5a454">BIG_448_29_norm</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a1592d268df6258a58b6d4efa05e6eb41">BIG_448_29_dnorm</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a96d9269f5721a09b9e9241928241544e">BIG_448_29_comp</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a0539172f8147c115c9132f3a7dc0912a">BIG_448_29_dcomp</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#a2f758afc90b97744fcbc4092b371f942">BIG_448_29_nbits</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8c33ce4cfa01dd3bbb8d2916f0e30e1b">BIG_448_29_dnbits</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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__448__29_8h.html#ac9094c3c5eb5d967cebb5a66b581ec9b">BIG_448_29_mod</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a58883fddbb7cec0eae17da2628455e2b">BIG_448_29_sdiv</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a7ef793e983e087bcb9bf54a73de8c8e6">BIG_448_29_dmod</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a84096083bf0954b59f2925648c7a137a">BIG_448_29_ddiv</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#af33649f8023f525098d9d55d87ea47b9">BIG_448_29_parity</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#af024cd5305a28c602df5eabae1b1afd6">BIG_448_29_bit</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a856f088af44e66b839436be19d0cbfb4">BIG_448_29_lastbits</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ad247cced03511c10360dc3f09e46664e">BIG_448_29_random</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a8e22d200d8827af9686391514c2a11fc">BIG_448_29_randomnum</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a737a0b66f8a4ac411d473961d63bfa84">BIG_448_29_modmul</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a33832c68e0adcf25dba53fd6c5d9c4dd">BIG_448_29_moddiv</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> z,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a9418b0503eaca5e00710291c6e824e65">BIG_448_29_modsqr</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#aa240fed64c7cff4d2589e8f5f57cc4bc">BIG_448_29_modneg</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#ab76cfe2635aa04110808b1a56f55d967">BIG_448_29_jacobi</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a2806d6e8f34c46c6a4f7fddaba57179a">BIG_448_29_invmodp</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> x,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a> y,<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#aa137e18bd8ac5429bb2b9e2ee4be83e8">BIG_448_29_mod2m</a>(<a class="code" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</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__448__29_8h.html#a3afb2ac3160292e8c72f614a4c5689f2">BIG_448_29_dmod2m</a>(<a class="code" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</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_448_29(<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__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6">BMASK_448_29</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__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</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_448_29(<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__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">HMASK_448_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">HMASK_448_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</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__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">HMASK_448_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</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__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6">BMASK_448_29</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__448__29_8h_html_ae467a9ad26bf9a2dd01c191d5bef6dc7"><div class="ttname"><a href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">DBIG_448_29</a></div><div class="ttdeci">chunk DBIG_448_29[DNLEN_448_29]</div><div class="ttdef"><b>Definition:</b> big_448_29.h:59</div></div>
-<div class="ttc" id="big__448__29_8h_html_ac0bf30b8a5963b8f019da2a3123916ca"><div class="ttname"><a href="big__448__29_8h.html#ac0bf30b8a5963b8f019da2a3123916ca">BIG_448_29_mul</a></div><div class="ttdeci">void BIG_448_29_mul(DBIG_448_29 x, BIG_448_29 y, BIG_448_29 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_448_29.c:542</div></div>
-<div class="ttc" id="big__448__29_8h_html_a81ef91f38192d1fbdc5826a6d09b2b28"><div class="ttname"><a href="big__448__29_8h.html#a81ef91f38192d1fbdc5826a6d09b2b28">BIG_448_29_pmul</a></div><div class="ttdeci">chunk BIG_448_29_pmul(BIG_448_29 x, BIG_448_29 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_448_29.c:465</div></div>
-<div class="ttc" id="big__448__29_8h_html_a4d22bc595ce5949ef5e1fcfc79d769a8"><div class="ttname"><a href="big__448__29_8h.html#a4d22bc595ce5949ef5e1fcfc79d769a8">BIG_448_29_ssn</a></div><div class="ttdeci">int BIG_448_29_ssn(BIG_448_29 r, BIG_448_29 a, BIG_448_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:877</div></div>
-<div class="ttc" id="big__448__29_8h_html_a34ab101faf200fbc482ab23e6c09d45e"><div class="ttname"><a href="big__448__29_8h.html#a34ab101faf200fbc482ab23e6c09d45e">BIG_448_29_sqr</a></div><div class="ttdeci">void BIG_448_29_sqr(DBIG_448_29 x, BIG_448_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:618</div></div>
-<div class="ttc" id="big__448__29_8h_html_a095f347843aefe767bfe2801abb8b770"><div class="ttname"><a href="big__448__29_8h.html#a095f347843aefe767bfe2801abb8b770">BIG_448_29_rawoutput</a></div><div class="ttdeci">void BIG_448_29_rawoutput(BIG_448_29 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_448_29.c:77</div></div>
-<div class="ttc" id="big__448__29_8h_html_a737a0b66f8a4ac411d473961d63bfa84"><div class="ttname"><a href="big__448__29_8h.html#a737a0b66f8a4ac411d473961d63bfa84">BIG_448_29_modmul</a></div><div class="ttdeci">void BIG_448_29_modmul(BIG_448_29 x, BIG_448_29 y, BIG_448_29 z, BIG_448_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1300</div></div>
-<div class="ttc" id="big__448__29_8h_html_a51937f4122d05f03a9583d1528cd6897"><div class="ttname"><a href="big__448__29_8h.html#a51937f4122d05f03a9583d1528cd6897">BIG_448_29_div3</a></div><div class="ttdeci">int BIG_448_29_div3(BIG_448_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:484</div></div>
-<div class="ttc" id="big__448__29_8h_html_a9418b0503eaca5e00710291c6e824e65"><div class="ttname"><a href="big__448__29_8h.html#a9418b0503eaca5e00710291c6e824e65">BIG_448_29_modsqr</a></div><div class="ttdeci">void BIG_448_29_modsqr(BIG_448_29 x, BIG_448_29 y, BIG_448_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1315</div></div>
-<div class="ttc" id="big__448__29_8h_html_aa240fed64c7cff4d2589e8f5f57cc4bc"><div class="ttname"><a href="big__448__29_8h.html#aa240fed64c7cff4d2589e8f5f57cc4bc">BIG_448_29_modneg</a></div><div class="ttdeci">void BIG_448_29_modneg(BIG_448_29 x, BIG_448_29 y, BIG_448_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1327</div></div>
-<div class="ttc" id="big__448__29_8h_html_a96d9269f5721a09b9e9241928241544e"><div class="ttname"><a href="big__448__29_8h.html#a96d9269f5721a09b9e9241928241544e">BIG_448_29_comp</a></div><div class="ttdeci">int BIG_448_29_comp(BIG_448_29 x, BIG_448_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1014</div></div>
-<div class="ttc" id="big__448__29_8h_html_ac9094c3c5eb5d967cebb5a66b581ec9b"><div class="ttname"><a href="big__448__29_8h.html#ac9094c3c5eb5d967cebb5a66b581ec9b">BIG_448_29_mod</a></div><div class="ttdeci">void BIG_448_29_mod(BIG_448_29 x, BIG_448_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1082</div></div>
-<div class="ttc" id="big__448__29_8h_html_a54fe1672b4ae68f10c9b91e251adaabc"><div class="ttname"><a href="big__448__29_8h.html#a54fe1672b4ae68f10c9b91e251adaabc">BIG_448_29_isunity</a></div><div class="ttdeci">int BIG_448_29_isunity(BIG_448_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:35</div></div>
-<div class="ttc" id="big__448__29_8h_html_a6e430482d15f64c789d7040d3a5ee496"><div class="ttname"><a href="big__448__29_8h.html#a6e430482d15f64c789d7040d3a5ee496">BIG_448_29_zero</a></div><div class="ttdeci">void BIG_448_29_zero(BIG_448_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:319</div></div>
-<div class="ttc" id="big__448__29_8h_html_a49e73322bb56496afcd9594983166c15"><div class="ttname"><a href="big__448__29_8h.html#a49e73322bb56496afcd9594983166c15">BIG_448_29_fshr</a></div><div class="ttdeci">int BIG_448_29_fshr(BIG_448_29 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_448_29.c:906</div></div>
-<div class="ttc" id="big__448__29_8h_html_ae91f2b61abbf35ff8eead23ff33dbcc6"><div class="ttname"><a href="big__448__29_8h.html#ae91f2b61abbf35ff8eead23ff33dbcc6">BIG_448_29_rcopy</a></div><div class="ttdeci">void BIG_448_29_rcopy(BIG_448_29 x, const BIG_448_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:239</div></div>
-<div class="ttc" id="big__448__29_8h_html_aeeb1c94512a234362e1fd43dea0aecdb"><div class="ttname"><a href="big__448__29_8h.html#aeeb1c94512a234362e1fd43dea0aecdb">BIG_448_29_dshr</a></div><div class="ttdeci">void BIG_448_29_dshr(DBIG_448_29 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_448_29.c:918</div></div>
-<div class="ttc" id="big__448__29_8h_html_a690d7ffa0c2b7df6561011bd6156dd43"><div class="ttname"><a href="big__448__29_8h.html#a690d7ffa0c2b7df6561011bd6156dd43">BIG_448_29_dsub</a></div><div class="ttdeci">void BIG_448_29_dsub(DBIG_448_29 x, DBIG_448_29 y, DBIG_448_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:413</div></div>
-<div class="ttc" id="big__448__29_8h_html_acdf8614e386d747a7b3609c865a3b808"><div class="ttname"><a href="big__448__29_8h.html#acdf8614e386d747a7b3609c865a3b808">BIG_448_29_dzero</a></div><div class="ttdeci">void BIG_448_29_dzero(DBIG_448_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:329</div></div>
-<div class="ttc" id="big__448__29_8h_html_a8e22d200d8827af9686391514c2a11fc"><div class="ttname"><a href="big__448__29_8h.html#a8e22d200d8827af9686391514c2a11fc">BIG_448_29_randomnum</a></div><div class="ttdeci">void BIG_448_29_randomnum(BIG_448_29 x, BIG_448_29 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_448_29.c:1274</div></div>
-<div class="ttc" id="big__448__29_8h_html_ac7a8bd538830bd4938bdb96555962f91"><div class="ttname"><a href="big__448__29_8h.html#ac7a8bd538830bd4938bdb96555962f91">BIG_448_29_dsucopy</a></div><div class="ttdeci">void BIG_448_29_dsucopy(DBIG_448_29 x, BIG_448_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:280</div></div>
-<div class="ttc" id="big__448__29_8h_html_a4616c74eb991d091cdc238397eccb64c"><div class="ttname"><a href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">DNLEN_448_29</a></div><div class="ttdeci">#define DNLEN_448_29</div><div class="ttdef"><b>Definition:</b> big_448_29.h:41</div></div>
-<div class="ttc" id="big__448__29_8h_html_a0539172f8147c115c9132f3a7dc0912a"><div class="ttname"><a href="big__448__29_8h.html#a0539172f8147c115c9132f3a7dc0912a">BIG_448_29_dcomp</a></div><div class="ttdeci">int BIG_448_29_dcomp(DBIG_448_29 x, DBIG_448_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1026</div></div>
-<div class="ttc" id="big__448__29_8h_html_ad247cced03511c10360dc3f09e46664e"><div class="ttname"><a href="big__448__29_8h.html#ad247cced03511c10360dc3f09e46664e">BIG_448_29_random</a></div><div class="ttdeci">void BIG_448_29_random(BIG_448_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1248</div></div>
-<div class="ttc" id="big__448__29_8h_html_ab76cfe2635aa04110808b1a56f55d967"><div class="ttname"><a href="big__448__29_8h.html#ab76cfe2635aa04110808b1a56f55d967">BIG_448_29_jacobi</a></div><div class="ttdeci">int BIG_448_29_jacobi(BIG_448_29 x, BIG_448_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1354</div></div>
-<div class="ttc" id="big__448__29_8h_html_ab8d629bbd801a7e1d4da1cdedc1a76b6"><div class="ttname"><a href="big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6">BMASK_448_29</a></div><div class="ttdeci">#define BMASK_448_29</div><div class="ttdef"><b>Definition:</b> big_448_29.h:42</div></div>
-<div class="ttc" id="big__448__29_8h_html_a26445e5623108ee6104ef5afd7807b61"><div class="ttname"><a href="big__448__29_8h.html#a26445e5623108ee6104ef5afd7807b61">BIG_448_29_dshl</a></div><div class="ttdeci">void BIG_448_29_dshl(DBIG_448_29 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_448_29.c:846</div></div>
-<div class="ttc" id="big__448__29_8h_html_a6de5e0385019f0c93dae2b23230299f8"><div class="ttname"><a href="big__448__29_8h.html#a6de5e0385019f0c93dae2b23230299f8">BIG_448_29_imul</a></div><div class="ttdeci">void BIG_448_29_imul(BIG_448_29 x, BIG_448_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:450</div></div>
-<div class="ttc" id="big__448__29_8h_html_a38bad8b10d13490e1608c18122d1757f"><div class="ttname"><a href="big__448__29_8h.html#a38bad8b10d13490e1608c18122d1757f">BIG_448_29_sub</a></div><div class="ttdeci">void BIG_448_29_sub(BIG_448_29 x, BIG_448_29 y, BIG_448_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:397</div></div>
-<div class="ttc" id="big__448__29_8h_html_a2f758afc90b97744fcbc4092b371f942"><div class="ttname"><a href="big__448__29_8h.html#a2f758afc90b97744fcbc4092b371f942">BIG_448_29_nbits</a></div><div class="ttdeci">int BIG_448_29_nbits(BIG_448_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1040</div></div>
-<div class="ttc" id="big__448__29_8h_html_a5e73af51900b138efd372c1c1faf38ef"><div class="ttname"><a href="big__448__29_8h.html#a5e73af51900b138efd372c1c1faf38ef">BIG_448_29_pxmul</a></div><div class="ttdeci">void BIG_448_29_pxmul(DBIG_448_29 x, BIG_448_29 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_448_29.c:501</div></div>
-<div class="ttc" id="big__448__29_8h_html_a5df84f06f1ecdb4f4d0740fb65953f94"><div class="ttname"><a href="big__448__29_8h.html#a5df84f06f1ecdb4f4d0740fb65953f94">BIG_448_29_doutput</a></div><div class="ttdeci">void BIG_448_29_doutput(DBIG_448_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:190</div></div>
-<div class="ttc" id="big__448__29_8h_html_aefe85187833ee1017452f0c48b2df544"><div class="ttname"><a href="big__448__29_8h.html#aefe85187833ee1017452f0c48b2df544">BIG_448_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_448_29_dfromBytesLen(DBIG_448_29 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_448_29.c:1485</div></div>
-<div class="ttc" id="big__448__29_8h_html_a10fb0626866a70d80b6df4824b89e3cc"><div class="ttname"><a href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">NLEN_448_29</a></div><div class="ttdeci">#define NLEN_448_29</div><div class="ttdef"><b>Definition:</b> big_448_29.h:40</div></div>
-<div class="ttc" id="big__448__29_8h_html_a52732e32df914610f06d71e66ae0aaee"><div class="ttname"><a href="big__448__29_8h.html#a52732e32df914610f06d71e66ae0aaee">BIG_448_29_add</a></div><div class="ttdeci">void BIG_448_29_add(BIG_448_29 x, BIG_448_29 y, BIG_448_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:356</div></div>
-<div class="ttc" id="big__448__29_8h_html_a241537567b6f575209f356b938f5d8f5"><div class="ttname"><a href="big__448__29_8h.html#a241537567b6f575209f356b938f5d8f5">BIG_448_29_fromBytesLen</a></div><div class="ttdeci">void BIG_448_29_fromBytesLen(BIG_448_29 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_448_29.c:170</div></div>
-<div class="ttc" id="big__448__29_8h_html_ad8e6de2119434515297fc71c80107920"><div class="ttname"><a href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">HBITS_448_29</a></div><div class="ttdeci">#define HBITS_448_29</div><div class="ttdef"><b>Definition:</b> big_448_29.h:45</div></div>
-<div class="ttc" id="big__448__29_8h_html_acbc8ffb914448e131b56eb4c3ba53fc1"><div class="ttname"><a href="big__448__29_8h.html#acbc8ffb914448e131b56eb4c3ba53fc1">BIG_448_29_copy</a></div><div class="ttdeci">void BIG_448_29_copy(BIG_448_29 x, BIG_448_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:227</div></div>
-<div class="ttc" id="big__448__29_8h_html_a58883fddbb7cec0eae17da2628455e2b"><div class="ttname"><a href="big__448__29_8h.html#a58883fddbb7cec0eae17da2628455e2b">BIG_448_29_sdiv</a></div><div class="ttdeci">void BIG_448_29_sdiv(BIG_448_29 x, BIG_448_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1188</div></div>
-<div class="ttc" id="big__448__29_8h_html_af024cd5305a28c602df5eabae1b1afd6"><div class="ttname"><a href="big__448__29_8h.html#af024cd5305a28c602df5eabae1b1afd6">BIG_448_29_bit</a></div><div class="ttdeci">int BIG_448_29_bit(BIG_448_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1232</div></div>
-<div class="ttc" id="big__448__29_8h_html_a84096083bf0954b59f2925648c7a137a"><div class="ttname"><a href="big__448__29_8h.html#a84096083bf0954b59f2925648c7a137a">BIG_448_29_ddiv</a></div><div class="ttdeci">void BIG_448_29_ddiv(BIG_448_29 x, DBIG_448_29 y, BIG_448_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1149</div></div>
-<div class="ttc" id="big__448__29_8h_html_a13a3c52ecff409475050fb20b196a4ec"><div class="ttname"><a href="big__448__29_8h.html#a13a3c52ecff409475050fb20b196a4ec">BIG_448_29_dcmove</a></div><div class="ttdeci">void BIG_448_29_dcmove(BIG_448_29 x, BIG_448_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__448__29_8h_html_a2aef6adc137f20abe66c013fdc089453"><div class="ttname"><a href="big__448__29_8h.html#a2aef6adc137f20abe66c013fdc089453">BIG_448_29_drawoutput</a></div><div class="ttdeci">void BIG_448_29_drawoutput(DBIG_448_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:212</div></div>
-<div class="ttc" id="big__448__29_8h_html_a58fe5186e333019079a63dd29e4de06f"><div class="ttname"><a href="big__448__29_8h.html#a58fe5186e333019079a63dd29e4de06f">BIG_448_29_toBytes</a></div><div class="ttdeci">void BIG_448_29_toBytes(char *a, BIG_448_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:141</div></div>
-<div class="ttc" id="big__448__29_8h_html_a8c33ce4cfa01dd3bbb8d2916f0e30e1b"><div class="ttname"><a href="big__448__29_8h.html#a8c33ce4cfa01dd3bbb8d2916f0e30e1b">BIG_448_29_dnbits</a></div><div class="ttdeci">int BIG_448_29_dnbits(DBIG_448_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1060</div></div>
-<div class="ttc" id="big__448__29_8h_html_aee02676b57dce89300afc580a6b84579"><div class="ttname"><a href="big__448__29_8h.html#aee02676b57dce89300afc580a6b84579">BIG_448_29_one</a></div><div class="ttdeci">void BIG_448_29_one(BIG_448_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_448_29.c:340</div></div>
-<div class="ttc" id="big__448__29_8h_html_a7fbfcd1c557637a639650765514fd13f"><div class="ttname"><a href="big__448__29_8h.html#a7fbfcd1c557637a639650765514fd13f">BIG_448_29_sdcopy</a></div><div class="ttdeci">void BIG_448_29_sdcopy(BIG_448_29 x, DBIG_448_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:294</div></div>
-<div class="ttc" id="big__448__29_8h_html_ac59e9444d4495f12d5ef69d88f1d64f9"><div class="ttname"><a href="big__448__29_8h.html#ac59e9444d4495f12d5ef69d88f1d64f9">BIG_448_29_monty</a></div><div class="ttdeci">void BIG_448_29_monty(BIG_448_29 a, BIG_448_29 md, chunk MC, DBIG_448_29 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_448_29.c:735</div></div>
-<div class="ttc" id="big__448__29_8h_html_a8f36f4e7ab6f2e9fe4ed06cec28153d5"><div class="ttname"><a href="big__448__29_8h.html#a8f36f4e7ab6f2e9fe4ed06cec28153d5">BIG_448_29_inc</a></div><div class="ttdeci">void BIG_448_29_inc(BIG_448_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:386</div></div>
-<div class="ttc" id="big__448__29_8h_html_afb1ba79905bb33694bbf515ee7c3d2bd"><div class="ttname"><a href="big__448__29_8h.html#afb1ba79905bb33694bbf515ee7c3d2bd">BIG_448_29_dcopy</a></div><div class="ttdeci">void BIG_448_29_dcopy(DBIG_448_29 x, DBIG_448_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:251</div></div>
-<div class="ttc" id="big__448__29_8h_html_ae2edc8357240da28f4abde11918fba1e"><div class="ttname"><a href="big__448__29_8h.html#ae2edc8357240da28f4abde11918fba1e">BIG_448_29_shr</a></div><div class="ttdeci">void BIG_448_29_shr(BIG_448_29 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_448_29.c:864</div></div>
-<div class="ttc" id="big__448__29_8h_html_a4fb00fa3b6c2c24987257f6a33955e1c"><div class="ttname"><a href="big__448__29_8h.html#a4fb00fa3b6c2c24987257f6a33955e1c">BIG_448_29_or</a></div><div class="ttdeci">void BIG_448_29_or(BIG_448_29 x, BIG_448_29 y, BIG_448_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:371</div></div>
-<div class="ttc" id="big__448__29_8h_html_a97a62e56535b72fd5449154e9c842ba6"><div class="ttname"><a href="big__448__29_8h.html#a97a62e56535b72fd5449154e9c842ba6">BIG_448_29_fshl</a></div><div class="ttdeci">int BIG_448_29_fshl(BIG_448_29 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_448_29.c:832</div></div>
-<div class="ttc" id="big__448__29_8h_html_a7ef793e983e087bcb9bf54a73de8c8e6"><div class="ttname"><a href="big__448__29_8h.html#a7ef793e983e087bcb9bf54a73de8c8e6">BIG_448_29_dmod</a></div><div class="ttdeci">void BIG_448_29_dmod(BIG_448_29 x, DBIG_448_29 y, BIG_448_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1113</div></div>
-<div class="ttc" id="big__448__29_8h_html_a4f42b9409fc90afb337c086f36b99b0f"><div class="ttname"><a href="big__448__29_8h.html#a4f42b9409fc90afb337c086f36b99b0f">BIG_448_29_shl</a></div><div class="ttdeci">void BIG_448_29_shl(BIG_448_29 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_448_29.c:813</div></div>
-<div class="ttc" id="big__448__29_8h_html_af33649f8023f525098d9d55d87ea47b9"><div class="ttname"><a href="big__448__29_8h.html#af33649f8023f525098d9d55d87ea47b9">BIG_448_29_parity</a></div><div class="ttdeci">int BIG_448_29_parity(BIG_448_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1225</div></div>
-<div class="ttc" id="big__448__29_8h_html_ad050214613920f9b77dc0b8f5ce10d18"><div class="ttname"><a href="big__448__29_8h.html#ad050214613920f9b77dc0b8f5ce10d18">BIG_448_29_smul</a></div><div class="ttdeci">void BIG_448_29_smul(BIG_448_29 x, BIG_448_29 y, BIG_448_29 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_448_29.c:518</div></div>
-<div class="ttc" id="config__big__448__29_8h_html_a9c5ab06ad079cf372ad4dcac624e62c6"><div class="ttname"><a href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a></div><div class="ttdeci">#define BASEBITS_448_29</div><div class="ttdef"><b>Definition:</b> config_big_448_29.h:35</div></div>
-<div class="ttc" id="big__448__29_8h_html_a856f088af44e66b839436be19d0cbfb4"><div class="ttname"><a href="big__448__29_8h.html#a856f088af44e66b839436be19d0cbfb4">BIG_448_29_lastbits</a></div><div class="ttdeci">int BIG_448_29_lastbits(BIG_448_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1240</div></div>
-<div class="ttc" id="big__448__29_8h_html_ad28e337ec4df64509040ae03e6d5a454"><div class="ttname"><a href="big__448__29_8h.html#ad28e337ec4df64509040ae03e6d5a454">BIG_448_29_norm</a></div><div class="ttdeci">chunk BIG_448_29_norm(BIG_448_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:976</div></div>
-<div class="ttc" id="big__448__29_8h_html_a09c7553a6d3bddeb319b6847b95b206f"><div class="ttname"><a href="big__448__29_8h.html#a09c7553a6d3bddeb319b6847b95b206f">BIG_448_29_iszilch</a></div><div class="ttdeci">int BIG_448_29_iszilch(BIG_448_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:26</div></div>
-<div class="ttc" id="big__448__29_8h_html_aa0337aa7b6bb10b213193277b6706a07"><div class="ttname"><a href="big__448__29_8h.html#aa0337aa7b6bb10b213193277b6706a07">BIG_448_29_cswap</a></div><div class="ttdeci">void BIG_448_29_cswap(BIG_448_29 x, BIG_448_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:92</div></div>
-<div class="ttc" id="big__448__29_8h_html_af57fb9d2c6f6573fbf07caf4cb7c8505"><div class="ttname"><a href="big__448__29_8h.html#af57fb9d2c6f6573fbf07caf4cb7c8505">BIG_448_29_output</a></div><div class="ttdeci">void BIG_448_29_output(BIG_448_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:55</div></div>
-<div class="ttc" id="big__448__29_8h_html_a3afb2ac3160292e8c72f614a4c5689f2"><div class="ttname"><a href="big__448__29_8h.html#a3afb2ac3160292e8c72f614a4c5689f2">BIG_448_29_dmod2m</a></div><div class="ttdeci">void BIG_448_29_dmod2m(DBIG_448_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1470</div></div>
-<div class="ttc" id="big__448__29_8h_html_a4cca42c269c38dd1c098e2ef5f9b2ef6"><div class="ttname"><a href="big__448__29_8h.html#a4cca42c269c38dd1c098e2ef5f9b2ef6">BIG_448_29_dscopy</a></div><div class="ttdeci">void BIG_448_29_dscopy(DBIG_448_29 x, BIG_448_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:263</div></div>
-<div class="ttc" id="big__448__29_8h_html_a8829af39424249e4cf31d92fe3418761"><div class="ttname"><a href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">BIG_448_29</a></div><div class="ttdeci">chunk BIG_448_29[NLEN_448_29]</div><div class="ttdef"><b>Definition:</b> big_448_29.h:58</div></div>
-<div class="ttc" id="big__448__29_8h_html_a1592d268df6258a58b6d4efa05e6eb41"><div class="ttname"><a href="big__448__29_8h.html#a1592d268df6258a58b6d4efa05e6eb41">BIG_448_29_dnorm</a></div><div class="ttdeci">void BIG_448_29_dnorm(DBIG_448_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:995</div></div>
-<div class="ttc" id="big__448__29_8h_html_a027d25f3937d2bd098156eb2df8c1bf3"><div class="ttname"><a href="big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">HMASK_448_29</a></div><div class="ttdeci">#define HMASK_448_29</div><div class="ttdef"><b>Definition:</b> big_448_29.h:46</div></div>
-<div class="ttc" id="big__448__29_8h_html_a0fb2aab64a09f62ba22061339ddca874"><div class="ttname"><a href="big__448__29_8h.html#a0fb2aab64a09f62ba22061339ddca874">BIG_448_29_invmod2m</a></div><div class="ttdeci">void BIG_448_29_invmod2m(BIG_448_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</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__448__29_8h_html_a558045a997bfd9f332d0dc56182da244"><div class="ttname"><a href="big__448__29_8h.html#a558045a997bfd9f332d0dc56182da244">BIG_448_29_fromBytes</a></div><div class="ttdeci">void BIG_448_29_fromBytes(BIG_448_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:155</div></div>
-<div class="ttc" id="big__448__29_8h_html_ac046e873f702c3c6ba84a45283591d0c"><div class="ttname"><a href="big__448__29_8h.html#ac046e873f702c3c6ba84a45283591d0c">BIG_448_29_dec</a></div><div class="ttdeci">void BIG_448_29_dec(BIG_448_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:440</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__448__29_8h_html_abd5e5c67823d3e9e195cbbad446b8f2b"><div class="ttname"><a href="big__448__29_8h.html#abd5e5c67823d3e9e195cbbad446b8f2b">BIG_448_29_dadd</a></div><div class="ttdeci">void BIG_448_29_dadd(DBIG_448_29 x, DBIG_448_29 y, DBIG_448_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:426</div></div>
-<div class="ttc" id="config__big__448__29_8h_html"><div class="ttname"><a href="config__big__448__29_8h.html">config_big_448_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__448__29_8h_html_aa137e18bd8ac5429bb2b9e2ee4be83e8"><div class="ttname"><a href="big__448__29_8h.html#aa137e18bd8ac5429bb2b9e2ee4be83e8">BIG_448_29_mod2m</a></div><div class="ttdeci">void BIG_448_29_mod2m(BIG_448_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1456</div></div>
-<div class="ttc" id="big__448__29_8h_html_adc34c5a4a04536b69ef88d01318b293f"><div class="ttname"><a href="big__448__29_8h.html#adc34c5a4a04536b69ef88d01318b293f">BIG_448_29_diszilch</a></div><div class="ttdeci">int BIG_448_29_diszilch(DBIG_448_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:45</div></div>
-<div class="ttc" id="big__448__29_8h_html_aff258f5a582cc9a517ddac40a426c1c2"><div class="ttname"><a href="big__448__29_8h.html#aff258f5a582cc9a517ddac40a426c1c2">BIG_448_29_sducopy</a></div><div class="ttdeci">void BIG_448_29_sducopy(BIG_448_29 x, DBIG_448_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:306</div></div>
-<div class="ttc" id="big__448__29_8h_html_a3bad363fa21dc4b598d833758e86b5de"><div class="ttname"><a href="big__448__29_8h.html#a3bad363fa21dc4b598d833758e86b5de">BIG_448_29_split</a></div><div class="ttdeci">chunk BIG_448_29_split(BIG_448_29 x, BIG_448_29 y, DBIG_448_29 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_448_29.c:932</div></div>
-<div class="ttc" id="big__448__29_8h_html_a2806d6e8f34c46c6a4f7fddaba57179a"><div class="ttname"><a href="big__448__29_8h.html#a2806d6e8f34c46c6a4f7fddaba57179a">BIG_448_29_invmodp</a></div><div class="ttdeci">void BIG_448_29_invmodp(BIG_448_29 x, BIG_448_29 y, BIG_448_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1392</div></div>
-<div class="ttc" id="big__448__29_8h_html_a33832c68e0adcf25dba53fd6c5d9c4dd"><div class="ttname"><a href="big__448__29_8h.html#a33832c68e0adcf25dba53fd6c5d9c4dd">BIG_448_29_moddiv</a></div><div class="ttdeci">void BIG_448_29_moddiv(BIG_448_29 x, BIG_448_29 y, BIG_448_29 z, BIG_448_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:1337</div></div>
-<div class="ttc" id="big__448__29_8h_html_aab522df22af3d6f8452a9f1ed5f6e787"><div class="ttname"><a href="big__448__29_8h.html#aab522df22af3d6f8452a9f1ed5f6e787">BIG_448_29_cmove</a></div><div class="ttdeci">void BIG_448_29_cmove(BIG_448_29 x, BIG_448_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_448_29.c:110</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__448__58_8h.html b/website/static/cdocs/big__448__58_8h.html
index 0b7a1ed..69a7160 100644
--- a/website/static/cdocs/big__448__58_8h.html
+++ b/website/static/cdocs/big__448__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_448_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="a27c81c6d358116c757f49708df8f08fd"></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="a077955e564c3e7b38998b0786f970370"></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__448__58_8h_source.html b/website/static/cdocs/big__448__58_8h_source.html
index 150f3b3..e0e4db4 100644
--- a/website/static/cdocs/big__448__58_8h_source.html
+++ b/website/static/cdocs/big__448__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_448_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_448_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__448__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_448_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_448_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__448__58_8h.html">config_big_448_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__448__58_8h.html#a2be308d1a50b450fe8b0d8a87f4bd842">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_448_58 (8*MODBYTES_448_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">   40</a></span>&#160;<span class="preprocessor">#define NLEN_448_58 (1+((8*MODBYTES_448_58-1)/BASEBITS_448_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_448_58 2*NLEN_448_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">   42</a></span>&#160;<span class="preprocessor">#define BMASK_448_58 (((chunk)1&lt;&lt;BASEBITS_448_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a86ae103736d698ad9e58d2b963ad64fe">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_448_58 (1&lt;&lt;(CHUNK-BASEBITS_448_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">   45</a></span>&#160;<span class="preprocessor">#define HBITS_448_58 (BASEBITS_448_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">   46</a></span>&#160;<span class="preprocessor">#define HMASK_448_58 (((chunk)1&lt;&lt;HBITS_448_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_448_58 NLEN_448_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_448_58 (NLEN_448_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__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">NLEN_448_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_448_58 DNLEN_448_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_448_58 (DNLEN_448_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__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">DNLEN_448_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__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">NLEN_448_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">DNLEN_448_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__448__58_8h.html#a383e7ac6bac02d230549076a311af36f">BIG_448_58_iszilch</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a9f443ee8da32fc63b49924e8e3eface5">BIG_448_58_isunity</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#acbc55466d32683f34183686170588a0a">BIG_448_58_diszilch</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a6b8e4d207c53f02a120bf70a14778386">BIG_448_58_output</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aacc984effd62790688ca4fc678daaf98">BIG_448_58_rawoutput</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a4d6d8237160f4c73a8b945b6974fc7da">BIG_448_58_cswap</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aa07141825ca35d19ec1dd5403f820839">BIG_448_58_cmove</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a7454c5f8bbb6ec2993d4c116de32a24c">BIG_448_58_dcmove</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a7986d10bad9b3e2fab5a2e9b789dad15">BIG_448_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8c985808084f4a4b994be9d3c179bf7e">BIG_448_58_fromBytes</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a3696014e616227c43a9f196db9610fee">BIG_448_58_fromBytesLen</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a169b26ad3847377ddfc761e7862d5cb6">BIG_448_58_dfromBytesLen</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a994337a578594c66af6bd87bb1fe5d52">BIG_448_58_doutput</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a6c8d8b5d540f6541ab828a0a174424b9">BIG_448_58_drawoutput</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a017ec475573d8c822ed589327d678a31">BIG_448_58_rcopy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ac889b5a52e2617af75891bd6b8d543f6">BIG_448_58_copy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a9cbae5509b4fff3be4f589210544dca7">BIG_448_58_dcopy</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a09e99d134259a17ce25237444727fa49">BIG_448_58_dsucopy</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#adeba8ca625ed612062939d379d39db97">BIG_448_58_dscopy</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#acda79bf1d23ab91ac20b57c1fc1cde63">BIG_448_58_sdcopy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a010c1e1e1cdf5600e5c59890337c8b94">BIG_448_58_sducopy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#acc8be96327c22943e311daec9ee49e51">BIG_448_58_zero</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#af16c9af1c467ae4578561b166bd6e0d7">BIG_448_58_dzero</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#ab9df497bcdcd88b571dfd0ed7c9b4f27">BIG_448_58_one</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b">BIG_448_58_invmod2m</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a14543e42824e22d254e56d3a7e4109e8">BIG_448_58_add</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a351a984c751cf93e20dfbc957a486e22">BIG_448_58_or</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a26e57c2bdc14a2afc1ea4a834c29ac69">BIG_448_58_inc</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ab226b5d4e92246c0901fd2adca199d97">BIG_448_58_sub</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a86b5f5bb90d1047db323d404d2bb547b">BIG_448_58_dec</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aedc251127080cca123165764e5391dc7">BIG_448_58_dadd</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a8c3fdc1a4363722151c34f6ef5de8bce">BIG_448_58_dsub</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#acca52d192f334a58010a2ee7201e4166">BIG_448_58_imul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a062efd79b260ec334d2ae05bde82064a">BIG_448_58_pmul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aef78645ed046fee755a413e1abb5ad1b">BIG_448_58_div3</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aea2aee2c8c76e22ca0ac202473782f7c">BIG_448_58_pxmul</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a1b2adb24086855e0d863bc5b3503288f">BIG_448_58_mul</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a6f644ba08f5e853e516d3db3764501e2">BIG_448_58_smul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a0223687375dadd998e717a41adaf1a26">BIG_448_58_sqr</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a85a8f646957e2efa11906f5881443ef0">BIG_448_58_monty</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> a,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#afe15ee7317c09b85a745764e368b4ee2">BIG_448_58_shl</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a87724ea40816163fea0a74dd727b494e">BIG_448_58_fshl</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a382bb04e5ab50bef52227768382cd4cf">BIG_448_58_dshl</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#ae0105365e3b3b08e8d9285f5b1e6c97b">BIG_448_58_shr</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a818fc9deace7e6fff5e5ae94327ce42a">BIG_448_58_ssn</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> r,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> a, <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ade03744016610e17fd1ae66a96bb9754">BIG_448_58_fshr</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a44a1429ef0689c69d9b9d75ed830c7d5">BIG_448_58_dshr</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a7218d611c9162955d81083c8d445052a">BIG_448_58_split</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a2573d8a5fa72f764f2065c579f0e6b84">BIG_448_58_norm</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#acd2d01c5a221036c1f900a4121298874">BIG_448_58_dnorm</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a80f2b16f25357d937dfcd09b90a64d74">BIG_448_58_comp</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ae98a3da6ac21b6bf1dd44aafa075b62d">BIG_448_58_dcomp</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#aa5ac0dc09e63279d4c3a30ef3967900b">BIG_448_58_nbits</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a27c81c6d358116c757f49708df8f08fd">BIG_448_58_dnbits</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a45976a6d4c2869e5ee580d51ed699824">BIG_448_58_mod</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a6b971f2cf673c77918bbf4e94e67be3f">BIG_448_58_sdiv</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a556b700af83d944f5da9ac6dca414790">BIG_448_58_dmod</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a5c16cb1ef410d0b61b0a5e16a92276a1">BIG_448_58_ddiv</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aa74bc070d16ab55679d9e6be33a0aef5">BIG_448_58_parity</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#afcdf0d738057e352843899654f886654">BIG_448_58_bit</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8e69522ffbe7830ac58d2120988039f2">BIG_448_58_lastbits</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ad259bfde262ed1b5cf389d797d7f8321">BIG_448_58_random</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a17e3b6658f89690849acd83de7a349ab">BIG_448_58_randomnum</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a06cd7e6b89fae8367fda1fdaba4c8557">BIG_448_58_modmul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> z,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a077955e564c3e7b38998b0786f970370">BIG_448_58_moddiv</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> z,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a2d0f5a9a791e247f15874c1f27b53060">BIG_448_58_modsqr</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8d238c5be6872b1b03bcfa99c8a414a7">BIG_448_58_modneg</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a7c32f9abdea770916383762127a65dbf">BIG_448_58_jacobi</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ab129d1b8609f383be377a7002d8ee43c">BIG_448_58_invmodp</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8e5fea5e1a6298881853efd03c4199de">BIG_448_58_mod2m</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a165f5883cb51b95e42c338fde0b40f77">BIG_448_58_dmod2m</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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_448_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__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">BMASK_448_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__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">BASEBITS_448_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_448_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__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">HMASK_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">HMASK_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_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__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">HMASK_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_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__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">BASEBITS_448_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">BMASK_448_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__448__58_8h_html_ab9df497bcdcd88b571dfd0ed7c9b4f27"><div class="ttname"><a href="big__448__58_8h.html#ab9df497bcdcd88b571dfd0ed7c9b4f27">BIG_448_58_one</a></div><div class="ttdeci">void BIG_448_58_one(BIG_448_58 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_448_58.c:340</div></div>
-<div class="ttc" id="big__448__58_8h_html_a8e5fea5e1a6298881853efd03c4199de"><div class="ttname"><a href="big__448__58_8h.html#a8e5fea5e1a6298881853efd03c4199de">BIG_448_58_mod2m</a></div><div class="ttdeci">void BIG_448_58_mod2m(BIG_448_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1456</div></div>
-<div class="ttc" id="big__448__58_8h_html_a8c3fdc1a4363722151c34f6ef5de8bce"><div class="ttname"><a href="big__448__58_8h.html#a8c3fdc1a4363722151c34f6ef5de8bce">BIG_448_58_dsub</a></div><div class="ttdeci">void BIG_448_58_dsub(DBIG_448_58 x, DBIG_448_58 y, DBIG_448_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:413</div></div>
-<div class="ttc" id="config__big__448__58_8h_html"><div class="ttname"><a href="config__big__448__58_8h.html">config_big_448_58.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__448__58_8h_html_a7c32f9abdea770916383762127a65dbf"><div class="ttname"><a href="big__448__58_8h.html#a7c32f9abdea770916383762127a65dbf">BIG_448_58_jacobi</a></div><div class="ttdeci">int BIG_448_58_jacobi(BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1354</div></div>
-<div class="ttc" id="big__448__58_8h_html_aacc984effd62790688ca4fc678daaf98"><div class="ttname"><a href="big__448__58_8h.html#aacc984effd62790688ca4fc678daaf98">BIG_448_58_rawoutput</a></div><div class="ttdeci">void BIG_448_58_rawoutput(BIG_448_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_448_58.c:77</div></div>
-<div class="ttc" id="big__448__58_8h_html_a7218d611c9162955d81083c8d445052a"><div class="ttname"><a href="big__448__58_8h.html#a7218d611c9162955d81083c8d445052a">BIG_448_58_split</a></div><div class="ttdeci">chunk BIG_448_58_split(BIG_448_58 x, BIG_448_58 y, DBIG_448_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_448_58.c:932</div></div>
-<div class="ttc" id="big__448__58_8h_html_a062efd79b260ec334d2ae05bde82064a"><div class="ttname"><a href="big__448__58_8h.html#a062efd79b260ec334d2ae05bde82064a">BIG_448_58_pmul</a></div><div class="ttdeci">chunk BIG_448_58_pmul(BIG_448_58 x, BIG_448_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_448_58.c:465</div></div>
+<a href="big__448__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_448_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_448_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__448__58_8h.html">config_big_448_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__448__58_8h.html#a2be308d1a50b450fe8b0d8a87f4bd842">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_448_58 (8*MODBYTES_448_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">   40</a></span>&#160;<span class="preprocessor">#define NLEN_448_58 (1+((8*MODBYTES_448_58-1)/BASEBITS_448_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_448_58 2*NLEN_448_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">   42</a></span>&#160;<span class="preprocessor">#define BMASK_448_58 (((chunk)1&lt;&lt;BASEBITS_448_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a86ae103736d698ad9e58d2b963ad64fe">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_448_58 (1&lt;&lt;(CHUNK-BASEBITS_448_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">   45</a></span>&#160;<span class="preprocessor">#define HBITS_448_58 (BASEBITS_448_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">   46</a></span>&#160;<span class="preprocessor">#define HMASK_448_58 (((chunk)1&lt;&lt;HBITS_448_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_448_58 NLEN_448_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_448_58 (NLEN_448_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__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">NLEN_448_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_448_58 DNLEN_448_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_448_58 (DNLEN_448_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__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">DNLEN_448_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__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">NLEN_448_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a>[<a class="code" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">DNLEN_448_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__448__58_8h.html#a383e7ac6bac02d230549076a311af36f">BIG_448_58_iszilch</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a9f443ee8da32fc63b49924e8e3eface5">BIG_448_58_isunity</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#acbc55466d32683f34183686170588a0a">BIG_448_58_diszilch</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a6b8e4d207c53f02a120bf70a14778386">BIG_448_58_output</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aacc984effd62790688ca4fc678daaf98">BIG_448_58_rawoutput</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a4d6d8237160f4c73a8b945b6974fc7da">BIG_448_58_cswap</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aa07141825ca35d19ec1dd5403f820839">BIG_448_58_cmove</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a7454c5f8bbb6ec2993d4c116de32a24c">BIG_448_58_dcmove</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a7986d10bad9b3e2fab5a2e9b789dad15">BIG_448_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8c985808084f4a4b994be9d3c179bf7e">BIG_448_58_fromBytes</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a3696014e616227c43a9f196db9610fee">BIG_448_58_fromBytesLen</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a169b26ad3847377ddfc761e7862d5cb6">BIG_448_58_dfromBytesLen</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a994337a578594c66af6bd87bb1fe5d52">BIG_448_58_doutput</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a6c8d8b5d540f6541ab828a0a174424b9">BIG_448_58_drawoutput</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a017ec475573d8c822ed589327d678a31">BIG_448_58_rcopy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ac889b5a52e2617af75891bd6b8d543f6">BIG_448_58_copy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a9cbae5509b4fff3be4f589210544dca7">BIG_448_58_dcopy</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a09e99d134259a17ce25237444727fa49">BIG_448_58_dsucopy</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#adeba8ca625ed612062939d379d39db97">BIG_448_58_dscopy</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#acda79bf1d23ab91ac20b57c1fc1cde63">BIG_448_58_sdcopy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a010c1e1e1cdf5600e5c59890337c8b94">BIG_448_58_sducopy</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#acc8be96327c22943e311daec9ee49e51">BIG_448_58_zero</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#af16c9af1c467ae4578561b166bd6e0d7">BIG_448_58_dzero</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#ab9df497bcdcd88b571dfd0ed7c9b4f27">BIG_448_58_one</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b">BIG_448_58_invmod2m</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a14543e42824e22d254e56d3a7e4109e8">BIG_448_58_add</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a351a984c751cf93e20dfbc957a486e22">BIG_448_58_or</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a26e57c2bdc14a2afc1ea4a834c29ac69">BIG_448_58_inc</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ab226b5d4e92246c0901fd2adca199d97">BIG_448_58_sub</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a86b5f5bb90d1047db323d404d2bb547b">BIG_448_58_dec</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aedc251127080cca123165764e5391dc7">BIG_448_58_dadd</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a8c3fdc1a4363722151c34f6ef5de8bce">BIG_448_58_dsub</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#acca52d192f334a58010a2ee7201e4166">BIG_448_58_imul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a062efd79b260ec334d2ae05bde82064a">BIG_448_58_pmul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aef78645ed046fee755a413e1abb5ad1b">BIG_448_58_div3</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aea2aee2c8c76e22ca0ac202473782f7c">BIG_448_58_pxmul</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a1b2adb24086855e0d863bc5b3503288f">BIG_448_58_mul</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a6f644ba08f5e853e516d3db3764501e2">BIG_448_58_smul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a0223687375dadd998e717a41adaf1a26">BIG_448_58_sqr</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a85a8f646957e2efa11906f5881443ef0">BIG_448_58_monty</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> a,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#afe15ee7317c09b85a745764e368b4ee2">BIG_448_58_shl</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a87724ea40816163fea0a74dd727b494e">BIG_448_58_fshl</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a382bb04e5ab50bef52227768382cd4cf">BIG_448_58_dshl</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#ae0105365e3b3b08e8d9285f5b1e6c97b">BIG_448_58_shr</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a818fc9deace7e6fff5e5ae94327ce42a">BIG_448_58_ssn</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> r,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> a, <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ade03744016610e17fd1ae66a96bb9754">BIG_448_58_fshr</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a44a1429ef0689c69d9b9d75ed830c7d5">BIG_448_58_dshr</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a7218d611c9162955d81083c8d445052a">BIG_448_58_split</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a2573d8a5fa72f764f2065c579f0e6b84">BIG_448_58_norm</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#acd2d01c5a221036c1f900a4121298874">BIG_448_58_dnorm</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a80f2b16f25357d937dfcd09b90a64d74">BIG_448_58_comp</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ae98a3da6ac21b6bf1dd44aafa075b62d">BIG_448_58_dcomp</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#aa5ac0dc09e63279d4c3a30ef3967900b">BIG_448_58_nbits</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a27c81c6d358116c757f49708df8f08fd">BIG_448_58_dnbits</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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__448__58_8h.html#a45976a6d4c2869e5ee580d51ed699824">BIG_448_58_mod</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a6b971f2cf673c77918bbf4e94e67be3f">BIG_448_58_sdiv</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a556b700af83d944f5da9ac6dca414790">BIG_448_58_dmod</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a5c16cb1ef410d0b61b0a5e16a92276a1">BIG_448_58_ddiv</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#aa74bc070d16ab55679d9e6be33a0aef5">BIG_448_58_parity</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#afcdf0d738057e352843899654f886654">BIG_448_58_bit</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8e69522ffbe7830ac58d2120988039f2">BIG_448_58_lastbits</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ad259bfde262ed1b5cf389d797d7f8321">BIG_448_58_random</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a17e3b6658f89690849acd83de7a349ab">BIG_448_58_randomnum</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a06cd7e6b89fae8367fda1fdaba4c8557">BIG_448_58_modmul</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> z,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a077955e564c3e7b38998b0786f970370">BIG_448_58_moddiv</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> z,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a2d0f5a9a791e247f15874c1f27b53060">BIG_448_58_modsqr</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8d238c5be6872b1b03bcfa99c8a414a7">BIG_448_58_modneg</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a7c32f9abdea770916383762127a65dbf">BIG_448_58_jacobi</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#ab129d1b8609f383be377a7002d8ee43c">BIG_448_58_invmodp</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a8e5fea5e1a6298881853efd03c4199de">BIG_448_58_mod2m</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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__448__58_8h.html#a165f5883cb51b95e42c338fde0b40f77">BIG_448_58_dmod2m</a>(<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_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_448_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__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">BMASK_448_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__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">BASEBITS_448_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_448_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__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">HMASK_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">HMASK_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_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__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">HMASK_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_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__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_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__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">BASEBITS_448_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">BMASK_448_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__448__58_8h_html_ab9df497bcdcd88b571dfd0ed7c9b4f27"><div class="ttname"><a href="big__448__58_8h.html#ab9df497bcdcd88b571dfd0ed7c9b4f27">BIG_448_58_one</a></div><div class="ttdeci">void BIG_448_58_one(BIG_448_58 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_448_58.c:340</div></div>
+<div class="ttc" id="big__448__58_8h_html_a8e5fea5e1a6298881853efd03c4199de"><div class="ttname"><a href="big__448__58_8h.html#a8e5fea5e1a6298881853efd03c4199de">BIG_448_58_mod2m</a></div><div class="ttdeci">void BIG_448_58_mod2m(BIG_448_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1540</div></div>
+<div class="ttc" id="big__448__58_8h_html_a8c3fdc1a4363722151c34f6ef5de8bce"><div class="ttname"><a href="big__448__58_8h.html#a8c3fdc1a4363722151c34f6ef5de8bce">BIG_448_58_dsub</a></div><div class="ttdeci">void BIG_448_58_dsub(DBIG_448_58 x, DBIG_448_58 y, DBIG_448_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:413</div></div>
+<div class="ttc" id="config__big__448__58_8h_html"><div class="ttname"><a href="config__big__448__58_8h.html">config_big_448_58.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__448__58_8h_html_a7c32f9abdea770916383762127a65dbf"><div class="ttname"><a href="big__448__58_8h.html#a7c32f9abdea770916383762127a65dbf">BIG_448_58_jacobi</a></div><div class="ttdeci">int BIG_448_58_jacobi(BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1354</div></div>
+<div class="ttc" id="big__448__58_8h_html_aacc984effd62790688ca4fc678daaf98"><div class="ttname"><a href="big__448__58_8h.html#aacc984effd62790688ca4fc678daaf98">BIG_448_58_rawoutput</a></div><div class="ttdeci">void BIG_448_58_rawoutput(BIG_448_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_448_58.c:77</div></div>
+<div class="ttc" id="big__448__58_8h_html_a7218d611c9162955d81083c8d445052a"><div class="ttname"><a href="big__448__58_8h.html#a7218d611c9162955d81083c8d445052a">BIG_448_58_split</a></div><div class="ttdeci">chunk BIG_448_58_split(BIG_448_58 x, BIG_448_58 y, DBIG_448_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_448_58.c:932</div></div>
+<div class="ttc" id="big__448__58_8h_html_a062efd79b260ec334d2ae05bde82064a"><div class="ttname"><a href="big__448__58_8h.html#a062efd79b260ec334d2ae05bde82064a">BIG_448_58_pmul</a></div><div class="ttdeci">chunk BIG_448_58_pmul(BIG_448_58 x, BIG_448_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_448_58.c:465</div></div>
 <div class="ttc" id="big__448__58_8h_html_a5b3d6b0bbfd2b163f8c93b7f67af7739"><div class="ttname"><a href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">DNLEN_448_58</a></div><div class="ttdeci">#define DNLEN_448_58</div><div class="ttdef"><b>Definition:</b> big_448_58.h:41</div></div>
-<div class="ttc" id="big__448__58_8h_html_a72d97abc9e691de7692c837f9d95e56b"><div class="ttname"><a href="big__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b">BIG_448_58_invmod2m</a></div><div class="ttdeci">void BIG_448_58_invmod2m(BIG_448_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__448__58_8h_html_a14543e42824e22d254e56d3a7e4109e8"><div class="ttname"><a href="big__448__58_8h.html#a14543e42824e22d254e56d3a7e4109e8">BIG_448_58_add</a></div><div class="ttdeci">void BIG_448_58_add(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:356</div></div>
-<div class="ttc" id="big__448__58_8h_html_a165f5883cb51b95e42c338fde0b40f77"><div class="ttname"><a href="big__448__58_8h.html#a165f5883cb51b95e42c338fde0b40f77">BIG_448_58_dmod2m</a></div><div class="ttdeci">void BIG_448_58_dmod2m(DBIG_448_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1470</div></div>
-<div class="ttc" id="big__448__58_8h_html_a17e3b6658f89690849acd83de7a349ab"><div class="ttname"><a href="big__448__58_8h.html#a17e3b6658f89690849acd83de7a349ab">BIG_448_58_randomnum</a></div><div class="ttdeci">void BIG_448_58_randomnum(BIG_448_58 x, BIG_448_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_448_58.c:1274</div></div>
-<div class="ttc" id="big__448__58_8h_html_a9cbae5509b4fff3be4f589210544dca7"><div class="ttname"><a href="big__448__58_8h.html#a9cbae5509b4fff3be4f589210544dca7">BIG_448_58_dcopy</a></div><div class="ttdeci">void BIG_448_58_dcopy(DBIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:251</div></div>
-<div class="ttc" id="big__448__58_8h_html_a382bb04e5ab50bef52227768382cd4cf"><div class="ttname"><a href="big__448__58_8h.html#a382bb04e5ab50bef52227768382cd4cf">BIG_448_58_dshl</a></div><div class="ttdeci">void BIG_448_58_dshl(DBIG_448_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_448_58.c:846</div></div>
+<div class="ttc" id="big__448__58_8h_html_a72d97abc9e691de7692c837f9d95e56b"><div class="ttname"><a href="big__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b">BIG_448_58_invmod2m</a></div><div class="ttdeci">void BIG_448_58_invmod2m(BIG_448_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1432</div></div>
+<div class="ttc" id="big__448__58_8h_html_a14543e42824e22d254e56d3a7e4109e8"><div class="ttname"><a href="big__448__58_8h.html#a14543e42824e22d254e56d3a7e4109e8">BIG_448_58_add</a></div><div class="ttdeci">void BIG_448_58_add(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:356</div></div>
+<div class="ttc" id="big__448__58_8h_html_a165f5883cb51b95e42c338fde0b40f77"><div class="ttname"><a href="big__448__58_8h.html#a165f5883cb51b95e42c338fde0b40f77">BIG_448_58_dmod2m</a></div><div class="ttdeci">void BIG_448_58_dmod2m(DBIG_448_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1554</div></div>
+<div class="ttc" id="big__448__58_8h_html_a17e3b6658f89690849acd83de7a349ab"><div class="ttname"><a href="big__448__58_8h.html#a17e3b6658f89690849acd83de7a349ab">BIG_448_58_randomnum</a></div><div class="ttdeci">void BIG_448_58_randomnum(BIG_448_58 x, BIG_448_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_448_58.c:1274</div></div>
+<div class="ttc" id="big__448__58_8h_html_a9cbae5509b4fff3be4f589210544dca7"><div class="ttname"><a href="big__448__58_8h.html#a9cbae5509b4fff3be4f589210544dca7">BIG_448_58_dcopy</a></div><div class="ttdeci">void BIG_448_58_dcopy(DBIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:251</div></div>
+<div class="ttc" id="big__448__58_8h_html_a382bb04e5ab50bef52227768382cd4cf"><div class="ttname"><a href="big__448__58_8h.html#a382bb04e5ab50bef52227768382cd4cf">BIG_448_58_dshl</a></div><div class="ttdeci">void BIG_448_58_dshl(DBIG_448_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_448_58.c:846</div></div>
 <div class="ttc" id="big__448__58_8h_html_a99339e562076c4030a91e035f3110ea2"><div class="ttname"><a href="big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">BMASK_448_58</a></div><div class="ttdeci">#define BMASK_448_58</div><div class="ttdef"><b>Definition:</b> big_448_58.h:42</div></div>
-<div class="ttc" id="big__448__58_8h_html_aef78645ed046fee755a413e1abb5ad1b"><div class="ttname"><a href="big__448__58_8h.html#aef78645ed046fee755a413e1abb5ad1b">BIG_448_58_div3</a></div><div class="ttdeci">int BIG_448_58_div3(BIG_448_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:484</div></div>
-<div class="ttc" id="big__448__58_8h_html_aa5ac0dc09e63279d4c3a30ef3967900b"><div class="ttname"><a href="big__448__58_8h.html#aa5ac0dc09e63279d4c3a30ef3967900b">BIG_448_58_nbits</a></div><div class="ttdeci">int BIG_448_58_nbits(BIG_448_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1040</div></div>
+<div class="ttc" id="big__448__58_8h_html_aef78645ed046fee755a413e1abb5ad1b"><div class="ttname"><a href="big__448__58_8h.html#aef78645ed046fee755a413e1abb5ad1b">BIG_448_58_div3</a></div><div class="ttdeci">int BIG_448_58_div3(BIG_448_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:484</div></div>
+<div class="ttc" id="big__448__58_8h_html_aa5ac0dc09e63279d4c3a30ef3967900b"><div class="ttname"><a href="big__448__58_8h.html#aa5ac0dc09e63279d4c3a30ef3967900b">BIG_448_58_nbits</a></div><div class="ttdeci">int BIG_448_58_nbits(BIG_448_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1040</div></div>
 <div class="ttc" id="big__448__58_8h_html_a140b718636a1e8195708da4da45e9f32"><div class="ttname"><a href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a></div><div class="ttdeci">chunk DBIG_448_58[DNLEN_448_58]</div><div class="ttdef"><b>Definition:</b> big_448_58.h:59</div></div>
 <div class="ttc" id="big__448__58_8h_html_ade03744016610e17fd1ae66a96bb9754"><div class="ttname"><a href="big__448__58_8h.html#ade03744016610e17fd1ae66a96bb9754">BIG_448_58_fshr</a></div><div class="ttdeci">int BIG_448_58_fshr(BIG_448_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_448_58.c:906</div></div>
-<div class="ttc" id="big__448__58_8h_html_a6b8e4d207c53f02a120bf70a14778386"><div class="ttname"><a href="big__448__58_8h.html#a6b8e4d207c53f02a120bf70a14778386">BIG_448_58_output</a></div><div class="ttdeci">void BIG_448_58_output(BIG_448_58 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:55</div></div>
-<div class="ttc" id="big__448__58_8h_html_ae98a3da6ac21b6bf1dd44aafa075b62d"><div class="ttname"><a href="big__448__58_8h.html#ae98a3da6ac21b6bf1dd44aafa075b62d">BIG_448_58_dcomp</a></div><div class="ttdeci">int BIG_448_58_dcomp(DBIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1026</div></div>
-<div class="ttc" id="big__448__58_8h_html_aedc251127080cca123165764e5391dc7"><div class="ttname"><a href="big__448__58_8h.html#aedc251127080cca123165764e5391dc7">BIG_448_58_dadd</a></div><div class="ttdeci">void BIG_448_58_dadd(DBIG_448_58 x, DBIG_448_58 y, DBIG_448_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:426</div></div>
+<div class="ttc" id="big__448__58_8h_html_a6b8e4d207c53f02a120bf70a14778386"><div class="ttname"><a href="big__448__58_8h.html#a6b8e4d207c53f02a120bf70a14778386">BIG_448_58_output</a></div><div class="ttdeci">void BIG_448_58_output(BIG_448_58 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:55</div></div>
+<div class="ttc" id="big__448__58_8h_html_ae98a3da6ac21b6bf1dd44aafa075b62d"><div class="ttname"><a href="big__448__58_8h.html#ae98a3da6ac21b6bf1dd44aafa075b62d">BIG_448_58_dcomp</a></div><div class="ttdeci">int BIG_448_58_dcomp(DBIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1026</div></div>
+<div class="ttc" id="big__448__58_8h_html_aedc251127080cca123165764e5391dc7"><div class="ttname"><a href="big__448__58_8h.html#aedc251127080cca123165764e5391dc7">BIG_448_58_dadd</a></div><div class="ttdeci">void BIG_448_58_dadd(DBIG_448_58 x, DBIG_448_58 y, DBIG_448_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:426</div></div>
 <div class="ttc" id="big__448__58_8h_html_a0ff733902d2a77fd164b5e6f7917da0e"><div class="ttname"><a href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a></div><div class="ttdeci">chunk BIG_448_58[NLEN_448_58]</div><div class="ttdef"><b>Definition:</b> big_448_58.h:58</div></div>
-<div class="ttc" id="big__448__58_8h_html_ad259bfde262ed1b5cf389d797d7f8321"><div class="ttname"><a href="big__448__58_8h.html#ad259bfde262ed1b5cf389d797d7f8321">BIG_448_58_random</a></div><div class="ttdeci">void BIG_448_58_random(BIG_448_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_448_58.c:1248</div></div>
-<div class="ttc" id="big__448__58_8h_html_a010c1e1e1cdf5600e5c59890337c8b94"><div class="ttname"><a href="big__448__58_8h.html#a010c1e1e1cdf5600e5c59890337c8b94">BIG_448_58_sducopy</a></div><div class="ttdeci">void BIG_448_58_sducopy(BIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:306</div></div>
-<div class="ttc" id="big__448__58_8h_html_a3696014e616227c43a9f196db9610fee"><div class="ttname"><a href="big__448__58_8h.html#a3696014e616227c43a9f196db9610fee">BIG_448_58_fromBytesLen</a></div><div class="ttdeci">void BIG_448_58_fromBytesLen(BIG_448_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_448_58.c:170</div></div>
-<div class="ttc" id="big__448__58_8h_html_a556b700af83d944f5da9ac6dca414790"><div class="ttname"><a href="big__448__58_8h.html#a556b700af83d944f5da9ac6dca414790">BIG_448_58_dmod</a></div><div class="ttdeci">void BIG_448_58_dmod(BIG_448_58 x, DBIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1113</div></div>
-<div class="ttc" id="big__448__58_8h_html_ab129d1b8609f383be377a7002d8ee43c"><div class="ttname"><a href="big__448__58_8h.html#ab129d1b8609f383be377a7002d8ee43c">BIG_448_58_invmodp</a></div><div class="ttdeci">void BIG_448_58_invmodp(BIG_448_58 x, BIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1392</div></div>
-<div class="ttc" id="big__448__58_8h_html_a6b971f2cf673c77918bbf4e94e67be3f"><div class="ttname"><a href="big__448__58_8h.html#a6b971f2cf673c77918bbf4e94e67be3f">BIG_448_58_sdiv</a></div><div class="ttdeci">void BIG_448_58_sdiv(BIG_448_58 x, BIG_448_58 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1188</div></div>
-<div class="ttc" id="big__448__58_8h_html_a27c81c6d358116c757f49708df8f08fd"><div class="ttname"><a href="big__448__58_8h.html#a27c81c6d358116c757f49708df8f08fd">BIG_448_58_dnbits</a></div><div class="ttdeci">int BIG_448_58_dnbits(DBIG_448_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1060</div></div>
-<div class="ttc" id="big__448__58_8h_html_a0223687375dadd998e717a41adaf1a26"><div class="ttname"><a href="big__448__58_8h.html#a0223687375dadd998e717a41adaf1a26">BIG_448_58_sqr</a></div><div class="ttdeci">void BIG_448_58_sqr(DBIG_448_58 x, BIG_448_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_448_58.c:618</div></div>
-<div class="ttc" id="big__448__58_8h_html_af16c9af1c467ae4578561b166bd6e0d7"><div class="ttname"><a href="big__448__58_8h.html#af16c9af1c467ae4578561b166bd6e0d7">BIG_448_58_dzero</a></div><div class="ttdeci">void BIG_448_58_dzero(DBIG_448_58 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:329</div></div>
-<div class="ttc" id="big__448__58_8h_html_a8e69522ffbe7830ac58d2120988039f2"><div class="ttname"><a href="big__448__58_8h.html#a8e69522ffbe7830ac58d2120988039f2">BIG_448_58_lastbits</a></div><div class="ttdeci">int BIG_448_58_lastbits(BIG_448_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1240</div></div>
-<div class="ttc" id="big__448__58_8h_html_ab226b5d4e92246c0901fd2adca199d97"><div class="ttname"><a href="big__448__58_8h.html#ab226b5d4e92246c0901fd2adca199d97">BIG_448_58_sub</a></div><div class="ttdeci">void BIG_448_58_sub(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:397</div></div>
-<div class="ttc" id="big__448__58_8h_html_aa74bc070d16ab55679d9e6be33a0aef5"><div class="ttname"><a href="big__448__58_8h.html#aa74bc070d16ab55679d9e6be33a0aef5">BIG_448_58_parity</a></div><div class="ttdeci">int BIG_448_58_parity(BIG_448_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1225</div></div>
-<div class="ttc" id="big__448__58_8h_html_a9f443ee8da32fc63b49924e8e3eface5"><div class="ttname"><a href="big__448__58_8h.html#a9f443ee8da32fc63b49924e8e3eface5">BIG_448_58_isunity</a></div><div class="ttdeci">int BIG_448_58_isunity(BIG_448_58 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:35</div></div>
-<div class="ttc" id="big__448__58_8h_html_a26e57c2bdc14a2afc1ea4a834c29ac69"><div class="ttname"><a href="big__448__58_8h.html#a26e57c2bdc14a2afc1ea4a834c29ac69">BIG_448_58_inc</a></div><div class="ttdeci">void BIG_448_58_inc(BIG_448_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_448_58.c:386</div></div>
-<div class="ttc" id="big__448__58_8h_html_afe15ee7317c09b85a745764e368b4ee2"><div class="ttname"><a href="big__448__58_8h.html#afe15ee7317c09b85a745764e368b4ee2">BIG_448_58_shl</a></div><div class="ttdeci">void BIG_448_58_shl(BIG_448_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_448_58.c:813</div></div>
-<div class="ttc" id="big__448__58_8h_html_adeba8ca625ed612062939d379d39db97"><div class="ttname"><a href="big__448__58_8h.html#adeba8ca625ed612062939d379d39db97">BIG_448_58_dscopy</a></div><div class="ttdeci">void BIG_448_58_dscopy(DBIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:263</div></div>
-<div class="ttc" id="big__448__58_8h_html_acca52d192f334a58010a2ee7201e4166"><div class="ttname"><a href="big__448__58_8h.html#acca52d192f334a58010a2ee7201e4166">BIG_448_58_imul</a></div><div class="ttdeci">void BIG_448_58_imul(BIG_448_58 x, BIG_448_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_448_58.c:450</div></div>
-<div class="ttc" id="big__448__58_8h_html_a8d238c5be6872b1b03bcfa99c8a414a7"><div class="ttname"><a href="big__448__58_8h.html#a8d238c5be6872b1b03bcfa99c8a414a7">BIG_448_58_modneg</a></div><div class="ttdeci">void BIG_448_58_modneg(BIG_448_58 x, BIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1327</div></div>
-<div class="ttc" id="big__448__58_8h_html_a2573d8a5fa72f764f2065c579f0e6b84"><div class="ttname"><a href="big__448__58_8h.html#a2573d8a5fa72f764f2065c579f0e6b84">BIG_448_58_norm</a></div><div class="ttdeci">chunk BIG_448_58_norm(BIG_448_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:976</div></div>
-<div class="ttc" id="big__448__58_8h_html_a44a1429ef0689c69d9b9d75ed830c7d5"><div class="ttname"><a href="big__448__58_8h.html#a44a1429ef0689c69d9b9d75ed830c7d5">BIG_448_58_dshr</a></div><div class="ttdeci">void BIG_448_58_dshr(DBIG_448_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_448_58.c:918</div></div>
-<div class="ttc" id="big__448__58_8h_html_a6c8d8b5d540f6541ab828a0a174424b9"><div class="ttname"><a href="big__448__58_8h.html#a6c8d8b5d540f6541ab828a0a174424b9">BIG_448_58_drawoutput</a></div><div class="ttdeci">void BIG_448_58_drawoutput(DBIG_448_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:212</div></div>
-<div class="ttc" id="big__448__58_8h_html_a1b2adb24086855e0d863bc5b3503288f"><div class="ttname"><a href="big__448__58_8h.html#a1b2adb24086855e0d863bc5b3503288f">BIG_448_58_mul</a></div><div class="ttdeci">void BIG_448_58_mul(DBIG_448_58 x, BIG_448_58 y, BIG_448_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_448_58.c:542</div></div>
-<div class="ttc" id="big__448__58_8h_html_a45976a6d4c2869e5ee580d51ed699824"><div class="ttname"><a href="big__448__58_8h.html#a45976a6d4c2869e5ee580d51ed699824">BIG_448_58_mod</a></div><div class="ttdeci">void BIG_448_58_mod(BIG_448_58 x, BIG_448_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1082</div></div>
-<div class="ttc" id="big__448__58_8h_html_acda79bf1d23ab91ac20b57c1fc1cde63"><div class="ttname"><a href="big__448__58_8h.html#acda79bf1d23ab91ac20b57c1fc1cde63">BIG_448_58_sdcopy</a></div><div class="ttdeci">void BIG_448_58_sdcopy(BIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:294</div></div>
+<div class="ttc" id="big__448__58_8h_html_ad259bfde262ed1b5cf389d797d7f8321"><div class="ttname"><a href="big__448__58_8h.html#ad259bfde262ed1b5cf389d797d7f8321">BIG_448_58_random</a></div><div class="ttdeci">void BIG_448_58_random(BIG_448_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_448_58.c:1248</div></div>
+<div class="ttc" id="big__448__58_8h_html_a010c1e1e1cdf5600e5c59890337c8b94"><div class="ttname"><a href="big__448__58_8h.html#a010c1e1e1cdf5600e5c59890337c8b94">BIG_448_58_sducopy</a></div><div class="ttdeci">void BIG_448_58_sducopy(BIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:306</div></div>
+<div class="ttc" id="big__448__58_8h_html_a3696014e616227c43a9f196db9610fee"><div class="ttname"><a href="big__448__58_8h.html#a3696014e616227c43a9f196db9610fee">BIG_448_58_fromBytesLen</a></div><div class="ttdeci">void BIG_448_58_fromBytesLen(BIG_448_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_448_58.c:170</div></div>
+<div class="ttc" id="big__448__58_8h_html_a556b700af83d944f5da9ac6dca414790"><div class="ttname"><a href="big__448__58_8h.html#a556b700af83d944f5da9ac6dca414790">BIG_448_58_dmod</a></div><div class="ttdeci">void BIG_448_58_dmod(BIG_448_58 x, DBIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1113</div></div>
+<div class="ttc" id="big__448__58_8h_html_ab129d1b8609f383be377a7002d8ee43c"><div class="ttname"><a href="big__448__58_8h.html#ab129d1b8609f383be377a7002d8ee43c">BIG_448_58_invmodp</a></div><div class="ttdeci">void BIG_448_58_invmodp(BIG_448_58 x, BIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1476</div></div>
+<div class="ttc" id="big__448__58_8h_html_a6b971f2cf673c77918bbf4e94e67be3f"><div class="ttname"><a href="big__448__58_8h.html#a6b971f2cf673c77918bbf4e94e67be3f">BIG_448_58_sdiv</a></div><div class="ttdeci">void BIG_448_58_sdiv(BIG_448_58 x, BIG_448_58 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1188</div></div>
+<div class="ttc" id="big__448__58_8h_html_a27c81c6d358116c757f49708df8f08fd"><div class="ttname"><a href="big__448__58_8h.html#a27c81c6d358116c757f49708df8f08fd">BIG_448_58_dnbits</a></div><div class="ttdeci">int BIG_448_58_dnbits(DBIG_448_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1060</div></div>
+<div class="ttc" id="big__448__58_8h_html_a0223687375dadd998e717a41adaf1a26"><div class="ttname"><a href="big__448__58_8h.html#a0223687375dadd998e717a41adaf1a26">BIG_448_58_sqr</a></div><div class="ttdeci">void BIG_448_58_sqr(DBIG_448_58 x, BIG_448_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_448_58.c:618</div></div>
+<div class="ttc" id="big__448__58_8h_html_af16c9af1c467ae4578561b166bd6e0d7"><div class="ttname"><a href="big__448__58_8h.html#af16c9af1c467ae4578561b166bd6e0d7">BIG_448_58_dzero</a></div><div class="ttdeci">void BIG_448_58_dzero(DBIG_448_58 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:329</div></div>
+<div class="ttc" id="big__448__58_8h_html_a8e69522ffbe7830ac58d2120988039f2"><div class="ttname"><a href="big__448__58_8h.html#a8e69522ffbe7830ac58d2120988039f2">BIG_448_58_lastbits</a></div><div class="ttdeci">int BIG_448_58_lastbits(BIG_448_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1240</div></div>
+<div class="ttc" id="big__448__58_8h_html_ab226b5d4e92246c0901fd2adca199d97"><div class="ttname"><a href="big__448__58_8h.html#ab226b5d4e92246c0901fd2adca199d97">BIG_448_58_sub</a></div><div class="ttdeci">void BIG_448_58_sub(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:397</div></div>
+<div class="ttc" id="big__448__58_8h_html_aa74bc070d16ab55679d9e6be33a0aef5"><div class="ttname"><a href="big__448__58_8h.html#aa74bc070d16ab55679d9e6be33a0aef5">BIG_448_58_parity</a></div><div class="ttdeci">int BIG_448_58_parity(BIG_448_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1225</div></div>
+<div class="ttc" id="big__448__58_8h_html_a9f443ee8da32fc63b49924e8e3eface5"><div class="ttname"><a href="big__448__58_8h.html#a9f443ee8da32fc63b49924e8e3eface5">BIG_448_58_isunity</a></div><div class="ttdeci">int BIG_448_58_isunity(BIG_448_58 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:35</div></div>
+<div class="ttc" id="big__448__58_8h_html_a26e57c2bdc14a2afc1ea4a834c29ac69"><div class="ttname"><a href="big__448__58_8h.html#a26e57c2bdc14a2afc1ea4a834c29ac69">BIG_448_58_inc</a></div><div class="ttdeci">void BIG_448_58_inc(BIG_448_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_448_58.c:386</div></div>
+<div class="ttc" id="big__448__58_8h_html_afe15ee7317c09b85a745764e368b4ee2"><div class="ttname"><a href="big__448__58_8h.html#afe15ee7317c09b85a745764e368b4ee2">BIG_448_58_shl</a></div><div class="ttdeci">void BIG_448_58_shl(BIG_448_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_448_58.c:813</div></div>
+<div class="ttc" id="big__448__58_8h_html_adeba8ca625ed612062939d379d39db97"><div class="ttname"><a href="big__448__58_8h.html#adeba8ca625ed612062939d379d39db97">BIG_448_58_dscopy</a></div><div class="ttdeci">void BIG_448_58_dscopy(DBIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:263</div></div>
+<div class="ttc" id="big__448__58_8h_html_acca52d192f334a58010a2ee7201e4166"><div class="ttname"><a href="big__448__58_8h.html#acca52d192f334a58010a2ee7201e4166">BIG_448_58_imul</a></div><div class="ttdeci">void BIG_448_58_imul(BIG_448_58 x, BIG_448_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_448_58.c:450</div></div>
+<div class="ttc" id="big__448__58_8h_html_a8d238c5be6872b1b03bcfa99c8a414a7"><div class="ttname"><a href="big__448__58_8h.html#a8d238c5be6872b1b03bcfa99c8a414a7">BIG_448_58_modneg</a></div><div class="ttdeci">void BIG_448_58_modneg(BIG_448_58 x, BIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1327</div></div>
+<div class="ttc" id="big__448__58_8h_html_a2573d8a5fa72f764f2065c579f0e6b84"><div class="ttname"><a href="big__448__58_8h.html#a2573d8a5fa72f764f2065c579f0e6b84">BIG_448_58_norm</a></div><div class="ttdeci">chunk BIG_448_58_norm(BIG_448_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:976</div></div>
+<div class="ttc" id="big__448__58_8h_html_a44a1429ef0689c69d9b9d75ed830c7d5"><div class="ttname"><a href="big__448__58_8h.html#a44a1429ef0689c69d9b9d75ed830c7d5">BIG_448_58_dshr</a></div><div class="ttdeci">void BIG_448_58_dshr(DBIG_448_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_448_58.c:918</div></div>
+<div class="ttc" id="big__448__58_8h_html_a6c8d8b5d540f6541ab828a0a174424b9"><div class="ttname"><a href="big__448__58_8h.html#a6c8d8b5d540f6541ab828a0a174424b9">BIG_448_58_drawoutput</a></div><div class="ttdeci">void BIG_448_58_drawoutput(DBIG_448_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:212</div></div>
+<div class="ttc" id="big__448__58_8h_html_a1b2adb24086855e0d863bc5b3503288f"><div class="ttname"><a href="big__448__58_8h.html#a1b2adb24086855e0d863bc5b3503288f">BIG_448_58_mul</a></div><div class="ttdeci">void BIG_448_58_mul(DBIG_448_58 x, BIG_448_58 y, BIG_448_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_448_58.c:542</div></div>
+<div class="ttc" id="big__448__58_8h_html_a45976a6d4c2869e5ee580d51ed699824"><div class="ttname"><a href="big__448__58_8h.html#a45976a6d4c2869e5ee580d51ed699824">BIG_448_58_mod</a></div><div class="ttdeci">void BIG_448_58_mod(BIG_448_58 x, BIG_448_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1082</div></div>
+<div class="ttc" id="big__448__58_8h_html_acda79bf1d23ab91ac20b57c1fc1cde63"><div class="ttname"><a href="big__448__58_8h.html#acda79bf1d23ab91ac20b57c1fc1cde63">BIG_448_58_sdcopy</a></div><div class="ttdeci">void BIG_448_58_sdcopy(BIG_448_58 x, DBIG_448_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:294</div></div>
 <div class="ttc" id="config__big__448__58_8h_html_a581ba04af6943deabd0dec7c49e96fc9"><div class="ttname"><a href="config__big__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">BASEBITS_448_58</a></div><div class="ttdeci">#define BASEBITS_448_58</div><div class="ttdef"><b>Definition:</b> config_big_448_58.h:35</div></div>
-<div class="ttc" id="big__448__58_8h_html_ae0105365e3b3b08e8d9285f5b1e6c97b"><div class="ttname"><a href="big__448__58_8h.html#ae0105365e3b3b08e8d9285f5b1e6c97b">BIG_448_58_shr</a></div><div class="ttdeci">void BIG_448_58_shr(BIG_448_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_448_58.c:864</div></div>
-<div class="ttc" id="big__448__58_8h_html_ac889b5a52e2617af75891bd6b8d543f6"><div class="ttname"><a href="big__448__58_8h.html#ac889b5a52e2617af75891bd6b8d543f6">BIG_448_58_copy</a></div><div class="ttdeci">void BIG_448_58_copy(BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:227</div></div>
-<div class="ttc" id="big__448__58_8h_html_a818fc9deace7e6fff5e5ae94327ce42a"><div class="ttname"><a href="big__448__58_8h.html#a818fc9deace7e6fff5e5ae94327ce42a">BIG_448_58_ssn</a></div><div class="ttdeci">int BIG_448_58_ssn(BIG_448_58 r, BIG_448_58 a, BIG_448_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_448_58.c:877</div></div>
+<div class="ttc" id="big__448__58_8h_html_ae0105365e3b3b08e8d9285f5b1e6c97b"><div class="ttname"><a href="big__448__58_8h.html#ae0105365e3b3b08e8d9285f5b1e6c97b">BIG_448_58_shr</a></div><div class="ttdeci">void BIG_448_58_shr(BIG_448_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_448_58.c:864</div></div>
+<div class="ttc" id="big__448__58_8h_html_ac889b5a52e2617af75891bd6b8d543f6"><div class="ttname"><a href="big__448__58_8h.html#ac889b5a52e2617af75891bd6b8d543f6">BIG_448_58_copy</a></div><div class="ttdeci">void BIG_448_58_copy(BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:227</div></div>
+<div class="ttc" id="big__448__58_8h_html_a818fc9deace7e6fff5e5ae94327ce42a"><div class="ttname"><a href="big__448__58_8h.html#a818fc9deace7e6fff5e5ae94327ce42a">BIG_448_58_ssn</a></div><div class="ttdeci">int BIG_448_58_ssn(BIG_448_58 r, BIG_448_58 a, BIG_448_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_448_58.c:877</div></div>
 <div class="ttc" id="big__448__58_8h_html_a801847dc7039a89571149ddff9f763d7"><div class="ttname"><a href="big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">HMASK_448_58</a></div><div class="ttdeci">#define HMASK_448_58</div><div class="ttdef"><b>Definition:</b> big_448_58.h:46</div></div>
-<div class="ttc" id="big__448__58_8h_html_aea2aee2c8c76e22ca0ac202473782f7c"><div class="ttname"><a href="big__448__58_8h.html#aea2aee2c8c76e22ca0ac202473782f7c">BIG_448_58_pxmul</a></div><div class="ttdeci">void BIG_448_58_pxmul(DBIG_448_58 x, BIG_448_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_448_58.c:501</div></div>
-<div class="ttc" id="big__448__58_8h_html_a7454c5f8bbb6ec2993d4c116de32a24c"><div class="ttname"><a href="big__448__58_8h.html#a7454c5f8bbb6ec2993d4c116de32a24c">BIG_448_58_dcmove</a></div><div class="ttdeci">void BIG_448_58_dcmove(BIG_448_58 x, BIG_448_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__448__58_8h_html_a80f2b16f25357d937dfcd09b90a64d74"><div class="ttname"><a href="big__448__58_8h.html#a80f2b16f25357d937dfcd09b90a64d74">BIG_448_58_comp</a></div><div class="ttdeci">int BIG_448_58_comp(BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1014</div></div>
-<div class="ttc" id="big__448__58_8h_html_afcdf0d738057e352843899654f886654"><div class="ttname"><a href="big__448__58_8h.html#afcdf0d738057e352843899654f886654">BIG_448_58_bit</a></div><div class="ttdeci">int BIG_448_58_bit(BIG_448_58 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1232</div></div>
-<div class="ttc" id="big__448__58_8h_html_a351a984c751cf93e20dfbc957a486e22"><div class="ttname"><a href="big__448__58_8h.html#a351a984c751cf93e20dfbc957a486e22">BIG_448_58_or</a></div><div class="ttdeci">void BIG_448_58_or(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:371</div></div>
-<div class="ttc" id="big__448__58_8h_html_acd2d01c5a221036c1f900a4121298874"><div class="ttname"><a href="big__448__58_8h.html#acd2d01c5a221036c1f900a4121298874">BIG_448_58_dnorm</a></div><div class="ttdeci">void BIG_448_58_dnorm(DBIG_448_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:995</div></div>
+<div class="ttc" id="big__448__58_8h_html_aea2aee2c8c76e22ca0ac202473782f7c"><div class="ttname"><a href="big__448__58_8h.html#aea2aee2c8c76e22ca0ac202473782f7c">BIG_448_58_pxmul</a></div><div class="ttdeci">void BIG_448_58_pxmul(DBIG_448_58 x, BIG_448_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_448_58.c:501</div></div>
+<div class="ttc" id="big__448__58_8h_html_a7454c5f8bbb6ec2993d4c116de32a24c"><div class="ttname"><a href="big__448__58_8h.html#a7454c5f8bbb6ec2993d4c116de32a24c">BIG_448_58_dcmove</a></div><div class="ttdeci">void BIG_448_58_dcmove(BIG_448_58 x, BIG_448_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__448__58_8h_html_a80f2b16f25357d937dfcd09b90a64d74"><div class="ttname"><a href="big__448__58_8h.html#a80f2b16f25357d937dfcd09b90a64d74">BIG_448_58_comp</a></div><div class="ttdeci">int BIG_448_58_comp(BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1014</div></div>
+<div class="ttc" id="big__448__58_8h_html_afcdf0d738057e352843899654f886654"><div class="ttname"><a href="big__448__58_8h.html#afcdf0d738057e352843899654f886654">BIG_448_58_bit</a></div><div class="ttdeci">int BIG_448_58_bit(BIG_448_58 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1232</div></div>
+<div class="ttc" id="big__448__58_8h_html_a351a984c751cf93e20dfbc957a486e22"><div class="ttname"><a href="big__448__58_8h.html#a351a984c751cf93e20dfbc957a486e22">BIG_448_58_or</a></div><div class="ttdeci">void BIG_448_58_or(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:371</div></div>
+<div class="ttc" id="big__448__58_8h_html_acd2d01c5a221036c1f900a4121298874"><div class="ttname"><a href="big__448__58_8h.html#acd2d01c5a221036c1f900a4121298874">BIG_448_58_dnorm</a></div><div class="ttdeci">void BIG_448_58_dnorm(DBIG_448_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:995</div></div>
 <div class="ttc" id="big__448__58_8h_html_ae9fe943d9aaa326d6190d13cf26268af"><div class="ttname"><a href="big__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">HBITS_448_58</a></div><div class="ttdeci">#define HBITS_448_58</div><div class="ttdef"><b>Definition:</b> big_448_58.h:45</div></div>
 <div class="ttc" id="big__448__58_8h_html_a87724ea40816163fea0a74dd727b494e"><div class="ttname"><a href="big__448__58_8h.html#a87724ea40816163fea0a74dd727b494e">BIG_448_58_fshl</a></div><div class="ttdeci">int BIG_448_58_fshl(BIG_448_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_448_58.c:832</div></div>
-<div class="ttc" id="big__448__58_8h_html_a4d6d8237160f4c73a8b945b6974fc7da"><div class="ttname"><a href="big__448__58_8h.html#a4d6d8237160f4c73a8b945b6974fc7da">BIG_448_58_cswap</a></div><div class="ttdeci">void BIG_448_58_cswap(BIG_448_58 x, BIG_448_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:92</div></div>
-<div class="ttc" id="big__448__58_8h_html_a06cd7e6b89fae8367fda1fdaba4c8557"><div class="ttname"><a href="big__448__58_8h.html#a06cd7e6b89fae8367fda1fdaba4c8557">BIG_448_58_modmul</a></div><div class="ttdeci">void BIG_448_58_modmul(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z, BIG_448_58 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1300</div></div>
-<div class="ttc" id="big__448__58_8h_html_a077955e564c3e7b38998b0786f970370"><div class="ttname"><a href="big__448__58_8h.html#a077955e564c3e7b38998b0786f970370">BIG_448_58_moddiv</a></div><div class="ttdeci">void BIG_448_58_moddiv(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z, BIG_448_58 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1337</div></div>
-<div class="ttc" id="big__448__58_8h_html_a86b5f5bb90d1047db323d404d2bb547b"><div class="ttname"><a href="big__448__58_8h.html#a86b5f5bb90d1047db323d404d2bb547b">BIG_448_58_dec</a></div><div class="ttdeci">void BIG_448_58_dec(BIG_448_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_448_58.c:440</div></div>
-<div class="ttc" id="big__448__58_8h_html_a6f644ba08f5e853e516d3db3764501e2"><div class="ttname"><a href="big__448__58_8h.html#a6f644ba08f5e853e516d3db3764501e2">BIG_448_58_smul</a></div><div class="ttdeci">void BIG_448_58_smul(BIG_448_58 x, BIG_448_58 y, BIG_448_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_448_58.c:518</div></div>
+<div class="ttc" id="big__448__58_8h_html_a4d6d8237160f4c73a8b945b6974fc7da"><div class="ttname"><a href="big__448__58_8h.html#a4d6d8237160f4c73a8b945b6974fc7da">BIG_448_58_cswap</a></div><div class="ttdeci">void BIG_448_58_cswap(BIG_448_58 x, BIG_448_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:92</div></div>
+<div class="ttc" id="big__448__58_8h_html_a06cd7e6b89fae8367fda1fdaba4c8557"><div class="ttname"><a href="big__448__58_8h.html#a06cd7e6b89fae8367fda1fdaba4c8557">BIG_448_58_modmul</a></div><div class="ttdeci">void BIG_448_58_modmul(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z, BIG_448_58 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1300</div></div>
+<div class="ttc" id="big__448__58_8h_html_a077955e564c3e7b38998b0786f970370"><div class="ttname"><a href="big__448__58_8h.html#a077955e564c3e7b38998b0786f970370">BIG_448_58_moddiv</a></div><div class="ttdeci">void BIG_448_58_moddiv(BIG_448_58 x, BIG_448_58 y, BIG_448_58 z, BIG_448_58 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1337</div></div>
+<div class="ttc" id="big__448__58_8h_html_a86b5f5bb90d1047db323d404d2bb547b"><div class="ttname"><a href="big__448__58_8h.html#a86b5f5bb90d1047db323d404d2bb547b">BIG_448_58_dec</a></div><div class="ttdeci">void BIG_448_58_dec(BIG_448_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_448_58.c:440</div></div>
+<div class="ttc" id="big__448__58_8h_html_a6f644ba08f5e853e516d3db3764501e2"><div class="ttname"><a href="big__448__58_8h.html#a6f644ba08f5e853e516d3db3764501e2">BIG_448_58_smul</a></div><div class="ttdeci">void BIG_448_58_smul(BIG_448_58 x, BIG_448_58 y, BIG_448_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_448_58.c:518</div></div>
 <div class="ttc" id="big__448__58_8h_html_a7e3c67a49fe9fc4a55229d73bf478eb2"><div class="ttname"><a href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">NLEN_448_58</a></div><div class="ttdeci">#define NLEN_448_58</div><div class="ttdef"><b>Definition:</b> big_448_58.h:40</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__448__58_8h_html_a994337a578594c66af6bd87bb1fe5d52"><div class="ttname"><a href="big__448__58_8h.html#a994337a578594c66af6bd87bb1fe5d52">BIG_448_58_doutput</a></div><div class="ttdeci">void BIG_448_58_doutput(DBIG_448_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:190</div></div>
-<div class="ttc" id="big__448__58_8h_html_acbc55466d32683f34183686170588a0a"><div class="ttname"><a href="big__448__58_8h.html#acbc55466d32683f34183686170588a0a">BIG_448_58_diszilch</a></div><div class="ttdeci">int BIG_448_58_diszilch(DBIG_448_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:45</div></div>
-<div class="ttc" id="big__448__58_8h_html_a85a8f646957e2efa11906f5881443ef0"><div class="ttname"><a href="big__448__58_8h.html#a85a8f646957e2efa11906f5881443ef0">BIG_448_58_monty</a></div><div class="ttdeci">void BIG_448_58_monty(BIG_448_58 a, BIG_448_58 md, chunk MC, DBIG_448_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_448_58.c:735</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__448__58_8h_html_a169b26ad3847377ddfc761e7862d5cb6"><div class="ttname"><a href="big__448__58_8h.html#a169b26ad3847377ddfc761e7862d5cb6">BIG_448_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_448_58_dfromBytesLen(DBIG_448_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_448_58.c:1485</div></div>
-<div class="ttc" id="big__448__58_8h_html_a017ec475573d8c822ed589327d678a31"><div class="ttname"><a href="big__448__58_8h.html#a017ec475573d8c822ed589327d678a31">BIG_448_58_rcopy</a></div><div class="ttdeci">void BIG_448_58_rcopy(BIG_448_58 x, const BIG_448_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:239</div></div>
-<div class="ttc" id="big__448__58_8h_html_a09e99d134259a17ce25237444727fa49"><div class="ttname"><a href="big__448__58_8h.html#a09e99d134259a17ce25237444727fa49">BIG_448_58_dsucopy</a></div><div class="ttdeci">void BIG_448_58_dsucopy(DBIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:280</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__448__58_8h_html_a994337a578594c66af6bd87bb1fe5d52"><div class="ttname"><a href="big__448__58_8h.html#a994337a578594c66af6bd87bb1fe5d52">BIG_448_58_doutput</a></div><div class="ttdeci">void BIG_448_58_doutput(DBIG_448_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:190</div></div>
+<div class="ttc" id="big__448__58_8h_html_acbc55466d32683f34183686170588a0a"><div class="ttname"><a href="big__448__58_8h.html#acbc55466d32683f34183686170588a0a">BIG_448_58_diszilch</a></div><div class="ttdeci">int BIG_448_58_diszilch(DBIG_448_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:45</div></div>
+<div class="ttc" id="big__448__58_8h_html_a85a8f646957e2efa11906f5881443ef0"><div class="ttname"><a href="big__448__58_8h.html#a85a8f646957e2efa11906f5881443ef0">BIG_448_58_monty</a></div><div class="ttdeci">void BIG_448_58_monty(BIG_448_58 a, BIG_448_58 md, chunk MC, DBIG_448_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_448_58.c:735</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__448__58_8h_html_a169b26ad3847377ddfc761e7862d5cb6"><div class="ttname"><a href="big__448__58_8h.html#a169b26ad3847377ddfc761e7862d5cb6">BIG_448_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_448_58_dfromBytesLen(DBIG_448_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_448_58.c:1569</div></div>
+<div class="ttc" id="big__448__58_8h_html_a017ec475573d8c822ed589327d678a31"><div class="ttname"><a href="big__448__58_8h.html#a017ec475573d8c822ed589327d678a31">BIG_448_58_rcopy</a></div><div class="ttdeci">void BIG_448_58_rcopy(BIG_448_58 x, const BIG_448_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:239</div></div>
+<div class="ttc" id="big__448__58_8h_html_a09e99d134259a17ce25237444727fa49"><div class="ttname"><a href="big__448__58_8h.html#a09e99d134259a17ce25237444727fa49">BIG_448_58_dsucopy</a></div><div class="ttdeci">void BIG_448_58_dsucopy(DBIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:280</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__448__58_8h_html_a5c16cb1ef410d0b61b0a5e16a92276a1"><div class="ttname"><a href="big__448__58_8h.html#a5c16cb1ef410d0b61b0a5e16a92276a1">BIG_448_58_ddiv</a></div><div class="ttdeci">void BIG_448_58_ddiv(BIG_448_58 x, DBIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1149</div></div>
-<div class="ttc" id="big__448__58_8h_html_a2d0f5a9a791e247f15874c1f27b53060"><div class="ttname"><a href="big__448__58_8h.html#a2d0f5a9a791e247f15874c1f27b53060">BIG_448_58_modsqr</a></div><div class="ttdeci">void BIG_448_58_modsqr(BIG_448_58 x, BIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:1315</div></div>
-<div class="ttc" id="big__448__58_8h_html_a383e7ac6bac02d230549076a311af36f"><div class="ttname"><a href="big__448__58_8h.html#a383e7ac6bac02d230549076a311af36f">BIG_448_58_iszilch</a></div><div class="ttdeci">int BIG_448_58_iszilch(BIG_448_58 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:26</div></div>
-<div class="ttc" id="big__448__58_8h_html_a8c985808084f4a4b994be9d3c179bf7e"><div class="ttname"><a href="big__448__58_8h.html#a8c985808084f4a4b994be9d3c179bf7e">BIG_448_58_fromBytes</a></div><div class="ttdeci">void BIG_448_58_fromBytes(BIG_448_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:155</div></div>
-<div class="ttc" id="big__448__58_8h_html_a7986d10bad9b3e2fab5a2e9b789dad15"><div class="ttname"><a href="big__448__58_8h.html#a7986d10bad9b3e2fab5a2e9b789dad15">BIG_448_58_toBytes</a></div><div class="ttdeci">void BIG_448_58_toBytes(char *a, BIG_448_58 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:141</div></div>
-<div class="ttc" id="big__448__58_8h_html_aa07141825ca35d19ec1dd5403f820839"><div class="ttname"><a href="big__448__58_8h.html#aa07141825ca35d19ec1dd5403f820839">BIG_448_58_cmove</a></div><div class="ttdeci">void BIG_448_58_cmove(BIG_448_58 x, BIG_448_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:110</div></div>
-<div class="ttc" id="big__448__58_8h_html_acc8be96327c22943e311daec9ee49e51"><div class="ttname"><a href="big__448__58_8h.html#acc8be96327c22943e311daec9ee49e51">BIG_448_58_zero</a></div><div class="ttdeci">void BIG_448_58_zero(BIG_448_58 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_448_58.c:319</div></div>
+<div class="ttc" id="big__448__58_8h_html_a5c16cb1ef410d0b61b0a5e16a92276a1"><div class="ttname"><a href="big__448__58_8h.html#a5c16cb1ef410d0b61b0a5e16a92276a1">BIG_448_58_ddiv</a></div><div class="ttdeci">void BIG_448_58_ddiv(BIG_448_58 x, DBIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1149</div></div>
+<div class="ttc" id="big__448__58_8h_html_a2d0f5a9a791e247f15874c1f27b53060"><div class="ttname"><a href="big__448__58_8h.html#a2d0f5a9a791e247f15874c1f27b53060">BIG_448_58_modsqr</a></div><div class="ttdeci">void BIG_448_58_modsqr(BIG_448_58 x, BIG_448_58 y, BIG_448_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:1315</div></div>
+<div class="ttc" id="big__448__58_8h_html_a383e7ac6bac02d230549076a311af36f"><div class="ttname"><a href="big__448__58_8h.html#a383e7ac6bac02d230549076a311af36f">BIG_448_58_iszilch</a></div><div class="ttdeci">int BIG_448_58_iszilch(BIG_448_58 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:26</div></div>
+<div class="ttc" id="big__448__58_8h_html_a8c985808084f4a4b994be9d3c179bf7e"><div class="ttname"><a href="big__448__58_8h.html#a8c985808084f4a4b994be9d3c179bf7e">BIG_448_58_fromBytes</a></div><div class="ttdeci">void BIG_448_58_fromBytes(BIG_448_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:155</div></div>
+<div class="ttc" id="big__448__58_8h_html_a7986d10bad9b3e2fab5a2e9b789dad15"><div class="ttname"><a href="big__448__58_8h.html#a7986d10bad9b3e2fab5a2e9b789dad15">BIG_448_58_toBytes</a></div><div class="ttdeci">void BIG_448_58_toBytes(char *a, BIG_448_58 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:141</div></div>
+<div class="ttc" id="big__448__58_8h_html_aa07141825ca35d19ec1dd5403f820839"><div class="ttname"><a href="big__448__58_8h.html#aa07141825ca35d19ec1dd5403f820839">BIG_448_58_cmove</a></div><div class="ttdeci">void BIG_448_58_cmove(BIG_448_58 x, BIG_448_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:110</div></div>
+<div class="ttc" id="big__448__58_8h_html_acc8be96327c22943e311daec9ee49e51"><div class="ttname"><a href="big__448__58_8h.html#acc8be96327c22943e311daec9ee49e51">BIG_448_58_zero</a></div><div class="ttdeci">void BIG_448_58_zero(BIG_448_58 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_448_58.c:319</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__464__28_8h.html b/website/static/cdocs/big__464__28_8h.html
deleted file mode 100644
index eed1487..0000000
--- a/website/static/cdocs/big__464__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_464_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_464_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__464__28_8h_source.html">config_big_464_28.h</a>&quot;</code><br />
-</div>
-<p><a href="big__464__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:a321939982219e2b95cfd0896c23b70df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a321939982219e2b95cfd0896c23b70df">BIGBITS_464_28</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">MODBYTES_464_28</a>)</td></tr>
-<tr class="separator:a321939982219e2b95cfd0896c23b70df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21fd9dab694eaeca2746f98943db5f9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">MODBYTES_464_28</a>-1)/<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>))</td></tr>
-<tr class="separator:a21fd9dab694eaeca2746f98943db5f9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adbaf802172bbc22a4af8a66fd154d047"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">DNLEN_464_28</a>&#160;&#160;&#160;2*<a class="el" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a></td></tr>
-<tr class="separator:adbaf802172bbc22a4af8a66fd154d047"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a938dacc704402560adf99e3b2b6468fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb">BMASK_464_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>)-1)</td></tr>
-<tr class="separator:a938dacc704402560adf99e3b2b6468fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a46960fefb33fff4a60aa0dcf9525c88d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a46960fefb33fff4a60aa0dcf9525c88d">NEXCESS_464_28</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>-1))</td></tr>
-<tr class="separator:a46960fefb33fff4a60aa0dcf9525c88d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab8590b6ce9a6757eff1f7427bc62f7f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_28</a>&#160;&#160;&#160;(<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>/2)</td></tr>
-<tr class="separator:ab8590b6ce9a6757eff1f7427bc62f7f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa1106ae03c6c6c728421bf427c9d11f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">HMASK_464_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_28</a>)-1)</td></tr>
-<tr class="separator:aa1106ae03c6c6c728421bf427c9d11f6"><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:a7da2d74ba839c3d0062cd946479ea1a6"><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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a>[<a class="el" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a>]</td></tr>
-<tr class="separator:a7da2d74ba839c3d0062cd946479ea1a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a484b0100ae7df8a46d45d07410ac7172"><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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a>[<a class="el" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">DNLEN_464_28</a>]</td></tr>
-<tr class="separator:a484b0100ae7df8a46d45d07410ac7172"><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:ae17f6314e3e3d44e435097bde278b280"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ae17f6314e3e3d44e435097bde278b280">BIG_464_28_iszilch</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:ae17f6314e3e3d44e435097bde278b280"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#ae17f6314e3e3d44e435097bde278b280">More...</a><br /></td></tr>
-<tr class="separator:ae17f6314e3e3d44e435097bde278b280"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af38ae608680b8f841bdb3b38094ef01c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#af38ae608680b8f841bdb3b38094ef01c">BIG_464_28_isunity</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:af38ae608680b8f841bdb3b38094ef01c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#af38ae608680b8f841bdb3b38094ef01c">More...</a><br /></td></tr>
-<tr class="separator:af38ae608680b8f841bdb3b38094ef01c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8873d18682136ced76e6d2b11b77c720"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a8873d18682136ced76e6d2b11b77c720">BIG_464_28_diszilch</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a8873d18682136ced76e6d2b11b77c720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a8873d18682136ced76e6d2b11b77c720">More...</a><br /></td></tr>
-<tr class="separator:a8873d18682136ced76e6d2b11b77c720"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9148d5caf89ac973eb08609d1fffe3e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a9148d5caf89ac973eb08609d1fffe3e4">BIG_464_28_output</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a9148d5caf89ac973eb08609d1fffe3e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#a9148d5caf89ac973eb08609d1fffe3e4">More...</a><br /></td></tr>
-<tr class="separator:a9148d5caf89ac973eb08609d1fffe3e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab89c9021dadc336a7fa1c6af40245c20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ab89c9021dadc336a7fa1c6af40245c20">BIG_464_28_rawoutput</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:ab89c9021dadc336a7fa1c6af40245c20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#ab89c9021dadc336a7fa1c6af40245c20">More...</a><br /></td></tr>
-<tr class="separator:ab89c9021dadc336a7fa1c6af40245c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8332be15edc398cab818bdf8f9e27e30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a8332be15edc398cab818bdf8f9e27e30">BIG_464_28_cswap</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, int s)</td></tr>
-<tr class="memdesc:a8332be15edc398cab818bdf8f9e27e30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a8332be15edc398cab818bdf8f9e27e30">More...</a><br /></td></tr>
-<tr class="separator:a8332be15edc398cab818bdf8f9e27e30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:add5c49897dd8e26b3269b1038df97c28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#add5c49897dd8e26b3269b1038df97c28">BIG_464_28_cmove</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, int s)</td></tr>
-<tr class="memdesc:add5c49897dd8e26b3269b1038df97c28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#add5c49897dd8e26b3269b1038df97c28">More...</a><br /></td></tr>
-<tr class="separator:add5c49897dd8e26b3269b1038df97c28"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad803aa419dc66098a6dbad0f67788db9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ad803aa419dc66098a6dbad0f67788db9">BIG_464_28_dcmove</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, int s)</td></tr>
-<tr class="memdesc:ad803aa419dc66098a6dbad0f67788db9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#ad803aa419dc66098a6dbad0f67788db9">More...</a><br /></td></tr>
-<tr class="separator:ad803aa419dc66098a6dbad0f67788db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a514a3f6855c7f10e845254b77339b4ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a514a3f6855c7f10e845254b77339b4ea">BIG_464_28_toBytes</a> (char *a, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a514a3f6855c7f10e845254b77339b4ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a514a3f6855c7f10e845254b77339b4ea">More...</a><br /></td></tr>
-<tr class="separator:a514a3f6855c7f10e845254b77339b4ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad23433b5216617ebb4994e2a89fcdbd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ad23433b5216617ebb4994e2a89fcdbd2">BIG_464_28_fromBytes</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, char *a)</td></tr>
-<tr class="memdesc:ad23433b5216617ebb4994e2a89fcdbd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#ad23433b5216617ebb4994e2a89fcdbd2">More...</a><br /></td></tr>
-<tr class="separator:ad23433b5216617ebb4994e2a89fcdbd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2ad39c1ecfa4496a0a8a774960a081f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ac2ad39c1ecfa4496a0a8a774960a081f">BIG_464_28_fromBytesLen</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:ac2ad39c1ecfa4496a0a8a774960a081f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#ac2ad39c1ecfa4496a0a8a774960a081f">More...</a><br /></td></tr>
-<tr class="separator:ac2ad39c1ecfa4496a0a8a774960a081f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83bccbe89705edcfd1b9d241133f8585"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a83bccbe89705edcfd1b9d241133f8585">BIG_464_28_dfromBytesLen</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a83bccbe89705edcfd1b9d241133f8585"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a83bccbe89705edcfd1b9d241133f8585">More...</a><br /></td></tr>
-<tr class="separator:a83bccbe89705edcfd1b9d241133f8585"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada5a1e39644074621868023b27a60271"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ada5a1e39644074621868023b27a60271">BIG_464_28_doutput</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x)</td></tr>
-<tr class="memdesc:ada5a1e39644074621868023b27a60271"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#ada5a1e39644074621868023b27a60271">More...</a><br /></td></tr>
-<tr class="separator:ada5a1e39644074621868023b27a60271"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3dbae90aeb9ec645ca3ad40e970bfad0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a3dbae90aeb9ec645ca3ad40e970bfad0">BIG_464_28_drawoutput</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a3dbae90aeb9ec645ca3ad40e970bfad0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a3dbae90aeb9ec645ca3ad40e970bfad0">More...</a><br /></td></tr>
-<tr class="separator:a3dbae90aeb9ec645ca3ad40e970bfad0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a62c6093e1cc70855cae598b00aa4cf9e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a62c6093e1cc70855cae598b00aa4cf9e">BIG_464_28_rcopy</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, const <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a62c6093e1cc70855cae598b00aa4cf9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#a62c6093e1cc70855cae598b00aa4cf9e">More...</a><br /></td></tr>
-<tr class="separator:a62c6093e1cc70855cae598b00aa4cf9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4892332c418b37b4fa9027fc9405df34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a4892332c418b37b4fa9027fc9405df34">BIG_464_28_copy</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a4892332c418b37b4fa9027fc9405df34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#a4892332c418b37b4fa9027fc9405df34">More...</a><br /></td></tr>
-<tr class="separator:a4892332c418b37b4fa9027fc9405df34"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a81db2e111447b6f7e40dbd6e44763600"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a81db2e111447b6f7e40dbd6e44763600">BIG_464_28_dcopy</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a81db2e111447b6f7e40dbd6e44763600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a81db2e111447b6f7e40dbd6e44763600">More...</a><br /></td></tr>
-<tr class="separator:a81db2e111447b6f7e40dbd6e44763600"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a42f2328339f3a76e959ca6790747833f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a42f2328339f3a76e959ca6790747833f">BIG_464_28_dsucopy</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a42f2328339f3a76e959ca6790747833f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#a42f2328339f3a76e959ca6790747833f">More...</a><br /></td></tr>
-<tr class="separator:a42f2328339f3a76e959ca6790747833f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abe50a0e09ed4f83437d0782b97e2d283"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#abe50a0e09ed4f83437d0782b97e2d283">BIG_464_28_dscopy</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y)</td></tr>
-<tr class="memdesc:abe50a0e09ed4f83437d0782b97e2d283"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#abe50a0e09ed4f83437d0782b97e2d283">More...</a><br /></td></tr>
-<tr class="separator:abe50a0e09ed4f83437d0782b97e2d283"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9a74eb10b128a46c8b8adec292084f45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a9a74eb10b128a46c8b8adec292084f45">BIG_464_28_sdcopy</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a9a74eb10b128a46c8b8adec292084f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a9a74eb10b128a46c8b8adec292084f45">More...</a><br /></td></tr>
-<tr class="separator:a9a74eb10b128a46c8b8adec292084f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f370670a174f88a173226380301335e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a3f370670a174f88a173226380301335e">BIG_464_28_sducopy</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a3f370670a174f88a173226380301335e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a3f370670a174f88a173226380301335e">More...</a><br /></td></tr>
-<tr class="separator:a3f370670a174f88a173226380301335e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6df0a73d7102378b62a7823388bd0902"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a6df0a73d7102378b62a7823388bd0902">BIG_464_28_zero</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a6df0a73d7102378b62a7823388bd0902"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a6df0a73d7102378b62a7823388bd0902">More...</a><br /></td></tr>
-<tr class="separator:a6df0a73d7102378b62a7823388bd0902"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a55deb4651e0611492c4d72ec8e6ae48f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a55deb4651e0611492c4d72ec8e6ae48f">BIG_464_28_dzero</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a55deb4651e0611492c4d72ec8e6ae48f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#a55deb4651e0611492c4d72ec8e6ae48f">More...</a><br /></td></tr>
-<tr class="separator:a55deb4651e0611492c4d72ec8e6ae48f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b3d04101d10292b4a770e1bc36742b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a7b3d04101d10292b4a770e1bc36742b4">BIG_464_28_one</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a7b3d04101d10292b4a770e1bc36742b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#a7b3d04101d10292b4a770e1bc36742b4">More...</a><br /></td></tr>
-<tr class="separator:a7b3d04101d10292b4a770e1bc36742b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a35db459595ea671794c80ab9b71ff44d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a35db459595ea671794c80ab9b71ff44d">BIG_464_28_invmod2m</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a35db459595ea671794c80ab9b71ff44d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a35db459595ea671794c80ab9b71ff44d">More...</a><br /></td></tr>
-<tr class="separator:a35db459595ea671794c80ab9b71ff44d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01fba33d068023a78a7e2399a2d3f07f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a01fba33d068023a78a7e2399a2d3f07f">BIG_464_28_add</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z)</td></tr>
-<tr class="memdesc:a01fba33d068023a78a7e2399a2d3f07f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a01fba33d068023a78a7e2399a2d3f07f">More...</a><br /></td></tr>
-<tr class="separator:a01fba33d068023a78a7e2399a2d3f07f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6d1592b8d0831e8ad9f06787c923f84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ad6d1592b8d0831e8ad9f06787c923f84">BIG_464_28_or</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z)</td></tr>
-<tr class="memdesc:ad6d1592b8d0831e8ad9f06787c923f84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#ad6d1592b8d0831e8ad9f06787c923f84">More...</a><br /></td></tr>
-<tr class="separator:ad6d1592b8d0831e8ad9f06787c923f84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af83b921ece47b22b9e2855c0b3725cdd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#af83b921ece47b22b9e2855c0b3725cdd">BIG_464_28_inc</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int i)</td></tr>
-<tr class="memdesc:af83b921ece47b22b9e2855c0b3725cdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#af83b921ece47b22b9e2855c0b3725cdd">More...</a><br /></td></tr>
-<tr class="separator:af83b921ece47b22b9e2855c0b3725cdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a75d384b9c54453e80dbcb4aa9169770d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a75d384b9c54453e80dbcb4aa9169770d">BIG_464_28_sub</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z)</td></tr>
-<tr class="memdesc:a75d384b9c54453e80dbcb4aa9169770d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a75d384b9c54453e80dbcb4aa9169770d">More...</a><br /></td></tr>
-<tr class="separator:a75d384b9c54453e80dbcb4aa9169770d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a576bd55c0333c2d11d90b89f5cd2b648"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a576bd55c0333c2d11d90b89f5cd2b648">BIG_464_28_dec</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int i)</td></tr>
-<tr class="memdesc:a576bd55c0333c2d11d90b89f5cd2b648"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a576bd55c0333c2d11d90b89f5cd2b648">More...</a><br /></td></tr>
-<tr class="separator:a576bd55c0333c2d11d90b89f5cd2b648"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad328a582c2ff182f85ae885fd799e19a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ad328a582c2ff182f85ae885fd799e19a">BIG_464_28_dadd</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> z)</td></tr>
-<tr class="memdesc:ad328a582c2ff182f85ae885fd799e19a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#ad328a582c2ff182f85ae885fd799e19a">More...</a><br /></td></tr>
-<tr class="separator:ad328a582c2ff182f85ae885fd799e19a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8c4beeaa8b6b210a16dd6043d87facde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a8c4beeaa8b6b210a16dd6043d87facde">BIG_464_28_dsub</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> z)</td></tr>
-<tr class="memdesc:a8c4beeaa8b6b210a16dd6043d87facde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a8c4beeaa8b6b210a16dd6043d87facde">More...</a><br /></td></tr>
-<tr class="separator:a8c4beeaa8b6b210a16dd6043d87facde"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4cc6c09b12cec697a832e228dca37f82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a4cc6c09b12cec697a832e228dca37f82">BIG_464_28_imul</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, int i)</td></tr>
-<tr class="memdesc:a4cc6c09b12cec697a832e228dca37f82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a4cc6c09b12cec697a832e228dca37f82">More...</a><br /></td></tr>
-<tr class="separator:a4cc6c09b12cec697a832e228dca37f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a593691880b601f49a4d5729d1dba4a36"><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__464__28_8h.html#a593691880b601f49a4d5729d1dba4a36">BIG_464_28_pmul</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, int i)</td></tr>
-<tr class="memdesc:a593691880b601f49a4d5729d1dba4a36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a593691880b601f49a4d5729d1dba4a36">More...</a><br /></td></tr>
-<tr class="separator:a593691880b601f49a4d5729d1dba4a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7876c8124d59c11230c448e228f55496"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a7876c8124d59c11230c448e228f55496">BIG_464_28_div3</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a7876c8124d59c11230c448e228f55496"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#a7876c8124d59c11230c448e228f55496">More...</a><br /></td></tr>
-<tr class="separator:a7876c8124d59c11230c448e228f55496"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00cd551dc06b7b8b2b1ea60b9cf020c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a00cd551dc06b7b8b2b1ea60b9cf020c0">BIG_464_28_pxmul</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, int i)</td></tr>
-<tr class="memdesc:a00cd551dc06b7b8b2b1ea60b9cf020c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a00cd551dc06b7b8b2b1ea60b9cf020c0">More...</a><br /></td></tr>
-<tr class="separator:a00cd551dc06b7b8b2b1ea60b9cf020c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad96f164178ce52f172cbba1b17f420cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ad96f164178ce52f172cbba1b17f420cf">BIG_464_28_mul</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z)</td></tr>
-<tr class="memdesc:ad96f164178ce52f172cbba1b17f420cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#ad96f164178ce52f172cbba1b17f420cf">More...</a><br /></td></tr>
-<tr class="separator:ad96f164178ce52f172cbba1b17f420cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aadcd07f0bf2c54cbb0272ab1fef7bf45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#aadcd07f0bf2c54cbb0272ab1fef7bf45">BIG_464_28_smul</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z)</td></tr>
-<tr class="memdesc:aadcd07f0bf2c54cbb0272ab1fef7bf45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#aadcd07f0bf2c54cbb0272ab1fef7bf45">More...</a><br /></td></tr>
-<tr class="separator:aadcd07f0bf2c54cbb0272ab1fef7bf45"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a273f85591ba3854fb77e13cdf9157f74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a273f85591ba3854fb77e13cdf9157f74">BIG_464_28_sqr</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a273f85591ba3854fb77e13cdf9157f74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a273f85591ba3854fb77e13cdf9157f74">More...</a><br /></td></tr>
-<tr class="separator:a273f85591ba3854fb77e13cdf9157f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1161b90af288b686285f7aab9df75df7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a1161b90af288b686285f7aab9df75df7">BIG_464_28_monty</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> a, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> d)</td></tr>
-<tr class="memdesc:a1161b90af288b686285f7aab9df75df7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#a1161b90af288b686285f7aab9df75df7">More...</a><br /></td></tr>
-<tr class="separator:a1161b90af288b686285f7aab9df75df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96412ef30ce1ca08ec5547dc6b145820"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a96412ef30ce1ca08ec5547dc6b145820">BIG_464_28_shl</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int s)</td></tr>
-<tr class="memdesc:a96412ef30ce1ca08ec5547dc6b145820"><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="#a96412ef30ce1ca08ec5547dc6b145820">More...</a><br /></td></tr>
-<tr class="separator:a96412ef30ce1ca08ec5547dc6b145820"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a51d75872491376269b703b0b187d9144"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a51d75872491376269b703b0b187d9144">BIG_464_28_fshl</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int s)</td></tr>
-<tr class="memdesc:a51d75872491376269b703b0b187d9144"><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="#a51d75872491376269b703b0b187d9144">More...</a><br /></td></tr>
-<tr class="separator:a51d75872491376269b703b0b187d9144"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a36d4bfbbea2d5aab754c52cacc1554d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a36d4bfbbea2d5aab754c52cacc1554d9">BIG_464_28_dshl</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, int s)</td></tr>
-<tr class="memdesc:a36d4bfbbea2d5aab754c52cacc1554d9"><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="#a36d4bfbbea2d5aab754c52cacc1554d9">More...</a><br /></td></tr>
-<tr class="separator:a36d4bfbbea2d5aab754c52cacc1554d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f46bdbe352a76c013a05210e0d8bb86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a6f46bdbe352a76c013a05210e0d8bb86">BIG_464_28_shr</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int s)</td></tr>
-<tr class="memdesc:a6f46bdbe352a76c013a05210e0d8bb86"><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="#a6f46bdbe352a76c013a05210e0d8bb86">More...</a><br /></td></tr>
-<tr class="separator:a6f46bdbe352a76c013a05210e0d8bb86"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97de430f46c1dc12ffc50d492bd028c4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a97de430f46c1dc12ffc50d492bd028c4">BIG_464_28_ssn</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> r, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> a, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> m)</td></tr>
-<tr class="memdesc:a97de430f46c1dc12ffc50d492bd028c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a97de430f46c1dc12ffc50d492bd028c4">More...</a><br /></td></tr>
-<tr class="separator:a97de430f46c1dc12ffc50d492bd028c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab86ad92feb62edce77afa319318f07ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ab86ad92feb62edce77afa319318f07ed">BIG_464_28_fshr</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int s)</td></tr>
-<tr class="memdesc:ab86ad92feb62edce77afa319318f07ed"><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="#ab86ad92feb62edce77afa319318f07ed">More...</a><br /></td></tr>
-<tr class="separator:ab86ad92feb62edce77afa319318f07ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c230f00e209d55db735496223beff32"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a7c230f00e209d55db735496223beff32">BIG_464_28_dshr</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, int s)</td></tr>
-<tr class="memdesc:a7c230f00e209d55db735496223beff32"><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="#a7c230f00e209d55db735496223beff32">More...</a><br /></td></tr>
-<tr class="separator:a7c230f00e209d55db735496223beff32"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab70364e09a711b31062bc77b9161e359"><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__464__28_8h.html#ab70364e09a711b31062bc77b9161e359">BIG_464_28_split</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> z, int s)</td></tr>
-<tr class="memdesc:ab70364e09a711b31062bc77b9161e359"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#ab70364e09a711b31062bc77b9161e359">More...</a><br /></td></tr>
-<tr class="separator:ab70364e09a711b31062bc77b9161e359"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af1fbd32c0654114ba9245eccbcf9ea88"><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__464__28_8h.html#af1fbd32c0654114ba9245eccbcf9ea88">BIG_464_28_norm</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:af1fbd32c0654114ba9245eccbcf9ea88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#af1fbd32c0654114ba9245eccbcf9ea88">More...</a><br /></td></tr>
-<tr class="separator:af1fbd32c0654114ba9245eccbcf9ea88"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af2c8da5bf433447918f3ba52a458ef50"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#af2c8da5bf433447918f3ba52a458ef50">BIG_464_28_dnorm</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x)</td></tr>
-<tr class="memdesc:af2c8da5bf433447918f3ba52a458ef50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#af2c8da5bf433447918f3ba52a458ef50">More...</a><br /></td></tr>
-<tr class="separator:af2c8da5bf433447918f3ba52a458ef50"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9e2b62f83f21d6f884db7a7ae0e8d537"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a9e2b62f83f21d6f884db7a7ae0e8d537">BIG_464_28_comp</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y)</td></tr>
-<tr class="memdesc:a9e2b62f83f21d6f884db7a7ae0e8d537"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a9e2b62f83f21d6f884db7a7ae0e8d537">More...</a><br /></td></tr>
-<tr class="separator:a9e2b62f83f21d6f884db7a7ae0e8d537"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7be7f30052024ad9d37b7170f16c860"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ab7be7f30052024ad9d37b7170f16c860">BIG_464_28_dcomp</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y)</td></tr>
-<tr class="memdesc:ab7be7f30052024ad9d37b7170f16c860"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#ab7be7f30052024ad9d37b7170f16c860">More...</a><br /></td></tr>
-<tr class="separator:ab7be7f30052024ad9d37b7170f16c860"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a116b4c674537ef9d628eebe6574fa832"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a116b4c674537ef9d628eebe6574fa832">BIG_464_28_nbits</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:a116b4c674537ef9d628eebe6574fa832"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a116b4c674537ef9d628eebe6574fa832">More...</a><br /></td></tr>
-<tr class="separator:a116b4c674537ef9d628eebe6574fa832"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac198589116dba16e32428e99c3b638d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ac198589116dba16e32428e99c3b638d4">BIG_464_28_dnbits</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x)</td></tr>
-<tr class="memdesc:ac198589116dba16e32428e99c3b638d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#ac198589116dba16e32428e99c3b638d4">More...</a><br /></td></tr>
-<tr class="separator:ac198589116dba16e32428e99c3b638d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af6f49a71e883e9ff42d45cb1fca5b1f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#af6f49a71e883e9ff42d45cb1fca5b1f8">BIG_464_28_mod</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:af6f49a71e883e9ff42d45cb1fca5b1f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#af6f49a71e883e9ff42d45cb1fca5b1f8">More...</a><br /></td></tr>
-<tr class="separator:af6f49a71e883e9ff42d45cb1fca5b1f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b04a0e4d1d079387882ad08e8b67ed0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a3b04a0e4d1d079387882ad08e8b67ed0">BIG_464_28_sdiv</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:a3b04a0e4d1d079387882ad08e8b67ed0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#a3b04a0e4d1d079387882ad08e8b67ed0">More...</a><br /></td></tr>
-<tr class="separator:a3b04a0e4d1d079387882ad08e8b67ed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0115b32f39fb88dd5409a22b7f9eb451"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a0115b32f39fb88dd5409a22b7f9eb451">BIG_464_28_dmod</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:a0115b32f39fb88dd5409a22b7f9eb451"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a0115b32f39fb88dd5409a22b7f9eb451">More...</a><br /></td></tr>
-<tr class="separator:a0115b32f39fb88dd5409a22b7f9eb451"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a170c3ec8d24143938f38b05dc3931e4e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a170c3ec8d24143938f38b05dc3931e4e">BIG_464_28_ddiv</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:a170c3ec8d24143938f38b05dc3931e4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a170c3ec8d24143938f38b05dc3931e4e">More...</a><br /></td></tr>
-<tr class="separator:a170c3ec8d24143938f38b05dc3931e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adaaebe9d8ab81efb52a36f361711271e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#adaaebe9d8ab81efb52a36f361711271e">BIG_464_28_parity</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x)</td></tr>
-<tr class="memdesc:adaaebe9d8ab81efb52a36f361711271e"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#adaaebe9d8ab81efb52a36f361711271e">More...</a><br /></td></tr>
-<tr class="separator:adaaebe9d8ab81efb52a36f361711271e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7e046da56c962175f6c7c4312a64bce0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a7e046da56c962175f6c7c4312a64bce0">BIG_464_28_bit</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int i)</td></tr>
-<tr class="memdesc:a7e046da56c962175f6c7c4312a64bce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a7e046da56c962175f6c7c4312a64bce0">More...</a><br /></td></tr>
-<tr class="separator:a7e046da56c962175f6c7c4312a64bce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f63c7e7427e7aadd3b702db17827e32"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a6f63c7e7427e7aadd3b702db17827e32">BIG_464_28_lastbits</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int n)</td></tr>
-<tr class="memdesc:a6f63c7e7427e7aadd3b702db17827e32"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#a6f63c7e7427e7aadd3b702db17827e32">More...</a><br /></td></tr>
-<tr class="separator:a6f63c7e7427e7aadd3b702db17827e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18bd5806011167de705ee8a8b12909e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a18bd5806011167de705ee8a8b12909e8">BIG_464_28_random</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a18bd5806011167de705ee8a8b12909e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#a18bd5806011167de705ee8a8b12909e8">More...</a><br /></td></tr>
-<tr class="separator:a18bd5806011167de705ee8a8b12909e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76a41d4d9a00d21e254d29b3b904073c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a76a41d4d9a00d21e254d29b3b904073c">BIG_464_28_randomnum</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a76a41d4d9a00d21e254d29b3b904073c"><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="#a76a41d4d9a00d21e254d29b3b904073c">More...</a><br /></td></tr>
-<tr class="separator:a76a41d4d9a00d21e254d29b3b904073c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab58a6bfae78e1d113abbbfa0d199d046"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ab58a6bfae78e1d113abbbfa0d199d046">BIG_464_28_modmul</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:ab58a6bfae78e1d113abbbfa0d199d046"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#ab58a6bfae78e1d113abbbfa0d199d046">More...</a><br /></td></tr>
-<tr class="separator:ab58a6bfae78e1d113abbbfa0d199d046"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09f811df3d755158129e74d177b46e09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a09f811df3d755158129e74d177b46e09">BIG_464_28_moddiv</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:a09f811df3d755158129e74d177b46e09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a09f811df3d755158129e74d177b46e09">More...</a><br /></td></tr>
-<tr class="separator:a09f811df3d755158129e74d177b46e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1444f02a8698df8cd4a8df0a264491b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a1444f02a8698df8cd4a8df0a264491b3">BIG_464_28_modsqr</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:a1444f02a8698df8cd4a8df0a264491b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a1444f02a8698df8cd4a8df0a264491b3">More...</a><br /></td></tr>
-<tr class="separator:a1444f02a8698df8cd4a8df0a264491b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a38477a1c29950844dae83e54762d7636"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a38477a1c29950844dae83e54762d7636">BIG_464_28_modneg</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:a38477a1c29950844dae83e54762d7636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a38477a1c29950844dae83e54762d7636">More...</a><br /></td></tr>
-<tr class="separator:a38477a1c29950844dae83e54762d7636"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae21ccff253d5a36b9238f0b4541cc3d8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#ae21ccff253d5a36b9238f0b4541cc3d8">BIG_464_28_jacobi</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y)</td></tr>
-<tr class="memdesc:ae21ccff253d5a36b9238f0b4541cc3d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#ae21ccff253d5a36b9238f0b4541cc3d8">More...</a><br /></td></tr>
-<tr class="separator:ae21ccff253d5a36b9238f0b4541cc3d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa7676f91a1b5a787b528801d39c18555"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#aa7676f91a1b5a787b528801d39c18555">BIG_464_28_invmodp</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y, <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> n)</td></tr>
-<tr class="memdesc:aa7676f91a1b5a787b528801d39c18555"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#aa7676f91a1b5a787b528801d39c18555">More...</a><br /></td></tr>
-<tr class="separator:aa7676f91a1b5a787b528801d39c18555"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaf2dea9e6b3d7fa77fb2d4d3750eaea8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#aaf2dea9e6b3d7fa77fb2d4d3750eaea8">BIG_464_28_mod2m</a> (<a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x, int m)</td></tr>
-<tr class="memdesc:aaf2dea9e6b3d7fa77fb2d4d3750eaea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#aaf2dea9e6b3d7fa77fb2d4d3750eaea8">More...</a><br /></td></tr>
-<tr class="separator:aaf2dea9e6b3d7fa77fb2d4d3750eaea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7a16ef52578c6f8d82c11acee18abf44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html#a7a16ef52578c6f8d82c11acee18abf44">BIG_464_28_dmod2m</a> (<a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x, int m)</td></tr>
-<tr class="memdesc:a7a16ef52578c6f8d82c11acee18abf44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a7a16ef52578c6f8d82c11acee18abf44">More...</a><br /></td></tr>
-<tr class="separator:a7a16ef52578c6f8d82c11acee18abf44"><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="a321939982219e2b95cfd0896c23b70df"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a321939982219e2b95cfd0896c23b70df">&#9670;&nbsp;</a></span>BIGBITS_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_464_28&#160;&#160;&#160;(8*<a class="el" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">MODBYTES_464_28</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="a938dacc704402560adf99e3b2b6468fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a938dacc704402560adf99e3b2b6468fb">&#9670;&nbsp;</a></span>BMASK_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_464_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="adbaf802172bbc22a4af8a66fd154d047"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adbaf802172bbc22a4af8a66fd154d047">&#9670;&nbsp;</a></span>DNLEN_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_464_28&#160;&#160;&#160;2*<a class="el" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="ab8590b6ce9a6757eff1f7427bc62f7f4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab8590b6ce9a6757eff1f7427bc62f7f4">&#9670;&nbsp;</a></span>HBITS_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_464_28&#160;&#160;&#160;(<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_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="aa1106ae03c6c6c728421bf427c9d11f6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa1106ae03c6c6c728421bf427c9d11f6">&#9670;&nbsp;</a></span>HMASK_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_464_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a46960fefb33fff4a60aa0dcf9525c88d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a46960fefb33fff4a60aa0dcf9525c88d">&#9670;&nbsp;</a></span>NEXCESS_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_464_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_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="a21fd9dab694eaeca2746f98943db5f9d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a21fd9dab694eaeca2746f98943db5f9d">&#9670;&nbsp;</a></span>NLEN_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_464_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">MODBYTES_464_28</a>-1)/<a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a7da2d74ba839c3d0062cd946479ea1a6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7da2d74ba839c3d0062cd946479ea1a6">&#9670;&nbsp;</a></span>BIG_464_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_464_28[<a class="el" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a484b0100ae7df8a46d45d07410ac7172"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a484b0100ae7df8a46d45d07410ac7172">&#9670;&nbsp;</a></span>DBIG_464_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_464_28[<a class="el" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">DNLEN_464_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="a01fba33d068023a78a7e2399a2d3f07f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a01fba33d068023a78a7e2399a2d3f07f">&#9670;&nbsp;</a></span>BIG_464_28_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a7e046da56c962175f6c7c4312a64bce0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7e046da56c962175f6c7c4312a64bce0">&#9670;&nbsp;</a></span>BIG_464_28_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="add5c49897dd8e26b3269b1038df97c28"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#add5c49897dd8e26b3269b1038df97c28">&#9670;&nbsp;</a></span>BIG_464_28_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a9e2b62f83f21d6f884db7a7ae0e8d537"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9e2b62f83f21d6f884db7a7ae0e8d537">&#9670;&nbsp;</a></span>BIG_464_28_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a4892332c418b37b4fa9027fc9405df34"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4892332c418b37b4fa9027fc9405df34">&#9670;&nbsp;</a></span>BIG_464_28_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a8332be15edc398cab818bdf8f9e27e30"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8332be15edc398cab818bdf8f9e27e30">&#9670;&nbsp;</a></span>BIG_464_28_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ad328a582c2ff182f85ae885fd799e19a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad328a582c2ff182f85ae885fd799e19a">&#9670;&nbsp;</a></span>BIG_464_28_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="ad803aa419dc66098a6dbad0f67788db9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad803aa419dc66098a6dbad0f67788db9">&#9670;&nbsp;</a></span>BIG_464_28_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ab7be7f30052024ad9d37b7170f16c860"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab7be7f30052024ad9d37b7170f16c860">&#9670;&nbsp;</a></span>BIG_464_28_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a81db2e111447b6f7e40dbd6e44763600"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a81db2e111447b6f7e40dbd6e44763600">&#9670;&nbsp;</a></span>BIG_464_28_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a170c3ec8d24143938f38b05dc3931e4e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a170c3ec8d24143938f38b05dc3931e4e">&#9670;&nbsp;</a></span>BIG_464_28_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a576bd55c0333c2d11d90b89f5cd2b648"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a576bd55c0333c2d11d90b89f5cd2b648">&#9670;&nbsp;</a></span>BIG_464_28_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a83bccbe89705edcfd1b9d241133f8585"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83bccbe89705edcfd1b9d241133f8585">&#9670;&nbsp;</a></span>BIG_464_28_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a8873d18682136ced76e6d2b11b77c720"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8873d18682136ced76e6d2b11b77c720">&#9670;&nbsp;</a></span>BIG_464_28_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a7876c8124d59c11230c448e228f55496"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7876c8124d59c11230c448e228f55496">&#9670;&nbsp;</a></span>BIG_464_28_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a0115b32f39fb88dd5409a22b7f9eb451"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0115b32f39fb88dd5409a22b7f9eb451">&#9670;&nbsp;</a></span>BIG_464_28_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a7a16ef52578c6f8d82c11acee18abf44"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a16ef52578c6f8d82c11acee18abf44">&#9670;&nbsp;</a></span>BIG_464_28_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="ac198589116dba16e32428e99c3b638d4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac198589116dba16e32428e99c3b638d4">&#9670;&nbsp;</a></span>BIG_464_28_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="af2c8da5bf433447918f3ba52a458ef50"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af2c8da5bf433447918f3ba52a458ef50">&#9670;&nbsp;</a></span>BIG_464_28_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="ada5a1e39644074621868023b27a60271"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ada5a1e39644074621868023b27a60271">&#9670;&nbsp;</a></span>BIG_464_28_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a3dbae90aeb9ec645ca3ad40e970bfad0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3dbae90aeb9ec645ca3ad40e970bfad0">&#9670;&nbsp;</a></span>BIG_464_28_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="abe50a0e09ed4f83437d0782b97e2d283"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abe50a0e09ed4f83437d0782b97e2d283">&#9670;&nbsp;</a></span>BIG_464_28_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a36d4bfbbea2d5aab754c52cacc1554d9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a36d4bfbbea2d5aab754c52cacc1554d9">&#9670;&nbsp;</a></span>BIG_464_28_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a7c230f00e209d55db735496223beff32"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c230f00e209d55db735496223beff32">&#9670;&nbsp;</a></span>BIG_464_28_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a8c4beeaa8b6b210a16dd6043d87facde"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8c4beeaa8b6b210a16dd6043d87facde">&#9670;&nbsp;</a></span>BIG_464_28_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a42f2328339f3a76e959ca6790747833f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a42f2328339f3a76e959ca6790747833f">&#9670;&nbsp;</a></span>BIG_464_28_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a55deb4651e0611492c4d72ec8e6ae48f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a55deb4651e0611492c4d72ec8e6ae48f">&#9670;&nbsp;</a></span>BIG_464_28_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="ad23433b5216617ebb4994e2a89fcdbd2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad23433b5216617ebb4994e2a89fcdbd2">&#9670;&nbsp;</a></span>BIG_464_28_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ac2ad39c1ecfa4496a0a8a774960a081f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac2ad39c1ecfa4496a0a8a774960a081f">&#9670;&nbsp;</a></span>BIG_464_28_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a51d75872491376269b703b0b187d9144"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a51d75872491376269b703b0b187d9144">&#9670;&nbsp;</a></span>BIG_464_28_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ab86ad92feb62edce77afa319318f07ed"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab86ad92feb62edce77afa319318f07ed">&#9670;&nbsp;</a></span>BIG_464_28_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a4cc6c09b12cec697a832e228dca37f82"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4cc6c09b12cec697a832e228dca37f82">&#9670;&nbsp;</a></span>BIG_464_28_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="af83b921ece47b22b9e2855c0b3725cdd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af83b921ece47b22b9e2855c0b3725cdd">&#9670;&nbsp;</a></span>BIG_464_28_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a35db459595ea671794c80ab9b71ff44d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a35db459595ea671794c80ab9b71ff44d">&#9670;&nbsp;</a></span>BIG_464_28_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="aa7676f91a1b5a787b528801d39c18555"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa7676f91a1b5a787b528801d39c18555">&#9670;&nbsp;</a></span>BIG_464_28_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="af38ae608680b8f841bdb3b38094ef01c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af38ae608680b8f841bdb3b38094ef01c">&#9670;&nbsp;</a></span>BIG_464_28_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ae17f6314e3e3d44e435097bde278b280"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae17f6314e3e3d44e435097bde278b280">&#9670;&nbsp;</a></span>BIG_464_28_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ae21ccff253d5a36b9238f0b4541cc3d8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae21ccff253d5a36b9238f0b4541cc3d8">&#9670;&nbsp;</a></span>BIG_464_28_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a6f63c7e7427e7aadd3b702db17827e32"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6f63c7e7427e7aadd3b702db17827e32">&#9670;&nbsp;</a></span>BIG_464_28_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="af6f49a71e883e9ff42d45cb1fca5b1f8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af6f49a71e883e9ff42d45cb1fca5b1f8">&#9670;&nbsp;</a></span>BIG_464_28_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="aaf2dea9e6b3d7fa77fb2d4d3750eaea8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaf2dea9e6b3d7fa77fb2d4d3750eaea8">&#9670;&nbsp;</a></span>BIG_464_28_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a09f811df3d755158129e74d177b46e09"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a09f811df3d755158129e74d177b46e09">&#9670;&nbsp;</a></span>BIG_464_28_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ab58a6bfae78e1d113abbbfa0d199d046"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab58a6bfae78e1d113abbbfa0d199d046">&#9670;&nbsp;</a></span>BIG_464_28_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a38477a1c29950844dae83e54762d7636"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a38477a1c29950844dae83e54762d7636">&#9670;&nbsp;</a></span>BIG_464_28_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a1444f02a8698df8cd4a8df0a264491b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1444f02a8698df8cd4a8df0a264491b3">&#9670;&nbsp;</a></span>BIG_464_28_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a1161b90af288b686285f7aab9df75df7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1161b90af288b686285f7aab9df75df7">&#9670;&nbsp;</a></span>BIG_464_28_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="ad96f164178ce52f172cbba1b17f420cf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad96f164178ce52f172cbba1b17f420cf">&#9670;&nbsp;</a></span>BIG_464_28_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a116b4c674537ef9d628eebe6574fa832"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a116b4c674537ef9d628eebe6574fa832">&#9670;&nbsp;</a></span>BIG_464_28_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="af1fbd32c0654114ba9245eccbcf9ea88"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af1fbd32c0654114ba9245eccbcf9ea88">&#9670;&nbsp;</a></span>BIG_464_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_464_28_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a7b3d04101d10292b4a770e1bc36742b4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7b3d04101d10292b4a770e1bc36742b4">&#9670;&nbsp;</a></span>BIG_464_28_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ad6d1592b8d0831e8ad9f06787c923f84"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad6d1592b8d0831e8ad9f06787c923f84">&#9670;&nbsp;</a></span>BIG_464_28_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a9148d5caf89ac973eb08609d1fffe3e4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9148d5caf89ac973eb08609d1fffe3e4">&#9670;&nbsp;</a></span>BIG_464_28_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="adaaebe9d8ab81efb52a36f361711271e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adaaebe9d8ab81efb52a36f361711271e">&#9670;&nbsp;</a></span>BIG_464_28_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a593691880b601f49a4d5729d1dba4a36"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a593691880b601f49a4d5729d1dba4a36">&#9670;&nbsp;</a></span>BIG_464_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_464_28_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a00cd551dc06b7b8b2b1ea60b9cf020c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a00cd551dc06b7b8b2b1ea60b9cf020c0">&#9670;&nbsp;</a></span>BIG_464_28_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a18bd5806011167de705ee8a8b12909e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a18bd5806011167de705ee8a8b12909e8">&#9670;&nbsp;</a></span>BIG_464_28_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a76a41d4d9a00d21e254d29b3b904073c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a76a41d4d9a00d21e254d29b3b904073c">&#9670;&nbsp;</a></span>BIG_464_28_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ab89c9021dadc336a7fa1c6af40245c20"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab89c9021dadc336a7fa1c6af40245c20">&#9670;&nbsp;</a></span>BIG_464_28_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a62c6093e1cc70855cae598b00aa4cf9e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a62c6093e1cc70855cae598b00aa4cf9e">&#9670;&nbsp;</a></span>BIG_464_28_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a9a74eb10b128a46c8b8adec292084f45"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9a74eb10b128a46c8b8adec292084f45">&#9670;&nbsp;</a></span>BIG_464_28_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a3b04a0e4d1d079387882ad08e8b67ed0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3b04a0e4d1d079387882ad08e8b67ed0">&#9670;&nbsp;</a></span>BIG_464_28_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a3f370670a174f88a173226380301335e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3f370670a174f88a173226380301335e">&#9670;&nbsp;</a></span>BIG_464_28_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a96412ef30ce1ca08ec5547dc6b145820"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a96412ef30ce1ca08ec5547dc6b145820">&#9670;&nbsp;</a></span>BIG_464_28_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a6f46bdbe352a76c013a05210e0d8bb86"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6f46bdbe352a76c013a05210e0d8bb86">&#9670;&nbsp;</a></span>BIG_464_28_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="aadcd07f0bf2c54cbb0272ab1fef7bf45"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aadcd07f0bf2c54cbb0272ab1fef7bf45">&#9670;&nbsp;</a></span>BIG_464_28_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="ab70364e09a711b31062bc77b9161e359"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab70364e09a711b31062bc77b9161e359">&#9670;&nbsp;</a></span>BIG_464_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_464_28_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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="a273f85591ba3854fb77e13cdf9157f74"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a273f85591ba3854fb77e13cdf9157f74">&#9670;&nbsp;</a></span>BIG_464_28_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a97de430f46c1dc12ffc50d492bd028c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a97de430f46c1dc12ffc50d492bd028c4">&#9670;&nbsp;</a></span>BIG_464_28_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_464_28_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a75d384b9c54453e80dbcb4aa9169770d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a75d384b9c54453e80dbcb4aa9169770d">&#9670;&nbsp;</a></span>BIG_464_28_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a514a3f6855c7f10e845254b77339b4ea"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a514a3f6855c7f10e845254b77339b4ea">&#9670;&nbsp;</a></span>BIG_464_28_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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="a6df0a73d7102378b62a7823388bd0902"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6df0a73d7102378b62a7823388bd0902">&#9670;&nbsp;</a></span>BIG_464_28_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_464_28_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h_source.html b/website/static/cdocs/big__464__28_8h_source.html
deleted file mode 100644
index ced7c35..0000000
--- a/website/static/cdocs/big__464__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_464_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_464_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__464__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_464_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_464_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__464__28_8h.html">config_big_464_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__464__28_8h.html#a321939982219e2b95cfd0896c23b70df">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_464_28 (8*MODBYTES_464_28) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">   40</a></span>&#160;<span class="preprocessor">#define NLEN_464_28 (1+((8*MODBYTES_464_28-1)/BASEBITS_464_28)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_464_28 2*NLEN_464_28 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb">   42</a></span>&#160;<span class="preprocessor">#define BMASK_464_28 (((chunk)1&lt;&lt;BASEBITS_464_28)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__464__28_8h.html#a46960fefb33fff4a60aa0dcf9525c88d">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_464_28 (1&lt;&lt;(CHUNK-BASEBITS_464_28-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">   45</a></span>&#160;<span class="preprocessor">#define HBITS_464_28 (BASEBITS_464_28/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">   46</a></span>&#160;<span class="preprocessor">#define HMASK_464_28 (((chunk)1&lt;&lt;HBITS_464_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_464_28 NLEN_464_28</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_464_28 (NLEN_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a>[<a class="code" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_464_28 DNLEN_464_28</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_464_28 (DNLEN_464_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__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a>[<a class="code" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">DNLEN_464_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__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a>[<a class="code" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a>[<a class="code" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">DNLEN_464_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__464__28_8h.html#ae17f6314e3e3d44e435097bde278b280">BIG_464_28_iszilch</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#af38ae608680b8f841bdb3b38094ef01c">BIG_464_28_isunity</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a8873d18682136ced76e6d2b11b77c720">BIG_464_28_diszilch</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a9148d5caf89ac973eb08609d1fffe3e4">BIG_464_28_output</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ab89c9021dadc336a7fa1c6af40245c20">BIG_464_28_rawoutput</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a8332be15edc398cab818bdf8f9e27e30">BIG_464_28_cswap</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#add5c49897dd8e26b3269b1038df97c28">BIG_464_28_cmove</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ad803aa419dc66098a6dbad0f67788db9">BIG_464_28_dcmove</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a514a3f6855c7f10e845254b77339b4ea">BIG_464_28_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ad23433b5216617ebb4994e2a89fcdbd2">BIG_464_28_fromBytes</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ac2ad39c1ecfa4496a0a8a774960a081f">BIG_464_28_fromBytesLen</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a83bccbe89705edcfd1b9d241133f8585">BIG_464_28_dfromBytesLen</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#ada5a1e39644074621868023b27a60271">BIG_464_28_doutput</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a3dbae90aeb9ec645ca3ad40e970bfad0">BIG_464_28_drawoutput</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a62c6093e1cc70855cae598b00aa4cf9e">BIG_464_28_rcopy</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<span class="keyword">const</span> <a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a4892332c418b37b4fa9027fc9405df34">BIG_464_28_copy</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a81db2e111447b6f7e40dbd6e44763600">BIG_464_28_dcopy</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a42f2328339f3a76e959ca6790747833f">BIG_464_28_dsucopy</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#abe50a0e09ed4f83437d0782b97e2d283">BIG_464_28_dscopy</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a9a74eb10b128a46c8b8adec292084f45">BIG_464_28_sdcopy</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a3f370670a174f88a173226380301335e">BIG_464_28_sducopy</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a6df0a73d7102378b62a7823388bd0902">BIG_464_28_zero</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a55deb4651e0611492c4d72ec8e6ae48f">BIG_464_28_dzero</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a7b3d04101d10292b4a770e1bc36742b4">BIG_464_28_one</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a35db459595ea671794c80ab9b71ff44d">BIG_464_28_invmod2m</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a01fba33d068023a78a7e2399a2d3f07f">BIG_464_28_add</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ad6d1592b8d0831e8ad9f06787c923f84">BIG_464_28_or</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#af83b921ece47b22b9e2855c0b3725cdd">BIG_464_28_inc</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a75d384b9c54453e80dbcb4aa9169770d">BIG_464_28_sub</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a576bd55c0333c2d11d90b89f5cd2b648">BIG_464_28_dec</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ad328a582c2ff182f85ae885fd799e19a">BIG_464_28_dadd</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a8c4beeaa8b6b210a16dd6043d87facde">BIG_464_28_dsub</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a4cc6c09b12cec697a832e228dca37f82">BIG_464_28_imul</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a593691880b601f49a4d5729d1dba4a36">BIG_464_28_pmul</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7876c8124d59c11230c448e228f55496">BIG_464_28_div3</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a00cd551dc06b7b8b2b1ea60b9cf020c0">BIG_464_28_pxmul</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ad96f164178ce52f172cbba1b17f420cf">BIG_464_28_mul</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#aadcd07f0bf2c54cbb0272ab1fef7bf45">BIG_464_28_smul</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a273f85591ba3854fb77e13cdf9157f74">BIG_464_28_sqr</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a1161b90af288b686285f7aab9df75df7">BIG_464_28_monty</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> a,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a96412ef30ce1ca08ec5547dc6b145820">BIG_464_28_shl</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a51d75872491376269b703b0b187d9144">BIG_464_28_fshl</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a36d4bfbbea2d5aab754c52cacc1554d9">BIG_464_28_dshl</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a6f46bdbe352a76c013a05210e0d8bb86">BIG_464_28_shr</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a97de430f46c1dc12ffc50d492bd028c4">BIG_464_28_ssn</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> r,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> a, <a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ab86ad92feb62edce77afa319318f07ed">BIG_464_28_fshr</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7c230f00e209d55db735496223beff32">BIG_464_28_dshr</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#ab70364e09a711b31062bc77b9161e359">BIG_464_28_split</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#af1fbd32c0654114ba9245eccbcf9ea88">BIG_464_28_norm</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#af2c8da5bf433447918f3ba52a458ef50">BIG_464_28_dnorm</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a9e2b62f83f21d6f884db7a7ae0e8d537">BIG_464_28_comp</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ab7be7f30052024ad9d37b7170f16c860">BIG_464_28_dcomp</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#a116b4c674537ef9d628eebe6574fa832">BIG_464_28_nbits</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ac198589116dba16e32428e99c3b638d4">BIG_464_28_dnbits</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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__464__28_8h.html#af6f49a71e883e9ff42d45cb1fca5b1f8">BIG_464_28_mod</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a3b04a0e4d1d079387882ad08e8b67ed0">BIG_464_28_sdiv</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a0115b32f39fb88dd5409a22b7f9eb451">BIG_464_28_dmod</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a170c3ec8d24143938f38b05dc3931e4e">BIG_464_28_ddiv</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#adaaebe9d8ab81efb52a36f361711271e">BIG_464_28_parity</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7e046da56c962175f6c7c4312a64bce0">BIG_464_28_bit</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a6f63c7e7427e7aadd3b702db17827e32">BIG_464_28_lastbits</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a18bd5806011167de705ee8a8b12909e8">BIG_464_28_random</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a76a41d4d9a00d21e254d29b3b904073c">BIG_464_28_randomnum</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ab58a6bfae78e1d113abbbfa0d199d046">BIG_464_28_modmul</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a09f811df3d755158129e74d177b46e09">BIG_464_28_moddiv</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> z,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a1444f02a8698df8cd4a8df0a264491b3">BIG_464_28_modsqr</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a38477a1c29950844dae83e54762d7636">BIG_464_28_modneg</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#ae21ccff253d5a36b9238f0b4541cc3d8">BIG_464_28_jacobi</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#aa7676f91a1b5a787b528801d39c18555">BIG_464_28_invmodp</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> x,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a> y,<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#aaf2dea9e6b3d7fa77fb2d4d3750eaea8">BIG_464_28_mod2m</a>(<a class="code" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_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__464__28_8h.html#a7a16ef52578c6f8d82c11acee18abf44">BIG_464_28_dmod2m</a>(<a class="code" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_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_464_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__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb">BMASK_464_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__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_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_464_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__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">HMASK_464_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__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_28</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">HMASK_464_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__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_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__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">HMASK_464_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__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_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__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_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__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb">BMASK_464_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__464__28_8h_html_a273f85591ba3854fb77e13cdf9157f74"><div class="ttname"><a href="big__464__28_8h.html#a273f85591ba3854fb77e13cdf9157f74">BIG_464_28_sqr</a></div><div class="ttdeci">void BIG_464_28_sqr(DBIG_464_28 x, BIG_464_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_464_28.c:618</div></div>
-<div class="ttc" id="config__big__464__28_8h_html"><div class="ttname"><a href="config__big__464__28_8h.html">config_big_464_28.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__464__28_8h_html_ad328a582c2ff182f85ae885fd799e19a"><div class="ttname"><a href="big__464__28_8h.html#ad328a582c2ff182f85ae885fd799e19a">BIG_464_28_dadd</a></div><div class="ttdeci">void BIG_464_28_dadd(DBIG_464_28 x, DBIG_464_28 y, DBIG_464_28 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:426</div></div>
-<div class="ttc" id="big__464__28_8h_html_ae21ccff253d5a36b9238f0b4541cc3d8"><div class="ttname"><a href="big__464__28_8h.html#ae21ccff253d5a36b9238f0b4541cc3d8">BIG_464_28_jacobi</a></div><div class="ttdeci">int BIG_464_28_jacobi(BIG_464_28 x, BIG_464_28 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1354</div></div>
-<div class="ttc" id="big__464__28_8h_html_af38ae608680b8f841bdb3b38094ef01c"><div class="ttname"><a href="big__464__28_8h.html#af38ae608680b8f841bdb3b38094ef01c">BIG_464_28_isunity</a></div><div class="ttdeci">int BIG_464_28_isunity(BIG_464_28 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:35</div></div>
-<div class="ttc" id="big__464__28_8h_html_aadcd07f0bf2c54cbb0272ab1fef7bf45"><div class="ttname"><a href="big__464__28_8h.html#aadcd07f0bf2c54cbb0272ab1fef7bf45">BIG_464_28_smul</a></div><div class="ttdeci">void BIG_464_28_smul(BIG_464_28 x, BIG_464_28 y, BIG_464_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_464_28.c:518</div></div>
-<div class="ttc" id="big__464__28_8h_html_a8873d18682136ced76e6d2b11b77c720"><div class="ttname"><a href="big__464__28_8h.html#a8873d18682136ced76e6d2b11b77c720">BIG_464_28_diszilch</a></div><div class="ttdeci">int BIG_464_28_diszilch(DBIG_464_28 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:45</div></div>
-<div class="ttc" id="big__464__28_8h_html_aa1106ae03c6c6c728421bf427c9d11f6"><div class="ttname"><a href="big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">HMASK_464_28</a></div><div class="ttdeci">#define HMASK_464_28</div><div class="ttdef"><b>Definition:</b> big_464_28.h:46</div></div>
-<div class="ttc" id="big__464__28_8h_html_ad6d1592b8d0831e8ad9f06787c923f84"><div class="ttname"><a href="big__464__28_8h.html#ad6d1592b8d0831e8ad9f06787c923f84">BIG_464_28_or</a></div><div class="ttdeci">void BIG_464_28_or(BIG_464_28 x, BIG_464_28 y, BIG_464_28 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:371</div></div>
-<div class="ttc" id="big__464__28_8h_html_a7c230f00e209d55db735496223beff32"><div class="ttname"><a href="big__464__28_8h.html#a7c230f00e209d55db735496223beff32">BIG_464_28_dshr</a></div><div class="ttdeci">void BIG_464_28_dshr(DBIG_464_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_464_28.c:918</div></div>
-<div class="ttc" id="big__464__28_8h_html_ac198589116dba16e32428e99c3b638d4"><div class="ttname"><a href="big__464__28_8h.html#ac198589116dba16e32428e99c3b638d4">BIG_464_28_dnbits</a></div><div class="ttdeci">int BIG_464_28_dnbits(DBIG_464_28 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1060</div></div>
-<div class="ttc" id="big__464__28_8h_html_a00cd551dc06b7b8b2b1ea60b9cf020c0"><div class="ttname"><a href="big__464__28_8h.html#a00cd551dc06b7b8b2b1ea60b9cf020c0">BIG_464_28_pxmul</a></div><div class="ttdeci">void BIG_464_28_pxmul(DBIG_464_28 x, BIG_464_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_464_28.c:501</div></div>
-<div class="ttc" id="big__464__28_8h_html_a9e2b62f83f21d6f884db7a7ae0e8d537"><div class="ttname"><a href="big__464__28_8h.html#a9e2b62f83f21d6f884db7a7ae0e8d537">BIG_464_28_comp</a></div><div class="ttdeci">int BIG_464_28_comp(BIG_464_28 x, BIG_464_28 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1014</div></div>
-<div class="ttc" id="big__464__28_8h_html_a6df0a73d7102378b62a7823388bd0902"><div class="ttname"><a href="big__464__28_8h.html#a6df0a73d7102378b62a7823388bd0902">BIG_464_28_zero</a></div><div class="ttdeci">void BIG_464_28_zero(BIG_464_28 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:319</div></div>
-<div class="ttc" id="big__464__28_8h_html_ac2ad39c1ecfa4496a0a8a774960a081f"><div class="ttname"><a href="big__464__28_8h.html#ac2ad39c1ecfa4496a0a8a774960a081f">BIG_464_28_fromBytesLen</a></div><div class="ttdeci">void BIG_464_28_fromBytesLen(BIG_464_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_464_28.c:170</div></div>
-<div class="ttc" id="big__464__28_8h_html_a97de430f46c1dc12ffc50d492bd028c4"><div class="ttname"><a href="big__464__28_8h.html#a97de430f46c1dc12ffc50d492bd028c4">BIG_464_28_ssn</a></div><div class="ttdeci">int BIG_464_28_ssn(BIG_464_28 r, BIG_464_28 a, BIG_464_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_464_28.c:877</div></div>
-<div class="ttc" id="big__464__28_8h_html_a81db2e111447b6f7e40dbd6e44763600"><div class="ttname"><a href="big__464__28_8h.html#a81db2e111447b6f7e40dbd6e44763600">BIG_464_28_dcopy</a></div><div class="ttdeci">void BIG_464_28_dcopy(DBIG_464_28 x, DBIG_464_28 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:251</div></div>
-<div class="ttc" id="big__464__28_8h_html_a7a16ef52578c6f8d82c11acee18abf44"><div class="ttname"><a href="big__464__28_8h.html#a7a16ef52578c6f8d82c11acee18abf44">BIG_464_28_dmod2m</a></div><div class="ttdeci">void BIG_464_28_dmod2m(DBIG_464_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1470</div></div>
-<div class="ttc" id="big__464__28_8h_html_a9148d5caf89ac973eb08609d1fffe3e4"><div class="ttname"><a href="big__464__28_8h.html#a9148d5caf89ac973eb08609d1fffe3e4">BIG_464_28_output</a></div><div class="ttdeci">void BIG_464_28_output(BIG_464_28 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:55</div></div>
-<div class="ttc" id="big__464__28_8h_html_a7e046da56c962175f6c7c4312a64bce0"><div class="ttname"><a href="big__464__28_8h.html#a7e046da56c962175f6c7c4312a64bce0">BIG_464_28_bit</a></div><div class="ttdeci">int BIG_464_28_bit(BIG_464_28 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1232</div></div>
-<div class="ttc" id="big__464__28_8h_html_a51d75872491376269b703b0b187d9144"><div class="ttname"><a href="big__464__28_8h.html#a51d75872491376269b703b0b187d9144">BIG_464_28_fshl</a></div><div class="ttdeci">int BIG_464_28_fshl(BIG_464_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_464_28.c:832</div></div>
-<div class="ttc" id="big__464__28_8h_html_a593691880b601f49a4d5729d1dba4a36"><div class="ttname"><a href="big__464__28_8h.html#a593691880b601f49a4d5729d1dba4a36">BIG_464_28_pmul</a></div><div class="ttdeci">chunk BIG_464_28_pmul(BIG_464_28 x, BIG_464_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_464_28.c:465</div></div>
-<div class="ttc" id="big__464__28_8h_html_a83bccbe89705edcfd1b9d241133f8585"><div class="ttname"><a href="big__464__28_8h.html#a83bccbe89705edcfd1b9d241133f8585">BIG_464_28_dfromBytesLen</a></div><div class="ttdeci">void BIG_464_28_dfromBytesLen(DBIG_464_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_464_28.c:1485</div></div>
-<div class="ttc" id="big__464__28_8h_html_ad803aa419dc66098a6dbad0f67788db9"><div class="ttname"><a href="big__464__28_8h.html#ad803aa419dc66098a6dbad0f67788db9">BIG_464_28_dcmove</a></div><div class="ttdeci">void BIG_464_28_dcmove(BIG_464_28 x, BIG_464_28 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__464__28_8h_html_ab58a6bfae78e1d113abbbfa0d199d046"><div class="ttname"><a href="big__464__28_8h.html#ab58a6bfae78e1d113abbbfa0d199d046">BIG_464_28_modmul</a></div><div class="ttdeci">void BIG_464_28_modmul(BIG_464_28 x, BIG_464_28 y, BIG_464_28 z, BIG_464_28 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1300</div></div>
-<div class="ttc" id="big__464__28_8h_html_a6f63c7e7427e7aadd3b702db17827e32"><div class="ttname"><a href="big__464__28_8h.html#a6f63c7e7427e7aadd3b702db17827e32">BIG_464_28_lastbits</a></div><div class="ttdeci">int BIG_464_28_lastbits(BIG_464_28 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1240</div></div>
-<div class="ttc" id="big__464__28_8h_html_a0115b32f39fb88dd5409a22b7f9eb451"><div class="ttname"><a href="big__464__28_8h.html#a0115b32f39fb88dd5409a22b7f9eb451">BIG_464_28_dmod</a></div><div class="ttdeci">void BIG_464_28_dmod(BIG_464_28 x, DBIG_464_28 y, BIG_464_28 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1113</div></div>
-<div class="ttc" id="big__464__28_8h_html_a484b0100ae7df8a46d45d07410ac7172"><div class="ttname"><a href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">DBIG_464_28</a></div><div class="ttdeci">chunk DBIG_464_28[DNLEN_464_28]</div><div class="ttdef"><b>Definition:</b> big_464_28.h:59</div></div>
-<div class="ttc" id="big__464__28_8h_html_af1fbd32c0654114ba9245eccbcf9ea88"><div class="ttname"><a href="big__464__28_8h.html#af1fbd32c0654114ba9245eccbcf9ea88">BIG_464_28_norm</a></div><div class="ttdeci">chunk BIG_464_28_norm(BIG_464_28 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:976</div></div>
-<div class="ttc" id="big__464__28_8h_html_a4892332c418b37b4fa9027fc9405df34"><div class="ttname"><a href="big__464__28_8h.html#a4892332c418b37b4fa9027fc9405df34">BIG_464_28_copy</a></div><div class="ttdeci">void BIG_464_28_copy(BIG_464_28 x, BIG_464_28 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:227</div></div>
-<div class="ttc" id="big__464__28_8h_html_a96412ef30ce1ca08ec5547dc6b145820"><div class="ttname"><a href="big__464__28_8h.html#a96412ef30ce1ca08ec5547dc6b145820">BIG_464_28_shl</a></div><div class="ttdeci">void BIG_464_28_shl(BIG_464_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_464_28.c:813</div></div>
-<div class="ttc" id="big__464__28_8h_html_a4cc6c09b12cec697a832e228dca37f82"><div class="ttname"><a href="big__464__28_8h.html#a4cc6c09b12cec697a832e228dca37f82">BIG_464_28_imul</a></div><div class="ttdeci">void BIG_464_28_imul(BIG_464_28 x, BIG_464_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_464_28.c:450</div></div>
-<div class="ttc" id="big__464__28_8h_html_a7876c8124d59c11230c448e228f55496"><div class="ttname"><a href="big__464__28_8h.html#a7876c8124d59c11230c448e228f55496">BIG_464_28_div3</a></div><div class="ttdeci">int BIG_464_28_div3(BIG_464_28 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:484</div></div>
-<div class="ttc" id="big__464__28_8h_html_a170c3ec8d24143938f38b05dc3931e4e"><div class="ttname"><a href="big__464__28_8h.html#a170c3ec8d24143938f38b05dc3931e4e">BIG_464_28_ddiv</a></div><div class="ttdeci">void BIG_464_28_ddiv(BIG_464_28 x, DBIG_464_28 y, BIG_464_28 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1149</div></div>
-<div class="ttc" id="big__464__28_8h_html_a35db459595ea671794c80ab9b71ff44d"><div class="ttname"><a href="big__464__28_8h.html#a35db459595ea671794c80ab9b71ff44d">BIG_464_28_invmod2m</a></div><div class="ttdeci">void BIG_464_28_invmod2m(BIG_464_28 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__464__28_8h_html_a514a3f6855c7f10e845254b77339b4ea"><div class="ttname"><a href="big__464__28_8h.html#a514a3f6855c7f10e845254b77339b4ea">BIG_464_28_toBytes</a></div><div class="ttdeci">void BIG_464_28_toBytes(char *a, BIG_464_28 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:141</div></div>
-<div class="ttc" id="big__464__28_8h_html_ad96f164178ce52f172cbba1b17f420cf"><div class="ttname"><a href="big__464__28_8h.html#ad96f164178ce52f172cbba1b17f420cf">BIG_464_28_mul</a></div><div class="ttdeci">void BIG_464_28_mul(DBIG_464_28 x, BIG_464_28 y, BIG_464_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_464_28.c:542</div></div>
-<div class="ttc" id="big__464__28_8h_html_a36d4bfbbea2d5aab754c52cacc1554d9"><div class="ttname"><a href="big__464__28_8h.html#a36d4bfbbea2d5aab754c52cacc1554d9">BIG_464_28_dshl</a></div><div class="ttdeci">void BIG_464_28_dshl(DBIG_464_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_464_28.c:846</div></div>
-<div class="ttc" id="big__464__28_8h_html_a75d384b9c54453e80dbcb4aa9169770d"><div class="ttname"><a href="big__464__28_8h.html#a75d384b9c54453e80dbcb4aa9169770d">BIG_464_28_sub</a></div><div class="ttdeci">void BIG_464_28_sub(BIG_464_28 x, BIG_464_28 y, BIG_464_28 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:397</div></div>
-<div class="ttc" id="big__464__28_8h_html_a09f811df3d755158129e74d177b46e09"><div class="ttname"><a href="big__464__28_8h.html#a09f811df3d755158129e74d177b46e09">BIG_464_28_moddiv</a></div><div class="ttdeci">void BIG_464_28_moddiv(BIG_464_28 x, BIG_464_28 y, BIG_464_28 z, BIG_464_28 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1337</div></div>
-<div class="ttc" id="big__464__28_8h_html_a18bd5806011167de705ee8a8b12909e8"><div class="ttname"><a href="big__464__28_8h.html#a18bd5806011167de705ee8a8b12909e8">BIG_464_28_random</a></div><div class="ttdeci">void BIG_464_28_random(BIG_464_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_464_28.c:1248</div></div>
-<div class="ttc" id="big__464__28_8h_html_a55deb4651e0611492c4d72ec8e6ae48f"><div class="ttname"><a href="big__464__28_8h.html#a55deb4651e0611492c4d72ec8e6ae48f">BIG_464_28_dzero</a></div><div class="ttdeci">void BIG_464_28_dzero(DBIG_464_28 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:329</div></div>
-<div class="ttc" id="big__464__28_8h_html_a62c6093e1cc70855cae598b00aa4cf9e"><div class="ttname"><a href="big__464__28_8h.html#a62c6093e1cc70855cae598b00aa4cf9e">BIG_464_28_rcopy</a></div><div class="ttdeci">void BIG_464_28_rcopy(BIG_464_28 x, const BIG_464_28 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:239</div></div>
-<div class="ttc" id="big__464__28_8h_html_a116b4c674537ef9d628eebe6574fa832"><div class="ttname"><a href="big__464__28_8h.html#a116b4c674537ef9d628eebe6574fa832">BIG_464_28_nbits</a></div><div class="ttdeci">int BIG_464_28_nbits(BIG_464_28 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1040</div></div>
-<div class="ttc" id="big__464__28_8h_html_a3f370670a174f88a173226380301335e"><div class="ttname"><a href="big__464__28_8h.html#a3f370670a174f88a173226380301335e">BIG_464_28_sducopy</a></div><div class="ttdeci">void BIG_464_28_sducopy(BIG_464_28 x, DBIG_464_28 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:306</div></div>
-<div class="ttc" id="big__464__28_8h_html_adaaebe9d8ab81efb52a36f361711271e"><div class="ttname"><a href="big__464__28_8h.html#adaaebe9d8ab81efb52a36f361711271e">BIG_464_28_parity</a></div><div class="ttdeci">int BIG_464_28_parity(BIG_464_28 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1225</div></div>
-<div class="ttc" id="big__464__28_8h_html_add5c49897dd8e26b3269b1038df97c28"><div class="ttname"><a href="big__464__28_8h.html#add5c49897dd8e26b3269b1038df97c28">BIG_464_28_cmove</a></div><div class="ttdeci">void BIG_464_28_cmove(BIG_464_28 x, BIG_464_28 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:110</div></div>
-<div class="ttc" id="big__464__28_8h_html_af2c8da5bf433447918f3ba52a458ef50"><div class="ttname"><a href="big__464__28_8h.html#af2c8da5bf433447918f3ba52a458ef50">BIG_464_28_dnorm</a></div><div class="ttdeci">void BIG_464_28_dnorm(DBIG_464_28 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:995</div></div>
-<div class="ttc" id="big__464__28_8h_html_a76a41d4d9a00d21e254d29b3b904073c"><div class="ttname"><a href="big__464__28_8h.html#a76a41d4d9a00d21e254d29b3b904073c">BIG_464_28_randomnum</a></div><div class="ttdeci">void BIG_464_28_randomnum(BIG_464_28 x, BIG_464_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_464_28.c:1274</div></div>
-<div class="ttc" id="big__464__28_8h_html_a8c4beeaa8b6b210a16dd6043d87facde"><div class="ttname"><a href="big__464__28_8h.html#a8c4beeaa8b6b210a16dd6043d87facde">BIG_464_28_dsub</a></div><div class="ttdeci">void BIG_464_28_dsub(DBIG_464_28 x, DBIG_464_28 y, DBIG_464_28 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:413</div></div>
-<div class="ttc" id="big__464__28_8h_html_a938dacc704402560adf99e3b2b6468fb"><div class="ttname"><a href="big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb">BMASK_464_28</a></div><div class="ttdeci">#define BMASK_464_28</div><div class="ttdef"><b>Definition:</b> big_464_28.h:42</div></div>
-<div class="ttc" id="big__464__28_8h_html_a7da2d74ba839c3d0062cd946479ea1a6"><div class="ttname"><a href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">BIG_464_28</a></div><div class="ttdeci">chunk BIG_464_28[NLEN_464_28]</div><div class="ttdef"><b>Definition:</b> big_464_28.h:58</div></div>
-<div class="ttc" id="big__464__28_8h_html_a576bd55c0333c2d11d90b89f5cd2b648"><div class="ttname"><a href="big__464__28_8h.html#a576bd55c0333c2d11d90b89f5cd2b648">BIG_464_28_dec</a></div><div class="ttdeci">void BIG_464_28_dec(BIG_464_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_464_28.c:440</div></div>
-<div class="ttc" id="big__464__28_8h_html_ab7be7f30052024ad9d37b7170f16c860"><div class="ttname"><a href="big__464__28_8h.html#ab7be7f30052024ad9d37b7170f16c860">BIG_464_28_dcomp</a></div><div class="ttdeci">int BIG_464_28_dcomp(DBIG_464_28 x, DBIG_464_28 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1026</div></div>
-<div class="ttc" id="big__464__28_8h_html_ab86ad92feb62edce77afa319318f07ed"><div class="ttname"><a href="big__464__28_8h.html#ab86ad92feb62edce77afa319318f07ed">BIG_464_28_fshr</a></div><div class="ttdeci">int BIG_464_28_fshr(BIG_464_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_464_28.c:906</div></div>
-<div class="ttc" id="big__464__28_8h_html_a38477a1c29950844dae83e54762d7636"><div class="ttname"><a href="big__464__28_8h.html#a38477a1c29950844dae83e54762d7636">BIG_464_28_modneg</a></div><div class="ttdeci">void BIG_464_28_modneg(BIG_464_28 x, BIG_464_28 y, BIG_464_28 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1327</div></div>
-<div class="ttc" id="big__464__28_8h_html_ab8590b6ce9a6757eff1f7427bc62f7f4"><div class="ttname"><a href="big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">HBITS_464_28</a></div><div class="ttdeci">#define HBITS_464_28</div><div class="ttdef"><b>Definition:</b> big_464_28.h:45</div></div>
-<div class="ttc" id="big__464__28_8h_html_a42f2328339f3a76e959ca6790747833f"><div class="ttname"><a href="big__464__28_8h.html#a42f2328339f3a76e959ca6790747833f">BIG_464_28_dsucopy</a></div><div class="ttdeci">void BIG_464_28_dsucopy(DBIG_464_28 x, BIG_464_28 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:280</div></div>
-<div class="ttc" id="big__464__28_8h_html_ae17f6314e3e3d44e435097bde278b280"><div class="ttname"><a href="big__464__28_8h.html#ae17f6314e3e3d44e435097bde278b280">BIG_464_28_iszilch</a></div><div class="ttdeci">int BIG_464_28_iszilch(BIG_464_28 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:26</div></div>
-<div class="ttc" id="big__464__28_8h_html_ada5a1e39644074621868023b27a60271"><div class="ttname"><a href="big__464__28_8h.html#ada5a1e39644074621868023b27a60271">BIG_464_28_doutput</a></div><div class="ttdeci">void BIG_464_28_doutput(DBIG_464_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:190</div></div>
-<div class="ttc" id="big__464__28_8h_html_af83b921ece47b22b9e2855c0b3725cdd"><div class="ttname"><a href="big__464__28_8h.html#af83b921ece47b22b9e2855c0b3725cdd">BIG_464_28_inc</a></div><div class="ttdeci">void BIG_464_28_inc(BIG_464_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_464_28.c:386</div></div>
-<div class="ttc" id="big__464__28_8h_html_a7b3d04101d10292b4a770e1bc36742b4"><div class="ttname"><a href="big__464__28_8h.html#a7b3d04101d10292b4a770e1bc36742b4">BIG_464_28_one</a></div><div class="ttdeci">void BIG_464_28_one(BIG_464_28 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_464_28.c:340</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__464__28_8h_html_abe50a0e09ed4f83437d0782b97e2d283"><div class="ttname"><a href="big__464__28_8h.html#abe50a0e09ed4f83437d0782b97e2d283">BIG_464_28_dscopy</a></div><div class="ttdeci">void BIG_464_28_dscopy(DBIG_464_28 x, BIG_464_28 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:263</div></div>
-<div class="ttc" id="big__464__28_8h_html_adbaf802172bbc22a4af8a66fd154d047"><div class="ttname"><a href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">DNLEN_464_28</a></div><div class="ttdeci">#define DNLEN_464_28</div><div class="ttdef"><b>Definition:</b> big_464_28.h:41</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__464__28_8h_html_a1161b90af288b686285f7aab9df75df7"><div class="ttname"><a href="big__464__28_8h.html#a1161b90af288b686285f7aab9df75df7">BIG_464_28_monty</a></div><div class="ttdeci">void BIG_464_28_monty(BIG_464_28 a, BIG_464_28 md, chunk MC, DBIG_464_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_464_28.c:735</div></div>
-<div class="ttc" id="big__464__28_8h_html_a3dbae90aeb9ec645ca3ad40e970bfad0"><div class="ttname"><a href="big__464__28_8h.html#a3dbae90aeb9ec645ca3ad40e970bfad0">BIG_464_28_drawoutput</a></div><div class="ttdeci">void BIG_464_28_drawoutput(DBIG_464_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:212</div></div>
-<div class="ttc" id="big__464__28_8h_html_ad23433b5216617ebb4994e2a89fcdbd2"><div class="ttname"><a href="big__464__28_8h.html#ad23433b5216617ebb4994e2a89fcdbd2">BIG_464_28_fromBytes</a></div><div class="ttdeci">void BIG_464_28_fromBytes(BIG_464_28 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:155</div></div>
-<div class="ttc" id="big__464__28_8h_html_af6f49a71e883e9ff42d45cb1fca5b1f8"><div class="ttname"><a href="big__464__28_8h.html#af6f49a71e883e9ff42d45cb1fca5b1f8">BIG_464_28_mod</a></div><div class="ttdeci">void BIG_464_28_mod(BIG_464_28 x, BIG_464_28 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1082</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__464__28_8h_html_aaf2dea9e6b3d7fa77fb2d4d3750eaea8"><div class="ttname"><a href="big__464__28_8h.html#aaf2dea9e6b3d7fa77fb2d4d3750eaea8">BIG_464_28_mod2m</a></div><div class="ttdeci">void BIG_464_28_mod2m(BIG_464_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1456</div></div>
-<div class="ttc" id="big__464__28_8h_html_a3b04a0e4d1d079387882ad08e8b67ed0"><div class="ttname"><a href="big__464__28_8h.html#a3b04a0e4d1d079387882ad08e8b67ed0">BIG_464_28_sdiv</a></div><div class="ttdeci">void BIG_464_28_sdiv(BIG_464_28 x, BIG_464_28 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1188</div></div>
-<div class="ttc" id="big__464__28_8h_html_aa7676f91a1b5a787b528801d39c18555"><div class="ttname"><a href="big__464__28_8h.html#aa7676f91a1b5a787b528801d39c18555">BIG_464_28_invmodp</a></div><div class="ttdeci">void BIG_464_28_invmodp(BIG_464_28 x, BIG_464_28 y, BIG_464_28 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1392</div></div>
-<div class="ttc" id="big__464__28_8h_html_a6f46bdbe352a76c013a05210e0d8bb86"><div class="ttname"><a href="big__464__28_8h.html#a6f46bdbe352a76c013a05210e0d8bb86">BIG_464_28_shr</a></div><div class="ttdeci">void BIG_464_28_shr(BIG_464_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_464_28.c:864</div></div>
-<div class="ttc" id="big__464__28_8h_html_a9a74eb10b128a46c8b8adec292084f45"><div class="ttname"><a href="big__464__28_8h.html#a9a74eb10b128a46c8b8adec292084f45">BIG_464_28_sdcopy</a></div><div class="ttdeci">void BIG_464_28_sdcopy(BIG_464_28 x, DBIG_464_28 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:294</div></div>
-<div class="ttc" id="big__464__28_8h_html_a01fba33d068023a78a7e2399a2d3f07f"><div class="ttname"><a href="big__464__28_8h.html#a01fba33d068023a78a7e2399a2d3f07f">BIG_464_28_add</a></div><div class="ttdeci">void BIG_464_28_add(BIG_464_28 x, BIG_464_28 y, BIG_464_28 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:356</div></div>
-<div class="ttc" id="big__464__28_8h_html_a21fd9dab694eaeca2746f98943db5f9d"><div class="ttname"><a href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">NLEN_464_28</a></div><div class="ttdeci">#define NLEN_464_28</div><div class="ttdef"><b>Definition:</b> big_464_28.h:40</div></div>
-<div class="ttc" id="big__464__28_8h_html_ab89c9021dadc336a7fa1c6af40245c20"><div class="ttname"><a href="big__464__28_8h.html#ab89c9021dadc336a7fa1c6af40245c20">BIG_464_28_rawoutput</a></div><div class="ttdeci">void BIG_464_28_rawoutput(BIG_464_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_464_28.c:77</div></div>
-<div class="ttc" id="config__big__464__28_8h_html_ab7000ff6e186cca0131a7738ab324690"><div class="ttname"><a href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a></div><div class="ttdeci">#define BASEBITS_464_28</div><div class="ttdef"><b>Definition:</b> config_big_464_28.h:35</div></div>
-<div class="ttc" id="big__464__28_8h_html_ab70364e09a711b31062bc77b9161e359"><div class="ttname"><a href="big__464__28_8h.html#ab70364e09a711b31062bc77b9161e359">BIG_464_28_split</a></div><div class="ttdeci">chunk BIG_464_28_split(BIG_464_28 x, BIG_464_28 y, DBIG_464_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_464_28.c:932</div></div>
-<div class="ttc" id="big__464__28_8h_html_a1444f02a8698df8cd4a8df0a264491b3"><div class="ttname"><a href="big__464__28_8h.html#a1444f02a8698df8cd4a8df0a264491b3">BIG_464_28_modsqr</a></div><div class="ttdeci">void BIG_464_28_modsqr(BIG_464_28 x, BIG_464_28 y, BIG_464_28 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:1315</div></div>
-<div class="ttc" id="big__464__28_8h_html_a8332be15edc398cab818bdf8f9e27e30"><div class="ttname"><a href="big__464__28_8h.html#a8332be15edc398cab818bdf8f9e27e30">BIG_464_28_cswap</a></div><div class="ttdeci">void BIG_464_28_cswap(BIG_464_28 x, BIG_464_28 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_464_28.c:92</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__464__60_8h.html b/website/static/cdocs/big__464__60_8h.html
index de459db..5d52c12 100644
--- a/website/static/cdocs/big__464__60_8h.html
+++ b/website/static/cdocs/big__464__60_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_464_60.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="a2709055dbf47000096b2bf794f5cb223"></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="a9077f9f2b4ff49db440c303d4f206fc4"></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__464__60_8h_source.html b/website/static/cdocs/big__464__60_8h_source.html
index c06dd41..ef03640 100644
--- a/website/static/cdocs/big__464__60_8h_source.html
+++ b/website/static/cdocs/big__464__60_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_464_60.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_464_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__464__60_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_464_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_464_60_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__464__60_8h.html">config_big_464_60.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__464__60_8h.html#af7ba4d5ab54089d4e31347acd281e097">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_464_60 (8*MODBYTES_464_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">   40</a></span>&#160;<span class="preprocessor">#define NLEN_464_60 (1+((8*MODBYTES_464_60-1)/BASEBITS_464_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_464_60 2*NLEN_464_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">   42</a></span>&#160;<span class="preprocessor">#define BMASK_464_60 (((chunk)1&lt;&lt;BASEBITS_464_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#ac448e22eed8e2d022de02638385fd116">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_464_60 (1&lt;&lt;(CHUNK-BASEBITS_464_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">   45</a></span>&#160;<span class="preprocessor">#define HBITS_464_60 (BASEBITS_464_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">   46</a></span>&#160;<span class="preprocessor">#define HMASK_464_60 (((chunk)1&lt;&lt;HBITS_464_60)-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_464_60 NLEN_464_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_464_60 (NLEN_464_60+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__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">NLEN_464_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_464_60 DNLEN_464_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_464_60 (DNLEN_464_60+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__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">DNLEN_464_60</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__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">NLEN_464_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">DNLEN_464_60</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__464__60_8h.html#a64b1467a3b2428afcd4198e1709792ff">BIG_464_60_iszilch</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a4576449859777f58064c4f8c545cf609">BIG_464_60_isunity</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ad2400072e363b749f35b1ed0dd2b67a1">BIG_464_60_diszilch</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a109c3ebe3d6c5e0cc5599cf7a35dc2b7">BIG_464_60_output</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a7b0abeb72024f4317727e84a13d8bf81">BIG_464_60_rawoutput</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a4f99a95dd3f36d2ace61cc15087bdd22">BIG_464_60_cswap</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a712e4452d4d213cf57e7987a3c66967b">BIG_464_60_cmove</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a0bbadfcaa585a69c9386906d23f38b33">BIG_464_60_dcmove</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a4a393d4b95b22864983d214218abd31f">BIG_464_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a1ad4555801b27ff61816e66b0a06ae6c">BIG_464_60_fromBytes</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aae00d03d332e7a109c307dc3f31355ef">BIG_464_60_fromBytesLen</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a0ed58b140af16cf6275611acb81c893e">BIG_464_60_dfromBytesLen</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a7bbfb43b6a11a2245a24543261b3d3da">BIG_464_60_doutput</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#aa311d63ae3f115b61a543c2c5b0270f4">BIG_464_60_drawoutput</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a05df37f3233dc610a2713f07ba1bd67b">BIG_464_60_rcopy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a64598cff056c47362c4b02b5f6cf7018">BIG_464_60_copy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aeb59a40376ec8e9ca4e4753433653e59">BIG_464_60_dcopy</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a8afa676b7c02e51b716fe343cde51eaa">BIG_464_60_dsucopy</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a724b83eeb998930c6f9bcf8413ad7340">BIG_464_60_dscopy</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ab82b83d8c799bb0e5e941ce3fe4fd2a0">BIG_464_60_sdcopy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#ac3336585fe8e48c0a5a07655645d3cd0">BIG_464_60_sducopy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558">BIG_464_60_zero</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acbd6b8c941e7e97242d3a347f5b66e73">BIG_464_60_dzero</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a0ad6b06673ed5711f7e8d6758a25b712">BIG_464_60_one</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965">BIG_464_60_invmod2m</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a8b1eb35189d309774f2b4e7e26d2d62b">BIG_464_60_add</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9cb46059b8030392e2a212cadf0adc1e">BIG_464_60_or</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ac4d561b2c3fcce1abc59051389329dae">BIG_464_60_inc</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#abf77bda3c29dff1f4b28572fd52f5045">BIG_464_60_sub</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a811af60608bd1916cdba0bf784f1e1a7">BIG_464_60_dec</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#add5957fbcd23b32129a7243d2026614f">BIG_464_60_dadd</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a2de7b8070b448bc1fa08274a51b6bc5c">BIG_464_60_dsub</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a6331455987958bf61858bb4ae2a79ad7">BIG_464_60_imul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a254097fd6a0728be05a9651315d97639">BIG_464_60_pmul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9992a40914b39d3e37e8623dab2bcfa0">BIG_464_60_div3</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2e347b50702304d2ca96791ad586fd7c">BIG_464_60_pxmul</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#abf84aa69b938a3fd8a377707913626dd">BIG_464_60_mul</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a0a7afe36def0b63b7ca5da13a9363240">BIG_464_60_smul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2bb7ae9fb2462029e90930b543d80d62">BIG_464_60_sqr</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ac2e892ddde4f46254617adfabb9eacc7">BIG_464_60_monty</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#ae288d96cb0b67a24c6b3f188794fd62d">BIG_464_60_shl</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acac7c152e1f4a32f417120db3a820bf9">BIG_464_60_fshl</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ae271ee94b6994c9e512119f2478833cf">BIG_464_60_dshl</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a45d49395341fefdcf543448675cf9a61">BIG_464_60_shr</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a575714085062d51cda179f84bde08932">BIG_464_60_ssn</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> r,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a, <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2ca49c76a85de717c08b58fc2eefad3c">BIG_464_60_fshr</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aa1b9205c2cac5a6e43bcb0f384581733">BIG_464_60_dshr</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a9c9bab5337690b279e8a037ef9b6fc82">BIG_464_60_split</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#ada5fae12664af293202e0736447fdfdf">BIG_464_60_norm</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a54b3833c8921320954abf780e8677be3">BIG_464_60_dnorm</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a5e3c56b81d59f75e49c4ac1c112eda5c">BIG_464_60_comp</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9ce94e90e63d048da29d8e050365f93b">BIG_464_60_dcomp</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a0aae6924a038d027fc2b3b5a6073f848">BIG_464_60_nbits</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2709055dbf47000096b2bf794f5cb223">BIG_464_60_dnbits</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#acf7983a9549c1790a2bb7eb657cfa14d">BIG_464_60_mod</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aaed798108f482e20bfa994a954de064a">BIG_464_60_sdiv</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ae8579b3f5f79cecd3a26a41cd1d75f73">BIG_464_60_dmod</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a3c696f27ea5535d8175649636512b922">BIG_464_60_ddiv</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a1af2841b75938aab82db4b29ca2cf4e1">BIG_464_60_parity</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acc6953fe6d7482b0432333081bec4600">BIG_464_60_bit</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9b7b24f426d9918d70670df2a0094c52">BIG_464_60_lastbits</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a5cb4cd3679fc2c6ac0ed29972b5f73ad">BIG_464_60_random</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a76362cf0363938fde6e3c2c4df92b336">BIG_464_60_randomnum</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acdb93e93dda9724b989f2d8c0330538b">BIG_464_60_modmul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> z,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9077f9f2b4ff49db440c303d4f206fc4">BIG_464_60_moddiv</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> z,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ab1ede43d81b4c92b4925f72e6bc2ee4c">BIG_464_60_modsqr</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a216926acdff7e7efa6b79953ba1cb462">BIG_464_60_modneg</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a8871f11b1d53d1c5977bb7fb43db6398">BIG_464_60_jacobi</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ac6f8d5b3d4f46e3991a36b05b35d136e">BIG_464_60_invmodp</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a6fa56ee0541fd381e86864807b8a4d5d">BIG_464_60_mod2m</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#add139401f2c48ba6506bd83c45892103">BIG_464_60_dmod2m</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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_464_60(<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__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">BMASK_464_60</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__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">BASEBITS_464_60</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_464_60(<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__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</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__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</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__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">BASEBITS_464_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">BMASK_464_60</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__464__60_8h_html_a43e546e4cf050675ad46383200d786b2"><div class="ttname"><a href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a></div><div class="ttdeci">#define HMASK_464_60</div><div class="ttdef"><b>Definition:</b> big_464_60.h:46</div></div>
-<div class="ttc" id="big__464__60_8h_html_ac3336585fe8e48c0a5a07655645d3cd0"><div class="ttname"><a href="big__464__60_8h.html#ac3336585fe8e48c0a5a07655645d3cd0">BIG_464_60_sducopy</a></div><div class="ttdeci">void BIG_464_60_sducopy(BIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:306</div></div>
-<div class="ttc" id="big__464__60_8h_html_a6331455987958bf61858bb4ae2a79ad7"><div class="ttname"><a href="big__464__60_8h.html#a6331455987958bf61858bb4ae2a79ad7">BIG_464_60_imul</a></div><div class="ttdeci">void BIG_464_60_imul(BIG_464_60 x, BIG_464_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:450</div></div>
+<a href="big__464__60_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_464_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_464_60_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__464__60_8h.html">config_big_464_60.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__464__60_8h.html#af7ba4d5ab54089d4e31347acd281e097">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_464_60 (8*MODBYTES_464_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">   40</a></span>&#160;<span class="preprocessor">#define NLEN_464_60 (1+((8*MODBYTES_464_60-1)/BASEBITS_464_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_464_60 2*NLEN_464_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">   42</a></span>&#160;<span class="preprocessor">#define BMASK_464_60 (((chunk)1&lt;&lt;BASEBITS_464_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#ac448e22eed8e2d022de02638385fd116">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_464_60 (1&lt;&lt;(CHUNK-BASEBITS_464_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">   45</a></span>&#160;<span class="preprocessor">#define HBITS_464_60 (BASEBITS_464_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">   46</a></span>&#160;<span class="preprocessor">#define HMASK_464_60 (((chunk)1&lt;&lt;HBITS_464_60)-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_464_60 NLEN_464_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_464_60 (NLEN_464_60+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__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">NLEN_464_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_464_60 DNLEN_464_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_464_60 (DNLEN_464_60+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__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">DNLEN_464_60</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__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">NLEN_464_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a>[<a class="code" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">DNLEN_464_60</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__464__60_8h.html#a64b1467a3b2428afcd4198e1709792ff">BIG_464_60_iszilch</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a4576449859777f58064c4f8c545cf609">BIG_464_60_isunity</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ad2400072e363b749f35b1ed0dd2b67a1">BIG_464_60_diszilch</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a109c3ebe3d6c5e0cc5599cf7a35dc2b7">BIG_464_60_output</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a7b0abeb72024f4317727e84a13d8bf81">BIG_464_60_rawoutput</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a4f99a95dd3f36d2ace61cc15087bdd22">BIG_464_60_cswap</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a712e4452d4d213cf57e7987a3c66967b">BIG_464_60_cmove</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a0bbadfcaa585a69c9386906d23f38b33">BIG_464_60_dcmove</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a4a393d4b95b22864983d214218abd31f">BIG_464_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a1ad4555801b27ff61816e66b0a06ae6c">BIG_464_60_fromBytes</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aae00d03d332e7a109c307dc3f31355ef">BIG_464_60_fromBytesLen</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a0ed58b140af16cf6275611acb81c893e">BIG_464_60_dfromBytesLen</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a7bbfb43b6a11a2245a24543261b3d3da">BIG_464_60_doutput</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#aa311d63ae3f115b61a543c2c5b0270f4">BIG_464_60_drawoutput</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a05df37f3233dc610a2713f07ba1bd67b">BIG_464_60_rcopy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a64598cff056c47362c4b02b5f6cf7018">BIG_464_60_copy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aeb59a40376ec8e9ca4e4753433653e59">BIG_464_60_dcopy</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a8afa676b7c02e51b716fe343cde51eaa">BIG_464_60_dsucopy</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a724b83eeb998930c6f9bcf8413ad7340">BIG_464_60_dscopy</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ab82b83d8c799bb0e5e941ce3fe4fd2a0">BIG_464_60_sdcopy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#ac3336585fe8e48c0a5a07655645d3cd0">BIG_464_60_sducopy</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558">BIG_464_60_zero</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acbd6b8c941e7e97242d3a347f5b66e73">BIG_464_60_dzero</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a0ad6b06673ed5711f7e8d6758a25b712">BIG_464_60_one</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965">BIG_464_60_invmod2m</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a8b1eb35189d309774f2b4e7e26d2d62b">BIG_464_60_add</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9cb46059b8030392e2a212cadf0adc1e">BIG_464_60_or</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ac4d561b2c3fcce1abc59051389329dae">BIG_464_60_inc</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#abf77bda3c29dff1f4b28572fd52f5045">BIG_464_60_sub</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a811af60608bd1916cdba0bf784f1e1a7">BIG_464_60_dec</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#add5957fbcd23b32129a7243d2026614f">BIG_464_60_dadd</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a2de7b8070b448bc1fa08274a51b6bc5c">BIG_464_60_dsub</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a6331455987958bf61858bb4ae2a79ad7">BIG_464_60_imul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a254097fd6a0728be05a9651315d97639">BIG_464_60_pmul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9992a40914b39d3e37e8623dab2bcfa0">BIG_464_60_div3</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2e347b50702304d2ca96791ad586fd7c">BIG_464_60_pxmul</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#abf84aa69b938a3fd8a377707913626dd">BIG_464_60_mul</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a0a7afe36def0b63b7ca5da13a9363240">BIG_464_60_smul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2bb7ae9fb2462029e90930b543d80d62">BIG_464_60_sqr</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ac2e892ddde4f46254617adfabb9eacc7">BIG_464_60_monty</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#ae288d96cb0b67a24c6b3f188794fd62d">BIG_464_60_shl</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acac7c152e1f4a32f417120db3a820bf9">BIG_464_60_fshl</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ae271ee94b6994c9e512119f2478833cf">BIG_464_60_dshl</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a45d49395341fefdcf543448675cf9a61">BIG_464_60_shr</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a575714085062d51cda179f84bde08932">BIG_464_60_ssn</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> r,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a, <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2ca49c76a85de717c08b58fc2eefad3c">BIG_464_60_fshr</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aa1b9205c2cac5a6e43bcb0f384581733">BIG_464_60_dshr</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a9c9bab5337690b279e8a037ef9b6fc82">BIG_464_60_split</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#ada5fae12664af293202e0736447fdfdf">BIG_464_60_norm</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a54b3833c8921320954abf780e8677be3">BIG_464_60_dnorm</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a5e3c56b81d59f75e49c4ac1c112eda5c">BIG_464_60_comp</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9ce94e90e63d048da29d8e050365f93b">BIG_464_60_dcomp</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#a0aae6924a038d027fc2b3b5a6073f848">BIG_464_60_nbits</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a2709055dbf47000096b2bf794f5cb223">BIG_464_60_dnbits</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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__464__60_8h.html#acf7983a9549c1790a2bb7eb657cfa14d">BIG_464_60_mod</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#aaed798108f482e20bfa994a954de064a">BIG_464_60_sdiv</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ae8579b3f5f79cecd3a26a41cd1d75f73">BIG_464_60_dmod</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a3c696f27ea5535d8175649636512b922">BIG_464_60_ddiv</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a1af2841b75938aab82db4b29ca2cf4e1">BIG_464_60_parity</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acc6953fe6d7482b0432333081bec4600">BIG_464_60_bit</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9b7b24f426d9918d70670df2a0094c52">BIG_464_60_lastbits</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a5cb4cd3679fc2c6ac0ed29972b5f73ad">BIG_464_60_random</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a76362cf0363938fde6e3c2c4df92b336">BIG_464_60_randomnum</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#acdb93e93dda9724b989f2d8c0330538b">BIG_464_60_modmul</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> z,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a9077f9f2b4ff49db440c303d4f206fc4">BIG_464_60_moddiv</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> z,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ab1ede43d81b4c92b4925f72e6bc2ee4c">BIG_464_60_modsqr</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a216926acdff7e7efa6b79953ba1cb462">BIG_464_60_modneg</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a8871f11b1d53d1c5977bb7fb43db6398">BIG_464_60_jacobi</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#ac6f8d5b3d4f46e3991a36b05b35d136e">BIG_464_60_invmodp</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#a6fa56ee0541fd381e86864807b8a4d5d">BIG_464_60_mod2m</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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__464__60_8h.html#add139401f2c48ba6506bd83c45892103">BIG_464_60_dmod2m</a>(<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</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_464_60(<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__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">BMASK_464_60</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__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">BASEBITS_464_60</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_464_60(<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__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</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__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</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__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">BASEBITS_464_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">BMASK_464_60</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__464__60_8h_html_a43e546e4cf050675ad46383200d786b2"><div class="ttname"><a href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">HMASK_464_60</a></div><div class="ttdeci">#define HMASK_464_60</div><div class="ttdef"><b>Definition:</b> big_464_60.h:46</div></div>
+<div class="ttc" id="big__464__60_8h_html_ac3336585fe8e48c0a5a07655645d3cd0"><div class="ttname"><a href="big__464__60_8h.html#ac3336585fe8e48c0a5a07655645d3cd0">BIG_464_60_sducopy</a></div><div class="ttdeci">void BIG_464_60_sducopy(BIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:306</div></div>
+<div class="ttc" id="big__464__60_8h_html_a6331455987958bf61858bb4ae2a79ad7"><div class="ttname"><a href="big__464__60_8h.html#a6331455987958bf61858bb4ae2a79ad7">BIG_464_60_imul</a></div><div class="ttdeci">void BIG_464_60_imul(BIG_464_60 x, BIG_464_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:450</div></div>
 <div class="ttc" id="big__464__60_8h_html_a851eebc82dd4e230b0051a971850e755"><div class="ttname"><a href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">DNLEN_464_60</a></div><div class="ttdeci">#define DNLEN_464_60</div><div class="ttdef"><b>Definition:</b> big_464_60.h:41</div></div>
-<div class="ttc" id="big__464__60_8h_html_a64598cff056c47362c4b02b5f6cf7018"><div class="ttname"><a href="big__464__60_8h.html#a64598cff056c47362c4b02b5f6cf7018">BIG_464_60_copy</a></div><div class="ttdeci">void BIG_464_60_copy(BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:227</div></div>
-<div class="ttc" id="big__464__60_8h_html_a4a393d4b95b22864983d214218abd31f"><div class="ttname"><a href="big__464__60_8h.html#a4a393d4b95b22864983d214218abd31f">BIG_464_60_toBytes</a></div><div class="ttdeci">void BIG_464_60_toBytes(char *a, BIG_464_60 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:141</div></div>
-<div class="ttc" id="big__464__60_8h_html_a7b0abeb72024f4317727e84a13d8bf81"><div class="ttname"><a href="big__464__60_8h.html#a7b0abeb72024f4317727e84a13d8bf81">BIG_464_60_rawoutput</a></div><div class="ttdeci">void BIG_464_60_rawoutput(BIG_464_60 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_464_60.c:77</div></div>
-<div class="ttc" id="big__464__60_8h_html_a254097fd6a0728be05a9651315d97639"><div class="ttname"><a href="big__464__60_8h.html#a254097fd6a0728be05a9651315d97639">BIG_464_60_pmul</a></div><div class="ttdeci">chunk BIG_464_60_pmul(BIG_464_60 x, BIG_464_60 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_464_60.c:465</div></div>
-<div class="ttc" id="big__464__60_8h_html_a1ad4555801b27ff61816e66b0a06ae6c"><div class="ttname"><a href="big__464__60_8h.html#a1ad4555801b27ff61816e66b0a06ae6c">BIG_464_60_fromBytes</a></div><div class="ttdeci">void BIG_464_60_fromBytes(BIG_464_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:155</div></div>
-<div class="ttc" id="big__464__60_8h_html_ac6f8d5b3d4f46e3991a36b05b35d136e"><div class="ttname"><a href="big__464__60_8h.html#ac6f8d5b3d4f46e3991a36b05b35d136e">BIG_464_60_invmodp</a></div><div class="ttdeci">void BIG_464_60_invmodp(BIG_464_60 x, BIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1392</div></div>
-<div class="ttc" id="big__464__60_8h_html_a9b7b24f426d9918d70670df2a0094c52"><div class="ttname"><a href="big__464__60_8h.html#a9b7b24f426d9918d70670df2a0094c52">BIG_464_60_lastbits</a></div><div class="ttdeci">int BIG_464_60_lastbits(BIG_464_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1240</div></div>
-<div class="ttc" id="big__464__60_8h_html_a9ce94e90e63d048da29d8e050365f93b"><div class="ttname"><a href="big__464__60_8h.html#a9ce94e90e63d048da29d8e050365f93b">BIG_464_60_dcomp</a></div><div class="ttdeci">int BIG_464_60_dcomp(DBIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1026</div></div>
-<div class="ttc" id="big__464__60_8h_html_a724b83eeb998930c6f9bcf8413ad7340"><div class="ttname"><a href="big__464__60_8h.html#a724b83eeb998930c6f9bcf8413ad7340">BIG_464_60_dscopy</a></div><div class="ttdeci">void BIG_464_60_dscopy(DBIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:263</div></div>
-<div class="ttc" id="big__464__60_8h_html_ac2e892ddde4f46254617adfabb9eacc7"><div class="ttname"><a href="big__464__60_8h.html#ac2e892ddde4f46254617adfabb9eacc7">BIG_464_60_monty</a></div><div class="ttdeci">void BIG_464_60_monty(BIG_464_60 a, BIG_464_60 md, chunk MC, DBIG_464_60 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_464_60.c:735</div></div>
-<div class="ttc" id="big__464__60_8h_html_a6fa56ee0541fd381e86864807b8a4d5d"><div class="ttname"><a href="big__464__60_8h.html#a6fa56ee0541fd381e86864807b8a4d5d">BIG_464_60_mod2m</a></div><div class="ttdeci">void BIG_464_60_mod2m(BIG_464_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1456</div></div>
-<div class="ttc" id="big__464__60_8h_html_a2bb7ae9fb2462029e90930b543d80d62"><div class="ttname"><a href="big__464__60_8h.html#a2bb7ae9fb2462029e90930b543d80d62">BIG_464_60_sqr</a></div><div class="ttdeci">void BIG_464_60_sqr(DBIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:618</div></div>
-<div class="ttc" id="big__464__60_8h_html_ae288d96cb0b67a24c6b3f188794fd62d"><div class="ttname"><a href="big__464__60_8h.html#ae288d96cb0b67a24c6b3f188794fd62d">BIG_464_60_shl</a></div><div class="ttdeci">void BIG_464_60_shl(BIG_464_60 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_464_60.c:813</div></div>
-<div class="ttc" id="big__464__60_8h_html_a2e347b50702304d2ca96791ad586fd7c"><div class="ttname"><a href="big__464__60_8h.html#a2e347b50702304d2ca96791ad586fd7c">BIG_464_60_pxmul</a></div><div class="ttdeci">void BIG_464_60_pxmul(DBIG_464_60 x, BIG_464_60 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_464_60.c:501</div></div>
-<div class="ttc" id="big__464__60_8h_html_a712e4452d4d213cf57e7987a3c66967b"><div class="ttname"><a href="big__464__60_8h.html#a712e4452d4d213cf57e7987a3c66967b">BIG_464_60_cmove</a></div><div class="ttdeci">void BIG_464_60_cmove(BIG_464_60 x, BIG_464_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:110</div></div>
-<div class="ttc" id="big__464__60_8h_html_a2709055dbf47000096b2bf794f5cb223"><div class="ttname"><a href="big__464__60_8h.html#a2709055dbf47000096b2bf794f5cb223">BIG_464_60_dnbits</a></div><div class="ttdeci">int BIG_464_60_dnbits(DBIG_464_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1060</div></div>
-<div class="ttc" id="big__464__60_8h_html_abf84aa69b938a3fd8a377707913626dd"><div class="ttname"><a href="big__464__60_8h.html#abf84aa69b938a3fd8a377707913626dd">BIG_464_60_mul</a></div><div class="ttdeci">void BIG_464_60_mul(DBIG_464_60 x, BIG_464_60 y, BIG_464_60 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_464_60.c:542</div></div>
-<div class="ttc" id="big__464__60_8h_html_a3c696f27ea5535d8175649636512b922"><div class="ttname"><a href="big__464__60_8h.html#a3c696f27ea5535d8175649636512b922">BIG_464_60_ddiv</a></div><div class="ttdeci">void BIG_464_60_ddiv(BIG_464_60 x, DBIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1149</div></div>
-<div class="ttc" id="big__464__60_8h_html_ab1ede43d81b4c92b4925f72e6bc2ee4c"><div class="ttname"><a href="big__464__60_8h.html#ab1ede43d81b4c92b4925f72e6bc2ee4c">BIG_464_60_modsqr</a></div><div class="ttdeci">void BIG_464_60_modsqr(BIG_464_60 x, BIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1315</div></div>
-<div class="ttc" id="big__464__60_8h_html_aa1b9205c2cac5a6e43bcb0f384581733"><div class="ttname"><a href="big__464__60_8h.html#aa1b9205c2cac5a6e43bcb0f384581733">BIG_464_60_dshr</a></div><div class="ttdeci">void BIG_464_60_dshr(DBIG_464_60 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_464_60.c:918</div></div>
-<div class="ttc" id="big__464__60_8h_html_a8871f11b1d53d1c5977bb7fb43db6398"><div class="ttname"><a href="big__464__60_8h.html#a8871f11b1d53d1c5977bb7fb43db6398">BIG_464_60_jacobi</a></div><div class="ttdeci">int BIG_464_60_jacobi(BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1354</div></div>
+<div class="ttc" id="big__464__60_8h_html_a64598cff056c47362c4b02b5f6cf7018"><div class="ttname"><a href="big__464__60_8h.html#a64598cff056c47362c4b02b5f6cf7018">BIG_464_60_copy</a></div><div class="ttdeci">void BIG_464_60_copy(BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:227</div></div>
+<div class="ttc" id="big__464__60_8h_html_a4a393d4b95b22864983d214218abd31f"><div class="ttname"><a href="big__464__60_8h.html#a4a393d4b95b22864983d214218abd31f">BIG_464_60_toBytes</a></div><div class="ttdeci">void BIG_464_60_toBytes(char *a, BIG_464_60 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:141</div></div>
+<div class="ttc" id="big__464__60_8h_html_a7b0abeb72024f4317727e84a13d8bf81"><div class="ttname"><a href="big__464__60_8h.html#a7b0abeb72024f4317727e84a13d8bf81">BIG_464_60_rawoutput</a></div><div class="ttdeci">void BIG_464_60_rawoutput(BIG_464_60 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_464_60.c:77</div></div>
+<div class="ttc" id="big__464__60_8h_html_a254097fd6a0728be05a9651315d97639"><div class="ttname"><a href="big__464__60_8h.html#a254097fd6a0728be05a9651315d97639">BIG_464_60_pmul</a></div><div class="ttdeci">chunk BIG_464_60_pmul(BIG_464_60 x, BIG_464_60 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_464_60.c:465</div></div>
+<div class="ttc" id="big__464__60_8h_html_a1ad4555801b27ff61816e66b0a06ae6c"><div class="ttname"><a href="big__464__60_8h.html#a1ad4555801b27ff61816e66b0a06ae6c">BIG_464_60_fromBytes</a></div><div class="ttdeci">void BIG_464_60_fromBytes(BIG_464_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:155</div></div>
+<div class="ttc" id="big__464__60_8h_html_ac6f8d5b3d4f46e3991a36b05b35d136e"><div class="ttname"><a href="big__464__60_8h.html#ac6f8d5b3d4f46e3991a36b05b35d136e">BIG_464_60_invmodp</a></div><div class="ttdeci">void BIG_464_60_invmodp(BIG_464_60 x, BIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1476</div></div>
+<div class="ttc" id="big__464__60_8h_html_a9b7b24f426d9918d70670df2a0094c52"><div class="ttname"><a href="big__464__60_8h.html#a9b7b24f426d9918d70670df2a0094c52">BIG_464_60_lastbits</a></div><div class="ttdeci">int BIG_464_60_lastbits(BIG_464_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1240</div></div>
+<div class="ttc" id="big__464__60_8h_html_a9ce94e90e63d048da29d8e050365f93b"><div class="ttname"><a href="big__464__60_8h.html#a9ce94e90e63d048da29d8e050365f93b">BIG_464_60_dcomp</a></div><div class="ttdeci">int BIG_464_60_dcomp(DBIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1026</div></div>
+<div class="ttc" id="big__464__60_8h_html_a724b83eeb998930c6f9bcf8413ad7340"><div class="ttname"><a href="big__464__60_8h.html#a724b83eeb998930c6f9bcf8413ad7340">BIG_464_60_dscopy</a></div><div class="ttdeci">void BIG_464_60_dscopy(DBIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:263</div></div>
+<div class="ttc" id="big__464__60_8h_html_ac2e892ddde4f46254617adfabb9eacc7"><div class="ttname"><a href="big__464__60_8h.html#ac2e892ddde4f46254617adfabb9eacc7">BIG_464_60_monty</a></div><div class="ttdeci">void BIG_464_60_monty(BIG_464_60 a, BIG_464_60 md, chunk MC, DBIG_464_60 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_464_60.c:735</div></div>
+<div class="ttc" id="big__464__60_8h_html_a6fa56ee0541fd381e86864807b8a4d5d"><div class="ttname"><a href="big__464__60_8h.html#a6fa56ee0541fd381e86864807b8a4d5d">BIG_464_60_mod2m</a></div><div class="ttdeci">void BIG_464_60_mod2m(BIG_464_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1540</div></div>
+<div class="ttc" id="big__464__60_8h_html_a2bb7ae9fb2462029e90930b543d80d62"><div class="ttname"><a href="big__464__60_8h.html#a2bb7ae9fb2462029e90930b543d80d62">BIG_464_60_sqr</a></div><div class="ttdeci">void BIG_464_60_sqr(DBIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:618</div></div>
+<div class="ttc" id="big__464__60_8h_html_ae288d96cb0b67a24c6b3f188794fd62d"><div class="ttname"><a href="big__464__60_8h.html#ae288d96cb0b67a24c6b3f188794fd62d">BIG_464_60_shl</a></div><div class="ttdeci">void BIG_464_60_shl(BIG_464_60 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_464_60.c:813</div></div>
+<div class="ttc" id="big__464__60_8h_html_a2e347b50702304d2ca96791ad586fd7c"><div class="ttname"><a href="big__464__60_8h.html#a2e347b50702304d2ca96791ad586fd7c">BIG_464_60_pxmul</a></div><div class="ttdeci">void BIG_464_60_pxmul(DBIG_464_60 x, BIG_464_60 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_464_60.c:501</div></div>
+<div class="ttc" id="big__464__60_8h_html_a712e4452d4d213cf57e7987a3c66967b"><div class="ttname"><a href="big__464__60_8h.html#a712e4452d4d213cf57e7987a3c66967b">BIG_464_60_cmove</a></div><div class="ttdeci">void BIG_464_60_cmove(BIG_464_60 x, BIG_464_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:110</div></div>
+<div class="ttc" id="big__464__60_8h_html_a2709055dbf47000096b2bf794f5cb223"><div class="ttname"><a href="big__464__60_8h.html#a2709055dbf47000096b2bf794f5cb223">BIG_464_60_dnbits</a></div><div class="ttdeci">int BIG_464_60_dnbits(DBIG_464_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1060</div></div>
+<div class="ttc" id="big__464__60_8h_html_abf84aa69b938a3fd8a377707913626dd"><div class="ttname"><a href="big__464__60_8h.html#abf84aa69b938a3fd8a377707913626dd">BIG_464_60_mul</a></div><div class="ttdeci">void BIG_464_60_mul(DBIG_464_60 x, BIG_464_60 y, BIG_464_60 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_464_60.c:542</div></div>
+<div class="ttc" id="big__464__60_8h_html_a3c696f27ea5535d8175649636512b922"><div class="ttname"><a href="big__464__60_8h.html#a3c696f27ea5535d8175649636512b922">BIG_464_60_ddiv</a></div><div class="ttdeci">void BIG_464_60_ddiv(BIG_464_60 x, DBIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1149</div></div>
+<div class="ttc" id="big__464__60_8h_html_ab1ede43d81b4c92b4925f72e6bc2ee4c"><div class="ttname"><a href="big__464__60_8h.html#ab1ede43d81b4c92b4925f72e6bc2ee4c">BIG_464_60_modsqr</a></div><div class="ttdeci">void BIG_464_60_modsqr(BIG_464_60 x, BIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1315</div></div>
+<div class="ttc" id="big__464__60_8h_html_aa1b9205c2cac5a6e43bcb0f384581733"><div class="ttname"><a href="big__464__60_8h.html#aa1b9205c2cac5a6e43bcb0f384581733">BIG_464_60_dshr</a></div><div class="ttdeci">void BIG_464_60_dshr(DBIG_464_60 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_464_60.c:918</div></div>
+<div class="ttc" id="big__464__60_8h_html_a8871f11b1d53d1c5977bb7fb43db6398"><div class="ttname"><a href="big__464__60_8h.html#a8871f11b1d53d1c5977bb7fb43db6398">BIG_464_60_jacobi</a></div><div class="ttdeci">int BIG_464_60_jacobi(BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1354</div></div>
 <div class="ttc" id="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
-<div class="ttc" id="big__464__60_8h_html_a8b1eb35189d309774f2b4e7e26d2d62b"><div class="ttname"><a href="big__464__60_8h.html#a8b1eb35189d309774f2b4e7e26d2d62b">BIG_464_60_add</a></div><div class="ttdeci">void BIG_464_60_add(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:356</div></div>
-<div class="ttc" id="big__464__60_8h_html_a1af2841b75938aab82db4b29ca2cf4e1"><div class="ttname"><a href="big__464__60_8h.html#a1af2841b75938aab82db4b29ca2cf4e1">BIG_464_60_parity</a></div><div class="ttdeci">int BIG_464_60_parity(BIG_464_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1225</div></div>
-<div class="ttc" id="big__464__60_8h_html_ab82b83d8c799bb0e5e941ce3fe4fd2a0"><div class="ttname"><a href="big__464__60_8h.html#ab82b83d8c799bb0e5e941ce3fe4fd2a0">BIG_464_60_sdcopy</a></div><div class="ttdeci">void BIG_464_60_sdcopy(BIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:294</div></div>
-<div class="ttc" id="big__464__60_8h_html_ada5fae12664af293202e0736447fdfdf"><div class="ttname"><a href="big__464__60_8h.html#ada5fae12664af293202e0736447fdfdf">BIG_464_60_norm</a></div><div class="ttdeci">chunk BIG_464_60_norm(BIG_464_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:976</div></div>
-<div class="ttc" id="big__464__60_8h_html_ae271ee94b6994c9e512119f2478833cf"><div class="ttname"><a href="big__464__60_8h.html#ae271ee94b6994c9e512119f2478833cf">BIG_464_60_dshl</a></div><div class="ttdeci">void BIG_464_60_dshl(DBIG_464_60 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_464_60.c:846</div></div>
-<div class="ttc" id="big__464__60_8h_html_a755e94a6a30f092c03ce6984928ca965"><div class="ttname"><a href="big__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965">BIG_464_60_invmod2m</a></div><div class="ttdeci">void BIG_464_60_invmod2m(BIG_464_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__464__60_8h_html_acf7983a9549c1790a2bb7eb657cfa14d"><div class="ttname"><a href="big__464__60_8h.html#acf7983a9549c1790a2bb7eb657cfa14d">BIG_464_60_mod</a></div><div class="ttdeci">void BIG_464_60_mod(BIG_464_60 x, BIG_464_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1082</div></div>
+<div class="ttc" id="big__464__60_8h_html_a8b1eb35189d309774f2b4e7e26d2d62b"><div class="ttname"><a href="big__464__60_8h.html#a8b1eb35189d309774f2b4e7e26d2d62b">BIG_464_60_add</a></div><div class="ttdeci">void BIG_464_60_add(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:356</div></div>
+<div class="ttc" id="big__464__60_8h_html_a1af2841b75938aab82db4b29ca2cf4e1"><div class="ttname"><a href="big__464__60_8h.html#a1af2841b75938aab82db4b29ca2cf4e1">BIG_464_60_parity</a></div><div class="ttdeci">int BIG_464_60_parity(BIG_464_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1225</div></div>
+<div class="ttc" id="big__464__60_8h_html_ab82b83d8c799bb0e5e941ce3fe4fd2a0"><div class="ttname"><a href="big__464__60_8h.html#ab82b83d8c799bb0e5e941ce3fe4fd2a0">BIG_464_60_sdcopy</a></div><div class="ttdeci">void BIG_464_60_sdcopy(BIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:294</div></div>
+<div class="ttc" id="big__464__60_8h_html_ada5fae12664af293202e0736447fdfdf"><div class="ttname"><a href="big__464__60_8h.html#ada5fae12664af293202e0736447fdfdf">BIG_464_60_norm</a></div><div class="ttdeci">chunk BIG_464_60_norm(BIG_464_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:976</div></div>
+<div class="ttc" id="big__464__60_8h_html_ae271ee94b6994c9e512119f2478833cf"><div class="ttname"><a href="big__464__60_8h.html#ae271ee94b6994c9e512119f2478833cf">BIG_464_60_dshl</a></div><div class="ttdeci">void BIG_464_60_dshl(DBIG_464_60 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_464_60.c:846</div></div>
+<div class="ttc" id="big__464__60_8h_html_a755e94a6a30f092c03ce6984928ca965"><div class="ttname"><a href="big__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965">BIG_464_60_invmod2m</a></div><div class="ttdeci">void BIG_464_60_invmod2m(BIG_464_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1432</div></div>
+<div class="ttc" id="big__464__60_8h_html_acf7983a9549c1790a2bb7eb657cfa14d"><div class="ttname"><a href="big__464__60_8h.html#acf7983a9549c1790a2bb7eb657cfa14d">BIG_464_60_mod</a></div><div class="ttdeci">void BIG_464_60_mod(BIG_464_60 x, BIG_464_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1082</div></div>
 <div class="ttc" id="big__464__60_8h_html_a98df3c877ebc5865678c4c49e54cf01d"><div class="ttname"><a href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">NLEN_464_60</a></div><div class="ttdeci">#define NLEN_464_60</div><div class="ttdef"><b>Definition:</b> big_464_60.h:40</div></div>
-<div class="ttc" id="big__464__60_8h_html_a0aae6924a038d027fc2b3b5a6073f848"><div class="ttname"><a href="big__464__60_8h.html#a0aae6924a038d027fc2b3b5a6073f848">BIG_464_60_nbits</a></div><div class="ttdeci">int BIG_464_60_nbits(BIG_464_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1040</div></div>
-<div class="ttc" id="big__464__60_8h_html_a54b3833c8921320954abf780e8677be3"><div class="ttname"><a href="big__464__60_8h.html#a54b3833c8921320954abf780e8677be3">BIG_464_60_dnorm</a></div><div class="ttdeci">void BIG_464_60_dnorm(DBIG_464_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:995</div></div>
-<div class="ttc" id="big__464__60_8h_html_a8afa676b7c02e51b716fe343cde51eaa"><div class="ttname"><a href="big__464__60_8h.html#a8afa676b7c02e51b716fe343cde51eaa">BIG_464_60_dsucopy</a></div><div class="ttdeci">void BIG_464_60_dsucopy(DBIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:280</div></div>
-<div class="ttc" id="big__464__60_8h_html_a0bbadfcaa585a69c9386906d23f38b33"><div class="ttname"><a href="big__464__60_8h.html#a0bbadfcaa585a69c9386906d23f38b33">BIG_464_60_dcmove</a></div><div class="ttdeci">void BIG_464_60_dcmove(BIG_464_60 x, BIG_464_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__464__60_8h_html_aae00d03d332e7a109c307dc3f31355ef"><div class="ttname"><a href="big__464__60_8h.html#aae00d03d332e7a109c307dc3f31355ef">BIG_464_60_fromBytesLen</a></div><div class="ttdeci">void BIG_464_60_fromBytesLen(BIG_464_60 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_464_60.c:170</div></div>
-<div class="ttc" id="big__464__60_8h_html_af5b204a85955d88b028ad1219b3a7558"><div class="ttname"><a href="big__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558">BIG_464_60_zero</a></div><div class="ttdeci">void BIG_464_60_zero(BIG_464_60 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:319</div></div>
-<div class="ttc" id="big__464__60_8h_html_a109c3ebe3d6c5e0cc5599cf7a35dc2b7"><div class="ttname"><a href="big__464__60_8h.html#a109c3ebe3d6c5e0cc5599cf7a35dc2b7">BIG_464_60_output</a></div><div class="ttdeci">void BIG_464_60_output(BIG_464_60 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:55</div></div>
-<div class="ttc" id="big__464__60_8h_html_a4f99a95dd3f36d2ace61cc15087bdd22"><div class="ttname"><a href="big__464__60_8h.html#a4f99a95dd3f36d2ace61cc15087bdd22">BIG_464_60_cswap</a></div><div class="ttdeci">void BIG_464_60_cswap(BIG_464_60 x, BIG_464_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:92</div></div>
-<div class="ttc" id="big__464__60_8h_html_a64b1467a3b2428afcd4198e1709792ff"><div class="ttname"><a href="big__464__60_8h.html#a64b1467a3b2428afcd4198e1709792ff">BIG_464_60_iszilch</a></div><div class="ttdeci">int BIG_464_60_iszilch(BIG_464_60 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:26</div></div>
+<div class="ttc" id="big__464__60_8h_html_a0aae6924a038d027fc2b3b5a6073f848"><div class="ttname"><a href="big__464__60_8h.html#a0aae6924a038d027fc2b3b5a6073f848">BIG_464_60_nbits</a></div><div class="ttdeci">int BIG_464_60_nbits(BIG_464_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1040</div></div>
+<div class="ttc" id="big__464__60_8h_html_a54b3833c8921320954abf780e8677be3"><div class="ttname"><a href="big__464__60_8h.html#a54b3833c8921320954abf780e8677be3">BIG_464_60_dnorm</a></div><div class="ttdeci">void BIG_464_60_dnorm(DBIG_464_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:995</div></div>
+<div class="ttc" id="big__464__60_8h_html_a8afa676b7c02e51b716fe343cde51eaa"><div class="ttname"><a href="big__464__60_8h.html#a8afa676b7c02e51b716fe343cde51eaa">BIG_464_60_dsucopy</a></div><div class="ttdeci">void BIG_464_60_dsucopy(DBIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:280</div></div>
+<div class="ttc" id="big__464__60_8h_html_a0bbadfcaa585a69c9386906d23f38b33"><div class="ttname"><a href="big__464__60_8h.html#a0bbadfcaa585a69c9386906d23f38b33">BIG_464_60_dcmove</a></div><div class="ttdeci">void BIG_464_60_dcmove(BIG_464_60 x, BIG_464_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__464__60_8h_html_aae00d03d332e7a109c307dc3f31355ef"><div class="ttname"><a href="big__464__60_8h.html#aae00d03d332e7a109c307dc3f31355ef">BIG_464_60_fromBytesLen</a></div><div class="ttdeci">void BIG_464_60_fromBytesLen(BIG_464_60 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_464_60.c:170</div></div>
+<div class="ttc" id="big__464__60_8h_html_af5b204a85955d88b028ad1219b3a7558"><div class="ttname"><a href="big__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558">BIG_464_60_zero</a></div><div class="ttdeci">void BIG_464_60_zero(BIG_464_60 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:319</div></div>
+<div class="ttc" id="big__464__60_8h_html_a109c3ebe3d6c5e0cc5599cf7a35dc2b7"><div class="ttname"><a href="big__464__60_8h.html#a109c3ebe3d6c5e0cc5599cf7a35dc2b7">BIG_464_60_output</a></div><div class="ttdeci">void BIG_464_60_output(BIG_464_60 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:55</div></div>
+<div class="ttc" id="big__464__60_8h_html_a4f99a95dd3f36d2ace61cc15087bdd22"><div class="ttname"><a href="big__464__60_8h.html#a4f99a95dd3f36d2ace61cc15087bdd22">BIG_464_60_cswap</a></div><div class="ttdeci">void BIG_464_60_cswap(BIG_464_60 x, BIG_464_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:92</div></div>
+<div class="ttc" id="big__464__60_8h_html_a64b1467a3b2428afcd4198e1709792ff"><div class="ttname"><a href="big__464__60_8h.html#a64b1467a3b2428afcd4198e1709792ff">BIG_464_60_iszilch</a></div><div class="ttdeci">int BIG_464_60_iszilch(BIG_464_60 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:26</div></div>
 <div class="ttc" id="big__464__60_8h_html_a2ca49c76a85de717c08b58fc2eefad3c"><div class="ttname"><a href="big__464__60_8h.html#a2ca49c76a85de717c08b58fc2eefad3c">BIG_464_60_fshr</a></div><div class="ttdeci">int BIG_464_60_fshr(BIG_464_60 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_464_60.c:906</div></div>
-<div class="ttc" id="big__464__60_8h_html_aaed798108f482e20bfa994a954de064a"><div class="ttname"><a href="big__464__60_8h.html#aaed798108f482e20bfa994a954de064a">BIG_464_60_sdiv</a></div><div class="ttdeci">void BIG_464_60_sdiv(BIG_464_60 x, BIG_464_60 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1188</div></div>
-<div class="ttc" id="big__464__60_8h_html_aeb59a40376ec8e9ca4e4753433653e59"><div class="ttname"><a href="big__464__60_8h.html#aeb59a40376ec8e9ca4e4753433653e59">BIG_464_60_dcopy</a></div><div class="ttdeci">void BIG_464_60_dcopy(DBIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:251</div></div>
-<div class="ttc" id="big__464__60_8h_html_a9cb46059b8030392e2a212cadf0adc1e"><div class="ttname"><a href="big__464__60_8h.html#a9cb46059b8030392e2a212cadf0adc1e">BIG_464_60_or</a></div><div class="ttdeci">void BIG_464_60_or(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:371</div></div>
-<div class="ttc" id="big__464__60_8h_html_a5cb4cd3679fc2c6ac0ed29972b5f73ad"><div class="ttname"><a href="big__464__60_8h.html#a5cb4cd3679fc2c6ac0ed29972b5f73ad">BIG_464_60_random</a></div><div class="ttdeci">void BIG_464_60_random(BIG_464_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1248</div></div>
-<div class="ttc" id="big__464__60_8h_html_ad2400072e363b749f35b1ed0dd2b67a1"><div class="ttname"><a href="big__464__60_8h.html#ad2400072e363b749f35b1ed0dd2b67a1">BIG_464_60_diszilch</a></div><div class="ttdeci">int BIG_464_60_diszilch(DBIG_464_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:45</div></div>
-<div class="ttc" id="big__464__60_8h_html_a45d49395341fefdcf543448675cf9a61"><div class="ttname"><a href="big__464__60_8h.html#a45d49395341fefdcf543448675cf9a61">BIG_464_60_shr</a></div><div class="ttdeci">void BIG_464_60_shr(BIG_464_60 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_464_60.c:864</div></div>
-<div class="ttc" id="big__464__60_8h_html_acc6953fe6d7482b0432333081bec4600"><div class="ttname"><a href="big__464__60_8h.html#acc6953fe6d7482b0432333081bec4600">BIG_464_60_bit</a></div><div class="ttdeci">int BIG_464_60_bit(BIG_464_60 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1232</div></div>
-<div class="ttc" id="big__464__60_8h_html_a216926acdff7e7efa6b79953ba1cb462"><div class="ttname"><a href="big__464__60_8h.html#a216926acdff7e7efa6b79953ba1cb462">BIG_464_60_modneg</a></div><div class="ttdeci">void BIG_464_60_modneg(BIG_464_60 x, BIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1327</div></div>
+<div class="ttc" id="big__464__60_8h_html_aaed798108f482e20bfa994a954de064a"><div class="ttname"><a href="big__464__60_8h.html#aaed798108f482e20bfa994a954de064a">BIG_464_60_sdiv</a></div><div class="ttdeci">void BIG_464_60_sdiv(BIG_464_60 x, BIG_464_60 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1188</div></div>
+<div class="ttc" id="big__464__60_8h_html_aeb59a40376ec8e9ca4e4753433653e59"><div class="ttname"><a href="big__464__60_8h.html#aeb59a40376ec8e9ca4e4753433653e59">BIG_464_60_dcopy</a></div><div class="ttdeci">void BIG_464_60_dcopy(DBIG_464_60 x, DBIG_464_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:251</div></div>
+<div class="ttc" id="big__464__60_8h_html_a9cb46059b8030392e2a212cadf0adc1e"><div class="ttname"><a href="big__464__60_8h.html#a9cb46059b8030392e2a212cadf0adc1e">BIG_464_60_or</a></div><div class="ttdeci">void BIG_464_60_or(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:371</div></div>
+<div class="ttc" id="big__464__60_8h_html_a5cb4cd3679fc2c6ac0ed29972b5f73ad"><div class="ttname"><a href="big__464__60_8h.html#a5cb4cd3679fc2c6ac0ed29972b5f73ad">BIG_464_60_random</a></div><div class="ttdeci">void BIG_464_60_random(BIG_464_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1248</div></div>
+<div class="ttc" id="big__464__60_8h_html_ad2400072e363b749f35b1ed0dd2b67a1"><div class="ttname"><a href="big__464__60_8h.html#ad2400072e363b749f35b1ed0dd2b67a1">BIG_464_60_diszilch</a></div><div class="ttdeci">int BIG_464_60_diszilch(DBIG_464_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:45</div></div>
+<div class="ttc" id="big__464__60_8h_html_a45d49395341fefdcf543448675cf9a61"><div class="ttname"><a href="big__464__60_8h.html#a45d49395341fefdcf543448675cf9a61">BIG_464_60_shr</a></div><div class="ttdeci">void BIG_464_60_shr(BIG_464_60 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_464_60.c:864</div></div>
+<div class="ttc" id="big__464__60_8h_html_acc6953fe6d7482b0432333081bec4600"><div class="ttname"><a href="big__464__60_8h.html#acc6953fe6d7482b0432333081bec4600">BIG_464_60_bit</a></div><div class="ttdeci">int BIG_464_60_bit(BIG_464_60 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1232</div></div>
+<div class="ttc" id="big__464__60_8h_html_a216926acdff7e7efa6b79953ba1cb462"><div class="ttname"><a href="big__464__60_8h.html#a216926acdff7e7efa6b79953ba1cb462">BIG_464_60_modneg</a></div><div class="ttdeci">void BIG_464_60_modneg(BIG_464_60 x, BIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1327</div></div>
 <div class="ttc" id="big__464__60_8h_html_acac7c152e1f4a32f417120db3a820bf9"><div class="ttname"><a href="big__464__60_8h.html#acac7c152e1f4a32f417120db3a820bf9">BIG_464_60_fshl</a></div><div class="ttdeci">int BIG_464_60_fshl(BIG_464_60 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_464_60.c:832</div></div>
-<div class="ttc" id="big__464__60_8h_html_a76362cf0363938fde6e3c2c4df92b336"><div class="ttname"><a href="big__464__60_8h.html#a76362cf0363938fde6e3c2c4df92b336">BIG_464_60_randomnum</a></div><div class="ttdeci">void BIG_464_60_randomnum(BIG_464_60 x, BIG_464_60 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_464_60.c:1274</div></div>
-<div class="ttc" id="big__464__60_8h_html_a4576449859777f58064c4f8c545cf609"><div class="ttname"><a href="big__464__60_8h.html#a4576449859777f58064c4f8c545cf609">BIG_464_60_isunity</a></div><div class="ttdeci">int BIG_464_60_isunity(BIG_464_60 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:35</div></div>
-<div class="ttc" id="big__464__60_8h_html_a5e3c56b81d59f75e49c4ac1c112eda5c"><div class="ttname"><a href="big__464__60_8h.html#a5e3c56b81d59f75e49c4ac1c112eda5c">BIG_464_60_comp</a></div><div class="ttdeci">int BIG_464_60_comp(BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1014</div></div>
-<div class="ttc" id="big__464__60_8h_html_ac4d561b2c3fcce1abc59051389329dae"><div class="ttname"><a href="big__464__60_8h.html#ac4d561b2c3fcce1abc59051389329dae">BIG_464_60_inc</a></div><div class="ttdeci">void BIG_464_60_inc(BIG_464_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:386</div></div>
-<div class="ttc" id="big__464__60_8h_html_a05df37f3233dc610a2713f07ba1bd67b"><div class="ttname"><a href="big__464__60_8h.html#a05df37f3233dc610a2713f07ba1bd67b">BIG_464_60_rcopy</a></div><div class="ttdeci">void BIG_464_60_rcopy(BIG_464_60 x, const BIG_464_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:239</div></div>
-<div class="ttc" id="big__464__60_8h_html_add5957fbcd23b32129a7243d2026614f"><div class="ttname"><a href="big__464__60_8h.html#add5957fbcd23b32129a7243d2026614f">BIG_464_60_dadd</a></div><div class="ttdeci">void BIG_464_60_dadd(DBIG_464_60 x, DBIG_464_60 y, DBIG_464_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:426</div></div>
-<div class="ttc" id="big__464__60_8h_html_a575714085062d51cda179f84bde08932"><div class="ttname"><a href="big__464__60_8h.html#a575714085062d51cda179f84bde08932">BIG_464_60_ssn</a></div><div class="ttdeci">int BIG_464_60_ssn(BIG_464_60 r, BIG_464_60 a, BIG_464_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:877</div></div>
-<div class="ttc" id="big__464__60_8h_html_abf77bda3c29dff1f4b28572fd52f5045"><div class="ttname"><a href="big__464__60_8h.html#abf77bda3c29dff1f4b28572fd52f5045">BIG_464_60_sub</a></div><div class="ttdeci">void BIG_464_60_sub(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:397</div></div>
-<div class="ttc" id="big__464__60_8h_html_a7bbfb43b6a11a2245a24543261b3d3da"><div class="ttname"><a href="big__464__60_8h.html#a7bbfb43b6a11a2245a24543261b3d3da">BIG_464_60_doutput</a></div><div class="ttdeci">void BIG_464_60_doutput(DBIG_464_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:190</div></div>
+<div class="ttc" id="big__464__60_8h_html_a76362cf0363938fde6e3c2c4df92b336"><div class="ttname"><a href="big__464__60_8h.html#a76362cf0363938fde6e3c2c4df92b336">BIG_464_60_randomnum</a></div><div class="ttdeci">void BIG_464_60_randomnum(BIG_464_60 x, BIG_464_60 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_464_60.c:1274</div></div>
+<div class="ttc" id="big__464__60_8h_html_a4576449859777f58064c4f8c545cf609"><div class="ttname"><a href="big__464__60_8h.html#a4576449859777f58064c4f8c545cf609">BIG_464_60_isunity</a></div><div class="ttdeci">int BIG_464_60_isunity(BIG_464_60 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:35</div></div>
+<div class="ttc" id="big__464__60_8h_html_a5e3c56b81d59f75e49c4ac1c112eda5c"><div class="ttname"><a href="big__464__60_8h.html#a5e3c56b81d59f75e49c4ac1c112eda5c">BIG_464_60_comp</a></div><div class="ttdeci">int BIG_464_60_comp(BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1014</div></div>
+<div class="ttc" id="big__464__60_8h_html_ac4d561b2c3fcce1abc59051389329dae"><div class="ttname"><a href="big__464__60_8h.html#ac4d561b2c3fcce1abc59051389329dae">BIG_464_60_inc</a></div><div class="ttdeci">void BIG_464_60_inc(BIG_464_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:386</div></div>
+<div class="ttc" id="big__464__60_8h_html_a05df37f3233dc610a2713f07ba1bd67b"><div class="ttname"><a href="big__464__60_8h.html#a05df37f3233dc610a2713f07ba1bd67b">BIG_464_60_rcopy</a></div><div class="ttdeci">void BIG_464_60_rcopy(BIG_464_60 x, const BIG_464_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:239</div></div>
+<div class="ttc" id="big__464__60_8h_html_add5957fbcd23b32129a7243d2026614f"><div class="ttname"><a href="big__464__60_8h.html#add5957fbcd23b32129a7243d2026614f">BIG_464_60_dadd</a></div><div class="ttdeci">void BIG_464_60_dadd(DBIG_464_60 x, DBIG_464_60 y, DBIG_464_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:426</div></div>
+<div class="ttc" id="big__464__60_8h_html_a575714085062d51cda179f84bde08932"><div class="ttname"><a href="big__464__60_8h.html#a575714085062d51cda179f84bde08932">BIG_464_60_ssn</a></div><div class="ttdeci">int BIG_464_60_ssn(BIG_464_60 r, BIG_464_60 a, BIG_464_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:877</div></div>
+<div class="ttc" id="big__464__60_8h_html_abf77bda3c29dff1f4b28572fd52f5045"><div class="ttname"><a href="big__464__60_8h.html#abf77bda3c29dff1f4b28572fd52f5045">BIG_464_60_sub</a></div><div class="ttdeci">void BIG_464_60_sub(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:397</div></div>
+<div class="ttc" id="big__464__60_8h_html_a7bbfb43b6a11a2245a24543261b3d3da"><div class="ttname"><a href="big__464__60_8h.html#a7bbfb43b6a11a2245a24543261b3d3da">BIG_464_60_doutput</a></div><div class="ttdeci">void BIG_464_60_doutput(DBIG_464_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:190</div></div>
 <div class="ttc" id="big__464__60_8h_html_ac64098779d0c7eaba21a0028bec951e0"><div class="ttname"><a href="big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">BMASK_464_60</a></div><div class="ttdeci">#define BMASK_464_60</div><div class="ttdef"><b>Definition:</b> big_464_60.h:42</div></div>
-<div class="ttc" id="big__464__60_8h_html_add139401f2c48ba6506bd83c45892103"><div class="ttname"><a href="big__464__60_8h.html#add139401f2c48ba6506bd83c45892103">BIG_464_60_dmod2m</a></div><div class="ttdeci">void BIG_464_60_dmod2m(DBIG_464_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1470</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__464__60_8h_html_a0ed58b140af16cf6275611acb81c893e"><div class="ttname"><a href="big__464__60_8h.html#a0ed58b140af16cf6275611acb81c893e">BIG_464_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_464_60_dfromBytesLen(DBIG_464_60 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_464_60.c:1485</div></div>
-<div class="ttc" id="big__464__60_8h_html_acdb93e93dda9724b989f2d8c0330538b"><div class="ttname"><a href="big__464__60_8h.html#acdb93e93dda9724b989f2d8c0330538b">BIG_464_60_modmul</a></div><div class="ttdeci">void BIG_464_60_modmul(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z, BIG_464_60 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1300</div></div>
-<div class="ttc" id="big__464__60_8h_html_a9992a40914b39d3e37e8623dab2bcfa0"><div class="ttname"><a href="big__464__60_8h.html#a9992a40914b39d3e37e8623dab2bcfa0">BIG_464_60_div3</a></div><div class="ttdeci">int BIG_464_60_div3(BIG_464_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:484</div></div>
+<div class="ttc" id="big__464__60_8h_html_add139401f2c48ba6506bd83c45892103"><div class="ttname"><a href="big__464__60_8h.html#add139401f2c48ba6506bd83c45892103">BIG_464_60_dmod2m</a></div><div class="ttdeci">void BIG_464_60_dmod2m(DBIG_464_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1554</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__464__60_8h_html_a0ed58b140af16cf6275611acb81c893e"><div class="ttname"><a href="big__464__60_8h.html#a0ed58b140af16cf6275611acb81c893e">BIG_464_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_464_60_dfromBytesLen(DBIG_464_60 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_464_60.c:1569</div></div>
+<div class="ttc" id="big__464__60_8h_html_acdb93e93dda9724b989f2d8c0330538b"><div class="ttname"><a href="big__464__60_8h.html#acdb93e93dda9724b989f2d8c0330538b">BIG_464_60_modmul</a></div><div class="ttdeci">void BIG_464_60_modmul(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z, BIG_464_60 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1300</div></div>
+<div class="ttc" id="big__464__60_8h_html_a9992a40914b39d3e37e8623dab2bcfa0"><div class="ttname"><a href="big__464__60_8h.html#a9992a40914b39d3e37e8623dab2bcfa0">BIG_464_60_div3</a></div><div class="ttdeci">int BIG_464_60_div3(BIG_464_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:484</div></div>
 <div class="ttc" id="big__464__60_8h_html_a481adc539e2fcd4ef328bc0a4d3a4b74"><div class="ttname"><a href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a></div><div class="ttdeci">chunk DBIG_464_60[DNLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:59</div></div>
-<div class="ttc" id="big__464__60_8h_html_a0ad6b06673ed5711f7e8d6758a25b712"><div class="ttname"><a href="big__464__60_8h.html#a0ad6b06673ed5711f7e8d6758a25b712">BIG_464_60_one</a></div><div class="ttdeci">void BIG_464_60_one(BIG_464_60 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_464_60.c:340</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__464__60_8h_html_aa311d63ae3f115b61a543c2c5b0270f4"><div class="ttname"><a href="big__464__60_8h.html#aa311d63ae3f115b61a543c2c5b0270f4">BIG_464_60_drawoutput</a></div><div class="ttdeci">void BIG_464_60_drawoutput(DBIG_464_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:212</div></div>
+<div class="ttc" id="big__464__60_8h_html_a0ad6b06673ed5711f7e8d6758a25b712"><div class="ttname"><a href="big__464__60_8h.html#a0ad6b06673ed5711f7e8d6758a25b712">BIG_464_60_one</a></div><div class="ttdeci">void BIG_464_60_one(BIG_464_60 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_464_60.c:340</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__464__60_8h_html_aa311d63ae3f115b61a543c2c5b0270f4"><div class="ttname"><a href="big__464__60_8h.html#aa311d63ae3f115b61a543c2c5b0270f4">BIG_464_60_drawoutput</a></div><div class="ttdeci">void BIG_464_60_drawoutput(DBIG_464_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:212</div></div>
 <div class="ttc" id="big__464__60_8h_html_a984fa211b076a15c8380f3c6bd3ed7a5"><div class="ttname"><a href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">HBITS_464_60</a></div><div class="ttdeci">#define HBITS_464_60</div><div class="ttdef"><b>Definition:</b> big_464_60.h:45</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="config__big__464__60_8h_html"><div class="ttname"><a href="config__big__464__60_8h.html">config_big_464_60.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__464__60_8h_html_a811af60608bd1916cdba0bf784f1e1a7"><div class="ttname"><a href="big__464__60_8h.html#a811af60608bd1916cdba0bf784f1e1a7">BIG_464_60_dec</a></div><div class="ttdeci">void BIG_464_60_dec(BIG_464_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:440</div></div>
-<div class="ttc" id="big__464__60_8h_html_acbd6b8c941e7e97242d3a347f5b66e73"><div class="ttname"><a href="big__464__60_8h.html#acbd6b8c941e7e97242d3a347f5b66e73">BIG_464_60_dzero</a></div><div class="ttdeci">void BIG_464_60_dzero(DBIG_464_60 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:329</div></div>
-<div class="ttc" id="big__464__60_8h_html_a9c9bab5337690b279e8a037ef9b6fc82"><div class="ttname"><a href="big__464__60_8h.html#a9c9bab5337690b279e8a037ef9b6fc82">BIG_464_60_split</a></div><div class="ttdeci">chunk BIG_464_60_split(BIG_464_60 x, BIG_464_60 y, DBIG_464_60 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_464_60.c:932</div></div>
-<div class="ttc" id="big__464__60_8h_html_a2de7b8070b448bc1fa08274a51b6bc5c"><div class="ttname"><a href="big__464__60_8h.html#a2de7b8070b448bc1fa08274a51b6bc5c">BIG_464_60_dsub</a></div><div class="ttdeci">void BIG_464_60_dsub(DBIG_464_60 x, DBIG_464_60 y, DBIG_464_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:413</div></div>
-<div class="ttc" id="big__464__60_8h_html_a9077f9f2b4ff49db440c303d4f206fc4"><div class="ttname"><a href="big__464__60_8h.html#a9077f9f2b4ff49db440c303d4f206fc4">BIG_464_60_moddiv</a></div><div class="ttdeci">void BIG_464_60_moddiv(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z, BIG_464_60 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1337</div></div>
-<div class="ttc" id="big__464__60_8h_html_ae8579b3f5f79cecd3a26a41cd1d75f73"><div class="ttname"><a href="big__464__60_8h.html#ae8579b3f5f79cecd3a26a41cd1d75f73">BIG_464_60_dmod</a></div><div class="ttdeci">void BIG_464_60_dmod(BIG_464_60 x, DBIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_464_60.c:1113</div></div>
-<div class="ttc" id="big__464__60_8h_html_a0a7afe36def0b63b7ca5da13a9363240"><div class="ttname"><a href="big__464__60_8h.html#a0a7afe36def0b63b7ca5da13a9363240">BIG_464_60_smul</a></div><div class="ttdeci">void BIG_464_60_smul(BIG_464_60 x, BIG_464_60 y, BIG_464_60 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_464_60.c:518</div></div>
+<div class="ttc" id="config__big__464__60_8h_html"><div class="ttname"><a href="config__big__464__60_8h.html">config_big_464_60.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__464__60_8h_html_a811af60608bd1916cdba0bf784f1e1a7"><div class="ttname"><a href="big__464__60_8h.html#a811af60608bd1916cdba0bf784f1e1a7">BIG_464_60_dec</a></div><div class="ttdeci">void BIG_464_60_dec(BIG_464_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:440</div></div>
+<div class="ttc" id="big__464__60_8h_html_acbd6b8c941e7e97242d3a347f5b66e73"><div class="ttname"><a href="big__464__60_8h.html#acbd6b8c941e7e97242d3a347f5b66e73">BIG_464_60_dzero</a></div><div class="ttdeci">void BIG_464_60_dzero(DBIG_464_60 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:329</div></div>
+<div class="ttc" id="big__464__60_8h_html_a9c9bab5337690b279e8a037ef9b6fc82"><div class="ttname"><a href="big__464__60_8h.html#a9c9bab5337690b279e8a037ef9b6fc82">BIG_464_60_split</a></div><div class="ttdeci">chunk BIG_464_60_split(BIG_464_60 x, BIG_464_60 y, DBIG_464_60 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_464_60.c:932</div></div>
+<div class="ttc" id="big__464__60_8h_html_a2de7b8070b448bc1fa08274a51b6bc5c"><div class="ttname"><a href="big__464__60_8h.html#a2de7b8070b448bc1fa08274a51b6bc5c">BIG_464_60_dsub</a></div><div class="ttdeci">void BIG_464_60_dsub(DBIG_464_60 x, DBIG_464_60 y, DBIG_464_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:413</div></div>
+<div class="ttc" id="big__464__60_8h_html_a9077f9f2b4ff49db440c303d4f206fc4"><div class="ttname"><a href="big__464__60_8h.html#a9077f9f2b4ff49db440c303d4f206fc4">BIG_464_60_moddiv</a></div><div class="ttdeci">void BIG_464_60_moddiv(BIG_464_60 x, BIG_464_60 y, BIG_464_60 z, BIG_464_60 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1337</div></div>
+<div class="ttc" id="big__464__60_8h_html_ae8579b3f5f79cecd3a26a41cd1d75f73"><div class="ttname"><a href="big__464__60_8h.html#ae8579b3f5f79cecd3a26a41cd1d75f73">BIG_464_60_dmod</a></div><div class="ttdeci">void BIG_464_60_dmod(BIG_464_60 x, DBIG_464_60 y, BIG_464_60 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_464_60.c:1113</div></div>
+<div class="ttc" id="big__464__60_8h_html_a0a7afe36def0b63b7ca5da13a9363240"><div class="ttname"><a href="big__464__60_8h.html#a0a7afe36def0b63b7ca5da13a9363240">BIG_464_60_smul</a></div><div class="ttdeci">void BIG_464_60_smul(BIG_464_60 x, BIG_464_60 y, BIG_464_60 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_464_60.c:518</div></div>
 <div class="ttc" id="config__big__464__60_8h_html_ae5374aa4dec809acb96ce87548f2a903"><div class="ttname"><a href="config__big__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">BASEBITS_464_60</a></div><div class="ttdeci">#define BASEBITS_464_60</div><div class="ttdef"><b>Definition:</b> config_big_464_60.h:35</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__480__29_8h.html b/website/static/cdocs/big__480__29_8h.html
deleted file mode 100644
index d14cf16..0000000
--- a/website/static/cdocs/big__480__29_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_480_29.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_480_29.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__480__29_8h_source.html">config_big_480_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__480__29_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:a968e298d329bd9c537cae67bca92ec33"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a968e298d329bd9c537cae67bca92ec33">BIGBITS_480_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">MODBYTES_480_29</a>)</td></tr>
-<tr class="separator:a968e298d329bd9c537cae67bca92ec33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a60a422474d84e324db7f3a3a71e02696"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">MODBYTES_480_29</a>-1)/<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>))</td></tr>
-<tr class="separator:a60a422474d84e324db7f3a3a71e02696"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3ed5198048ee26c0d0e02ab203fc28b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">DNLEN_480_29</a>&#160;&#160;&#160;2*<a class="el" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a></td></tr>
-<tr class="separator:a3ed5198048ee26c0d0e02ab203fc28b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afdf7f3eee13abfed48f8584f32b4b8d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7">BMASK_480_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>)-1)</td></tr>
-<tr class="separator:afdf7f3eee13abfed48f8584f32b4b8d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab8ca0388c031f3baa2225a98dbb2cc0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#ab8ca0388c031f3baa2225a98dbb2cc0a">NEXCESS_480_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>-1))</td></tr>
-<tr class="separator:ab8ca0388c031f3baa2225a98dbb2cc0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a74df771083837786915320c16a8a2bd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>/2)</td></tr>
-<tr class="separator:a74df771083837786915320c16a8a2bd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a92e9b47dd1c2fb054a1e4749a2c8dbd6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">HMASK_480_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</a>)-1)</td></tr>
-<tr class="separator:a92e9b47dd1c2fb054a1e4749a2c8dbd6"><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:a1296c1f386f240926378918f5a06a4ff"><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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a>[<a class="el" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a>]</td></tr>
-<tr class="separator:a1296c1f386f240926378918f5a06a4ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3debe7b218575b1e6ffdc9a67c900410"><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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a>[<a class="el" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">DNLEN_480_29</a>]</td></tr>
-<tr class="separator:a3debe7b218575b1e6ffdc9a67c900410"><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:a8f4bd0c84cdc7c5dd9d7d355ece09592"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a8f4bd0c84cdc7c5dd9d7d355ece09592">BIG_480_29_iszilch</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a8f4bd0c84cdc7c5dd9d7d355ece09592"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a8f4bd0c84cdc7c5dd9d7d355ece09592">More...</a><br /></td></tr>
-<tr class="separator:a8f4bd0c84cdc7c5dd9d7d355ece09592"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2f7933413edaf36c148c4608cc39a73e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a2f7933413edaf36c148c4608cc39a73e">BIG_480_29_isunity</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a2f7933413edaf36c148c4608cc39a73e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#a2f7933413edaf36c148c4608cc39a73e">More...</a><br /></td></tr>
-<tr class="separator:a2f7933413edaf36c148c4608cc39a73e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6749c3bc67333990a3bd4c7f343bbfb2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a6749c3bc67333990a3bd4c7f343bbfb2">BIG_480_29_diszilch</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a6749c3bc67333990a3bd4c7f343bbfb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a6749c3bc67333990a3bd4c7f343bbfb2">More...</a><br /></td></tr>
-<tr class="separator:a6749c3bc67333990a3bd4c7f343bbfb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acf70eeae7372d5391d2c843af8b793da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#acf70eeae7372d5391d2c843af8b793da">BIG_480_29_output</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:acf70eeae7372d5391d2c843af8b793da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#acf70eeae7372d5391d2c843af8b793da">More...</a><br /></td></tr>
-<tr class="separator:acf70eeae7372d5391d2c843af8b793da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:addbfff9a15b9c7eb4edf59d029e6d007"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#addbfff9a15b9c7eb4edf59d029e6d007">BIG_480_29_rawoutput</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:addbfff9a15b9c7eb4edf59d029e6d007"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#addbfff9a15b9c7eb4edf59d029e6d007">More...</a><br /></td></tr>
-<tr class="separator:addbfff9a15b9c7eb4edf59d029e6d007"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a80cd574e62b21769aa661368ca0b73f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a80cd574e62b21769aa661368ca0b73f5">BIG_480_29_cswap</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, int s)</td></tr>
-<tr class="memdesc:a80cd574e62b21769aa661368ca0b73f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a80cd574e62b21769aa661368ca0b73f5">More...</a><br /></td></tr>
-<tr class="separator:a80cd574e62b21769aa661368ca0b73f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b8880a571de4b2dc5f3f3296d1b443a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a3b8880a571de4b2dc5f3f3296d1b443a">BIG_480_29_cmove</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, int s)</td></tr>
-<tr class="memdesc:a3b8880a571de4b2dc5f3f3296d1b443a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a3b8880a571de4b2dc5f3f3296d1b443a">More...</a><br /></td></tr>
-<tr class="separator:a3b8880a571de4b2dc5f3f3296d1b443a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afdad982a51c7a9efc7e80f6a7312acf4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#afdad982a51c7a9efc7e80f6a7312acf4">BIG_480_29_dcmove</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, int s)</td></tr>
-<tr class="memdesc:afdad982a51c7a9efc7e80f6a7312acf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#afdad982a51c7a9efc7e80f6a7312acf4">More...</a><br /></td></tr>
-<tr class="separator:afdad982a51c7a9efc7e80f6a7312acf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8e8969807b8d6127aae5bb893c885a63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a8e8969807b8d6127aae5bb893c885a63">BIG_480_29_toBytes</a> (char *a, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a8e8969807b8d6127aae5bb893c885a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a8e8969807b8d6127aae5bb893c885a63">More...</a><br /></td></tr>
-<tr class="separator:a8e8969807b8d6127aae5bb893c885a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a68105b21a1d78444e54f3ed017ae5e69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a68105b21a1d78444e54f3ed017ae5e69">BIG_480_29_fromBytes</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, char *a)</td></tr>
-<tr class="memdesc:a68105b21a1d78444e54f3ed017ae5e69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a68105b21a1d78444e54f3ed017ae5e69">More...</a><br /></td></tr>
-<tr class="separator:a68105b21a1d78444e54f3ed017ae5e69"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90eb904d4f1aae9b7872f6dee98ce14e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a90eb904d4f1aae9b7872f6dee98ce14e">BIG_480_29_fromBytesLen</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a90eb904d4f1aae9b7872f6dee98ce14e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#a90eb904d4f1aae9b7872f6dee98ce14e">More...</a><br /></td></tr>
-<tr class="separator:a90eb904d4f1aae9b7872f6dee98ce14e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a68f5a24d63b05fdd5fc4e98728f5e7d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a68f5a24d63b05fdd5fc4e98728f5e7d5">BIG_480_29_dfromBytesLen</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a68f5a24d63b05fdd5fc4e98728f5e7d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a68f5a24d63b05fdd5fc4e98728f5e7d5">More...</a><br /></td></tr>
-<tr class="separator:a68f5a24d63b05fdd5fc4e98728f5e7d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4ff4ce206cf12ab585ce89ae6d4ab5f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a4ff4ce206cf12ab585ce89ae6d4ab5f9">BIG_480_29_doutput</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a4ff4ce206cf12ab585ce89ae6d4ab5f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a4ff4ce206cf12ab585ce89ae6d4ab5f9">More...</a><br /></td></tr>
-<tr class="separator:a4ff4ce206cf12ab585ce89ae6d4ab5f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a68af6d9980e360137b36903b19196631"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a68af6d9980e360137b36903b19196631">BIG_480_29_drawoutput</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a68af6d9980e360137b36903b19196631"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a68af6d9980e360137b36903b19196631">More...</a><br /></td></tr>
-<tr class="separator:a68af6d9980e360137b36903b19196631"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61b7e3d5eb7d54a49623c77ca016336a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a61b7e3d5eb7d54a49623c77ca016336a">BIG_480_29_rcopy</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, const <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a61b7e3d5eb7d54a49623c77ca016336a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#a61b7e3d5eb7d54a49623c77ca016336a">More...</a><br /></td></tr>
-<tr class="separator:a61b7e3d5eb7d54a49623c77ca016336a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aca52a0845f993936d234186a8fc40cb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#aca52a0845f993936d234186a8fc40cb3">BIG_480_29_copy</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y)</td></tr>
-<tr class="memdesc:aca52a0845f993936d234186a8fc40cb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#aca52a0845f993936d234186a8fc40cb3">More...</a><br /></td></tr>
-<tr class="separator:aca52a0845f993936d234186a8fc40cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8bee9574f49bad11d9c25d67efe10ab1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a8bee9574f49bad11d9c25d67efe10ab1">BIG_480_29_dcopy</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a8bee9574f49bad11d9c25d67efe10ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a8bee9574f49bad11d9c25d67efe10ab1">More...</a><br /></td></tr>
-<tr class="separator:a8bee9574f49bad11d9c25d67efe10ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a59901c26ac1d1ea94412f88421881bca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a59901c26ac1d1ea94412f88421881bca">BIG_480_29_dsucopy</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a59901c26ac1d1ea94412f88421881bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#a59901c26ac1d1ea94412f88421881bca">More...</a><br /></td></tr>
-<tr class="separator:a59901c26ac1d1ea94412f88421881bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a40ccfa1143430d0878071677d1f1612f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a40ccfa1143430d0878071677d1f1612f">BIG_480_29_dscopy</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a40ccfa1143430d0878071677d1f1612f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#a40ccfa1143430d0878071677d1f1612f">More...</a><br /></td></tr>
-<tr class="separator:a40ccfa1143430d0878071677d1f1612f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a508559243824b28d807bfaf5744019da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a508559243824b28d807bfaf5744019da">BIG_480_29_sdcopy</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a508559243824b28d807bfaf5744019da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a508559243824b28d807bfaf5744019da">More...</a><br /></td></tr>
-<tr class="separator:a508559243824b28d807bfaf5744019da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a87492be96bc427dcdb744de1dedef099"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a87492be96bc427dcdb744de1dedef099">BIG_480_29_sducopy</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a87492be96bc427dcdb744de1dedef099"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a87492be96bc427dcdb744de1dedef099">More...</a><br /></td></tr>
-<tr class="separator:a87492be96bc427dcdb744de1dedef099"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acba1143334c4c98bca59526829bae47d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#acba1143334c4c98bca59526829bae47d">BIG_480_29_zero</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:acba1143334c4c98bca59526829bae47d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#acba1143334c4c98bca59526829bae47d">More...</a><br /></td></tr>
-<tr class="separator:acba1143334c4c98bca59526829bae47d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69a8d5e328daf4b8b89070d54ed1d1a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a69a8d5e328daf4b8b89070d54ed1d1a2">BIG_480_29_dzero</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a69a8d5e328daf4b8b89070d54ed1d1a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#a69a8d5e328daf4b8b89070d54ed1d1a2">More...</a><br /></td></tr>
-<tr class="separator:a69a8d5e328daf4b8b89070d54ed1d1a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e7fabef7d1c61ae4042af344141f42f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a2e7fabef7d1c61ae4042af344141f42f">BIG_480_29_one</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a2e7fabef7d1c61ae4042af344141f42f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#a2e7fabef7d1c61ae4042af344141f42f">More...</a><br /></td></tr>
-<tr class="separator:a2e7fabef7d1c61ae4042af344141f42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b3c5563be78cf18c6760c793bac949d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a6b3c5563be78cf18c6760c793bac949d">BIG_480_29_invmod2m</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a6b3c5563be78cf18c6760c793bac949d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a6b3c5563be78cf18c6760c793bac949d">More...</a><br /></td></tr>
-<tr class="separator:a6b3c5563be78cf18c6760c793bac949d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a379dbde52cda7fb49d4763c21e4ade1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a379dbde52cda7fb49d4763c21e4ade1f">BIG_480_29_add</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z)</td></tr>
-<tr class="memdesc:a379dbde52cda7fb49d4763c21e4ade1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a379dbde52cda7fb49d4763c21e4ade1f">More...</a><br /></td></tr>
-<tr class="separator:a379dbde52cda7fb49d4763c21e4ade1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acf692b4f12f87fc3557595c12ba197bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#acf692b4f12f87fc3557595c12ba197bd">BIG_480_29_or</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z)</td></tr>
-<tr class="memdesc:acf692b4f12f87fc3557595c12ba197bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#acf692b4f12f87fc3557595c12ba197bd">More...</a><br /></td></tr>
-<tr class="separator:acf692b4f12f87fc3557595c12ba197bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5a565020df281b4465e189c8d0633c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#ad5a565020df281b4465e189c8d0633c1">BIG_480_29_inc</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int i)</td></tr>
-<tr class="memdesc:ad5a565020df281b4465e189c8d0633c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#ad5a565020df281b4465e189c8d0633c1">More...</a><br /></td></tr>
-<tr class="separator:ad5a565020df281b4465e189c8d0633c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96788cbcbddfb54d28609d07876c90b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a96788cbcbddfb54d28609d07876c90b7">BIG_480_29_sub</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z)</td></tr>
-<tr class="memdesc:a96788cbcbddfb54d28609d07876c90b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a96788cbcbddfb54d28609d07876c90b7">More...</a><br /></td></tr>
-<tr class="separator:a96788cbcbddfb54d28609d07876c90b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afcd929b8b957a8c5d7b248baa4732a79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#afcd929b8b957a8c5d7b248baa4732a79">BIG_480_29_dec</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int i)</td></tr>
-<tr class="memdesc:afcd929b8b957a8c5d7b248baa4732a79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#afcd929b8b957a8c5d7b248baa4732a79">More...</a><br /></td></tr>
-<tr class="separator:afcd929b8b957a8c5d7b248baa4732a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace791cc8dec53e7d9c086cc9296603d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#ace791cc8dec53e7d9c086cc9296603d7">BIG_480_29_dadd</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> z)</td></tr>
-<tr class="memdesc:ace791cc8dec53e7d9c086cc9296603d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#ace791cc8dec53e7d9c086cc9296603d7">More...</a><br /></td></tr>
-<tr class="separator:ace791cc8dec53e7d9c086cc9296603d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a95c51dd1666b7f8084ecc20ee14f8fea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a95c51dd1666b7f8084ecc20ee14f8fea">BIG_480_29_dsub</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> z)</td></tr>
-<tr class="memdesc:a95c51dd1666b7f8084ecc20ee14f8fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a95c51dd1666b7f8084ecc20ee14f8fea">More...</a><br /></td></tr>
-<tr class="separator:a95c51dd1666b7f8084ecc20ee14f8fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2b9c63b8fe90e41045e6078d584e7726"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a2b9c63b8fe90e41045e6078d584e7726">BIG_480_29_imul</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, int i)</td></tr>
-<tr class="memdesc:a2b9c63b8fe90e41045e6078d584e7726"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a2b9c63b8fe90e41045e6078d584e7726">More...</a><br /></td></tr>
-<tr class="separator:a2b9c63b8fe90e41045e6078d584e7726"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f9e6a79551b466c4cfa0181754b5ec0"><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__480__29_8h.html#a4f9e6a79551b466c4cfa0181754b5ec0">BIG_480_29_pmul</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, int i)</td></tr>
-<tr class="memdesc:a4f9e6a79551b466c4cfa0181754b5ec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a4f9e6a79551b466c4cfa0181754b5ec0">More...</a><br /></td></tr>
-<tr class="separator:a4f9e6a79551b466c4cfa0181754b5ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f8b2b2a556243a6f9a9bd7e95851c9e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a6f8b2b2a556243a6f9a9bd7e95851c9e">BIG_480_29_div3</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a6f8b2b2a556243a6f9a9bd7e95851c9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#a6f8b2b2a556243a6f9a9bd7e95851c9e">More...</a><br /></td></tr>
-<tr class="separator:a6f8b2b2a556243a6f9a9bd7e95851c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a48554072f9ef3a6252783ee43699a14c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a48554072f9ef3a6252783ee43699a14c">BIG_480_29_pxmul</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, int i)</td></tr>
-<tr class="memdesc:a48554072f9ef3a6252783ee43699a14c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a48554072f9ef3a6252783ee43699a14c">More...</a><br /></td></tr>
-<tr class="separator:a48554072f9ef3a6252783ee43699a14c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7a516f7c27d1f0e2c0843e9ef35a54e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a7a516f7c27d1f0e2c0843e9ef35a54e2">BIG_480_29_mul</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z)</td></tr>
-<tr class="memdesc:a7a516f7c27d1f0e2c0843e9ef35a54e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#a7a516f7c27d1f0e2c0843e9ef35a54e2">More...</a><br /></td></tr>
-<tr class="separator:a7a516f7c27d1f0e2c0843e9ef35a54e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a34882af2460305bf16480414780badb0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a34882af2460305bf16480414780badb0">BIG_480_29_smul</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z)</td></tr>
-<tr class="memdesc:a34882af2460305bf16480414780badb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#a34882af2460305bf16480414780badb0">More...</a><br /></td></tr>
-<tr class="separator:a34882af2460305bf16480414780badb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a71551882d4df9b786fcaca3b9e126e7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a71551882d4df9b786fcaca3b9e126e7d">BIG_480_29_sqr</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a71551882d4df9b786fcaca3b9e126e7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a71551882d4df9b786fcaca3b9e126e7d">More...</a><br /></td></tr>
-<tr class="separator:a71551882d4df9b786fcaca3b9e126e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa8b4145014c6f41aff5eeafa855d3d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#aaa8b4145014c6f41aff5eeafa855d3d6">BIG_480_29_monty</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> a, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> d)</td></tr>
-<tr class="memdesc:aaa8b4145014c6f41aff5eeafa855d3d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#aaa8b4145014c6f41aff5eeafa855d3d6">More...</a><br /></td></tr>
-<tr class="separator:aaa8b4145014c6f41aff5eeafa855d3d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afe4ed6cab228d079ca7750bab1ed1bcd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#afe4ed6cab228d079ca7750bab1ed1bcd">BIG_480_29_shl</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int s)</td></tr>
-<tr class="memdesc:afe4ed6cab228d079ca7750bab1ed1bcd"><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="#afe4ed6cab228d079ca7750bab1ed1bcd">More...</a><br /></td></tr>
-<tr class="separator:afe4ed6cab228d079ca7750bab1ed1bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a242edeb3a03d4decf1e3fa49aab994b7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a242edeb3a03d4decf1e3fa49aab994b7">BIG_480_29_fshl</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int s)</td></tr>
-<tr class="memdesc:a242edeb3a03d4decf1e3fa49aab994b7"><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="#a242edeb3a03d4decf1e3fa49aab994b7">More...</a><br /></td></tr>
-<tr class="separator:a242edeb3a03d4decf1e3fa49aab994b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5411cdc1ebac6da62d33cd7d2b22fafd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a5411cdc1ebac6da62d33cd7d2b22fafd">BIG_480_29_dshl</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, int s)</td></tr>
-<tr class="memdesc:a5411cdc1ebac6da62d33cd7d2b22fafd"><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="#a5411cdc1ebac6da62d33cd7d2b22fafd">More...</a><br /></td></tr>
-<tr class="separator:a5411cdc1ebac6da62d33cd7d2b22fafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a23f804ba0312cfeb293f06d357d6cf35"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a23f804ba0312cfeb293f06d357d6cf35">BIG_480_29_shr</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int s)</td></tr>
-<tr class="memdesc:a23f804ba0312cfeb293f06d357d6cf35"><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="#a23f804ba0312cfeb293f06d357d6cf35">More...</a><br /></td></tr>
-<tr class="separator:a23f804ba0312cfeb293f06d357d6cf35"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a59484329e57c3e9adcda23d371146a97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a59484329e57c3e9adcda23d371146a97">BIG_480_29_ssn</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> r, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> a, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> m)</td></tr>
-<tr class="memdesc:a59484329e57c3e9adcda23d371146a97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a59484329e57c3e9adcda23d371146a97">More...</a><br /></td></tr>
-<tr class="separator:a59484329e57c3e9adcda23d371146a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a14e4ac8673cf47c1b10f318d3f4175a7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a14e4ac8673cf47c1b10f318d3f4175a7">BIG_480_29_fshr</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int s)</td></tr>
-<tr class="memdesc:a14e4ac8673cf47c1b10f318d3f4175a7"><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="#a14e4ac8673cf47c1b10f318d3f4175a7">More...</a><br /></td></tr>
-<tr class="separator:a14e4ac8673cf47c1b10f318d3f4175a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a258b8c20ce57bce8b1b6981b77282c3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a258b8c20ce57bce8b1b6981b77282c3a">BIG_480_29_dshr</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, int s)</td></tr>
-<tr class="memdesc:a258b8c20ce57bce8b1b6981b77282c3a"><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="#a258b8c20ce57bce8b1b6981b77282c3a">More...</a><br /></td></tr>
-<tr class="separator:a258b8c20ce57bce8b1b6981b77282c3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a81c129c3ed195c0f71759176b101a9ae"><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__480__29_8h.html#a81c129c3ed195c0f71759176b101a9ae">BIG_480_29_split</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> z, int s)</td></tr>
-<tr class="memdesc:a81c129c3ed195c0f71759176b101a9ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a81c129c3ed195c0f71759176b101a9ae">More...</a><br /></td></tr>
-<tr class="separator:a81c129c3ed195c0f71759176b101a9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa7e71c50d2c580d5af8e2f8b9575b416"><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__480__29_8h.html#aa7e71c50d2c580d5af8e2f8b9575b416">BIG_480_29_norm</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:aa7e71c50d2c580d5af8e2f8b9575b416"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#aa7e71c50d2c580d5af8e2f8b9575b416">More...</a><br /></td></tr>
-<tr class="separator:aa7e71c50d2c580d5af8e2f8b9575b416"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a50c682e6e693965f09a20b6512cd2ab8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a50c682e6e693965f09a20b6512cd2ab8">BIG_480_29_dnorm</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a50c682e6e693965f09a20b6512cd2ab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#a50c682e6e693965f09a20b6512cd2ab8">More...</a><br /></td></tr>
-<tr class="separator:a50c682e6e693965f09a20b6512cd2ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af500bb84fd6877cdf1cb3ee20cf53870"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#af500bb84fd6877cdf1cb3ee20cf53870">BIG_480_29_comp</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y)</td></tr>
-<tr class="memdesc:af500bb84fd6877cdf1cb3ee20cf53870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#af500bb84fd6877cdf1cb3ee20cf53870">More...</a><br /></td></tr>
-<tr class="separator:af500bb84fd6877cdf1cb3ee20cf53870"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3459a4e91efa951d86431ef97993d768"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a3459a4e91efa951d86431ef97993d768">BIG_480_29_dcomp</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a3459a4e91efa951d86431ef97993d768"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a3459a4e91efa951d86431ef97993d768">More...</a><br /></td></tr>
-<tr class="separator:a3459a4e91efa951d86431ef97993d768"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad7095568d9170f998ba8f123eeb57568"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#ad7095568d9170f998ba8f123eeb57568">BIG_480_29_nbits</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:ad7095568d9170f998ba8f123eeb57568"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#ad7095568d9170f998ba8f123eeb57568">More...</a><br /></td></tr>
-<tr class="separator:ad7095568d9170f998ba8f123eeb57568"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afd823aae330f07224a7f0891cec24cca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#afd823aae330f07224a7f0891cec24cca">BIG_480_29_dnbits</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x)</td></tr>
-<tr class="memdesc:afd823aae330f07224a7f0891cec24cca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#afd823aae330f07224a7f0891cec24cca">More...</a><br /></td></tr>
-<tr class="separator:afd823aae330f07224a7f0891cec24cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afb25b3b566346dfa4ab23a97f65eb98e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#afb25b3b566346dfa4ab23a97f65eb98e">BIG_480_29_mod</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:afb25b3b566346dfa4ab23a97f65eb98e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#afb25b3b566346dfa4ab23a97f65eb98e">More...</a><br /></td></tr>
-<tr class="separator:afb25b3b566346dfa4ab23a97f65eb98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a381ebe44f6a99233971636b17a85a402"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a381ebe44f6a99233971636b17a85a402">BIG_480_29_sdiv</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a381ebe44f6a99233971636b17a85a402"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#a381ebe44f6a99233971636b17a85a402">More...</a><br /></td></tr>
-<tr class="separator:a381ebe44f6a99233971636b17a85a402"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7475db0ed75a962d7880d078730ce627"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a7475db0ed75a962d7880d078730ce627">BIG_480_29_dmod</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a7475db0ed75a962d7880d078730ce627"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a7475db0ed75a962d7880d078730ce627">More...</a><br /></td></tr>
-<tr class="separator:a7475db0ed75a962d7880d078730ce627"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b89d3fe28ea03c276552f41da06fdde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a7b89d3fe28ea03c276552f41da06fdde">BIG_480_29_ddiv</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a7b89d3fe28ea03c276552f41da06fdde"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a7b89d3fe28ea03c276552f41da06fdde">More...</a><br /></td></tr>
-<tr class="separator:a7b89d3fe28ea03c276552f41da06fdde"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1f1f3335dacc43945f7c91dfb5b14336"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a1f1f3335dacc43945f7c91dfb5b14336">BIG_480_29_parity</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x)</td></tr>
-<tr class="memdesc:a1f1f3335dacc43945f7c91dfb5b14336"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a1f1f3335dacc43945f7c91dfb5b14336">More...</a><br /></td></tr>
-<tr class="separator:a1f1f3335dacc43945f7c91dfb5b14336"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ecd18fc05b954770738fcb645f39f0b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a7ecd18fc05b954770738fcb645f39f0b">BIG_480_29_bit</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int i)</td></tr>
-<tr class="memdesc:a7ecd18fc05b954770738fcb645f39f0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a7ecd18fc05b954770738fcb645f39f0b">More...</a><br /></td></tr>
-<tr class="separator:a7ecd18fc05b954770738fcb645f39f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a02aca3e0e40a469c2c8c566f326e42d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a02aca3e0e40a469c2c8c566f326e42d1">BIG_480_29_lastbits</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int n)</td></tr>
-<tr class="memdesc:a02aca3e0e40a469c2c8c566f326e42d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#a02aca3e0e40a469c2c8c566f326e42d1">More...</a><br /></td></tr>
-<tr class="separator:a02aca3e0e40a469c2c8c566f326e42d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae064909259a290fbe3f06e655931004d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#ae064909259a290fbe3f06e655931004d">BIG_480_29_random</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:ae064909259a290fbe3f06e655931004d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#ae064909259a290fbe3f06e655931004d">More...</a><br /></td></tr>
-<tr class="separator:ae064909259a290fbe3f06e655931004d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a08a96bc628609eea00244c012a9c71ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a08a96bc628609eea00244c012a9c71ca">BIG_480_29_randomnum</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a08a96bc628609eea00244c012a9c71ca"><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="#a08a96bc628609eea00244c012a9c71ca">More...</a><br /></td></tr>
-<tr class="separator:a08a96bc628609eea00244c012a9c71ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e195f2a08e5f39f98272904826e4458"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a6e195f2a08e5f39f98272904826e4458">BIG_480_29_modmul</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a6e195f2a08e5f39f98272904826e4458"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a6e195f2a08e5f39f98272904826e4458">More...</a><br /></td></tr>
-<tr class="separator:a6e195f2a08e5f39f98272904826e4458"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a31bc510fb76b54775949627bdccfbf17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a31bc510fb76b54775949627bdccfbf17">BIG_480_29_moddiv</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a31bc510fb76b54775949627bdccfbf17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a31bc510fb76b54775949627bdccfbf17">More...</a><br /></td></tr>
-<tr class="separator:a31bc510fb76b54775949627bdccfbf17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a15988e52f5c28d54576a5b3bf38c26e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a15988e52f5c28d54576a5b3bf38c26e2">BIG_480_29_modsqr</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a15988e52f5c28d54576a5b3bf38c26e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a15988e52f5c28d54576a5b3bf38c26e2">More...</a><br /></td></tr>
-<tr class="separator:a15988e52f5c28d54576a5b3bf38c26e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a30769ad6586c737640a240cf44fe3ccd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a30769ad6586c737640a240cf44fe3ccd">BIG_480_29_modneg</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a30769ad6586c737640a240cf44fe3ccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a30769ad6586c737640a240cf44fe3ccd">More...</a><br /></td></tr>
-<tr class="separator:a30769ad6586c737640a240cf44fe3ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1e1df4be0527735fd48824b878f4cafd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a1e1df4be0527735fd48824b878f4cafd">BIG_480_29_jacobi</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y)</td></tr>
-<tr class="memdesc:a1e1df4be0527735fd48824b878f4cafd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#a1e1df4be0527735fd48824b878f4cafd">More...</a><br /></td></tr>
-<tr class="separator:a1e1df4be0527735fd48824b878f4cafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90f031ccc185f63b7eab14fa70481dcb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a90f031ccc185f63b7eab14fa70481dcb">BIG_480_29_invmodp</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y, <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> n)</td></tr>
-<tr class="memdesc:a90f031ccc185f63b7eab14fa70481dcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a90f031ccc185f63b7eab14fa70481dcb">More...</a><br /></td></tr>
-<tr class="separator:a90f031ccc185f63b7eab14fa70481dcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad0c703ded1cea62ad1e7b304b820811a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#ad0c703ded1cea62ad1e7b304b820811a">BIG_480_29_mod2m</a> (<a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x, int m)</td></tr>
-<tr class="memdesc:ad0c703ded1cea62ad1e7b304b820811a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#ad0c703ded1cea62ad1e7b304b820811a">More...</a><br /></td></tr>
-<tr class="separator:ad0c703ded1cea62ad1e7b304b820811a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4741b70c40e4f0405ae22d40965bbed8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html#a4741b70c40e4f0405ae22d40965bbed8">BIG_480_29_dmod2m</a> (<a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x, int m)</td></tr>
-<tr class="memdesc:a4741b70c40e4f0405ae22d40965bbed8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a4741b70c40e4f0405ae22d40965bbed8">More...</a><br /></td></tr>
-<tr class="separator:a4741b70c40e4f0405ae22d40965bbed8"><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="a968e298d329bd9c537cae67bca92ec33"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a968e298d329bd9c537cae67bca92ec33">&#9670;&nbsp;</a></span>BIGBITS_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_480_29&#160;&#160;&#160;(8*<a class="el" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">MODBYTES_480_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="afdf7f3eee13abfed48f8584f32b4b8d7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afdf7f3eee13abfed48f8584f32b4b8d7">&#9670;&nbsp;</a></span>BMASK_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_480_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="a3ed5198048ee26c0d0e02ab203fc28b5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3ed5198048ee26c0d0e02ab203fc28b5">&#9670;&nbsp;</a></span>DNLEN_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_480_29&#160;&#160;&#160;2*<a class="el" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="a74df771083837786915320c16a8a2bd2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a74df771083837786915320c16a8a2bd2">&#9670;&nbsp;</a></span>HBITS_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_480_29&#160;&#160;&#160;(<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="a92e9b47dd1c2fb054a1e4749a2c8dbd6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a92e9b47dd1c2fb054a1e4749a2c8dbd6">&#9670;&nbsp;</a></span>HMASK_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_480_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="ab8ca0388c031f3baa2225a98dbb2cc0a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab8ca0388c031f3baa2225a98dbb2cc0a">&#9670;&nbsp;</a></span>NEXCESS_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_480_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</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="a60a422474d84e324db7f3a3a71e02696"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a60a422474d84e324db7f3a3a71e02696">&#9670;&nbsp;</a></span>NLEN_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_480_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">MODBYTES_480_29</a>-1)/<a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a1296c1f386f240926378918f5a06a4ff"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1296c1f386f240926378918f5a06a4ff">&#9670;&nbsp;</a></span>BIG_480_29</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_480_29[<a class="el" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a3debe7b218575b1e6ffdc9a67c900410"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3debe7b218575b1e6ffdc9a67c900410">&#9670;&nbsp;</a></span>DBIG_480_29</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_480_29[<a class="el" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">DNLEN_480_29</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="a379dbde52cda7fb49d4763c21e4ade1f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a379dbde52cda7fb49d4763c21e4ade1f">&#9670;&nbsp;</a></span>BIG_480_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a7ecd18fc05b954770738fcb645f39f0b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7ecd18fc05b954770738fcb645f39f0b">&#9670;&nbsp;</a></span>BIG_480_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a3b8880a571de4b2dc5f3f3296d1b443a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3b8880a571de4b2dc5f3f3296d1b443a">&#9670;&nbsp;</a></span>BIG_480_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="af500bb84fd6877cdf1cb3ee20cf53870"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af500bb84fd6877cdf1cb3ee20cf53870">&#9670;&nbsp;</a></span>BIG_480_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="aca52a0845f993936d234186a8fc40cb3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aca52a0845f993936d234186a8fc40cb3">&#9670;&nbsp;</a></span>BIG_480_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a80cd574e62b21769aa661368ca0b73f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a80cd574e62b21769aa661368ca0b73f5">&#9670;&nbsp;</a></span>BIG_480_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="ace791cc8dec53e7d9c086cc9296603d7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ace791cc8dec53e7d9c086cc9296603d7">&#9670;&nbsp;</a></span>BIG_480_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="afdad982a51c7a9efc7e80f6a7312acf4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afdad982a51c7a9efc7e80f6a7312acf4">&#9670;&nbsp;</a></span>BIG_480_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a3459a4e91efa951d86431ef97993d768"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3459a4e91efa951d86431ef97993d768">&#9670;&nbsp;</a></span>BIG_480_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a8bee9574f49bad11d9c25d67efe10ab1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8bee9574f49bad11d9c25d67efe10ab1">&#9670;&nbsp;</a></span>BIG_480_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a7b89d3fe28ea03c276552f41da06fdde"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7b89d3fe28ea03c276552f41da06fdde">&#9670;&nbsp;</a></span>BIG_480_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="afcd929b8b957a8c5d7b248baa4732a79"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afcd929b8b957a8c5d7b248baa4732a79">&#9670;&nbsp;</a></span>BIG_480_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a68f5a24d63b05fdd5fc4e98728f5e7d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a68f5a24d63b05fdd5fc4e98728f5e7d5">&#9670;&nbsp;</a></span>BIG_480_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a6749c3bc67333990a3bd4c7f343bbfb2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6749c3bc67333990a3bd4c7f343bbfb2">&#9670;&nbsp;</a></span>BIG_480_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a6f8b2b2a556243a6f9a9bd7e95851c9e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6f8b2b2a556243a6f9a9bd7e95851c9e">&#9670;&nbsp;</a></span>BIG_480_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a7475db0ed75a962d7880d078730ce627"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7475db0ed75a962d7880d078730ce627">&#9670;&nbsp;</a></span>BIG_480_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a4741b70c40e4f0405ae22d40965bbed8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4741b70c40e4f0405ae22d40965bbed8">&#9670;&nbsp;</a></span>BIG_480_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="afd823aae330f07224a7f0891cec24cca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afd823aae330f07224a7f0891cec24cca">&#9670;&nbsp;</a></span>BIG_480_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a50c682e6e693965f09a20b6512cd2ab8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a50c682e6e693965f09a20b6512cd2ab8">&#9670;&nbsp;</a></span>BIG_480_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a4ff4ce206cf12ab585ce89ae6d4ab5f9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4ff4ce206cf12ab585ce89ae6d4ab5f9">&#9670;&nbsp;</a></span>BIG_480_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a68af6d9980e360137b36903b19196631"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a68af6d9980e360137b36903b19196631">&#9670;&nbsp;</a></span>BIG_480_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a40ccfa1143430d0878071677d1f1612f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a40ccfa1143430d0878071677d1f1612f">&#9670;&nbsp;</a></span>BIG_480_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a5411cdc1ebac6da62d33cd7d2b22fafd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5411cdc1ebac6da62d33cd7d2b22fafd">&#9670;&nbsp;</a></span>BIG_480_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a258b8c20ce57bce8b1b6981b77282c3a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a258b8c20ce57bce8b1b6981b77282c3a">&#9670;&nbsp;</a></span>BIG_480_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a95c51dd1666b7f8084ecc20ee14f8fea"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a95c51dd1666b7f8084ecc20ee14f8fea">&#9670;&nbsp;</a></span>BIG_480_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a59901c26ac1d1ea94412f88421881bca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59901c26ac1d1ea94412f88421881bca">&#9670;&nbsp;</a></span>BIG_480_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a69a8d5e328daf4b8b89070d54ed1d1a2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a69a8d5e328daf4b8b89070d54ed1d1a2">&#9670;&nbsp;</a></span>BIG_480_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a68105b21a1d78444e54f3ed017ae5e69"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a68105b21a1d78444e54f3ed017ae5e69">&#9670;&nbsp;</a></span>BIG_480_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a90eb904d4f1aae9b7872f6dee98ce14e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a90eb904d4f1aae9b7872f6dee98ce14e">&#9670;&nbsp;</a></span>BIG_480_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a242edeb3a03d4decf1e3fa49aab994b7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a242edeb3a03d4decf1e3fa49aab994b7">&#9670;&nbsp;</a></span>BIG_480_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a14e4ac8673cf47c1b10f318d3f4175a7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a14e4ac8673cf47c1b10f318d3f4175a7">&#9670;&nbsp;</a></span>BIG_480_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a2b9c63b8fe90e41045e6078d584e7726"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2b9c63b8fe90e41045e6078d584e7726">&#9670;&nbsp;</a></span>BIG_480_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="ad5a565020df281b4465e189c8d0633c1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad5a565020df281b4465e189c8d0633c1">&#9670;&nbsp;</a></span>BIG_480_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a6b3c5563be78cf18c6760c793bac949d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6b3c5563be78cf18c6760c793bac949d">&#9670;&nbsp;</a></span>BIG_480_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a90f031ccc185f63b7eab14fa70481dcb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a90f031ccc185f63b7eab14fa70481dcb">&#9670;&nbsp;</a></span>BIG_480_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a2f7933413edaf36c148c4608cc39a73e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2f7933413edaf36c148c4608cc39a73e">&#9670;&nbsp;</a></span>BIG_480_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a8f4bd0c84cdc7c5dd9d7d355ece09592"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8f4bd0c84cdc7c5dd9d7d355ece09592">&#9670;&nbsp;</a></span>BIG_480_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a1e1df4be0527735fd48824b878f4cafd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1e1df4be0527735fd48824b878f4cafd">&#9670;&nbsp;</a></span>BIG_480_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a02aca3e0e40a469c2c8c566f326e42d1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a02aca3e0e40a469c2c8c566f326e42d1">&#9670;&nbsp;</a></span>BIG_480_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="afb25b3b566346dfa4ab23a97f65eb98e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afb25b3b566346dfa4ab23a97f65eb98e">&#9670;&nbsp;</a></span>BIG_480_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="ad0c703ded1cea62ad1e7b304b820811a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad0c703ded1cea62ad1e7b304b820811a">&#9670;&nbsp;</a></span>BIG_480_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a31bc510fb76b54775949627bdccfbf17"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a31bc510fb76b54775949627bdccfbf17">&#9670;&nbsp;</a></span>BIG_480_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a6e195f2a08e5f39f98272904826e4458"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6e195f2a08e5f39f98272904826e4458">&#9670;&nbsp;</a></span>BIG_480_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a30769ad6586c737640a240cf44fe3ccd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a30769ad6586c737640a240cf44fe3ccd">&#9670;&nbsp;</a></span>BIG_480_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a15988e52f5c28d54576a5b3bf38c26e2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a15988e52f5c28d54576a5b3bf38c26e2">&#9670;&nbsp;</a></span>BIG_480_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="aaa8b4145014c6f41aff5eeafa855d3d6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaa8b4145014c6f41aff5eeafa855d3d6">&#9670;&nbsp;</a></span>BIG_480_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a7a516f7c27d1f0e2c0843e9ef35a54e2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a516f7c27d1f0e2c0843e9ef35a54e2">&#9670;&nbsp;</a></span>BIG_480_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="ad7095568d9170f998ba8f123eeb57568"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad7095568d9170f998ba8f123eeb57568">&#9670;&nbsp;</a></span>BIG_480_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="aa7e71c50d2c580d5af8e2f8b9575b416"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa7e71c50d2c580d5af8e2f8b9575b416">&#9670;&nbsp;</a></span>BIG_480_29_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_480_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a2e7fabef7d1c61ae4042af344141f42f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2e7fabef7d1c61ae4042af344141f42f">&#9670;&nbsp;</a></span>BIG_480_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="acf692b4f12f87fc3557595c12ba197bd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acf692b4f12f87fc3557595c12ba197bd">&#9670;&nbsp;</a></span>BIG_480_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="acf70eeae7372d5391d2c843af8b793da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acf70eeae7372d5391d2c843af8b793da">&#9670;&nbsp;</a></span>BIG_480_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a1f1f3335dacc43945f7c91dfb5b14336"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1f1f3335dacc43945f7c91dfb5b14336">&#9670;&nbsp;</a></span>BIG_480_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a4f9e6a79551b466c4cfa0181754b5ec0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4f9e6a79551b466c4cfa0181754b5ec0">&#9670;&nbsp;</a></span>BIG_480_29_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_480_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a48554072f9ef3a6252783ee43699a14c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a48554072f9ef3a6252783ee43699a14c">&#9670;&nbsp;</a></span>BIG_480_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="ae064909259a290fbe3f06e655931004d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae064909259a290fbe3f06e655931004d">&#9670;&nbsp;</a></span>BIG_480_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a08a96bc628609eea00244c012a9c71ca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a08a96bc628609eea00244c012a9c71ca">&#9670;&nbsp;</a></span>BIG_480_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="addbfff9a15b9c7eb4edf59d029e6d007"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#addbfff9a15b9c7eb4edf59d029e6d007">&#9670;&nbsp;</a></span>BIG_480_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a61b7e3d5eb7d54a49623c77ca016336a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a61b7e3d5eb7d54a49623c77ca016336a">&#9670;&nbsp;</a></span>BIG_480_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a508559243824b28d807bfaf5744019da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a508559243824b28d807bfaf5744019da">&#9670;&nbsp;</a></span>BIG_480_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a381ebe44f6a99233971636b17a85a402"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a381ebe44f6a99233971636b17a85a402">&#9670;&nbsp;</a></span>BIG_480_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a87492be96bc427dcdb744de1dedef099"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a87492be96bc427dcdb744de1dedef099">&#9670;&nbsp;</a></span>BIG_480_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="afe4ed6cab228d079ca7750bab1ed1bcd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afe4ed6cab228d079ca7750bab1ed1bcd">&#9670;&nbsp;</a></span>BIG_480_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a23f804ba0312cfeb293f06d357d6cf35"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a23f804ba0312cfeb293f06d357d6cf35">&#9670;&nbsp;</a></span>BIG_480_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a34882af2460305bf16480414780badb0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a34882af2460305bf16480414780badb0">&#9670;&nbsp;</a></span>BIG_480_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a81c129c3ed195c0f71759176b101a9ae"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a81c129c3ed195c0f71759176b101a9ae">&#9670;&nbsp;</a></span>BIG_480_29_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_480_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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="a71551882d4df9b786fcaca3b9e126e7d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a71551882d4df9b786fcaca3b9e126e7d">&#9670;&nbsp;</a></span>BIG_480_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a59484329e57c3e9adcda23d371146a97"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a59484329e57c3e9adcda23d371146a97">&#9670;&nbsp;</a></span>BIG_480_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_480_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a96788cbcbddfb54d28609d07876c90b7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a96788cbcbddfb54d28609d07876c90b7">&#9670;&nbsp;</a></span>BIG_480_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="a8e8969807b8d6127aae5bb893c885a63"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8e8969807b8d6127aae5bb893c885a63">&#9670;&nbsp;</a></span>BIG_480_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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="acba1143334c4c98bca59526829bae47d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acba1143334c4c98bca59526829bae47d">&#9670;&nbsp;</a></span>BIG_480_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_480_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h_source.html b/website/static/cdocs/big__480__29_8h_source.html
deleted file mode 100644
index 03fab3b..0000000
--- a/website/static/cdocs/big__480__29_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_480_29.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_480_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__480__29_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_480_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_480_29_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__480__29_8h.html">config_big_480_29.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__480__29_8h.html#a968e298d329bd9c537cae67bca92ec33">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_480_29 (8*MODBYTES_480_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">   40</a></span>&#160;<span class="preprocessor">#define NLEN_480_29 (1+((8*MODBYTES_480_29-1)/BASEBITS_480_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_480_29 2*NLEN_480_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7">   42</a></span>&#160;<span class="preprocessor">#define BMASK_480_29 (((chunk)1&lt;&lt;BASEBITS_480_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__480__29_8h.html#ab8ca0388c031f3baa2225a98dbb2cc0a">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_480_29 (1&lt;&lt;(CHUNK-BASEBITS_480_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">   45</a></span>&#160;<span class="preprocessor">#define HBITS_480_29 (BASEBITS_480_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">   46</a></span>&#160;<span class="preprocessor">#define HMASK_480_29 (((chunk)1&lt;&lt;HBITS_480_29)-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_480_29 NLEN_480_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_480_29 (NLEN_480_29+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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a>[<a class="code" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_480_29 DNLEN_480_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_480_29 (DNLEN_480_29+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__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a>[<a class="code" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">DNLEN_480_29</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__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a>[<a class="code" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a>[<a class="code" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">DNLEN_480_29</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__480__29_8h.html#a8f4bd0c84cdc7c5dd9d7d355ece09592">BIG_480_29_iszilch</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a2f7933413edaf36c148c4608cc39a73e">BIG_480_29_isunity</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a6749c3bc67333990a3bd4c7f343bbfb2">BIG_480_29_diszilch</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#acf70eeae7372d5391d2c843af8b793da">BIG_480_29_output</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#addbfff9a15b9c7eb4edf59d029e6d007">BIG_480_29_rawoutput</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a80cd574e62b21769aa661368ca0b73f5">BIG_480_29_cswap</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3b8880a571de4b2dc5f3f3296d1b443a">BIG_480_29_cmove</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#afdad982a51c7a9efc7e80f6a7312acf4">BIG_480_29_dcmove</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a8e8969807b8d6127aae5bb893c885a63">BIG_480_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a68105b21a1d78444e54f3ed017ae5e69">BIG_480_29_fromBytes</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a90eb904d4f1aae9b7872f6dee98ce14e">BIG_480_29_fromBytesLen</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a68f5a24d63b05fdd5fc4e98728f5e7d5">BIG_480_29_dfromBytesLen</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a4ff4ce206cf12ab585ce89ae6d4ab5f9">BIG_480_29_doutput</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a68af6d9980e360137b36903b19196631">BIG_480_29_drawoutput</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a61b7e3d5eb7d54a49623c77ca016336a">BIG_480_29_rcopy</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<span class="keyword">const</span> <a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#aca52a0845f993936d234186a8fc40cb3">BIG_480_29_copy</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a8bee9574f49bad11d9c25d67efe10ab1">BIG_480_29_dcopy</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a59901c26ac1d1ea94412f88421881bca">BIG_480_29_dsucopy</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a40ccfa1143430d0878071677d1f1612f">BIG_480_29_dscopy</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a508559243824b28d807bfaf5744019da">BIG_480_29_sdcopy</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a87492be96bc427dcdb744de1dedef099">BIG_480_29_sducopy</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#acba1143334c4c98bca59526829bae47d">BIG_480_29_zero</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a69a8d5e328daf4b8b89070d54ed1d1a2">BIG_480_29_dzero</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a2e7fabef7d1c61ae4042af344141f42f">BIG_480_29_one</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a6b3c5563be78cf18c6760c793bac949d">BIG_480_29_invmod2m</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a379dbde52cda7fb49d4763c21e4ade1f">BIG_480_29_add</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#acf692b4f12f87fc3557595c12ba197bd">BIG_480_29_or</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#ad5a565020df281b4465e189c8d0633c1">BIG_480_29_inc</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a96788cbcbddfb54d28609d07876c90b7">BIG_480_29_sub</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#afcd929b8b957a8c5d7b248baa4732a79">BIG_480_29_dec</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#ace791cc8dec53e7d9c086cc9296603d7">BIG_480_29_dadd</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a95c51dd1666b7f8084ecc20ee14f8fea">BIG_480_29_dsub</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a2b9c63b8fe90e41045e6078d584e7726">BIG_480_29_imul</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a4f9e6a79551b466c4cfa0181754b5ec0">BIG_480_29_pmul</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a6f8b2b2a556243a6f9a9bd7e95851c9e">BIG_480_29_div3</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a48554072f9ef3a6252783ee43699a14c">BIG_480_29_pxmul</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a7a516f7c27d1f0e2c0843e9ef35a54e2">BIG_480_29_mul</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a34882af2460305bf16480414780badb0">BIG_480_29_smul</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a71551882d4df9b786fcaca3b9e126e7d">BIG_480_29_sqr</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#aaa8b4145014c6f41aff5eeafa855d3d6">BIG_480_29_monty</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> a,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#afe4ed6cab228d079ca7750bab1ed1bcd">BIG_480_29_shl</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a242edeb3a03d4decf1e3fa49aab994b7">BIG_480_29_fshl</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a5411cdc1ebac6da62d33cd7d2b22fafd">BIG_480_29_dshl</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a23f804ba0312cfeb293f06d357d6cf35">BIG_480_29_shr</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a59484329e57c3e9adcda23d371146a97">BIG_480_29_ssn</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> r,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> a, <a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a14e4ac8673cf47c1b10f318d3f4175a7">BIG_480_29_fshr</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a258b8c20ce57bce8b1b6981b77282c3a">BIG_480_29_dshr</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#a81c129c3ed195c0f71759176b101a9ae">BIG_480_29_split</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#aa7e71c50d2c580d5af8e2f8b9575b416">BIG_480_29_norm</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a50c682e6e693965f09a20b6512cd2ab8">BIG_480_29_dnorm</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#af500bb84fd6877cdf1cb3ee20cf53870">BIG_480_29_comp</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a3459a4e91efa951d86431ef97993d768">BIG_480_29_dcomp</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#ad7095568d9170f998ba8f123eeb57568">BIG_480_29_nbits</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#afd823aae330f07224a7f0891cec24cca">BIG_480_29_dnbits</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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__480__29_8h.html#afb25b3b566346dfa4ab23a97f65eb98e">BIG_480_29_mod</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a381ebe44f6a99233971636b17a85a402">BIG_480_29_sdiv</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a7475db0ed75a962d7880d078730ce627">BIG_480_29_dmod</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a7b89d3fe28ea03c276552f41da06fdde">BIG_480_29_ddiv</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1f1f3335dacc43945f7c91dfb5b14336">BIG_480_29_parity</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a7ecd18fc05b954770738fcb645f39f0b">BIG_480_29_bit</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a02aca3e0e40a469c2c8c566f326e42d1">BIG_480_29_lastbits</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#ae064909259a290fbe3f06e655931004d">BIG_480_29_random</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a08a96bc628609eea00244c012a9c71ca">BIG_480_29_randomnum</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a6e195f2a08e5f39f98272904826e4458">BIG_480_29_modmul</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a31bc510fb76b54775949627bdccfbf17">BIG_480_29_moddiv</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> z,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a15988e52f5c28d54576a5b3bf38c26e2">BIG_480_29_modsqr</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a30769ad6586c737640a240cf44fe3ccd">BIG_480_29_modneg</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a1e1df4be0527735fd48824b878f4cafd">BIG_480_29_jacobi</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a90f031ccc185f63b7eab14fa70481dcb">BIG_480_29_invmodp</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> x,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a> y,<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#ad0c703ded1cea62ad1e7b304b820811a">BIG_480_29_mod2m</a>(<a class="code" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</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__480__29_8h.html#a4741b70c40e4f0405ae22d40965bbed8">BIG_480_29_dmod2m</a>(<a class="code" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</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_480_29(<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__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7">BMASK_480_29</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__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</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_480_29(<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__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">HMASK_480_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">HMASK_480_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</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__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">HMASK_480_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</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__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7">BMASK_480_29</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__480__29_8h_html_af500bb84fd6877cdf1cb3ee20cf53870"><div class="ttname"><a href="big__480__29_8h.html#af500bb84fd6877cdf1cb3ee20cf53870">BIG_480_29_comp</a></div><div class="ttdeci">int BIG_480_29_comp(BIG_480_29 x, BIG_480_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1014</div></div>
-<div class="ttc" id="big__480__29_8h_html_afb25b3b566346dfa4ab23a97f65eb98e"><div class="ttname"><a href="big__480__29_8h.html#afb25b3b566346dfa4ab23a97f65eb98e">BIG_480_29_mod</a></div><div class="ttdeci">void BIG_480_29_mod(BIG_480_29 x, BIG_480_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1082</div></div>
-<div class="ttc" id="big__480__29_8h_html_aa7e71c50d2c580d5af8e2f8b9575b416"><div class="ttname"><a href="big__480__29_8h.html#aa7e71c50d2c580d5af8e2f8b9575b416">BIG_480_29_norm</a></div><div class="ttdeci">chunk BIG_480_29_norm(BIG_480_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:976</div></div>
-<div class="ttc" id="big__480__29_8h_html_a8f4bd0c84cdc7c5dd9d7d355ece09592"><div class="ttname"><a href="big__480__29_8h.html#a8f4bd0c84cdc7c5dd9d7d355ece09592">BIG_480_29_iszilch</a></div><div class="ttdeci">int BIG_480_29_iszilch(BIG_480_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:26</div></div>
-<div class="ttc" id="big__480__29_8h_html_a6749c3bc67333990a3bd4c7f343bbfb2"><div class="ttname"><a href="big__480__29_8h.html#a6749c3bc67333990a3bd4c7f343bbfb2">BIG_480_29_diszilch</a></div><div class="ttdeci">int BIG_480_29_diszilch(DBIG_480_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:45</div></div>
-<div class="ttc" id="big__480__29_8h_html_a08a96bc628609eea00244c012a9c71ca"><div class="ttname"><a href="big__480__29_8h.html#a08a96bc628609eea00244c012a9c71ca">BIG_480_29_randomnum</a></div><div class="ttdeci">void BIG_480_29_randomnum(BIG_480_29 x, BIG_480_29 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_480_29.c:1274</div></div>
-<div class="ttc" id="big__480__29_8h_html_a92e9b47dd1c2fb054a1e4749a2c8dbd6"><div class="ttname"><a href="big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">HMASK_480_29</a></div><div class="ttdeci">#define HMASK_480_29</div><div class="ttdef"><b>Definition:</b> big_480_29.h:46</div></div>
-<div class="ttc" id="config__big__480__29_8h_html_a56d28ab3516e47b24aab20edfd29ec14"><div class="ttname"><a href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a></div><div class="ttdeci">#define BASEBITS_480_29</div><div class="ttdef"><b>Definition:</b> config_big_480_29.h:35</div></div>
-<div class="ttc" id="big__480__29_8h_html_a258b8c20ce57bce8b1b6981b77282c3a"><div class="ttname"><a href="big__480__29_8h.html#a258b8c20ce57bce8b1b6981b77282c3a">BIG_480_29_dshr</a></div><div class="ttdeci">void BIG_480_29_dshr(DBIG_480_29 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_480_29.c:918</div></div>
-<div class="ttc" id="big__480__29_8h_html_a30769ad6586c737640a240cf44fe3ccd"><div class="ttname"><a href="big__480__29_8h.html#a30769ad6586c737640a240cf44fe3ccd">BIG_480_29_modneg</a></div><div class="ttdeci">void BIG_480_29_modneg(BIG_480_29 x, BIG_480_29 y, BIG_480_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1327</div></div>
-<div class="ttc" id="big__480__29_8h_html_ace791cc8dec53e7d9c086cc9296603d7"><div class="ttname"><a href="big__480__29_8h.html#ace791cc8dec53e7d9c086cc9296603d7">BIG_480_29_dadd</a></div><div class="ttdeci">void BIG_480_29_dadd(DBIG_480_29 x, DBIG_480_29 y, DBIG_480_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:426</div></div>
-<div class="ttc" id="big__480__29_8h_html_a7475db0ed75a962d7880d078730ce627"><div class="ttname"><a href="big__480__29_8h.html#a7475db0ed75a962d7880d078730ce627">BIG_480_29_dmod</a></div><div class="ttdeci">void BIG_480_29_dmod(BIG_480_29 x, DBIG_480_29 y, BIG_480_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1113</div></div>
-<div class="ttc" id="big__480__29_8h_html_a23f804ba0312cfeb293f06d357d6cf35"><div class="ttname"><a href="big__480__29_8h.html#a23f804ba0312cfeb293f06d357d6cf35">BIG_480_29_shr</a></div><div class="ttdeci">void BIG_480_29_shr(BIG_480_29 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_480_29.c:864</div></div>
-<div class="ttc" id="big__480__29_8h_html_a71551882d4df9b786fcaca3b9e126e7d"><div class="ttname"><a href="big__480__29_8h.html#a71551882d4df9b786fcaca3b9e126e7d">BIG_480_29_sqr</a></div><div class="ttdeci">void BIG_480_29_sqr(DBIG_480_29 x, BIG_480_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:618</div></div>
-<div class="ttc" id="big__480__29_8h_html_afe4ed6cab228d079ca7750bab1ed1bcd"><div class="ttname"><a href="big__480__29_8h.html#afe4ed6cab228d079ca7750bab1ed1bcd">BIG_480_29_shl</a></div><div class="ttdeci">void BIG_480_29_shl(BIG_480_29 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_480_29.c:813</div></div>
-<div class="ttc" id="big__480__29_8h_html_a4ff4ce206cf12ab585ce89ae6d4ab5f9"><div class="ttname"><a href="big__480__29_8h.html#a4ff4ce206cf12ab585ce89ae6d4ab5f9">BIG_480_29_doutput</a></div><div class="ttdeci">void BIG_480_29_doutput(DBIG_480_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:190</div></div>
-<div class="ttc" id="big__480__29_8h_html_a4741b70c40e4f0405ae22d40965bbed8"><div class="ttname"><a href="big__480__29_8h.html#a4741b70c40e4f0405ae22d40965bbed8">BIG_480_29_dmod2m</a></div><div class="ttdeci">void BIG_480_29_dmod2m(DBIG_480_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1470</div></div>
-<div class="ttc" id="big__480__29_8h_html_ae064909259a290fbe3f06e655931004d"><div class="ttname"><a href="big__480__29_8h.html#ae064909259a290fbe3f06e655931004d">BIG_480_29_random</a></div><div class="ttdeci">void BIG_480_29_random(BIG_480_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1248</div></div>
-<div class="ttc" id="big__480__29_8h_html_a3ed5198048ee26c0d0e02ab203fc28b5"><div class="ttname"><a href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">DNLEN_480_29</a></div><div class="ttdeci">#define DNLEN_480_29</div><div class="ttdef"><b>Definition:</b> big_480_29.h:41</div></div>
-<div class="ttc" id="big__480__29_8h_html_ad5a565020df281b4465e189c8d0633c1"><div class="ttname"><a href="big__480__29_8h.html#ad5a565020df281b4465e189c8d0633c1">BIG_480_29_inc</a></div><div class="ttdeci">void BIG_480_29_inc(BIG_480_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:386</div></div>
-<div class="ttc" id="big__480__29_8h_html_a96788cbcbddfb54d28609d07876c90b7"><div class="ttname"><a href="big__480__29_8h.html#a96788cbcbddfb54d28609d07876c90b7">BIG_480_29_sub</a></div><div class="ttdeci">void BIG_480_29_sub(BIG_480_29 x, BIG_480_29 y, BIG_480_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:397</div></div>
-<div class="ttc" id="big__480__29_8h_html_acf692b4f12f87fc3557595c12ba197bd"><div class="ttname"><a href="big__480__29_8h.html#acf692b4f12f87fc3557595c12ba197bd">BIG_480_29_or</a></div><div class="ttdeci">void BIG_480_29_or(BIG_480_29 x, BIG_480_29 y, BIG_480_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:371</div></div>
-<div class="ttc" id="big__480__29_8h_html_afcd929b8b957a8c5d7b248baa4732a79"><div class="ttname"><a href="big__480__29_8h.html#afcd929b8b957a8c5d7b248baa4732a79">BIG_480_29_dec</a></div><div class="ttdeci">void BIG_480_29_dec(BIG_480_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:440</div></div>
-<div class="ttc" id="big__480__29_8h_html_a2f7933413edaf36c148c4608cc39a73e"><div class="ttname"><a href="big__480__29_8h.html#a2f7933413edaf36c148c4608cc39a73e">BIG_480_29_isunity</a></div><div class="ttdeci">int BIG_480_29_isunity(BIG_480_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:35</div></div>
-<div class="ttc" id="big__480__29_8h_html_a68af6d9980e360137b36903b19196631"><div class="ttname"><a href="big__480__29_8h.html#a68af6d9980e360137b36903b19196631">BIG_480_29_drawoutput</a></div><div class="ttdeci">void BIG_480_29_drawoutput(DBIG_480_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:212</div></div>
-<div class="ttc" id="big__480__29_8h_html_a7b89d3fe28ea03c276552f41da06fdde"><div class="ttname"><a href="big__480__29_8h.html#a7b89d3fe28ea03c276552f41da06fdde">BIG_480_29_ddiv</a></div><div class="ttdeci">void BIG_480_29_ddiv(BIG_480_29 x, DBIG_480_29 y, BIG_480_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1149</div></div>
-<div class="ttc" id="config__big__480__29_8h_html"><div class="ttname"><a href="config__big__480__29_8h.html">config_big_480_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__480__29_8h_html_ad7095568d9170f998ba8f123eeb57568"><div class="ttname"><a href="big__480__29_8h.html#ad7095568d9170f998ba8f123eeb57568">BIG_480_29_nbits</a></div><div class="ttdeci">int BIG_480_29_nbits(BIG_480_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1040</div></div>
-<div class="ttc" id="big__480__29_8h_html_a5411cdc1ebac6da62d33cd7d2b22fafd"><div class="ttname"><a href="big__480__29_8h.html#a5411cdc1ebac6da62d33cd7d2b22fafd">BIG_480_29_dshl</a></div><div class="ttdeci">void BIG_480_29_dshl(DBIG_480_29 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_480_29.c:846</div></div>
-<div class="ttc" id="big__480__29_8h_html_a6f8b2b2a556243a6f9a9bd7e95851c9e"><div class="ttname"><a href="big__480__29_8h.html#a6f8b2b2a556243a6f9a9bd7e95851c9e">BIG_480_29_div3</a></div><div class="ttdeci">int BIG_480_29_div3(BIG_480_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:484</div></div>
-<div class="ttc" id="big__480__29_8h_html_a2b9c63b8fe90e41045e6078d584e7726"><div class="ttname"><a href="big__480__29_8h.html#a2b9c63b8fe90e41045e6078d584e7726">BIG_480_29_imul</a></div><div class="ttdeci">void BIG_480_29_imul(BIG_480_29 x, BIG_480_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:450</div></div>
-<div class="ttc" id="big__480__29_8h_html_a7a516f7c27d1f0e2c0843e9ef35a54e2"><div class="ttname"><a href="big__480__29_8h.html#a7a516f7c27d1f0e2c0843e9ef35a54e2">BIG_480_29_mul</a></div><div class="ttdeci">void BIG_480_29_mul(DBIG_480_29 x, BIG_480_29 y, BIG_480_29 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_480_29.c:542</div></div>
-<div class="ttc" id="big__480__29_8h_html_afdad982a51c7a9efc7e80f6a7312acf4"><div class="ttname"><a href="big__480__29_8h.html#afdad982a51c7a9efc7e80f6a7312acf4">BIG_480_29_dcmove</a></div><div class="ttdeci">void BIG_480_29_dcmove(BIG_480_29 x, BIG_480_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__480__29_8h_html_a74df771083837786915320c16a8a2bd2"><div class="ttname"><a href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">HBITS_480_29</a></div><div class="ttdeci">#define HBITS_480_29</div><div class="ttdef"><b>Definition:</b> big_480_29.h:45</div></div>
-<div class="ttc" id="big__480__29_8h_html_aaa8b4145014c6f41aff5eeafa855d3d6"><div class="ttname"><a href="big__480__29_8h.html#aaa8b4145014c6f41aff5eeafa855d3d6">BIG_480_29_monty</a></div><div class="ttdeci">void BIG_480_29_monty(BIG_480_29 a, BIG_480_29 md, chunk MC, DBIG_480_29 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_480_29.c:735</div></div>
-<div class="ttc" id="big__480__29_8h_html_a15988e52f5c28d54576a5b3bf38c26e2"><div class="ttname"><a href="big__480__29_8h.html#a15988e52f5c28d54576a5b3bf38c26e2">BIG_480_29_modsqr</a></div><div class="ttdeci">void BIG_480_29_modsqr(BIG_480_29 x, BIG_480_29 y, BIG_480_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1315</div></div>
-<div class="ttc" id="big__480__29_8h_html_a2e7fabef7d1c61ae4042af344141f42f"><div class="ttname"><a href="big__480__29_8h.html#a2e7fabef7d1c61ae4042af344141f42f">BIG_480_29_one</a></div><div class="ttdeci">void BIG_480_29_one(BIG_480_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_480_29.c:340</div></div>
-<div class="ttc" id="big__480__29_8h_html_acf70eeae7372d5391d2c843af8b793da"><div class="ttname"><a href="big__480__29_8h.html#acf70eeae7372d5391d2c843af8b793da">BIG_480_29_output</a></div><div class="ttdeci">void BIG_480_29_output(BIG_480_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:55</div></div>
-<div class="ttc" id="big__480__29_8h_html_afd823aae330f07224a7f0891cec24cca"><div class="ttname"><a href="big__480__29_8h.html#afd823aae330f07224a7f0891cec24cca">BIG_480_29_dnbits</a></div><div class="ttdeci">int BIG_480_29_dnbits(DBIG_480_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1060</div></div>
-<div class="ttc" id="big__480__29_8h_html_a242edeb3a03d4decf1e3fa49aab994b7"><div class="ttname"><a href="big__480__29_8h.html#a242edeb3a03d4decf1e3fa49aab994b7">BIG_480_29_fshl</a></div><div class="ttdeci">int BIG_480_29_fshl(BIG_480_29 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_480_29.c:832</div></div>
-<div class="ttc" id="big__480__29_8h_html_afdf7f3eee13abfed48f8584f32b4b8d7"><div class="ttname"><a href="big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7">BMASK_480_29</a></div><div class="ttdeci">#define BMASK_480_29</div><div class="ttdef"><b>Definition:</b> big_480_29.h:42</div></div>
-<div class="ttc" id="big__480__29_8h_html_a3459a4e91efa951d86431ef97993d768"><div class="ttname"><a href="big__480__29_8h.html#a3459a4e91efa951d86431ef97993d768">BIG_480_29_dcomp</a></div><div class="ttdeci">int BIG_480_29_dcomp(DBIG_480_29 x, DBIG_480_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1026</div></div>
-<div class="ttc" id="big__480__29_8h_html_a1296c1f386f240926378918f5a06a4ff"><div class="ttname"><a href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">BIG_480_29</a></div><div class="ttdeci">chunk BIG_480_29[NLEN_480_29]</div><div class="ttdef"><b>Definition:</b> big_480_29.h:58</div></div>
-<div class="ttc" id="big__480__29_8h_html_a02aca3e0e40a469c2c8c566f326e42d1"><div class="ttname"><a href="big__480__29_8h.html#a02aca3e0e40a469c2c8c566f326e42d1">BIG_480_29_lastbits</a></div><div class="ttdeci">int BIG_480_29_lastbits(BIG_480_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1240</div></div>
-<div class="ttc" id="big__480__29_8h_html_a68f5a24d63b05fdd5fc4e98728f5e7d5"><div class="ttname"><a href="big__480__29_8h.html#a68f5a24d63b05fdd5fc4e98728f5e7d5">BIG_480_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_480_29_dfromBytesLen(DBIG_480_29 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_480_29.c:1485</div></div>
-<div class="ttc" id="big__480__29_8h_html_a3debe7b218575b1e6ffdc9a67c900410"><div class="ttname"><a href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">DBIG_480_29</a></div><div class="ttdeci">chunk DBIG_480_29[DNLEN_480_29]</div><div class="ttdef"><b>Definition:</b> big_480_29.h:59</div></div>
-<div class="ttc" id="big__480__29_8h_html_a80cd574e62b21769aa661368ca0b73f5"><div class="ttname"><a href="big__480__29_8h.html#a80cd574e62b21769aa661368ca0b73f5">BIG_480_29_cswap</a></div><div class="ttdeci">void BIG_480_29_cswap(BIG_480_29 x, BIG_480_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:92</div></div>
-<div class="ttc" id="big__480__29_8h_html_a87492be96bc427dcdb744de1dedef099"><div class="ttname"><a href="big__480__29_8h.html#a87492be96bc427dcdb744de1dedef099">BIG_480_29_sducopy</a></div><div class="ttdeci">void BIG_480_29_sducopy(BIG_480_29 x, DBIG_480_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:306</div></div>
-<div class="ttc" id="big__480__29_8h_html_a6e195f2a08e5f39f98272904826e4458"><div class="ttname"><a href="big__480__29_8h.html#a6e195f2a08e5f39f98272904826e4458">BIG_480_29_modmul</a></div><div class="ttdeci">void BIG_480_29_modmul(BIG_480_29 x, BIG_480_29 y, BIG_480_29 z, BIG_480_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1300</div></div>
-<div class="ttc" id="big__480__29_8h_html_a379dbde52cda7fb49d4763c21e4ade1f"><div class="ttname"><a href="big__480__29_8h.html#a379dbde52cda7fb49d4763c21e4ade1f">BIG_480_29_add</a></div><div class="ttdeci">void BIG_480_29_add(BIG_480_29 x, BIG_480_29 y, BIG_480_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:356</div></div>
-<div class="ttc" id="big__480__29_8h_html_a48554072f9ef3a6252783ee43699a14c"><div class="ttname"><a href="big__480__29_8h.html#a48554072f9ef3a6252783ee43699a14c">BIG_480_29_pxmul</a></div><div class="ttdeci">void BIG_480_29_pxmul(DBIG_480_29 x, BIG_480_29 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_480_29.c:501</div></div>
-<div class="ttc" id="big__480__29_8h_html_a59484329e57c3e9adcda23d371146a97"><div class="ttname"><a href="big__480__29_8h.html#a59484329e57c3e9adcda23d371146a97">BIG_480_29_ssn</a></div><div class="ttdeci">int BIG_480_29_ssn(BIG_480_29 r, BIG_480_29 a, BIG_480_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:877</div></div>
-<div class="ttc" id="big__480__29_8h_html_a31bc510fb76b54775949627bdccfbf17"><div class="ttname"><a href="big__480__29_8h.html#a31bc510fb76b54775949627bdccfbf17">BIG_480_29_moddiv</a></div><div class="ttdeci">void BIG_480_29_moddiv(BIG_480_29 x, BIG_480_29 y, BIG_480_29 z, BIG_480_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1337</div></div>
-<div class="ttc" id="big__480__29_8h_html_a81c129c3ed195c0f71759176b101a9ae"><div class="ttname"><a href="big__480__29_8h.html#a81c129c3ed195c0f71759176b101a9ae">BIG_480_29_split</a></div><div class="ttdeci">chunk BIG_480_29_split(BIG_480_29 x, BIG_480_29 y, DBIG_480_29 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_480_29.c:932</div></div>
-<div class="ttc" id="big__480__29_8h_html_a381ebe44f6a99233971636b17a85a402"><div class="ttname"><a href="big__480__29_8h.html#a381ebe44f6a99233971636b17a85a402">BIG_480_29_sdiv</a></div><div class="ttdeci">void BIG_480_29_sdiv(BIG_480_29 x, BIG_480_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1188</div></div>
-<div class="ttc" id="big__480__29_8h_html_a6b3c5563be78cf18c6760c793bac949d"><div class="ttname"><a href="big__480__29_8h.html#a6b3c5563be78cf18c6760c793bac949d">BIG_480_29_invmod2m</a></div><div class="ttdeci">void BIG_480_29_invmod2m(BIG_480_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__480__29_8h_html_a508559243824b28d807bfaf5744019da"><div class="ttname"><a href="big__480__29_8h.html#a508559243824b28d807bfaf5744019da">BIG_480_29_sdcopy</a></div><div class="ttdeci">void BIG_480_29_sdcopy(BIG_480_29 x, DBIG_480_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:294</div></div>
-<div class="ttc" id="big__480__29_8h_html_acba1143334c4c98bca59526829bae47d"><div class="ttname"><a href="big__480__29_8h.html#acba1143334c4c98bca59526829bae47d">BIG_480_29_zero</a></div><div class="ttdeci">void BIG_480_29_zero(BIG_480_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:319</div></div>
-<div class="ttc" id="big__480__29_8h_html_a34882af2460305bf16480414780badb0"><div class="ttname"><a href="big__480__29_8h.html#a34882af2460305bf16480414780badb0">BIG_480_29_smul</a></div><div class="ttdeci">void BIG_480_29_smul(BIG_480_29 x, BIG_480_29 y, BIG_480_29 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_480_29.c:518</div></div>
-<div class="ttc" id="big__480__29_8h_html_a68105b21a1d78444e54f3ed017ae5e69"><div class="ttname"><a href="big__480__29_8h.html#a68105b21a1d78444e54f3ed017ae5e69">BIG_480_29_fromBytes</a></div><div class="ttdeci">void BIG_480_29_fromBytes(BIG_480_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:155</div></div>
-<div class="ttc" id="big__480__29_8h_html_a1f1f3335dacc43945f7c91dfb5b14336"><div class="ttname"><a href="big__480__29_8h.html#a1f1f3335dacc43945f7c91dfb5b14336">BIG_480_29_parity</a></div><div class="ttdeci">int BIG_480_29_parity(BIG_480_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1225</div></div>
-<div class="ttc" id="big__480__29_8h_html_a69a8d5e328daf4b8b89070d54ed1d1a2"><div class="ttname"><a href="big__480__29_8h.html#a69a8d5e328daf4b8b89070d54ed1d1a2">BIG_480_29_dzero</a></div><div class="ttdeci">void BIG_480_29_dzero(DBIG_480_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:329</div></div>
-<div class="ttc" id="big__480__29_8h_html_a60a422474d84e324db7f3a3a71e02696"><div class="ttname"><a href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">NLEN_480_29</a></div><div class="ttdeci">#define NLEN_480_29</div><div class="ttdef"><b>Definition:</b> big_480_29.h:40</div></div>
-<div class="ttc" id="big__480__29_8h_html_a3b8880a571de4b2dc5f3f3296d1b443a"><div class="ttname"><a href="big__480__29_8h.html#a3b8880a571de4b2dc5f3f3296d1b443a">BIG_480_29_cmove</a></div><div class="ttdeci">void BIG_480_29_cmove(BIG_480_29 x, BIG_480_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:110</div></div>
-<div class="ttc" id="big__480__29_8h_html_a8bee9574f49bad11d9c25d67efe10ab1"><div class="ttname"><a href="big__480__29_8h.html#a8bee9574f49bad11d9c25d67efe10ab1">BIG_480_29_dcopy</a></div><div class="ttdeci">void BIG_480_29_dcopy(DBIG_480_29 x, DBIG_480_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:251</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__480__29_8h_html_a95c51dd1666b7f8084ecc20ee14f8fea"><div class="ttname"><a href="big__480__29_8h.html#a95c51dd1666b7f8084ecc20ee14f8fea">BIG_480_29_dsub</a></div><div class="ttdeci">void BIG_480_29_dsub(DBIG_480_29 x, DBIG_480_29 y, DBIG_480_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:413</div></div>
-<div class="ttc" id="big__480__29_8h_html_a14e4ac8673cf47c1b10f318d3f4175a7"><div class="ttname"><a href="big__480__29_8h.html#a14e4ac8673cf47c1b10f318d3f4175a7">BIG_480_29_fshr</a></div><div class="ttdeci">int BIG_480_29_fshr(BIG_480_29 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_480_29.c:906</div></div>
-<div class="ttc" id="big__480__29_8h_html_a4f9e6a79551b466c4cfa0181754b5ec0"><div class="ttname"><a href="big__480__29_8h.html#a4f9e6a79551b466c4cfa0181754b5ec0">BIG_480_29_pmul</a></div><div class="ttdeci">chunk BIG_480_29_pmul(BIG_480_29 x, BIG_480_29 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_480_29.c:465</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__480__29_8h_html_a1e1df4be0527735fd48824b878f4cafd"><div class="ttname"><a href="big__480__29_8h.html#a1e1df4be0527735fd48824b878f4cafd">BIG_480_29_jacobi</a></div><div class="ttdeci">int BIG_480_29_jacobi(BIG_480_29 x, BIG_480_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1354</div></div>
-<div class="ttc" id="big__480__29_8h_html_a90f031ccc185f63b7eab14fa70481dcb"><div class="ttname"><a href="big__480__29_8h.html#a90f031ccc185f63b7eab14fa70481dcb">BIG_480_29_invmodp</a></div><div class="ttdeci">void BIG_480_29_invmodp(BIG_480_29 x, BIG_480_29 y, BIG_480_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1392</div></div>
-<div class="ttc" id="big__480__29_8h_html_a8e8969807b8d6127aae5bb893c885a63"><div class="ttname"><a href="big__480__29_8h.html#a8e8969807b8d6127aae5bb893c885a63">BIG_480_29_toBytes</a></div><div class="ttdeci">void BIG_480_29_toBytes(char *a, BIG_480_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:141</div></div>
-<div class="ttc" id="big__480__29_8h_html_a40ccfa1143430d0878071677d1f1612f"><div class="ttname"><a href="big__480__29_8h.html#a40ccfa1143430d0878071677d1f1612f">BIG_480_29_dscopy</a></div><div class="ttdeci">void BIG_480_29_dscopy(DBIG_480_29 x, BIG_480_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:263</div></div>
-<div class="ttc" id="big__480__29_8h_html_aca52a0845f993936d234186a8fc40cb3"><div class="ttname"><a href="big__480__29_8h.html#aca52a0845f993936d234186a8fc40cb3">BIG_480_29_copy</a></div><div class="ttdeci">void BIG_480_29_copy(BIG_480_29 x, BIG_480_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:227</div></div>
-<div class="ttc" id="big__480__29_8h_html_ad0c703ded1cea62ad1e7b304b820811a"><div class="ttname"><a href="big__480__29_8h.html#ad0c703ded1cea62ad1e7b304b820811a">BIG_480_29_mod2m</a></div><div class="ttdeci">void BIG_480_29_mod2m(BIG_480_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1456</div></div>
-<div class="ttc" id="big__480__29_8h_html_a7ecd18fc05b954770738fcb645f39f0b"><div class="ttname"><a href="big__480__29_8h.html#a7ecd18fc05b954770738fcb645f39f0b">BIG_480_29_bit</a></div><div class="ttdeci">int BIG_480_29_bit(BIG_480_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_480_29.c:1232</div></div>
-<div class="ttc" id="big__480__29_8h_html_a61b7e3d5eb7d54a49623c77ca016336a"><div class="ttname"><a href="big__480__29_8h.html#a61b7e3d5eb7d54a49623c77ca016336a">BIG_480_29_rcopy</a></div><div class="ttdeci">void BIG_480_29_rcopy(BIG_480_29 x, const BIG_480_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:239</div></div>
-<div class="ttc" id="big__480__29_8h_html_addbfff9a15b9c7eb4edf59d029e6d007"><div class="ttname"><a href="big__480__29_8h.html#addbfff9a15b9c7eb4edf59d029e6d007">BIG_480_29_rawoutput</a></div><div class="ttdeci">void BIG_480_29_rawoutput(BIG_480_29 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_480_29.c:77</div></div>
-<div class="ttc" id="big__480__29_8h_html_a90eb904d4f1aae9b7872f6dee98ce14e"><div class="ttname"><a href="big__480__29_8h.html#a90eb904d4f1aae9b7872f6dee98ce14e">BIG_480_29_fromBytesLen</a></div><div class="ttdeci">void BIG_480_29_fromBytesLen(BIG_480_29 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_480_29.c:170</div></div>
-<div class="ttc" id="big__480__29_8h_html_a50c682e6e693965f09a20b6512cd2ab8"><div class="ttname"><a href="big__480__29_8h.html#a50c682e6e693965f09a20b6512cd2ab8">BIG_480_29_dnorm</a></div><div class="ttdeci">void BIG_480_29_dnorm(DBIG_480_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:995</div></div>
-<div class="ttc" id="big__480__29_8h_html_a59901c26ac1d1ea94412f88421881bca"><div class="ttname"><a href="big__480__29_8h.html#a59901c26ac1d1ea94412f88421881bca">BIG_480_29_dsucopy</a></div><div class="ttdeci">void BIG_480_29_dsucopy(DBIG_480_29 x, BIG_480_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_480_29.c:280</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__480__56_8h.html b/website/static/cdocs/big__480__56_8h.html
index 47a4fac..ccd4ec9 100644
--- a/website/static/cdocs/big__480__56_8h.html
+++ b/website/static/cdocs/big__480__56_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_480_56.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="ab9f6b3e14b45a6451b3a44897d6f3acb"></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="aa6ec4d6efdbbea0a430a46105b9fc0dc"></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__480__56_8h_source.html b/website/static/cdocs/big__480__56_8h_source.html
index 9ac3949..d8cafb9 100644
--- a/website/static/cdocs/big__480__56_8h_source.html
+++ b/website/static/cdocs/big__480__56_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_480_56.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_480_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__480__56_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_480_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_480_56_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__480__56_8h.html">config_big_480_56.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__480__56_8h.html#a54f63b6871b5f0d5d5470ce09667c2e8">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_480_56 (8*MODBYTES_480_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">   40</a></span>&#160;<span class="preprocessor">#define NLEN_480_56 (1+((8*MODBYTES_480_56-1)/BASEBITS_480_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_480_56 2*NLEN_480_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">   42</a></span>&#160;<span class="preprocessor">#define BMASK_480_56 (((chunk)1&lt;&lt;BASEBITS_480_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#ab0b2554d6a56132dfed86a30044f6b3a">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_480_56 (1&lt;&lt;(CHUNK-BASEBITS_480_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">   45</a></span>&#160;<span class="preprocessor">#define HBITS_480_56 (BASEBITS_480_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">   46</a></span>&#160;<span class="preprocessor">#define HMASK_480_56 (((chunk)1&lt;&lt;HBITS_480_56)-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_480_56 NLEN_480_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_480_56 (NLEN_480_56+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__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">NLEN_480_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_480_56 DNLEN_480_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_480_56 (DNLEN_480_56+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__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">DNLEN_480_56</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__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">NLEN_480_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">DNLEN_480_56</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__480__56_8h.html#a50cb6208874f4bcec5a44e00f0bbf56a">BIG_480_56_iszilch</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a97ee2f2834a8aeed7dbc84587eb13f3b">BIG_480_56_isunity</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aa4cf001310d171c18cf8b5b221024703">BIG_480_56_diszilch</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a22effc11ee2c8eb569e36bdf03968ac8">BIG_480_56_output</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a4147edcdacee3423ee51b8715aaa361e">BIG_480_56_rawoutput</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab551d9ecadbc50da42e3236aa6e1f87a">BIG_480_56_cswap</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a2d735315112d67cea6c4bff632131de3">BIG_480_56_cmove</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a83e9dfd17e1fa042d4dbe5598c804f87">BIG_480_56_dcmove</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a9cf77f88cf8141aca7a62a5636517931">BIG_480_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a782c9882cfa6d9f8f4793c230fa2437c">BIG_480_56_fromBytes</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a66b634d53a1a37e541f9bb59294eaf81">BIG_480_56_fromBytesLen</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aebedffa18cdfb40a6e368ffbb549c7f8">BIG_480_56_dfromBytesLen</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#ac6c09608a86ab0115d810d6d553eb7e3">BIG_480_56_doutput</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a3a7bc2a2d85192a0507513addc7ddd2b">BIG_480_56_drawoutput</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a7d03b7974ca262f77de3ffced4c2ae18">BIG_480_56_rcopy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#adcb02d20a93b0a83da9b1bb480732d96">BIG_480_56_copy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af66aac99fc1b3c2e396829831f4725d2">BIG_480_56_dcopy</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a7a14175ff0df50f94fecff269acbe751">BIG_480_56_dsucopy</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a17f8b914c057850d24d2eedaeeda0194">BIG_480_56_dscopy</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ac2b74798b2f36bed949292578b2c8ccf">BIG_480_56_sdcopy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a95197c80445ab9d34ed872438508e901">BIG_480_56_sducopy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39">BIG_480_56_zero</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a8c4ac5dbaa5072def45606b59672a941">BIG_480_56_dzero</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#ab4aab4402fa666f3fa59d916c79a5e1b">BIG_480_56_one</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da">BIG_480_56_invmod2m</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a8e5257519818e87b2eead6faa1b6fa2d">BIG_480_56_add</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aefff40be7737a52c4079aa3c092c215e">BIG_480_56_or</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a5a1efb721dac640b6d66204f06ba3097">BIG_480_56_inc</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab508f60468bf615a84a75a77b7c6d6c7">BIG_480_56_sub</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a277371b641330ca367ff1c2328374110">BIG_480_56_dec</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a97dd89a10a6a6ebecad660940c49b4b1">BIG_480_56_dadd</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#acc4d9424359572d599663fc4701c6fbf">BIG_480_56_dsub</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a6dfbd18b8fa18cdf69b51fb8fb4e2d08">BIG_480_56_imul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ac83f3cf20caa3589e408936764ce1d6f">BIG_480_56_pmul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ad2d45611a34b6dbf5900cf38481ec470">BIG_480_56_div3</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af33706cdce9d3ce60ddf2f11e36b42a8">BIG_480_56_pxmul</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aadd70e7e0dc4e26f83bb81a7e73db1ff">BIG_480_56_mul</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab3d361b6b75ff270ff201275cbb91306">BIG_480_56_smul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a543fe683aa28b000e5acb4d81697fd7b">BIG_480_56_sqr</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af83e96843e64861e0682bd28a13f3166">BIG_480_56_monty</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a4c29fb52530e41e63847798b786a17a8">BIG_480_56_shl</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af676f48b3a0c623a0202741c10a65142">BIG_480_56_fshl</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#acd8546a172621ec422a00bb28042f36b">BIG_480_56_dshl</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a21ef9b068d6b3becfe8350b93d832eac">BIG_480_56_shr</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a2d05771607d388f881ea4519fc8858b4">BIG_480_56_ssn</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> r,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a, <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a5e62a4f106f08e86c842a8ad431a880d">BIG_480_56_fshr</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a36b7f2c620c6667f6fa70aededb38047">BIG_480_56_dshr</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#ada5c2b33edff44a878b6f74d8acdf4c8">BIG_480_56_split</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a2d280d56bd13cd60a38f385b869b8023">BIG_480_56_norm</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a20476ee52f34bcff0d327829f68ba488">BIG_480_56_dnorm</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a8b4a319d6156e82a2a3e51dd0d1bb57d">BIG_480_56_comp</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#adbfad664755e5e4faca41a489874e27e">BIG_480_56_dcomp</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a013872b60f35eb897c622ed2dee532bd">BIG_480_56_nbits</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab9f6b3e14b45a6451b3a44897d6f3acb">BIG_480_56_dnbits</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a16bd551c738ca6ae10e89dfdc1b35411">BIG_480_56_mod</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a6dc77b034285df66b11d89c603514592">BIG_480_56_sdiv</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a8c8346988739bdd5f389b90b449396da">BIG_480_56_dmod</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a08f52c861db3ca7636b17cef71ec1b9c">BIG_480_56_ddiv</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ad1876ba85064a3e2c534038e3c745779">BIG_480_56_parity</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ad4324b2705b720c7799e698eaf4eab06">BIG_480_56_bit</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a32419a94c053329ee0f6b273bb16d75a">BIG_480_56_lastbits</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aebf60fe977093d58068b9b0e58bf17c5">BIG_480_56_random</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a9594164723abfc2cfd6278ed8142c338">BIG_480_56_randomnum</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a69055d3eb0e8d97a8ec758c5462ef051">BIG_480_56_modmul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> z,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aa6ec4d6efdbbea0a430a46105b9fc0dc">BIG_480_56_moddiv</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> z,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a6aef4faa97456b3a86d17b0da43d1d86">BIG_480_56_modsqr</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a476177652fb98c555e2e3ec36b2f8252">BIG_480_56_modneg</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a757a2937fb92fa33d0a54bbe2b9a3e02">BIG_480_56_jacobi</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a4a2733d3a1d0765ce73273eda3e72d18">BIG_480_56_invmodp</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a368778047abd67a425508ce8880b8a0f">BIG_480_56_mod2m</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a624c721b627e0e4aceb9aaf1265398c8">BIG_480_56_dmod2m</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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_480_56(<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__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">BMASK_480_56</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__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">BASEBITS_480_56</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_480_56(<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__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">HMASK_480_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">HMASK_480_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</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__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">HMASK_480_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</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__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">BASEBITS_480_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">BMASK_480_56</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__480__56_8h_html_aefff40be7737a52c4079aa3c092c215e"><div class="ttname"><a href="big__480__56_8h.html#aefff40be7737a52c4079aa3c092c215e">BIG_480_56_or</a></div><div class="ttdeci">void BIG_480_56_or(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:371</div></div>
-<div class="ttc" id="big__480__56_8h_html_adcb02d20a93b0a83da9b1bb480732d96"><div class="ttname"><a href="big__480__56_8h.html#adcb02d20a93b0a83da9b1bb480732d96">BIG_480_56_copy</a></div><div class="ttdeci">void BIG_480_56_copy(BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:227</div></div>
-<div class="ttc" id="big__480__56_8h_html_a6aef4faa97456b3a86d17b0da43d1d86"><div class="ttname"><a href="big__480__56_8h.html#a6aef4faa97456b3a86d17b0da43d1d86">BIG_480_56_modsqr</a></div><div class="ttdeci">void BIG_480_56_modsqr(BIG_480_56 x, BIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1315</div></div>
-<div class="ttc" id="big__480__56_8h_html_af83e96843e64861e0682bd28a13f3166"><div class="ttname"><a href="big__480__56_8h.html#af83e96843e64861e0682bd28a13f3166">BIG_480_56_monty</a></div><div class="ttdeci">void BIG_480_56_monty(BIG_480_56 a, BIG_480_56 md, chunk MC, DBIG_480_56 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_480_56.c:735</div></div>
+<a href="big__480__56_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_480_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_480_56_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__480__56_8h.html">config_big_480_56.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__480__56_8h.html#a54f63b6871b5f0d5d5470ce09667c2e8">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_480_56 (8*MODBYTES_480_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">   40</a></span>&#160;<span class="preprocessor">#define NLEN_480_56 (1+((8*MODBYTES_480_56-1)/BASEBITS_480_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_480_56 2*NLEN_480_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">   42</a></span>&#160;<span class="preprocessor">#define BMASK_480_56 (((chunk)1&lt;&lt;BASEBITS_480_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#ab0b2554d6a56132dfed86a30044f6b3a">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_480_56 (1&lt;&lt;(CHUNK-BASEBITS_480_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">   45</a></span>&#160;<span class="preprocessor">#define HBITS_480_56 (BASEBITS_480_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">   46</a></span>&#160;<span class="preprocessor">#define HMASK_480_56 (((chunk)1&lt;&lt;HBITS_480_56)-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_480_56 NLEN_480_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_480_56 (NLEN_480_56+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__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">NLEN_480_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_480_56 DNLEN_480_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_480_56 (DNLEN_480_56+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__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">DNLEN_480_56</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__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">NLEN_480_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a>[<a class="code" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">DNLEN_480_56</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__480__56_8h.html#a50cb6208874f4bcec5a44e00f0bbf56a">BIG_480_56_iszilch</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a97ee2f2834a8aeed7dbc84587eb13f3b">BIG_480_56_isunity</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aa4cf001310d171c18cf8b5b221024703">BIG_480_56_diszilch</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a22effc11ee2c8eb569e36bdf03968ac8">BIG_480_56_output</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a4147edcdacee3423ee51b8715aaa361e">BIG_480_56_rawoutput</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab551d9ecadbc50da42e3236aa6e1f87a">BIG_480_56_cswap</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a2d735315112d67cea6c4bff632131de3">BIG_480_56_cmove</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a83e9dfd17e1fa042d4dbe5598c804f87">BIG_480_56_dcmove</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a9cf77f88cf8141aca7a62a5636517931">BIG_480_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a782c9882cfa6d9f8f4793c230fa2437c">BIG_480_56_fromBytes</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a66b634d53a1a37e541f9bb59294eaf81">BIG_480_56_fromBytesLen</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aebedffa18cdfb40a6e368ffbb549c7f8">BIG_480_56_dfromBytesLen</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#ac6c09608a86ab0115d810d6d553eb7e3">BIG_480_56_doutput</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a3a7bc2a2d85192a0507513addc7ddd2b">BIG_480_56_drawoutput</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a7d03b7974ca262f77de3ffced4c2ae18">BIG_480_56_rcopy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#adcb02d20a93b0a83da9b1bb480732d96">BIG_480_56_copy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af66aac99fc1b3c2e396829831f4725d2">BIG_480_56_dcopy</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a7a14175ff0df50f94fecff269acbe751">BIG_480_56_dsucopy</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a17f8b914c057850d24d2eedaeeda0194">BIG_480_56_dscopy</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ac2b74798b2f36bed949292578b2c8ccf">BIG_480_56_sdcopy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a95197c80445ab9d34ed872438508e901">BIG_480_56_sducopy</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39">BIG_480_56_zero</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a8c4ac5dbaa5072def45606b59672a941">BIG_480_56_dzero</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#ab4aab4402fa666f3fa59d916c79a5e1b">BIG_480_56_one</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da">BIG_480_56_invmod2m</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a8e5257519818e87b2eead6faa1b6fa2d">BIG_480_56_add</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aefff40be7737a52c4079aa3c092c215e">BIG_480_56_or</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a5a1efb721dac640b6d66204f06ba3097">BIG_480_56_inc</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab508f60468bf615a84a75a77b7c6d6c7">BIG_480_56_sub</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a277371b641330ca367ff1c2328374110">BIG_480_56_dec</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a97dd89a10a6a6ebecad660940c49b4b1">BIG_480_56_dadd</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#acc4d9424359572d599663fc4701c6fbf">BIG_480_56_dsub</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a6dfbd18b8fa18cdf69b51fb8fb4e2d08">BIG_480_56_imul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ac83f3cf20caa3589e408936764ce1d6f">BIG_480_56_pmul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ad2d45611a34b6dbf5900cf38481ec470">BIG_480_56_div3</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af33706cdce9d3ce60ddf2f11e36b42a8">BIG_480_56_pxmul</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aadd70e7e0dc4e26f83bb81a7e73db1ff">BIG_480_56_mul</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab3d361b6b75ff270ff201275cbb91306">BIG_480_56_smul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a543fe683aa28b000e5acb4d81697fd7b">BIG_480_56_sqr</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af83e96843e64861e0682bd28a13f3166">BIG_480_56_monty</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a4c29fb52530e41e63847798b786a17a8">BIG_480_56_shl</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#af676f48b3a0c623a0202741c10a65142">BIG_480_56_fshl</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#acd8546a172621ec422a00bb28042f36b">BIG_480_56_dshl</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a21ef9b068d6b3becfe8350b93d832eac">BIG_480_56_shr</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a2d05771607d388f881ea4519fc8858b4">BIG_480_56_ssn</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> r,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a, <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a5e62a4f106f08e86c842a8ad431a880d">BIG_480_56_fshr</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a36b7f2c620c6667f6fa70aededb38047">BIG_480_56_dshr</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#ada5c2b33edff44a878b6f74d8acdf4c8">BIG_480_56_split</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a2d280d56bd13cd60a38f385b869b8023">BIG_480_56_norm</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a20476ee52f34bcff0d327829f68ba488">BIG_480_56_dnorm</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a8b4a319d6156e82a2a3e51dd0d1bb57d">BIG_480_56_comp</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#adbfad664755e5e4faca41a489874e27e">BIG_480_56_dcomp</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a013872b60f35eb897c622ed2dee532bd">BIG_480_56_nbits</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ab9f6b3e14b45a6451b3a44897d6f3acb">BIG_480_56_dnbits</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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__480__56_8h.html#a16bd551c738ca6ae10e89dfdc1b35411">BIG_480_56_mod</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a6dc77b034285df66b11d89c603514592">BIG_480_56_sdiv</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a8c8346988739bdd5f389b90b449396da">BIG_480_56_dmod</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a08f52c861db3ca7636b17cef71ec1b9c">BIG_480_56_ddiv</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ad1876ba85064a3e2c534038e3c745779">BIG_480_56_parity</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#ad4324b2705b720c7799e698eaf4eab06">BIG_480_56_bit</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a32419a94c053329ee0f6b273bb16d75a">BIG_480_56_lastbits</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aebf60fe977093d58068b9b0e58bf17c5">BIG_480_56_random</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a9594164723abfc2cfd6278ed8142c338">BIG_480_56_randomnum</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a69055d3eb0e8d97a8ec758c5462ef051">BIG_480_56_modmul</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> z,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#aa6ec4d6efdbbea0a430a46105b9fc0dc">BIG_480_56_moddiv</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> z,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a6aef4faa97456b3a86d17b0da43d1d86">BIG_480_56_modsqr</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a476177652fb98c555e2e3ec36b2f8252">BIG_480_56_modneg</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a757a2937fb92fa33d0a54bbe2b9a3e02">BIG_480_56_jacobi</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a4a2733d3a1d0765ce73273eda3e72d18">BIG_480_56_invmodp</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a368778047abd67a425508ce8880b8a0f">BIG_480_56_mod2m</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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__480__56_8h.html#a624c721b627e0e4aceb9aaf1265398c8">BIG_480_56_dmod2m</a>(<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</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_480_56(<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__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">BMASK_480_56</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__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">BASEBITS_480_56</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_480_56(<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__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">HMASK_480_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">HMASK_480_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</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__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">HMASK_480_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</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__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">BASEBITS_480_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">BMASK_480_56</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__480__56_8h_html_aefff40be7737a52c4079aa3c092c215e"><div class="ttname"><a href="big__480__56_8h.html#aefff40be7737a52c4079aa3c092c215e">BIG_480_56_or</a></div><div class="ttdeci">void BIG_480_56_or(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:371</div></div>
+<div class="ttc" id="big__480__56_8h_html_adcb02d20a93b0a83da9b1bb480732d96"><div class="ttname"><a href="big__480__56_8h.html#adcb02d20a93b0a83da9b1bb480732d96">BIG_480_56_copy</a></div><div class="ttdeci">void BIG_480_56_copy(BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:227</div></div>
+<div class="ttc" id="big__480__56_8h_html_a6aef4faa97456b3a86d17b0da43d1d86"><div class="ttname"><a href="big__480__56_8h.html#a6aef4faa97456b3a86d17b0da43d1d86">BIG_480_56_modsqr</a></div><div class="ttdeci">void BIG_480_56_modsqr(BIG_480_56 x, BIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1315</div></div>
+<div class="ttc" id="big__480__56_8h_html_af83e96843e64861e0682bd28a13f3166"><div class="ttname"><a href="big__480__56_8h.html#af83e96843e64861e0682bd28a13f3166">BIG_480_56_monty</a></div><div class="ttdeci">void BIG_480_56_monty(BIG_480_56 a, BIG_480_56 md, chunk MC, DBIG_480_56 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_480_56.c:735</div></div>
 <div class="ttc" id="big__480__56_8h_html_a0431a818206f629e340731bd19e6c948"><div class="ttname"><a href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a></div><div class="ttdeci">chunk DBIG_480_56[DNLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:59</div></div>
-<div class="ttc" id="big__480__56_8h_html_a97dd89a10a6a6ebecad660940c49b4b1"><div class="ttname"><a href="big__480__56_8h.html#a97dd89a10a6a6ebecad660940c49b4b1">BIG_480_56_dadd</a></div><div class="ttdeci">void BIG_480_56_dadd(DBIG_480_56 x, DBIG_480_56 y, DBIG_480_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:426</div></div>
-<div class="ttc" id="big__480__56_8h_html_ac6c09608a86ab0115d810d6d553eb7e3"><div class="ttname"><a href="big__480__56_8h.html#ac6c09608a86ab0115d810d6d553eb7e3">BIG_480_56_doutput</a></div><div class="ttdeci">void BIG_480_56_doutput(DBIG_480_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:190</div></div>
-<div class="ttc" id="big__480__56_8h_html_a32419a94c053329ee0f6b273bb16d75a"><div class="ttname"><a href="big__480__56_8h.html#a32419a94c053329ee0f6b273bb16d75a">BIG_480_56_lastbits</a></div><div class="ttdeci">int BIG_480_56_lastbits(BIG_480_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1240</div></div>
-<div class="ttc" id="big__480__56_8h_html_a4147edcdacee3423ee51b8715aaa361e"><div class="ttname"><a href="big__480__56_8h.html#a4147edcdacee3423ee51b8715aaa361e">BIG_480_56_rawoutput</a></div><div class="ttdeci">void BIG_480_56_rawoutput(BIG_480_56 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_480_56.c:77</div></div>
+<div class="ttc" id="big__480__56_8h_html_a97dd89a10a6a6ebecad660940c49b4b1"><div class="ttname"><a href="big__480__56_8h.html#a97dd89a10a6a6ebecad660940c49b4b1">BIG_480_56_dadd</a></div><div class="ttdeci">void BIG_480_56_dadd(DBIG_480_56 x, DBIG_480_56 y, DBIG_480_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:426</div></div>
+<div class="ttc" id="big__480__56_8h_html_ac6c09608a86ab0115d810d6d553eb7e3"><div class="ttname"><a href="big__480__56_8h.html#ac6c09608a86ab0115d810d6d553eb7e3">BIG_480_56_doutput</a></div><div class="ttdeci">void BIG_480_56_doutput(DBIG_480_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:190</div></div>
+<div class="ttc" id="big__480__56_8h_html_a32419a94c053329ee0f6b273bb16d75a"><div class="ttname"><a href="big__480__56_8h.html#a32419a94c053329ee0f6b273bb16d75a">BIG_480_56_lastbits</a></div><div class="ttdeci">int BIG_480_56_lastbits(BIG_480_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1240</div></div>
+<div class="ttc" id="big__480__56_8h_html_a4147edcdacee3423ee51b8715aaa361e"><div class="ttname"><a href="big__480__56_8h.html#a4147edcdacee3423ee51b8715aaa361e">BIG_480_56_rawoutput</a></div><div class="ttdeci">void BIG_480_56_rawoutput(BIG_480_56 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_480_56.c:77</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5d67285aee01059db23b6fac43cb8fa6"><div class="ttname"><a href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">HBITS_480_56</a></div><div class="ttdeci">#define HBITS_480_56</div><div class="ttdef"><b>Definition:</b> big_480_56.h:45</div></div>
-<div class="ttc" id="big__480__56_8h_html_a8b4a319d6156e82a2a3e51dd0d1bb57d"><div class="ttname"><a href="big__480__56_8h.html#a8b4a319d6156e82a2a3e51dd0d1bb57d">BIG_480_56_comp</a></div><div class="ttdeci">int BIG_480_56_comp(BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1014</div></div>
-<div class="ttc" id="big__480__56_8h_html_a8c4ac5dbaa5072def45606b59672a941"><div class="ttname"><a href="big__480__56_8h.html#a8c4ac5dbaa5072def45606b59672a941">BIG_480_56_dzero</a></div><div class="ttdeci">void BIG_480_56_dzero(DBIG_480_56 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:329</div></div>
-<div class="ttc" id="big__480__56_8h_html_a6dc77b034285df66b11d89c603514592"><div class="ttname"><a href="big__480__56_8h.html#a6dc77b034285df66b11d89c603514592">BIG_480_56_sdiv</a></div><div class="ttdeci">void BIG_480_56_sdiv(BIG_480_56 x, BIG_480_56 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1188</div></div>
-<div class="ttc" id="big__480__56_8h_html_ab551d9ecadbc50da42e3236aa6e1f87a"><div class="ttname"><a href="big__480__56_8h.html#ab551d9ecadbc50da42e3236aa6e1f87a">BIG_480_56_cswap</a></div><div class="ttdeci">void BIG_480_56_cswap(BIG_480_56 x, BIG_480_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:92</div></div>
+<div class="ttc" id="big__480__56_8h_html_a8b4a319d6156e82a2a3e51dd0d1bb57d"><div class="ttname"><a href="big__480__56_8h.html#a8b4a319d6156e82a2a3e51dd0d1bb57d">BIG_480_56_comp</a></div><div class="ttdeci">int BIG_480_56_comp(BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1014</div></div>
+<div class="ttc" id="big__480__56_8h_html_a8c4ac5dbaa5072def45606b59672a941"><div class="ttname"><a href="big__480__56_8h.html#a8c4ac5dbaa5072def45606b59672a941">BIG_480_56_dzero</a></div><div class="ttdeci">void BIG_480_56_dzero(DBIG_480_56 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:329</div></div>
+<div class="ttc" id="big__480__56_8h_html_a6dc77b034285df66b11d89c603514592"><div class="ttname"><a href="big__480__56_8h.html#a6dc77b034285df66b11d89c603514592">BIG_480_56_sdiv</a></div><div class="ttdeci">void BIG_480_56_sdiv(BIG_480_56 x, BIG_480_56 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1188</div></div>
+<div class="ttc" id="big__480__56_8h_html_ab551d9ecadbc50da42e3236aa6e1f87a"><div class="ttname"><a href="big__480__56_8h.html#ab551d9ecadbc50da42e3236aa6e1f87a">BIG_480_56_cswap</a></div><div class="ttdeci">void BIG_480_56_cswap(BIG_480_56 x, BIG_480_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:92</div></div>
 <div class="ttc" id="big__480__56_8h_html_a113d5a5670c38ec951cd70c4267c7e65"><div class="ttname"><a href="big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">HMASK_480_56</a></div><div class="ttdeci">#define HMASK_480_56</div><div class="ttdef"><b>Definition:</b> big_480_56.h:46</div></div>
-<div class="ttc" id="big__480__56_8h_html_a21ef9b068d6b3becfe8350b93d832eac"><div class="ttname"><a href="big__480__56_8h.html#a21ef9b068d6b3becfe8350b93d832eac">BIG_480_56_shr</a></div><div class="ttdeci">void BIG_480_56_shr(BIG_480_56 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_480_56.c:864</div></div>
-<div class="ttc" id="big__480__56_8h_html_a22effc11ee2c8eb569e36bdf03968ac8"><div class="ttname"><a href="big__480__56_8h.html#a22effc11ee2c8eb569e36bdf03968ac8">BIG_480_56_output</a></div><div class="ttdeci">void BIG_480_56_output(BIG_480_56 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:55</div></div>
-<div class="ttc" id="big__480__56_8h_html_a624c721b627e0e4aceb9aaf1265398c8"><div class="ttname"><a href="big__480__56_8h.html#a624c721b627e0e4aceb9aaf1265398c8">BIG_480_56_dmod2m</a></div><div class="ttdeci">void BIG_480_56_dmod2m(DBIG_480_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1470</div></div>
-<div class="ttc" id="big__480__56_8h_html_a8c8346988739bdd5f389b90b449396da"><div class="ttname"><a href="big__480__56_8h.html#a8c8346988739bdd5f389b90b449396da">BIG_480_56_dmod</a></div><div class="ttdeci">void BIG_480_56_dmod(BIG_480_56 x, DBIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1113</div></div>
-<div class="ttc" id="big__480__56_8h_html_a013872b60f35eb897c622ed2dee532bd"><div class="ttname"><a href="big__480__56_8h.html#a013872b60f35eb897c622ed2dee532bd">BIG_480_56_nbits</a></div><div class="ttdeci">int BIG_480_56_nbits(BIG_480_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1040</div></div>
-<div class="ttc" id="big__480__56_8h_html_a95197c80445ab9d34ed872438508e901"><div class="ttname"><a href="big__480__56_8h.html#a95197c80445ab9d34ed872438508e901">BIG_480_56_sducopy</a></div><div class="ttdeci">void BIG_480_56_sducopy(BIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:306</div></div>
-<div class="ttc" id="big__480__56_8h_html_a2d05771607d388f881ea4519fc8858b4"><div class="ttname"><a href="big__480__56_8h.html#a2d05771607d388f881ea4519fc8858b4">BIG_480_56_ssn</a></div><div class="ttdeci">int BIG_480_56_ssn(BIG_480_56 r, BIG_480_56 a, BIG_480_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:877</div></div>
-<div class="ttc" id="config__big__480__56_8h_html"><div class="ttname"><a href="config__big__480__56_8h.html">config_big_480_56.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__480__56_8h_html_a6dfbd18b8fa18cdf69b51fb8fb4e2d08"><div class="ttname"><a href="big__480__56_8h.html#a6dfbd18b8fa18cdf69b51fb8fb4e2d08">BIG_480_56_imul</a></div><div class="ttdeci">void BIG_480_56_imul(BIG_480_56 x, BIG_480_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:450</div></div>
+<div class="ttc" id="big__480__56_8h_html_a21ef9b068d6b3becfe8350b93d832eac"><div class="ttname"><a href="big__480__56_8h.html#a21ef9b068d6b3becfe8350b93d832eac">BIG_480_56_shr</a></div><div class="ttdeci">void BIG_480_56_shr(BIG_480_56 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_480_56.c:864</div></div>
+<div class="ttc" id="big__480__56_8h_html_a22effc11ee2c8eb569e36bdf03968ac8"><div class="ttname"><a href="big__480__56_8h.html#a22effc11ee2c8eb569e36bdf03968ac8">BIG_480_56_output</a></div><div class="ttdeci">void BIG_480_56_output(BIG_480_56 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:55</div></div>
+<div class="ttc" id="big__480__56_8h_html_a624c721b627e0e4aceb9aaf1265398c8"><div class="ttname"><a href="big__480__56_8h.html#a624c721b627e0e4aceb9aaf1265398c8">BIG_480_56_dmod2m</a></div><div class="ttdeci">void BIG_480_56_dmod2m(DBIG_480_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1554</div></div>
+<div class="ttc" id="big__480__56_8h_html_a8c8346988739bdd5f389b90b449396da"><div class="ttname"><a href="big__480__56_8h.html#a8c8346988739bdd5f389b90b449396da">BIG_480_56_dmod</a></div><div class="ttdeci">void BIG_480_56_dmod(BIG_480_56 x, DBIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1113</div></div>
+<div class="ttc" id="big__480__56_8h_html_a013872b60f35eb897c622ed2dee532bd"><div class="ttname"><a href="big__480__56_8h.html#a013872b60f35eb897c622ed2dee532bd">BIG_480_56_nbits</a></div><div class="ttdeci">int BIG_480_56_nbits(BIG_480_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1040</div></div>
+<div class="ttc" id="big__480__56_8h_html_a95197c80445ab9d34ed872438508e901"><div class="ttname"><a href="big__480__56_8h.html#a95197c80445ab9d34ed872438508e901">BIG_480_56_sducopy</a></div><div class="ttdeci">void BIG_480_56_sducopy(BIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:306</div></div>
+<div class="ttc" id="big__480__56_8h_html_a2d05771607d388f881ea4519fc8858b4"><div class="ttname"><a href="big__480__56_8h.html#a2d05771607d388f881ea4519fc8858b4">BIG_480_56_ssn</a></div><div class="ttdeci">int BIG_480_56_ssn(BIG_480_56 r, BIG_480_56 a, BIG_480_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:877</div></div>
+<div class="ttc" id="config__big__480__56_8h_html"><div class="ttname"><a href="config__big__480__56_8h.html">config_big_480_56.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__480__56_8h_html_a6dfbd18b8fa18cdf69b51fb8fb4e2d08"><div class="ttname"><a href="big__480__56_8h.html#a6dfbd18b8fa18cdf69b51fb8fb4e2d08">BIG_480_56_imul</a></div><div class="ttdeci">void BIG_480_56_imul(BIG_480_56 x, BIG_480_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:450</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5e62a4f106f08e86c842a8ad431a880d"><div class="ttname"><a href="big__480__56_8h.html#a5e62a4f106f08e86c842a8ad431a880d">BIG_480_56_fshr</a></div><div class="ttdeci">int BIG_480_56_fshr(BIG_480_56 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_480_56.c:906</div></div>
-<div class="ttc" id="big__480__56_8h_html_a4a2733d3a1d0765ce73273eda3e72d18"><div class="ttname"><a href="big__480__56_8h.html#a4a2733d3a1d0765ce73273eda3e72d18">BIG_480_56_invmodp</a></div><div class="ttdeci">void BIG_480_56_invmodp(BIG_480_56 x, BIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1392</div></div>
-<div class="ttc" id="big__480__56_8h_html_a782c9882cfa6d9f8f4793c230fa2437c"><div class="ttname"><a href="big__480__56_8h.html#a782c9882cfa6d9f8f4793c230fa2437c">BIG_480_56_fromBytes</a></div><div class="ttdeci">void BIG_480_56_fromBytes(BIG_480_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:155</div></div>
-<div class="ttc" id="big__480__56_8h_html_a3a7bc2a2d85192a0507513addc7ddd2b"><div class="ttname"><a href="big__480__56_8h.html#a3a7bc2a2d85192a0507513addc7ddd2b">BIG_480_56_drawoutput</a></div><div class="ttdeci">void BIG_480_56_drawoutput(DBIG_480_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:212</div></div>
-<div class="ttc" id="big__480__56_8h_html_af33706cdce9d3ce60ddf2f11e36b42a8"><div class="ttname"><a href="big__480__56_8h.html#af33706cdce9d3ce60ddf2f11e36b42a8">BIG_480_56_pxmul</a></div><div class="ttdeci">void BIG_480_56_pxmul(DBIG_480_56 x, BIG_480_56 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_480_56.c:501</div></div>
-<div class="ttc" id="big__480__56_8h_html_aadd70e7e0dc4e26f83bb81a7e73db1ff"><div class="ttname"><a href="big__480__56_8h.html#aadd70e7e0dc4e26f83bb81a7e73db1ff">BIG_480_56_mul</a></div><div class="ttdeci">void BIG_480_56_mul(DBIG_480_56 x, BIG_480_56 y, BIG_480_56 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_480_56.c:542</div></div>
-<div class="ttc" id="big__480__56_8h_html_a476177652fb98c555e2e3ec36b2f8252"><div class="ttname"><a href="big__480__56_8h.html#a476177652fb98c555e2e3ec36b2f8252">BIG_480_56_modneg</a></div><div class="ttdeci">void BIG_480_56_modneg(BIG_480_56 x, BIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1327</div></div>
-<div class="ttc" id="big__480__56_8h_html_a7d03b7974ca262f77de3ffced4c2ae18"><div class="ttname"><a href="big__480__56_8h.html#a7d03b7974ca262f77de3ffced4c2ae18">BIG_480_56_rcopy</a></div><div class="ttdeci">void BIG_480_56_rcopy(BIG_480_56 x, const BIG_480_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:239</div></div>
+<div class="ttc" id="big__480__56_8h_html_a4a2733d3a1d0765ce73273eda3e72d18"><div class="ttname"><a href="big__480__56_8h.html#a4a2733d3a1d0765ce73273eda3e72d18">BIG_480_56_invmodp</a></div><div class="ttdeci">void BIG_480_56_invmodp(BIG_480_56 x, BIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1476</div></div>
+<div class="ttc" id="big__480__56_8h_html_a782c9882cfa6d9f8f4793c230fa2437c"><div class="ttname"><a href="big__480__56_8h.html#a782c9882cfa6d9f8f4793c230fa2437c">BIG_480_56_fromBytes</a></div><div class="ttdeci">void BIG_480_56_fromBytes(BIG_480_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:155</div></div>
+<div class="ttc" id="big__480__56_8h_html_a3a7bc2a2d85192a0507513addc7ddd2b"><div class="ttname"><a href="big__480__56_8h.html#a3a7bc2a2d85192a0507513addc7ddd2b">BIG_480_56_drawoutput</a></div><div class="ttdeci">void BIG_480_56_drawoutput(DBIG_480_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:212</div></div>
+<div class="ttc" id="big__480__56_8h_html_af33706cdce9d3ce60ddf2f11e36b42a8"><div class="ttname"><a href="big__480__56_8h.html#af33706cdce9d3ce60ddf2f11e36b42a8">BIG_480_56_pxmul</a></div><div class="ttdeci">void BIG_480_56_pxmul(DBIG_480_56 x, BIG_480_56 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_480_56.c:501</div></div>
+<div class="ttc" id="big__480__56_8h_html_aadd70e7e0dc4e26f83bb81a7e73db1ff"><div class="ttname"><a href="big__480__56_8h.html#aadd70e7e0dc4e26f83bb81a7e73db1ff">BIG_480_56_mul</a></div><div class="ttdeci">void BIG_480_56_mul(DBIG_480_56 x, BIG_480_56 y, BIG_480_56 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_480_56.c:542</div></div>
+<div class="ttc" id="big__480__56_8h_html_a476177652fb98c555e2e3ec36b2f8252"><div class="ttname"><a href="big__480__56_8h.html#a476177652fb98c555e2e3ec36b2f8252">BIG_480_56_modneg</a></div><div class="ttdeci">void BIG_480_56_modneg(BIG_480_56 x, BIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1327</div></div>
+<div class="ttc" id="big__480__56_8h_html_a7d03b7974ca262f77de3ffced4c2ae18"><div class="ttname"><a href="big__480__56_8h.html#a7d03b7974ca262f77de3ffced4c2ae18">BIG_480_56_rcopy</a></div><div class="ttdeci">void BIG_480_56_rcopy(BIG_480_56 x, const BIG_480_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:239</div></div>
 <div class="ttc" id="big__480__56_8h_html_a107885e16c56648b41e07de2996971d4"><div class="ttname"><a href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">NLEN_480_56</a></div><div class="ttdeci">#define NLEN_480_56</div><div class="ttdef"><b>Definition:</b> big_480_56.h:40</div></div>
-<div class="ttc" id="big__480__56_8h_html_a17f8b914c057850d24d2eedaeeda0194"><div class="ttname"><a href="big__480__56_8h.html#a17f8b914c057850d24d2eedaeeda0194">BIG_480_56_dscopy</a></div><div class="ttdeci">void BIG_480_56_dscopy(DBIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:263</div></div>
-<div class="ttc" id="big__480__56_8h_html_acc4d9424359572d599663fc4701c6fbf"><div class="ttname"><a href="big__480__56_8h.html#acc4d9424359572d599663fc4701c6fbf">BIG_480_56_dsub</a></div><div class="ttdeci">void BIG_480_56_dsub(DBIG_480_56 x, DBIG_480_56 y, DBIG_480_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:413</div></div>
-<div class="ttc" id="big__480__56_8h_html_a83e9dfd17e1fa042d4dbe5598c804f87"><div class="ttname"><a href="big__480__56_8h.html#a83e9dfd17e1fa042d4dbe5598c804f87">BIG_480_56_dcmove</a></div><div class="ttdeci">void BIG_480_56_dcmove(BIG_480_56 x, BIG_480_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__480__56_8h_html_a7a14175ff0df50f94fecff269acbe751"><div class="ttname"><a href="big__480__56_8h.html#a7a14175ff0df50f94fecff269acbe751">BIG_480_56_dsucopy</a></div><div class="ttdeci">void BIG_480_56_dsucopy(DBIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:280</div></div>
-<div class="ttc" id="big__480__56_8h_html_a20476ee52f34bcff0d327829f68ba488"><div class="ttname"><a href="big__480__56_8h.html#a20476ee52f34bcff0d327829f68ba488">BIG_480_56_dnorm</a></div><div class="ttdeci">void BIG_480_56_dnorm(DBIG_480_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:995</div></div>
-<div class="ttc" id="big__480__56_8h_html_ada5c2b33edff44a878b6f74d8acdf4c8"><div class="ttname"><a href="big__480__56_8h.html#ada5c2b33edff44a878b6f74d8acdf4c8">BIG_480_56_split</a></div><div class="ttdeci">chunk BIG_480_56_split(BIG_480_56 x, BIG_480_56 y, DBIG_480_56 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_480_56.c:932</div></div>
-<div class="ttc" id="big__480__56_8h_html_ad2d45611a34b6dbf5900cf38481ec470"><div class="ttname"><a href="big__480__56_8h.html#ad2d45611a34b6dbf5900cf38481ec470">BIG_480_56_div3</a></div><div class="ttdeci">int BIG_480_56_div3(BIG_480_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:484</div></div>
-<div class="ttc" id="big__480__56_8h_html_aebedffa18cdfb40a6e368ffbb549c7f8"><div class="ttname"><a href="big__480__56_8h.html#aebedffa18cdfb40a6e368ffbb549c7f8">BIG_480_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_480_56_dfromBytesLen(DBIG_480_56 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_480_56.c:1485</div></div>
+<div class="ttc" id="big__480__56_8h_html_a17f8b914c057850d24d2eedaeeda0194"><div class="ttname"><a href="big__480__56_8h.html#a17f8b914c057850d24d2eedaeeda0194">BIG_480_56_dscopy</a></div><div class="ttdeci">void BIG_480_56_dscopy(DBIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:263</div></div>
+<div class="ttc" id="big__480__56_8h_html_acc4d9424359572d599663fc4701c6fbf"><div class="ttname"><a href="big__480__56_8h.html#acc4d9424359572d599663fc4701c6fbf">BIG_480_56_dsub</a></div><div class="ttdeci">void BIG_480_56_dsub(DBIG_480_56 x, DBIG_480_56 y, DBIG_480_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:413</div></div>
+<div class="ttc" id="big__480__56_8h_html_a83e9dfd17e1fa042d4dbe5598c804f87"><div class="ttname"><a href="big__480__56_8h.html#a83e9dfd17e1fa042d4dbe5598c804f87">BIG_480_56_dcmove</a></div><div class="ttdeci">void BIG_480_56_dcmove(BIG_480_56 x, BIG_480_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__480__56_8h_html_a7a14175ff0df50f94fecff269acbe751"><div class="ttname"><a href="big__480__56_8h.html#a7a14175ff0df50f94fecff269acbe751">BIG_480_56_dsucopy</a></div><div class="ttdeci">void BIG_480_56_dsucopy(DBIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:280</div></div>
+<div class="ttc" id="big__480__56_8h_html_a20476ee52f34bcff0d327829f68ba488"><div class="ttname"><a href="big__480__56_8h.html#a20476ee52f34bcff0d327829f68ba488">BIG_480_56_dnorm</a></div><div class="ttdeci">void BIG_480_56_dnorm(DBIG_480_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:995</div></div>
+<div class="ttc" id="big__480__56_8h_html_ada5c2b33edff44a878b6f74d8acdf4c8"><div class="ttname"><a href="big__480__56_8h.html#ada5c2b33edff44a878b6f74d8acdf4c8">BIG_480_56_split</a></div><div class="ttdeci">chunk BIG_480_56_split(BIG_480_56 x, BIG_480_56 y, DBIG_480_56 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_480_56.c:932</div></div>
+<div class="ttc" id="big__480__56_8h_html_ad2d45611a34b6dbf5900cf38481ec470"><div class="ttname"><a href="big__480__56_8h.html#ad2d45611a34b6dbf5900cf38481ec470">BIG_480_56_div3</a></div><div class="ttdeci">int BIG_480_56_div3(BIG_480_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:484</div></div>
+<div class="ttc" id="big__480__56_8h_html_aebedffa18cdfb40a6e368ffbb549c7f8"><div class="ttname"><a href="big__480__56_8h.html#aebedffa18cdfb40a6e368ffbb549c7f8">BIG_480_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_480_56_dfromBytesLen(DBIG_480_56 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_480_56.c:1569</div></div>
 <div class="ttc" id="big__480__56_8h_html_af676f48b3a0c623a0202741c10a65142"><div class="ttname"><a href="big__480__56_8h.html#af676f48b3a0c623a0202741c10a65142">BIG_480_56_fshl</a></div><div class="ttdeci">int BIG_480_56_fshl(BIG_480_56 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_480_56.c:832</div></div>
-<div class="ttc" id="big__480__56_8h_html_aa6ec4d6efdbbea0a430a46105b9fc0dc"><div class="ttname"><a href="big__480__56_8h.html#aa6ec4d6efdbbea0a430a46105b9fc0dc">BIG_480_56_moddiv</a></div><div class="ttdeci">void BIG_480_56_moddiv(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z, BIG_480_56 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1337</div></div>
-<div class="ttc" id="big__480__56_8h_html_a277371b641330ca367ff1c2328374110"><div class="ttname"><a href="big__480__56_8h.html#a277371b641330ca367ff1c2328374110">BIG_480_56_dec</a></div><div class="ttdeci">void BIG_480_56_dec(BIG_480_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:440</div></div>
-<div class="ttc" id="big__480__56_8h_html_a16bd551c738ca6ae10e89dfdc1b35411"><div class="ttname"><a href="big__480__56_8h.html#a16bd551c738ca6ae10e89dfdc1b35411">BIG_480_56_mod</a></div><div class="ttdeci">void BIG_480_56_mod(BIG_480_56 x, BIG_480_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1082</div></div>
-<div class="ttc" id="big__480__56_8h_html_ac83f3cf20caa3589e408936764ce1d6f"><div class="ttname"><a href="big__480__56_8h.html#ac83f3cf20caa3589e408936764ce1d6f">BIG_480_56_pmul</a></div><div class="ttdeci">chunk BIG_480_56_pmul(BIG_480_56 x, BIG_480_56 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_480_56.c:465</div></div>
+<div class="ttc" id="big__480__56_8h_html_aa6ec4d6efdbbea0a430a46105b9fc0dc"><div class="ttname"><a href="big__480__56_8h.html#aa6ec4d6efdbbea0a430a46105b9fc0dc">BIG_480_56_moddiv</a></div><div class="ttdeci">void BIG_480_56_moddiv(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z, BIG_480_56 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1337</div></div>
+<div class="ttc" id="big__480__56_8h_html_a277371b641330ca367ff1c2328374110"><div class="ttname"><a href="big__480__56_8h.html#a277371b641330ca367ff1c2328374110">BIG_480_56_dec</a></div><div class="ttdeci">void BIG_480_56_dec(BIG_480_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:440</div></div>
+<div class="ttc" id="big__480__56_8h_html_a16bd551c738ca6ae10e89dfdc1b35411"><div class="ttname"><a href="big__480__56_8h.html#a16bd551c738ca6ae10e89dfdc1b35411">BIG_480_56_mod</a></div><div class="ttdeci">void BIG_480_56_mod(BIG_480_56 x, BIG_480_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1082</div></div>
+<div class="ttc" id="big__480__56_8h_html_ac83f3cf20caa3589e408936764ce1d6f"><div class="ttname"><a href="big__480__56_8h.html#ac83f3cf20caa3589e408936764ce1d6f">BIG_480_56_pmul</a></div><div class="ttdeci">chunk BIG_480_56_pmul(BIG_480_56 x, BIG_480_56 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_480_56.c:465</div></div>
 <div class="ttc" id="big__480__56_8h_html_ae9d987e3791bf8810bdc6af8f1d08e7b"><div class="ttname"><a href="big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">BMASK_480_56</a></div><div class="ttdeci">#define BMASK_480_56</div><div class="ttdef"><b>Definition:</b> big_480_56.h:42</div></div>
-<div class="ttc" id="big__480__56_8h_html_ab3d361b6b75ff270ff201275cbb91306"><div class="ttname"><a href="big__480__56_8h.html#ab3d361b6b75ff270ff201275cbb91306">BIG_480_56_smul</a></div><div class="ttdeci">void BIG_480_56_smul(BIG_480_56 x, BIG_480_56 y, BIG_480_56 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_480_56.c:518</div></div>
-<div class="ttc" id="big__480__56_8h_html_a8e5257519818e87b2eead6faa1b6fa2d"><div class="ttname"><a href="big__480__56_8h.html#a8e5257519818e87b2eead6faa1b6fa2d">BIG_480_56_add</a></div><div class="ttdeci">void BIG_480_56_add(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:356</div></div>
-<div class="ttc" id="big__480__56_8h_html_ad4324b2705b720c7799e698eaf4eab06"><div class="ttname"><a href="big__480__56_8h.html#ad4324b2705b720c7799e698eaf4eab06">BIG_480_56_bit</a></div><div class="ttdeci">int BIG_480_56_bit(BIG_480_56 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1232</div></div>
-<div class="ttc" id="big__480__56_8h_html_ac2b74798b2f36bed949292578b2c8ccf"><div class="ttname"><a href="big__480__56_8h.html#ac2b74798b2f36bed949292578b2c8ccf">BIG_480_56_sdcopy</a></div><div class="ttdeci">void BIG_480_56_sdcopy(BIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:294</div></div>
-<div class="ttc" id="big__480__56_8h_html_adbfad664755e5e4faca41a489874e27e"><div class="ttname"><a href="big__480__56_8h.html#adbfad664755e5e4faca41a489874e27e">BIG_480_56_dcomp</a></div><div class="ttdeci">int BIG_480_56_dcomp(DBIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1026</div></div>
-<div class="ttc" id="big__480__56_8h_html_a4c29fb52530e41e63847798b786a17a8"><div class="ttname"><a href="big__480__56_8h.html#a4c29fb52530e41e63847798b786a17a8">BIG_480_56_shl</a></div><div class="ttdeci">void BIG_480_56_shl(BIG_480_56 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_480_56.c:813</div></div>
-<div class="ttc" id="big__480__56_8h_html_a543fe683aa28b000e5acb4d81697fd7b"><div class="ttname"><a href="big__480__56_8h.html#a543fe683aa28b000e5acb4d81697fd7b">BIG_480_56_sqr</a></div><div class="ttdeci">void BIG_480_56_sqr(DBIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:618</div></div>
-<div class="ttc" id="big__480__56_8h_html_aebf60fe977093d58068b9b0e58bf17c5"><div class="ttname"><a href="big__480__56_8h.html#aebf60fe977093d58068b9b0e58bf17c5">BIG_480_56_random</a></div><div class="ttdeci">void BIG_480_56_random(BIG_480_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1248</div></div>
-<div class="ttc" id="big__480__56_8h_html_a08f52c861db3ca7636b17cef71ec1b9c"><div class="ttname"><a href="big__480__56_8h.html#a08f52c861db3ca7636b17cef71ec1b9c">BIG_480_56_ddiv</a></div><div class="ttdeci">void BIG_480_56_ddiv(BIG_480_56 x, DBIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1149</div></div>
-<div class="ttc" id="big__480__56_8h_html_aa4cf001310d171c18cf8b5b221024703"><div class="ttname"><a href="big__480__56_8h.html#aa4cf001310d171c18cf8b5b221024703">BIG_480_56_diszilch</a></div><div class="ttdeci">int BIG_480_56_diszilch(DBIG_480_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:45</div></div>
-<div class="ttc" id="big__480__56_8h_html_af66aac99fc1b3c2e396829831f4725d2"><div class="ttname"><a href="big__480__56_8h.html#af66aac99fc1b3c2e396829831f4725d2">BIG_480_56_dcopy</a></div><div class="ttdeci">void BIG_480_56_dcopy(DBIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:251</div></div>
-<div class="ttc" id="big__480__56_8h_html_a69055d3eb0e8d97a8ec758c5462ef051"><div class="ttname"><a href="big__480__56_8h.html#a69055d3eb0e8d97a8ec758c5462ef051">BIG_480_56_modmul</a></div><div class="ttdeci">void BIG_480_56_modmul(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z, BIG_480_56 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1300</div></div>
-<div class="ttc" id="big__480__56_8h_html_a5a1efb721dac640b6d66204f06ba3097"><div class="ttname"><a href="big__480__56_8h.html#a5a1efb721dac640b6d66204f06ba3097">BIG_480_56_inc</a></div><div class="ttdeci">void BIG_480_56_inc(BIG_480_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:386</div></div>
+<div class="ttc" id="big__480__56_8h_html_ab3d361b6b75ff270ff201275cbb91306"><div class="ttname"><a href="big__480__56_8h.html#ab3d361b6b75ff270ff201275cbb91306">BIG_480_56_smul</a></div><div class="ttdeci">void BIG_480_56_smul(BIG_480_56 x, BIG_480_56 y, BIG_480_56 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_480_56.c:518</div></div>
+<div class="ttc" id="big__480__56_8h_html_a8e5257519818e87b2eead6faa1b6fa2d"><div class="ttname"><a href="big__480__56_8h.html#a8e5257519818e87b2eead6faa1b6fa2d">BIG_480_56_add</a></div><div class="ttdeci">void BIG_480_56_add(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:356</div></div>
+<div class="ttc" id="big__480__56_8h_html_ad4324b2705b720c7799e698eaf4eab06"><div class="ttname"><a href="big__480__56_8h.html#ad4324b2705b720c7799e698eaf4eab06">BIG_480_56_bit</a></div><div class="ttdeci">int BIG_480_56_bit(BIG_480_56 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1232</div></div>
+<div class="ttc" id="big__480__56_8h_html_ac2b74798b2f36bed949292578b2c8ccf"><div class="ttname"><a href="big__480__56_8h.html#ac2b74798b2f36bed949292578b2c8ccf">BIG_480_56_sdcopy</a></div><div class="ttdeci">void BIG_480_56_sdcopy(BIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:294</div></div>
+<div class="ttc" id="big__480__56_8h_html_adbfad664755e5e4faca41a489874e27e"><div class="ttname"><a href="big__480__56_8h.html#adbfad664755e5e4faca41a489874e27e">BIG_480_56_dcomp</a></div><div class="ttdeci">int BIG_480_56_dcomp(DBIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1026</div></div>
+<div class="ttc" id="big__480__56_8h_html_a4c29fb52530e41e63847798b786a17a8"><div class="ttname"><a href="big__480__56_8h.html#a4c29fb52530e41e63847798b786a17a8">BIG_480_56_shl</a></div><div class="ttdeci">void BIG_480_56_shl(BIG_480_56 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_480_56.c:813</div></div>
+<div class="ttc" id="big__480__56_8h_html_a543fe683aa28b000e5acb4d81697fd7b"><div class="ttname"><a href="big__480__56_8h.html#a543fe683aa28b000e5acb4d81697fd7b">BIG_480_56_sqr</a></div><div class="ttdeci">void BIG_480_56_sqr(DBIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:618</div></div>
+<div class="ttc" id="big__480__56_8h_html_aebf60fe977093d58068b9b0e58bf17c5"><div class="ttname"><a href="big__480__56_8h.html#aebf60fe977093d58068b9b0e58bf17c5">BIG_480_56_random</a></div><div class="ttdeci">void BIG_480_56_random(BIG_480_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1248</div></div>
+<div class="ttc" id="big__480__56_8h_html_a08f52c861db3ca7636b17cef71ec1b9c"><div class="ttname"><a href="big__480__56_8h.html#a08f52c861db3ca7636b17cef71ec1b9c">BIG_480_56_ddiv</a></div><div class="ttdeci">void BIG_480_56_ddiv(BIG_480_56 x, DBIG_480_56 y, BIG_480_56 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1149</div></div>
+<div class="ttc" id="big__480__56_8h_html_aa4cf001310d171c18cf8b5b221024703"><div class="ttname"><a href="big__480__56_8h.html#aa4cf001310d171c18cf8b5b221024703">BIG_480_56_diszilch</a></div><div class="ttdeci">int BIG_480_56_diszilch(DBIG_480_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:45</div></div>
+<div class="ttc" id="big__480__56_8h_html_af66aac99fc1b3c2e396829831f4725d2"><div class="ttname"><a href="big__480__56_8h.html#af66aac99fc1b3c2e396829831f4725d2">BIG_480_56_dcopy</a></div><div class="ttdeci">void BIG_480_56_dcopy(DBIG_480_56 x, DBIG_480_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:251</div></div>
+<div class="ttc" id="big__480__56_8h_html_a69055d3eb0e8d97a8ec758c5462ef051"><div class="ttname"><a href="big__480__56_8h.html#a69055d3eb0e8d97a8ec758c5462ef051">BIG_480_56_modmul</a></div><div class="ttdeci">void BIG_480_56_modmul(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z, BIG_480_56 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1300</div></div>
+<div class="ttc" id="big__480__56_8h_html_a5a1efb721dac640b6d66204f06ba3097"><div class="ttname"><a href="big__480__56_8h.html#a5a1efb721dac640b6d66204f06ba3097">BIG_480_56_inc</a></div><div class="ttdeci">void BIG_480_56_inc(BIG_480_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:386</div></div>
 <div class="ttc" id="config__big__480__56_8h_html_a8b36f73ee9c8cd16183b3a6d4ac21c8c"><div class="ttname"><a href="config__big__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">BASEBITS_480_56</a></div><div class="ttdeci">#define BASEBITS_480_56</div><div class="ttdef"><b>Definition:</b> config_big_480_56.h:35</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__480__56_8h_html_aea88c233d6adef32a3a6952d1f62a7da"><div class="ttname"><a href="big__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da">BIG_480_56_invmod2m</a></div><div class="ttdeci">void BIG_480_56_invmod2m(BIG_480_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__480__56_8h_html_ab508f60468bf615a84a75a77b7c6d6c7"><div class="ttname"><a href="big__480__56_8h.html#ab508f60468bf615a84a75a77b7c6d6c7">BIG_480_56_sub</a></div><div class="ttdeci">void BIG_480_56_sub(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:397</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"><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__480__56_8h_html_aea88c233d6adef32a3a6952d1f62a7da"><div class="ttname"><a href="big__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da">BIG_480_56_invmod2m</a></div><div class="ttdeci">void BIG_480_56_invmod2m(BIG_480_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1432</div></div>
+<div class="ttc" id="big__480__56_8h_html_ab508f60468bf615a84a75a77b7c6d6c7"><div class="ttname"><a href="big__480__56_8h.html#ab508f60468bf615a84a75a77b7c6d6c7">BIG_480_56_sub</a></div><div class="ttdeci">void BIG_480_56_sub(BIG_480_56 x, BIG_480_56 y, BIG_480_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:397</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__480__56_8h_html_a42677bc10f21b5ae85726712aa1e9d28"><div class="ttname"><a href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">DNLEN_480_56</a></div><div class="ttdeci">#define DNLEN_480_56</div><div class="ttdef"><b>Definition:</b> big_480_56.h:41</div></div>
-<div class="ttc" id="big__480__56_8h_html_a9cf77f88cf8141aca7a62a5636517931"><div class="ttname"><a href="big__480__56_8h.html#a9cf77f88cf8141aca7a62a5636517931">BIG_480_56_toBytes</a></div><div class="ttdeci">void BIG_480_56_toBytes(char *a, BIG_480_56 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:141</div></div>
+<div class="ttc" id="big__480__56_8h_html_a9cf77f88cf8141aca7a62a5636517931"><div class="ttname"><a href="big__480__56_8h.html#a9cf77f88cf8141aca7a62a5636517931">BIG_480_56_toBytes</a></div><div class="ttdeci">void BIG_480_56_toBytes(char *a, BIG_480_56 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:141</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__480__56_8h_html_ab9f6b3e14b45a6451b3a44897d6f3acb"><div class="ttname"><a href="big__480__56_8h.html#ab9f6b3e14b45a6451b3a44897d6f3acb">BIG_480_56_dnbits</a></div><div class="ttdeci">int BIG_480_56_dnbits(DBIG_480_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1060</div></div>
-<div class="ttc" id="big__480__56_8h_html_a2d735315112d67cea6c4bff632131de3"><div class="ttname"><a href="big__480__56_8h.html#a2d735315112d67cea6c4bff632131de3">BIG_480_56_cmove</a></div><div class="ttdeci">void BIG_480_56_cmove(BIG_480_56 x, BIG_480_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:110</div></div>
+<div class="ttc" id="big__480__56_8h_html_ab9f6b3e14b45a6451b3a44897d6f3acb"><div class="ttname"><a href="big__480__56_8h.html#ab9f6b3e14b45a6451b3a44897d6f3acb">BIG_480_56_dnbits</a></div><div class="ttdeci">int BIG_480_56_dnbits(DBIG_480_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1060</div></div>
+<div class="ttc" id="big__480__56_8h_html_a2d735315112d67cea6c4bff632131de3"><div class="ttname"><a href="big__480__56_8h.html#a2d735315112d67cea6c4bff632131de3">BIG_480_56_cmove</a></div><div class="ttdeci">void BIG_480_56_cmove(BIG_480_56 x, BIG_480_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:110</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
-<div class="ttc" id="big__480__56_8h_html_ad1876ba85064a3e2c534038e3c745779"><div class="ttname"><a href="big__480__56_8h.html#ad1876ba85064a3e2c534038e3c745779">BIG_480_56_parity</a></div><div class="ttdeci">int BIG_480_56_parity(BIG_480_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1225</div></div>
-<div class="ttc" id="big__480__56_8h_html_a50cb6208874f4bcec5a44e00f0bbf56a"><div class="ttname"><a href="big__480__56_8h.html#a50cb6208874f4bcec5a44e00f0bbf56a">BIG_480_56_iszilch</a></div><div class="ttdeci">int BIG_480_56_iszilch(BIG_480_56 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:26</div></div>
-<div class="ttc" id="big__480__56_8h_html_a66b634d53a1a37e541f9bb59294eaf81"><div class="ttname"><a href="big__480__56_8h.html#a66b634d53a1a37e541f9bb59294eaf81">BIG_480_56_fromBytesLen</a></div><div class="ttdeci">void BIG_480_56_fromBytesLen(BIG_480_56 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_480_56.c:170</div></div>
-<div class="ttc" id="big__480__56_8h_html_a368778047abd67a425508ce8880b8a0f"><div class="ttname"><a href="big__480__56_8h.html#a368778047abd67a425508ce8880b8a0f">BIG_480_56_mod2m</a></div><div class="ttdeci">void BIG_480_56_mod2m(BIG_480_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1456</div></div>
-<div class="ttc" id="big__480__56_8h_html_adea54cdff82f34a7f9e4c15e04c13a39"><div class="ttname"><a href="big__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39">BIG_480_56_zero</a></div><div class="ttdeci">void BIG_480_56_zero(BIG_480_56 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:319</div></div>
-<div class="ttc" id="big__480__56_8h_html_a2d280d56bd13cd60a38f385b869b8023"><div class="ttname"><a href="big__480__56_8h.html#a2d280d56bd13cd60a38f385b869b8023">BIG_480_56_norm</a></div><div class="ttdeci">chunk BIG_480_56_norm(BIG_480_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:976</div></div>
-<div class="ttc" id="big__480__56_8h_html_acd8546a172621ec422a00bb28042f36b"><div class="ttname"><a href="big__480__56_8h.html#acd8546a172621ec422a00bb28042f36b">BIG_480_56_dshl</a></div><div class="ttdeci">void BIG_480_56_dshl(DBIG_480_56 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_480_56.c:846</div></div>
-<div class="ttc" id="big__480__56_8h_html_a97ee2f2834a8aeed7dbc84587eb13f3b"><div class="ttname"><a href="big__480__56_8h.html#a97ee2f2834a8aeed7dbc84587eb13f3b">BIG_480_56_isunity</a></div><div class="ttdeci">int BIG_480_56_isunity(BIG_480_56 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_480_56.c:35</div></div>
-<div class="ttc" id="big__480__56_8h_html_a757a2937fb92fa33d0a54bbe2b9a3e02"><div class="ttname"><a href="big__480__56_8h.html#a757a2937fb92fa33d0a54bbe2b9a3e02">BIG_480_56_jacobi</a></div><div class="ttdeci">int BIG_480_56_jacobi(BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_480_56.c:1354</div></div>
-<div class="ttc" id="big__480__56_8h_html_a36b7f2c620c6667f6fa70aededb38047"><div class="ttname"><a href="big__480__56_8h.html#a36b7f2c620c6667f6fa70aededb38047">BIG_480_56_dshr</a></div><div class="ttdeci">void BIG_480_56_dshr(DBIG_480_56 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_480_56.c:918</div></div>
-<div class="ttc" id="big__480__56_8h_html_ab4aab4402fa666f3fa59d916c79a5e1b"><div class="ttname"><a href="big__480__56_8h.html#ab4aab4402fa666f3fa59d916c79a5e1b">BIG_480_56_one</a></div><div class="ttdeci">void BIG_480_56_one(BIG_480_56 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_480_56.c:340</div></div>
-<div class="ttc" id="big__480__56_8h_html_a9594164723abfc2cfd6278ed8142c338"><div class="ttname"><a href="big__480__56_8h.html#a9594164723abfc2cfd6278ed8142c338">BIG_480_56_randomnum</a></div><div class="ttdeci">void BIG_480_56_randomnum(BIG_480_56 x, BIG_480_56 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_480_56.c:1274</div></div>
+<div class="ttc" id="big__480__56_8h_html_ad1876ba85064a3e2c534038e3c745779"><div class="ttname"><a href="big__480__56_8h.html#ad1876ba85064a3e2c534038e3c745779">BIG_480_56_parity</a></div><div class="ttdeci">int BIG_480_56_parity(BIG_480_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1225</div></div>
+<div class="ttc" id="big__480__56_8h_html_a50cb6208874f4bcec5a44e00f0bbf56a"><div class="ttname"><a href="big__480__56_8h.html#a50cb6208874f4bcec5a44e00f0bbf56a">BIG_480_56_iszilch</a></div><div class="ttdeci">int BIG_480_56_iszilch(BIG_480_56 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:26</div></div>
+<div class="ttc" id="big__480__56_8h_html_a66b634d53a1a37e541f9bb59294eaf81"><div class="ttname"><a href="big__480__56_8h.html#a66b634d53a1a37e541f9bb59294eaf81">BIG_480_56_fromBytesLen</a></div><div class="ttdeci">void BIG_480_56_fromBytesLen(BIG_480_56 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_480_56.c:170</div></div>
+<div class="ttc" id="big__480__56_8h_html_a368778047abd67a425508ce8880b8a0f"><div class="ttname"><a href="big__480__56_8h.html#a368778047abd67a425508ce8880b8a0f">BIG_480_56_mod2m</a></div><div class="ttdeci">void BIG_480_56_mod2m(BIG_480_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1540</div></div>
+<div class="ttc" id="big__480__56_8h_html_adea54cdff82f34a7f9e4c15e04c13a39"><div class="ttname"><a href="big__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39">BIG_480_56_zero</a></div><div class="ttdeci">void BIG_480_56_zero(BIG_480_56 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:319</div></div>
+<div class="ttc" id="big__480__56_8h_html_a2d280d56bd13cd60a38f385b869b8023"><div class="ttname"><a href="big__480__56_8h.html#a2d280d56bd13cd60a38f385b869b8023">BIG_480_56_norm</a></div><div class="ttdeci">chunk BIG_480_56_norm(BIG_480_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:976</div></div>
+<div class="ttc" id="big__480__56_8h_html_acd8546a172621ec422a00bb28042f36b"><div class="ttname"><a href="big__480__56_8h.html#acd8546a172621ec422a00bb28042f36b">BIG_480_56_dshl</a></div><div class="ttdeci">void BIG_480_56_dshl(DBIG_480_56 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_480_56.c:846</div></div>
+<div class="ttc" id="big__480__56_8h_html_a97ee2f2834a8aeed7dbc84587eb13f3b"><div class="ttname"><a href="big__480__56_8h.html#a97ee2f2834a8aeed7dbc84587eb13f3b">BIG_480_56_isunity</a></div><div class="ttdeci">int BIG_480_56_isunity(BIG_480_56 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_480_56.c:35</div></div>
+<div class="ttc" id="big__480__56_8h_html_a757a2937fb92fa33d0a54bbe2b9a3e02"><div class="ttname"><a href="big__480__56_8h.html#a757a2937fb92fa33d0a54bbe2b9a3e02">BIG_480_56_jacobi</a></div><div class="ttdeci">int BIG_480_56_jacobi(BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_480_56.c:1354</div></div>
+<div class="ttc" id="big__480__56_8h_html_a36b7f2c620c6667f6fa70aededb38047"><div class="ttname"><a href="big__480__56_8h.html#a36b7f2c620c6667f6fa70aededb38047">BIG_480_56_dshr</a></div><div class="ttdeci">void BIG_480_56_dshr(DBIG_480_56 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_480_56.c:918</div></div>
+<div class="ttc" id="big__480__56_8h_html_ab4aab4402fa666f3fa59d916c79a5e1b"><div class="ttname"><a href="big__480__56_8h.html#ab4aab4402fa666f3fa59d916c79a5e1b">BIG_480_56_one</a></div><div class="ttdeci">void BIG_480_56_one(BIG_480_56 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_480_56.c:340</div></div>
+<div class="ttc" id="big__480__56_8h_html_a9594164723abfc2cfd6278ed8142c338"><div class="ttname"><a href="big__480__56_8h.html#a9594164723abfc2cfd6278ed8142c338">BIG_480_56_randomnum</a></div><div class="ttdeci">void BIG_480_56_randomnum(BIG_480_56 x, BIG_480_56 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_480_56.c:1274</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__512__29_8h.html b/website/static/cdocs/big__512__29_8h.html
deleted file mode 100644
index d2f2049..0000000
--- a/website/static/cdocs/big__512__29_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_512_29.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_512_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
-<code>#include &lt;stdlib.h&gt;</code><br />
-<code>#include &lt;inttypes.h&gt;</code><br />
-<code>#include &quot;<a class="el" href="arch_8h_source.html">arch.h</a>&quot;</code><br />
-<code>#include &quot;amcl.h&quot;</code><br />
-<code>#include &quot;<a class="el" href="config__big__512__29_8h_source.html">config_big_512_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__512__29_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:a4ddec2d6c6f7f1609ded4668d1d73c6a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4ddec2d6c6f7f1609ded4668d1d73c6a">BIGBITS_512_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>)</td></tr>
-<tr class="separator:a4ddec2d6c6f7f1609ded4668d1d73c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0dce870dae751af5136f4884be7ff6c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>-1)/<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>))</td></tr>
-<tr class="separator:a0dce870dae751af5136f4884be7ff6c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adfe44d8588bd795d4e89c4ed71c678cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</a>&#160;&#160;&#160;2*<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a></td></tr>
-<tr class="separator:adfe44d8588bd795d4e89c4ed71c678cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeaae8fdd385b6bb97821f6938a2f972d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">BMASK_512_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>)-1)</td></tr>
-<tr class="separator:aeaae8fdd385b6bb97821f6938a2f972d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abbb65ff3dcf6f8c01ad07af79c8aed5a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#abbb65ff3dcf6f8c01ad07af79c8aed5a">NEXCESS_512_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>-1))</td></tr>
-<tr class="separator:abbb65ff3dcf6f8c01ad07af79c8aed5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeb0b7111551770ccad3de595f72ec1dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>/2)</td></tr>
-<tr class="separator:aeb0b7111551770ccad3de595f72ec1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a24fd39c4a9249896d4f4f04a56c6cbb3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">HMASK_512_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>)-1)</td></tr>
-<tr class="separator:a24fd39c4a9249896d4f4f04a56c6cbb3"><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:aa158f4654aade263ca6b586723e4a8f2"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>[<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>]</td></tr>
-<tr class="separator:aa158f4654aade263ca6b586723e4a8f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3efad5f4e604a43d3ef080510b6cbc1d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>[<a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</a>]</td></tr>
-<tr class="separator:a3efad5f4e604a43d3ef080510b6cbc1d"><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:a9b67440bd86823dc6c93068f6259b36a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a">BIG_512_29_iszilch</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a9b67440bd86823dc6c93068f6259b36a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a9b67440bd86823dc6c93068f6259b36a">More...</a><br /></td></tr>
-<tr class="separator:a9b67440bd86823dc6c93068f6259b36a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0a1d7cd9bf0fb160b308e007487220cd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd">BIG_512_29_isunity</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a0a1d7cd9bf0fb160b308e007487220cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#a0a1d7cd9bf0fb160b308e007487220cd">More...</a><br /></td></tr>
-<tr class="separator:a0a1d7cd9bf0fb160b308e007487220cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b4fee35bb5a87693561f43f711c429f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f">BIG_512_29_diszilch</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a6b4fee35bb5a87693561f43f711c429f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a6b4fee35bb5a87693561f43f711c429f">More...</a><br /></td></tr>
-<tr class="separator:a6b4fee35bb5a87693561f43f711c429f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3a1506f9c8d3e9eb183871fbc445d86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86">BIG_512_29_output</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:aa3a1506f9c8d3e9eb183871fbc445d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#aa3a1506f9c8d3e9eb183871fbc445d86">More...</a><br /></td></tr>
-<tr class="separator:aa3a1506f9c8d3e9eb183871fbc445d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a964c31ebf5da6c9f720e71488e92c229"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229">BIG_512_29_rawoutput</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a964c31ebf5da6c9f720e71488e92c229"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a964c31ebf5da6c9f720e71488e92c229">More...</a><br /></td></tr>
-<tr class="separator:a964c31ebf5da6c9f720e71488e92c229"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d741d44e70c267ac25447772639cc4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b">BIG_512_29_cswap</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int s)</td></tr>
-<tr class="memdesc:a4d741d44e70c267ac25447772639cc4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a4d741d44e70c267ac25447772639cc4b">More...</a><br /></td></tr>
-<tr class="separator:a4d741d44e70c267ac25447772639cc4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7b88a0698325b8b2f024bc7fc7de6e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5">BIG_512_29_cmove</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int s)</td></tr>
-<tr class="memdesc:ae7b88a0698325b8b2f024bc7fc7de6e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#ae7b88a0698325b8b2f024bc7fc7de6e5">More...</a><br /></td></tr>
-<tr class="separator:ae7b88a0698325b8b2f024bc7fc7de6e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d2f6fc83e7d0edc6e2387dbf745af64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64">BIG_512_29_dcmove</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int s)</td></tr>
-<tr class="memdesc:a6d2f6fc83e7d0edc6e2387dbf745af64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#a6d2f6fc83e7d0edc6e2387dbf745af64">More...</a><br /></td></tr>
-<tr class="separator:a6d2f6fc83e7d0edc6e2387dbf745af64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a582f433b44350ccac18c8bb2ef0683c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9">BIG_512_29_toBytes</a> (char *a, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a582f433b44350ccac18c8bb2ef0683c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a582f433b44350ccac18c8bb2ef0683c9">More...</a><br /></td></tr>
-<tr class="separator:a582f433b44350ccac18c8bb2ef0683c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a778f9f8324146cd108bb733470f94bc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4">BIG_512_29_fromBytes</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, char *a)</td></tr>
-<tr class="memdesc:a778f9f8324146cd108bb733470f94bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a778f9f8324146cd108bb733470f94bc4">More...</a><br /></td></tr>
-<tr class="separator:a778f9f8324146cd108bb733470f94bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a060938bb70049000034ee79e4d5df8a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5">BIG_512_29_fromBytesLen</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a060938bb70049000034ee79e4d5df8a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#a060938bb70049000034ee79e4d5df8a5">More...</a><br /></td></tr>
-<tr class="separator:a060938bb70049000034ee79e4d5df8a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7240de125fe7edc33b9d2b42501670a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9">BIG_512_29_dfromBytesLen</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a7240de125fe7edc33b9d2b42501670a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#a7240de125fe7edc33b9d2b42501670a9">More...</a><br /></td></tr>
-<tr class="separator:a7240de125fe7edc33b9d2b42501670a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad12d14dea932c78537a270d3637fd0cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb">BIG_512_29_doutput</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
-<tr class="memdesc:ad12d14dea932c78537a270d3637fd0cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#ad12d14dea932c78537a270d3637fd0cb">More...</a><br /></td></tr>
-<tr class="separator:ad12d14dea932c78537a270d3637fd0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d4d5f5da2a3b96e945f74b9e58aff60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60">BIG_512_29_drawoutput</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a1d4d5f5da2a3b96e945f74b9e58aff60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a1d4d5f5da2a3b96e945f74b9e58aff60">More...</a><br /></td></tr>
-<tr class="separator:a1d4d5f5da2a3b96e945f74b9e58aff60"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18b23f26a5d38fcbb00cfc8b6c9c5074"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074">BIG_512_29_rcopy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, const <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a18b23f26a5d38fcbb00cfc8b6c9c5074"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#a18b23f26a5d38fcbb00cfc8b6c9c5074">More...</a><br /></td></tr>
-<tr class="separator:a18b23f26a5d38fcbb00cfc8b6c9c5074"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a53bb3078d97123c97fd18fa4ac1303b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0">BIG_512_29_copy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a53bb3078d97123c97fd18fa4ac1303b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#a53bb3078d97123c97fd18fa4ac1303b0">More...</a><br /></td></tr>
-<tr class="separator:a53bb3078d97123c97fd18fa4ac1303b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d9ce0a85928fdcba3c0ae04ca6de41a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a">BIG_512_29_dcopy</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a5d9ce0a85928fdcba3c0ae04ca6de41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a5d9ce0a85928fdcba3c0ae04ca6de41a">More...</a><br /></td></tr>
-<tr class="separator:a5d9ce0a85928fdcba3c0ae04ca6de41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a278fadb24eca779cdb3fd3ae3f247125"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125">BIG_512_29_dsucopy</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a278fadb24eca779cdb3fd3ae3f247125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#a278fadb24eca779cdb3fd3ae3f247125">More...</a><br /></td></tr>
-<tr class="separator:a278fadb24eca779cdb3fd3ae3f247125"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63f756ee341108a1243525b79fae8071"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a63f756ee341108a1243525b79fae8071">BIG_512_29_dscopy</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a63f756ee341108a1243525b79fae8071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#a63f756ee341108a1243525b79fae8071">More...</a><br /></td></tr>
-<tr class="separator:a63f756ee341108a1243525b79fae8071"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7c281888a5acd5431ebd914cd88507c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3">BIG_512_29_sdcopy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a7c281888a5acd5431ebd914cd88507c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a7c281888a5acd5431ebd914cd88507c3">More...</a><br /></td></tr>
-<tr class="separator:a7c281888a5acd5431ebd914cd88507c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16d0d8b4f066c5d2f49f3fd0340198c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4">BIG_512_29_sducopy</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a16d0d8b4f066c5d2f49f3fd0340198c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#a16d0d8b4f066c5d2f49f3fd0340198c4">More...</a><br /></td></tr>
-<tr class="separator:a16d0d8b4f066c5d2f49f3fd0340198c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0f1b5d55f4bf7d5c436cc020e7f86f01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01">BIG_512_29_zero</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a0f1b5d55f4bf7d5c436cc020e7f86f01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a0f1b5d55f4bf7d5c436cc020e7f86f01">More...</a><br /></td></tr>
-<tr class="separator:a0f1b5d55f4bf7d5c436cc020e7f86f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83aca7417f7c9fd686c9dff9e6972f69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69">BIG_512_29_dzero</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a83aca7417f7c9fd686c9dff9e6972f69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#a83aca7417f7c9fd686c9dff9e6972f69">More...</a><br /></td></tr>
-<tr class="separator:a83aca7417f7c9fd686c9dff9e6972f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8f1937ca0a5c2f670587bafd66259514"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514">BIG_512_29_one</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a8f1937ca0a5c2f670587bafd66259514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#a8f1937ca0a5c2f670587bafd66259514">More...</a><br /></td></tr>
-<tr class="separator:a8f1937ca0a5c2f670587bafd66259514"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad64b757779c8517f8dab751ced045dd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9">BIG_512_29_invmod2m</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:ad64b757779c8517f8dab751ced045dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#ad64b757779c8517f8dab751ced045dd9">More...</a><br /></td></tr>
-<tr class="separator:ad64b757779c8517f8dab751ced045dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac2f85ff69a12d1c673001265fe9287c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7">BIG_512_29_add</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
-<tr class="memdesc:ac2f85ff69a12d1c673001265fe9287c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#ac2f85ff69a12d1c673001265fe9287c7">More...</a><br /></td></tr>
-<tr class="separator:ac2f85ff69a12d1c673001265fe9287c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4b89a753ad1cd5bf17c4949fb72cdfa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa">BIG_512_29_or</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
-<tr class="memdesc:ae4b89a753ad1cd5bf17c4949fb72cdfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#ae4b89a753ad1cd5bf17c4949fb72cdfa">More...</a><br /></td></tr>
-<tr class="separator:ae4b89a753ad1cd5bf17c4949fb72cdfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afbc9ed42984c2d126fa3b4a1f5a9a827"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827">BIG_512_29_inc</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int i)</td></tr>
-<tr class="memdesc:afbc9ed42984c2d126fa3b4a1f5a9a827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#afbc9ed42984c2d126fa3b4a1f5a9a827">More...</a><br /></td></tr>
-<tr class="separator:afbc9ed42984c2d126fa3b4a1f5a9a827"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab01841e5c4356fc85218aa533c2959c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2">BIG_512_29_sub</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
-<tr class="memdesc:ab01841e5c4356fc85218aa533c2959c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#ab01841e5c4356fc85218aa533c2959c2">More...</a><br /></td></tr>
-<tr class="separator:ab01841e5c4356fc85218aa533c2959c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a623e829c317486582447b2a59b8839da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a623e829c317486582447b2a59b8839da">BIG_512_29_dec</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int i)</td></tr>
-<tr class="memdesc:a623e829c317486582447b2a59b8839da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a623e829c317486582447b2a59b8839da">More...</a><br /></td></tr>
-<tr class="separator:a623e829c317486582447b2a59b8839da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adbfdfbbdb7f299009c216672c0fb8297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297">BIG_512_29_dadd</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> z)</td></tr>
-<tr class="memdesc:adbfdfbbdb7f299009c216672c0fb8297"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#adbfdfbbdb7f299009c216672c0fb8297">More...</a><br /></td></tr>
-<tr class="separator:adbfdfbbdb7f299009c216672c0fb8297"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3745869f88b23a4507d85ffa9a294546"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546">BIG_512_29_dsub</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> z)</td></tr>
-<tr class="memdesc:a3745869f88b23a4507d85ffa9a294546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a3745869f88b23a4507d85ffa9a294546">More...</a><br /></td></tr>
-<tr class="separator:a3745869f88b23a4507d85ffa9a294546"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d86e4b4058ebb377e1d66c27c55a995"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995">BIG_512_29_imul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int i)</td></tr>
-<tr class="memdesc:a4d86e4b4058ebb377e1d66c27c55a995"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a4d86e4b4058ebb377e1d66c27c55a995">More...</a><br /></td></tr>
-<tr class="separator:a4d86e4b4058ebb377e1d66c27c55a995"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4228d6b8a030f4bef5ab7e0b410fd44f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f">BIG_512_29_pmul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int i)</td></tr>
-<tr class="memdesc:a4228d6b8a030f4bef5ab7e0b410fd44f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a4228d6b8a030f4bef5ab7e0b410fd44f">More...</a><br /></td></tr>
-<tr class="separator:a4228d6b8a030f4bef5ab7e0b410fd44f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad3d7bfab2ebd283735821fc85028b668"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668">BIG_512_29_div3</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:ad3d7bfab2ebd283735821fc85028b668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#ad3d7bfab2ebd283735821fc85028b668">More...</a><br /></td></tr>
-<tr class="separator:ad3d7bfab2ebd283735821fc85028b668"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7a94ce5c018ffff20b4e0356d2ccea8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e">BIG_512_29_pxmul</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, int i)</td></tr>
-<tr class="memdesc:a7a94ce5c018ffff20b4e0356d2ccea8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a7a94ce5c018ffff20b4e0356d2ccea8e">More...</a><br /></td></tr>
-<tr class="separator:a7a94ce5c018ffff20b4e0356d2ccea8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd82428cda0fd33b8280d0b755d61b8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a">BIG_512_29_mul</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
-<tr class="memdesc:abd82428cda0fd33b8280d0b755d61b8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#abd82428cda0fd33b8280d0b755d61b8a">More...</a><br /></td></tr>
-<tr class="separator:abd82428cda0fd33b8280d0b755d61b8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae9710f734e630b79f31fa89b54bed459"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459">BIG_512_29_smul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z)</td></tr>
-<tr class="memdesc:ae9710f734e630b79f31fa89b54bed459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#ae9710f734e630b79f31fa89b54bed459">More...</a><br /></td></tr>
-<tr class="separator:ae9710f734e630b79f31fa89b54bed459"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6191e9e7f8d278bd3f6cbd9d02248056"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056">BIG_512_29_sqr</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a6191e9e7f8d278bd3f6cbd9d02248056"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a6191e9e7f8d278bd3f6cbd9d02248056">More...</a><br /></td></tr>
-<tr class="separator:a6191e9e7f8d278bd3f6cbd9d02248056"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adf78f5363442d2919d366a9fb1de6382"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382">BIG_512_29_monty</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> a, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> d)</td></tr>
-<tr class="memdesc:adf78f5363442d2919d366a9fb1de6382"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#adf78f5363442d2919d366a9fb1de6382">More...</a><br /></td></tr>
-<tr class="separator:adf78f5363442d2919d366a9fb1de6382"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a55df3aca1fa7e47bb8e8baa8519c8db5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5">BIG_512_29_shl</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
-<tr class="memdesc:a55df3aca1fa7e47bb8e8baa8519c8db5"><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="#a55df3aca1fa7e47bb8e8baa8519c8db5">More...</a><br /></td></tr>
-<tr class="separator:a55df3aca1fa7e47bb8e8baa8519c8db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4586281c3a555718580d243395c4e6ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a4586281c3a555718580d243395c4e6ca">BIG_512_29_fshl</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
-<tr class="memdesc:a4586281c3a555718580d243395c4e6ca"><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="#a4586281c3a555718580d243395c4e6ca">More...</a><br /></td></tr>
-<tr class="separator:a4586281c3a555718580d243395c4e6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae2aefe7da8c61c812d945dec1905607c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c">BIG_512_29_dshl</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, int s)</td></tr>
-<tr class="memdesc:ae2aefe7da8c61c812d945dec1905607c"><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="#ae2aefe7da8c61c812d945dec1905607c">More...</a><br /></td></tr>
-<tr class="separator:ae2aefe7da8c61c812d945dec1905607c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa5c57b2fd674d94bbacc5be3b79fcd9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b">BIG_512_29_shr</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
-<tr class="memdesc:aa5c57b2fd674d94bbacc5be3b79fcd9b"><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="#aa5c57b2fd674d94bbacc5be3b79fcd9b">More...</a><br /></td></tr>
-<tr class="separator:aa5c57b2fd674d94bbacc5be3b79fcd9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09e401bfba7158e57df4160a21afca82"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a09e401bfba7158e57df4160a21afca82">BIG_512_29_ssn</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> r, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> a, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> m)</td></tr>
-<tr class="memdesc:a09e401bfba7158e57df4160a21afca82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a09e401bfba7158e57df4160a21afca82">More...</a><br /></td></tr>
-<tr class="separator:a09e401bfba7158e57df4160a21afca82"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a018725bccf723b24153ca3ba6831033a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a018725bccf723b24153ca3ba6831033a">BIG_512_29_fshr</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int s)</td></tr>
-<tr class="memdesc:a018725bccf723b24153ca3ba6831033a"><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="#a018725bccf723b24153ca3ba6831033a">More...</a><br /></td></tr>
-<tr class="separator:a018725bccf723b24153ca3ba6831033a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2f140d82cb4a89af91157d32a9ad9e16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16">BIG_512_29_dshr</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, int s)</td></tr>
-<tr class="memdesc:a2f140d82cb4a89af91157d32a9ad9e16"><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="#a2f140d82cb4a89af91157d32a9ad9e16">More...</a><br /></td></tr>
-<tr class="separator:a2f140d82cb4a89af91157d32a9ad9e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a975ac4241bfc4ad5134ba5c2b77a7b37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37">BIG_512_29_split</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> z, int s)</td></tr>
-<tr class="memdesc:a975ac4241bfc4ad5134ba5c2b77a7b37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a975ac4241bfc4ad5134ba5c2b77a7b37">More...</a><br /></td></tr>
-<tr class="separator:a975ac4241bfc4ad5134ba5c2b77a7b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a23acbd536c366fea9d4001e92ec78453"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453">BIG_512_29_norm</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a23acbd536c366fea9d4001e92ec78453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#a23acbd536c366fea9d4001e92ec78453">More...</a><br /></td></tr>
-<tr class="separator:a23acbd536c366fea9d4001e92ec78453"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aece92f7efb9d0440fc6cb812c6de1c1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d">BIG_512_29_dnorm</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
-<tr class="memdesc:aece92f7efb9d0440fc6cb812c6de1c1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#aece92f7efb9d0440fc6cb812c6de1c1d">More...</a><br /></td></tr>
-<tr class="separator:aece92f7efb9d0440fc6cb812c6de1c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aad0f6d11b7dce3821f73da36a2d06cfb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb">BIG_512_29_comp</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
-<tr class="memdesc:aad0f6d11b7dce3821f73da36a2d06cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#aad0f6d11b7dce3821f73da36a2d06cfb">More...</a><br /></td></tr>
-<tr class="separator:aad0f6d11b7dce3821f73da36a2d06cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a43a6835ee969b9f6ab09d7b00fdc3fb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9">BIG_512_29_dcomp</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a43a6835ee969b9f6ab09d7b00fdc3fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a43a6835ee969b9f6ab09d7b00fdc3fb9">More...</a><br /></td></tr>
-<tr class="separator:a43a6835ee969b9f6ab09d7b00fdc3fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89fbc95ccfe2a1f2f732cde1cc9ab933"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933">BIG_512_29_nbits</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a89fbc95ccfe2a1f2f732cde1cc9ab933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a89fbc95ccfe2a1f2f732cde1cc9ab933">More...</a><br /></td></tr>
-<tr class="separator:a89fbc95ccfe2a1f2f732cde1cc9ab933"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae492d7b08e1e336de308fe76d8e0625"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625">BIG_512_29_dnbits</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x)</td></tr>
-<tr class="memdesc:aae492d7b08e1e336de308fe76d8e0625"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#aae492d7b08e1e336de308fe76d8e0625">More...</a><br /></td></tr>
-<tr class="separator:aae492d7b08e1e336de308fe76d8e0625"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3169eca0357ce4f06bc5b8a93f59ee4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c">BIG_512_29_mod</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:a3169eca0357ce4f06bc5b8a93f59ee4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#a3169eca0357ce4f06bc5b8a93f59ee4c">More...</a><br /></td></tr>
-<tr class="separator:a3169eca0357ce4f06bc5b8a93f59ee4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aef4408d8a5441e103299919094c7fb34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#aef4408d8a5441e103299919094c7fb34">BIG_512_29_sdiv</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:aef4408d8a5441e103299919094c7fb34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#aef4408d8a5441e103299919094c7fb34">More...</a><br /></td></tr>
-<tr class="separator:aef4408d8a5441e103299919094c7fb34"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af595007e5e5e8975fb5bf15bf28c1ce8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8">BIG_512_29_dmod</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:af595007e5e5e8975fb5bf15bf28c1ce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#af595007e5e5e8975fb5bf15bf28c1ce8">More...</a><br /></td></tr>
-<tr class="separator:af595007e5e5e8975fb5bf15bf28c1ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a32a1b425a87c32077188bb8827ad0907"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907">BIG_512_29_ddiv</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:a32a1b425a87c32077188bb8827ad0907"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a32a1b425a87c32077188bb8827ad0907">More...</a><br /></td></tr>
-<tr class="separator:a32a1b425a87c32077188bb8827ad0907"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9d959b6de32195ba502d4160f2e35f5c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c">BIG_512_29_parity</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x)</td></tr>
-<tr class="memdesc:a9d959b6de32195ba502d4160f2e35f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a9d959b6de32195ba502d4160f2e35f5c">More...</a><br /></td></tr>
-<tr class="separator:a9d959b6de32195ba502d4160f2e35f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a52fe588767f417e17f2ff91e14d4f0d2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2">BIG_512_29_bit</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int i)</td></tr>
-<tr class="memdesc:a52fe588767f417e17f2ff91e14d4f0d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a52fe588767f417e17f2ff91e14d4f0d2">More...</a><br /></td></tr>
-<tr class="separator:a52fe588767f417e17f2ff91e14d4f0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afa51db5a8af87b17de2ccb1a02be9079"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079">BIG_512_29_lastbits</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int n)</td></tr>
-<tr class="memdesc:afa51db5a8af87b17de2ccb1a02be9079"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#afa51db5a8af87b17de2ccb1a02be9079">More...</a><br /></td></tr>
-<tr class="separator:afa51db5a8af87b17de2ccb1a02be9079"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8bc4fb6d28d626022202e37530b46a93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93">BIG_512_29_random</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a8bc4fb6d28d626022202e37530b46a93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#a8bc4fb6d28d626022202e37530b46a93">More...</a><br /></td></tr>
-<tr class="separator:a8bc4fb6d28d626022202e37530b46a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1c7cb43d9d7989e40994adc6af11cde3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3">BIG_512_29_randomnum</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a1c7cb43d9d7989e40994adc6af11cde3"><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="#a1c7cb43d9d7989e40994adc6af11cde3">More...</a><br /></td></tr>
-<tr class="separator:a1c7cb43d9d7989e40994adc6af11cde3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6202e0561fa9b5c7bba0e5b9038b4409"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409">BIG_512_29_modmul</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:a6202e0561fa9b5c7bba0e5b9038b4409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a6202e0561fa9b5c7bba0e5b9038b4409">More...</a><br /></td></tr>
-<tr class="separator:a6202e0561fa9b5c7bba0e5b9038b4409"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace5a92c10b16492379ccee4392c97ddc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc">BIG_512_29_moddiv</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:ace5a92c10b16492379ccee4392c97ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#ace5a92c10b16492379ccee4392c97ddc">More...</a><br /></td></tr>
-<tr class="separator:ace5a92c10b16492379ccee4392c97ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad49db2e5974d3d631d165c9b275082f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5">BIG_512_29_modsqr</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:ad49db2e5974d3d631d165c9b275082f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#ad49db2e5974d3d631d165c9b275082f5">More...</a><br /></td></tr>
-<tr class="separator:ad49db2e5974d3d631d165c9b275082f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afd47bab847bdb38013c08105671f4721"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#afd47bab847bdb38013c08105671f4721">BIG_512_29_modneg</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:afd47bab847bdb38013c08105671f4721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#afd47bab847bdb38013c08105671f4721">More...</a><br /></td></tr>
-<tr class="separator:afd47bab847bdb38013c08105671f4721"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6225d20d3d8ed3beaa3da97cef89d0ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce">BIG_512_29_jacobi</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y)</td></tr>
-<tr class="memdesc:a6225d20d3d8ed3beaa3da97cef89d0ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#a6225d20d3d8ed3beaa3da97cef89d0ce">More...</a><br /></td></tr>
-<tr class="separator:a6225d20d3d8ed3beaa3da97cef89d0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0c63adac85065baabb73d2b3b05d4e76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76">BIG_512_29_invmodp</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y, <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> n)</td></tr>
-<tr class="memdesc:a0c63adac85065baabb73d2b3b05d4e76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a0c63adac85065baabb73d2b3b05d4e76">More...</a><br /></td></tr>
-<tr class="separator:a0c63adac85065baabb73d2b3b05d4e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a75067ebd644cc9eaa908d0cdbcb71444"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444">BIG_512_29_mod2m</a> (<a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x, int m)</td></tr>
-<tr class="memdesc:a75067ebd644cc9eaa908d0cdbcb71444"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a75067ebd644cc9eaa908d0cdbcb71444">More...</a><br /></td></tr>
-<tr class="separator:a75067ebd644cc9eaa908d0cdbcb71444"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad91ff777de7b653080996b67b46c8bde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde">BIG_512_29_dmod2m</a> (<a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x, int m)</td></tr>
-<tr class="memdesc:ad91ff777de7b653080996b67b46c8bde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#ad91ff777de7b653080996b67b46c8bde">More...</a><br /></td></tr>
-<tr class="separator:ad91ff777de7b653080996b67b46c8bde"><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="a4ddec2d6c6f7f1609ded4668d1d73c6a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4ddec2d6c6f7f1609ded4668d1d73c6a">&#9670;&nbsp;</a></span>BIGBITS_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_512_29&#160;&#160;&#160;(8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="aeaae8fdd385b6bb97821f6938a2f972d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeaae8fdd385b6bb97821f6938a2f972d">&#9670;&nbsp;</a></span>BMASK_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_512_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="adfe44d8588bd795d4e89c4ed71c678cd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adfe44d8588bd795d4e89c4ed71c678cd">&#9670;&nbsp;</a></span>DNLEN_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_512_29&#160;&#160;&#160;2*<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="aeb0b7111551770ccad3de595f72ec1dc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeb0b7111551770ccad3de595f72ec1dc">&#9670;&nbsp;</a></span>HBITS_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_512_29&#160;&#160;&#160;(<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="a24fd39c4a9249896d4f4f04a56c6cbb3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a24fd39c4a9249896d4f4f04a56c6cbb3">&#9670;&nbsp;</a></span>HMASK_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_512_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="abbb65ff3dcf6f8c01ad07af79c8aed5a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abbb65ff3dcf6f8c01ad07af79c8aed5a">&#9670;&nbsp;</a></span>NEXCESS_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_512_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</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="a0dce870dae751af5136f4884be7ff6c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0dce870dae751af5136f4884be7ff6c2">&#9670;&nbsp;</a></span>NLEN_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_512_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>-1)/<a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="aa158f4654aade263ca6b586723e4a8f2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa158f4654aade263ca6b586723e4a8f2">&#9670;&nbsp;</a></span>BIG_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_29[<a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a3efad5f4e604a43d3ef080510b6cbc1d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3efad5f4e604a43d3ef080510b6cbc1d">&#9670;&nbsp;</a></span>DBIG_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_512_29[<a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</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="ac2f85ff69a12d1c673001265fe9287c7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac2f85ff69a12d1c673001265fe9287c7">&#9670;&nbsp;</a></span>BIG_512_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a52fe588767f417e17f2ff91e14d4f0d2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52fe588767f417e17f2ff91e14d4f0d2">&#9670;&nbsp;</a></span>BIG_512_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae7b88a0698325b8b2f024bc7fc7de6e5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae7b88a0698325b8b2f024bc7fc7de6e5">&#9670;&nbsp;</a></span>BIG_512_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="aad0f6d11b7dce3821f73da36a2d06cfb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aad0f6d11b7dce3821f73da36a2d06cfb">&#9670;&nbsp;</a></span>BIG_512_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a53bb3078d97123c97fd18fa4ac1303b0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a53bb3078d97123c97fd18fa4ac1303b0">&#9670;&nbsp;</a></span>BIG_512_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4d741d44e70c267ac25447772639cc4b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4d741d44e70c267ac25447772639cc4b">&#9670;&nbsp;</a></span>BIG_512_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="adbfdfbbdb7f299009c216672c0fb8297"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adbfdfbbdb7f299009c216672c0fb8297">&#9670;&nbsp;</a></span>BIG_512_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a6d2f6fc83e7d0edc6e2387dbf745af64"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6d2f6fc83e7d0edc6e2387dbf745af64">&#9670;&nbsp;</a></span>BIG_512_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a43a6835ee969b9f6ab09d7b00fdc3fb9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a43a6835ee969b9f6ab09d7b00fdc3fb9">&#9670;&nbsp;</a></span>BIG_512_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a5d9ce0a85928fdcba3c0ae04ca6de41a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5d9ce0a85928fdcba3c0ae04ca6de41a">&#9670;&nbsp;</a></span>BIG_512_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a32a1b425a87c32077188bb8827ad0907"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a32a1b425a87c32077188bb8827ad0907">&#9670;&nbsp;</a></span>BIG_512_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a623e829c317486582447b2a59b8839da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a623e829c317486582447b2a59b8839da">&#9670;&nbsp;</a></span>BIG_512_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a7240de125fe7edc33b9d2b42501670a9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7240de125fe7edc33b9d2b42501670a9">&#9670;&nbsp;</a></span>BIG_512_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a6b4fee35bb5a87693561f43f711c429f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6b4fee35bb5a87693561f43f711c429f">&#9670;&nbsp;</a></span>BIG_512_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="ad3d7bfab2ebd283735821fc85028b668"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad3d7bfab2ebd283735821fc85028b668">&#9670;&nbsp;</a></span>BIG_512_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="af595007e5e5e8975fb5bf15bf28c1ce8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af595007e5e5e8975fb5bf15bf28c1ce8">&#9670;&nbsp;</a></span>BIG_512_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ad91ff777de7b653080996b67b46c8bde"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad91ff777de7b653080996b67b46c8bde">&#9670;&nbsp;</a></span>BIG_512_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="aae492d7b08e1e336de308fe76d8e0625"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aae492d7b08e1e336de308fe76d8e0625">&#9670;&nbsp;</a></span>BIG_512_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="aece92f7efb9d0440fc6cb812c6de1c1d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aece92f7efb9d0440fc6cb812c6de1c1d">&#9670;&nbsp;</a></span>BIG_512_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="ad12d14dea932c78537a270d3637fd0cb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad12d14dea932c78537a270d3637fd0cb">&#9670;&nbsp;</a></span>BIG_512_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a1d4d5f5da2a3b96e945f74b9e58aff60"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1d4d5f5da2a3b96e945f74b9e58aff60">&#9670;&nbsp;</a></span>BIG_512_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a63f756ee341108a1243525b79fae8071"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a63f756ee341108a1243525b79fae8071">&#9670;&nbsp;</a></span>BIG_512_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae2aefe7da8c61c812d945dec1905607c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae2aefe7da8c61c812d945dec1905607c">&#9670;&nbsp;</a></span>BIG_512_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a2f140d82cb4a89af91157d32a9ad9e16"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2f140d82cb4a89af91157d32a9ad9e16">&#9670;&nbsp;</a></span>BIG_512_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a3745869f88b23a4507d85ffa9a294546"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3745869f88b23a4507d85ffa9a294546">&#9670;&nbsp;</a></span>BIG_512_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a278fadb24eca779cdb3fd3ae3f247125"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a278fadb24eca779cdb3fd3ae3f247125">&#9670;&nbsp;</a></span>BIG_512_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a83aca7417f7c9fd686c9dff9e6972f69"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83aca7417f7c9fd686c9dff9e6972f69">&#9670;&nbsp;</a></span>BIG_512_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a778f9f8324146cd108bb733470f94bc4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a778f9f8324146cd108bb733470f94bc4">&#9670;&nbsp;</a></span>BIG_512_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a060938bb70049000034ee79e4d5df8a5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a060938bb70049000034ee79e4d5df8a5">&#9670;&nbsp;</a></span>BIG_512_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4586281c3a555718580d243395c4e6ca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4586281c3a555718580d243395c4e6ca">&#9670;&nbsp;</a></span>BIG_512_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a018725bccf723b24153ca3ba6831033a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a018725bccf723b24153ca3ba6831033a">&#9670;&nbsp;</a></span>BIG_512_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4d86e4b4058ebb377e1d66c27c55a995"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4d86e4b4058ebb377e1d66c27c55a995">&#9670;&nbsp;</a></span>BIG_512_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="afbc9ed42984c2d126fa3b4a1f5a9a827"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afbc9ed42984c2d126fa3b4a1f5a9a827">&#9670;&nbsp;</a></span>BIG_512_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ad64b757779c8517f8dab751ced045dd9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad64b757779c8517f8dab751ced045dd9">&#9670;&nbsp;</a></span>BIG_512_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a0c63adac85065baabb73d2b3b05d4e76"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0c63adac85065baabb73d2b3b05d4e76">&#9670;&nbsp;</a></span>BIG_512_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a0a1d7cd9bf0fb160b308e007487220cd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0a1d7cd9bf0fb160b308e007487220cd">&#9670;&nbsp;</a></span>BIG_512_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a9b67440bd86823dc6c93068f6259b36a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9b67440bd86823dc6c93068f6259b36a">&#9670;&nbsp;</a></span>BIG_512_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a6225d20d3d8ed3beaa3da97cef89d0ce"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6225d20d3d8ed3beaa3da97cef89d0ce">&#9670;&nbsp;</a></span>BIG_512_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="afa51db5a8af87b17de2ccb1a02be9079"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afa51db5a8af87b17de2ccb1a02be9079">&#9670;&nbsp;</a></span>BIG_512_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a3169eca0357ce4f06bc5b8a93f59ee4c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3169eca0357ce4f06bc5b8a93f59ee4c">&#9670;&nbsp;</a></span>BIG_512_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a75067ebd644cc9eaa908d0cdbcb71444"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a75067ebd644cc9eaa908d0cdbcb71444">&#9670;&nbsp;</a></span>BIG_512_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ace5a92c10b16492379ccee4392c97ddc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ace5a92c10b16492379ccee4392c97ddc">&#9670;&nbsp;</a></span>BIG_512_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a6202e0561fa9b5c7bba0e5b9038b4409"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6202e0561fa9b5c7bba0e5b9038b4409">&#9670;&nbsp;</a></span>BIG_512_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="afd47bab847bdb38013c08105671f4721"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afd47bab847bdb38013c08105671f4721">&#9670;&nbsp;</a></span>BIG_512_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ad49db2e5974d3d631d165c9b275082f5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad49db2e5974d3d631d165c9b275082f5">&#9670;&nbsp;</a></span>BIG_512_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="adf78f5363442d2919d366a9fb1de6382"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adf78f5363442d2919d366a9fb1de6382">&#9670;&nbsp;</a></span>BIG_512_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>md</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
-          <td class="paramname"><em>MC</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="abd82428cda0fd33b8280d0b755d61b8a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd82428cda0fd33b8280d0b755d61b8a">&#9670;&nbsp;</a></span>BIG_512_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a89fbc95ccfe2a1f2f732cde1cc9ab933"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a89fbc95ccfe2a1f2f732cde1cc9ab933">&#9670;&nbsp;</a></span>BIG_512_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a23acbd536c366fea9d4001e92ec78453"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a23acbd536c366fea9d4001e92ec78453">&#9670;&nbsp;</a></span>BIG_512_29_norm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a8f1937ca0a5c2f670587bafd66259514"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8f1937ca0a5c2f670587bafd66259514">&#9670;&nbsp;</a></span>BIG_512_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae4b89a753ad1cd5bf17c4949fb72cdfa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4b89a753ad1cd5bf17c4949fb72cdfa">&#9670;&nbsp;</a></span>BIG_512_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="aa3a1506f9c8d3e9eb183871fbc445d86"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3a1506f9c8d3e9eb183871fbc445d86">&#9670;&nbsp;</a></span>BIG_512_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a9d959b6de32195ba502d4160f2e35f5c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9d959b6de32195ba502d4160f2e35f5c">&#9670;&nbsp;</a></span>BIG_512_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a4228d6b8a030f4bef5ab7e0b410fd44f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4228d6b8a030f4bef5ab7e0b410fd44f">&#9670;&nbsp;</a></span>BIG_512_29_pmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a7a94ce5c018ffff20b4e0356d2ccea8e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a94ce5c018ffff20b4e0356d2ccea8e">&#9670;&nbsp;</a></span>BIG_512_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a8bc4fb6d28d626022202e37530b46a93"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8bc4fb6d28d626022202e37530b46a93">&#9670;&nbsp;</a></span>BIG_512_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a1c7cb43d9d7989e40994adc6af11cde3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1c7cb43d9d7989e40994adc6af11cde3">&#9670;&nbsp;</a></span>BIG_512_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a964c31ebf5da6c9f720e71488e92c229"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a964c31ebf5da6c9f720e71488e92c229">&#9670;&nbsp;</a></span>BIG_512_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a18b23f26a5d38fcbb00cfc8b6c9c5074"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a18b23f26a5d38fcbb00cfc8b6c9c5074">&#9670;&nbsp;</a></span>BIG_512_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a7c281888a5acd5431ebd914cd88507c3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7c281888a5acd5431ebd914cd88507c3">&#9670;&nbsp;</a></span>BIG_512_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="aef4408d8a5441e103299919094c7fb34"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aef4408d8a5441e103299919094c7fb34">&#9670;&nbsp;</a></span>BIG_512_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a16d0d8b4f066c5d2f49f3fd0340198c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16d0d8b4f066c5d2f49f3fd0340198c4">&#9670;&nbsp;</a></span>BIG_512_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a55df3aca1fa7e47bb8e8baa8519c8db5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a55df3aca1fa7e47bb8e8baa8519c8db5">&#9670;&nbsp;</a></span>BIG_512_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="aa5c57b2fd674d94bbacc5be3b79fcd9b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa5c57b2fd674d94bbacc5be3b79fcd9b">&#9670;&nbsp;</a></span>BIG_512_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ae9710f734e630b79f31fa89b54bed459"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae9710f734e630b79f31fa89b54bed459">&#9670;&nbsp;</a></span>BIG_512_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a975ac4241bfc4ad5134ba5c2b77a7b37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a975ac4241bfc4ad5134ba5c2b77a7b37">&#9670;&nbsp;</a></span>BIG_512_29_split()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_512_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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="a6191e9e7f8d278bd3f6cbd9d02248056"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6191e9e7f8d278bd3f6cbd9d02248056">&#9670;&nbsp;</a></span>BIG_512_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a09e401bfba7158e57df4160a21afca82"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a09e401bfba7158e57df4160a21afca82">&#9670;&nbsp;</a></span>BIG_512_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_512_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="ab01841e5c4356fc85218aa533c2959c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab01841e5c4356fc85218aa533c2959c2">&#9670;&nbsp;</a></span>BIG_512_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a582f433b44350ccac18c8bb2ef0683c9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a582f433b44350ccac18c8bb2ef0683c9">&#9670;&nbsp;</a></span>BIG_512_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_toBytes </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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="a0f1b5d55f4bf7d5c436cc020e7f86f01"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0f1b5d55f4bf7d5c436cc020e7f86f01">&#9670;&nbsp;</a></span>BIG_512_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_512_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h_source.html b/website/static/cdocs/big__512__29_8h_source.html
deleted file mode 100644
index c4b9809..0000000
--- a/website/static/cdocs/big__512__29_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_512_29.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_512_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__512__29_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_512_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_512_29_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__512__29_8h.html">config_big_512_29.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__512__29_8h.html#a4ddec2d6c6f7f1609ded4668d1d73c6a">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_512_29 (8*MODBYTES_512_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">   40</a></span>&#160;<span class="preprocessor">#define NLEN_512_29 (1+((8*MODBYTES_512_29-1)/BASEBITS_512_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_512_29 2*NLEN_512_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">   42</a></span>&#160;<span class="preprocessor">#define BMASK_512_29 (((chunk)1&lt;&lt;BASEBITS_512_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__512__29_8h.html#abbb65ff3dcf6f8c01ad07af79c8aed5a">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_512_29 (1&lt;&lt;(CHUNK-BASEBITS_512_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">   45</a></span>&#160;<span class="preprocessor">#define HBITS_512_29 (BASEBITS_512_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">   46</a></span>&#160;<span class="preprocessor">#define HMASK_512_29 (((chunk)1&lt;&lt;HBITS_512_29)-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_512_29 NLEN_512_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_512_29 (NLEN_512_29+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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>[<a class="code" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_512_29 DNLEN_512_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_512_29 (DNLEN_512_29+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__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>[<a class="code" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</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__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a>[<a class="code" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a>[<a class="code" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</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__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a">BIG_512_29_iszilch</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd">BIG_512_29_isunity</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f">BIG_512_29_diszilch</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86">BIG_512_29_output</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229">BIG_512_29_rawoutput</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b">BIG_512_29_cswap</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5">BIG_512_29_cmove</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64">BIG_512_29_dcmove</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9">BIG_512_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4">BIG_512_29_fromBytes</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5">BIG_512_29_fromBytesLen</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9">BIG_512_29_dfromBytesLen</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb">BIG_512_29_doutput</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60">BIG_512_29_drawoutput</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074">BIG_512_29_rcopy</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<span class="keyword">const</span> <a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0">BIG_512_29_copy</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a">BIG_512_29_dcopy</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125">BIG_512_29_dsucopy</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a63f756ee341108a1243525b79fae8071">BIG_512_29_dscopy</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3">BIG_512_29_sdcopy</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4">BIG_512_29_sducopy</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01">BIG_512_29_zero</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69">BIG_512_29_dzero</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514">BIG_512_29_one</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9">BIG_512_29_invmod2m</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7">BIG_512_29_add</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa">BIG_512_29_or</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827">BIG_512_29_inc</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2">BIG_512_29_sub</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a623e829c317486582447b2a59b8839da">BIG_512_29_dec</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297">BIG_512_29_dadd</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546">BIG_512_29_dsub</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995">BIG_512_29_imul</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f">BIG_512_29_pmul</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668">BIG_512_29_div3</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e">BIG_512_29_pxmul</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a">BIG_512_29_mul</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459">BIG_512_29_smul</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056">BIG_512_29_sqr</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382">BIG_512_29_monty</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> a,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5">BIG_512_29_shl</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a4586281c3a555718580d243395c4e6ca">BIG_512_29_fshl</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c">BIG_512_29_dshl</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b">BIG_512_29_shr</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a09e401bfba7158e57df4160a21afca82">BIG_512_29_ssn</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> r,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> a, <a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a018725bccf723b24153ca3ba6831033a">BIG_512_29_fshr</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16">BIG_512_29_dshr</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37">BIG_512_29_split</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453">BIG_512_29_norm</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d">BIG_512_29_dnorm</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb">BIG_512_29_comp</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9">BIG_512_29_dcomp</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933">BIG_512_29_nbits</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625">BIG_512_29_dnbits</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c">BIG_512_29_mod</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#aef4408d8a5441e103299919094c7fb34">BIG_512_29_sdiv</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8">BIG_512_29_dmod</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907">BIG_512_29_ddiv</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c">BIG_512_29_parity</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2">BIG_512_29_bit</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079">BIG_512_29_lastbits</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93">BIG_512_29_random</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3">BIG_512_29_randomnum</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409">BIG_512_29_modmul</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc">BIG_512_29_moddiv</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> z,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5">BIG_512_29_modsqr</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#afd47bab847bdb38013c08105671f4721">BIG_512_29_modneg</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce">BIG_512_29_jacobi</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76">BIG_512_29_invmodp</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> x,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a> y,<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444">BIG_512_29_mod2m</a>(<a class="code" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</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__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde">BIG_512_29_dmod2m</a>(<a class="code" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</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_512_29(<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__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">BMASK_512_29</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__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</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_512_29(<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__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">HMASK_512_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">HMASK_512_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</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__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">HMASK_512_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</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__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">BMASK_512_29</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__512__29_8h_html_a24fd39c4a9249896d4f4f04a56c6cbb3"><div class="ttname"><a href="big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">HMASK_512_29</a></div><div class="ttdeci">#define HMASK_512_29</div><div class="ttdef"><b>Definition:</b> big_512_29.h:46</div></div>
-<div class="ttc" id="big__512__29_8h_html_a778f9f8324146cd108bb733470f94bc4"><div class="ttname"><a href="big__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4">BIG_512_29_fromBytes</a></div><div class="ttdeci">void BIG_512_29_fromBytes(BIG_512_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:155</div></div>
-<div class="ttc" id="big__512__29_8h_html_a89fbc95ccfe2a1f2f732cde1cc9ab933"><div class="ttname"><a href="big__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933">BIG_512_29_nbits</a></div><div class="ttdeci">int BIG_512_29_nbits(BIG_512_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1040</div></div>
-<div class="ttc" id="big__512__29_8h_html_a1d4d5f5da2a3b96e945f74b9e58aff60"><div class="ttname"><a href="big__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60">BIG_512_29_drawoutput</a></div><div class="ttdeci">void BIG_512_29_drawoutput(DBIG_512_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:212</div></div>
-<div class="ttc" id="big__512__29_8h_html_a83aca7417f7c9fd686c9dff9e6972f69"><div class="ttname"><a href="big__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69">BIG_512_29_dzero</a></div><div class="ttdeci">void BIG_512_29_dzero(DBIG_512_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:329</div></div>
-<div class="ttc" id="big__512__29_8h_html_ad12d14dea932c78537a270d3637fd0cb"><div class="ttname"><a href="big__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb">BIG_512_29_doutput</a></div><div class="ttdeci">void BIG_512_29_doutput(DBIG_512_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:190</div></div>
-<div class="ttc" id="big__512__29_8h_html_a32a1b425a87c32077188bb8827ad0907"><div class="ttname"><a href="big__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907">BIG_512_29_ddiv</a></div><div class="ttdeci">void BIG_512_29_ddiv(BIG_512_29 x, DBIG_512_29 y, BIG_512_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1149</div></div>
-<div class="ttc" id="big__512__29_8h_html_a7c281888a5acd5431ebd914cd88507c3"><div class="ttname"><a href="big__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3">BIG_512_29_sdcopy</a></div><div class="ttdeci">void BIG_512_29_sdcopy(BIG_512_29 x, DBIG_512_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:294</div></div>
-<div class="ttc" id="big__512__29_8h_html_ace5a92c10b16492379ccee4392c97ddc"><div class="ttname"><a href="big__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc">BIG_512_29_moddiv</a></div><div class="ttdeci">void BIG_512_29_moddiv(BIG_512_29 x, BIG_512_29 y, BIG_512_29 z, BIG_512_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1337</div></div>
-<div class="ttc" id="big__512__29_8h_html_a3169eca0357ce4f06bc5b8a93f59ee4c"><div class="ttname"><a href="big__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c">BIG_512_29_mod</a></div><div class="ttdeci">void BIG_512_29_mod(BIG_512_29 x, BIG_512_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1082</div></div>
-<div class="ttc" id="big__512__29_8h_html_ae7b88a0698325b8b2f024bc7fc7de6e5"><div class="ttname"><a href="big__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5">BIG_512_29_cmove</a></div><div class="ttdeci">void BIG_512_29_cmove(BIG_512_29 x, BIG_512_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:110</div></div>
-<div class="ttc" id="big__512__29_8h_html_aa158f4654aade263ca6b586723e4a8f2"><div class="ttname"><a href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">BIG_512_29</a></div><div class="ttdeci">chunk BIG_512_29[NLEN_512_29]</div><div class="ttdef"><b>Definition:</b> big_512_29.h:58</div></div>
-<div class="ttc" id="big__512__29_8h_html_a09e401bfba7158e57df4160a21afca82"><div class="ttname"><a href="big__512__29_8h.html#a09e401bfba7158e57df4160a21afca82">BIG_512_29_ssn</a></div><div class="ttdeci">int BIG_512_29_ssn(BIG_512_29 r, BIG_512_29 a, BIG_512_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:877</div></div>
-<div class="ttc" id="big__512__29_8h_html_af595007e5e5e8975fb5bf15bf28c1ce8"><div class="ttname"><a href="big__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8">BIG_512_29_dmod</a></div><div class="ttdeci">void BIG_512_29_dmod(BIG_512_29 x, DBIG_512_29 y, BIG_512_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1113</div></div>
-<div class="ttc" id="big__512__29_8h_html_a3efad5f4e604a43d3ef080510b6cbc1d"><div class="ttname"><a href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">DBIG_512_29</a></div><div class="ttdeci">chunk DBIG_512_29[DNLEN_512_29]</div><div class="ttdef"><b>Definition:</b> big_512_29.h:59</div></div>
-<div class="ttc" id="big__512__29_8h_html_a23acbd536c366fea9d4001e92ec78453"><div class="ttname"><a href="big__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453">BIG_512_29_norm</a></div><div class="ttdeci">chunk BIG_512_29_norm(BIG_512_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:976</div></div>
-<div class="ttc" id="big__512__29_8h_html_a16d0d8b4f066c5d2f49f3fd0340198c4"><div class="ttname"><a href="big__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4">BIG_512_29_sducopy</a></div><div class="ttdeci">void BIG_512_29_sducopy(BIG_512_29 x, DBIG_512_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:306</div></div>
-<div class="ttc" id="big__512__29_8h_html_aece92f7efb9d0440fc6cb812c6de1c1d"><div class="ttname"><a href="big__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d">BIG_512_29_dnorm</a></div><div class="ttdeci">void BIG_512_29_dnorm(DBIG_512_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:995</div></div>
-<div class="ttc" id="big__512__29_8h_html_a43a6835ee969b9f6ab09d7b00fdc3fb9"><div class="ttname"><a href="big__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9">BIG_512_29_dcomp</a></div><div class="ttdeci">int BIG_512_29_dcomp(DBIG_512_29 x, DBIG_512_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1026</div></div>
-<div class="ttc" id="big__512__29_8h_html_ae2aefe7da8c61c812d945dec1905607c"><div class="ttname"><a href="big__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c">BIG_512_29_dshl</a></div><div class="ttdeci">void BIG_512_29_dshl(DBIG_512_29 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_512_29.c:846</div></div>
-<div class="ttc" id="big__512__29_8h_html_a582f433b44350ccac18c8bb2ef0683c9"><div class="ttname"><a href="big__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9">BIG_512_29_toBytes</a></div><div class="ttdeci">void BIG_512_29_toBytes(char *a, BIG_512_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:141</div></div>
-<div class="ttc" id="big__512__29_8h_html_a0a1d7cd9bf0fb160b308e007487220cd"><div class="ttname"><a href="big__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd">BIG_512_29_isunity</a></div><div class="ttdeci">int BIG_512_29_isunity(BIG_512_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:35</div></div>
-<div class="ttc" id="big__512__29_8h_html_ad3d7bfab2ebd283735821fc85028b668"><div class="ttname"><a href="big__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668">BIG_512_29_div3</a></div><div class="ttdeci">int BIG_512_29_div3(BIG_512_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:484</div></div>
-<div class="ttc" id="big__512__29_8h_html_a52fe588767f417e17f2ff91e14d4f0d2"><div class="ttname"><a href="big__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2">BIG_512_29_bit</a></div><div class="ttdeci">int BIG_512_29_bit(BIG_512_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1232</div></div>
-<div class="ttc" id="big__512__29_8h_html_a975ac4241bfc4ad5134ba5c2b77a7b37"><div class="ttname"><a href="big__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37">BIG_512_29_split</a></div><div class="ttdeci">chunk BIG_512_29_split(BIG_512_29 x, BIG_512_29 y, DBIG_512_29 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_512_29.c:932</div></div>
-<div class="ttc" id="big__512__29_8h_html_a623e829c317486582447b2a59b8839da"><div class="ttname"><a href="big__512__29_8h.html#a623e829c317486582447b2a59b8839da">BIG_512_29_dec</a></div><div class="ttdeci">void BIG_512_29_dec(BIG_512_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:440</div></div>
-<div class="ttc" id="big__512__29_8h_html_abd82428cda0fd33b8280d0b755d61b8a"><div class="ttname"><a href="big__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a">BIG_512_29_mul</a></div><div class="ttdeci">void BIG_512_29_mul(DBIG_512_29 x, BIG_512_29 y, BIG_512_29 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_512_29.c:542</div></div>
-<div class="ttc" id="big__512__29_8h_html_ad64b757779c8517f8dab751ced045dd9"><div class="ttname"><a href="big__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9">BIG_512_29_invmod2m</a></div><div class="ttdeci">void BIG_512_29_invmod2m(BIG_512_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__512__29_8h_html_a0dce870dae751af5136f4884be7ff6c2"><div class="ttname"><a href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">NLEN_512_29</a></div><div class="ttdeci">#define NLEN_512_29</div><div class="ttdef"><b>Definition:</b> big_512_29.h:40</div></div>
-<div class="ttc" id="big__512__29_8h_html_ab01841e5c4356fc85218aa533c2959c2"><div class="ttname"><a href="big__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2">BIG_512_29_sub</a></div><div class="ttdeci">void BIG_512_29_sub(BIG_512_29 x, BIG_512_29 y, BIG_512_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:397</div></div>
-<div class="ttc" id="big__512__29_8h_html_a53bb3078d97123c97fd18fa4ac1303b0"><div class="ttname"><a href="big__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0">BIG_512_29_copy</a></div><div class="ttdeci">void BIG_512_29_copy(BIG_512_29 x, BIG_512_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:227</div></div>
-<div class="ttc" id="big__512__29_8h_html_aae492d7b08e1e336de308fe76d8e0625"><div class="ttname"><a href="big__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625">BIG_512_29_dnbits</a></div><div class="ttdeci">int BIG_512_29_dnbits(DBIG_512_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1060</div></div>
-<div class="ttc" id="big__512__29_8h_html_a060938bb70049000034ee79e4d5df8a5"><div class="ttname"><a href="big__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5">BIG_512_29_fromBytesLen</a></div><div class="ttdeci">void BIG_512_29_fromBytesLen(BIG_512_29 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_512_29.c:170</div></div>
-<div class="ttc" id="big__512__29_8h_html_ae4b89a753ad1cd5bf17c4949fb72cdfa"><div class="ttname"><a href="big__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa">BIG_512_29_or</a></div><div class="ttdeci">void BIG_512_29_or(BIG_512_29 x, BIG_512_29 y, BIG_512_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:371</div></div>
-<div class="ttc" id="big__512__29_8h_html_a4228d6b8a030f4bef5ab7e0b410fd44f"><div class="ttname"><a href="big__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f">BIG_512_29_pmul</a></div><div class="ttdeci">chunk BIG_512_29_pmul(BIG_512_29 x, BIG_512_29 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_512_29.c:465</div></div>
-<div class="ttc" id="big__512__29_8h_html_a8bc4fb6d28d626022202e37530b46a93"><div class="ttname"><a href="big__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93">BIG_512_29_random</a></div><div class="ttdeci">void BIG_512_29_random(BIG_512_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1248</div></div>
-<div class="ttc" id="big__512__29_8h_html_adfe44d8588bd795d4e89c4ed71c678cd"><div class="ttname"><a href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">DNLEN_512_29</a></div><div class="ttdeci">#define DNLEN_512_29</div><div class="ttdef"><b>Definition:</b> big_512_29.h:41</div></div>
-<div class="ttc" id="big__512__29_8h_html_a6225d20d3d8ed3beaa3da97cef89d0ce"><div class="ttname"><a href="big__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce">BIG_512_29_jacobi</a></div><div class="ttdeci">int BIG_512_29_jacobi(BIG_512_29 x, BIG_512_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1354</div></div>
-<div class="ttc" id="config__big__512__29_8h_html_af3361e0f344f8843277d872325b4877d"><div class="ttname"><a href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a></div><div class="ttdeci">#define BASEBITS_512_29</div><div class="ttdef"><b>Definition:</b> config_big_512_29.h:35</div></div>
-<div class="ttc" id="big__512__29_8h_html_a3745869f88b23a4507d85ffa9a294546"><div class="ttname"><a href="big__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546">BIG_512_29_dsub</a></div><div class="ttdeci">void BIG_512_29_dsub(DBIG_512_29 x, DBIG_512_29 y, DBIG_512_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:413</div></div>
-<div class="ttc" id="big__512__29_8h_html_adbfdfbbdb7f299009c216672c0fb8297"><div class="ttname"><a href="big__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297">BIG_512_29_dadd</a></div><div class="ttdeci">void BIG_512_29_dadd(DBIG_512_29 x, DBIG_512_29 y, DBIG_512_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:426</div></div>
-<div class="ttc" id="big__512__29_8h_html_a63f756ee341108a1243525b79fae8071"><div class="ttname"><a href="big__512__29_8h.html#a63f756ee341108a1243525b79fae8071">BIG_512_29_dscopy</a></div><div class="ttdeci">void BIG_512_29_dscopy(DBIG_512_29 x, BIG_512_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:263</div></div>
-<div class="ttc" id="big__512__29_8h_html_a278fadb24eca779cdb3fd3ae3f247125"><div class="ttname"><a href="big__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125">BIG_512_29_dsucopy</a></div><div class="ttdeci">void BIG_512_29_dsucopy(DBIG_512_29 x, BIG_512_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:280</div></div>
-<div class="ttc" id="big__512__29_8h_html_a0f1b5d55f4bf7d5c436cc020e7f86f01"><div class="ttname"><a href="big__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01">BIG_512_29_zero</a></div><div class="ttdeci">void BIG_512_29_zero(BIG_512_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:319</div></div>
-<div class="ttc" id="big__512__29_8h_html_aa5c57b2fd674d94bbacc5be3b79fcd9b"><div class="ttname"><a href="big__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b">BIG_512_29_shr</a></div><div class="ttdeci">void BIG_512_29_shr(BIG_512_29 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_512_29.c:864</div></div>
-<div class="ttc" id="big__512__29_8h_html_a6d2f6fc83e7d0edc6e2387dbf745af64"><div class="ttname"><a href="big__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64">BIG_512_29_dcmove</a></div><div class="ttdeci">void BIG_512_29_dcmove(BIG_512_29 x, BIG_512_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__512__29_8h_html_a0c63adac85065baabb73d2b3b05d4e76"><div class="ttname"><a href="big__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76">BIG_512_29_invmodp</a></div><div class="ttdeci">void BIG_512_29_invmodp(BIG_512_29 x, BIG_512_29 y, BIG_512_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1392</div></div>
-<div class="ttc" id="big__512__29_8h_html_a1c7cb43d9d7989e40994adc6af11cde3"><div class="ttname"><a href="big__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3">BIG_512_29_randomnum</a></div><div class="ttdeci">void BIG_512_29_randomnum(BIG_512_29 x, BIG_512_29 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_512_29.c:1274</div></div>
-<div class="ttc" id="big__512__29_8h_html_a6202e0561fa9b5c7bba0e5b9038b4409"><div class="ttname"><a href="big__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409">BIG_512_29_modmul</a></div><div class="ttdeci">void BIG_512_29_modmul(BIG_512_29 x, BIG_512_29 y, BIG_512_29 z, BIG_512_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1300</div></div>
-<div class="ttc" id="big__512__29_8h_html_ad91ff777de7b653080996b67b46c8bde"><div class="ttname"><a href="big__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde">BIG_512_29_dmod2m</a></div><div class="ttdeci">void BIG_512_29_dmod2m(DBIG_512_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1470</div></div>
-<div class="ttc" id="config__big__512__29_8h_html"><div class="ttname"><a href="config__big__512__29_8h.html">config_big_512_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__512__29_8h_html_afd47bab847bdb38013c08105671f4721"><div class="ttname"><a href="big__512__29_8h.html#afd47bab847bdb38013c08105671f4721">BIG_512_29_modneg</a></div><div class="ttdeci">void BIG_512_29_modneg(BIG_512_29 x, BIG_512_29 y, BIG_512_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1327</div></div>
-<div class="ttc" id="big__512__29_8h_html_a4d86e4b4058ebb377e1d66c27c55a995"><div class="ttname"><a href="big__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995">BIG_512_29_imul</a></div><div class="ttdeci">void BIG_512_29_imul(BIG_512_29 x, BIG_512_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:450</div></div>
-<div class="ttc" id="big__512__29_8h_html_afa51db5a8af87b17de2ccb1a02be9079"><div class="ttname"><a href="big__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079">BIG_512_29_lastbits</a></div><div class="ttdeci">int BIG_512_29_lastbits(BIG_512_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1240</div></div>
-<div class="ttc" id="big__512__29_8h_html_a75067ebd644cc9eaa908d0cdbcb71444"><div class="ttname"><a href="big__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444">BIG_512_29_mod2m</a></div><div class="ttdeci">void BIG_512_29_mod2m(BIG_512_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1456</div></div>
-<div class="ttc" id="big__512__29_8h_html_a6b4fee35bb5a87693561f43f711c429f"><div class="ttname"><a href="big__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f">BIG_512_29_diszilch</a></div><div class="ttdeci">int BIG_512_29_diszilch(DBIG_512_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:45</div></div>
-<div class="ttc" id="big__512__29_8h_html_adf78f5363442d2919d366a9fb1de6382"><div class="ttname"><a href="big__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382">BIG_512_29_monty</a></div><div class="ttdeci">void BIG_512_29_monty(BIG_512_29 a, BIG_512_29 md, chunk MC, DBIG_512_29 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_512_29.c:735</div></div>
-<div class="ttc" id="big__512__29_8h_html_aef4408d8a5441e103299919094c7fb34"><div class="ttname"><a href="big__512__29_8h.html#aef4408d8a5441e103299919094c7fb34">BIG_512_29_sdiv</a></div><div class="ttdeci">void BIG_512_29_sdiv(BIG_512_29 x, BIG_512_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1188</div></div>
-<div class="ttc" id="big__512__29_8h_html_aa3a1506f9c8d3e9eb183871fbc445d86"><div class="ttname"><a href="big__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86">BIG_512_29_output</a></div><div class="ttdeci">void BIG_512_29_output(BIG_512_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:55</div></div>
-<div class="ttc" id="big__512__29_8h_html_afbc9ed42984c2d126fa3b4a1f5a9a827"><div class="ttname"><a href="big__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827">BIG_512_29_inc</a></div><div class="ttdeci">void BIG_512_29_inc(BIG_512_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:386</div></div>
-<div class="ttc" id="big__512__29_8h_html_a4d741d44e70c267ac25447772639cc4b"><div class="ttname"><a href="big__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b">BIG_512_29_cswap</a></div><div class="ttdeci">void BIG_512_29_cswap(BIG_512_29 x, BIG_512_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:92</div></div>
-<div class="ttc" id="big__512__29_8h_html_a9d959b6de32195ba502d4160f2e35f5c"><div class="ttname"><a href="big__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c">BIG_512_29_parity</a></div><div class="ttdeci">int BIG_512_29_parity(BIG_512_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1225</div></div>
-<div class="ttc" id="big__512__29_8h_html_a5d9ce0a85928fdcba3c0ae04ca6de41a"><div class="ttname"><a href="big__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a">BIG_512_29_dcopy</a></div><div class="ttdeci">void BIG_512_29_dcopy(DBIG_512_29 x, DBIG_512_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:251</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__512__29_8h_html_ae9710f734e630b79f31fa89b54bed459"><div class="ttname"><a href="big__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459">BIG_512_29_smul</a></div><div class="ttdeci">void BIG_512_29_smul(BIG_512_29 x, BIG_512_29 y, BIG_512_29 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_512_29.c:518</div></div>
-<div class="ttc" id="big__512__29_8h_html_a8f1937ca0a5c2f670587bafd66259514"><div class="ttname"><a href="big__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514">BIG_512_29_one</a></div><div class="ttdeci">void BIG_512_29_one(BIG_512_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_512_29.c:340</div></div>
-<div class="ttc" id="big__512__29_8h_html_aeb0b7111551770ccad3de595f72ec1dc"><div class="ttname"><a href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">HBITS_512_29</a></div><div class="ttdeci">#define HBITS_512_29</div><div class="ttdef"><b>Definition:</b> big_512_29.h:45</div></div>
-<div class="ttc" id="big__512__29_8h_html_a7a94ce5c018ffff20b4e0356d2ccea8e"><div class="ttname"><a href="big__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e">BIG_512_29_pxmul</a></div><div class="ttdeci">void BIG_512_29_pxmul(DBIG_512_29 x, BIG_512_29 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_512_29.c:501</div></div>
-<div class="ttc" id="big__512__29_8h_html_aad0f6d11b7dce3821f73da36a2d06cfb"><div class="ttname"><a href="big__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb">BIG_512_29_comp</a></div><div class="ttdeci">int BIG_512_29_comp(BIG_512_29 x, BIG_512_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1014</div></div>
-<div class="ttc" id="big__512__29_8h_html_a9b67440bd86823dc6c93068f6259b36a"><div class="ttname"><a href="big__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a">BIG_512_29_iszilch</a></div><div class="ttdeci">int BIG_512_29_iszilch(BIG_512_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:26</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__512__29_8h_html_a7240de125fe7edc33b9d2b42501670a9"><div class="ttname"><a href="big__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9">BIG_512_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_512_29_dfromBytesLen(DBIG_512_29 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_512_29.c:1485</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__512__29_8h_html_a964c31ebf5da6c9f720e71488e92c229"><div class="ttname"><a href="big__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229">BIG_512_29_rawoutput</a></div><div class="ttdeci">void BIG_512_29_rawoutput(BIG_512_29 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_512_29.c:77</div></div>
-<div class="ttc" id="big__512__29_8h_html_a18b23f26a5d38fcbb00cfc8b6c9c5074"><div class="ttname"><a href="big__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074">BIG_512_29_rcopy</a></div><div class="ttdeci">void BIG_512_29_rcopy(BIG_512_29 x, const BIG_512_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:239</div></div>
-<div class="ttc" id="big__512__29_8h_html_a6191e9e7f8d278bd3f6cbd9d02248056"><div class="ttname"><a href="big__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056">BIG_512_29_sqr</a></div><div class="ttdeci">void BIG_512_29_sqr(DBIG_512_29 x, BIG_512_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:618</div></div>
-<div class="ttc" id="big__512__29_8h_html_ac2f85ff69a12d1c673001265fe9287c7"><div class="ttname"><a href="big__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7">BIG_512_29_add</a></div><div class="ttdeci">void BIG_512_29_add(BIG_512_29 x, BIG_512_29 y, BIG_512_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:356</div></div>
-<div class="ttc" id="big__512__29_8h_html_ad49db2e5974d3d631d165c9b275082f5"><div class="ttname"><a href="big__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5">BIG_512_29_modsqr</a></div><div class="ttdeci">void BIG_512_29_modsqr(BIG_512_29 x, BIG_512_29 y, BIG_512_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_512_29.c:1315</div></div>
-<div class="ttc" id="big__512__29_8h_html_aeaae8fdd385b6bb97821f6938a2f972d"><div class="ttname"><a href="big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">BMASK_512_29</a></div><div class="ttdeci">#define BMASK_512_29</div><div class="ttdef"><b>Definition:</b> big_512_29.h:42</div></div>
-<div class="ttc" id="big__512__29_8h_html_a4586281c3a555718580d243395c4e6ca"><div class="ttname"><a href="big__512__29_8h.html#a4586281c3a555718580d243395c4e6ca">BIG_512_29_fshl</a></div><div class="ttdeci">int BIG_512_29_fshl(BIG_512_29 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_512_29.c:832</div></div>
-<div class="ttc" id="big__512__29_8h_html_a2f140d82cb4a89af91157d32a9ad9e16"><div class="ttname"><a href="big__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16">BIG_512_29_dshr</a></div><div class="ttdeci">void BIG_512_29_dshr(DBIG_512_29 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_512_29.c:918</div></div>
-<div class="ttc" id="big__512__29_8h_html_a018725bccf723b24153ca3ba6831033a"><div class="ttname"><a href="big__512__29_8h.html#a018725bccf723b24153ca3ba6831033a">BIG_512_29_fshr</a></div><div class="ttdeci">int BIG_512_29_fshr(BIG_512_29 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_512_29.c:906</div></div>
-<div class="ttc" id="big__512__29_8h_html_a55df3aca1fa7e47bb8e8baa8519c8db5"><div class="ttname"><a href="big__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5">BIG_512_29_shl</a></div><div class="ttdeci">void BIG_512_29_shl(BIG_512_29 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_512_29.c:813</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__512__56_8h.html b/website/static/cdocs/big__512__56_8h.html
index a91e55b..72484be 100644
--- a/website/static/cdocs/big__512__56_8h.html
+++ b/website/static/cdocs/big__512__56_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_512_56.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="aebd160d796ad0cfeb78dce6615344247"></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="a133822f592e434ef3d90b43b15bd2b33"></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__512__56_8h_source.html b/website/static/cdocs/big__512__56_8h_source.html
index 1e93d83..047a74a 100644
--- a/website/static/cdocs/big__512__56_8h_source.html
+++ b/website/static/cdocs/big__512__56_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_512_56.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_512_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__512__56_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_512_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_512_56_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__512__56_8h.html">config_big_512_56.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__512__56_8h.html#a0db657df710516e21bc7c3a30ebaca9c">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_512_56 (8*MODBYTES_512_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">   40</a></span>&#160;<span class="preprocessor">#define NLEN_512_56 (1+((8*MODBYTES_512_56-1)/BASEBITS_512_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_512_56 2*NLEN_512_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">   42</a></span>&#160;<span class="preprocessor">#define BMASK_512_56 (((chunk)1&lt;&lt;BASEBITS_512_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a04df0e72fd01b043bc75136f55dddefa">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_512_56 (1&lt;&lt;(CHUNK-BASEBITS_512_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">   45</a></span>&#160;<span class="preprocessor">#define HBITS_512_56 (BASEBITS_512_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">   46</a></span>&#160;<span class="preprocessor">#define HMASK_512_56 (((chunk)1&lt;&lt;HBITS_512_56)-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_512_56 NLEN_512_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_512_56 (NLEN_512_56+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__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>[<a class="code" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_512_56 DNLEN_512_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_512_56 (DNLEN_512_56+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__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>[<a class="code" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</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__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>[<a class="code" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>[<a class="code" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</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__512__56_8h.html#a6c03cc064c9712a767314119a679973d">BIG_512_56_iszilch</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a3340dedd669f14005a5fd1a8cb8034d3">BIG_512_56_isunity</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6de2d4eec2f88af00f6b83afe28adfdd">BIG_512_56_diszilch</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#afb4bad064aaa2c63223a2b1e36cc9df2">BIG_512_56_output</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9c96763abe22b98036f1c0745dffedc9">BIG_512_56_rawoutput</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9a7deda52de574bd6319cd42f69c67c5">BIG_512_56_cswap</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a864d5e13bdc3993881b64896ed2a2e9c">BIG_512_56_cmove</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aa25d081ccd192a558b6f6703cbd1a7f3">BIG_512_56_dcmove</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6d59711b062c1ce4edcbe9f2a85a6dc4">BIG_512_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ae55018509b356aef389161e2ae3252b4">BIG_512_56_fromBytes</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a540ea492b28221f6a202b7e069ff00f3">BIG_512_56_fromBytesLen</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a0b51d7740118852bf623f8bf74fe4e9a">BIG_512_56_dfromBytesLen</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad4444655663c0fe5ce35ff2663daf1b3">BIG_512_56_doutput</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a660c01c6bdae1aee012b9bb050cfa6b3">BIG_512_56_drawoutput</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad74df885fe405c2ed3ed82461ef10ebd">BIG_512_56_rcopy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a68f11a02ca0c3388c6fcf71872d0afeb">BIG_512_56_copy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a03978b297fe1e6fcf8e40ecefbcdaebc">BIG_512_56_dcopy</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a098af3008afd9a6159a541271dbd5243">BIG_512_56_dsucopy</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ae19a9cb3f045e0793d6127242a1d7758">BIG_512_56_dscopy</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a81d0f439051b63c336184397352b94a3">BIG_512_56_sdcopy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a053ee788ebe4f31fefb26cc27bbf50e3">BIG_512_56_sducopy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a8ccc256e5b5b30959bef0d1248c887eb">BIG_512_56_zero</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#adffd0cd6299b3c53007ad55cfaccbc08">BIG_512_56_dzero</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a9bf53b6ef7e92d4a508ecda646df4596">BIG_512_56_one</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e">BIG_512_56_invmod2m</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9d63ca24b476f341818792d36bced063">BIG_512_56_add</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6be59bc8cf6a72b0011612ae21746adc">BIG_512_56_or</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ab8efbc4513b62ba29acb31422274031a">BIG_512_56_inc</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ace7ad7e061735c9b856058229ef6564f">BIG_512_56_sub</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a3850173cc993a8e0ca6e37c3b72e42dd">BIG_512_56_dec</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ad152e5454d243adc45ac706d9daed8bb">BIG_512_56_dadd</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a44c83544222c4b105cbe686661fe372b">BIG_512_56_dsub</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad0d5e92eddf8ffb0887ba01b52ab64b2">BIG_512_56_imul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a55cbbd8bea4ce42cbba3b2b7586ba882">BIG_512_56_pmul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a48a5f3efae9e6383d50d4160555275c1">BIG_512_56_div3</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a3d1bcc77b27d0d4c6c5dba8fb1855aac">BIG_512_56_pxmul</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a0bcfee35eb9d3689fcf2faf09aee9c2f">BIG_512_56_mul</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a8f3bfcf5947e7c9854b36ad87a0b58d0">BIG_512_56_smul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a538a695940b21f3ef8396f146fbf6fb6">BIG_512_56_sqr</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a191d00670fdaab6392a9358dbb4255ce">BIG_512_56_monty</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> a,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a740033e4e3e32da7c77eba04d972ba08">BIG_512_56_shl</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#adb19214740d1b4665c8af07c43351167">BIG_512_56_fshl</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aebc1c4e56b4865cc88d1a21d28873cdf">BIG_512_56_dshl</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#aadc551ab1e69a4c426ba46e39e1e829f">BIG_512_56_shr</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a7153d530dcfb862db535d5476db898c5">BIG_512_56_ssn</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> r,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> a, <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a017f4fbc93b39f7449f32e98c5b42caa">BIG_512_56_fshr</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac8b4cb805046cf776c407f93dbe67fec">BIG_512_56_dshr</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad468b89e9dbebced678a451cacfe117e">BIG_512_56_split</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a86e77134248181c82ba9d8761b7915df">BIG_512_56_norm</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a2e040a971d39ee89acd1dc5cdc71b7ef">BIG_512_56_dnorm</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ac43de147c19d30997f2286aa44f33acd">BIG_512_56_comp</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a8a151e9c55e70d633c6d6894a46f1d03">BIG_512_56_dcomp</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a7f2f293f6815e445635ae8938e425440">BIG_512_56_nbits</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aebd160d796ad0cfeb78dce6615344247">BIG_512_56_dnbits</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a33dada601f88ef9ac0d4cf3af7898eaf">BIG_512_56_mod</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac4a9c8041b508eb6f2ec08901f99babd">BIG_512_56_sdiv</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9083efa35d03931429c193bba4d6f7af">BIG_512_56_dmod</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6426c606125f7bc25b9b465e20d45cc5">BIG_512_56_ddiv</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#afbcf13df48a0bd71d13b06e4c33e9960">BIG_512_56_parity</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac818f5154062c03071c1466e3b422c5e">BIG_512_56_bit</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a5f96e6eb608a1bf5c8c74e7bf0414652">BIG_512_56_lastbits</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac005ca9468820c2cbc172cf2152142c9">BIG_512_56_random</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a2af9e5422a6d117d35064934b4d8d89a">BIG_512_56_randomnum</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a32953ffd99aa78f11058d40372671f51">BIG_512_56_modmul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a133822f592e434ef3d90b43b15bd2b33">BIG_512_56_moddiv</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac14ac6d9e1586dc7659fac77ae82be8e">BIG_512_56_modsqr</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#af80c816796a26a0a58c40fabb8421658">BIG_512_56_modneg</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac5f5b53f95182fcca945f2beb0b813fa">BIG_512_56_jacobi</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aa53606a6b41f19e07fc7107e0e584cfb">BIG_512_56_invmodp</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a24123faaf65ca0139f2f69c86f96a5ed">BIG_512_56_mod2m</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a29da37996f5cc674d38ed4c9936f66b1">BIG_512_56_dmod2m</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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_512_56(<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__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">BMASK_512_56</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__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</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_512_56(<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__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</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__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</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__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">BMASK_512_56</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__512__56_8h_html_a86e77134248181c82ba9d8761b7915df"><div class="ttname"><a href="big__512__56_8h.html#a86e77134248181c82ba9d8761b7915df">BIG_512_56_norm</a></div><div class="ttdeci">chunk BIG_512_56_norm(BIG_512_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:976</div></div>
-<div class="ttc" id="big__512__56_8h_html_a24123faaf65ca0139f2f69c86f96a5ed"><div class="ttname"><a href="big__512__56_8h.html#a24123faaf65ca0139f2f69c86f96a5ed">BIG_512_56_mod2m</a></div><div class="ttdeci">void BIG_512_56_mod2m(BIG_512_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1456</div></div>
-<div class="ttc" id="big__512__56_8h_html_a68f11a02ca0c3388c6fcf71872d0afeb"><div class="ttname"><a href="big__512__56_8h.html#a68f11a02ca0c3388c6fcf71872d0afeb">BIG_512_56_copy</a></div><div class="ttdeci">void BIG_512_56_copy(BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:227</div></div>
-<div class="ttc" id="big__512__56_8h_html_ac43de147c19d30997f2286aa44f33acd"><div class="ttname"><a href="big__512__56_8h.html#ac43de147c19d30997f2286aa44f33acd">BIG_512_56_comp</a></div><div class="ttdeci">int BIG_512_56_comp(BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1014</div></div>
+<a href="big__512__56_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_512_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_512_56_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__512__56_8h.html">config_big_512_56.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__512__56_8h.html#a0db657df710516e21bc7c3a30ebaca9c">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_512_56 (8*MODBYTES_512_56) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">   40</a></span>&#160;<span class="preprocessor">#define NLEN_512_56 (1+((8*MODBYTES_512_56-1)/BASEBITS_512_56)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_512_56 2*NLEN_512_56 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">   42</a></span>&#160;<span class="preprocessor">#define BMASK_512_56 (((chunk)1&lt;&lt;BASEBITS_512_56)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a04df0e72fd01b043bc75136f55dddefa">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_512_56 (1&lt;&lt;(CHUNK-BASEBITS_512_56-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">   45</a></span>&#160;<span class="preprocessor">#define HBITS_512_56 (BASEBITS_512_56/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">   46</a></span>&#160;<span class="preprocessor">#define HMASK_512_56 (((chunk)1&lt;&lt;HBITS_512_56)-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_512_56 NLEN_512_56</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_512_56 (NLEN_512_56+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__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>[<a class="code" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_512_56 DNLEN_512_56</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_512_56 (DNLEN_512_56+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__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>[<a class="code" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</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__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>[<a class="code" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a>[<a class="code" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</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__512__56_8h.html#a6c03cc064c9712a767314119a679973d">BIG_512_56_iszilch</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a3340dedd669f14005a5fd1a8cb8034d3">BIG_512_56_isunity</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6de2d4eec2f88af00f6b83afe28adfdd">BIG_512_56_diszilch</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#afb4bad064aaa2c63223a2b1e36cc9df2">BIG_512_56_output</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9c96763abe22b98036f1c0745dffedc9">BIG_512_56_rawoutput</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9a7deda52de574bd6319cd42f69c67c5">BIG_512_56_cswap</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a864d5e13bdc3993881b64896ed2a2e9c">BIG_512_56_cmove</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aa25d081ccd192a558b6f6703cbd1a7f3">BIG_512_56_dcmove</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6d59711b062c1ce4edcbe9f2a85a6dc4">BIG_512_56_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ae55018509b356aef389161e2ae3252b4">BIG_512_56_fromBytes</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a540ea492b28221f6a202b7e069ff00f3">BIG_512_56_fromBytesLen</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a0b51d7740118852bf623f8bf74fe4e9a">BIG_512_56_dfromBytesLen</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad4444655663c0fe5ce35ff2663daf1b3">BIG_512_56_doutput</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a660c01c6bdae1aee012b9bb050cfa6b3">BIG_512_56_drawoutput</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad74df885fe405c2ed3ed82461ef10ebd">BIG_512_56_rcopy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a68f11a02ca0c3388c6fcf71872d0afeb">BIG_512_56_copy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a03978b297fe1e6fcf8e40ecefbcdaebc">BIG_512_56_dcopy</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a098af3008afd9a6159a541271dbd5243">BIG_512_56_dsucopy</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ae19a9cb3f045e0793d6127242a1d7758">BIG_512_56_dscopy</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a81d0f439051b63c336184397352b94a3">BIG_512_56_sdcopy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a053ee788ebe4f31fefb26cc27bbf50e3">BIG_512_56_sducopy</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a8ccc256e5b5b30959bef0d1248c887eb">BIG_512_56_zero</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#adffd0cd6299b3c53007ad55cfaccbc08">BIG_512_56_dzero</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a9bf53b6ef7e92d4a508ecda646df4596">BIG_512_56_one</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e">BIG_512_56_invmod2m</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9d63ca24b476f341818792d36bced063">BIG_512_56_add</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6be59bc8cf6a72b0011612ae21746adc">BIG_512_56_or</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ab8efbc4513b62ba29acb31422274031a">BIG_512_56_inc</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ace7ad7e061735c9b856058229ef6564f">BIG_512_56_sub</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a3850173cc993a8e0ca6e37c3b72e42dd">BIG_512_56_dec</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ad152e5454d243adc45ac706d9daed8bb">BIG_512_56_dadd</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a44c83544222c4b105cbe686661fe372b">BIG_512_56_dsub</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad0d5e92eddf8ffb0887ba01b52ab64b2">BIG_512_56_imul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a55cbbd8bea4ce42cbba3b2b7586ba882">BIG_512_56_pmul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a48a5f3efae9e6383d50d4160555275c1">BIG_512_56_div3</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a3d1bcc77b27d0d4c6c5dba8fb1855aac">BIG_512_56_pxmul</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a0bcfee35eb9d3689fcf2faf09aee9c2f">BIG_512_56_mul</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a8f3bfcf5947e7c9854b36ad87a0b58d0">BIG_512_56_smul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a538a695940b21f3ef8396f146fbf6fb6">BIG_512_56_sqr</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a191d00670fdaab6392a9358dbb4255ce">BIG_512_56_monty</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> a,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a740033e4e3e32da7c77eba04d972ba08">BIG_512_56_shl</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#adb19214740d1b4665c8af07c43351167">BIG_512_56_fshl</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aebc1c4e56b4865cc88d1a21d28873cdf">BIG_512_56_dshl</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#aadc551ab1e69a4c426ba46e39e1e829f">BIG_512_56_shr</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a7153d530dcfb862db535d5476db898c5">BIG_512_56_ssn</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> r,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> a, <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a017f4fbc93b39f7449f32e98c5b42caa">BIG_512_56_fshr</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac8b4cb805046cf776c407f93dbe67fec">BIG_512_56_dshr</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ad468b89e9dbebced678a451cacfe117e">BIG_512_56_split</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a86e77134248181c82ba9d8761b7915df">BIG_512_56_norm</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a2e040a971d39ee89acd1dc5cdc71b7ef">BIG_512_56_dnorm</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#ac43de147c19d30997f2286aa44f33acd">BIG_512_56_comp</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a8a151e9c55e70d633c6d6894a46f1d03">BIG_512_56_dcomp</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a7f2f293f6815e445635ae8938e425440">BIG_512_56_nbits</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aebd160d796ad0cfeb78dce6615344247">BIG_512_56_dnbits</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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__512__56_8h.html#a33dada601f88ef9ac0d4cf3af7898eaf">BIG_512_56_mod</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac4a9c8041b508eb6f2ec08901f99babd">BIG_512_56_sdiv</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a9083efa35d03931429c193bba4d6f7af">BIG_512_56_dmod</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a6426c606125f7bc25b9b465e20d45cc5">BIG_512_56_ddiv</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#afbcf13df48a0bd71d13b06e4c33e9960">BIG_512_56_parity</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac818f5154062c03071c1466e3b422c5e">BIG_512_56_bit</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a5f96e6eb608a1bf5c8c74e7bf0414652">BIG_512_56_lastbits</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac005ca9468820c2cbc172cf2152142c9">BIG_512_56_random</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a2af9e5422a6d117d35064934b4d8d89a">BIG_512_56_randomnum</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a32953ffd99aa78f11058d40372671f51">BIG_512_56_modmul</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a133822f592e434ef3d90b43b15bd2b33">BIG_512_56_moddiv</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac14ac6d9e1586dc7659fac77ae82be8e">BIG_512_56_modsqr</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#af80c816796a26a0a58c40fabb8421658">BIG_512_56_modneg</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#ac5f5b53f95182fcca945f2beb0b813fa">BIG_512_56_jacobi</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#aa53606a6b41f19e07fc7107e0e584cfb">BIG_512_56_invmodp</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a24123faaf65ca0139f2f69c86f96a5ed">BIG_512_56_mod2m</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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__512__56_8h.html#a29da37996f5cc674d38ed4c9936f66b1">BIG_512_56_dmod2m</a>(<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</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_512_56(<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__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">BMASK_512_56</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__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</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_512_56(<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__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</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__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</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__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">BMASK_512_56</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__512__56_8h_html_a86e77134248181c82ba9d8761b7915df"><div class="ttname"><a href="big__512__56_8h.html#a86e77134248181c82ba9d8761b7915df">BIG_512_56_norm</a></div><div class="ttdeci">chunk BIG_512_56_norm(BIG_512_56 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:976</div></div>
+<div class="ttc" id="big__512__56_8h_html_a24123faaf65ca0139f2f69c86f96a5ed"><div class="ttname"><a href="big__512__56_8h.html#a24123faaf65ca0139f2f69c86f96a5ed">BIG_512_56_mod2m</a></div><div class="ttdeci">void BIG_512_56_mod2m(BIG_512_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1540</div></div>
+<div class="ttc" id="big__512__56_8h_html_a68f11a02ca0c3388c6fcf71872d0afeb"><div class="ttname"><a href="big__512__56_8h.html#a68f11a02ca0c3388c6fcf71872d0afeb">BIG_512_56_copy</a></div><div class="ttdeci">void BIG_512_56_copy(BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:227</div></div>
+<div class="ttc" id="big__512__56_8h_html_ac43de147c19d30997f2286aa44f33acd"><div class="ttname"><a href="big__512__56_8h.html#ac43de147c19d30997f2286aa44f33acd">BIG_512_56_comp</a></div><div class="ttdeci">int BIG_512_56_comp(BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1014</div></div>
 <div class="ttc" id="big__512__56_8h_html_a017f4fbc93b39f7449f32e98c5b42caa"><div class="ttname"><a href="big__512__56_8h.html#a017f4fbc93b39f7449f32e98c5b42caa">BIG_512_56_fshr</a></div><div class="ttdeci">int BIG_512_56_fshr(BIG_512_56 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_512_56.c:906</div></div>
-<div class="ttc" id="big__512__56_8h_html_a6d59711b062c1ce4edcbe9f2a85a6dc4"><div class="ttname"><a href="big__512__56_8h.html#a6d59711b062c1ce4edcbe9f2a85a6dc4">BIG_512_56_toBytes</a></div><div class="ttdeci">void BIG_512_56_toBytes(char *a, BIG_512_56 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:141</div></div>
-<div class="ttc" id="big__512__56_8h_html_afb4bad064aaa2c63223a2b1e36cc9df2"><div class="ttname"><a href="big__512__56_8h.html#afb4bad064aaa2c63223a2b1e36cc9df2">BIG_512_56_output</a></div><div class="ttdeci">void BIG_512_56_output(BIG_512_56 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:55</div></div>
-<div class="ttc" id="big__512__56_8h_html_a9bf53b6ef7e92d4a508ecda646df4596"><div class="ttname"><a href="big__512__56_8h.html#a9bf53b6ef7e92d4a508ecda646df4596">BIG_512_56_one</a></div><div class="ttdeci">void BIG_512_56_one(BIG_512_56 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_512_56.c:340</div></div>
-<div class="ttc" id="big__512__56_8h_html_a6c03cc064c9712a767314119a679973d"><div class="ttname"><a href="big__512__56_8h.html#a6c03cc064c9712a767314119a679973d">BIG_512_56_iszilch</a></div><div class="ttdeci">int BIG_512_56_iszilch(BIG_512_56 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:26</div></div>
+<div class="ttc" id="big__512__56_8h_html_a6d59711b062c1ce4edcbe9f2a85a6dc4"><div class="ttname"><a href="big__512__56_8h.html#a6d59711b062c1ce4edcbe9f2a85a6dc4">BIG_512_56_toBytes</a></div><div class="ttdeci">void BIG_512_56_toBytes(char *a, BIG_512_56 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:141</div></div>
+<div class="ttc" id="big__512__56_8h_html_afb4bad064aaa2c63223a2b1e36cc9df2"><div class="ttname"><a href="big__512__56_8h.html#afb4bad064aaa2c63223a2b1e36cc9df2">BIG_512_56_output</a></div><div class="ttdeci">void BIG_512_56_output(BIG_512_56 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:55</div></div>
+<div class="ttc" id="big__512__56_8h_html_a9bf53b6ef7e92d4a508ecda646df4596"><div class="ttname"><a href="big__512__56_8h.html#a9bf53b6ef7e92d4a508ecda646df4596">BIG_512_56_one</a></div><div class="ttdeci">void BIG_512_56_one(BIG_512_56 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_512_56.c:340</div></div>
+<div class="ttc" id="big__512__56_8h_html_a6c03cc064c9712a767314119a679973d"><div class="ttname"><a href="big__512__56_8h.html#a6c03cc064c9712a767314119a679973d">BIG_512_56_iszilch</a></div><div class="ttdeci">int BIG_512_56_iszilch(BIG_512_56 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:26</div></div>
 <div class="ttc" id="big__512__56_8h_html_ab11601a54bdce84587a8c0667fbd0e9c"><div class="ttname"><a href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a></div><div class="ttdeci">chunk BIG_512_56[NLEN_512_56]</div><div class="ttdef"><b>Definition:</b> big_512_56.h:58</div></div>
-<div class="ttc" id="big__512__56_8h_html_a740033e4e3e32da7c77eba04d972ba08"><div class="ttname"><a href="big__512__56_8h.html#a740033e4e3e32da7c77eba04d972ba08">BIG_512_56_shl</a></div><div class="ttdeci">void BIG_512_56_shl(BIG_512_56 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_512_56.c:813</div></div>
-<div class="ttc" id="big__512__56_8h_html_a33dada601f88ef9ac0d4cf3af7898eaf"><div class="ttname"><a href="big__512__56_8h.html#a33dada601f88ef9ac0d4cf3af7898eaf">BIG_512_56_mod</a></div><div class="ttdeci">void BIG_512_56_mod(BIG_512_56 x, BIG_512_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1082</div></div>
-<div class="ttc" id="big__512__56_8h_html_a660c01c6bdae1aee012b9bb050cfa6b3"><div class="ttname"><a href="big__512__56_8h.html#a660c01c6bdae1aee012b9bb050cfa6b3">BIG_512_56_drawoutput</a></div><div class="ttdeci">void BIG_512_56_drawoutput(DBIG_512_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:212</div></div>
-<div class="ttc" id="big__512__56_8h_html_a191d00670fdaab6392a9358dbb4255ce"><div class="ttname"><a href="big__512__56_8h.html#a191d00670fdaab6392a9358dbb4255ce">BIG_512_56_monty</a></div><div class="ttdeci">void BIG_512_56_monty(BIG_512_56 a, BIG_512_56 md, chunk MC, DBIG_512_56 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_512_56.c:735</div></div>
-<div class="ttc" id="big__512__56_8h_html_ac5f5b53f95182fcca945f2beb0b813fa"><div class="ttname"><a href="big__512__56_8h.html#ac5f5b53f95182fcca945f2beb0b813fa">BIG_512_56_jacobi</a></div><div class="ttdeci">int BIG_512_56_jacobi(BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1354</div></div>
-<div class="ttc" id="big__512__56_8h_html_ac4a9c8041b508eb6f2ec08901f99babd"><div class="ttname"><a href="big__512__56_8h.html#ac4a9c8041b508eb6f2ec08901f99babd">BIG_512_56_sdiv</a></div><div class="ttdeci">void BIG_512_56_sdiv(BIG_512_56 x, BIG_512_56 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1188</div></div>
+<div class="ttc" id="big__512__56_8h_html_a740033e4e3e32da7c77eba04d972ba08"><div class="ttname"><a href="big__512__56_8h.html#a740033e4e3e32da7c77eba04d972ba08">BIG_512_56_shl</a></div><div class="ttdeci">void BIG_512_56_shl(BIG_512_56 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_512_56.c:813</div></div>
+<div class="ttc" id="big__512__56_8h_html_a33dada601f88ef9ac0d4cf3af7898eaf"><div class="ttname"><a href="big__512__56_8h.html#a33dada601f88ef9ac0d4cf3af7898eaf">BIG_512_56_mod</a></div><div class="ttdeci">void BIG_512_56_mod(BIG_512_56 x, BIG_512_56 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1082</div></div>
+<div class="ttc" id="big__512__56_8h_html_a660c01c6bdae1aee012b9bb050cfa6b3"><div class="ttname"><a href="big__512__56_8h.html#a660c01c6bdae1aee012b9bb050cfa6b3">BIG_512_56_drawoutput</a></div><div class="ttdeci">void BIG_512_56_drawoutput(DBIG_512_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:212</div></div>
+<div class="ttc" id="big__512__56_8h_html_a191d00670fdaab6392a9358dbb4255ce"><div class="ttname"><a href="big__512__56_8h.html#a191d00670fdaab6392a9358dbb4255ce">BIG_512_56_monty</a></div><div class="ttdeci">void BIG_512_56_monty(BIG_512_56 a, BIG_512_56 md, chunk MC, DBIG_512_56 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_512_56.c:735</div></div>
+<div class="ttc" id="big__512__56_8h_html_ac5f5b53f95182fcca945f2beb0b813fa"><div class="ttname"><a href="big__512__56_8h.html#ac5f5b53f95182fcca945f2beb0b813fa">BIG_512_56_jacobi</a></div><div class="ttdeci">int BIG_512_56_jacobi(BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1354</div></div>
+<div class="ttc" id="big__512__56_8h_html_ac4a9c8041b508eb6f2ec08901f99babd"><div class="ttname"><a href="big__512__56_8h.html#ac4a9c8041b508eb6f2ec08901f99babd">BIG_512_56_sdiv</a></div><div class="ttdeci">void BIG_512_56_sdiv(BIG_512_56 x, BIG_512_56 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1188</div></div>
 <div class="ttc" id="config__big__512__56_8h_html_ae055399023f68da19be8040f6394efe3"><div class="ttname"><a href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">BASEBITS_512_56</a></div><div class="ttdeci">#define BASEBITS_512_56</div><div class="ttdef"><b>Definition:</b> config_big_512_56.h:35</div></div>
-<div class="ttc" id="big__512__56_8h_html_a864d5e13bdc3993881b64896ed2a2e9c"><div class="ttname"><a href="big__512__56_8h.html#a864d5e13bdc3993881b64896ed2a2e9c">BIG_512_56_cmove</a></div><div class="ttdeci">void BIG_512_56_cmove(BIG_512_56 x, BIG_512_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:110</div></div>
-<div class="ttc" id="big__512__56_8h_html_a48a5f3efae9e6383d50d4160555275c1"><div class="ttname"><a href="big__512__56_8h.html#a48a5f3efae9e6383d50d4160555275c1">BIG_512_56_div3</a></div><div class="ttdeci">int BIG_512_56_div3(BIG_512_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:484</div></div>
-<div class="ttc" id="big__512__56_8h_html_aebd160d796ad0cfeb78dce6615344247"><div class="ttname"><a href="big__512__56_8h.html#aebd160d796ad0cfeb78dce6615344247">BIG_512_56_dnbits</a></div><div class="ttdeci">int BIG_512_56_dnbits(DBIG_512_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1060</div></div>
-<div class="ttc" id="big__512__56_8h_html_adffd0cd6299b3c53007ad55cfaccbc08"><div class="ttname"><a href="big__512__56_8h.html#adffd0cd6299b3c53007ad55cfaccbc08">BIG_512_56_dzero</a></div><div class="ttdeci">void BIG_512_56_dzero(DBIG_512_56 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:329</div></div>
-<div class="ttc" id="big__512__56_8h_html_a540ea492b28221f6a202b7e069ff00f3"><div class="ttname"><a href="big__512__56_8h.html#a540ea492b28221f6a202b7e069ff00f3">BIG_512_56_fromBytesLen</a></div><div class="ttdeci">void BIG_512_56_fromBytesLen(BIG_512_56 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_512_56.c:170</div></div>
-<div class="ttc" id="big__512__56_8h_html_ad74df885fe405c2ed3ed82461ef10ebd"><div class="ttname"><a href="big__512__56_8h.html#ad74df885fe405c2ed3ed82461ef10ebd">BIG_512_56_rcopy</a></div><div class="ttdeci">void BIG_512_56_rcopy(BIG_512_56 x, const BIG_512_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:239</div></div>
+<div class="ttc" id="big__512__56_8h_html_a864d5e13bdc3993881b64896ed2a2e9c"><div class="ttname"><a href="big__512__56_8h.html#a864d5e13bdc3993881b64896ed2a2e9c">BIG_512_56_cmove</a></div><div class="ttdeci">void BIG_512_56_cmove(BIG_512_56 x, BIG_512_56 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:110</div></div>
+<div class="ttc" id="big__512__56_8h_html_a48a5f3efae9e6383d50d4160555275c1"><div class="ttname"><a href="big__512__56_8h.html#a48a5f3efae9e6383d50d4160555275c1">BIG_512_56_div3</a></div><div class="ttdeci">int BIG_512_56_div3(BIG_512_56 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:484</div></div>
+<div class="ttc" id="big__512__56_8h_html_aebd160d796ad0cfeb78dce6615344247"><div class="ttname"><a href="big__512__56_8h.html#aebd160d796ad0cfeb78dce6615344247">BIG_512_56_dnbits</a></div><div class="ttdeci">int BIG_512_56_dnbits(DBIG_512_56 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1060</div></div>
+<div class="ttc" id="big__512__56_8h_html_adffd0cd6299b3c53007ad55cfaccbc08"><div class="ttname"><a href="big__512__56_8h.html#adffd0cd6299b3c53007ad55cfaccbc08">BIG_512_56_dzero</a></div><div class="ttdeci">void BIG_512_56_dzero(DBIG_512_56 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:329</div></div>
+<div class="ttc" id="big__512__56_8h_html_a540ea492b28221f6a202b7e069ff00f3"><div class="ttname"><a href="big__512__56_8h.html#a540ea492b28221f6a202b7e069ff00f3">BIG_512_56_fromBytesLen</a></div><div class="ttdeci">void BIG_512_56_fromBytesLen(BIG_512_56 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_512_56.c:170</div></div>
+<div class="ttc" id="big__512__56_8h_html_ad74df885fe405c2ed3ed82461ef10ebd"><div class="ttname"><a href="big__512__56_8h.html#ad74df885fe405c2ed3ed82461ef10ebd">BIG_512_56_rcopy</a></div><div class="ttdeci">void BIG_512_56_rcopy(BIG_512_56 x, const BIG_512_56 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:239</div></div>
 <div class="ttc" id="big__512__56_8h_html_afcfbd331761b81491b0ad27bec046f5b"><div class="ttname"><a href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">DNLEN_512_56</a></div><div class="ttdeci">#define DNLEN_512_56</div><div class="ttdef"><b>Definition:</b> big_512_56.h:41</div></div>
-<div class="ttc" id="big__512__56_8h_html_a9d63ca24b476f341818792d36bced063"><div class="ttname"><a href="big__512__56_8h.html#a9d63ca24b476f341818792d36bced063">BIG_512_56_add</a></div><div class="ttdeci">void BIG_512_56_add(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:356</div></div>
+<div class="ttc" id="big__512__56_8h_html_a9d63ca24b476f341818792d36bced063"><div class="ttname"><a href="big__512__56_8h.html#a9d63ca24b476f341818792d36bced063">BIG_512_56_add</a></div><div class="ttdeci">void BIG_512_56_add(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:356</div></div>
 <div class="ttc" id="big__512__56_8h_html_a8029cff2d7cde6519d1bc6042e28ef9b"><div class="ttname"><a href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">HMASK_512_56</a></div><div class="ttdeci">#define HMASK_512_56</div><div class="ttdef"><b>Definition:</b> big_512_56.h:46</div></div>
-<div class="ttc" id="big__512__56_8h_html_a0b51d7740118852bf623f8bf74fe4e9a"><div class="ttname"><a href="big__512__56_8h.html#a0b51d7740118852bf623f8bf74fe4e9a">BIG_512_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_512_56_dfromBytesLen(DBIG_512_56 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_512_56.c:1485</div></div>
-<div class="ttc" id="big__512__56_8h_html_a9083efa35d03931429c193bba4d6f7af"><div class="ttname"><a href="big__512__56_8h.html#a9083efa35d03931429c193bba4d6f7af">BIG_512_56_dmod</a></div><div class="ttdeci">void BIG_512_56_dmod(BIG_512_56 x, DBIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1113</div></div>
-<div class="ttc" id="big__512__56_8h_html_aebc1c4e56b4865cc88d1a21d28873cdf"><div class="ttname"><a href="big__512__56_8h.html#aebc1c4e56b4865cc88d1a21d28873cdf">BIG_512_56_dshl</a></div><div class="ttdeci">void BIG_512_56_dshl(DBIG_512_56 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_512_56.c:846</div></div>
-<div class="ttc" id="big__512__56_8h_html_aa25d081ccd192a558b6f6703cbd1a7f3"><div class="ttname"><a href="big__512__56_8h.html#aa25d081ccd192a558b6f6703cbd1a7f3">BIG_512_56_dcmove</a></div><div class="ttdeci">void BIG_512_56_dcmove(BIG_512_56 x, BIG_512_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__512__56_8h_html_a9c96763abe22b98036f1c0745dffedc9"><div class="ttname"><a href="big__512__56_8h.html#a9c96763abe22b98036f1c0745dffedc9">BIG_512_56_rawoutput</a></div><div class="ttdeci">void BIG_512_56_rawoutput(BIG_512_56 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_512_56.c:77</div></div>
-<div class="ttc" id="big__512__56_8h_html_a0bcfee35eb9d3689fcf2faf09aee9c2f"><div class="ttname"><a href="big__512__56_8h.html#a0bcfee35eb9d3689fcf2faf09aee9c2f">BIG_512_56_mul</a></div><div class="ttdeci">void BIG_512_56_mul(DBIG_512_56 x, BIG_512_56 y, BIG_512_56 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_512_56.c:542</div></div>
+<div class="ttc" id="big__512__56_8h_html_a0b51d7740118852bf623f8bf74fe4e9a"><div class="ttname"><a href="big__512__56_8h.html#a0b51d7740118852bf623f8bf74fe4e9a">BIG_512_56_dfromBytesLen</a></div><div class="ttdeci">void BIG_512_56_dfromBytesLen(DBIG_512_56 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_512_56.c:1569</div></div>
+<div class="ttc" id="big__512__56_8h_html_a9083efa35d03931429c193bba4d6f7af"><div class="ttname"><a href="big__512__56_8h.html#a9083efa35d03931429c193bba4d6f7af">BIG_512_56_dmod</a></div><div class="ttdeci">void BIG_512_56_dmod(BIG_512_56 x, DBIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1113</div></div>
+<div class="ttc" id="big__512__56_8h_html_aebc1c4e56b4865cc88d1a21d28873cdf"><div class="ttname"><a href="big__512__56_8h.html#aebc1c4e56b4865cc88d1a21d28873cdf">BIG_512_56_dshl</a></div><div class="ttdeci">void BIG_512_56_dshl(DBIG_512_56 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_512_56.c:846</div></div>
+<div class="ttc" id="big__512__56_8h_html_aa25d081ccd192a558b6f6703cbd1a7f3"><div class="ttname"><a href="big__512__56_8h.html#aa25d081ccd192a558b6f6703cbd1a7f3">BIG_512_56_dcmove</a></div><div class="ttdeci">void BIG_512_56_dcmove(BIG_512_56 x, BIG_512_56 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__512__56_8h_html_a9c96763abe22b98036f1c0745dffedc9"><div class="ttname"><a href="big__512__56_8h.html#a9c96763abe22b98036f1c0745dffedc9">BIG_512_56_rawoutput</a></div><div class="ttdeci">void BIG_512_56_rawoutput(BIG_512_56 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_512_56.c:77</div></div>
+<div class="ttc" id="big__512__56_8h_html_a0bcfee35eb9d3689fcf2faf09aee9c2f"><div class="ttname"><a href="big__512__56_8h.html#a0bcfee35eb9d3689fcf2faf09aee9c2f">BIG_512_56_mul</a></div><div class="ttdeci">void BIG_512_56_mul(DBIG_512_56 x, BIG_512_56 y, BIG_512_56 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_512_56.c:542</div></div>
 <div class="ttc" id="big__512__56_8h_html_adb19214740d1b4665c8af07c43351167"><div class="ttname"><a href="big__512__56_8h.html#adb19214740d1b4665c8af07c43351167">BIG_512_56_fshl</a></div><div class="ttdeci">int BIG_512_56_fshl(BIG_512_56 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_512_56.c:832</div></div>
-<div class="ttc" id="big__512__56_8h_html_a7f2f293f6815e445635ae8938e425440"><div class="ttname"><a href="big__512__56_8h.html#a7f2f293f6815e445635ae8938e425440">BIG_512_56_nbits</a></div><div class="ttdeci">int BIG_512_56_nbits(BIG_512_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1040</div></div>
-<div class="ttc" id="big__512__56_8h_html_a9a7deda52de574bd6319cd42f69c67c5"><div class="ttname"><a href="big__512__56_8h.html#a9a7deda52de574bd6319cd42f69c67c5">BIG_512_56_cswap</a></div><div class="ttdeci">void BIG_512_56_cswap(BIG_512_56 x, BIG_512_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:92</div></div>
-<div class="ttc" id="big__512__56_8h_html_aa876a900676e1cc70dcd423b94b0d53e"><div class="ttname"><a href="big__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e">BIG_512_56_invmod2m</a></div><div class="ttdeci">void BIG_512_56_invmod2m(BIG_512_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__512__56_8h_html_ac818f5154062c03071c1466e3b422c5e"><div class="ttname"><a href="big__512__56_8h.html#ac818f5154062c03071c1466e3b422c5e">BIG_512_56_bit</a></div><div class="ttdeci">int BIG_512_56_bit(BIG_512_56 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1232</div></div>
-<div class="ttc" id="big__512__56_8h_html_af80c816796a26a0a58c40fabb8421658"><div class="ttname"><a href="big__512__56_8h.html#af80c816796a26a0a58c40fabb8421658">BIG_512_56_modneg</a></div><div class="ttdeci">void BIG_512_56_modneg(BIG_512_56 x, BIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1327</div></div>
-<div class="ttc" id="big__512__56_8h_html_a133822f592e434ef3d90b43b15bd2b33"><div class="ttname"><a href="big__512__56_8h.html#a133822f592e434ef3d90b43b15bd2b33">BIG_512_56_moddiv</a></div><div class="ttdeci">void BIG_512_56_moddiv(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z, BIG_512_56 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1337</div></div>
-<div class="ttc" id="big__512__56_8h_html_ad152e5454d243adc45ac706d9daed8bb"><div class="ttname"><a href="big__512__56_8h.html#ad152e5454d243adc45ac706d9daed8bb">BIG_512_56_dadd</a></div><div class="ttdeci">void BIG_512_56_dadd(DBIG_512_56 x, DBIG_512_56 y, DBIG_512_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:426</div></div>
-<div class="ttc" id="big__512__56_8h_html_a29da37996f5cc674d38ed4c9936f66b1"><div class="ttname"><a href="big__512__56_8h.html#a29da37996f5cc674d38ed4c9936f66b1">BIG_512_56_dmod2m</a></div><div class="ttdeci">void BIG_512_56_dmod2m(DBIG_512_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1470</div></div>
-<div class="ttc" id="big__512__56_8h_html_a6de2d4eec2f88af00f6b83afe28adfdd"><div class="ttname"><a href="big__512__56_8h.html#a6de2d4eec2f88af00f6b83afe28adfdd">BIG_512_56_diszilch</a></div><div class="ttdeci">int BIG_512_56_diszilch(DBIG_512_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:45</div></div>
-<div class="ttc" id="big__512__56_8h_html_aadc551ab1e69a4c426ba46e39e1e829f"><div class="ttname"><a href="big__512__56_8h.html#aadc551ab1e69a4c426ba46e39e1e829f">BIG_512_56_shr</a></div><div class="ttdeci">void BIG_512_56_shr(BIG_512_56 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_512_56.c:864</div></div>
-<div class="ttc" id="big__512__56_8h_html_a538a695940b21f3ef8396f146fbf6fb6"><div class="ttname"><a href="big__512__56_8h.html#a538a695940b21f3ef8396f146fbf6fb6">BIG_512_56_sqr</a></div><div class="ttdeci">void BIG_512_56_sqr(DBIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:618</div></div>
-<div class="ttc" id="big__512__56_8h_html_a3340dedd669f14005a5fd1a8cb8034d3"><div class="ttname"><a href="big__512__56_8h.html#a3340dedd669f14005a5fd1a8cb8034d3">BIG_512_56_isunity</a></div><div class="ttdeci">int BIG_512_56_isunity(BIG_512_56 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:35</div></div>
+<div class="ttc" id="big__512__56_8h_html_a7f2f293f6815e445635ae8938e425440"><div class="ttname"><a href="big__512__56_8h.html#a7f2f293f6815e445635ae8938e425440">BIG_512_56_nbits</a></div><div class="ttdeci">int BIG_512_56_nbits(BIG_512_56 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1040</div></div>
+<div class="ttc" id="big__512__56_8h_html_a9a7deda52de574bd6319cd42f69c67c5"><div class="ttname"><a href="big__512__56_8h.html#a9a7deda52de574bd6319cd42f69c67c5">BIG_512_56_cswap</a></div><div class="ttdeci">void BIG_512_56_cswap(BIG_512_56 x, BIG_512_56 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:92</div></div>
+<div class="ttc" id="big__512__56_8h_html_aa876a900676e1cc70dcd423b94b0d53e"><div class="ttname"><a href="big__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e">BIG_512_56_invmod2m</a></div><div class="ttdeci">void BIG_512_56_invmod2m(BIG_512_56 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1432</div></div>
+<div class="ttc" id="big__512__56_8h_html_ac818f5154062c03071c1466e3b422c5e"><div class="ttname"><a href="big__512__56_8h.html#ac818f5154062c03071c1466e3b422c5e">BIG_512_56_bit</a></div><div class="ttdeci">int BIG_512_56_bit(BIG_512_56 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1232</div></div>
+<div class="ttc" id="big__512__56_8h_html_af80c816796a26a0a58c40fabb8421658"><div class="ttname"><a href="big__512__56_8h.html#af80c816796a26a0a58c40fabb8421658">BIG_512_56_modneg</a></div><div class="ttdeci">void BIG_512_56_modneg(BIG_512_56 x, BIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1327</div></div>
+<div class="ttc" id="big__512__56_8h_html_a133822f592e434ef3d90b43b15bd2b33"><div class="ttname"><a href="big__512__56_8h.html#a133822f592e434ef3d90b43b15bd2b33">BIG_512_56_moddiv</a></div><div class="ttdeci">void BIG_512_56_moddiv(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z, BIG_512_56 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1337</div></div>
+<div class="ttc" id="big__512__56_8h_html_ad152e5454d243adc45ac706d9daed8bb"><div class="ttname"><a href="big__512__56_8h.html#ad152e5454d243adc45ac706d9daed8bb">BIG_512_56_dadd</a></div><div class="ttdeci">void BIG_512_56_dadd(DBIG_512_56 x, DBIG_512_56 y, DBIG_512_56 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:426</div></div>
+<div class="ttc" id="big__512__56_8h_html_a29da37996f5cc674d38ed4c9936f66b1"><div class="ttname"><a href="big__512__56_8h.html#a29da37996f5cc674d38ed4c9936f66b1">BIG_512_56_dmod2m</a></div><div class="ttdeci">void BIG_512_56_dmod2m(DBIG_512_56 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1554</div></div>
+<div class="ttc" id="big__512__56_8h_html_a6de2d4eec2f88af00f6b83afe28adfdd"><div class="ttname"><a href="big__512__56_8h.html#a6de2d4eec2f88af00f6b83afe28adfdd">BIG_512_56_diszilch</a></div><div class="ttdeci">int BIG_512_56_diszilch(DBIG_512_56 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:45</div></div>
+<div class="ttc" id="big__512__56_8h_html_aadc551ab1e69a4c426ba46e39e1e829f"><div class="ttname"><a href="big__512__56_8h.html#aadc551ab1e69a4c426ba46e39e1e829f">BIG_512_56_shr</a></div><div class="ttdeci">void BIG_512_56_shr(BIG_512_56 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_512_56.c:864</div></div>
+<div class="ttc" id="big__512__56_8h_html_a538a695940b21f3ef8396f146fbf6fb6"><div class="ttname"><a href="big__512__56_8h.html#a538a695940b21f3ef8396f146fbf6fb6">BIG_512_56_sqr</a></div><div class="ttdeci">void BIG_512_56_sqr(DBIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:618</div></div>
+<div class="ttc" id="big__512__56_8h_html_a3340dedd669f14005a5fd1a8cb8034d3"><div class="ttname"><a href="big__512__56_8h.html#a3340dedd669f14005a5fd1a8cb8034d3">BIG_512_56_isunity</a></div><div class="ttdeci">int BIG_512_56_isunity(BIG_512_56 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:35</div></div>
 <div class="ttc" id="big__512__56_8h_html_a60de6314c192035ae1f8dc53e4e1d2e5"><div class="ttname"><a href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">BMASK_512_56</a></div><div class="ttdeci">#define BMASK_512_56</div><div class="ttdef"><b>Definition:</b> big_512_56.h:42</div></div>
-<div class="ttc" id="big__512__56_8h_html_a2af9e5422a6d117d35064934b4d8d89a"><div class="ttname"><a href="big__512__56_8h.html#a2af9e5422a6d117d35064934b4d8d89a">BIG_512_56_randomnum</a></div><div class="ttdeci">void BIG_512_56_randomnum(BIG_512_56 x, BIG_512_56 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_512_56.c:1274</div></div>
-<div class="ttc" id="big__512__56_8h_html_ac005ca9468820c2cbc172cf2152142c9"><div class="ttname"><a href="big__512__56_8h.html#ac005ca9468820c2cbc172cf2152142c9">BIG_512_56_random</a></div><div class="ttdeci">void BIG_512_56_random(BIG_512_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1248</div></div>
-<div class="ttc" id="big__512__56_8h_html_a053ee788ebe4f31fefb26cc27bbf50e3"><div class="ttname"><a href="big__512__56_8h.html#a053ee788ebe4f31fefb26cc27bbf50e3">BIG_512_56_sducopy</a></div><div class="ttdeci">void BIG_512_56_sducopy(BIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:306</div></div>
-<div class="ttc" id="big__512__56_8h_html_a2e040a971d39ee89acd1dc5cdc71b7ef"><div class="ttname"><a href="big__512__56_8h.html#a2e040a971d39ee89acd1dc5cdc71b7ef">BIG_512_56_dnorm</a></div><div class="ttdeci">void BIG_512_56_dnorm(DBIG_512_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:995</div></div>
+<div class="ttc" id="big__512__56_8h_html_a2af9e5422a6d117d35064934b4d8d89a"><div class="ttname"><a href="big__512__56_8h.html#a2af9e5422a6d117d35064934b4d8d89a">BIG_512_56_randomnum</a></div><div class="ttdeci">void BIG_512_56_randomnum(BIG_512_56 x, BIG_512_56 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_512_56.c:1274</div></div>
+<div class="ttc" id="big__512__56_8h_html_ac005ca9468820c2cbc172cf2152142c9"><div class="ttname"><a href="big__512__56_8h.html#ac005ca9468820c2cbc172cf2152142c9">BIG_512_56_random</a></div><div class="ttdeci">void BIG_512_56_random(BIG_512_56 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1248</div></div>
+<div class="ttc" id="big__512__56_8h_html_a053ee788ebe4f31fefb26cc27bbf50e3"><div class="ttname"><a href="big__512__56_8h.html#a053ee788ebe4f31fefb26cc27bbf50e3">BIG_512_56_sducopy</a></div><div class="ttdeci">void BIG_512_56_sducopy(BIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:306</div></div>
+<div class="ttc" id="big__512__56_8h_html_a2e040a971d39ee89acd1dc5cdc71b7ef"><div class="ttname"><a href="big__512__56_8h.html#a2e040a971d39ee89acd1dc5cdc71b7ef">BIG_512_56_dnorm</a></div><div class="ttdeci">void BIG_512_56_dnorm(DBIG_512_56 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:995</div></div>
 <div class="ttc" id="big__512__56_8h_html_a7ab556dadf30933bc45dd0d3f59ba962"><div class="ttname"><a href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">HBITS_512_56</a></div><div class="ttdeci">#define HBITS_512_56</div><div class="ttdef"><b>Definition:</b> big_512_56.h:45</div></div>
-<div class="ttc" id="big__512__56_8h_html_a7153d530dcfb862db535d5476db898c5"><div class="ttname"><a href="big__512__56_8h.html#a7153d530dcfb862db535d5476db898c5">BIG_512_56_ssn</a></div><div class="ttdeci">int BIG_512_56_ssn(BIG_512_56 r, BIG_512_56 a, BIG_512_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:877</div></div>
-<div class="ttc" id="big__512__56_8h_html_a03978b297fe1e6fcf8e40ecefbcdaebc"><div class="ttname"><a href="big__512__56_8h.html#a03978b297fe1e6fcf8e40ecefbcdaebc">BIG_512_56_dcopy</a></div><div class="ttdeci">void BIG_512_56_dcopy(DBIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:251</div></div>
-<div class="ttc" id="big__512__56_8h_html_a3850173cc993a8e0ca6e37c3b72e42dd"><div class="ttname"><a href="big__512__56_8h.html#a3850173cc993a8e0ca6e37c3b72e42dd">BIG_512_56_dec</a></div><div class="ttdeci">void BIG_512_56_dec(BIG_512_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:440</div></div>
-<div class="ttc" id="big__512__56_8h_html_a44c83544222c4b105cbe686661fe372b"><div class="ttname"><a href="big__512__56_8h.html#a44c83544222c4b105cbe686661fe372b">BIG_512_56_dsub</a></div><div class="ttdeci">void BIG_512_56_dsub(DBIG_512_56 x, DBIG_512_56 y, DBIG_512_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:413</div></div>
-<div class="ttc" id="big__512__56_8h_html_a8a151e9c55e70d633c6d6894a46f1d03"><div class="ttname"><a href="big__512__56_8h.html#a8a151e9c55e70d633c6d6894a46f1d03">BIG_512_56_dcomp</a></div><div class="ttdeci">int BIG_512_56_dcomp(DBIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1026</div></div>
-<div class="ttc" id="big__512__56_8h_html_a6426c606125f7bc25b9b465e20d45cc5"><div class="ttname"><a href="big__512__56_8h.html#a6426c606125f7bc25b9b465e20d45cc5">BIG_512_56_ddiv</a></div><div class="ttdeci">void BIG_512_56_ddiv(BIG_512_56 x, DBIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1149</div></div>
-<div class="ttc" id="big__512__56_8h_html_ab8efbc4513b62ba29acb31422274031a"><div class="ttname"><a href="big__512__56_8h.html#ab8efbc4513b62ba29acb31422274031a">BIG_512_56_inc</a></div><div class="ttdeci">void BIG_512_56_inc(BIG_512_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:386</div></div>
-<div class="ttc" id="big__512__56_8h_html_ae19a9cb3f045e0793d6127242a1d7758"><div class="ttname"><a href="big__512__56_8h.html#ae19a9cb3f045e0793d6127242a1d7758">BIG_512_56_dscopy</a></div><div class="ttdeci">void BIG_512_56_dscopy(DBIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:263</div></div>
-<div class="ttc" id="big__512__56_8h_html_ac14ac6d9e1586dc7659fac77ae82be8e"><div class="ttname"><a href="big__512__56_8h.html#ac14ac6d9e1586dc7659fac77ae82be8e">BIG_512_56_modsqr</a></div><div class="ttdeci">void BIG_512_56_modsqr(BIG_512_56 x, BIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1315</div></div>
-<div class="ttc" id="big__512__56_8h_html_a32953ffd99aa78f11058d40372671f51"><div class="ttname"><a href="big__512__56_8h.html#a32953ffd99aa78f11058d40372671f51">BIG_512_56_modmul</a></div><div class="ttdeci">void BIG_512_56_modmul(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z, BIG_512_56 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1300</div></div>
-<div class="ttc" id="big__512__56_8h_html_a6be59bc8cf6a72b0011612ae21746adc"><div class="ttname"><a href="big__512__56_8h.html#a6be59bc8cf6a72b0011612ae21746adc">BIG_512_56_or</a></div><div class="ttdeci">void BIG_512_56_or(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:371</div></div>
+<div class="ttc" id="big__512__56_8h_html_a7153d530dcfb862db535d5476db898c5"><div class="ttname"><a href="big__512__56_8h.html#a7153d530dcfb862db535d5476db898c5">BIG_512_56_ssn</a></div><div class="ttdeci">int BIG_512_56_ssn(BIG_512_56 r, BIG_512_56 a, BIG_512_56 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:877</div></div>
+<div class="ttc" id="big__512__56_8h_html_a03978b297fe1e6fcf8e40ecefbcdaebc"><div class="ttname"><a href="big__512__56_8h.html#a03978b297fe1e6fcf8e40ecefbcdaebc">BIG_512_56_dcopy</a></div><div class="ttdeci">void BIG_512_56_dcopy(DBIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:251</div></div>
+<div class="ttc" id="big__512__56_8h_html_a3850173cc993a8e0ca6e37c3b72e42dd"><div class="ttname"><a href="big__512__56_8h.html#a3850173cc993a8e0ca6e37c3b72e42dd">BIG_512_56_dec</a></div><div class="ttdeci">void BIG_512_56_dec(BIG_512_56 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:440</div></div>
+<div class="ttc" id="big__512__56_8h_html_a44c83544222c4b105cbe686661fe372b"><div class="ttname"><a href="big__512__56_8h.html#a44c83544222c4b105cbe686661fe372b">BIG_512_56_dsub</a></div><div class="ttdeci">void BIG_512_56_dsub(DBIG_512_56 x, DBIG_512_56 y, DBIG_512_56 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:413</div></div>
+<div class="ttc" id="big__512__56_8h_html_a8a151e9c55e70d633c6d6894a46f1d03"><div class="ttname"><a href="big__512__56_8h.html#a8a151e9c55e70d633c6d6894a46f1d03">BIG_512_56_dcomp</a></div><div class="ttdeci">int BIG_512_56_dcomp(DBIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1026</div></div>
+<div class="ttc" id="big__512__56_8h_html_a6426c606125f7bc25b9b465e20d45cc5"><div class="ttname"><a href="big__512__56_8h.html#a6426c606125f7bc25b9b465e20d45cc5">BIG_512_56_ddiv</a></div><div class="ttdeci">void BIG_512_56_ddiv(BIG_512_56 x, DBIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1149</div></div>
+<div class="ttc" id="big__512__56_8h_html_ab8efbc4513b62ba29acb31422274031a"><div class="ttname"><a href="big__512__56_8h.html#ab8efbc4513b62ba29acb31422274031a">BIG_512_56_inc</a></div><div class="ttdeci">void BIG_512_56_inc(BIG_512_56 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:386</div></div>
+<div class="ttc" id="big__512__56_8h_html_ae19a9cb3f045e0793d6127242a1d7758"><div class="ttname"><a href="big__512__56_8h.html#ae19a9cb3f045e0793d6127242a1d7758">BIG_512_56_dscopy</a></div><div class="ttdeci">void BIG_512_56_dscopy(DBIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:263</div></div>
+<div class="ttc" id="big__512__56_8h_html_ac14ac6d9e1586dc7659fac77ae82be8e"><div class="ttname"><a href="big__512__56_8h.html#ac14ac6d9e1586dc7659fac77ae82be8e">BIG_512_56_modsqr</a></div><div class="ttdeci">void BIG_512_56_modsqr(BIG_512_56 x, BIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1315</div></div>
+<div class="ttc" id="big__512__56_8h_html_a32953ffd99aa78f11058d40372671f51"><div class="ttname"><a href="big__512__56_8h.html#a32953ffd99aa78f11058d40372671f51">BIG_512_56_modmul</a></div><div class="ttdeci">void BIG_512_56_modmul(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z, BIG_512_56 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1300</div></div>
+<div class="ttc" id="big__512__56_8h_html_a6be59bc8cf6a72b0011612ae21746adc"><div class="ttname"><a href="big__512__56_8h.html#a6be59bc8cf6a72b0011612ae21746adc">BIG_512_56_or</a></div><div class="ttdeci">void BIG_512_56_or(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:371</div></div>
 <div class="ttc" id="big__512__56_8h_html_a34d978f8cc3ea578d6f00eaa0329de11"><div class="ttname"><a href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a></div><div class="ttdeci">chunk DBIG_512_56[DNLEN_512_56]</div><div class="ttdef"><b>Definition:</b> big_512_56.h:59</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__512__56_8h_html_a55cbbd8bea4ce42cbba3b2b7586ba882"><div class="ttname"><a href="big__512__56_8h.html#a55cbbd8bea4ce42cbba3b2b7586ba882">BIG_512_56_pmul</a></div><div class="ttdeci">chunk BIG_512_56_pmul(BIG_512_56 x, BIG_512_56 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_512_56.c:465</div></div>
-<div class="ttc" id="big__512__56_8h_html_ac8b4cb805046cf776c407f93dbe67fec"><div class="ttname"><a href="big__512__56_8h.html#ac8b4cb805046cf776c407f93dbe67fec">BIG_512_56_dshr</a></div><div class="ttdeci">void BIG_512_56_dshr(DBIG_512_56 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_512_56.c:918</div></div>
-<div class="ttc" id="config__big__512__56_8h_html"><div class="ttname"><a href="config__big__512__56_8h.html">config_big_512_56.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__512__56_8h_html_a8f3bfcf5947e7c9854b36ad87a0b58d0"><div class="ttname"><a href="big__512__56_8h.html#a8f3bfcf5947e7c9854b36ad87a0b58d0">BIG_512_56_smul</a></div><div class="ttdeci">void BIG_512_56_smul(BIG_512_56 x, BIG_512_56 y, BIG_512_56 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_512_56.c:518</div></div>
-<div class="ttc" id="big__512__56_8h_html_ae55018509b356aef389161e2ae3252b4"><div class="ttname"><a href="big__512__56_8h.html#ae55018509b356aef389161e2ae3252b4">BIG_512_56_fromBytes</a></div><div class="ttdeci">void BIG_512_56_fromBytes(BIG_512_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:155</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__512__56_8h_html_a55cbbd8bea4ce42cbba3b2b7586ba882"><div class="ttname"><a href="big__512__56_8h.html#a55cbbd8bea4ce42cbba3b2b7586ba882">BIG_512_56_pmul</a></div><div class="ttdeci">chunk BIG_512_56_pmul(BIG_512_56 x, BIG_512_56 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_512_56.c:465</div></div>
+<div class="ttc" id="big__512__56_8h_html_ac8b4cb805046cf776c407f93dbe67fec"><div class="ttname"><a href="big__512__56_8h.html#ac8b4cb805046cf776c407f93dbe67fec">BIG_512_56_dshr</a></div><div class="ttdeci">void BIG_512_56_dshr(DBIG_512_56 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_512_56.c:918</div></div>
+<div class="ttc" id="config__big__512__56_8h_html"><div class="ttname"><a href="config__big__512__56_8h.html">config_big_512_56.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__512__56_8h_html_a8f3bfcf5947e7c9854b36ad87a0b58d0"><div class="ttname"><a href="big__512__56_8h.html#a8f3bfcf5947e7c9854b36ad87a0b58d0">BIG_512_56_smul</a></div><div class="ttdeci">void BIG_512_56_smul(BIG_512_56 x, BIG_512_56 y, BIG_512_56 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_512_56.c:518</div></div>
+<div class="ttc" id="big__512__56_8h_html_ae55018509b356aef389161e2ae3252b4"><div class="ttname"><a href="big__512__56_8h.html#ae55018509b356aef389161e2ae3252b4">BIG_512_56_fromBytes</a></div><div class="ttdeci">void BIG_512_56_fromBytes(BIG_512_56 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:155</div></div>
 <div class="ttc" id="big__512__56_8h_html_a62887b2a1152aaceaf6275b69d324441"><div class="ttname"><a href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">NLEN_512_56</a></div><div class="ttdeci">#define NLEN_512_56</div><div class="ttdef"><b>Definition:</b> big_512_56.h:40</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__512__56_8h_html_a3d1bcc77b27d0d4c6c5dba8fb1855aac"><div class="ttname"><a href="big__512__56_8h.html#a3d1bcc77b27d0d4c6c5dba8fb1855aac">BIG_512_56_pxmul</a></div><div class="ttdeci">void BIG_512_56_pxmul(DBIG_512_56 x, BIG_512_56 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_512_56.c:501</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__512__56_8h_html_a3d1bcc77b27d0d4c6c5dba8fb1855aac"><div class="ttname"><a href="big__512__56_8h.html#a3d1bcc77b27d0d4c6c5dba8fb1855aac">BIG_512_56_pxmul</a></div><div class="ttdeci">void BIG_512_56_pxmul(DBIG_512_56 x, BIG_512_56 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_512_56.c:501</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__512__56_8h_html_ace7ad7e061735c9b856058229ef6564f"><div class="ttname"><a href="big__512__56_8h.html#ace7ad7e061735c9b856058229ef6564f">BIG_512_56_sub</a></div><div class="ttdeci">void BIG_512_56_sub(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:397</div></div>
-<div class="ttc" id="big__512__56_8h_html_a5f96e6eb608a1bf5c8c74e7bf0414652"><div class="ttname"><a href="big__512__56_8h.html#a5f96e6eb608a1bf5c8c74e7bf0414652">BIG_512_56_lastbits</a></div><div class="ttdeci">int BIG_512_56_lastbits(BIG_512_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1240</div></div>
-<div class="ttc" id="big__512__56_8h_html_a8ccc256e5b5b30959bef0d1248c887eb"><div class="ttname"><a href="big__512__56_8h.html#a8ccc256e5b5b30959bef0d1248c887eb">BIG_512_56_zero</a></div><div class="ttdeci">void BIG_512_56_zero(BIG_512_56 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:319</div></div>
-<div class="ttc" id="big__512__56_8h_html_ad468b89e9dbebced678a451cacfe117e"><div class="ttname"><a href="big__512__56_8h.html#ad468b89e9dbebced678a451cacfe117e">BIG_512_56_split</a></div><div class="ttdeci">chunk BIG_512_56_split(BIG_512_56 x, BIG_512_56 y, DBIG_512_56 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_512_56.c:932</div></div>
-<div class="ttc" id="big__512__56_8h_html_a81d0f439051b63c336184397352b94a3"><div class="ttname"><a href="big__512__56_8h.html#a81d0f439051b63c336184397352b94a3">BIG_512_56_sdcopy</a></div><div class="ttdeci">void BIG_512_56_sdcopy(BIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:294</div></div>
-<div class="ttc" id="big__512__56_8h_html_ad0d5e92eddf8ffb0887ba01b52ab64b2"><div class="ttname"><a href="big__512__56_8h.html#ad0d5e92eddf8ffb0887ba01b52ab64b2">BIG_512_56_imul</a></div><div class="ttdeci">void BIG_512_56_imul(BIG_512_56 x, BIG_512_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:450</div></div>
-<div class="ttc" id="big__512__56_8h_html_ad4444655663c0fe5ce35ff2663daf1b3"><div class="ttname"><a href="big__512__56_8h.html#ad4444655663c0fe5ce35ff2663daf1b3">BIG_512_56_doutput</a></div><div class="ttdeci">void BIG_512_56_doutput(DBIG_512_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:190</div></div>
-<div class="ttc" id="big__512__56_8h_html_aa53606a6b41f19e07fc7107e0e584cfb"><div class="ttname"><a href="big__512__56_8h.html#aa53606a6b41f19e07fc7107e0e584cfb">BIG_512_56_invmodp</a></div><div class="ttdeci">void BIG_512_56_invmodp(BIG_512_56 x, BIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1392</div></div>
-<div class="ttc" id="big__512__56_8h_html_afbcf13df48a0bd71d13b06e4c33e9960"><div class="ttname"><a href="big__512__56_8h.html#afbcf13df48a0bd71d13b06e4c33e9960">BIG_512_56_parity</a></div><div class="ttdeci">int BIG_512_56_parity(BIG_512_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_512_56.c:1225</div></div>
-<div class="ttc" id="big__512__56_8h_html_a098af3008afd9a6159a541271dbd5243"><div class="ttname"><a href="big__512__56_8h.html#a098af3008afd9a6159a541271dbd5243">BIG_512_56_dsucopy</a></div><div class="ttdeci">void BIG_512_56_dsucopy(DBIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_56.c:280</div></div>
+<div class="ttc" id="big__512__56_8h_html_ace7ad7e061735c9b856058229ef6564f"><div class="ttname"><a href="big__512__56_8h.html#ace7ad7e061735c9b856058229ef6564f">BIG_512_56_sub</a></div><div class="ttdeci">void BIG_512_56_sub(BIG_512_56 x, BIG_512_56 y, BIG_512_56 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:397</div></div>
+<div class="ttc" id="big__512__56_8h_html_a5f96e6eb608a1bf5c8c74e7bf0414652"><div class="ttname"><a href="big__512__56_8h.html#a5f96e6eb608a1bf5c8c74e7bf0414652">BIG_512_56_lastbits</a></div><div class="ttdeci">int BIG_512_56_lastbits(BIG_512_56 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1240</div></div>
+<div class="ttc" id="big__512__56_8h_html_a8ccc256e5b5b30959bef0d1248c887eb"><div class="ttname"><a href="big__512__56_8h.html#a8ccc256e5b5b30959bef0d1248c887eb">BIG_512_56_zero</a></div><div class="ttdeci">void BIG_512_56_zero(BIG_512_56 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:319</div></div>
+<div class="ttc" id="big__512__56_8h_html_ad468b89e9dbebced678a451cacfe117e"><div class="ttname"><a href="big__512__56_8h.html#ad468b89e9dbebced678a451cacfe117e">BIG_512_56_split</a></div><div class="ttdeci">chunk BIG_512_56_split(BIG_512_56 x, BIG_512_56 y, DBIG_512_56 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_512_56.c:932</div></div>
+<div class="ttc" id="big__512__56_8h_html_a81d0f439051b63c336184397352b94a3"><div class="ttname"><a href="big__512__56_8h.html#a81d0f439051b63c336184397352b94a3">BIG_512_56_sdcopy</a></div><div class="ttdeci">void BIG_512_56_sdcopy(BIG_512_56 x, DBIG_512_56 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:294</div></div>
+<div class="ttc" id="big__512__56_8h_html_ad0d5e92eddf8ffb0887ba01b52ab64b2"><div class="ttname"><a href="big__512__56_8h.html#ad0d5e92eddf8ffb0887ba01b52ab64b2">BIG_512_56_imul</a></div><div class="ttdeci">void BIG_512_56_imul(BIG_512_56 x, BIG_512_56 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:450</div></div>
+<div class="ttc" id="big__512__56_8h_html_ad4444655663c0fe5ce35ff2663daf1b3"><div class="ttname"><a href="big__512__56_8h.html#ad4444655663c0fe5ce35ff2663daf1b3">BIG_512_56_doutput</a></div><div class="ttdeci">void BIG_512_56_doutput(DBIG_512_56 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:190</div></div>
+<div class="ttc" id="big__512__56_8h_html_aa53606a6b41f19e07fc7107e0e584cfb"><div class="ttname"><a href="big__512__56_8h.html#aa53606a6b41f19e07fc7107e0e584cfb">BIG_512_56_invmodp</a></div><div class="ttdeci">void BIG_512_56_invmodp(BIG_512_56 x, BIG_512_56 y, BIG_512_56 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1476</div></div>
+<div class="ttc" id="big__512__56_8h_html_afbcf13df48a0bd71d13b06e4c33e9960"><div class="ttname"><a href="big__512__56_8h.html#afbcf13df48a0bd71d13b06e4c33e9960">BIG_512_56_parity</a></div><div class="ttdeci">int BIG_512_56_parity(BIG_512_56 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_512_56.c:1225</div></div>
+<div class="ttc" id="big__512__56_8h_html_a098af3008afd9a6159a541271dbd5243"><div class="ttname"><a href="big__512__56_8h.html#a098af3008afd9a6159a541271dbd5243">BIG_512_56_dsucopy</a></div><div class="ttdeci">void BIG_512_56_dsucopy(DBIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_512_56.c:280</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__512__60_8h.html b/website/static/cdocs/big__512__60_8h.html
index 0b5f903..2ec05a0 100644
--- a/website/static/cdocs/big__512__60_8h.html
+++ b/website/static/cdocs/big__512__60_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_512_60.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="ae580275f6e5c3bd46e03b06c6f9e1de9"></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="ac45309a1dd055012dbe19e702d0de69e"></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__512__60_8h_source.html b/website/static/cdocs/big__512__60_8h_source.html
index 11bcbb9..3d49ec4 100644
--- a/website/static/cdocs/big__512__60_8h_source.html
+++ b/website/static/cdocs/big__512__60_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_512_60.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_512_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__512__60_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_512_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_512_60_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__512__60_8h.html">config_big_512_60.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__512__60_8h.html#a4454ac6a7c8674732938e8365996729a">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_512_60 (8*MODBYTES_512_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">   40</a></span>&#160;<span class="preprocessor">#define NLEN_512_60 (1+((8*MODBYTES_512_60-1)/BASEBITS_512_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_512_60 2*NLEN_512_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">   42</a></span>&#160;<span class="preprocessor">#define BMASK_512_60 (((chunk)1&lt;&lt;BASEBITS_512_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a5708fee15b225da579de35fc1b89ca67">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_512_60 (1&lt;&lt;(CHUNK-BASEBITS_512_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">   45</a></span>&#160;<span class="preprocessor">#define HBITS_512_60 (BASEBITS_512_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">   46</a></span>&#160;<span class="preprocessor">#define HMASK_512_60 (((chunk)1&lt;&lt;HBITS_512_60)-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_512_60 NLEN_512_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_512_60 (NLEN_512_60+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__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>[<a class="code" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">NLEN_512_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_512_60 DNLEN_512_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_512_60 (DNLEN_512_60+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__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a>[<a class="code" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">DNLEN_512_60</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__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>[<a class="code" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">NLEN_512_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a>[<a class="code" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">DNLEN_512_60</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__512__60_8h.html#a7a1e0c2e0ee9e436e0cea761642dbf6f">BIG_512_60_iszilch</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#afc1b120837075b231e2a57423295266e">BIG_512_60_isunity</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#accda833c2384e1630a2192f722f7073b">BIG_512_60_diszilch</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#afb465d4953647c45d9958e3c0b01dc61">BIG_512_60_output</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a2aaee8578aab50ae4d21368b51ff8589">BIG_512_60_rawoutput</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a886b65a560c8c442d7fa3a259eb57b5e">BIG_512_60_cswap</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a3ff9c974da707b0ed8639ba649bb9ef1">BIG_512_60_cmove</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#add308665cc9ebd19e623c223306a5a41">BIG_512_60_dcmove</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a96d33f801e30529795373c3ab5f8869c">BIG_512_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#acb431cfbdc2b079183405d59632a015a">BIG_512_60_fromBytes</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae7de2e51e8115b700df42a291abf5866">BIG_512_60_fromBytesLen</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a99b05c3274a8c89915c200d4afaef167">BIG_512_60_dfromBytesLen</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a0f6fb677ebe8980357a94a8224ea9c5a">BIG_512_60_doutput</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#ae84e645366c03a76c35a6782cf2069d2">BIG_512_60_drawoutput</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a7b266f5305eefcec3326561bca6453f0">BIG_512_60_rcopy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aa5c4966c5e31a90515c4826fe504f749">BIG_512_60_copy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a1e75afd36912bf4dd20538e4642d5362">BIG_512_60_dcopy</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#acaf02b62a24ae663a380320dd693ae1a">BIG_512_60_dsucopy</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a2508c29138c1ad5f6f050b7c72408886">BIG_512_60_dscopy</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a127bc3882b2166c74e8915db81578d42">BIG_512_60_sdcopy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#afe496e643f493398b0eb94a3b79fca55">BIG_512_60_sducopy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478">BIG_512_60_zero</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a5e9086da38be0de8e0c2f8bb4f00486b">BIG_512_60_dzero</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a59382ec780e3d6df189ceed7d57bd961">BIG_512_60_one</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312">BIG_512_60_invmod2m</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a128d44aaa007c520e564ca5d1f7259c0">BIG_512_60_add</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a8cc051e0de9d96174db4fae4edea6821">BIG_512_60_or</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a35171cff61735ae65092bc6576ba2062">BIG_512_60_inc</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a7d5787816e576176808e092c408a946c">BIG_512_60_sub</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a1b720e38b454291e0b700c7cf1185c26">BIG_512_60_dec</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ad389c58903cadf171261a7dd91679960">BIG_512_60_dadd</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a4d54bc9aff04f9fa7397c61adea33b85">BIG_512_60_dsub</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a542c4f90796443050e69e769c20d22b5">BIG_512_60_imul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aadee0b05625ad898d02d3c95915dc7bf">BIG_512_60_pmul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aabc73c0986b7b7d66c12c832df96d796">BIG_512_60_div3</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aa3d007b30e3d0703721fcc382149b36e">BIG_512_60_pxmul</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a9c4e23a640b402d0c081f8706f04d56f">BIG_512_60_mul</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a6bc2bab3f09cb2fd848dfba27e7626e5">BIG_512_60_smul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae309f55db8a7668ab6803b3375706fe4">BIG_512_60_sqr</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aff41c30b478614346602a311d735d249">BIG_512_60_monty</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#af57b2a9ce965f664d47c30f2f9dd2c89">BIG_512_60_shl</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a4d8cd22a7a2de0a498dc77875e28fd2b">BIG_512_60_fshl</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a3e4be0d9aa8897f4a94cb5f020616135">BIG_512_60_dshl</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a02c779b8cc1a364db5c1beb0cce22f1a">BIG_512_60_shr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a23f8947b72200d1516a8735f255692f5">BIG_512_60_ssn</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#af237293c0f0514780c0f3176175b9d32">BIG_512_60_fshr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac351f3fbbabbd03fabc85aa802888540">BIG_512_60_dshr</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a127a9249fc98204d94d7f9e191ebce22">BIG_512_60_split</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a18ca9c037a3a961de7e661a64baaf6b4">BIG_512_60_norm</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a434eedfe97b4bc16c8820353dd481f73">BIG_512_60_dnorm</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a30725a7102ff9048a777e56aa2dfd9f7">BIG_512_60_comp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aa7a99fa734f34597b0662e844cb2dbf7">BIG_512_60_dcomp</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a6db70eff21fa353f9d7c11161917aba8">BIG_512_60_nbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae580275f6e5c3bd46e03b06c6f9e1de9">BIG_512_60_dnbits</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a2f847ac49e07f5fc33fec2b8ea71bdb8">BIG_512_60_mod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a1962d878bfe523d0434b45d6c8206c01">BIG_512_60_sdiv</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a52c226c5e26d1685f4dc6f0bc81583a5">BIG_512_60_dmod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a45bc09bfc405d2107f6f6a86ff092483">BIG_512_60_ddiv</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a4845cd98baf55ef85cbfece672b39686">BIG_512_60_parity</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a8c664defdb0857fa592be0d52ab0c686">BIG_512_60_bit</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a99d1322736f002401e3d858f9a27938c">BIG_512_60_lastbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#af0f38ca795bd0393f657ae5b1e1f2d07">BIG_512_60_random</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aee4c6d0609ea26b439a440b2746336b4">BIG_512_60_randomnum</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac9d9577c8c2ea7de4a0457cc4ced9f8b">BIG_512_60_modmul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> z,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac45309a1dd055012dbe19e702d0de69e">BIG_512_60_moddiv</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> z,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae3b3216d759b03e10af54bc58c9f7034">BIG_512_60_modsqr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aee7eece8c2d58d13f038a92b180f7970">BIG_512_60_modneg</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a58ec191de45d45bf70e0b7cd649a9212">BIG_512_60_jacobi</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac646cd18f1c3bbc928afc97fc33a26a4">BIG_512_60_invmodp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a3b242608c12fcba86534d1089c53e754">BIG_512_60_mod2m</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a91284c3f402d581bcedd2097cefd9f0d">BIG_512_60_dmod2m</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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_512_60(<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__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">BMASK_512_60</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__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">BASEBITS_512_60</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_512_60(<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__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">HMASK_512_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">HMASK_512_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</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__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">HMASK_512_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</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__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">BASEBITS_512_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">BMASK_512_60</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__512__60_8h_html_a96d33f801e30529795373c3ab5f8869c"><div class="ttname"><a href="big__512__60_8h.html#a96d33f801e30529795373c3ab5f8869c">BIG_512_60_toBytes</a></div><div class="ttdeci">void BIG_512_60_toBytes(char *a, BIG_512_60 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:141</div></div>
+<a href="big__512__60_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_512_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_512_60_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__512__60_8h.html">config_big_512_60.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__512__60_8h.html#a4454ac6a7c8674732938e8365996729a">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_512_60 (8*MODBYTES_512_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">   40</a></span>&#160;<span class="preprocessor">#define NLEN_512_60 (1+((8*MODBYTES_512_60-1)/BASEBITS_512_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_512_60 2*NLEN_512_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">   42</a></span>&#160;<span class="preprocessor">#define BMASK_512_60 (((chunk)1&lt;&lt;BASEBITS_512_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a5708fee15b225da579de35fc1b89ca67">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_512_60 (1&lt;&lt;(CHUNK-BASEBITS_512_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">   45</a></span>&#160;<span class="preprocessor">#define HBITS_512_60 (BASEBITS_512_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">   46</a></span>&#160;<span class="preprocessor">#define HMASK_512_60 (((chunk)1&lt;&lt;HBITS_512_60)-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_512_60 NLEN_512_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_512_60 (NLEN_512_60+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__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>[<a class="code" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">NLEN_512_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_512_60 DNLEN_512_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_512_60 (DNLEN_512_60+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__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a>[<a class="code" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">DNLEN_512_60</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__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>[<a class="code" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">NLEN_512_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a>[<a class="code" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">DNLEN_512_60</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__512__60_8h.html#a7a1e0c2e0ee9e436e0cea761642dbf6f">BIG_512_60_iszilch</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#afc1b120837075b231e2a57423295266e">BIG_512_60_isunity</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#accda833c2384e1630a2192f722f7073b">BIG_512_60_diszilch</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#afb465d4953647c45d9958e3c0b01dc61">BIG_512_60_output</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a2aaee8578aab50ae4d21368b51ff8589">BIG_512_60_rawoutput</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a886b65a560c8c442d7fa3a259eb57b5e">BIG_512_60_cswap</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a3ff9c974da707b0ed8639ba649bb9ef1">BIG_512_60_cmove</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#add308665cc9ebd19e623c223306a5a41">BIG_512_60_dcmove</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a96d33f801e30529795373c3ab5f8869c">BIG_512_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#acb431cfbdc2b079183405d59632a015a">BIG_512_60_fromBytes</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae7de2e51e8115b700df42a291abf5866">BIG_512_60_fromBytesLen</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a99b05c3274a8c89915c200d4afaef167">BIG_512_60_dfromBytesLen</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a0f6fb677ebe8980357a94a8224ea9c5a">BIG_512_60_doutput</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#ae84e645366c03a76c35a6782cf2069d2">BIG_512_60_drawoutput</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a7b266f5305eefcec3326561bca6453f0">BIG_512_60_rcopy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aa5c4966c5e31a90515c4826fe504f749">BIG_512_60_copy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a1e75afd36912bf4dd20538e4642d5362">BIG_512_60_dcopy</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#acaf02b62a24ae663a380320dd693ae1a">BIG_512_60_dsucopy</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a2508c29138c1ad5f6f050b7c72408886">BIG_512_60_dscopy</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a127bc3882b2166c74e8915db81578d42">BIG_512_60_sdcopy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#afe496e643f493398b0eb94a3b79fca55">BIG_512_60_sducopy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478">BIG_512_60_zero</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a5e9086da38be0de8e0c2f8bb4f00486b">BIG_512_60_dzero</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a59382ec780e3d6df189ceed7d57bd961">BIG_512_60_one</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312">BIG_512_60_invmod2m</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a128d44aaa007c520e564ca5d1f7259c0">BIG_512_60_add</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a8cc051e0de9d96174db4fae4edea6821">BIG_512_60_or</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a35171cff61735ae65092bc6576ba2062">BIG_512_60_inc</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a7d5787816e576176808e092c408a946c">BIG_512_60_sub</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a1b720e38b454291e0b700c7cf1185c26">BIG_512_60_dec</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ad389c58903cadf171261a7dd91679960">BIG_512_60_dadd</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a4d54bc9aff04f9fa7397c61adea33b85">BIG_512_60_dsub</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a542c4f90796443050e69e769c20d22b5">BIG_512_60_imul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aadee0b05625ad898d02d3c95915dc7bf">BIG_512_60_pmul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aabc73c0986b7b7d66c12c832df96d796">BIG_512_60_div3</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aa3d007b30e3d0703721fcc382149b36e">BIG_512_60_pxmul</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a9c4e23a640b402d0c081f8706f04d56f">BIG_512_60_mul</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a6bc2bab3f09cb2fd848dfba27e7626e5">BIG_512_60_smul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae309f55db8a7668ab6803b3375706fe4">BIG_512_60_sqr</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aff41c30b478614346602a311d735d249">BIG_512_60_monty</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#af57b2a9ce965f664d47c30f2f9dd2c89">BIG_512_60_shl</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a4d8cd22a7a2de0a498dc77875e28fd2b">BIG_512_60_fshl</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a3e4be0d9aa8897f4a94cb5f020616135">BIG_512_60_dshl</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a02c779b8cc1a364db5c1beb0cce22f1a">BIG_512_60_shr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a23f8947b72200d1516a8735f255692f5">BIG_512_60_ssn</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#af237293c0f0514780c0f3176175b9d32">BIG_512_60_fshr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac351f3fbbabbd03fabc85aa802888540">BIG_512_60_dshr</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a127a9249fc98204d94d7f9e191ebce22">BIG_512_60_split</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a18ca9c037a3a961de7e661a64baaf6b4">BIG_512_60_norm</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a434eedfe97b4bc16c8820353dd481f73">BIG_512_60_dnorm</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a30725a7102ff9048a777e56aa2dfd9f7">BIG_512_60_comp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aa7a99fa734f34597b0662e844cb2dbf7">BIG_512_60_dcomp</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a6db70eff21fa353f9d7c11161917aba8">BIG_512_60_nbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae580275f6e5c3bd46e03b06c6f9e1de9">BIG_512_60_dnbits</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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__512__60_8h.html#a2f847ac49e07f5fc33fec2b8ea71bdb8">BIG_512_60_mod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a1962d878bfe523d0434b45d6c8206c01">BIG_512_60_sdiv</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a52c226c5e26d1685f4dc6f0bc81583a5">BIG_512_60_dmod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a45bc09bfc405d2107f6f6a86ff092483">BIG_512_60_ddiv</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a4845cd98baf55ef85cbfece672b39686">BIG_512_60_parity</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a8c664defdb0857fa592be0d52ab0c686">BIG_512_60_bit</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a99d1322736f002401e3d858f9a27938c">BIG_512_60_lastbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#af0f38ca795bd0393f657ae5b1e1f2d07">BIG_512_60_random</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aee4c6d0609ea26b439a440b2746336b4">BIG_512_60_randomnum</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac9d9577c8c2ea7de4a0457cc4ced9f8b">BIG_512_60_modmul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> z,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac45309a1dd055012dbe19e702d0de69e">BIG_512_60_moddiv</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> z,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ae3b3216d759b03e10af54bc58c9f7034">BIG_512_60_modsqr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#aee7eece8c2d58d13f038a92b180f7970">BIG_512_60_modneg</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a58ec191de45d45bf70e0b7cd649a9212">BIG_512_60_jacobi</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#ac646cd18f1c3bbc928afc97fc33a26a4">BIG_512_60_invmodp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a3b242608c12fcba86534d1089c53e754">BIG_512_60_mod2m</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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__512__60_8h.html#a91284c3f402d581bcedd2097cefd9f0d">BIG_512_60_dmod2m</a>(<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</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_512_60(<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__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">BMASK_512_60</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__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">BASEBITS_512_60</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_512_60(<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__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">HMASK_512_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">HMASK_512_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</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__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">HMASK_512_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</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__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">BASEBITS_512_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">BMASK_512_60</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__512__60_8h_html_a96d33f801e30529795373c3ab5f8869c"><div class="ttname"><a href="big__512__60_8h.html#a96d33f801e30529795373c3ab5f8869c">BIG_512_60_toBytes</a></div><div class="ttdeci">void BIG_512_60_toBytes(char *a, BIG_512_60 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:141</div></div>
 <div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="big__512__60_8h_html_a7b266f5305eefcec3326561bca6453f0"><div class="ttname"><a href="big__512__60_8h.html#a7b266f5305eefcec3326561bca6453f0">BIG_512_60_rcopy</a></div><div class="ttdeci">void BIG_512_60_rcopy(BIG_512_60 x, const BIG_512_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:239</div></div>
-<div class="ttc" id="big__512__60_8h_html_ae84e645366c03a76c35a6782cf2069d2"><div class="ttname"><a href="big__512__60_8h.html#ae84e645366c03a76c35a6782cf2069d2">BIG_512_60_drawoutput</a></div><div class="ttdeci">void BIG_512_60_drawoutput(DBIG_512_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:212</div></div>
-<div class="ttc" id="big__512__60_8h_html_aa5c4966c5e31a90515c4826fe504f749"><div class="ttname"><a href="big__512__60_8h.html#aa5c4966c5e31a90515c4826fe504f749">BIG_512_60_copy</a></div><div class="ttdeci">void BIG_512_60_copy(BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:227</div></div>
-<div class="ttc" id="big__512__60_8h_html_a99b05c3274a8c89915c200d4afaef167"><div class="ttname"><a href="big__512__60_8h.html#a99b05c3274a8c89915c200d4afaef167">BIG_512_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_512_60_dfromBytesLen(DBIG_512_60 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_512_60.c:1485</div></div>
+<div class="ttc" id="big__512__60_8h_html_a7b266f5305eefcec3326561bca6453f0"><div class="ttname"><a href="big__512__60_8h.html#a7b266f5305eefcec3326561bca6453f0">BIG_512_60_rcopy</a></div><div class="ttdeci">void BIG_512_60_rcopy(BIG_512_60 x, const BIG_512_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:239</div></div>
+<div class="ttc" id="big__512__60_8h_html_ae84e645366c03a76c35a6782cf2069d2"><div class="ttname"><a href="big__512__60_8h.html#ae84e645366c03a76c35a6782cf2069d2">BIG_512_60_drawoutput</a></div><div class="ttdeci">void BIG_512_60_drawoutput(DBIG_512_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:212</div></div>
+<div class="ttc" id="big__512__60_8h_html_aa5c4966c5e31a90515c4826fe504f749"><div class="ttname"><a href="big__512__60_8h.html#aa5c4966c5e31a90515c4826fe504f749">BIG_512_60_copy</a></div><div class="ttdeci">void BIG_512_60_copy(BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:227</div></div>
+<div class="ttc" id="big__512__60_8h_html_a99b05c3274a8c89915c200d4afaef167"><div class="ttname"><a href="big__512__60_8h.html#a99b05c3274a8c89915c200d4afaef167">BIG_512_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_512_60_dfromBytesLen(DBIG_512_60 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_512_60.c:1569</div></div>
 <div class="ttc" id="big__512__60_8h_html_a8746466df5a0ab5785e3d216491e3808"><div class="ttname"><a href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">HBITS_512_60</a></div><div class="ttdeci">#define HBITS_512_60</div><div class="ttdef"><b>Definition:</b> big_512_60.h:45</div></div>
-<div class="ttc" id="config__big__512__60_8h_html"><div class="ttname"><a href="config__big__512__60_8h.html">config_big_512_60.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
+<div class="ttc" id="config__big__512__60_8h_html"><div class="ttname"><a href="config__big__512__60_8h.html">config_big_512_60.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
 <div class="ttc" id="big__512__60_8h_html_adec8989721abc8479e76ab775cfaea1b"><div class="ttname"><a href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">NLEN_512_60</a></div><div class="ttdeci">#define NLEN_512_60</div><div class="ttdef"><b>Definition:</b> big_512_60.h:40</div></div>
-<div class="ttc" id="big__512__60_8h_html_a2aaee8578aab50ae4d21368b51ff8589"><div class="ttname"><a href="big__512__60_8h.html#a2aaee8578aab50ae4d21368b51ff8589">BIG_512_60_rawoutput</a></div><div class="ttdeci">void BIG_512_60_rawoutput(BIG_512_60 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_512_60.c:77</div></div>
-<div class="ttc" id="big__512__60_8h_html_add308665cc9ebd19e623c223306a5a41"><div class="ttname"><a href="big__512__60_8h.html#add308665cc9ebd19e623c223306a5a41">BIG_512_60_dcmove</a></div><div class="ttdeci">void BIG_512_60_dcmove(BIG_512_60 x, BIG_512_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__512__60_8h_html_a30725a7102ff9048a777e56aa2dfd9f7"><div class="ttname"><a href="big__512__60_8h.html#a30725a7102ff9048a777e56aa2dfd9f7">BIG_512_60_comp</a></div><div class="ttdeci">int BIG_512_60_comp(BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1014</div></div>
-<div class="ttc" id="big__512__60_8h_html_a35171cff61735ae65092bc6576ba2062"><div class="ttname"><a href="big__512__60_8h.html#a35171cff61735ae65092bc6576ba2062">BIG_512_60_inc</a></div><div class="ttdeci">void BIG_512_60_inc(BIG_512_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:386</div></div>
-<div class="ttc" id="big__512__60_8h_html_ac9d9577c8c2ea7de4a0457cc4ced9f8b"><div class="ttname"><a href="big__512__60_8h.html#ac9d9577c8c2ea7de4a0457cc4ced9f8b">BIG_512_60_modmul</a></div><div class="ttdeci">void BIG_512_60_modmul(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z, BIG_512_60 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1300</div></div>
-<div class="ttc" id="big__512__60_8h_html_acb431cfbdc2b079183405d59632a015a"><div class="ttname"><a href="big__512__60_8h.html#acb431cfbdc2b079183405d59632a015a">BIG_512_60_fromBytes</a></div><div class="ttdeci">void BIG_512_60_fromBytes(BIG_512_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:155</div></div>
+<div class="ttc" id="big__512__60_8h_html_a2aaee8578aab50ae4d21368b51ff8589"><div class="ttname"><a href="big__512__60_8h.html#a2aaee8578aab50ae4d21368b51ff8589">BIG_512_60_rawoutput</a></div><div class="ttdeci">void BIG_512_60_rawoutput(BIG_512_60 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_512_60.c:77</div></div>
+<div class="ttc" id="big__512__60_8h_html_add308665cc9ebd19e623c223306a5a41"><div class="ttname"><a href="big__512__60_8h.html#add308665cc9ebd19e623c223306a5a41">BIG_512_60_dcmove</a></div><div class="ttdeci">void BIG_512_60_dcmove(BIG_512_60 x, BIG_512_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__512__60_8h_html_a30725a7102ff9048a777e56aa2dfd9f7"><div class="ttname"><a href="big__512__60_8h.html#a30725a7102ff9048a777e56aa2dfd9f7">BIG_512_60_comp</a></div><div class="ttdeci">int BIG_512_60_comp(BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1014</div></div>
+<div class="ttc" id="big__512__60_8h_html_a35171cff61735ae65092bc6576ba2062"><div class="ttname"><a href="big__512__60_8h.html#a35171cff61735ae65092bc6576ba2062">BIG_512_60_inc</a></div><div class="ttdeci">void BIG_512_60_inc(BIG_512_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:386</div></div>
+<div class="ttc" id="big__512__60_8h_html_ac9d9577c8c2ea7de4a0457cc4ced9f8b"><div class="ttname"><a href="big__512__60_8h.html#ac9d9577c8c2ea7de4a0457cc4ced9f8b">BIG_512_60_modmul</a></div><div class="ttdeci">void BIG_512_60_modmul(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z, BIG_512_60 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1300</div></div>
+<div class="ttc" id="big__512__60_8h_html_acb431cfbdc2b079183405d59632a015a"><div class="ttname"><a href="big__512__60_8h.html#acb431cfbdc2b079183405d59632a015a">BIG_512_60_fromBytes</a></div><div class="ttdeci">void BIG_512_60_fromBytes(BIG_512_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:155</div></div>
 <div class="ttc" id="big__512__60_8h_html_a4d8cd22a7a2de0a498dc77875e28fd2b"><div class="ttname"><a href="big__512__60_8h.html#a4d8cd22a7a2de0a498dc77875e28fd2b">BIG_512_60_fshl</a></div><div class="ttdeci">int BIG_512_60_fshl(BIG_512_60 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_512_60.c:832</div></div>
-<div class="ttc" id="big__512__60_8h_html_a6db70eff21fa353f9d7c11161917aba8"><div class="ttname"><a href="big__512__60_8h.html#a6db70eff21fa353f9d7c11161917aba8">BIG_512_60_nbits</a></div><div class="ttdeci">int BIG_512_60_nbits(BIG_512_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1040</div></div>
-<div class="ttc" id="big__512__60_8h_html_af57b2a9ce965f664d47c30f2f9dd2c89"><div class="ttname"><a href="big__512__60_8h.html#af57b2a9ce965f664d47c30f2f9dd2c89">BIG_512_60_shl</a></div><div class="ttdeci">void BIG_512_60_shl(BIG_512_60 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_512_60.c:813</div></div>
-<div class="ttc" id="big__512__60_8h_html_ae3b3216d759b03e10af54bc58c9f7034"><div class="ttname"><a href="big__512__60_8h.html#ae3b3216d759b03e10af54bc58c9f7034">BIG_512_60_modsqr</a></div><div class="ttdeci">void BIG_512_60_modsqr(BIG_512_60 x, BIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1315</div></div>
-<div class="ttc" id="big__512__60_8h_html_a4d54bc9aff04f9fa7397c61adea33b85"><div class="ttname"><a href="big__512__60_8h.html#a4d54bc9aff04f9fa7397c61adea33b85">BIG_512_60_dsub</a></div><div class="ttdeci">void BIG_512_60_dsub(DBIG_512_60 x, DBIG_512_60 y, DBIG_512_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:413</div></div>
-<div class="ttc" id="big__512__60_8h_html_a0f6fb677ebe8980357a94a8224ea9c5a"><div class="ttname"><a href="big__512__60_8h.html#a0f6fb677ebe8980357a94a8224ea9c5a">BIG_512_60_doutput</a></div><div class="ttdeci">void BIG_512_60_doutput(DBIG_512_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:190</div></div>
-<div class="ttc" id="big__512__60_8h_html_a542c4f90796443050e69e769c20d22b5"><div class="ttname"><a href="big__512__60_8h.html#a542c4f90796443050e69e769c20d22b5">BIG_512_60_imul</a></div><div class="ttdeci">void BIG_512_60_imul(BIG_512_60 x, BIG_512_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:450</div></div>
-<div class="ttc" id="big__512__60_8h_html_a45bc09bfc405d2107f6f6a86ff092483"><div class="ttname"><a href="big__512__60_8h.html#a45bc09bfc405d2107f6f6a86ff092483">BIG_512_60_ddiv</a></div><div class="ttdeci">void BIG_512_60_ddiv(BIG_512_60 x, DBIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1149</div></div>
+<div class="ttc" id="big__512__60_8h_html_a6db70eff21fa353f9d7c11161917aba8"><div class="ttname"><a href="big__512__60_8h.html#a6db70eff21fa353f9d7c11161917aba8">BIG_512_60_nbits</a></div><div class="ttdeci">int BIG_512_60_nbits(BIG_512_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1040</div></div>
+<div class="ttc" id="big__512__60_8h_html_af57b2a9ce965f664d47c30f2f9dd2c89"><div class="ttname"><a href="big__512__60_8h.html#af57b2a9ce965f664d47c30f2f9dd2c89">BIG_512_60_shl</a></div><div class="ttdeci">void BIG_512_60_shl(BIG_512_60 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_512_60.c:813</div></div>
+<div class="ttc" id="big__512__60_8h_html_ae3b3216d759b03e10af54bc58c9f7034"><div class="ttname"><a href="big__512__60_8h.html#ae3b3216d759b03e10af54bc58c9f7034">BIG_512_60_modsqr</a></div><div class="ttdeci">void BIG_512_60_modsqr(BIG_512_60 x, BIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1315</div></div>
+<div class="ttc" id="big__512__60_8h_html_a4d54bc9aff04f9fa7397c61adea33b85"><div class="ttname"><a href="big__512__60_8h.html#a4d54bc9aff04f9fa7397c61adea33b85">BIG_512_60_dsub</a></div><div class="ttdeci">void BIG_512_60_dsub(DBIG_512_60 x, DBIG_512_60 y, DBIG_512_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:413</div></div>
+<div class="ttc" id="big__512__60_8h_html_a0f6fb677ebe8980357a94a8224ea9c5a"><div class="ttname"><a href="big__512__60_8h.html#a0f6fb677ebe8980357a94a8224ea9c5a">BIG_512_60_doutput</a></div><div class="ttdeci">void BIG_512_60_doutput(DBIG_512_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:190</div></div>
+<div class="ttc" id="big__512__60_8h_html_a542c4f90796443050e69e769c20d22b5"><div class="ttname"><a href="big__512__60_8h.html#a542c4f90796443050e69e769c20d22b5">BIG_512_60_imul</a></div><div class="ttdeci">void BIG_512_60_imul(BIG_512_60 x, BIG_512_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:450</div></div>
+<div class="ttc" id="big__512__60_8h_html_a45bc09bfc405d2107f6f6a86ff092483"><div class="ttname"><a href="big__512__60_8h.html#a45bc09bfc405d2107f6f6a86ff092483">BIG_512_60_ddiv</a></div><div class="ttdeci">void BIG_512_60_ddiv(BIG_512_60 x, DBIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1149</div></div>
 <div class="ttc" id="big__512__60_8h_html_af237293c0f0514780c0f3176175b9d32"><div class="ttname"><a href="big__512__60_8h.html#af237293c0f0514780c0f3176175b9d32">BIG_512_60_fshr</a></div><div class="ttdeci">int BIG_512_60_fshr(BIG_512_60 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_512_60.c:906</div></div>
-<div class="ttc" id="big__512__60_8h_html_ac45309a1dd055012dbe19e702d0de69e"><div class="ttname"><a href="big__512__60_8h.html#ac45309a1dd055012dbe19e702d0de69e">BIG_512_60_moddiv</a></div><div class="ttdeci">void BIG_512_60_moddiv(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z, BIG_512_60 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1337</div></div>
-<div class="ttc" id="big__512__60_8h_html_a3b242608c12fcba86534d1089c53e754"><div class="ttname"><a href="big__512__60_8h.html#a3b242608c12fcba86534d1089c53e754">BIG_512_60_mod2m</a></div><div class="ttdeci">void BIG_512_60_mod2m(BIG_512_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1456</div></div>
-<div class="ttc" id="big__512__60_8h_html_a1b720e38b454291e0b700c7cf1185c26"><div class="ttname"><a href="big__512__60_8h.html#a1b720e38b454291e0b700c7cf1185c26">BIG_512_60_dec</a></div><div class="ttdeci">void BIG_512_60_dec(BIG_512_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:440</div></div>
-<div class="ttc" id="big__512__60_8h_html_a1962d878bfe523d0434b45d6c8206c01"><div class="ttname"><a href="big__512__60_8h.html#a1962d878bfe523d0434b45d6c8206c01">BIG_512_60_sdiv</a></div><div class="ttdeci">void BIG_512_60_sdiv(BIG_512_60 x, BIG_512_60 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1188</div></div>
-<div class="ttc" id="big__512__60_8h_html_a128d44aaa007c520e564ca5d1f7259c0"><div class="ttname"><a href="big__512__60_8h.html#a128d44aaa007c520e564ca5d1f7259c0">BIG_512_60_add</a></div><div class="ttdeci">void BIG_512_60_add(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:356</div></div>
-<div class="ttc" id="big__512__60_8h_html_ad389c58903cadf171261a7dd91679960"><div class="ttname"><a href="big__512__60_8h.html#ad389c58903cadf171261a7dd91679960">BIG_512_60_dadd</a></div><div class="ttdeci">void BIG_512_60_dadd(DBIG_512_60 x, DBIG_512_60 y, DBIG_512_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:426</div></div>
-<div class="ttc" id="big__512__60_8h_html_a3e4be0d9aa8897f4a94cb5f020616135"><div class="ttname"><a href="big__512__60_8h.html#a3e4be0d9aa8897f4a94cb5f020616135">BIG_512_60_dshl</a></div><div class="ttdeci">void BIG_512_60_dshl(DBIG_512_60 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_512_60.c:846</div></div>
-<div class="ttc" id="big__512__60_8h_html_a3ff9c974da707b0ed8639ba649bb9ef1"><div class="ttname"><a href="big__512__60_8h.html#a3ff9c974da707b0ed8639ba649bb9ef1">BIG_512_60_cmove</a></div><div class="ttdeci">void BIG_512_60_cmove(BIG_512_60 x, BIG_512_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:110</div></div>
-<div class="ttc" id="big__512__60_8h_html_a18ca9c037a3a961de7e661a64baaf6b4"><div class="ttname"><a href="big__512__60_8h.html#a18ca9c037a3a961de7e661a64baaf6b4">BIG_512_60_norm</a></div><div class="ttdeci">chunk BIG_512_60_norm(BIG_512_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:976</div></div>
+<div class="ttc" id="big__512__60_8h_html_ac45309a1dd055012dbe19e702d0de69e"><div class="ttname"><a href="big__512__60_8h.html#ac45309a1dd055012dbe19e702d0de69e">BIG_512_60_moddiv</a></div><div class="ttdeci">void BIG_512_60_moddiv(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z, BIG_512_60 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1337</div></div>
+<div class="ttc" id="big__512__60_8h_html_a3b242608c12fcba86534d1089c53e754"><div class="ttname"><a href="big__512__60_8h.html#a3b242608c12fcba86534d1089c53e754">BIG_512_60_mod2m</a></div><div class="ttdeci">void BIG_512_60_mod2m(BIG_512_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1540</div></div>
+<div class="ttc" id="big__512__60_8h_html_a1b720e38b454291e0b700c7cf1185c26"><div class="ttname"><a href="big__512__60_8h.html#a1b720e38b454291e0b700c7cf1185c26">BIG_512_60_dec</a></div><div class="ttdeci">void BIG_512_60_dec(BIG_512_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:440</div></div>
+<div class="ttc" id="big__512__60_8h_html_a1962d878bfe523d0434b45d6c8206c01"><div class="ttname"><a href="big__512__60_8h.html#a1962d878bfe523d0434b45d6c8206c01">BIG_512_60_sdiv</a></div><div class="ttdeci">void BIG_512_60_sdiv(BIG_512_60 x, BIG_512_60 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1188</div></div>
+<div class="ttc" id="big__512__60_8h_html_a128d44aaa007c520e564ca5d1f7259c0"><div class="ttname"><a href="big__512__60_8h.html#a128d44aaa007c520e564ca5d1f7259c0">BIG_512_60_add</a></div><div class="ttdeci">void BIG_512_60_add(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:356</div></div>
+<div class="ttc" id="big__512__60_8h_html_ad389c58903cadf171261a7dd91679960"><div class="ttname"><a href="big__512__60_8h.html#ad389c58903cadf171261a7dd91679960">BIG_512_60_dadd</a></div><div class="ttdeci">void BIG_512_60_dadd(DBIG_512_60 x, DBIG_512_60 y, DBIG_512_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:426</div></div>
+<div class="ttc" id="big__512__60_8h_html_a3e4be0d9aa8897f4a94cb5f020616135"><div class="ttname"><a href="big__512__60_8h.html#a3e4be0d9aa8897f4a94cb5f020616135">BIG_512_60_dshl</a></div><div class="ttdeci">void BIG_512_60_dshl(DBIG_512_60 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_512_60.c:846</div></div>
+<div class="ttc" id="big__512__60_8h_html_a3ff9c974da707b0ed8639ba649bb9ef1"><div class="ttname"><a href="big__512__60_8h.html#a3ff9c974da707b0ed8639ba649bb9ef1">BIG_512_60_cmove</a></div><div class="ttdeci">void BIG_512_60_cmove(BIG_512_60 x, BIG_512_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:110</div></div>
+<div class="ttc" id="big__512__60_8h_html_a18ca9c037a3a961de7e661a64baaf6b4"><div class="ttname"><a href="big__512__60_8h.html#a18ca9c037a3a961de7e661a64baaf6b4">BIG_512_60_norm</a></div><div class="ttdeci">chunk BIG_512_60_norm(BIG_512_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:976</div></div>
 <div class="ttc" id="big__512__60_8h_html_a9aacc37fac51d75221f45eeeaa7ae4a6"><div class="ttname"><a href="big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">HMASK_512_60</a></div><div class="ttdeci">#define HMASK_512_60</div><div class="ttdef"><b>Definition:</b> big_512_60.h:46</div></div>
-<div class="ttc" id="big__512__60_8h_html_af0f38ca795bd0393f657ae5b1e1f2d07"><div class="ttname"><a href="big__512__60_8h.html#af0f38ca795bd0393f657ae5b1e1f2d07">BIG_512_60_random</a></div><div class="ttdeci">void BIG_512_60_random(BIG_512_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1248</div></div>
-<div class="ttc" id="big__512__60_8h_html_aa7a99fa734f34597b0662e844cb2dbf7"><div class="ttname"><a href="big__512__60_8h.html#aa7a99fa734f34597b0662e844cb2dbf7">BIG_512_60_dcomp</a></div><div class="ttdeci">int BIG_512_60_dcomp(DBIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1026</div></div>
-<div class="ttc" id="big__512__60_8h_html_a59382ec780e3d6df189ceed7d57bd961"><div class="ttname"><a href="big__512__60_8h.html#a59382ec780e3d6df189ceed7d57bd961">BIG_512_60_one</a></div><div class="ttdeci">void BIG_512_60_one(BIG_512_60 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_512_60.c:340</div></div>
-<div class="ttc" id="big__512__60_8h_html_a613ddf52fa88add3efe15f2c930f8312"><div class="ttname"><a href="big__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312">BIG_512_60_invmod2m</a></div><div class="ttdeci">void BIG_512_60_invmod2m(BIG_512_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div><div class="ttdef"><b>Definition:</b> ff_4096.c:66</div></div>
-<div class="ttc" id="big__512__60_8h_html_acaf02b62a24ae663a380320dd693ae1a"><div class="ttname"><a href="big__512__60_8h.html#acaf02b62a24ae663a380320dd693ae1a">BIG_512_60_dsucopy</a></div><div class="ttdeci">void BIG_512_60_dsucopy(DBIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:280</div></div>
+<div class="ttc" id="big__512__60_8h_html_af0f38ca795bd0393f657ae5b1e1f2d07"><div class="ttname"><a href="big__512__60_8h.html#af0f38ca795bd0393f657ae5b1e1f2d07">BIG_512_60_random</a></div><div class="ttdeci">void BIG_512_60_random(BIG_512_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1248</div></div>
+<div class="ttc" id="big__512__60_8h_html_aa7a99fa734f34597b0662e844cb2dbf7"><div class="ttname"><a href="big__512__60_8h.html#aa7a99fa734f34597b0662e844cb2dbf7">BIG_512_60_dcomp</a></div><div class="ttdeci">int BIG_512_60_dcomp(DBIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1026</div></div>
+<div class="ttc" id="big__512__60_8h_html_a59382ec780e3d6df189ceed7d57bd961"><div class="ttname"><a href="big__512__60_8h.html#a59382ec780e3d6df189ceed7d57bd961">BIG_512_60_one</a></div><div class="ttdeci">void BIG_512_60_one(BIG_512_60 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_512_60.c:340</div></div>
+<div class="ttc" id="big__512__60_8h_html_a613ddf52fa88add3efe15f2c930f8312"><div class="ttname"><a href="big__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312">BIG_512_60_invmod2m</a></div><div class="ttdeci">void BIG_512_60_invmod2m(BIG_512_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1432</div></div>
+<div class="ttc" id="big__512__60_8h_html_acaf02b62a24ae663a380320dd693ae1a"><div class="ttname"><a href="big__512__60_8h.html#acaf02b62a24ae663a380320dd693ae1a">BIG_512_60_dsucopy</a></div><div class="ttdeci">void BIG_512_60_dsucopy(DBIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:280</div></div>
 <div class="ttc" id="big__512__60_8h_html_ada98ab694a80a60b255a448e21ec3906"><div class="ttname"><a href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a></div><div class="ttdeci">chunk DBIG_512_60[DNLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:59</div></div>
-<div class="ttc" id="big__512__60_8h_html_a8c664defdb0857fa592be0d52ab0c686"><div class="ttname"><a href="big__512__60_8h.html#a8c664defdb0857fa592be0d52ab0c686">BIG_512_60_bit</a></div><div class="ttdeci">int BIG_512_60_bit(BIG_512_60 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1232</div></div>
-<div class="ttc" id="big__512__60_8h_html_aadee0b05625ad898d02d3c95915dc7bf"><div class="ttname"><a href="big__512__60_8h.html#aadee0b05625ad898d02d3c95915dc7bf">BIG_512_60_pmul</a></div><div class="ttdeci">chunk BIG_512_60_pmul(BIG_512_60 x, BIG_512_60 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_512_60.c:465</div></div>
-<div class="ttc" id="big__512__60_8h_html_accda833c2384e1630a2192f722f7073b"><div class="ttname"><a href="big__512__60_8h.html#accda833c2384e1630a2192f722f7073b">BIG_512_60_diszilch</a></div><div class="ttdeci">int BIG_512_60_diszilch(DBIG_512_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:45</div></div>
-<div class="ttc" id="big__512__60_8h_html_a7a1e0c2e0ee9e436e0cea761642dbf6f"><div class="ttname"><a href="big__512__60_8h.html#a7a1e0c2e0ee9e436e0cea761642dbf6f">BIG_512_60_iszilch</a></div><div class="ttdeci">int BIG_512_60_iszilch(BIG_512_60 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:26</div></div>
+<div class="ttc" id="big__512__60_8h_html_a8c664defdb0857fa592be0d52ab0c686"><div class="ttname"><a href="big__512__60_8h.html#a8c664defdb0857fa592be0d52ab0c686">BIG_512_60_bit</a></div><div class="ttdeci">int BIG_512_60_bit(BIG_512_60 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1232</div></div>
+<div class="ttc" id="big__512__60_8h_html_aadee0b05625ad898d02d3c95915dc7bf"><div class="ttname"><a href="big__512__60_8h.html#aadee0b05625ad898d02d3c95915dc7bf">BIG_512_60_pmul</a></div><div class="ttdeci">chunk BIG_512_60_pmul(BIG_512_60 x, BIG_512_60 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_512_60.c:465</div></div>
+<div class="ttc" id="big__512__60_8h_html_accda833c2384e1630a2192f722f7073b"><div class="ttname"><a href="big__512__60_8h.html#accda833c2384e1630a2192f722f7073b">BIG_512_60_diszilch</a></div><div class="ttdeci">int BIG_512_60_diszilch(DBIG_512_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:45</div></div>
+<div class="ttc" id="big__512__60_8h_html_a7a1e0c2e0ee9e436e0cea761642dbf6f"><div class="ttname"><a href="big__512__60_8h.html#a7a1e0c2e0ee9e436e0cea761642dbf6f">BIG_512_60_iszilch</a></div><div class="ttdeci">int BIG_512_60_iszilch(BIG_512_60 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:26</div></div>
 <div class="ttc" id="big__512__60_8h_html_a96bcba0cd64bdfa12f1418b8304e7402"><div class="ttname"><a href="big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">BMASK_512_60</a></div><div class="ttdeci">#define BMASK_512_60</div><div class="ttdef"><b>Definition:</b> big_512_60.h:42</div></div>
-<div class="ttc" id="big__512__60_8h_html_a58ec191de45d45bf70e0b7cd649a9212"><div class="ttname"><a href="big__512__60_8h.html#a58ec191de45d45bf70e0b7cd649a9212">BIG_512_60_jacobi</a></div><div class="ttdeci">int BIG_512_60_jacobi(BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1354</div></div>
-<div class="ttc" id="big__512__60_8h_html_ac351f3fbbabbd03fabc85aa802888540"><div class="ttname"><a href="big__512__60_8h.html#ac351f3fbbabbd03fabc85aa802888540">BIG_512_60_dshr</a></div><div class="ttdeci">void BIG_512_60_dshr(DBIG_512_60 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_512_60.c:918</div></div>
-<div class="ttc" id="big__512__60_8h_html_a5e9086da38be0de8e0c2f8bb4f00486b"><div class="ttname"><a href="big__512__60_8h.html#a5e9086da38be0de8e0c2f8bb4f00486b">BIG_512_60_dzero</a></div><div class="ttdeci">void BIG_512_60_dzero(DBIG_512_60 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:329</div></div>
-<div class="ttc" id="big__512__60_8h_html_a2508c29138c1ad5f6f050b7c72408886"><div class="ttname"><a href="big__512__60_8h.html#a2508c29138c1ad5f6f050b7c72408886">BIG_512_60_dscopy</a></div><div class="ttdeci">void BIG_512_60_dscopy(DBIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:263</div></div>
-<div class="ttc" id="big__512__60_8h_html_a91284c3f402d581bcedd2097cefd9f0d"><div class="ttname"><a href="big__512__60_8h.html#a91284c3f402d581bcedd2097cefd9f0d">BIG_512_60_dmod2m</a></div><div class="ttdeci">void BIG_512_60_dmod2m(DBIG_512_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1470</div></div>
-<div class="ttc" id="big__512__60_8h_html_aabc73c0986b7b7d66c12c832df96d796"><div class="ttname"><a href="big__512__60_8h.html#aabc73c0986b7b7d66c12c832df96d796">BIG_512_60_div3</a></div><div class="ttdeci">int BIG_512_60_div3(BIG_512_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:484</div></div>
-<div class="ttc" id="big__512__60_8h_html_aa3d007b30e3d0703721fcc382149b36e"><div class="ttname"><a href="big__512__60_8h.html#aa3d007b30e3d0703721fcc382149b36e">BIG_512_60_pxmul</a></div><div class="ttdeci">void BIG_512_60_pxmul(DBIG_512_60 x, BIG_512_60 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_512_60.c:501</div></div>
-<div class="ttc" id="big__512__60_8h_html_a99d1322736f002401e3d858f9a27938c"><div class="ttname"><a href="big__512__60_8h.html#a99d1322736f002401e3d858f9a27938c">BIG_512_60_lastbits</a></div><div class="ttdeci">int BIG_512_60_lastbits(BIG_512_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1240</div></div>
-<div class="ttc" id="big__512__60_8h_html_aff41c30b478614346602a311d735d249"><div class="ttname"><a href="big__512__60_8h.html#aff41c30b478614346602a311d735d249">BIG_512_60_monty</a></div><div class="ttdeci">void BIG_512_60_monty(BIG_512_60 a, BIG_512_60 md, chunk MC, DBIG_512_60 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_512_60.c:735</div></div>
-<div class="ttc" id="big__512__60_8h_html_a52c226c5e26d1685f4dc6f0bc81583a5"><div class="ttname"><a href="big__512__60_8h.html#a52c226c5e26d1685f4dc6f0bc81583a5">BIG_512_60_dmod</a></div><div class="ttdeci">void BIG_512_60_dmod(BIG_512_60 x, DBIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1113</div></div>
-<div class="ttc" id="big__512__60_8h_html_a864aef063cf79e473d4b1bb4b4ffd478"><div class="ttname"><a href="big__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478">BIG_512_60_zero</a></div><div class="ttdeci">void BIG_512_60_zero(BIG_512_60 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:319</div></div>
-<div class="ttc" id="big__512__60_8h_html_a02c779b8cc1a364db5c1beb0cce22f1a"><div class="ttname"><a href="big__512__60_8h.html#a02c779b8cc1a364db5c1beb0cce22f1a">BIG_512_60_shr</a></div><div class="ttdeci">void BIG_512_60_shr(BIG_512_60 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_512_60.c:864</div></div>
-<div class="ttc" id="big__512__60_8h_html_afb465d4953647c45d9958e3c0b01dc61"><div class="ttname"><a href="big__512__60_8h.html#afb465d4953647c45d9958e3c0b01dc61">BIG_512_60_output</a></div><div class="ttdeci">void BIG_512_60_output(BIG_512_60 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:55</div></div>
-<div class="ttc" id="big__512__60_8h_html_afc1b120837075b231e2a57423295266e"><div class="ttname"><a href="big__512__60_8h.html#afc1b120837075b231e2a57423295266e">BIG_512_60_isunity</a></div><div class="ttdeci">int BIG_512_60_isunity(BIG_512_60 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:35</div></div>
+<div class="ttc" id="big__512__60_8h_html_a58ec191de45d45bf70e0b7cd649a9212"><div class="ttname"><a href="big__512__60_8h.html#a58ec191de45d45bf70e0b7cd649a9212">BIG_512_60_jacobi</a></div><div class="ttdeci">int BIG_512_60_jacobi(BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1354</div></div>
+<div class="ttc" id="big__512__60_8h_html_ac351f3fbbabbd03fabc85aa802888540"><div class="ttname"><a href="big__512__60_8h.html#ac351f3fbbabbd03fabc85aa802888540">BIG_512_60_dshr</a></div><div class="ttdeci">void BIG_512_60_dshr(DBIG_512_60 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_512_60.c:918</div></div>
+<div class="ttc" id="big__512__60_8h_html_a5e9086da38be0de8e0c2f8bb4f00486b"><div class="ttname"><a href="big__512__60_8h.html#a5e9086da38be0de8e0c2f8bb4f00486b">BIG_512_60_dzero</a></div><div class="ttdeci">void BIG_512_60_dzero(DBIG_512_60 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:329</div></div>
+<div class="ttc" id="big__512__60_8h_html_a2508c29138c1ad5f6f050b7c72408886"><div class="ttname"><a href="big__512__60_8h.html#a2508c29138c1ad5f6f050b7c72408886">BIG_512_60_dscopy</a></div><div class="ttdeci">void BIG_512_60_dscopy(DBIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:263</div></div>
+<div class="ttc" id="big__512__60_8h_html_a91284c3f402d581bcedd2097cefd9f0d"><div class="ttname"><a href="big__512__60_8h.html#a91284c3f402d581bcedd2097cefd9f0d">BIG_512_60_dmod2m</a></div><div class="ttdeci">void BIG_512_60_dmod2m(DBIG_512_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1554</div></div>
+<div class="ttc" id="big__512__60_8h_html_aabc73c0986b7b7d66c12c832df96d796"><div class="ttname"><a href="big__512__60_8h.html#aabc73c0986b7b7d66c12c832df96d796">BIG_512_60_div3</a></div><div class="ttdeci">int BIG_512_60_div3(BIG_512_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:484</div></div>
+<div class="ttc" id="big__512__60_8h_html_aa3d007b30e3d0703721fcc382149b36e"><div class="ttname"><a href="big__512__60_8h.html#aa3d007b30e3d0703721fcc382149b36e">BIG_512_60_pxmul</a></div><div class="ttdeci">void BIG_512_60_pxmul(DBIG_512_60 x, BIG_512_60 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_512_60.c:501</div></div>
+<div class="ttc" id="big__512__60_8h_html_a99d1322736f002401e3d858f9a27938c"><div class="ttname"><a href="big__512__60_8h.html#a99d1322736f002401e3d858f9a27938c">BIG_512_60_lastbits</a></div><div class="ttdeci">int BIG_512_60_lastbits(BIG_512_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1240</div></div>
+<div class="ttc" id="big__512__60_8h_html_aff41c30b478614346602a311d735d249"><div class="ttname"><a href="big__512__60_8h.html#aff41c30b478614346602a311d735d249">BIG_512_60_monty</a></div><div class="ttdeci">void BIG_512_60_monty(BIG_512_60 a, BIG_512_60 md, chunk MC, DBIG_512_60 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_512_60.c:735</div></div>
+<div class="ttc" id="big__512__60_8h_html_a52c226c5e26d1685f4dc6f0bc81583a5"><div class="ttname"><a href="big__512__60_8h.html#a52c226c5e26d1685f4dc6f0bc81583a5">BIG_512_60_dmod</a></div><div class="ttdeci">void BIG_512_60_dmod(BIG_512_60 x, DBIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1113</div></div>
+<div class="ttc" id="big__512__60_8h_html_a864aef063cf79e473d4b1bb4b4ffd478"><div class="ttname"><a href="big__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478">BIG_512_60_zero</a></div><div class="ttdeci">void BIG_512_60_zero(BIG_512_60 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:319</div></div>
+<div class="ttc" id="big__512__60_8h_html_a02c779b8cc1a364db5c1beb0cce22f1a"><div class="ttname"><a href="big__512__60_8h.html#a02c779b8cc1a364db5c1beb0cce22f1a">BIG_512_60_shr</a></div><div class="ttdeci">void BIG_512_60_shr(BIG_512_60 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_512_60.c:864</div></div>
+<div class="ttc" id="big__512__60_8h_html_afb465d4953647c45d9958e3c0b01dc61"><div class="ttname"><a href="big__512__60_8h.html#afb465d4953647c45d9958e3c0b01dc61">BIG_512_60_output</a></div><div class="ttdeci">void BIG_512_60_output(BIG_512_60 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:55</div></div>
+<div class="ttc" id="big__512__60_8h_html_afc1b120837075b231e2a57423295266e"><div class="ttname"><a href="big__512__60_8h.html#afc1b120837075b231e2a57423295266e">BIG_512_60_isunity</a></div><div class="ttdeci">int BIG_512_60_isunity(BIG_512_60 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:35</div></div>
 <div class="ttc" id="config__big__512__60_8h_html_a050f6c0139f8a543eb7b2feb010a1934"><div class="ttname"><a href="config__big__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">BASEBITS_512_60</a></div><div class="ttdeci">#define BASEBITS_512_60</div><div class="ttdef"><b>Definition:</b> config_big_512_60.h:35</div></div>
-<div class="ttc" id="big__512__60_8h_html_a23f8947b72200d1516a8735f255692f5"><div class="ttname"><a href="big__512__60_8h.html#a23f8947b72200d1516a8735f255692f5">BIG_512_60_ssn</a></div><div class="ttdeci">int BIG_512_60_ssn(BIG_512_60 r, BIG_512_60 a, BIG_512_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:877</div></div>
-<div class="ttc" id="big__512__60_8h_html_a1e75afd36912bf4dd20538e4642d5362"><div class="ttname"><a href="big__512__60_8h.html#a1e75afd36912bf4dd20538e4642d5362">BIG_512_60_dcopy</a></div><div class="ttdeci">void BIG_512_60_dcopy(DBIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:251</div></div>
-<div class="ttc" id="big__512__60_8h_html_ae7de2e51e8115b700df42a291abf5866"><div class="ttname"><a href="big__512__60_8h.html#ae7de2e51e8115b700df42a291abf5866">BIG_512_60_fromBytesLen</a></div><div class="ttdeci">void BIG_512_60_fromBytesLen(BIG_512_60 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_512_60.c:170</div></div>
-<div class="ttc" id="big__512__60_8h_html_afe496e643f493398b0eb94a3b79fca55"><div class="ttname"><a href="big__512__60_8h.html#afe496e643f493398b0eb94a3b79fca55">BIG_512_60_sducopy</a></div><div class="ttdeci">void BIG_512_60_sducopy(BIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:306</div></div>
-<div class="ttc" id="big__512__60_8h_html_ae580275f6e5c3bd46e03b06c6f9e1de9"><div class="ttname"><a href="big__512__60_8h.html#ae580275f6e5c3bd46e03b06c6f9e1de9">BIG_512_60_dnbits</a></div><div class="ttdeci">int BIG_512_60_dnbits(DBIG_512_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1060</div></div>
-<div class="ttc" id="big__512__60_8h_html_a127a9249fc98204d94d7f9e191ebce22"><div class="ttname"><a href="big__512__60_8h.html#a127a9249fc98204d94d7f9e191ebce22">BIG_512_60_split</a></div><div class="ttdeci">chunk BIG_512_60_split(BIG_512_60 x, BIG_512_60 y, DBIG_512_60 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_512_60.c:932</div></div>
-<div class="ttc" id="big__512__60_8h_html_a9c4e23a640b402d0c081f8706f04d56f"><div class="ttname"><a href="big__512__60_8h.html#a9c4e23a640b402d0c081f8706f04d56f">BIG_512_60_mul</a></div><div class="ttdeci">void BIG_512_60_mul(DBIG_512_60 x, BIG_512_60 y, BIG_512_60 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_512_60.c:542</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__512__60_8h_html_a2f847ac49e07f5fc33fec2b8ea71bdb8"><div class="ttname"><a href="big__512__60_8h.html#a2f847ac49e07f5fc33fec2b8ea71bdb8">BIG_512_60_mod</a></div><div class="ttdeci">void BIG_512_60_mod(BIG_512_60 x, BIG_512_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1082</div></div>
-<div class="ttc" id="big__512__60_8h_html_a127bc3882b2166c74e8915db81578d42"><div class="ttname"><a href="big__512__60_8h.html#a127bc3882b2166c74e8915db81578d42">BIG_512_60_sdcopy</a></div><div class="ttdeci">void BIG_512_60_sdcopy(BIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:294</div></div>
-<div class="ttc" id="big__512__60_8h_html_a8cc051e0de9d96174db4fae4edea6821"><div class="ttname"><a href="big__512__60_8h.html#a8cc051e0de9d96174db4fae4edea6821">BIG_512_60_or</a></div><div class="ttdeci">void BIG_512_60_or(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:371</div></div>
-<div class="ttc" id="big__512__60_8h_html_ac646cd18f1c3bbc928afc97fc33a26a4"><div class="ttname"><a href="big__512__60_8h.html#ac646cd18f1c3bbc928afc97fc33a26a4">BIG_512_60_invmodp</a></div><div class="ttdeci">void BIG_512_60_invmodp(BIG_512_60 x, BIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1392</div></div>
-<div class="ttc" id="big__512__60_8h_html_aee7eece8c2d58d13f038a92b180f7970"><div class="ttname"><a href="big__512__60_8h.html#aee7eece8c2d58d13f038a92b180f7970">BIG_512_60_modneg</a></div><div class="ttdeci">void BIG_512_60_modneg(BIG_512_60 x, BIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1327</div></div>
-<div class="ttc" id="big__512__60_8h_html_a434eedfe97b4bc16c8820353dd481f73"><div class="ttname"><a href="big__512__60_8h.html#a434eedfe97b4bc16c8820353dd481f73">BIG_512_60_dnorm</a></div><div class="ttdeci">void BIG_512_60_dnorm(DBIG_512_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:995</div></div>
-<div class="ttc" id="big__512__60_8h_html_a6bc2bab3f09cb2fd848dfba27e7626e5"><div class="ttname"><a href="big__512__60_8h.html#a6bc2bab3f09cb2fd848dfba27e7626e5">BIG_512_60_smul</a></div><div class="ttdeci">void BIG_512_60_smul(BIG_512_60 x, BIG_512_60 y, BIG_512_60 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_512_60.c:518</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__512__60_8h_html_a23f8947b72200d1516a8735f255692f5"><div class="ttname"><a href="big__512__60_8h.html#a23f8947b72200d1516a8735f255692f5">BIG_512_60_ssn</a></div><div class="ttdeci">int BIG_512_60_ssn(BIG_512_60 r, BIG_512_60 a, BIG_512_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:877</div></div>
+<div class="ttc" id="big__512__60_8h_html_a1e75afd36912bf4dd20538e4642d5362"><div class="ttname"><a href="big__512__60_8h.html#a1e75afd36912bf4dd20538e4642d5362">BIG_512_60_dcopy</a></div><div class="ttdeci">void BIG_512_60_dcopy(DBIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:251</div></div>
+<div class="ttc" id="big__512__60_8h_html_ae7de2e51e8115b700df42a291abf5866"><div class="ttname"><a href="big__512__60_8h.html#ae7de2e51e8115b700df42a291abf5866">BIG_512_60_fromBytesLen</a></div><div class="ttdeci">void BIG_512_60_fromBytesLen(BIG_512_60 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_512_60.c:170</div></div>
+<div class="ttc" id="big__512__60_8h_html_afe496e643f493398b0eb94a3b79fca55"><div class="ttname"><a href="big__512__60_8h.html#afe496e643f493398b0eb94a3b79fca55">BIG_512_60_sducopy</a></div><div class="ttdeci">void BIG_512_60_sducopy(BIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:306</div></div>
+<div class="ttc" id="big__512__60_8h_html_ae580275f6e5c3bd46e03b06c6f9e1de9"><div class="ttname"><a href="big__512__60_8h.html#ae580275f6e5c3bd46e03b06c6f9e1de9">BIG_512_60_dnbits</a></div><div class="ttdeci">int BIG_512_60_dnbits(DBIG_512_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1060</div></div>
+<div class="ttc" id="big__512__60_8h_html_a127a9249fc98204d94d7f9e191ebce22"><div class="ttname"><a href="big__512__60_8h.html#a127a9249fc98204d94d7f9e191ebce22">BIG_512_60_split</a></div><div class="ttdeci">chunk BIG_512_60_split(BIG_512_60 x, BIG_512_60 y, DBIG_512_60 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_512_60.c:932</div></div>
+<div class="ttc" id="big__512__60_8h_html_a9c4e23a640b402d0c081f8706f04d56f"><div class="ttname"><a href="big__512__60_8h.html#a9c4e23a640b402d0c081f8706f04d56f">BIG_512_60_mul</a></div><div class="ttdeci">void BIG_512_60_mul(DBIG_512_60 x, BIG_512_60 y, BIG_512_60 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_512_60.c:542</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__512__60_8h_html_a2f847ac49e07f5fc33fec2b8ea71bdb8"><div class="ttname"><a href="big__512__60_8h.html#a2f847ac49e07f5fc33fec2b8ea71bdb8">BIG_512_60_mod</a></div><div class="ttdeci">void BIG_512_60_mod(BIG_512_60 x, BIG_512_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1082</div></div>
+<div class="ttc" id="big__512__60_8h_html_a127bc3882b2166c74e8915db81578d42"><div class="ttname"><a href="big__512__60_8h.html#a127bc3882b2166c74e8915db81578d42">BIG_512_60_sdcopy</a></div><div class="ttdeci">void BIG_512_60_sdcopy(BIG_512_60 x, DBIG_512_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:294</div></div>
+<div class="ttc" id="big__512__60_8h_html_a8cc051e0de9d96174db4fae4edea6821"><div class="ttname"><a href="big__512__60_8h.html#a8cc051e0de9d96174db4fae4edea6821">BIG_512_60_or</a></div><div class="ttdeci">void BIG_512_60_or(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:371</div></div>
+<div class="ttc" id="big__512__60_8h_html_ac646cd18f1c3bbc928afc97fc33a26a4"><div class="ttname"><a href="big__512__60_8h.html#ac646cd18f1c3bbc928afc97fc33a26a4">BIG_512_60_invmodp</a></div><div class="ttdeci">void BIG_512_60_invmodp(BIG_512_60 x, BIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1476</div></div>
+<div class="ttc" id="big__512__60_8h_html_aee7eece8c2d58d13f038a92b180f7970"><div class="ttname"><a href="big__512__60_8h.html#aee7eece8c2d58d13f038a92b180f7970">BIG_512_60_modneg</a></div><div class="ttdeci">void BIG_512_60_modneg(BIG_512_60 x, BIG_512_60 y, BIG_512_60 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1327</div></div>
+<div class="ttc" id="big__512__60_8h_html_a434eedfe97b4bc16c8820353dd481f73"><div class="ttname"><a href="big__512__60_8h.html#a434eedfe97b4bc16c8820353dd481f73">BIG_512_60_dnorm</a></div><div class="ttdeci">void BIG_512_60_dnorm(DBIG_512_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:995</div></div>
+<div class="ttc" id="big__512__60_8h_html_a6bc2bab3f09cb2fd848dfba27e7626e5"><div class="ttname"><a href="big__512__60_8h.html#a6bc2bab3f09cb2fd848dfba27e7626e5">BIG_512_60_smul</a></div><div class="ttdeci">void BIG_512_60_smul(BIG_512_60 x, BIG_512_60 y, BIG_512_60 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_512_60.c:518</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__512__60_8h_html_a4845cd98baf55ef85cbfece672b39686"><div class="ttname"><a href="big__512__60_8h.html#a4845cd98baf55ef85cbfece672b39686">BIG_512_60_parity</a></div><div class="ttdeci">int BIG_512_60_parity(BIG_512_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_512_60.c:1225</div></div>
+<div class="ttc" id="big__512__60_8h_html_a4845cd98baf55ef85cbfece672b39686"><div class="ttname"><a href="big__512__60_8h.html#a4845cd98baf55ef85cbfece672b39686">BIG_512_60_parity</a></div><div class="ttdeci">int BIG_512_60_parity(BIG_512_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_512_60.c:1225</div></div>
 <div class="ttc" id="big__512__60_8h_html_a2191aa95a9d5d44b396978d1be7d4342"><div class="ttname"><a href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">DNLEN_512_60</a></div><div class="ttdeci">#define DNLEN_512_60</div><div class="ttdef"><b>Definition:</b> big_512_60.h:41</div></div>
-<div class="ttc" id="big__512__60_8h_html_ae309f55db8a7668ab6803b3375706fe4"><div class="ttname"><a href="big__512__60_8h.html#ae309f55db8a7668ab6803b3375706fe4">BIG_512_60_sqr</a></div><div class="ttdeci">void BIG_512_60_sqr(DBIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:618</div></div>
-<div class="ttc" id="big__512__60_8h_html_a7d5787816e576176808e092c408a946c"><div class="ttname"><a href="big__512__60_8h.html#a7d5787816e576176808e092c408a946c">BIG_512_60_sub</a></div><div class="ttdeci">void BIG_512_60_sub(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:397</div></div>
-<div class="ttc" id="big__512__60_8h_html_aee4c6d0609ea26b439a440b2746336b4"><div class="ttname"><a href="big__512__60_8h.html#aee4c6d0609ea26b439a440b2746336b4">BIG_512_60_randomnum</a></div><div class="ttdeci">void BIG_512_60_randomnum(BIG_512_60 x, BIG_512_60 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_512_60.c:1274</div></div>
-<div class="ttc" id="big__512__60_8h_html_a886b65a560c8c442d7fa3a259eb57b5e"><div class="ttname"><a href="big__512__60_8h.html#a886b65a560c8c442d7fa3a259eb57b5e">BIG_512_60_cswap</a></div><div class="ttdeci">void BIG_512_60_cswap(BIG_512_60 x, BIG_512_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_512_60.c:92</div></div>
+<div class="ttc" id="big__512__60_8h_html_ae309f55db8a7668ab6803b3375706fe4"><div class="ttname"><a href="big__512__60_8h.html#ae309f55db8a7668ab6803b3375706fe4">BIG_512_60_sqr</a></div><div class="ttdeci">void BIG_512_60_sqr(DBIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:618</div></div>
+<div class="ttc" id="big__512__60_8h_html_a7d5787816e576176808e092c408a946c"><div class="ttname"><a href="big__512__60_8h.html#a7d5787816e576176808e092c408a946c">BIG_512_60_sub</a></div><div class="ttdeci">void BIG_512_60_sub(BIG_512_60 x, BIG_512_60 y, BIG_512_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:397</div></div>
+<div class="ttc" id="big__512__60_8h_html_aee4c6d0609ea26b439a440b2746336b4"><div class="ttname"><a href="big__512__60_8h.html#aee4c6d0609ea26b439a440b2746336b4">BIG_512_60_randomnum</a></div><div class="ttdeci">void BIG_512_60_randomnum(BIG_512_60 x, BIG_512_60 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_512_60.c:1274</div></div>
+<div class="ttc" id="big__512__60_8h_html_a886b65a560c8c442d7fa3a259eb57b5e"><div class="ttname"><a href="big__512__60_8h.html#a886b65a560c8c442d7fa3a259eb57b5e">BIG_512_60_cswap</a></div><div class="ttdeci">void BIG_512_60_cswap(BIG_512_60 x, BIG_512_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_512_60.c:92</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__528__28_8h.html b/website/static/cdocs/big__528__28_8h.html
deleted file mode 100644
index 3e9c639..0000000
--- a/website/static/cdocs/big__528__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_528_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_528_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__528__28_8h_source.html">config_big_528_28.h</a>&quot;</code><br />
-</div>
-<p><a href="big__528__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:a0525b6e9fdd66250ad0a082d4b43452c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a0525b6e9fdd66250ad0a082d4b43452c">BIGBITS_528_28</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>)</td></tr>
-<tr class="separator:a0525b6e9fdd66250ad0a082d4b43452c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a692cc7adcebe504dfc5bb67a12d414bf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>-1)/<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>))</td></tr>
-<tr class="separator:a692cc7adcebe504dfc5bb67a12d414bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1b5dfb4b5ee31d7fb7838e9abdf795c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_28</a>&#160;&#160;&#160;2*<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a></td></tr>
-<tr class="separator:a1b5dfb4b5ee31d7fb7838e9abdf795c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82082efa3a70836e15d9d625873fc626"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">BMASK_528_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>)-1)</td></tr>
-<tr class="separator:a82082efa3a70836e15d9d625873fc626"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2b0456920d6877c24ced651bc6ff5617"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a2b0456920d6877c24ced651bc6ff5617">NEXCESS_528_28</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>-1))</td></tr>
-<tr class="separator:a2b0456920d6877c24ced651bc6ff5617"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4670085502e0eb472b9acd8414b89d4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a>&#160;&#160;&#160;(<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>/2)</td></tr>
-<tr class="separator:a4670085502e0eb472b9acd8414b89d4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aedfdf9a531fd7ad921bbf3cd33a288d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">HMASK_528_28</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a>)-1)</td></tr>
-<tr class="separator:aedfdf9a531fd7ad921bbf3cd33a288d6"><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:a619606adb161746fcbb4d51d55a5cd1e"><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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a>[<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>]</td></tr>
-<tr class="separator:a619606adb161746fcbb4d51d55a5cd1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac1ffd0faa58216991ca472333e1e209e"><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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a>[<a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_28</a>]</td></tr>
-<tr class="separator:ac1ffd0faa58216991ca472333e1e209e"><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:a759b359beb86544bb4399e56b9370125"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a759b359beb86544bb4399e56b9370125">BIG_528_28_iszilch</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a759b359beb86544bb4399e56b9370125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#a759b359beb86544bb4399e56b9370125">More...</a><br /></td></tr>
-<tr class="separator:a759b359beb86544bb4399e56b9370125"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ea2000ea11c779bcc15c7c9b45a23e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6">BIG_528_28_isunity</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a1ea2000ea11c779bcc15c7c9b45a23e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#a1ea2000ea11c779bcc15c7c9b45a23e6">More...</a><br /></td></tr>
-<tr class="separator:a1ea2000ea11c779bcc15c7c9b45a23e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3fcba50db34f3327aa7605ea68d5a14f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f">BIG_528_28_diszilch</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a3fcba50db34f3327aa7605ea68d5a14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#a3fcba50db34f3327aa7605ea68d5a14f">More...</a><br /></td></tr>
-<tr class="separator:a3fcba50db34f3327aa7605ea68d5a14f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7202be5bc08fa6abfae7d1da9bfbcf2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f">BIG_528_28_output</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a7202be5bc08fa6abfae7d1da9bfbcf2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#a7202be5bc08fa6abfae7d1da9bfbcf2f">More...</a><br /></td></tr>
-<tr class="separator:a7202be5bc08fa6abfae7d1da9bfbcf2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7bf84a2fdffc5317a7c1008f209debe8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8">BIG_528_28_rawoutput</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a7bf84a2fdffc5317a7c1008f209debe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a7bf84a2fdffc5317a7c1008f209debe8">More...</a><br /></td></tr>
-<tr class="separator:a7bf84a2fdffc5317a7c1008f209debe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bfcaa1d61f41b532fc113f41393bb67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67">BIG_528_28_cswap</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int s)</td></tr>
-<tr class="memdesc:a9bfcaa1d61f41b532fc113f41393bb67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a9bfcaa1d61f41b532fc113f41393bb67">More...</a><br /></td></tr>
-<tr class="separator:a9bfcaa1d61f41b532fc113f41393bb67"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5eba982c2daae8928c7d338454e7aa11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11">BIG_528_28_cmove</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int s)</td></tr>
-<tr class="memdesc:a5eba982c2daae8928c7d338454e7aa11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a5eba982c2daae8928c7d338454e7aa11">More...</a><br /></td></tr>
-<tr class="separator:a5eba982c2daae8928c7d338454e7aa11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae9f20276f7d3c2879801ee2c9d4b48e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2">BIG_528_28_dcmove</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int s)</td></tr>
-<tr class="memdesc:ae9f20276f7d3c2879801ee2c9d4b48e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#ae9f20276f7d3c2879801ee2c9d4b48e2">More...</a><br /></td></tr>
-<tr class="separator:ae9f20276f7d3c2879801ee2c9d4b48e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4765f04b8f89ff50d79fbf0240863445"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445">BIG_528_28_toBytes</a> (char *a, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a4765f04b8f89ff50d79fbf0240863445"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a4765f04b8f89ff50d79fbf0240863445">More...</a><br /></td></tr>
-<tr class="separator:a4765f04b8f89ff50d79fbf0240863445"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ac81676878f639d380137b47dc640c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a0ac81676878f639d380137b47dc640c1">BIG_528_28_fromBytes</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, char *a)</td></tr>
-<tr class="memdesc:a0ac81676878f639d380137b47dc640c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a0ac81676878f639d380137b47dc640c1">More...</a><br /></td></tr>
-<tr class="separator:a0ac81676878f639d380137b47dc640c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a001cdba454b1c6bd4051f8edfa72971f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f">BIG_528_28_fromBytesLen</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a001cdba454b1c6bd4051f8edfa72971f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#a001cdba454b1c6bd4051f8edfa72971f">More...</a><br /></td></tr>
-<tr class="separator:a001cdba454b1c6bd4051f8edfa72971f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac63c75100d3183b113f17c3a71bc1558"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558">BIG_528_28_dfromBytesLen</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:ac63c75100d3183b113f17c3a71bc1558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#ac63c75100d3183b113f17c3a71bc1558">More...</a><br /></td></tr>
-<tr class="separator:ac63c75100d3183b113f17c3a71bc1558"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2004f4fe879078f894fa47bf4f8d9018"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018">BIG_528_28_doutput</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a2004f4fe879078f894fa47bf4f8d9018"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a2004f4fe879078f894fa47bf4f8d9018">More...</a><br /></td></tr>
-<tr class="separator:a2004f4fe879078f894fa47bf4f8d9018"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a92d211f719b808f8bff3e5416485829a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a92d211f719b808f8bff3e5416485829a">BIG_528_28_drawoutput</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a92d211f719b808f8bff3e5416485829a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a92d211f719b808f8bff3e5416485829a">More...</a><br /></td></tr>
-<tr class="separator:a92d211f719b808f8bff3e5416485829a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac49a401e55aef325b85c04ff5a0f03e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3">BIG_528_28_rcopy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, const <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
-<tr class="memdesc:ac49a401e55aef325b85c04ff5a0f03e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#ac49a401e55aef325b85c04ff5a0f03e3">More...</a><br /></td></tr>
-<tr class="separator:ac49a401e55aef325b85c04ff5a0f03e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69773e3420a22bbe38ec7a7d5e30df85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85">BIG_528_28_copy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
-<tr class="memdesc:a69773e3420a22bbe38ec7a7d5e30df85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#a69773e3420a22bbe38ec7a7d5e30df85">More...</a><br /></td></tr>
-<tr class="separator:a69773e3420a22bbe38ec7a7d5e30df85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afccc8f44d19aeaead975ffeff494ca72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72">BIG_528_28_dcopy</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
-<tr class="memdesc:afccc8f44d19aeaead975ffeff494ca72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#afccc8f44d19aeaead975ffeff494ca72">More...</a><br /></td></tr>
-<tr class="separator:afccc8f44d19aeaead975ffeff494ca72"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3605d741288e107006f8a870c19b58d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a3605d741288e107006f8a870c19b58d7">BIG_528_28_dsucopy</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
-<tr class="memdesc:a3605d741288e107006f8a870c19b58d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#a3605d741288e107006f8a870c19b58d7">More...</a><br /></td></tr>
-<tr class="separator:a3605d741288e107006f8a870c19b58d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab035b57893889988fa1e6a6a741de5db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db">BIG_528_28_dscopy</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
-<tr class="memdesc:ab035b57893889988fa1e6a6a741de5db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#ab035b57893889988fa1e6a6a741de5db">More...</a><br /></td></tr>
-<tr class="separator:ab035b57893889988fa1e6a6a741de5db"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90335a8a99381ced32eb28ecc27cd4a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0">BIG_528_28_sdcopy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
-<tr class="memdesc:a90335a8a99381ced32eb28ecc27cd4a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a90335a8a99381ced32eb28ecc27cd4a0">More...</a><br /></td></tr>
-<tr class="separator:a90335a8a99381ced32eb28ecc27cd4a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aabb757eb8a57b274a480d6fad7fb5ef4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4">BIG_528_28_sducopy</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
-<tr class="memdesc:aabb757eb8a57b274a480d6fad7fb5ef4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#aabb757eb8a57b274a480d6fad7fb5ef4">More...</a><br /></td></tr>
-<tr class="separator:aabb757eb8a57b274a480d6fad7fb5ef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7b346504e2eb7132227acfaa4fc96233"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233">BIG_528_28_zero</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a7b346504e2eb7132227acfaa4fc96233"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a7b346504e2eb7132227acfaa4fc96233">More...</a><br /></td></tr>
-<tr class="separator:a7b346504e2eb7132227acfaa4fc96233"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa9178d7e1d15437f3142d84943c80b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4">BIG_528_28_dzero</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
-<tr class="memdesc:aaa9178d7e1d15437f3142d84943c80b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#aaa9178d7e1d15437f3142d84943c80b4">More...</a><br /></td></tr>
-<tr class="separator:aaa9178d7e1d15437f3142d84943c80b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada2780244b0ed167c9fcb365014ac992"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992">BIG_528_28_one</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:ada2780244b0ed167c9fcb365014ac992"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#ada2780244b0ed167c9fcb365014ac992">More...</a><br /></td></tr>
-<tr class="separator:ada2780244b0ed167c9fcb365014ac992"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a93e28db178c675ff24319a01869c67cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a93e28db178c675ff24319a01869c67cf">BIG_528_28_invmod2m</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a93e28db178c675ff24319a01869c67cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a93e28db178c675ff24319a01869c67cf">More...</a><br /></td></tr>
-<tr class="separator:a93e28db178c675ff24319a01869c67cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7afd96bac59d42371b76b95890835631"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7afd96bac59d42371b76b95890835631">BIG_528_28_add</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
-<tr class="memdesc:a7afd96bac59d42371b76b95890835631"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#a7afd96bac59d42371b76b95890835631">More...</a><br /></td></tr>
-<tr class="separator:a7afd96bac59d42371b76b95890835631"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a73d2125663f4285274f82da9cd465f31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a73d2125663f4285274f82da9cd465f31">BIG_528_28_or</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
-<tr class="memdesc:a73d2125663f4285274f82da9cd465f31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#a73d2125663f4285274f82da9cd465f31">More...</a><br /></td></tr>
-<tr class="separator:a73d2125663f4285274f82da9cd465f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aecc2507f27540e765099a45641bd1001"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aecc2507f27540e765099a45641bd1001">BIG_528_28_inc</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int i)</td></tr>
-<tr class="memdesc:aecc2507f27540e765099a45641bd1001"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#aecc2507f27540e765099a45641bd1001">More...</a><br /></td></tr>
-<tr class="separator:aecc2507f27540e765099a45641bd1001"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac0bd12529378dba03e33365c29e7696e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e">BIG_528_28_sub</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
-<tr class="memdesc:ac0bd12529378dba03e33365c29e7696e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#ac0bd12529378dba03e33365c29e7696e">More...</a><br /></td></tr>
-<tr class="separator:ac0bd12529378dba03e33365c29e7696e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae2796b69476d18c8b72874d7062e1409"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409">BIG_528_28_dec</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int i)</td></tr>
-<tr class="memdesc:ae2796b69476d18c8b72874d7062e1409"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#ae2796b69476d18c8b72874d7062e1409">More...</a><br /></td></tr>
-<tr class="separator:ae2796b69476d18c8b72874d7062e1409"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a204806f27e1337ef58f7af2758860fd5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5">BIG_528_28_dadd</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> z)</td></tr>
-<tr class="memdesc:a204806f27e1337ef58f7af2758860fd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#a204806f27e1337ef58f7af2758860fd5">More...</a><br /></td></tr>
-<tr class="separator:a204806f27e1337ef58f7af2758860fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1bd3af5dbdd4141d281fc0f49c22bd67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67">BIG_528_28_dsub</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> z)</td></tr>
-<tr class="memdesc:a1bd3af5dbdd4141d281fc0f49c22bd67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a1bd3af5dbdd4141d281fc0f49c22bd67">More...</a><br /></td></tr>
-<tr class="separator:a1bd3af5dbdd4141d281fc0f49c22bd67"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6ddc379684077bfc78ac3c655399aed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed">BIG_528_28_imul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int i)</td></tr>
-<tr class="memdesc:ad6ddc379684077bfc78ac3c655399aed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#ad6ddc379684077bfc78ac3c655399aed">More...</a><br /></td></tr>
-<tr class="separator:ad6ddc379684077bfc78ac3c655399aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad313e8a3ed0aaf2758e6c17e98a78673"><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__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673">BIG_528_28_pmul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int i)</td></tr>
-<tr class="memdesc:ad313e8a3ed0aaf2758e6c17e98a78673"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#ad313e8a3ed0aaf2758e6c17e98a78673">More...</a><br /></td></tr>
-<tr class="separator:ad313e8a3ed0aaf2758e6c17e98a78673"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac5f14d540b28f48d3b6f5a4f830dabcc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc">BIG_528_28_div3</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:ac5f14d540b28f48d3b6f5a4f830dabcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#ac5f14d540b28f48d3b6f5a4f830dabcc">More...</a><br /></td></tr>
-<tr class="separator:ac5f14d540b28f48d3b6f5a4f830dabcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e70619bafa1344244aa1a6a2306f53e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e">BIG_528_28_pxmul</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, int i)</td></tr>
-<tr class="memdesc:a0e70619bafa1344244aa1a6a2306f53e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a0e70619bafa1344244aa1a6a2306f53e">More...</a><br /></td></tr>
-<tr class="separator:a0e70619bafa1344244aa1a6a2306f53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae8745b1338c0e96c6f616a06bf7dffee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee">BIG_528_28_mul</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
-<tr class="memdesc:ae8745b1338c0e96c6f616a06bf7dffee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#ae8745b1338c0e96c6f616a06bf7dffee">More...</a><br /></td></tr>
-<tr class="separator:ae8745b1338c0e96c6f616a06bf7dffee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3363c0a6b6ec862cb5774c646cfa3c03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03">BIG_528_28_smul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z)</td></tr>
-<tr class="memdesc:a3363c0a6b6ec862cb5774c646cfa3c03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#a3363c0a6b6ec862cb5774c646cfa3c03">More...</a><br /></td></tr>
-<tr class="separator:a3363c0a6b6ec862cb5774c646cfa3c03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac56118aa8725b3b1fc03af85c3010b38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38">BIG_528_28_sqr</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
-<tr class="memdesc:ac56118aa8725b3b1fc03af85c3010b38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#ac56118aa8725b3b1fc03af85c3010b38">More...</a><br /></td></tr>
-<tr class="separator:ac56118aa8725b3b1fc03af85c3010b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac5e33943c960df2cbfc50102c564aa6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b">BIG_528_28_monty</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> a, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> d)</td></tr>
-<tr class="memdesc:ac5e33943c960df2cbfc50102c564aa6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#ac5e33943c960df2cbfc50102c564aa6b">More...</a><br /></td></tr>
-<tr class="separator:ac5e33943c960df2cbfc50102c564aa6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af84eac0e282b050df29b8c2831aafd61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61">BIG_528_28_shl</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
-<tr class="memdesc:af84eac0e282b050df29b8c2831aafd61"><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="#af84eac0e282b050df29b8c2831aafd61">More...</a><br /></td></tr>
-<tr class="separator:af84eac0e282b050df29b8c2831aafd61"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade0dcec6578773e4914666c864011bf4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ade0dcec6578773e4914666c864011bf4">BIG_528_28_fshl</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
-<tr class="memdesc:ade0dcec6578773e4914666c864011bf4"><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="#ade0dcec6578773e4914666c864011bf4">More...</a><br /></td></tr>
-<tr class="separator:ade0dcec6578773e4914666c864011bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a913fe1d47dc8be71316c9ed0593548e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2">BIG_528_28_dshl</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, int s)</td></tr>
-<tr class="memdesc:a913fe1d47dc8be71316c9ed0593548e2"><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="#a913fe1d47dc8be71316c9ed0593548e2">More...</a><br /></td></tr>
-<tr class="separator:a913fe1d47dc8be71316c9ed0593548e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a23f0306cbf7328422298aabf1bdae91c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c">BIG_528_28_shr</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
-<tr class="memdesc:a23f0306cbf7328422298aabf1bdae91c"><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="#a23f0306cbf7328422298aabf1bdae91c">More...</a><br /></td></tr>
-<tr class="separator:a23f0306cbf7328422298aabf1bdae91c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8ba7ff541a178ac776d8167b07ba1bb4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4">BIG_528_28_ssn</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> r, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> a, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> m)</td></tr>
-<tr class="memdesc:a8ba7ff541a178ac776d8167b07ba1bb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a8ba7ff541a178ac776d8167b07ba1bb4">More...</a><br /></td></tr>
-<tr class="separator:a8ba7ff541a178ac776d8167b07ba1bb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab10e19db598b10c0ec146a82c6a50a82"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82">BIG_528_28_fshr</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int s)</td></tr>
-<tr class="memdesc:ab10e19db598b10c0ec146a82c6a50a82"><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="#ab10e19db598b10c0ec146a82c6a50a82">More...</a><br /></td></tr>
-<tr class="separator:ab10e19db598b10c0ec146a82c6a50a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abbc3509fafcc3871fb8a47e770406597"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597">BIG_528_28_dshr</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, int s)</td></tr>
-<tr class="memdesc:abbc3509fafcc3871fb8a47e770406597"><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="#abbc3509fafcc3871fb8a47e770406597">More...</a><br /></td></tr>
-<tr class="separator:abbc3509fafcc3871fb8a47e770406597"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acfe96c94a11817c94683b605ec552af1"><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__528__28_8h.html#acfe96c94a11817c94683b605ec552af1">BIG_528_28_split</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> z, int s)</td></tr>
-<tr class="memdesc:acfe96c94a11817c94683b605ec552af1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#acfe96c94a11817c94683b605ec552af1">More...</a><br /></td></tr>
-<tr class="separator:acfe96c94a11817c94683b605ec552af1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af04aa3708619571cfde9bb15bad00ca4"><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__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4">BIG_528_28_norm</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:af04aa3708619571cfde9bb15bad00ca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#af04aa3708619571cfde9bb15bad00ca4">More...</a><br /></td></tr>
-<tr class="separator:af04aa3708619571cfde9bb15bad00ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abfb0076a794c347af22ad9f5ca10b97a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a">BIG_528_28_dnorm</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
-<tr class="memdesc:abfb0076a794c347af22ad9f5ca10b97a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#abfb0076a794c347af22ad9f5ca10b97a">More...</a><br /></td></tr>
-<tr class="separator:abfb0076a794c347af22ad9f5ca10b97a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8978e8871b5d4dfae6ea69f514d64be5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5">BIG_528_28_comp</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
-<tr class="memdesc:a8978e8871b5d4dfae6ea69f514d64be5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a8978e8871b5d4dfae6ea69f514d64be5">More...</a><br /></td></tr>
-<tr class="separator:a8978e8871b5d4dfae6ea69f514d64be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a118caa14783ac4a9f002cbf3a66a8e27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27">BIG_528_28_dcomp</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y)</td></tr>
-<tr class="memdesc:a118caa14783ac4a9f002cbf3a66a8e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#a118caa14783ac4a9f002cbf3a66a8e27">More...</a><br /></td></tr>
-<tr class="separator:a118caa14783ac4a9f002cbf3a66a8e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abaf0336e531b0e380b2f27ef702fc62f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f">BIG_528_28_nbits</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:abaf0336e531b0e380b2f27ef702fc62f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#abaf0336e531b0e380b2f27ef702fc62f">More...</a><br /></td></tr>
-<tr class="separator:abaf0336e531b0e380b2f27ef702fc62f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7a881c780a7cc7f641849621561fbfce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce">BIG_528_28_dnbits</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a7a881c780a7cc7f641849621561fbfce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#a7a881c780a7cc7f641849621561fbfce">More...</a><br /></td></tr>
-<tr class="separator:a7a881c780a7cc7f641849621561fbfce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa4e1081eb2bc5dc1b36adbb412abb4e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1">BIG_528_28_mod</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:aa4e1081eb2bc5dc1b36adbb412abb4e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#aa4e1081eb2bc5dc1b36adbb412abb4e1">More...</a><br /></td></tr>
-<tr class="separator:aa4e1081eb2bc5dc1b36adbb412abb4e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2562458d3f8a8008128ac67afb7875d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d">BIG_528_28_sdiv</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:aa2562458d3f8a8008128ac67afb7875d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#aa2562458d3f8a8008128ac67afb7875d">More...</a><br /></td></tr>
-<tr class="separator:aa2562458d3f8a8008128ac67afb7875d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeeaf15dd7ce5cf6ae1abfa078b4b4167"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167">BIG_528_28_dmod</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:aeeaf15dd7ce5cf6ae1abfa078b4b4167"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#aeeaf15dd7ce5cf6ae1abfa078b4b4167">More...</a><br /></td></tr>
-<tr class="separator:aeeaf15dd7ce5cf6ae1abfa078b4b4167"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4c1f0866606ad2a5089f986113888a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5">BIG_528_28_ddiv</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:ae4c1f0866606ad2a5089f986113888a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#ae4c1f0866606ad2a5089f986113888a5">More...</a><br /></td></tr>
-<tr class="separator:ae4c1f0866606ad2a5089f986113888a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a783851f26377ab6e8e056195c9969fb6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6">BIG_528_28_parity</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x)</td></tr>
-<tr class="memdesc:a783851f26377ab6e8e056195c9969fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a783851f26377ab6e8e056195c9969fb6">More...</a><br /></td></tr>
-<tr class="separator:a783851f26377ab6e8e056195c9969fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a26f4a682a6a89ef6dd9c64a3bba8f43c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c">BIG_528_28_bit</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int i)</td></tr>
-<tr class="memdesc:a26f4a682a6a89ef6dd9c64a3bba8f43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a26f4a682a6a89ef6dd9c64a3bba8f43c">More...</a><br /></td></tr>
-<tr class="separator:a26f4a682a6a89ef6dd9c64a3bba8f43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6eb9952d9e970fb79a55b1ae2aa5a367"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367">BIG_528_28_lastbits</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int n)</td></tr>
-<tr class="memdesc:a6eb9952d9e970fb79a55b1ae2aa5a367"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#a6eb9952d9e970fb79a55b1ae2aa5a367">More...</a><br /></td></tr>
-<tr class="separator:a6eb9952d9e970fb79a55b1ae2aa5a367"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a92e1ed0b13a7788df7d941fc79a7a3c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8">BIG_528_28_random</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a92e1ed0b13a7788df7d941fc79a7a3c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#a92e1ed0b13a7788df7d941fc79a7a3c8">More...</a><br /></td></tr>
-<tr class="separator:a92e1ed0b13a7788df7d941fc79a7a3c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afaab6a6248a527f05c379c77e4c4d783"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783">BIG_528_28_randomnum</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:afaab6a6248a527f05c379c77e4c4d783"><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="#afaab6a6248a527f05c379c77e4c4d783">More...</a><br /></td></tr>
-<tr class="separator:afaab6a6248a527f05c379c77e4c4d783"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ba3e7bef81a07c9d75dd186263d894d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d">BIG_528_28_modmul</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:a1ba3e7bef81a07c9d75dd186263d894d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a1ba3e7bef81a07c9d75dd186263d894d">More...</a><br /></td></tr>
-<tr class="separator:a1ba3e7bef81a07c9d75dd186263d894d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a52c6f2272e4b5ff16eb39dc5e5004a1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a">BIG_528_28_moddiv</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:a52c6f2272e4b5ff16eb39dc5e5004a1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#a52c6f2272e4b5ff16eb39dc5e5004a1a">More...</a><br /></td></tr>
-<tr class="separator:a52c6f2272e4b5ff16eb39dc5e5004a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5bf6cd12e6aec3f0fbc55731abada663"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663">BIG_528_28_modsqr</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:a5bf6cd12e6aec3f0fbc55731abada663"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a5bf6cd12e6aec3f0fbc55731abada663">More...</a><br /></td></tr>
-<tr class="separator:a5bf6cd12e6aec3f0fbc55731abada663"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a869ba3a39774e991efc6c85072212231"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a869ba3a39774e991efc6c85072212231">BIG_528_28_modneg</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:a869ba3a39774e991efc6c85072212231"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a869ba3a39774e991efc6c85072212231">More...</a><br /></td></tr>
-<tr class="separator:a869ba3a39774e991efc6c85072212231"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3b892ca6e6668f802c693bbfb4b7cb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1">BIG_528_28_jacobi</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y)</td></tr>
-<tr class="memdesc:af3b892ca6e6668f802c693bbfb4b7cb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#af3b892ca6e6668f802c693bbfb4b7cb1">More...</a><br /></td></tr>
-<tr class="separator:af3b892ca6e6668f802c693bbfb4b7cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae1f0333c8e24c708067d867573e39d83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83">BIG_528_28_invmodp</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y, <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> n)</td></tr>
-<tr class="memdesc:ae1f0333c8e24c708067d867573e39d83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#ae1f0333c8e24c708067d867573e39d83">More...</a><br /></td></tr>
-<tr class="separator:ae1f0333c8e24c708067d867573e39d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7d53293cc2730c96e9cd46d38bb7866c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c">BIG_528_28_mod2m</a> (<a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x, int m)</td></tr>
-<tr class="memdesc:a7d53293cc2730c96e9cd46d38bb7866c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#a7d53293cc2730c96e9cd46d38bb7866c">More...</a><br /></td></tr>
-<tr class="separator:a7d53293cc2730c96e9cd46d38bb7866c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af647547e90a21cca1016b1250b841251"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html#af647547e90a21cca1016b1250b841251">BIG_528_28_dmod2m</a> (<a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x, int m)</td></tr>
-<tr class="memdesc:af647547e90a21cca1016b1250b841251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#af647547e90a21cca1016b1250b841251">More...</a><br /></td></tr>
-<tr class="separator:af647547e90a21cca1016b1250b841251"><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="a0525b6e9fdd66250ad0a082d4b43452c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0525b6e9fdd66250ad0a082d4b43452c">&#9670;&nbsp;</a></span>BIGBITS_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_528_28&#160;&#160;&#160;(8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="a82082efa3a70836e15d9d625873fc626"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a82082efa3a70836e15d9d625873fc626">&#9670;&nbsp;</a></span>BMASK_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_528_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="a1b5dfb4b5ee31d7fb7838e9abdf795c2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1b5dfb4b5ee31d7fb7838e9abdf795c2">&#9670;&nbsp;</a></span>DNLEN_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_528_28&#160;&#160;&#160;2*<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="a4670085502e0eb472b9acd8414b89d4f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4670085502e0eb472b9acd8414b89d4f">&#9670;&nbsp;</a></span>HBITS_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_528_28&#160;&#160;&#160;(<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_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="aedfdf9a531fd7ad921bbf3cd33a288d6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aedfdf9a531fd7ad921bbf3cd33a288d6">&#9670;&nbsp;</a></span>HMASK_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_528_28&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="a2b0456920d6877c24ced651bc6ff5617"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2b0456920d6877c24ced651bc6ff5617">&#9670;&nbsp;</a></span>NEXCESS_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_528_28&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_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="a692cc7adcebe504dfc5bb67a12d414bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a692cc7adcebe504dfc5bb67a12d414bf">&#9670;&nbsp;</a></span>NLEN_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_528_28&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>-1)/<a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="a619606adb161746fcbb4d51d55a5cd1e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a619606adb161746fcbb4d51d55a5cd1e">&#9670;&nbsp;</a></span>BIG_528_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_528_28[<a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="ac1ffd0faa58216991ca472333e1e209e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac1ffd0faa58216991ca472333e1e209e">&#9670;&nbsp;</a></span>DBIG_528_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_528_28[<a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_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="a7afd96bac59d42371b76b95890835631"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7afd96bac59d42371b76b95890835631">&#9670;&nbsp;</a></span>BIG_528_28_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a26f4a682a6a89ef6dd9c64a3bba8f43c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a26f4a682a6a89ef6dd9c64a3bba8f43c">&#9670;&nbsp;</a></span>BIG_528_28_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a5eba982c2daae8928c7d338454e7aa11"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5eba982c2daae8928c7d338454e7aa11">&#9670;&nbsp;</a></span>BIG_528_28_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a8978e8871b5d4dfae6ea69f514d64be5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8978e8871b5d4dfae6ea69f514d64be5">&#9670;&nbsp;</a></span>BIG_528_28_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a69773e3420a22bbe38ec7a7d5e30df85"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a69773e3420a22bbe38ec7a7d5e30df85">&#9670;&nbsp;</a></span>BIG_528_28_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a9bfcaa1d61f41b532fc113f41393bb67"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9bfcaa1d61f41b532fc113f41393bb67">&#9670;&nbsp;</a></span>BIG_528_28_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a204806f27e1337ef58f7af2758860fd5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a204806f27e1337ef58f7af2758860fd5">&#9670;&nbsp;</a></span>BIG_528_28_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="ae9f20276f7d3c2879801ee2c9d4b48e2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae9f20276f7d3c2879801ee2c9d4b48e2">&#9670;&nbsp;</a></span>BIG_528_28_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a118caa14783ac4a9f002cbf3a66a8e27"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a118caa14783ac4a9f002cbf3a66a8e27">&#9670;&nbsp;</a></span>BIG_528_28_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="afccc8f44d19aeaead975ffeff494ca72"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afccc8f44d19aeaead975ffeff494ca72">&#9670;&nbsp;</a></span>BIG_528_28_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="ae4c1f0866606ad2a5089f986113888a5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae4c1f0866606ad2a5089f986113888a5">&#9670;&nbsp;</a></span>BIG_528_28_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ae2796b69476d18c8b72874d7062e1409"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae2796b69476d18c8b72874d7062e1409">&#9670;&nbsp;</a></span>BIG_528_28_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ac63c75100d3183b113f17c3a71bc1558"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac63c75100d3183b113f17c3a71bc1558">&#9670;&nbsp;</a></span>BIG_528_28_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="a3fcba50db34f3327aa7605ea68d5a14f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3fcba50db34f3327aa7605ea68d5a14f">&#9670;&nbsp;</a></span>BIG_528_28_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="ac5f14d540b28f48d3b6f5a4f830dabcc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac5f14d540b28f48d3b6f5a4f830dabcc">&#9670;&nbsp;</a></span>BIG_528_28_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="aeeaf15dd7ce5cf6ae1abfa078b4b4167"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeeaf15dd7ce5cf6ae1abfa078b4b4167">&#9670;&nbsp;</a></span>BIG_528_28_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="af647547e90a21cca1016b1250b841251"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af647547e90a21cca1016b1250b841251">&#9670;&nbsp;</a></span>BIG_528_28_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="a7a881c780a7cc7f641849621561fbfce"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7a881c780a7cc7f641849621561fbfce">&#9670;&nbsp;</a></span>BIG_528_28_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="abfb0076a794c347af22ad9f5ca10b97a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abfb0076a794c347af22ad9f5ca10b97a">&#9670;&nbsp;</a></span>BIG_528_28_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="a2004f4fe879078f894fa47bf4f8d9018"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2004f4fe879078f894fa47bf4f8d9018">&#9670;&nbsp;</a></span>BIG_528_28_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="a92d211f719b808f8bff3e5416485829a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a92d211f719b808f8bff3e5416485829a">&#9670;&nbsp;</a></span>BIG_528_28_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="ab035b57893889988fa1e6a6a741de5db"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab035b57893889988fa1e6a6a741de5db">&#9670;&nbsp;</a></span>BIG_528_28_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a913fe1d47dc8be71316c9ed0593548e2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a913fe1d47dc8be71316c9ed0593548e2">&#9670;&nbsp;</a></span>BIG_528_28_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="abbc3509fafcc3871fb8a47e770406597"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abbc3509fafcc3871fb8a47e770406597">&#9670;&nbsp;</a></span>BIG_528_28_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="a1bd3af5dbdd4141d281fc0f49c22bd67"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1bd3af5dbdd4141d281fc0f49c22bd67">&#9670;&nbsp;</a></span>BIG_528_28_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="a3605d741288e107006f8a870c19b58d7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3605d741288e107006f8a870c19b58d7">&#9670;&nbsp;</a></span>BIG_528_28_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="aaa9178d7e1d15437f3142d84943c80b4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaa9178d7e1d15437f3142d84943c80b4">&#9670;&nbsp;</a></span>BIG_528_28_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="a0ac81676878f639d380137b47dc640c1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0ac81676878f639d380137b47dc640c1">&#9670;&nbsp;</a></span>BIG_528_28_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a001cdba454b1c6bd4051f8edfa72971f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a001cdba454b1c6bd4051f8edfa72971f">&#9670;&nbsp;</a></span>BIG_528_28_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ade0dcec6578773e4914666c864011bf4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ade0dcec6578773e4914666c864011bf4">&#9670;&nbsp;</a></span>BIG_528_28_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ab10e19db598b10c0ec146a82c6a50a82"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab10e19db598b10c0ec146a82c6a50a82">&#9670;&nbsp;</a></span>BIG_528_28_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ad6ddc379684077bfc78ac3c655399aed"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad6ddc379684077bfc78ac3c655399aed">&#9670;&nbsp;</a></span>BIG_528_28_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="aecc2507f27540e765099a45641bd1001"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aecc2507f27540e765099a45641bd1001">&#9670;&nbsp;</a></span>BIG_528_28_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a93e28db178c675ff24319a01869c67cf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a93e28db178c675ff24319a01869c67cf">&#9670;&nbsp;</a></span>BIG_528_28_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ae1f0333c8e24c708067d867573e39d83"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae1f0333c8e24c708067d867573e39d83">&#9670;&nbsp;</a></span>BIG_528_28_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a1ea2000ea11c779bcc15c7c9b45a23e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1ea2000ea11c779bcc15c7c9b45a23e6">&#9670;&nbsp;</a></span>BIG_528_28_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a759b359beb86544bb4399e56b9370125"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a759b359beb86544bb4399e56b9370125">&#9670;&nbsp;</a></span>BIG_528_28_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="af3b892ca6e6668f802c693bbfb4b7cb1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af3b892ca6e6668f802c693bbfb4b7cb1">&#9670;&nbsp;</a></span>BIG_528_28_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a6eb9952d9e970fb79a55b1ae2aa5a367"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6eb9952d9e970fb79a55b1ae2aa5a367">&#9670;&nbsp;</a></span>BIG_528_28_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="aa4e1081eb2bc5dc1b36adbb412abb4e1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa4e1081eb2bc5dc1b36adbb412abb4e1">&#9670;&nbsp;</a></span>BIG_528_28_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a7d53293cc2730c96e9cd46d38bb7866c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7d53293cc2730c96e9cd46d38bb7866c">&#9670;&nbsp;</a></span>BIG_528_28_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a52c6f2272e4b5ff16eb39dc5e5004a1a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52c6f2272e4b5ff16eb39dc5e5004a1a">&#9670;&nbsp;</a></span>BIG_528_28_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a1ba3e7bef81a07c9d75dd186263d894d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1ba3e7bef81a07c9d75dd186263d894d">&#9670;&nbsp;</a></span>BIG_528_28_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a869ba3a39774e991efc6c85072212231"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a869ba3a39774e991efc6c85072212231">&#9670;&nbsp;</a></span>BIG_528_28_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a5bf6cd12e6aec3f0fbc55731abada663"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5bf6cd12e6aec3f0fbc55731abada663">&#9670;&nbsp;</a></span>BIG_528_28_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ac5e33943c960df2cbfc50102c564aa6b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac5e33943c960df2cbfc50102c564aa6b">&#9670;&nbsp;</a></span>BIG_528_28_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="ae8745b1338c0e96c6f616a06bf7dffee"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae8745b1338c0e96c6f616a06bf7dffee">&#9670;&nbsp;</a></span>BIG_528_28_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="abaf0336e531b0e380b2f27ef702fc62f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abaf0336e531b0e380b2f27ef702fc62f">&#9670;&nbsp;</a></span>BIG_528_28_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="af04aa3708619571cfde9bb15bad00ca4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af04aa3708619571cfde9bb15bad00ca4">&#9670;&nbsp;</a></span>BIG_528_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_528_28_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ada2780244b0ed167c9fcb365014ac992"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ada2780244b0ed167c9fcb365014ac992">&#9670;&nbsp;</a></span>BIG_528_28_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a73d2125663f4285274f82da9cd465f31"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a73d2125663f4285274f82da9cd465f31">&#9670;&nbsp;</a></span>BIG_528_28_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a7202be5bc08fa6abfae7d1da9bfbcf2f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7202be5bc08fa6abfae7d1da9bfbcf2f">&#9670;&nbsp;</a></span>BIG_528_28_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a783851f26377ab6e8e056195c9969fb6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a783851f26377ab6e8e056195c9969fb6">&#9670;&nbsp;</a></span>BIG_528_28_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ad313e8a3ed0aaf2758e6c17e98a78673"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad313e8a3ed0aaf2758e6c17e98a78673">&#9670;&nbsp;</a></span>BIG_528_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_528_28_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a0e70619bafa1344244aa1a6a2306f53e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0e70619bafa1344244aa1a6a2306f53e">&#9670;&nbsp;</a></span>BIG_528_28_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a92e1ed0b13a7788df7d941fc79a7a3c8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a92e1ed0b13a7788df7d941fc79a7a3c8">&#9670;&nbsp;</a></span>BIG_528_28_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="afaab6a6248a527f05c379c77e4c4d783"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afaab6a6248a527f05c379c77e4c4d783">&#9670;&nbsp;</a></span>BIG_528_28_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a7bf84a2fdffc5317a7c1008f209debe8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7bf84a2fdffc5317a7c1008f209debe8">&#9670;&nbsp;</a></span>BIG_528_28_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ac49a401e55aef325b85c04ff5a0f03e3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac49a401e55aef325b85c04ff5a0f03e3">&#9670;&nbsp;</a></span>BIG_528_28_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a90335a8a99381ced32eb28ecc27cd4a0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a90335a8a99381ced32eb28ecc27cd4a0">&#9670;&nbsp;</a></span>BIG_528_28_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="aa2562458d3f8a8008128ac67afb7875d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa2562458d3f8a8008128ac67afb7875d">&#9670;&nbsp;</a></span>BIG_528_28_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="aabb757eb8a57b274a480d6fad7fb5ef4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aabb757eb8a57b274a480d6fad7fb5ef4">&#9670;&nbsp;</a></span>BIG_528_28_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="af84eac0e282b050df29b8c2831aafd61"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af84eac0e282b050df29b8c2831aafd61">&#9670;&nbsp;</a></span>BIG_528_28_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a23f0306cbf7328422298aabf1bdae91c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a23f0306cbf7328422298aabf1bdae91c">&#9670;&nbsp;</a></span>BIG_528_28_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a3363c0a6b6ec862cb5774c646cfa3c03"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3363c0a6b6ec862cb5774c646cfa3c03">&#9670;&nbsp;</a></span>BIG_528_28_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="acfe96c94a11817c94683b605ec552af1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acfe96c94a11817c94683b605ec552af1">&#9670;&nbsp;</a></span>BIG_528_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_528_28_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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="ac56118aa8725b3b1fc03af85c3010b38"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac56118aa8725b3b1fc03af85c3010b38">&#9670;&nbsp;</a></span>BIG_528_28_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a8ba7ff541a178ac776d8167b07ba1bb4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8ba7ff541a178ac776d8167b07ba1bb4">&#9670;&nbsp;</a></span>BIG_528_28_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_528_28_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="ac0bd12529378dba03e33365c29e7696e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac0bd12529378dba03e33365c29e7696e">&#9670;&nbsp;</a></span>BIG_528_28_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a4765f04b8f89ff50d79fbf0240863445"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4765f04b8f89ff50d79fbf0240863445">&#9670;&nbsp;</a></span>BIG_528_28_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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="a7b346504e2eb7132227acfaa4fc96233"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7b346504e2eb7132227acfaa4fc96233">&#9670;&nbsp;</a></span>BIG_528_28_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_528_28_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h_source.html b/website/static/cdocs/big__528__28_8h_source.html
deleted file mode 100644
index ff61e7a..0000000
--- a/website/static/cdocs/big__528__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_528_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_528_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__528__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_528_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_528_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__528__28_8h.html">config_big_528_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__528__28_8h.html#a0525b6e9fdd66250ad0a082d4b43452c">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_528_28 (8*MODBYTES_528_28) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">   40</a></span>&#160;<span class="preprocessor">#define NLEN_528_28 (1+((8*MODBYTES_528_28-1)/BASEBITS_528_28)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_528_28 2*NLEN_528_28 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">   42</a></span>&#160;<span class="preprocessor">#define BMASK_528_28 (((chunk)1&lt;&lt;BASEBITS_528_28)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__528__28_8h.html#a2b0456920d6877c24ced651bc6ff5617">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_528_28 (1&lt;&lt;(CHUNK-BASEBITS_528_28-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">   45</a></span>&#160;<span class="preprocessor">#define HBITS_528_28 (BASEBITS_528_28/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">   46</a></span>&#160;<span class="preprocessor">#define HMASK_528_28 (((chunk)1&lt;&lt;HBITS_528_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_528_28 NLEN_528_28</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_528_28 (NLEN_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a>[<a class="code" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_528_28 DNLEN_528_28</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_528_28 (DNLEN_528_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__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a>[<a class="code" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_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__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a>[<a class="code" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a>[<a class="code" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_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__528__28_8h.html#a759b359beb86544bb4399e56b9370125">BIG_528_28_iszilch</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6">BIG_528_28_isunity</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f">BIG_528_28_diszilch</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f">BIG_528_28_output</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8">BIG_528_28_rawoutput</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67">BIG_528_28_cswap</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11">BIG_528_28_cmove</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2">BIG_528_28_dcmove</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445">BIG_528_28_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a0ac81676878f639d380137b47dc640c1">BIG_528_28_fromBytes</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f">BIG_528_28_fromBytesLen</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558">BIG_528_28_dfromBytesLen</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018">BIG_528_28_doutput</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a92d211f719b808f8bff3e5416485829a">BIG_528_28_drawoutput</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3">BIG_528_28_rcopy</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<span class="keyword">const</span> <a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85">BIG_528_28_copy</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72">BIG_528_28_dcopy</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a3605d741288e107006f8a870c19b58d7">BIG_528_28_dsucopy</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db">BIG_528_28_dscopy</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0">BIG_528_28_sdcopy</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4">BIG_528_28_sducopy</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233">BIG_528_28_zero</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4">BIG_528_28_dzero</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992">BIG_528_28_one</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a93e28db178c675ff24319a01869c67cf">BIG_528_28_invmod2m</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a7afd96bac59d42371b76b95890835631">BIG_528_28_add</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a73d2125663f4285274f82da9cd465f31">BIG_528_28_or</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#aecc2507f27540e765099a45641bd1001">BIG_528_28_inc</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e">BIG_528_28_sub</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409">BIG_528_28_dec</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5">BIG_528_28_dadd</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67">BIG_528_28_dsub</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed">BIG_528_28_imul</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673">BIG_528_28_pmul</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc">BIG_528_28_div3</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e">BIG_528_28_pxmul</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee">BIG_528_28_mul</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03">BIG_528_28_smul</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38">BIG_528_28_sqr</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b">BIG_528_28_monty</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> a,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61">BIG_528_28_shl</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ade0dcec6578773e4914666c864011bf4">BIG_528_28_fshl</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2">BIG_528_28_dshl</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c">BIG_528_28_shr</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4">BIG_528_28_ssn</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> r,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> a, <a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82">BIG_528_28_fshr</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597">BIG_528_28_dshr</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#acfe96c94a11817c94683b605ec552af1">BIG_528_28_split</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4">BIG_528_28_norm</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a">BIG_528_28_dnorm</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5">BIG_528_28_comp</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27">BIG_528_28_dcomp</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f">BIG_528_28_nbits</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce">BIG_528_28_dnbits</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1">BIG_528_28_mod</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d">BIG_528_28_sdiv</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167">BIG_528_28_dmod</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5">BIG_528_28_ddiv</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6">BIG_528_28_parity</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c">BIG_528_28_bit</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367">BIG_528_28_lastbits</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8">BIG_528_28_random</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783">BIG_528_28_randomnum</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d">BIG_528_28_modmul</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a">BIG_528_28_moddiv</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> z,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663">BIG_528_28_modsqr</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a869ba3a39774e991efc6c85072212231">BIG_528_28_modneg</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1">BIG_528_28_jacobi</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83">BIG_528_28_invmodp</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> x,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a> y,<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c">BIG_528_28_mod2m</a>(<a class="code" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_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__528__28_8h.html#af647547e90a21cca1016b1250b841251">BIG_528_28_dmod2m</a>(<a class="code" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_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_528_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__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">BMASK_528_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__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_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_528_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__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">HMASK_528_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__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">HMASK_528_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__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_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__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">HMASK_528_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__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_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__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_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__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">BMASK_528_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__528__28_8h_html_a92e1ed0b13a7788df7d941fc79a7a3c8"><div class="ttname"><a href="big__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8">BIG_528_28_random</a></div><div class="ttdeci">void BIG_528_28_random(BIG_528_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_528_28.c:1248</div></div>
-<div class="ttc" id="big__528__28_8h_html_a6eb9952d9e970fb79a55b1ae2aa5a367"><div class="ttname"><a href="big__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367">BIG_528_28_lastbits</a></div><div class="ttdeci">int BIG_528_28_lastbits(BIG_528_28 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1240</div></div>
-<div class="ttc" id="big__528__28_8h_html_a1b5dfb4b5ee31d7fb7838e9abdf795c2"><div class="ttname"><a href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">DNLEN_528_28</a></div><div class="ttdeci">#define DNLEN_528_28</div><div class="ttdef"><b>Definition:</b> big_528_28.h:41</div></div>
-<div class="ttc" id="big__528__28_8h_html_a759b359beb86544bb4399e56b9370125"><div class="ttname"><a href="big__528__28_8h.html#a759b359beb86544bb4399e56b9370125">BIG_528_28_iszilch</a></div><div class="ttdeci">int BIG_528_28_iszilch(BIG_528_28 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:26</div></div>
-<div class="ttc" id="big__528__28_8h_html_ab10e19db598b10c0ec146a82c6a50a82"><div class="ttname"><a href="big__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82">BIG_528_28_fshr</a></div><div class="ttdeci">int BIG_528_28_fshr(BIG_528_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_528_28.c:906</div></div>
-<div class="ttc" id="big__528__28_8h_html_a1ba3e7bef81a07c9d75dd186263d894d"><div class="ttname"><a href="big__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d">BIG_528_28_modmul</a></div><div class="ttdeci">void BIG_528_28_modmul(BIG_528_28 x, BIG_528_28 y, BIG_528_28 z, BIG_528_28 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1300</div></div>
-<div class="ttc" id="big__528__28_8h_html_a3363c0a6b6ec862cb5774c646cfa3c03"><div class="ttname"><a href="big__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03">BIG_528_28_smul</a></div><div class="ttdeci">void BIG_528_28_smul(BIG_528_28 x, BIG_528_28 y, BIG_528_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_528_28.c:518</div></div>
-<div class="ttc" id="big__528__28_8h_html_a93e28db178c675ff24319a01869c67cf"><div class="ttname"><a href="big__528__28_8h.html#a93e28db178c675ff24319a01869c67cf">BIG_528_28_invmod2m</a></div><div class="ttdeci">void BIG_528_28_invmod2m(BIG_528_28 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__528__28_8h_html_ae1f0333c8e24c708067d867573e39d83"><div class="ttname"><a href="big__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83">BIG_528_28_invmodp</a></div><div class="ttdeci">void BIG_528_28_invmodp(BIG_528_28 x, BIG_528_28 y, BIG_528_28 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1392</div></div>
-<div class="ttc" id="big__528__28_8h_html_ac5e33943c960df2cbfc50102c564aa6b"><div class="ttname"><a href="big__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b">BIG_528_28_monty</a></div><div class="ttdeci">void BIG_528_28_monty(BIG_528_28 a, BIG_528_28 md, chunk MC, DBIG_528_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_528_28.c:735</div></div>
-<div class="ttc" id="big__528__28_8h_html_a5eba982c2daae8928c7d338454e7aa11"><div class="ttname"><a href="big__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11">BIG_528_28_cmove</a></div><div class="ttdeci">void BIG_528_28_cmove(BIG_528_28 x, BIG_528_28 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:110</div></div>
-<div class="ttc" id="big__528__28_8h_html_a1ea2000ea11c779bcc15c7c9b45a23e6"><div class="ttname"><a href="big__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6">BIG_528_28_isunity</a></div><div class="ttdeci">int BIG_528_28_isunity(BIG_528_28 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:35</div></div>
-<div class="ttc" id="big__528__28_8h_html_aabb757eb8a57b274a480d6fad7fb5ef4"><div class="ttname"><a href="big__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4">BIG_528_28_sducopy</a></div><div class="ttdeci">void BIG_528_28_sducopy(BIG_528_28 x, DBIG_528_28 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:306</div></div>
-<div class="ttc" id="config__big__528__28_8h_html"><div class="ttname"><a href="config__big__528__28_8h.html">config_big_528_28.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__528__28_8h_html_a7bf84a2fdffc5317a7c1008f209debe8"><div class="ttname"><a href="big__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8">BIG_528_28_rawoutput</a></div><div class="ttdeci">void BIG_528_28_rawoutput(BIG_528_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_528_28.c:77</div></div>
-<div class="ttc" id="big__528__28_8h_html_ad313e8a3ed0aaf2758e6c17e98a78673"><div class="ttname"><a href="big__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673">BIG_528_28_pmul</a></div><div class="ttdeci">chunk BIG_528_28_pmul(BIG_528_28 x, BIG_528_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_528_28.c:465</div></div>
-<div class="ttc" id="big__528__28_8h_html_ac56118aa8725b3b1fc03af85c3010b38"><div class="ttname"><a href="big__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38">BIG_528_28_sqr</a></div><div class="ttdeci">void BIG_528_28_sqr(DBIG_528_28 x, BIG_528_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_528_28.c:618</div></div>
-<div class="ttc" id="big__528__28_8h_html_a118caa14783ac4a9f002cbf3a66a8e27"><div class="ttname"><a href="big__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27">BIG_528_28_dcomp</a></div><div class="ttdeci">int BIG_528_28_dcomp(DBIG_528_28 x, DBIG_528_28 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1026</div></div>
-<div class="ttc" id="big__528__28_8h_html_ac5f14d540b28f48d3b6f5a4f830dabcc"><div class="ttname"><a href="big__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc">BIG_528_28_div3</a></div><div class="ttdeci">int BIG_528_28_div3(BIG_528_28 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:484</div></div>
-<div class="ttc" id="config__big__528__28_8h_html_a4139365348d7b4d26152790aad5d367b"><div class="ttname"><a href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a></div><div class="ttdeci">#define BASEBITS_528_28</div><div class="ttdef"><b>Definition:</b> config_big_528_28.h:35</div></div>
-<div class="ttc" id="big__528__28_8h_html_aa2562458d3f8a8008128ac67afb7875d"><div class="ttname"><a href="big__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d">BIG_528_28_sdiv</a></div><div class="ttdeci">void BIG_528_28_sdiv(BIG_528_28 x, BIG_528_28 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1188</div></div>
-<div class="ttc" id="big__528__28_8h_html_a9bfcaa1d61f41b532fc113f41393bb67"><div class="ttname"><a href="big__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67">BIG_528_28_cswap</a></div><div class="ttdeci">void BIG_528_28_cswap(BIG_528_28 x, BIG_528_28 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:92</div></div>
-<div class="ttc" id="big__528__28_8h_html_aa4e1081eb2bc5dc1b36adbb412abb4e1"><div class="ttname"><a href="big__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1">BIG_528_28_mod</a></div><div class="ttdeci">void BIG_528_28_mod(BIG_528_28 x, BIG_528_28 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1082</div></div>
-<div class="ttc" id="big__528__28_8h_html_ae8745b1338c0e96c6f616a06bf7dffee"><div class="ttname"><a href="big__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee">BIG_528_28_mul</a></div><div class="ttdeci">void BIG_528_28_mul(DBIG_528_28 x, BIG_528_28 y, BIG_528_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_528_28.c:542</div></div>
-<div class="ttc" id="big__528__28_8h_html_af04aa3708619571cfde9bb15bad00ca4"><div class="ttname"><a href="big__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4">BIG_528_28_norm</a></div><div class="ttdeci">chunk BIG_528_28_norm(BIG_528_28 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:976</div></div>
-<div class="ttc" id="big__528__28_8h_html_acfe96c94a11817c94683b605ec552af1"><div class="ttname"><a href="big__528__28_8h.html#acfe96c94a11817c94683b605ec552af1">BIG_528_28_split</a></div><div class="ttdeci">chunk BIG_528_28_split(BIG_528_28 x, BIG_528_28 y, DBIG_528_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_528_28.c:932</div></div>
-<div class="ttc" id="big__528__28_8h_html_a783851f26377ab6e8e056195c9969fb6"><div class="ttname"><a href="big__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6">BIG_528_28_parity</a></div><div class="ttdeci">int BIG_528_28_parity(BIG_528_28 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1225</div></div>
-<div class="ttc" id="big__528__28_8h_html_a1bd3af5dbdd4141d281fc0f49c22bd67"><div class="ttname"><a href="big__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67">BIG_528_28_dsub</a></div><div class="ttdeci">void BIG_528_28_dsub(DBIG_528_28 x, DBIG_528_28 y, DBIG_528_28 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:413</div></div>
-<div class="ttc" id="big__528__28_8h_html_a913fe1d47dc8be71316c9ed0593548e2"><div class="ttname"><a href="big__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2">BIG_528_28_dshl</a></div><div class="ttdeci">void BIG_528_28_dshl(DBIG_528_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_528_28.c:846</div></div>
-<div class="ttc" id="big__528__28_8h_html_abfb0076a794c347af22ad9f5ca10b97a"><div class="ttname"><a href="big__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a">BIG_528_28_dnorm</a></div><div class="ttdeci">void BIG_528_28_dnorm(DBIG_528_28 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:995</div></div>
-<div class="ttc" id="big__528__28_8h_html_a7a881c780a7cc7f641849621561fbfce"><div class="ttname"><a href="big__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce">BIG_528_28_dnbits</a></div><div class="ttdeci">int BIG_528_28_dnbits(DBIG_528_28 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1060</div></div>
-<div class="ttc" id="big__528__28_8h_html_a4765f04b8f89ff50d79fbf0240863445"><div class="ttname"><a href="big__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445">BIG_528_28_toBytes</a></div><div class="ttdeci">void BIG_528_28_toBytes(char *a, BIG_528_28 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:141</div></div>
-<div class="ttc" id="big__528__28_8h_html_ada2780244b0ed167c9fcb365014ac992"><div class="ttname"><a href="big__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992">BIG_528_28_one</a></div><div class="ttdeci">void BIG_528_28_one(BIG_528_28 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_528_28.c:340</div></div>
-<div class="ttc" id="big__528__28_8h_html_a692cc7adcebe504dfc5bb67a12d414bf"><div class="ttname"><a href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">NLEN_528_28</a></div><div class="ttdeci">#define NLEN_528_28</div><div class="ttdef"><b>Definition:</b> big_528_28.h:40</div></div>
-<div class="ttc" id="big__528__28_8h_html_aecc2507f27540e765099a45641bd1001"><div class="ttname"><a href="big__528__28_8h.html#aecc2507f27540e765099a45641bd1001">BIG_528_28_inc</a></div><div class="ttdeci">void BIG_528_28_inc(BIG_528_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_528_28.c:386</div></div>
-<div class="ttc" id="big__528__28_8h_html_ae4c1f0866606ad2a5089f986113888a5"><div class="ttname"><a href="big__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5">BIG_528_28_ddiv</a></div><div class="ttdeci">void BIG_528_28_ddiv(BIG_528_28 x, DBIG_528_28 y, BIG_528_28 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1149</div></div>
-<div class="ttc" id="big__528__28_8h_html_a001cdba454b1c6bd4051f8edfa72971f"><div class="ttname"><a href="big__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f">BIG_528_28_fromBytesLen</a></div><div class="ttdeci">void BIG_528_28_fromBytesLen(BIG_528_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_528_28.c:170</div></div>
-<div class="ttc" id="big__528__28_8h_html_aedfdf9a531fd7ad921bbf3cd33a288d6"><div class="ttname"><a href="big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">HMASK_528_28</a></div><div class="ttdeci">#define HMASK_528_28</div><div class="ttdef"><b>Definition:</b> big_528_28.h:46</div></div>
-<div class="ttc" id="big__528__28_8h_html_a204806f27e1337ef58f7af2758860fd5"><div class="ttname"><a href="big__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5">BIG_528_28_dadd</a></div><div class="ttdeci">void BIG_528_28_dadd(DBIG_528_28 x, DBIG_528_28 y, DBIG_528_28 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:426</div></div>
-<div class="ttc" id="big__528__28_8h_html_a0ac81676878f639d380137b47dc640c1"><div class="ttname"><a href="big__528__28_8h.html#a0ac81676878f639d380137b47dc640c1">BIG_528_28_fromBytes</a></div><div class="ttdeci">void BIG_528_28_fromBytes(BIG_528_28 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:155</div></div>
-<div class="ttc" id="big__528__28_8h_html_a8ba7ff541a178ac776d8167b07ba1bb4"><div class="ttname"><a href="big__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4">BIG_528_28_ssn</a></div><div class="ttdeci">int BIG_528_28_ssn(BIG_528_28 r, BIG_528_28 a, BIG_528_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_528_28.c:877</div></div>
-<div class="ttc" id="big__528__28_8h_html_a4670085502e0eb472b9acd8414b89d4f"><div class="ttname"><a href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">HBITS_528_28</a></div><div class="ttdeci">#define HBITS_528_28</div><div class="ttdef"><b>Definition:</b> big_528_28.h:45</div></div>
-<div class="ttc" id="big__528__28_8h_html_aaa9178d7e1d15437f3142d84943c80b4"><div class="ttname"><a href="big__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4">BIG_528_28_dzero</a></div><div class="ttdeci">void BIG_528_28_dzero(DBIG_528_28 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:329</div></div>
-<div class="ttc" id="big__528__28_8h_html_ab035b57893889988fa1e6a6a741de5db"><div class="ttname"><a href="big__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db">BIG_528_28_dscopy</a></div><div class="ttdeci">void BIG_528_28_dscopy(DBIG_528_28 x, BIG_528_28 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:263</div></div>
-<div class="ttc" id="big__528__28_8h_html_a7d53293cc2730c96e9cd46d38bb7866c"><div class="ttname"><a href="big__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c">BIG_528_28_mod2m</a></div><div class="ttdeci">void BIG_528_28_mod2m(BIG_528_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1456</div></div>
-<div class="ttc" id="big__528__28_8h_html_ac49a401e55aef325b85c04ff5a0f03e3"><div class="ttname"><a href="big__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3">BIG_528_28_rcopy</a></div><div class="ttdeci">void BIG_528_28_rcopy(BIG_528_28 x, const BIG_528_28 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:239</div></div>
-<div class="ttc" id="big__528__28_8h_html_a7afd96bac59d42371b76b95890835631"><div class="ttname"><a href="big__528__28_8h.html#a7afd96bac59d42371b76b95890835631">BIG_528_28_add</a></div><div class="ttdeci">void BIG_528_28_add(BIG_528_28 x, BIG_528_28 y, BIG_528_28 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:356</div></div>
-<div class="ttc" id="big__528__28_8h_html_a7202be5bc08fa6abfae7d1da9bfbcf2f"><div class="ttname"><a href="big__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f">BIG_528_28_output</a></div><div class="ttdeci">void BIG_528_28_output(BIG_528_28 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:55</div></div>
-<div class="ttc" id="big__528__28_8h_html_afaab6a6248a527f05c379c77e4c4d783"><div class="ttname"><a href="big__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783">BIG_528_28_randomnum</a></div><div class="ttdeci">void BIG_528_28_randomnum(BIG_528_28 x, BIG_528_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_528_28.c:1274</div></div>
-<div class="ttc" id="big__528__28_8h_html_a69773e3420a22bbe38ec7a7d5e30df85"><div class="ttname"><a href="big__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85">BIG_528_28_copy</a></div><div class="ttdeci">void BIG_528_28_copy(BIG_528_28 x, BIG_528_28 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:227</div></div>
-<div class="ttc" id="big__528__28_8h_html_af647547e90a21cca1016b1250b841251"><div class="ttname"><a href="big__528__28_8h.html#af647547e90a21cca1016b1250b841251">BIG_528_28_dmod2m</a></div><div class="ttdeci">void BIG_528_28_dmod2m(DBIG_528_28 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1470</div></div>
-<div class="ttc" id="big__528__28_8h_html_abaf0336e531b0e380b2f27ef702fc62f"><div class="ttname"><a href="big__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f">BIG_528_28_nbits</a></div><div class="ttdeci">int BIG_528_28_nbits(BIG_528_28 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1040</div></div>
-<div class="ttc" id="big__528__28_8h_html_a23f0306cbf7328422298aabf1bdae91c"><div class="ttname"><a href="big__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c">BIG_528_28_shr</a></div><div class="ttdeci">void BIG_528_28_shr(BIG_528_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_528_28.c:864</div></div>
-<div class="ttc" id="big__528__28_8h_html_a73d2125663f4285274f82da9cd465f31"><div class="ttname"><a href="big__528__28_8h.html#a73d2125663f4285274f82da9cd465f31">BIG_528_28_or</a></div><div class="ttdeci">void BIG_528_28_or(BIG_528_28 x, BIG_528_28 y, BIG_528_28 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:371</div></div>
-<div class="ttc" id="big__528__28_8h_html_ac0bd12529378dba03e33365c29e7696e"><div class="ttname"><a href="big__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e">BIG_528_28_sub</a></div><div class="ttdeci">void BIG_528_28_sub(BIG_528_28 x, BIG_528_28 y, BIG_528_28 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:397</div></div>
-<div class="ttc" id="big__528__28_8h_html_af3b892ca6e6668f802c693bbfb4b7cb1"><div class="ttname"><a href="big__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1">BIG_528_28_jacobi</a></div><div class="ttdeci">int BIG_528_28_jacobi(BIG_528_28 x, BIG_528_28 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1354</div></div>
-<div class="ttc" id="big__528__28_8h_html_a92d211f719b808f8bff3e5416485829a"><div class="ttname"><a href="big__528__28_8h.html#a92d211f719b808f8bff3e5416485829a">BIG_528_28_drawoutput</a></div><div class="ttdeci">void BIG_528_28_drawoutput(DBIG_528_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:212</div></div>
-<div class="ttc" id="big__528__28_8h_html_a3fcba50db34f3327aa7605ea68d5a14f"><div class="ttname"><a href="big__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f">BIG_528_28_diszilch</a></div><div class="ttdeci">int BIG_528_28_diszilch(DBIG_528_28 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:45</div></div>
-<div class="ttc" id="big__528__28_8h_html_a90335a8a99381ced32eb28ecc27cd4a0"><div class="ttname"><a href="big__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0">BIG_528_28_sdcopy</a></div><div class="ttdeci">void BIG_528_28_sdcopy(BIG_528_28 x, DBIG_528_28 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:294</div></div>
-<div class="ttc" id="big__528__28_8h_html_a82082efa3a70836e15d9d625873fc626"><div class="ttname"><a href="big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">BMASK_528_28</a></div><div class="ttdeci">#define BMASK_528_28</div><div class="ttdef"><b>Definition:</b> big_528_28.h:42</div></div>
-<div class="ttc" id="big__528__28_8h_html_aeeaf15dd7ce5cf6ae1abfa078b4b4167"><div class="ttname"><a href="big__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167">BIG_528_28_dmod</a></div><div class="ttdeci">void BIG_528_28_dmod(BIG_528_28 x, DBIG_528_28 y, BIG_528_28 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1113</div></div>
-<div class="ttc" id="big__528__28_8h_html_ade0dcec6578773e4914666c864011bf4"><div class="ttname"><a href="big__528__28_8h.html#ade0dcec6578773e4914666c864011bf4">BIG_528_28_fshl</a></div><div class="ttdeci">int BIG_528_28_fshl(BIG_528_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_528_28.c:832</div></div>
-<div class="ttc" id="big__528__28_8h_html_a8978e8871b5d4dfae6ea69f514d64be5"><div class="ttname"><a href="big__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5">BIG_528_28_comp</a></div><div class="ttdeci">int BIG_528_28_comp(BIG_528_28 x, BIG_528_28 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1014</div></div>
-<div class="ttc" id="big__528__28_8h_html_a2004f4fe879078f894fa47bf4f8d9018"><div class="ttname"><a href="big__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018">BIG_528_28_doutput</a></div><div class="ttdeci">void BIG_528_28_doutput(DBIG_528_28 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:190</div></div>
-<div class="ttc" id="big__528__28_8h_html_ac1ffd0faa58216991ca472333e1e209e"><div class="ttname"><a href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">DBIG_528_28</a></div><div class="ttdeci">chunk DBIG_528_28[DNLEN_528_28]</div><div class="ttdef"><b>Definition:</b> big_528_28.h:59</div></div>
-<div class="ttc" id="big__528__28_8h_html_ac63c75100d3183b113f17c3a71bc1558"><div class="ttname"><a href="big__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558">BIG_528_28_dfromBytesLen</a></div><div class="ttdeci">void BIG_528_28_dfromBytesLen(DBIG_528_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_528_28.c:1485</div></div>
-<div class="ttc" id="big__528__28_8h_html_a869ba3a39774e991efc6c85072212231"><div class="ttname"><a href="big__528__28_8h.html#a869ba3a39774e991efc6c85072212231">BIG_528_28_modneg</a></div><div class="ttdeci">void BIG_528_28_modneg(BIG_528_28 x, BIG_528_28 y, BIG_528_28 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1327</div></div>
-<div class="ttc" id="big__528__28_8h_html_a5bf6cd12e6aec3f0fbc55731abada663"><div class="ttname"><a href="big__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663">BIG_528_28_modsqr</a></div><div class="ttdeci">void BIG_528_28_modsqr(BIG_528_28 x, BIG_528_28 y, BIG_528_28 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1315</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__528__28_8h_html_abbc3509fafcc3871fb8a47e770406597"><div class="ttname"><a href="big__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597">BIG_528_28_dshr</a></div><div class="ttdeci">void BIG_528_28_dshr(DBIG_528_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_528_28.c:918</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__528__28_8h_html_a619606adb161746fcbb4d51d55a5cd1e"><div class="ttname"><a href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">BIG_528_28</a></div><div class="ttdeci">chunk BIG_528_28[NLEN_528_28]</div><div class="ttdef"><b>Definition:</b> big_528_28.h:58</div></div>
-<div class="ttc" id="big__528__28_8h_html_afccc8f44d19aeaead975ffeff494ca72"><div class="ttname"><a href="big__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72">BIG_528_28_dcopy</a></div><div class="ttdeci">void BIG_528_28_dcopy(DBIG_528_28 x, DBIG_528_28 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:251</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__528__28_8h_html_ae9f20276f7d3c2879801ee2c9d4b48e2"><div class="ttname"><a href="big__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2">BIG_528_28_dcmove</a></div><div class="ttdeci">void BIG_528_28_dcmove(BIG_528_28 x, BIG_528_28 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__528__28_8h_html_a26f4a682a6a89ef6dd9c64a3bba8f43c"><div class="ttname"><a href="big__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c">BIG_528_28_bit</a></div><div class="ttdeci">int BIG_528_28_bit(BIG_528_28 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1232</div></div>
-<div class="ttc" id="big__528__28_8h_html_a0e70619bafa1344244aa1a6a2306f53e"><div class="ttname"><a href="big__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e">BIG_528_28_pxmul</a></div><div class="ttdeci">void BIG_528_28_pxmul(DBIG_528_28 x, BIG_528_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_528_28.c:501</div></div>
-<div class="ttc" id="big__528__28_8h_html_ad6ddc379684077bfc78ac3c655399aed"><div class="ttname"><a href="big__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed">BIG_528_28_imul</a></div><div class="ttdeci">void BIG_528_28_imul(BIG_528_28 x, BIG_528_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_528_28.c:450</div></div>
-<div class="ttc" id="big__528__28_8h_html_a52c6f2272e4b5ff16eb39dc5e5004a1a"><div class="ttname"><a href="big__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a">BIG_528_28_moddiv</a></div><div class="ttdeci">void BIG_528_28_moddiv(BIG_528_28 x, BIG_528_28 y, BIG_528_28 z, BIG_528_28 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:1337</div></div>
-<div class="ttc" id="big__528__28_8h_html_a3605d741288e107006f8a870c19b58d7"><div class="ttname"><a href="big__528__28_8h.html#a3605d741288e107006f8a870c19b58d7">BIG_528_28_dsucopy</a></div><div class="ttdeci">void BIG_528_28_dsucopy(DBIG_528_28 x, BIG_528_28 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:280</div></div>
-<div class="ttc" id="big__528__28_8h_html_a7b346504e2eb7132227acfaa4fc96233"><div class="ttname"><a href="big__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233">BIG_528_28_zero</a></div><div class="ttdeci">void BIG_528_28_zero(BIG_528_28 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_528_28.c:319</div></div>
-<div class="ttc" id="big__528__28_8h_html_ae2796b69476d18c8b72874d7062e1409"><div class="ttname"><a href="big__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409">BIG_528_28_dec</a></div><div class="ttdeci">void BIG_528_28_dec(BIG_528_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_528_28.c:440</div></div>
-<div class="ttc" id="big__528__28_8h_html_af84eac0e282b050df29b8c2831aafd61"><div class="ttname"><a href="big__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61">BIG_528_28_shl</a></div><div class="ttdeci">void BIG_528_28_shl(BIG_528_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_528_28.c:813</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__528__60_8h.html b/website/static/cdocs/big__528__60_8h.html
index de83323..3391e8e 100644
--- a/website/static/cdocs/big__528__60_8h.html
+++ b/website/static/cdocs/big__528__60_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_528_60.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="ae6b13bb21e5076ea57b4fd81403ecea2"></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="a685960b4c34cadec7e2463562863cdc7"></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__528__60_8h_source.html b/website/static/cdocs/big__528__60_8h_source.html
index 8fdb1f7..f479528 100644
--- a/website/static/cdocs/big__528__60_8h_source.html
+++ b/website/static/cdocs/big__528__60_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_528_60.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_528_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__528__60_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_528_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_528_60_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__528__60_8h.html">config_big_528_60.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__528__60_8h.html#ab23dce98483079baad467cb7d98d8edf">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_528_60 (8*MODBYTES_528_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">   40</a></span>&#160;<span class="preprocessor">#define NLEN_528_60 (1+((8*MODBYTES_528_60-1)/BASEBITS_528_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_528_60 2*NLEN_528_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">   42</a></span>&#160;<span class="preprocessor">#define BMASK_528_60 (((chunk)1&lt;&lt;BASEBITS_528_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#acd57cc9b3fb3e357ef8e50b6c7210c07">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_528_60 (1&lt;&lt;(CHUNK-BASEBITS_528_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">   45</a></span>&#160;<span class="preprocessor">#define HBITS_528_60 (BASEBITS_528_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">   46</a></span>&#160;<span class="preprocessor">#define HMASK_528_60 (((chunk)1&lt;&lt;HBITS_528_60)-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_528_60 NLEN_528_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_528_60 (NLEN_528_60+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__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>[<a class="code" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">NLEN_528_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_528_60 DNLEN_528_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_528_60 (DNLEN_528_60+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__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a>[<a class="code" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">DNLEN_528_60</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__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>[<a class="code" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">NLEN_528_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a>[<a class="code" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">DNLEN_528_60</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__528__60_8h.html#a42fdaa52bc19aa6fca2e1eccfb386878">BIG_528_60_iszilch</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a4a97711862b1cc33244171637681de99">BIG_528_60_isunity</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aff238fd209e48e640ebd27b4b4cd099d">BIG_528_60_diszilch</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a9c715e1791d1b6d81c6ddb5028a6cd28">BIG_528_60_output</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a29dc0ff3231d7378219f1a03b8fd6874">BIG_528_60_rawoutput</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a2bcbc90c5bc550df435c5d370c8ea6b3">BIG_528_60_cswap</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#adccc6fb715a79eb25fb57c3065850ad1">BIG_528_60_cmove</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a3957eaba67b5067f34e2c6f46fef9f01">BIG_528_60_dcmove</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ad4fc31837dd06b0c2e06b5eef3d8d1bf">BIG_528_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a3b0db7a38d3eebd1bd95caba13b2a20c">BIG_528_60_fromBytes</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af07e721818ad5628182e27fed1305de7">BIG_528_60_fromBytesLen</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a976bb4f31e23e3af5647b811c0169c8e">BIG_528_60_dfromBytesLen</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a4c6a1c7f682e72d5060c22023646b3d6">BIG_528_60_doutput</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a67ee719969fa5c88c0cc057075d166be">BIG_528_60_drawoutput</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ad1b8c06add5d034db6349b47c69ca959">BIG_528_60_rcopy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a74bdf356863c916fe2538d1c86fe718e">BIG_528_60_copy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a4c930b804cf2dce72ce1c0e36afcce45">BIG_528_60_dcopy</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#aba9bcbacf3bcd0b59ddcee16d40e1008">BIG_528_60_dsucopy</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ac0adb2a7cb33157a2892edc9ef6f3fac">BIG_528_60_dscopy</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa72c8b28dd0266fb198a381f81ad983d">BIG_528_60_sdcopy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ab49866685a868acc706e3046069549ec">BIG_528_60_sducopy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ab27955873faca327f00f59d01f0fd316">BIG_528_60_zero</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a588b075709147356f22a6a0852ef2ef5">BIG_528_60_dzero</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#af20784804ae73ef0b636642f443ac9f2">BIG_528_60_one</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59">BIG_528_60_invmod2m</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a2cf3a406c08eac4a7f60cb209eb032ab">BIG_528_60_add</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af8bbe7fe34b4b090ddc002a774d3d5dc">BIG_528_60_or</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ab538407c81f981ef61fb5a9542daa811">BIG_528_60_inc</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a66d8cba96f29d745eac30096f681af08">BIG_528_60_sub</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ae3d4bee0c0f6a6a2f0fefd155ff86386">BIG_528_60_dec</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ac19e357a0ee4160210709ceae20fd13a">BIG_528_60_dadd</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a41d31b72e48817a68641ba050f81a798">BIG_528_60_dsub</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a437761d0149ea3ac18dd5790504d8d05">BIG_528_60_imul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a38d5b3e59388ca394dea367bfb67657e">BIG_528_60_pmul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ade9dfe82ec2d33754650650d1d639e7f">BIG_528_60_div3</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a6be57efef61770e617565f9604e4c938">BIG_528_60_pxmul</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a85c6445b4894c6a920cb3b6cc3cc8aca">BIG_528_60_mul</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af3ef59790363f51106380370dc37a706">BIG_528_60_smul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa7eccd1556fbc607020672682b24a3d8">BIG_528_60_sqr</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#afed23506e5438bc4bcd4e5af291336ec">BIG_528_60_monty</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> a,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a1eaf5799f2598d757be200b3e74e1a19">BIG_528_60_shl</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ade18a9e3fa4228fa38fec165eb5f7b9c">BIG_528_60_fshl</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#acd22bb716d27cb98684b7637b6c08a52">BIG_528_60_dshl</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#abef734408d3554c0c7339426d209ead7">BIG_528_60_shr</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a72fb6579daef8d9835237d34395dde1f">BIG_528_60_ssn</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> r,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> a, <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ab581aaabf3f679fbd79b62924003ed94">BIG_528_60_fshr</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a824eeb9876ce30bbb8ad7d5b1f7b3d2d">BIG_528_60_dshr</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a00690db44ca9b2f88aa085e18f9560c7">BIG_528_60_split</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#adc9ee9ea4f146c1c456f796cbfcaac74">BIG_528_60_norm</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a0d58fea19575ff26b33eb4a528397f37">BIG_528_60_dnorm</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a2c1ab9bb6047106e53617e8a718ee942">BIG_528_60_comp</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa351c44c9f8678171158e7c54eafb371">BIG_528_60_dcomp</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ab2ad1bb8fbec376e05c5d6a5bbe0852f">BIG_528_60_nbits</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ae6b13bb21e5076ea57b4fd81403ecea2">BIG_528_60_dnbits</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a2b7007019f1c0b8884f04e47610b5440">BIG_528_60_mod</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ac5e83598d71dc543224c291907ccdbda">BIG_528_60_sdiv</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a70d1aafa945f2eaf7ccbc90b630f68a7">BIG_528_60_dmod</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa57327c0f5a5657dcf57e240e4c6fc96">BIG_528_60_ddiv</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a6dd760b3465e82ce1c3e17bc900b4d42">BIG_528_60_parity</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a1aaca83012b7812f50e16092f344c719">BIG_528_60_bit</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a5fb2154ac604877876cda256ea4ff4ef">BIG_528_60_lastbits</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a0d8a4dea060c0a37cdb51b1b3ac20591">BIG_528_60_random</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aba50c9234f8f7538cb3521cc5f95214b">BIG_528_60_randomnum</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ae3bb3641e46ea5c8e65382c1c592ca14">BIG_528_60_modmul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> z,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a685960b4c34cadec7e2463562863cdc7">BIG_528_60_moddiv</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> z,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af9503e5aac5e601d8d8c30aea8f06517">BIG_528_60_modsqr</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a0e2d51227feb088c1bceeb5393ac49b1">BIG_528_60_modneg</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aee92758a1cbe733b7b3ed65cc8abaf5b">BIG_528_60_jacobi</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a512117e6a7ea73a58b0a9b204edda624">BIG_528_60_invmodp</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa3c79d99bca7bb9cca3aa2f9a5f33563">BIG_528_60_mod2m</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a40eeadc526e62ca44e7e3046ce56162e">BIG_528_60_dmod2m</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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_528_60(<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__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">BMASK_528_60</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__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">BASEBITS_528_60</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_528_60(<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__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">HMASK_528_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">HMASK_528_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</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__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">HMASK_528_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</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__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">BASEBITS_528_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">BMASK_528_60</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__528__60_8h_html_aa351c44c9f8678171158e7c54eafb371"><div class="ttname"><a href="big__528__60_8h.html#aa351c44c9f8678171158e7c54eafb371">BIG_528_60_dcomp</a></div><div class="ttdeci">int BIG_528_60_dcomp(DBIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1026</div></div>
-<div class="ttc" id="big__528__60_8h_html_afed23506e5438bc4bcd4e5af291336ec"><div class="ttname"><a href="big__528__60_8h.html#afed23506e5438bc4bcd4e5af291336ec">BIG_528_60_monty</a></div><div class="ttdeci">void BIG_528_60_monty(BIG_528_60 a, BIG_528_60 md, chunk MC, DBIG_528_60 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_528_60.c:735</div></div>
-<div class="ttc" id="big__528__60_8h_html_a2c1ab9bb6047106e53617e8a718ee942"><div class="ttname"><a href="big__528__60_8h.html#a2c1ab9bb6047106e53617e8a718ee942">BIG_528_60_comp</a></div><div class="ttdeci">int BIG_528_60_comp(BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1014</div></div>
-<div class="ttc" id="big__528__60_8h_html_aa57327c0f5a5657dcf57e240e4c6fc96"><div class="ttname"><a href="big__528__60_8h.html#aa57327c0f5a5657dcf57e240e4c6fc96">BIG_528_60_ddiv</a></div><div class="ttdeci">void BIG_528_60_ddiv(BIG_528_60 x, DBIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1149</div></div>
-<div class="ttc" id="big__528__60_8h_html_a42fdaa52bc19aa6fca2e1eccfb386878"><div class="ttname"><a href="big__528__60_8h.html#a42fdaa52bc19aa6fca2e1eccfb386878">BIG_528_60_iszilch</a></div><div class="ttdeci">int BIG_528_60_iszilch(BIG_528_60 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:26</div></div>
-<div class="ttc" id="big__528__60_8h_html_a512117e6a7ea73a58b0a9b204edda624"><div class="ttname"><a href="big__528__60_8h.html#a512117e6a7ea73a58b0a9b204edda624">BIG_528_60_invmodp</a></div><div class="ttdeci">void BIG_528_60_invmodp(BIG_528_60 x, BIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1392</div></div>
-<div class="ttc" id="big__528__60_8h_html_ade9dfe82ec2d33754650650d1d639e7f"><div class="ttname"><a href="big__528__60_8h.html#ade9dfe82ec2d33754650650d1d639e7f">BIG_528_60_div3</a></div><div class="ttdeci">int BIG_528_60_div3(BIG_528_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:484</div></div>
-<div class="ttc" id="big__528__60_8h_html_a0d8a4dea060c0a37cdb51b1b3ac20591"><div class="ttname"><a href="big__528__60_8h.html#a0d8a4dea060c0a37cdb51b1b3ac20591">BIG_528_60_random</a></div><div class="ttdeci">void BIG_528_60_random(BIG_528_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1248</div></div>
-<div class="ttc" id="big__528__60_8h_html_ae3d4bee0c0f6a6a2f0fefd155ff86386"><div class="ttname"><a href="big__528__60_8h.html#ae3d4bee0c0f6a6a2f0fefd155ff86386">BIG_528_60_dec</a></div><div class="ttdeci">void BIG_528_60_dec(BIG_528_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:440</div></div>
-<div class="ttc" id="big__528__60_8h_html_aff238fd209e48e640ebd27b4b4cd099d"><div class="ttname"><a href="big__528__60_8h.html#aff238fd209e48e640ebd27b4b4cd099d">BIG_528_60_diszilch</a></div><div class="ttdeci">int BIG_528_60_diszilch(DBIG_528_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:45</div></div>
-<div class="ttc" id="big__528__60_8h_html_a2b7007019f1c0b8884f04e47610b5440"><div class="ttname"><a href="big__528__60_8h.html#a2b7007019f1c0b8884f04e47610b5440">BIG_528_60_mod</a></div><div class="ttdeci">void BIG_528_60_mod(BIG_528_60 x, BIG_528_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1082</div></div>
+<a href="big__528__60_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_528_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_528_60_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__528__60_8h.html">config_big_528_60.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__528__60_8h.html#ab23dce98483079baad467cb7d98d8edf">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_528_60 (8*MODBYTES_528_60) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">   40</a></span>&#160;<span class="preprocessor">#define NLEN_528_60 (1+((8*MODBYTES_528_60-1)/BASEBITS_528_60)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_528_60 2*NLEN_528_60 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">   42</a></span>&#160;<span class="preprocessor">#define BMASK_528_60 (((chunk)1&lt;&lt;BASEBITS_528_60)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#acd57cc9b3fb3e357ef8e50b6c7210c07">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_528_60 (1&lt;&lt;(CHUNK-BASEBITS_528_60-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">   45</a></span>&#160;<span class="preprocessor">#define HBITS_528_60 (BASEBITS_528_60/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">   46</a></span>&#160;<span class="preprocessor">#define HMASK_528_60 (((chunk)1&lt;&lt;HBITS_528_60)-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_528_60 NLEN_528_60</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_528_60 (NLEN_528_60+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__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>[<a class="code" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">NLEN_528_60</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_528_60 DNLEN_528_60</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_528_60 (DNLEN_528_60+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__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a>[<a class="code" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">DNLEN_528_60</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__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>[<a class="code" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">NLEN_528_60</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a>[<a class="code" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">DNLEN_528_60</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__528__60_8h.html#a42fdaa52bc19aa6fca2e1eccfb386878">BIG_528_60_iszilch</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a4a97711862b1cc33244171637681de99">BIG_528_60_isunity</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aff238fd209e48e640ebd27b4b4cd099d">BIG_528_60_diszilch</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a9c715e1791d1b6d81c6ddb5028a6cd28">BIG_528_60_output</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a29dc0ff3231d7378219f1a03b8fd6874">BIG_528_60_rawoutput</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a2bcbc90c5bc550df435c5d370c8ea6b3">BIG_528_60_cswap</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#adccc6fb715a79eb25fb57c3065850ad1">BIG_528_60_cmove</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a3957eaba67b5067f34e2c6f46fef9f01">BIG_528_60_dcmove</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ad4fc31837dd06b0c2e06b5eef3d8d1bf">BIG_528_60_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a3b0db7a38d3eebd1bd95caba13b2a20c">BIG_528_60_fromBytes</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af07e721818ad5628182e27fed1305de7">BIG_528_60_fromBytesLen</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a976bb4f31e23e3af5647b811c0169c8e">BIG_528_60_dfromBytesLen</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a4c6a1c7f682e72d5060c22023646b3d6">BIG_528_60_doutput</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a67ee719969fa5c88c0cc057075d166be">BIG_528_60_drawoutput</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ad1b8c06add5d034db6349b47c69ca959">BIG_528_60_rcopy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a74bdf356863c916fe2538d1c86fe718e">BIG_528_60_copy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a4c930b804cf2dce72ce1c0e36afcce45">BIG_528_60_dcopy</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#aba9bcbacf3bcd0b59ddcee16d40e1008">BIG_528_60_dsucopy</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ac0adb2a7cb33157a2892edc9ef6f3fac">BIG_528_60_dscopy</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa72c8b28dd0266fb198a381f81ad983d">BIG_528_60_sdcopy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ab49866685a868acc706e3046069549ec">BIG_528_60_sducopy</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ab27955873faca327f00f59d01f0fd316">BIG_528_60_zero</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a588b075709147356f22a6a0852ef2ef5">BIG_528_60_dzero</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#af20784804ae73ef0b636642f443ac9f2">BIG_528_60_one</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59">BIG_528_60_invmod2m</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a2cf3a406c08eac4a7f60cb209eb032ab">BIG_528_60_add</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af8bbe7fe34b4b090ddc002a774d3d5dc">BIG_528_60_or</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ab538407c81f981ef61fb5a9542daa811">BIG_528_60_inc</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a66d8cba96f29d745eac30096f681af08">BIG_528_60_sub</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ae3d4bee0c0f6a6a2f0fefd155ff86386">BIG_528_60_dec</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ac19e357a0ee4160210709ceae20fd13a">BIG_528_60_dadd</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a41d31b72e48817a68641ba050f81a798">BIG_528_60_dsub</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a437761d0149ea3ac18dd5790504d8d05">BIG_528_60_imul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a38d5b3e59388ca394dea367bfb67657e">BIG_528_60_pmul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ade9dfe82ec2d33754650650d1d639e7f">BIG_528_60_div3</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a6be57efef61770e617565f9604e4c938">BIG_528_60_pxmul</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a85c6445b4894c6a920cb3b6cc3cc8aca">BIG_528_60_mul</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af3ef59790363f51106380370dc37a706">BIG_528_60_smul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa7eccd1556fbc607020672682b24a3d8">BIG_528_60_sqr</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#afed23506e5438bc4bcd4e5af291336ec">BIG_528_60_monty</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> a,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a1eaf5799f2598d757be200b3e74e1a19">BIG_528_60_shl</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ade18a9e3fa4228fa38fec165eb5f7b9c">BIG_528_60_fshl</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#acd22bb716d27cb98684b7637b6c08a52">BIG_528_60_dshl</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#abef734408d3554c0c7339426d209ead7">BIG_528_60_shr</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a72fb6579daef8d9835237d34395dde1f">BIG_528_60_ssn</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> r,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> a, <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ab581aaabf3f679fbd79b62924003ed94">BIG_528_60_fshr</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a824eeb9876ce30bbb8ad7d5b1f7b3d2d">BIG_528_60_dshr</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a00690db44ca9b2f88aa085e18f9560c7">BIG_528_60_split</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#adc9ee9ea4f146c1c456f796cbfcaac74">BIG_528_60_norm</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a0d58fea19575ff26b33eb4a528397f37">BIG_528_60_dnorm</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a2c1ab9bb6047106e53617e8a718ee942">BIG_528_60_comp</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa351c44c9f8678171158e7c54eafb371">BIG_528_60_dcomp</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#ab2ad1bb8fbec376e05c5d6a5bbe0852f">BIG_528_60_nbits</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ae6b13bb21e5076ea57b4fd81403ecea2">BIG_528_60_dnbits</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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__528__60_8h.html#a2b7007019f1c0b8884f04e47610b5440">BIG_528_60_mod</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ac5e83598d71dc543224c291907ccdbda">BIG_528_60_sdiv</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a70d1aafa945f2eaf7ccbc90b630f68a7">BIG_528_60_dmod</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa57327c0f5a5657dcf57e240e4c6fc96">BIG_528_60_ddiv</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a6dd760b3465e82ce1c3e17bc900b4d42">BIG_528_60_parity</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a1aaca83012b7812f50e16092f344c719">BIG_528_60_bit</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a5fb2154ac604877876cda256ea4ff4ef">BIG_528_60_lastbits</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a0d8a4dea060c0a37cdb51b1b3ac20591">BIG_528_60_random</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aba50c9234f8f7538cb3521cc5f95214b">BIG_528_60_randomnum</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#ae3bb3641e46ea5c8e65382c1c592ca14">BIG_528_60_modmul</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> z,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a685960b4c34cadec7e2463562863cdc7">BIG_528_60_moddiv</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> z,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#af9503e5aac5e601d8d8c30aea8f06517">BIG_528_60_modsqr</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a0e2d51227feb088c1bceeb5393ac49b1">BIG_528_60_modneg</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aee92758a1cbe733b7b3ed65cc8abaf5b">BIG_528_60_jacobi</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a512117e6a7ea73a58b0a9b204edda624">BIG_528_60_invmodp</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#aa3c79d99bca7bb9cca3aa2f9a5f33563">BIG_528_60_mod2m</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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__528__60_8h.html#a40eeadc526e62ca44e7e3046ce56162e">BIG_528_60_dmod2m</a>(<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</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_528_60(<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__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">BMASK_528_60</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__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">BASEBITS_528_60</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_528_60(<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__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">HMASK_528_60</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">HMASK_528_60</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</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__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">HMASK_528_60</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</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__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">BASEBITS_528_60</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">BMASK_528_60</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__528__60_8h_html_aa351c44c9f8678171158e7c54eafb371"><div class="ttname"><a href="big__528__60_8h.html#aa351c44c9f8678171158e7c54eafb371">BIG_528_60_dcomp</a></div><div class="ttdeci">int BIG_528_60_dcomp(DBIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1026</div></div>
+<div class="ttc" id="big__528__60_8h_html_afed23506e5438bc4bcd4e5af291336ec"><div class="ttname"><a href="big__528__60_8h.html#afed23506e5438bc4bcd4e5af291336ec">BIG_528_60_monty</a></div><div class="ttdeci">void BIG_528_60_monty(BIG_528_60 a, BIG_528_60 md, chunk MC, DBIG_528_60 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_528_60.c:735</div></div>
+<div class="ttc" id="big__528__60_8h_html_a2c1ab9bb6047106e53617e8a718ee942"><div class="ttname"><a href="big__528__60_8h.html#a2c1ab9bb6047106e53617e8a718ee942">BIG_528_60_comp</a></div><div class="ttdeci">int BIG_528_60_comp(BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1014</div></div>
+<div class="ttc" id="big__528__60_8h_html_aa57327c0f5a5657dcf57e240e4c6fc96"><div class="ttname"><a href="big__528__60_8h.html#aa57327c0f5a5657dcf57e240e4c6fc96">BIG_528_60_ddiv</a></div><div class="ttdeci">void BIG_528_60_ddiv(BIG_528_60 x, DBIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1149</div></div>
+<div class="ttc" id="big__528__60_8h_html_a42fdaa52bc19aa6fca2e1eccfb386878"><div class="ttname"><a href="big__528__60_8h.html#a42fdaa52bc19aa6fca2e1eccfb386878">BIG_528_60_iszilch</a></div><div class="ttdeci">int BIG_528_60_iszilch(BIG_528_60 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:26</div></div>
+<div class="ttc" id="big__528__60_8h_html_a512117e6a7ea73a58b0a9b204edda624"><div class="ttname"><a href="big__528__60_8h.html#a512117e6a7ea73a58b0a9b204edda624">BIG_528_60_invmodp</a></div><div class="ttdeci">void BIG_528_60_invmodp(BIG_528_60 x, BIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1476</div></div>
+<div class="ttc" id="big__528__60_8h_html_ade9dfe82ec2d33754650650d1d639e7f"><div class="ttname"><a href="big__528__60_8h.html#ade9dfe82ec2d33754650650d1d639e7f">BIG_528_60_div3</a></div><div class="ttdeci">int BIG_528_60_div3(BIG_528_60 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:484</div></div>
+<div class="ttc" id="big__528__60_8h_html_a0d8a4dea060c0a37cdb51b1b3ac20591"><div class="ttname"><a href="big__528__60_8h.html#a0d8a4dea060c0a37cdb51b1b3ac20591">BIG_528_60_random</a></div><div class="ttdeci">void BIG_528_60_random(BIG_528_60 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1248</div></div>
+<div class="ttc" id="big__528__60_8h_html_ae3d4bee0c0f6a6a2f0fefd155ff86386"><div class="ttname"><a href="big__528__60_8h.html#ae3d4bee0c0f6a6a2f0fefd155ff86386">BIG_528_60_dec</a></div><div class="ttdeci">void BIG_528_60_dec(BIG_528_60 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:440</div></div>
+<div class="ttc" id="big__528__60_8h_html_aff238fd209e48e640ebd27b4b4cd099d"><div class="ttname"><a href="big__528__60_8h.html#aff238fd209e48e640ebd27b4b4cd099d">BIG_528_60_diszilch</a></div><div class="ttdeci">int BIG_528_60_diszilch(DBIG_528_60 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:45</div></div>
+<div class="ttc" id="big__528__60_8h_html_a2b7007019f1c0b8884f04e47610b5440"><div class="ttname"><a href="big__528__60_8h.html#a2b7007019f1c0b8884f04e47610b5440">BIG_528_60_mod</a></div><div class="ttdeci">void BIG_528_60_mod(BIG_528_60 x, BIG_528_60 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1082</div></div>
 <div class="ttc" id="big__528__60_8h_html_a68dfa3c0a4a228a1aaa5fb4457eda3ed"><div class="ttname"><a href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">HBITS_528_60</a></div><div class="ttdeci">#define HBITS_528_60</div><div class="ttdef"><b>Definition:</b> big_528_60.h:45</div></div>
-<div class="ttc" id="big__528__60_8h_html_a6dd760b3465e82ce1c3e17bc900b4d42"><div class="ttname"><a href="big__528__60_8h.html#a6dd760b3465e82ce1c3e17bc900b4d42">BIG_528_60_parity</a></div><div class="ttdeci">int BIG_528_60_parity(BIG_528_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1225</div></div>
-<div class="ttc" id="big__528__60_8h_html_ac0adb2a7cb33157a2892edc9ef6f3fac"><div class="ttname"><a href="big__528__60_8h.html#ac0adb2a7cb33157a2892edc9ef6f3fac">BIG_528_60_dscopy</a></div><div class="ttdeci">void BIG_528_60_dscopy(DBIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:263</div></div>
-<div class="ttc" id="big__528__60_8h_html_a3b0db7a38d3eebd1bd95caba13b2a20c"><div class="ttname"><a href="big__528__60_8h.html#a3b0db7a38d3eebd1bd95caba13b2a20c">BIG_528_60_fromBytes</a></div><div class="ttdeci">void BIG_528_60_fromBytes(BIG_528_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:155</div></div>
+<div class="ttc" id="big__528__60_8h_html_a6dd760b3465e82ce1c3e17bc900b4d42"><div class="ttname"><a href="big__528__60_8h.html#a6dd760b3465e82ce1c3e17bc900b4d42">BIG_528_60_parity</a></div><div class="ttdeci">int BIG_528_60_parity(BIG_528_60 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1225</div></div>
+<div class="ttc" id="big__528__60_8h_html_ac0adb2a7cb33157a2892edc9ef6f3fac"><div class="ttname"><a href="big__528__60_8h.html#ac0adb2a7cb33157a2892edc9ef6f3fac">BIG_528_60_dscopy</a></div><div class="ttdeci">void BIG_528_60_dscopy(DBIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:263</div></div>
+<div class="ttc" id="big__528__60_8h_html_a3b0db7a38d3eebd1bd95caba13b2a20c"><div class="ttname"><a href="big__528__60_8h.html#a3b0db7a38d3eebd1bd95caba13b2a20c">BIG_528_60_fromBytes</a></div><div class="ttdeci">void BIG_528_60_fromBytes(BIG_528_60 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:155</div></div>
 <div class="ttc" id="big__528__60_8h_html_aec5c7cddc7c36740b0be3af25e3027e3"><div class="ttname"><a href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">DNLEN_528_60</a></div><div class="ttdeci">#define DNLEN_528_60</div><div class="ttdef"><b>Definition:</b> big_528_60.h:41</div></div>
 <div class="ttc" id="config__big__528__60_8h_html_a91a5c5bbb41eb7c762fe1037781fd0ad"><div class="ttname"><a href="config__big__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">BASEBITS_528_60</a></div><div class="ttdeci">#define BASEBITS_528_60</div><div class="ttdef"><b>Definition:</b> config_big_528_60.h:35</div></div>
-<div class="ttc" id="big__528__60_8h_html_a4c6a1c7f682e72d5060c22023646b3d6"><div class="ttname"><a href="big__528__60_8h.html#a4c6a1c7f682e72d5060c22023646b3d6">BIG_528_60_doutput</a></div><div class="ttdeci">void BIG_528_60_doutput(DBIG_528_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:190</div></div>
-<div class="ttc" id="big__528__60_8h_html_ad1b8c06add5d034db6349b47c69ca959"><div class="ttname"><a href="big__528__60_8h.html#ad1b8c06add5d034db6349b47c69ca959">BIG_528_60_rcopy</a></div><div class="ttdeci">void BIG_528_60_rcopy(BIG_528_60 x, const BIG_528_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:239</div></div>
-<div class="ttc" id="big__528__60_8h_html_a437761d0149ea3ac18dd5790504d8d05"><div class="ttname"><a href="big__528__60_8h.html#a437761d0149ea3ac18dd5790504d8d05">BIG_528_60_imul</a></div><div class="ttdeci">void BIG_528_60_imul(BIG_528_60 x, BIG_528_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:450</div></div>
-<div class="ttc" id="big__528__60_8h_html_af07e721818ad5628182e27fed1305de7"><div class="ttname"><a href="big__528__60_8h.html#af07e721818ad5628182e27fed1305de7">BIG_528_60_fromBytesLen</a></div><div class="ttdeci">void BIG_528_60_fromBytesLen(BIG_528_60 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_528_60.c:170</div></div>
-<div class="ttc" id="big__528__60_8h_html_aa72c8b28dd0266fb198a381f81ad983d"><div class="ttname"><a href="big__528__60_8h.html#aa72c8b28dd0266fb198a381f81ad983d">BIG_528_60_sdcopy</a></div><div class="ttdeci">void BIG_528_60_sdcopy(BIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:294</div></div>
+<div class="ttc" id="big__528__60_8h_html_a4c6a1c7f682e72d5060c22023646b3d6"><div class="ttname"><a href="big__528__60_8h.html#a4c6a1c7f682e72d5060c22023646b3d6">BIG_528_60_doutput</a></div><div class="ttdeci">void BIG_528_60_doutput(DBIG_528_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:190</div></div>
+<div class="ttc" id="big__528__60_8h_html_ad1b8c06add5d034db6349b47c69ca959"><div class="ttname"><a href="big__528__60_8h.html#ad1b8c06add5d034db6349b47c69ca959">BIG_528_60_rcopy</a></div><div class="ttdeci">void BIG_528_60_rcopy(BIG_528_60 x, const BIG_528_60 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:239</div></div>
+<div class="ttc" id="big__528__60_8h_html_a437761d0149ea3ac18dd5790504d8d05"><div class="ttname"><a href="big__528__60_8h.html#a437761d0149ea3ac18dd5790504d8d05">BIG_528_60_imul</a></div><div class="ttdeci">void BIG_528_60_imul(BIG_528_60 x, BIG_528_60 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:450</div></div>
+<div class="ttc" id="big__528__60_8h_html_af07e721818ad5628182e27fed1305de7"><div class="ttname"><a href="big__528__60_8h.html#af07e721818ad5628182e27fed1305de7">BIG_528_60_fromBytesLen</a></div><div class="ttdeci">void BIG_528_60_fromBytesLen(BIG_528_60 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_528_60.c:170</div></div>
+<div class="ttc" id="big__528__60_8h_html_aa72c8b28dd0266fb198a381f81ad983d"><div class="ttname"><a href="big__528__60_8h.html#aa72c8b28dd0266fb198a381f81ad983d">BIG_528_60_sdcopy</a></div><div class="ttdeci">void BIG_528_60_sdcopy(BIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:294</div></div>
 <div class="ttc" id="big__528__60_8h_html_a098a5686344d9db2f135c845fc9c83c0"><div class="ttname"><a href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a></div><div class="ttdeci">chunk DBIG_528_60[DNLEN_528_60]</div><div class="ttdef"><b>Definition:</b> big_528_60.h:59</div></div>
-<div class="ttc" id="big__528__60_8h_html_a0d58fea19575ff26b33eb4a528397f37"><div class="ttname"><a href="big__528__60_8h.html#a0d58fea19575ff26b33eb4a528397f37">BIG_528_60_dnorm</a></div><div class="ttdeci">void BIG_528_60_dnorm(DBIG_528_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:995</div></div>
-<div class="ttc" id="big__528__60_8h_html_af9503e5aac5e601d8d8c30aea8f06517"><div class="ttname"><a href="big__528__60_8h.html#af9503e5aac5e601d8d8c30aea8f06517">BIG_528_60_modsqr</a></div><div class="ttdeci">void BIG_528_60_modsqr(BIG_528_60 x, BIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1315</div></div>
+<div class="ttc" id="big__528__60_8h_html_a0d58fea19575ff26b33eb4a528397f37"><div class="ttname"><a href="big__528__60_8h.html#a0d58fea19575ff26b33eb4a528397f37">BIG_528_60_dnorm</a></div><div class="ttdeci">void BIG_528_60_dnorm(DBIG_528_60 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:995</div></div>
+<div class="ttc" id="big__528__60_8h_html_af9503e5aac5e601d8d8c30aea8f06517"><div class="ttname"><a href="big__528__60_8h.html#af9503e5aac5e601d8d8c30aea8f06517">BIG_528_60_modsqr</a></div><div class="ttdeci">void BIG_528_60_modsqr(BIG_528_60 x, BIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1315</div></div>
 <div class="ttc" id="big__528__60_8h_html_a8102cf5b999d22700d2207896a2fcb07"><div class="ttname"><a href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">NLEN_528_60</a></div><div class="ttdeci">#define NLEN_528_60</div><div class="ttdef"><b>Definition:</b> big_528_60.h:40</div></div>
-<div class="ttc" id="big__528__60_8h_html_aa7eccd1556fbc607020672682b24a3d8"><div class="ttname"><a href="big__528__60_8h.html#aa7eccd1556fbc607020672682b24a3d8">BIG_528_60_sqr</a></div><div class="ttdeci">void BIG_528_60_sqr(DBIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:618</div></div>
-<div class="ttc" id="big__528__60_8h_html_a89efcca64d0079585a0a0b0df6ac2b59"><div class="ttname"><a href="big__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59">BIG_528_60_invmod2m</a></div><div class="ttdeci">void BIG_528_60_invmod2m(BIG_528_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
+<div class="ttc" id="big__528__60_8h_html_aa7eccd1556fbc607020672682b24a3d8"><div class="ttname"><a href="big__528__60_8h.html#aa7eccd1556fbc607020672682b24a3d8">BIG_528_60_sqr</a></div><div class="ttdeci">void BIG_528_60_sqr(DBIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:618</div></div>
+<div class="ttc" id="big__528__60_8h_html_a89efcca64d0079585a0a0b0df6ac2b59"><div class="ttname"><a href="big__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59">BIG_528_60_invmod2m</a></div><div class="ttdeci">void BIG_528_60_invmod2m(BIG_528_60 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1432</div></div>
 <div class="ttc" id="big__528__60_8h_html_a980ed86f744ab07fa9a935985e1c1b8c"><div class="ttname"><a href="big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">HMASK_528_60</a></div><div class="ttdeci">#define HMASK_528_60</div><div class="ttdef"><b>Definition:</b> big_528_60.h:46</div></div>
-<div class="ttc" id="big__528__60_8h_html_a5fb2154ac604877876cda256ea4ff4ef"><div class="ttname"><a href="big__528__60_8h.html#a5fb2154ac604877876cda256ea4ff4ef">BIG_528_60_lastbits</a></div><div class="ttdeci">int BIG_528_60_lastbits(BIG_528_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1240</div></div>
-<div class="ttc" id="big__528__60_8h_html_adc9ee9ea4f146c1c456f796cbfcaac74"><div class="ttname"><a href="big__528__60_8h.html#adc9ee9ea4f146c1c456f796cbfcaac74">BIG_528_60_norm</a></div><div class="ttdeci">chunk BIG_528_60_norm(BIG_528_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:976</div></div>
-<div class="ttc" id="big__528__60_8h_html_a66d8cba96f29d745eac30096f681af08"><div class="ttname"><a href="big__528__60_8h.html#a66d8cba96f29d745eac30096f681af08">BIG_528_60_sub</a></div><div class="ttdeci">void BIG_528_60_sub(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:397</div></div>
-<div class="ttc" id="big__528__60_8h_html_aba50c9234f8f7538cb3521cc5f95214b"><div class="ttname"><a href="big__528__60_8h.html#aba50c9234f8f7538cb3521cc5f95214b">BIG_528_60_randomnum</a></div><div class="ttdeci">void BIG_528_60_randomnum(BIG_528_60 x, BIG_528_60 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_528_60.c:1274</div></div>
-<div class="ttc" id="big__528__60_8h_html_aa3c79d99bca7bb9cca3aa2f9a5f33563"><div class="ttname"><a href="big__528__60_8h.html#aa3c79d99bca7bb9cca3aa2f9a5f33563">BIG_528_60_mod2m</a></div><div class="ttdeci">void BIG_528_60_mod2m(BIG_528_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1456</div></div>
+<div class="ttc" id="big__528__60_8h_html_a5fb2154ac604877876cda256ea4ff4ef"><div class="ttname"><a href="big__528__60_8h.html#a5fb2154ac604877876cda256ea4ff4ef">BIG_528_60_lastbits</a></div><div class="ttdeci">int BIG_528_60_lastbits(BIG_528_60 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1240</div></div>
+<div class="ttc" id="big__528__60_8h_html_adc9ee9ea4f146c1c456f796cbfcaac74"><div class="ttname"><a href="big__528__60_8h.html#adc9ee9ea4f146c1c456f796cbfcaac74">BIG_528_60_norm</a></div><div class="ttdeci">chunk BIG_528_60_norm(BIG_528_60 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:976</div></div>
+<div class="ttc" id="big__528__60_8h_html_a66d8cba96f29d745eac30096f681af08"><div class="ttname"><a href="big__528__60_8h.html#a66d8cba96f29d745eac30096f681af08">BIG_528_60_sub</a></div><div class="ttdeci">void BIG_528_60_sub(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:397</div></div>
+<div class="ttc" id="big__528__60_8h_html_aba50c9234f8f7538cb3521cc5f95214b"><div class="ttname"><a href="big__528__60_8h.html#aba50c9234f8f7538cb3521cc5f95214b">BIG_528_60_randomnum</a></div><div class="ttdeci">void BIG_528_60_randomnum(BIG_528_60 x, BIG_528_60 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_528_60.c:1274</div></div>
+<div class="ttc" id="big__528__60_8h_html_aa3c79d99bca7bb9cca3aa2f9a5f33563"><div class="ttname"><a href="big__528__60_8h.html#aa3c79d99bca7bb9cca3aa2f9a5f33563">BIG_528_60_mod2m</a></div><div class="ttdeci">void BIG_528_60_mod2m(BIG_528_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1540</div></div>
 <div class="ttc" id="big__528__60_8h_html_ade18a9e3fa4228fa38fec165eb5f7b9c"><div class="ttname"><a href="big__528__60_8h.html#ade18a9e3fa4228fa38fec165eb5f7b9c">BIG_528_60_fshl</a></div><div class="ttdeci">int BIG_528_60_fshl(BIG_528_60 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_528_60.c:832</div></div>
-<div class="ttc" id="big__528__60_8h_html_a1aaca83012b7812f50e16092f344c719"><div class="ttname"><a href="big__528__60_8h.html#a1aaca83012b7812f50e16092f344c719">BIG_528_60_bit</a></div><div class="ttdeci">int BIG_528_60_bit(BIG_528_60 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1232</div></div>
-<div class="ttc" id="big__528__60_8h_html_ab2ad1bb8fbec376e05c5d6a5bbe0852f"><div class="ttname"><a href="big__528__60_8h.html#ab2ad1bb8fbec376e05c5d6a5bbe0852f">BIG_528_60_nbits</a></div><div class="ttdeci">int BIG_528_60_nbits(BIG_528_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1040</div></div>
-<div class="ttc" id="big__528__60_8h_html_ab49866685a868acc706e3046069549ec"><div class="ttname"><a href="big__528__60_8h.html#ab49866685a868acc706e3046069549ec">BIG_528_60_sducopy</a></div><div class="ttdeci">void BIG_528_60_sducopy(BIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:306</div></div>
-<div class="ttc" id="big__528__60_8h_html_ae6b13bb21e5076ea57b4fd81403ecea2"><div class="ttname"><a href="big__528__60_8h.html#ae6b13bb21e5076ea57b4fd81403ecea2">BIG_528_60_dnbits</a></div><div class="ttdeci">int BIG_528_60_dnbits(DBIG_528_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1060</div></div>
-<div class="ttc" id="config__big__528__60_8h_html"><div class="ttname"><a href="config__big__528__60_8h.html">config_big_528_60.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__528__60_8h_html_a40eeadc526e62ca44e7e3046ce56162e"><div class="ttname"><a href="big__528__60_8h.html#a40eeadc526e62ca44e7e3046ce56162e">BIG_528_60_dmod2m</a></div><div class="ttdeci">void BIG_528_60_dmod2m(DBIG_528_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1470</div></div>
-<div class="ttc" id="big__528__60_8h_html_a67ee719969fa5c88c0cc057075d166be"><div class="ttname"><a href="big__528__60_8h.html#a67ee719969fa5c88c0cc057075d166be">BIG_528_60_drawoutput</a></div><div class="ttdeci">void BIG_528_60_drawoutput(DBIG_528_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:212</div></div>
-<div class="ttc" id="big__528__60_8h_html_a6be57efef61770e617565f9604e4c938"><div class="ttname"><a href="big__528__60_8h.html#a6be57efef61770e617565f9604e4c938">BIG_528_60_pxmul</a></div><div class="ttdeci">void BIG_528_60_pxmul(DBIG_528_60 x, BIG_528_60 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_528_60.c:501</div></div>
-<div class="ttc" id="big__528__60_8h_html_a3957eaba67b5067f34e2c6f46fef9f01"><div class="ttname"><a href="big__528__60_8h.html#a3957eaba67b5067f34e2c6f46fef9f01">BIG_528_60_dcmove</a></div><div class="ttdeci">void BIG_528_60_dcmove(BIG_528_60 x, BIG_528_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__528__60_8h_html_a41d31b72e48817a68641ba050f81a798"><div class="ttname"><a href="big__528__60_8h.html#a41d31b72e48817a68641ba050f81a798">BIG_528_60_dsub</a></div><div class="ttdeci">void BIG_528_60_dsub(DBIG_528_60 x, DBIG_528_60 y, DBIG_528_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:413</div></div>
-<div class="ttc" id="big__528__60_8h_html_aee92758a1cbe733b7b3ed65cc8abaf5b"><div class="ttname"><a href="big__528__60_8h.html#aee92758a1cbe733b7b3ed65cc8abaf5b">BIG_528_60_jacobi</a></div><div class="ttdeci">int BIG_528_60_jacobi(BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1354</div></div>
-<div class="ttc" id="big__528__60_8h_html_adccc6fb715a79eb25fb57c3065850ad1"><div class="ttname"><a href="big__528__60_8h.html#adccc6fb715a79eb25fb57c3065850ad1">BIG_528_60_cmove</a></div><div class="ttdeci">void BIG_528_60_cmove(BIG_528_60 x, BIG_528_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:110</div></div>
-<div class="ttc" id="big__528__60_8h_html_af3ef59790363f51106380370dc37a706"><div class="ttname"><a href="big__528__60_8h.html#af3ef59790363f51106380370dc37a706">BIG_528_60_smul</a></div><div class="ttdeci">void BIG_528_60_smul(BIG_528_60 x, BIG_528_60 y, BIG_528_60 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_528_60.c:518</div></div>
-<div class="ttc" id="big__528__60_8h_html_abef734408d3554c0c7339426d209ead7"><div class="ttname"><a href="big__528__60_8h.html#abef734408d3554c0c7339426d209ead7">BIG_528_60_shr</a></div><div class="ttdeci">void BIG_528_60_shr(BIG_528_60 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_528_60.c:864</div></div>
-<div class="ttc" id="big__528__60_8h_html_a85c6445b4894c6a920cb3b6cc3cc8aca"><div class="ttname"><a href="big__528__60_8h.html#a85c6445b4894c6a920cb3b6cc3cc8aca">BIG_528_60_mul</a></div><div class="ttdeci">void BIG_528_60_mul(DBIG_528_60 x, BIG_528_60 y, BIG_528_60 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_528_60.c:542</div></div>
-<div class="ttc" id="big__528__60_8h_html_ab538407c81f981ef61fb5a9542daa811"><div class="ttname"><a href="big__528__60_8h.html#ab538407c81f981ef61fb5a9542daa811">BIG_528_60_inc</a></div><div class="ttdeci">void BIG_528_60_inc(BIG_528_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:386</div></div>
-<div class="ttc" id="big__528__60_8h_html_a2cf3a406c08eac4a7f60cb209eb032ab"><div class="ttname"><a href="big__528__60_8h.html#a2cf3a406c08eac4a7f60cb209eb032ab">BIG_528_60_add</a></div><div class="ttdeci">void BIG_528_60_add(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:356</div></div>
-<div class="ttc" id="big__528__60_8h_html_a00690db44ca9b2f88aa085e18f9560c7"><div class="ttname"><a href="big__528__60_8h.html#a00690db44ca9b2f88aa085e18f9560c7">BIG_528_60_split</a></div><div class="ttdeci">chunk BIG_528_60_split(BIG_528_60 x, BIG_528_60 y, DBIG_528_60 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_528_60.c:932</div></div>
-<div class="ttc" id="big__528__60_8h_html_a588b075709147356f22a6a0852ef2ef5"><div class="ttname"><a href="big__528__60_8h.html#a588b075709147356f22a6a0852ef2ef5">BIG_528_60_dzero</a></div><div class="ttdeci">void BIG_528_60_dzero(DBIG_528_60 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:329</div></div>
-<div class="ttc" id="big__528__60_8h_html_a0e2d51227feb088c1bceeb5393ac49b1"><div class="ttname"><a href="big__528__60_8h.html#a0e2d51227feb088c1bceeb5393ac49b1">BIG_528_60_modneg</a></div><div class="ttdeci">void BIG_528_60_modneg(BIG_528_60 x, BIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1327</div></div>
-<div class="ttc" id="big__528__60_8h_html_a4c930b804cf2dce72ce1c0e36afcce45"><div class="ttname"><a href="big__528__60_8h.html#a4c930b804cf2dce72ce1c0e36afcce45">BIG_528_60_dcopy</a></div><div class="ttdeci">void BIG_528_60_dcopy(DBIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:251</div></div>
-<div class="ttc" id="big__528__60_8h_html_ac19e357a0ee4160210709ceae20fd13a"><div class="ttname"><a href="big__528__60_8h.html#ac19e357a0ee4160210709ceae20fd13a">BIG_528_60_dadd</a></div><div class="ttdeci">void BIG_528_60_dadd(DBIG_528_60 x, DBIG_528_60 y, DBIG_528_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:426</div></div>
-<div class="ttc" id="big__528__60_8h_html_a38d5b3e59388ca394dea367bfb67657e"><div class="ttname"><a href="big__528__60_8h.html#a38d5b3e59388ca394dea367bfb67657e">BIG_528_60_pmul</a></div><div class="ttdeci">chunk BIG_528_60_pmul(BIG_528_60 x, BIG_528_60 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_528_60.c:465</div></div>
-<div class="ttc" id="big__528__60_8h_html_ab27955873faca327f00f59d01f0fd316"><div class="ttname"><a href="big__528__60_8h.html#ab27955873faca327f00f59d01f0fd316">BIG_528_60_zero</a></div><div class="ttdeci">void BIG_528_60_zero(BIG_528_60 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:319</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__528__60_8h_html_a1eaf5799f2598d757be200b3e74e1a19"><div class="ttname"><a href="big__528__60_8h.html#a1eaf5799f2598d757be200b3e74e1a19">BIG_528_60_shl</a></div><div class="ttdeci">void BIG_528_60_shl(BIG_528_60 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_528_60.c:813</div></div>
-<div class="ttc" id="big__528__60_8h_html_a29dc0ff3231d7378219f1a03b8fd6874"><div class="ttname"><a href="big__528__60_8h.html#a29dc0ff3231d7378219f1a03b8fd6874">BIG_528_60_rawoutput</a></div><div class="ttdeci">void BIG_528_60_rawoutput(BIG_528_60 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_528_60.c:77</div></div>
-<div class="ttc" id="big__528__60_8h_html_ad4fc31837dd06b0c2e06b5eef3d8d1bf"><div class="ttname"><a href="big__528__60_8h.html#ad4fc31837dd06b0c2e06b5eef3d8d1bf">BIG_528_60_toBytes</a></div><div class="ttdeci">void BIG_528_60_toBytes(char *a, BIG_528_60 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:141</div></div>
+<div class="ttc" id="big__528__60_8h_html_a1aaca83012b7812f50e16092f344c719"><div class="ttname"><a href="big__528__60_8h.html#a1aaca83012b7812f50e16092f344c719">BIG_528_60_bit</a></div><div class="ttdeci">int BIG_528_60_bit(BIG_528_60 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1232</div></div>
+<div class="ttc" id="big__528__60_8h_html_ab2ad1bb8fbec376e05c5d6a5bbe0852f"><div class="ttname"><a href="big__528__60_8h.html#ab2ad1bb8fbec376e05c5d6a5bbe0852f">BIG_528_60_nbits</a></div><div class="ttdeci">int BIG_528_60_nbits(BIG_528_60 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1040</div></div>
+<div class="ttc" id="big__528__60_8h_html_ab49866685a868acc706e3046069549ec"><div class="ttname"><a href="big__528__60_8h.html#ab49866685a868acc706e3046069549ec">BIG_528_60_sducopy</a></div><div class="ttdeci">void BIG_528_60_sducopy(BIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:306</div></div>
+<div class="ttc" id="big__528__60_8h_html_ae6b13bb21e5076ea57b4fd81403ecea2"><div class="ttname"><a href="big__528__60_8h.html#ae6b13bb21e5076ea57b4fd81403ecea2">BIG_528_60_dnbits</a></div><div class="ttdeci">int BIG_528_60_dnbits(DBIG_528_60 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1060</div></div>
+<div class="ttc" id="config__big__528__60_8h_html"><div class="ttname"><a href="config__big__528__60_8h.html">config_big_528_60.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__528__60_8h_html_a40eeadc526e62ca44e7e3046ce56162e"><div class="ttname"><a href="big__528__60_8h.html#a40eeadc526e62ca44e7e3046ce56162e">BIG_528_60_dmod2m</a></div><div class="ttdeci">void BIG_528_60_dmod2m(DBIG_528_60 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1554</div></div>
+<div class="ttc" id="big__528__60_8h_html_a67ee719969fa5c88c0cc057075d166be"><div class="ttname"><a href="big__528__60_8h.html#a67ee719969fa5c88c0cc057075d166be">BIG_528_60_drawoutput</a></div><div class="ttdeci">void BIG_528_60_drawoutput(DBIG_528_60 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:212</div></div>
+<div class="ttc" id="big__528__60_8h_html_a6be57efef61770e617565f9604e4c938"><div class="ttname"><a href="big__528__60_8h.html#a6be57efef61770e617565f9604e4c938">BIG_528_60_pxmul</a></div><div class="ttdeci">void BIG_528_60_pxmul(DBIG_528_60 x, BIG_528_60 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_528_60.c:501</div></div>
+<div class="ttc" id="big__528__60_8h_html_a3957eaba67b5067f34e2c6f46fef9f01"><div class="ttname"><a href="big__528__60_8h.html#a3957eaba67b5067f34e2c6f46fef9f01">BIG_528_60_dcmove</a></div><div class="ttdeci">void BIG_528_60_dcmove(BIG_528_60 x, BIG_528_60 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__528__60_8h_html_a41d31b72e48817a68641ba050f81a798"><div class="ttname"><a href="big__528__60_8h.html#a41d31b72e48817a68641ba050f81a798">BIG_528_60_dsub</a></div><div class="ttdeci">void BIG_528_60_dsub(DBIG_528_60 x, DBIG_528_60 y, DBIG_528_60 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:413</div></div>
+<div class="ttc" id="big__528__60_8h_html_aee92758a1cbe733b7b3ed65cc8abaf5b"><div class="ttname"><a href="big__528__60_8h.html#aee92758a1cbe733b7b3ed65cc8abaf5b">BIG_528_60_jacobi</a></div><div class="ttdeci">int BIG_528_60_jacobi(BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1354</div></div>
+<div class="ttc" id="big__528__60_8h_html_adccc6fb715a79eb25fb57c3065850ad1"><div class="ttname"><a href="big__528__60_8h.html#adccc6fb715a79eb25fb57c3065850ad1">BIG_528_60_cmove</a></div><div class="ttdeci">void BIG_528_60_cmove(BIG_528_60 x, BIG_528_60 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:110</div></div>
+<div class="ttc" id="big__528__60_8h_html_af3ef59790363f51106380370dc37a706"><div class="ttname"><a href="big__528__60_8h.html#af3ef59790363f51106380370dc37a706">BIG_528_60_smul</a></div><div class="ttdeci">void BIG_528_60_smul(BIG_528_60 x, BIG_528_60 y, BIG_528_60 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_528_60.c:518</div></div>
+<div class="ttc" id="big__528__60_8h_html_abef734408d3554c0c7339426d209ead7"><div class="ttname"><a href="big__528__60_8h.html#abef734408d3554c0c7339426d209ead7">BIG_528_60_shr</a></div><div class="ttdeci">void BIG_528_60_shr(BIG_528_60 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_528_60.c:864</div></div>
+<div class="ttc" id="big__528__60_8h_html_a85c6445b4894c6a920cb3b6cc3cc8aca"><div class="ttname"><a href="big__528__60_8h.html#a85c6445b4894c6a920cb3b6cc3cc8aca">BIG_528_60_mul</a></div><div class="ttdeci">void BIG_528_60_mul(DBIG_528_60 x, BIG_528_60 y, BIG_528_60 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_528_60.c:542</div></div>
+<div class="ttc" id="big__528__60_8h_html_ab538407c81f981ef61fb5a9542daa811"><div class="ttname"><a href="big__528__60_8h.html#ab538407c81f981ef61fb5a9542daa811">BIG_528_60_inc</a></div><div class="ttdeci">void BIG_528_60_inc(BIG_528_60 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:386</div></div>
+<div class="ttc" id="big__528__60_8h_html_a2cf3a406c08eac4a7f60cb209eb032ab"><div class="ttname"><a href="big__528__60_8h.html#a2cf3a406c08eac4a7f60cb209eb032ab">BIG_528_60_add</a></div><div class="ttdeci">void BIG_528_60_add(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:356</div></div>
+<div class="ttc" id="big__528__60_8h_html_a00690db44ca9b2f88aa085e18f9560c7"><div class="ttname"><a href="big__528__60_8h.html#a00690db44ca9b2f88aa085e18f9560c7">BIG_528_60_split</a></div><div class="ttdeci">chunk BIG_528_60_split(BIG_528_60 x, BIG_528_60 y, DBIG_528_60 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_528_60.c:932</div></div>
+<div class="ttc" id="big__528__60_8h_html_a588b075709147356f22a6a0852ef2ef5"><div class="ttname"><a href="big__528__60_8h.html#a588b075709147356f22a6a0852ef2ef5">BIG_528_60_dzero</a></div><div class="ttdeci">void BIG_528_60_dzero(DBIG_528_60 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:329</div></div>
+<div class="ttc" id="big__528__60_8h_html_a0e2d51227feb088c1bceeb5393ac49b1"><div class="ttname"><a href="big__528__60_8h.html#a0e2d51227feb088c1bceeb5393ac49b1">BIG_528_60_modneg</a></div><div class="ttdeci">void BIG_528_60_modneg(BIG_528_60 x, BIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1327</div></div>
+<div class="ttc" id="big__528__60_8h_html_a4c930b804cf2dce72ce1c0e36afcce45"><div class="ttname"><a href="big__528__60_8h.html#a4c930b804cf2dce72ce1c0e36afcce45">BIG_528_60_dcopy</a></div><div class="ttdeci">void BIG_528_60_dcopy(DBIG_528_60 x, DBIG_528_60 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:251</div></div>
+<div class="ttc" id="big__528__60_8h_html_ac19e357a0ee4160210709ceae20fd13a"><div class="ttname"><a href="big__528__60_8h.html#ac19e357a0ee4160210709ceae20fd13a">BIG_528_60_dadd</a></div><div class="ttdeci">void BIG_528_60_dadd(DBIG_528_60 x, DBIG_528_60 y, DBIG_528_60 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:426</div></div>
+<div class="ttc" id="big__528__60_8h_html_a38d5b3e59388ca394dea367bfb67657e"><div class="ttname"><a href="big__528__60_8h.html#a38d5b3e59388ca394dea367bfb67657e">BIG_528_60_pmul</a></div><div class="ttdeci">chunk BIG_528_60_pmul(BIG_528_60 x, BIG_528_60 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_528_60.c:465</div></div>
+<div class="ttc" id="big__528__60_8h_html_ab27955873faca327f00f59d01f0fd316"><div class="ttname"><a href="big__528__60_8h.html#ab27955873faca327f00f59d01f0fd316">BIG_528_60_zero</a></div><div class="ttdeci">void BIG_528_60_zero(BIG_528_60 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:319</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__528__60_8h_html_a1eaf5799f2598d757be200b3e74e1a19"><div class="ttname"><a href="big__528__60_8h.html#a1eaf5799f2598d757be200b3e74e1a19">BIG_528_60_shl</a></div><div class="ttdeci">void BIG_528_60_shl(BIG_528_60 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_528_60.c:813</div></div>
+<div class="ttc" id="big__528__60_8h_html_a29dc0ff3231d7378219f1a03b8fd6874"><div class="ttname"><a href="big__528__60_8h.html#a29dc0ff3231d7378219f1a03b8fd6874">BIG_528_60_rawoutput</a></div><div class="ttdeci">void BIG_528_60_rawoutput(BIG_528_60 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_528_60.c:77</div></div>
+<div class="ttc" id="big__528__60_8h_html_ad4fc31837dd06b0c2e06b5eef3d8d1bf"><div class="ttname"><a href="big__528__60_8h.html#ad4fc31837dd06b0c2e06b5eef3d8d1bf">BIG_528_60_toBytes</a></div><div class="ttdeci">void BIG_528_60_toBytes(char *a, BIG_528_60 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:141</div></div>
 <div class="ttc" id="big__528__60_8h_html_ad67156ea1cc03f212979c7ed75eb7a63"><div class="ttname"><a href="big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">BMASK_528_60</a></div><div class="ttdeci">#define BMASK_528_60</div><div class="ttdef"><b>Definition:</b> big_528_60.h:42</div></div>
-<div class="ttc" id="big__528__60_8h_html_a70d1aafa945f2eaf7ccbc90b630f68a7"><div class="ttname"><a href="big__528__60_8h.html#a70d1aafa945f2eaf7ccbc90b630f68a7">BIG_528_60_dmod</a></div><div class="ttdeci">void BIG_528_60_dmod(BIG_528_60 x, DBIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1113</div></div>
-<div class="ttc" id="big__528__60_8h_html_a685960b4c34cadec7e2463562863cdc7"><div class="ttname"><a href="big__528__60_8h.html#a685960b4c34cadec7e2463562863cdc7">BIG_528_60_moddiv</a></div><div class="ttdeci">void BIG_528_60_moddiv(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z, BIG_528_60 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1337</div></div>
-<div class="ttc" id="big__528__60_8h_html_a4a97711862b1cc33244171637681de99"><div class="ttname"><a href="big__528__60_8h.html#a4a97711862b1cc33244171637681de99">BIG_528_60_isunity</a></div><div class="ttdeci">int BIG_528_60_isunity(BIG_528_60 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:35</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__528__60_8h_html_a70d1aafa945f2eaf7ccbc90b630f68a7"><div class="ttname"><a href="big__528__60_8h.html#a70d1aafa945f2eaf7ccbc90b630f68a7">BIG_528_60_dmod</a></div><div class="ttdeci">void BIG_528_60_dmod(BIG_528_60 x, DBIG_528_60 y, BIG_528_60 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1113</div></div>
+<div class="ttc" id="big__528__60_8h_html_a685960b4c34cadec7e2463562863cdc7"><div class="ttname"><a href="big__528__60_8h.html#a685960b4c34cadec7e2463562863cdc7">BIG_528_60_moddiv</a></div><div class="ttdeci">void BIG_528_60_moddiv(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z, BIG_528_60 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1337</div></div>
+<div class="ttc" id="big__528__60_8h_html_a4a97711862b1cc33244171637681de99"><div class="ttname"><a href="big__528__60_8h.html#a4a97711862b1cc33244171637681de99">BIG_528_60_isunity</a></div><div class="ttdeci">int BIG_528_60_isunity(BIG_528_60 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:35</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__528__60_8h_html_ae3bb3641e46ea5c8e65382c1c592ca14"><div class="ttname"><a href="big__528__60_8h.html#ae3bb3641e46ea5c8e65382c1c592ca14">BIG_528_60_modmul</a></div><div class="ttdeci">void BIG_528_60_modmul(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z, BIG_528_60 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1300</div></div>
-<div class="ttc" id="big__528__60_8h_html_ac5e83598d71dc543224c291907ccdbda"><div class="ttname"><a href="big__528__60_8h.html#ac5e83598d71dc543224c291907ccdbda">BIG_528_60_sdiv</a></div><div class="ttdeci">void BIG_528_60_sdiv(BIG_528_60 x, BIG_528_60 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:1188</div></div>
+<div class="ttc" id="big__528__60_8h_html_ae3bb3641e46ea5c8e65382c1c592ca14"><div class="ttname"><a href="big__528__60_8h.html#ae3bb3641e46ea5c8e65382c1c592ca14">BIG_528_60_modmul</a></div><div class="ttdeci">void BIG_528_60_modmul(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z, BIG_528_60 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1300</div></div>
+<div class="ttc" id="big__528__60_8h_html_ac5e83598d71dc543224c291907ccdbda"><div class="ttname"><a href="big__528__60_8h.html#ac5e83598d71dc543224c291907ccdbda">BIG_528_60_sdiv</a></div><div class="ttdeci">void BIG_528_60_sdiv(BIG_528_60 x, BIG_528_60 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:1188</div></div>
 <div class="ttc" id="big__528__60_8h_html_ab581aaabf3f679fbd79b62924003ed94"><div class="ttname"><a href="big__528__60_8h.html#ab581aaabf3f679fbd79b62924003ed94">BIG_528_60_fshr</a></div><div class="ttdeci">int BIG_528_60_fshr(BIG_528_60 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_528_60.c:906</div></div>
-<div class="ttc" id="big__528__60_8h_html_aba9bcbacf3bcd0b59ddcee16d40e1008"><div class="ttname"><a href="big__528__60_8h.html#aba9bcbacf3bcd0b59ddcee16d40e1008">BIG_528_60_dsucopy</a></div><div class="ttdeci">void BIG_528_60_dsucopy(DBIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:280</div></div>
-<div class="ttc" id="big__528__60_8h_html_af20784804ae73ef0b636642f443ac9f2"><div class="ttname"><a href="big__528__60_8h.html#af20784804ae73ef0b636642f443ac9f2">BIG_528_60_one</a></div><div class="ttdeci">void BIG_528_60_one(BIG_528_60 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_528_60.c:340</div></div>
-<div class="ttc" id="big__528__60_8h_html_a72fb6579daef8d9835237d34395dde1f"><div class="ttname"><a href="big__528__60_8h.html#a72fb6579daef8d9835237d34395dde1f">BIG_528_60_ssn</a></div><div class="ttdeci">int BIG_528_60_ssn(BIG_528_60 r, BIG_528_60 a, BIG_528_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:877</div></div>
-<div class="ttc" id="big__528__60_8h_html_a74bdf356863c916fe2538d1c86fe718e"><div class="ttname"><a href="big__528__60_8h.html#a74bdf356863c916fe2538d1c86fe718e">BIG_528_60_copy</a></div><div class="ttdeci">void BIG_528_60_copy(BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:227</div></div>
-<div class="ttc" id="big__528__60_8h_html_a976bb4f31e23e3af5647b811c0169c8e"><div class="ttname"><a href="big__528__60_8h.html#a976bb4f31e23e3af5647b811c0169c8e">BIG_528_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_528_60_dfromBytesLen(DBIG_528_60 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_528_60.c:1485</div></div>
-<div class="ttc" id="big__528__60_8h_html_a824eeb9876ce30bbb8ad7d5b1f7b3d2d"><div class="ttname"><a href="big__528__60_8h.html#a824eeb9876ce30bbb8ad7d5b1f7b3d2d">BIG_528_60_dshr</a></div><div class="ttdeci">void BIG_528_60_dshr(DBIG_528_60 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_528_60.c:918</div></div>
-<div class="ttc" id="big__528__60_8h_html_a2bcbc90c5bc550df435c5d370c8ea6b3"><div class="ttname"><a href="big__528__60_8h.html#a2bcbc90c5bc550df435c5d370c8ea6b3">BIG_528_60_cswap</a></div><div class="ttdeci">void BIG_528_60_cswap(BIG_528_60 x, BIG_528_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:92</div></div>
+<div class="ttc" id="big__528__60_8h_html_aba9bcbacf3bcd0b59ddcee16d40e1008"><div class="ttname"><a href="big__528__60_8h.html#aba9bcbacf3bcd0b59ddcee16d40e1008">BIG_528_60_dsucopy</a></div><div class="ttdeci">void BIG_528_60_dsucopy(DBIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:280</div></div>
+<div class="ttc" id="big__528__60_8h_html_af20784804ae73ef0b636642f443ac9f2"><div class="ttname"><a href="big__528__60_8h.html#af20784804ae73ef0b636642f443ac9f2">BIG_528_60_one</a></div><div class="ttdeci">void BIG_528_60_one(BIG_528_60 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_528_60.c:340</div></div>
+<div class="ttc" id="big__528__60_8h_html_a72fb6579daef8d9835237d34395dde1f"><div class="ttname"><a href="big__528__60_8h.html#a72fb6579daef8d9835237d34395dde1f">BIG_528_60_ssn</a></div><div class="ttdeci">int BIG_528_60_ssn(BIG_528_60 r, BIG_528_60 a, BIG_528_60 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:877</div></div>
+<div class="ttc" id="big__528__60_8h_html_a74bdf356863c916fe2538d1c86fe718e"><div class="ttname"><a href="big__528__60_8h.html#a74bdf356863c916fe2538d1c86fe718e">BIG_528_60_copy</a></div><div class="ttdeci">void BIG_528_60_copy(BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:227</div></div>
+<div class="ttc" id="big__528__60_8h_html_a976bb4f31e23e3af5647b811c0169c8e"><div class="ttname"><a href="big__528__60_8h.html#a976bb4f31e23e3af5647b811c0169c8e">BIG_528_60_dfromBytesLen</a></div><div class="ttdeci">void BIG_528_60_dfromBytesLen(DBIG_528_60 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_528_60.c:1569</div></div>
+<div class="ttc" id="big__528__60_8h_html_a824eeb9876ce30bbb8ad7d5b1f7b3d2d"><div class="ttname"><a href="big__528__60_8h.html#a824eeb9876ce30bbb8ad7d5b1f7b3d2d">BIG_528_60_dshr</a></div><div class="ttdeci">void BIG_528_60_dshr(DBIG_528_60 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_528_60.c:918</div></div>
+<div class="ttc" id="big__528__60_8h_html_a2bcbc90c5bc550df435c5d370c8ea6b3"><div class="ttname"><a href="big__528__60_8h.html#a2bcbc90c5bc550df435c5d370c8ea6b3">BIG_528_60_cswap</a></div><div class="ttdeci">void BIG_528_60_cswap(BIG_528_60 x, BIG_528_60 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:92</div></div>
 <div class="ttc" id="big__528__60_8h_html_a8354e859d13f81a1282d413ad9a00f45"><div class="ttname"><a href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a></div><div class="ttdeci">chunk BIG_528_60[NLEN_528_60]</div><div class="ttdef"><b>Definition:</b> big_528_60.h:58</div></div>
-<div class="ttc" id="big__528__60_8h_html_a9c715e1791d1b6d81c6ddb5028a6cd28"><div class="ttname"><a href="big__528__60_8h.html#a9c715e1791d1b6d81c6ddb5028a6cd28">BIG_528_60_output</a></div><div class="ttdeci">void BIG_528_60_output(BIG_528_60 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:55</div></div>
-<div class="ttc" id="big__528__60_8h_html_af8bbe7fe34b4b090ddc002a774d3d5dc"><div class="ttname"><a href="big__528__60_8h.html#af8bbe7fe34b4b090ddc002a774d3d5dc">BIG_528_60_or</a></div><div class="ttdeci">void BIG_528_60_or(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_528_60.c:371</div></div>
-<div class="ttc" id="big__528__60_8h_html_acd22bb716d27cb98684b7637b6c08a52"><div class="ttname"><a href="big__528__60_8h.html#acd22bb716d27cb98684b7637b6c08a52">BIG_528_60_dshl</a></div><div class="ttdeci">void BIG_528_60_dshl(DBIG_528_60 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_528_60.c:846</div></div>
+<div class="ttc" id="big__528__60_8h_html_a9c715e1791d1b6d81c6ddb5028a6cd28"><div class="ttname"><a href="big__528__60_8h.html#a9c715e1791d1b6d81c6ddb5028a6cd28">BIG_528_60_output</a></div><div class="ttdeci">void BIG_528_60_output(BIG_528_60 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:55</div></div>
+<div class="ttc" id="big__528__60_8h_html_af8bbe7fe34b4b090ddc002a774d3d5dc"><div class="ttname"><a href="big__528__60_8h.html#af8bbe7fe34b4b090ddc002a774d3d5dc">BIG_528_60_or</a></div><div class="ttdeci">void BIG_528_60_or(BIG_528_60 x, BIG_528_60 y, BIG_528_60 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_528_60.c:371</div></div>
+<div class="ttc" id="big__528__60_8h_html_acd22bb716d27cb98684b7637b6c08a52"><div class="ttname"><a href="big__528__60_8h.html#acd22bb716d27cb98684b7637b6c08a52">BIG_528_60_dshl</a></div><div class="ttdeci">void BIG_528_60_dshl(DBIG_528_60 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_528_60.c:846</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__560__29_8h.html b/website/static/cdocs/big__560__29_8h.html
deleted file mode 100644
index 766e858..0000000
--- a/website/static/cdocs/big__560__29_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_560_29.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_560_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
-<code>#include &lt;stdlib.h&gt;</code><br />
-<code>#include &lt;inttypes.h&gt;</code><br />
-<code>#include &quot;<a class="el" href="arch_8h_source.html">arch.h</a>&quot;</code><br />
-<code>#include &quot;amcl.h&quot;</code><br />
-<code>#include &quot;<a class="el" href="config__big__560__29_8h_source.html">config_big_560_29.h</a>&quot;</code><br />
-</div>
-<p><a href="big__560__29_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:a02bdf4e3336ecd6241c01b103495ca3f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a02bdf4e3336ecd6241c01b103495ca3f">BIGBITS_560_29</a>&#160;&#160;&#160;(8*<a class="el" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">MODBYTES_560_29</a>)</td></tr>
-<tr class="separator:a02bdf4e3336ecd6241c01b103495ca3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd3a5ec7116d01064ff1d4af3e45ae9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a>&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">MODBYTES_560_29</a>-1)/<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>))</td></tr>
-<tr class="separator:abd3a5ec7116d01064ff1d4af3e45ae9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aee21b520738166490cd1a8e186b7e626"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">DNLEN_560_29</a>&#160;&#160;&#160;2*<a class="el" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a></td></tr>
-<tr class="separator:aee21b520738166490cd1a8e186b7e626"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6ac7afc11cde3738182e8271cbdd9249"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249">BMASK_560_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>)-1)</td></tr>
-<tr class="separator:a6ac7afc11cde3738182e8271cbdd9249"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af547bb109561c1676dd7fa6d28c4c56c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#af547bb109561c1676dd7fa6d28c4c56c">NEXCESS_560_29</a>&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>-1))</td></tr>
-<tr class="separator:af547bb109561c1676dd7fa6d28c4c56c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a52abaf5dd19e66d456c2b56924f157d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</a>&#160;&#160;&#160;(<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>/2)</td></tr>
-<tr class="separator:a52abaf5dd19e66d456c2b56924f157d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae5f8a926c180262884b2c3b358723877"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">HMASK_560_29</a>&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</a>)-1)</td></tr>
-<tr class="separator:ae5f8a926c180262884b2c3b358723877"><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:aec67ad7ff5a92e798e5f90f381c6d795"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>[<a class="el" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a>]</td></tr>
-<tr class="separator:aec67ad7ff5a92e798e5f90f381c6d795"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7818af0d01e6ace9d78004cdd85e2959"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>[<a class="el" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">DNLEN_560_29</a>]</td></tr>
-<tr class="separator:a7818af0d01e6ace9d78004cdd85e2959"><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:afb68b5fa13e176d7e32a2057b71ac780"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#afb68b5fa13e176d7e32a2057b71ac780">BIG_560_29_iszilch</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:afb68b5fa13e176d7e32a2057b71ac780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to zero.  <a href="#afb68b5fa13e176d7e32a2057b71ac780">More...</a><br /></td></tr>
-<tr class="separator:afb68b5fa13e176d7e32a2057b71ac780"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a5cdd4dfe0e6aba419a75f49243ad43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a2a5cdd4dfe0e6aba419a75f49243ad43">BIG_560_29_isunity</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a2a5cdd4dfe0e6aba419a75f49243ad43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for BIG equal to one.  <a href="#a2a5cdd4dfe0e6aba419a75f49243ad43">More...</a><br /></td></tr>
-<tr class="separator:a2a5cdd4dfe0e6aba419a75f49243ad43"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8dcbefb1a36e50d3f9b241573ef9a07"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aa8dcbefb1a36e50d3f9b241573ef9a07">BIG_560_29_diszilch</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x)</td></tr>
-<tr class="memdesc:aa8dcbefb1a36e50d3f9b241573ef9a07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for DBIG equal to zero.  <a href="#aa8dcbefb1a36e50d3f9b241573ef9a07">More...</a><br /></td></tr>
-<tr class="separator:aa8dcbefb1a36e50d3f9b241573ef9a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5057ccb43e0e7eb9f8aea795ac62aaa7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5057ccb43e0e7eb9f8aea795ac62aaa7">BIG_560_29_output</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a5057ccb43e0e7eb9f8aea795ac62aaa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console.  <a href="#a5057ccb43e0e7eb9f8aea795ac62aaa7">More...</a><br /></td></tr>
-<tr class="separator:a5057ccb43e0e7eb9f8aea795ac62aaa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5bc5722658a94b5247a1609571487fe0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5bc5722658a94b5247a1609571487fe0">BIG_560_29_rawoutput</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a5bc5722658a94b5247a1609571487fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a BIG number to the console in raw form (for debugging)  <a href="#a5bc5722658a94b5247a1609571487fe0">More...</a><br /></td></tr>
-<tr class="separator:a5bc5722658a94b5247a1609571487fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5986aced3f00297a9b7aefa2088a2aa0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5986aced3f00297a9b7aefa2088a2aa0">BIG_560_29_cswap</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, int s)</td></tr>
-<tr class="memdesc:a5986aced3f00297a9b7aefa2088a2aa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional constant time swap of two BIG numbers.  <a href="#a5986aced3f00297a9b7aefa2088a2aa0">More...</a><br /></td></tr>
-<tr class="separator:a5986aced3f00297a9b7aefa2088a2aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a08c0a219dcc9ba548194f3fb07ddd338"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a08c0a219dcc9ba548194f3fb07ddd338">BIG_560_29_cmove</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, int s)</td></tr>
-<tr class="memdesc:a08c0a219dcc9ba548194f3fb07ddd338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of BIG number.  <a href="#a08c0a219dcc9ba548194f3fb07ddd338">More...</a><br /></td></tr>
-<tr class="separator:a08c0a219dcc9ba548194f3fb07ddd338"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a70647835b3562e8015dca7f80f008b66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a70647835b3562e8015dca7f80f008b66">BIG_560_29_dcmove</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, int s)</td></tr>
-<tr class="memdesc:a70647835b3562e8015dca7f80f008b66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditional copy of DBIG number.  <a href="#a70647835b3562e8015dca7f80f008b66">More...</a><br /></td></tr>
-<tr class="separator:a70647835b3562e8015dca7f80f008b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a54e02dc726f8824e62759a2fa14b59a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a54e02dc726f8824e62759a2fa14b59a5">BIG_560_29_toBytes</a> (char *a, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a54e02dc726f8824e62759a2fa14b59a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from BIG number to byte array.  <a href="#a54e02dc726f8824e62759a2fa14b59a5">More...</a><br /></td></tr>
-<tr class="separator:a54e02dc726f8824e62759a2fa14b59a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8fa45c00b5827a65847d7f4a09cb296f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a8fa45c00b5827a65847d7f4a09cb296f">BIG_560_29_fromBytes</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, char *a)</td></tr>
-<tr class="memdesc:a8fa45c00b5827a65847d7f4a09cb296f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array.  <a href="#a8fa45c00b5827a65847d7f4a09cb296f">More...</a><br /></td></tr>
-<tr class="separator:a8fa45c00b5827a65847d7f4a09cb296f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e21437235e92875a043ef7b29d0e54c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5e21437235e92875a043ef7b29d0e54c">BIG_560_29_fromBytesLen</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:a5e21437235e92875a043ef7b29d0e54c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to BIG number from byte array of given length.  <a href="#a5e21437235e92875a043ef7b29d0e54c">More...</a><br /></td></tr>
-<tr class="separator:a5e21437235e92875a043ef7b29d0e54c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af2b12cf78dd1bda266eed46c74aaa401"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#af2b12cf78dd1bda266eed46c74aaa401">BIG_560_29_dfromBytesLen</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, char *a, int s)</td></tr>
-<tr class="memdesc:af2b12cf78dd1bda266eed46c74aaa401"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert to DBIG number from byte array of given length.  <a href="#af2b12cf78dd1bda266eed46c74aaa401">More...</a><br /></td></tr>
-<tr class="separator:af2b12cf78dd1bda266eed46c74aaa401"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3532414b33ec5c454d2aa69450a71e3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a3532414b33ec5c454d2aa69450a71e3b">BIG_560_29_doutput</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a3532414b33ec5c454d2aa69450a71e3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a3532414b33ec5c454d2aa69450a71e3b">More...</a><br /></td></tr>
-<tr class="separator:a3532414b33ec5c454d2aa69450a71e3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a819c27b791c06a68c885c3bac71ed026"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a819c27b791c06a68c885c3bac71ed026">BIG_560_29_drawoutput</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a819c27b791c06a68c885c3bac71ed026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs a DBIG number to the console.  <a href="#a819c27b791c06a68c885c3bac71ed026">More...</a><br /></td></tr>
-<tr class="separator:a819c27b791c06a68c885c3bac71ed026"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2067a272be66e61ffa263db0489932f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a2067a272be66e61ffa263db0489932f8">BIG_560_29_rcopy</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, const <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y)</td></tr>
-<tr class="memdesc:a2067a272be66e61ffa263db0489932f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG from Read-Only Memory to a BIG.  <a href="#a2067a272be66e61ffa263db0489932f8">More...</a><br /></td></tr>
-<tr class="separator:a2067a272be66e61ffa263db0489932f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a51f1a538cd2acd170c64f333bbf9ef38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a51f1a538cd2acd170c64f333bbf9ef38">BIG_560_29_copy</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y)</td></tr>
-<tr class="memdesc:a51f1a538cd2acd170c64f333bbf9ef38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to another BIG.  <a href="#a51f1a538cd2acd170c64f333bbf9ef38">More...</a><br /></td></tr>
-<tr class="separator:a51f1a538cd2acd170c64f333bbf9ef38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0441ea3e88f376aa446b21393a78d818"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a0441ea3e88f376aa446b21393a78d818">BIG_560_29_dcopy</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y)</td></tr>
-<tr class="memdesc:a0441ea3e88f376aa446b21393a78d818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy DBIG to another DBIG.  <a href="#a0441ea3e88f376aa446b21393a78d818">More...</a><br /></td></tr>
-<tr class="separator:a0441ea3e88f376aa446b21393a78d818"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa5770a5f1eb5f3520f5af8673d621e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aaa5770a5f1eb5f3520f5af8673d621e3">BIG_560_29_dsucopy</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y)</td></tr>
-<tr class="memdesc:aaa5770a5f1eb5f3520f5af8673d621e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to upper half of DBIG.  <a href="#aaa5770a5f1eb5f3520f5af8673d621e3">More...</a><br /></td></tr>
-<tr class="separator:aaa5770a5f1eb5f3520f5af8673d621e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0e2ca1c8b0e5004d89eb25f7fbe1413a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a0e2ca1c8b0e5004d89eb25f7fbe1413a">BIG_560_29_dscopy</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y)</td></tr>
-<tr class="memdesc:a0e2ca1c8b0e5004d89eb25f7fbe1413a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy BIG to lower half of DBIG.  <a href="#a0e2ca1c8b0e5004d89eb25f7fbe1413a">More...</a><br /></td></tr>
-<tr class="separator:a0e2ca1c8b0e5004d89eb25f7fbe1413a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a775faf413caafab161a9b40473957476"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a775faf413caafab161a9b40473957476">BIG_560_29_sdcopy</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y)</td></tr>
-<tr class="memdesc:a775faf413caafab161a9b40473957476"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy lower half of DBIG to a BIG.  <a href="#a775faf413caafab161a9b40473957476">More...</a><br /></td></tr>
-<tr class="separator:a775faf413caafab161a9b40473957476"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab6b90ba76c93b712c79ecf0fa4c11a85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#ab6b90ba76c93b712c79ecf0fa4c11a85">BIG_560_29_sducopy</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y)</td></tr>
-<tr class="memdesc:ab6b90ba76c93b712c79ecf0fa4c11a85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy upper half of DBIG to a BIG.  <a href="#ab6b90ba76c93b712c79ecf0fa4c11a85">More...</a><br /></td></tr>
-<tr class="separator:ab6b90ba76c93b712c79ecf0fa4c11a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a464cd2642cf515bdafe4946d818de6df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a464cd2642cf515bdafe4946d818de6df">BIG_560_29_zero</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a464cd2642cf515bdafe4946d818de6df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to zero.  <a href="#a464cd2642cf515bdafe4946d818de6df">More...</a><br /></td></tr>
-<tr class="separator:a464cd2642cf515bdafe4946d818de6df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a35ed74837f580f23ae25b217cb80a7c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a35ed74837f580f23ae25b217cb80a7c4">BIG_560_29_dzero</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a35ed74837f580f23ae25b217cb80a7c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to zero.  <a href="#a35ed74837f580f23ae25b217cb80a7c4">More...</a><br /></td></tr>
-<tr class="separator:a35ed74837f580f23ae25b217cb80a7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aecec4cf34ec7476ce48f085f126674fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aecec4cf34ec7476ce48f085f126674fd">BIG_560_29_one</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:aecec4cf34ec7476ce48f085f126674fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to one (unity)  <a href="#aecec4cf34ec7476ce48f085f126674fd">More...</a><br /></td></tr>
-<tr class="separator:aecec4cf34ec7476ce48f085f126674fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0c147e73b0bae9635bee593175774f0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a0c147e73b0bae9635bee593175774f0c">BIG_560_29_invmod2m</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a0c147e73b0bae9635bee593175774f0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to inverse mod 2^256.  <a href="#a0c147e73b0bae9635bee593175774f0c">More...</a><br /></td></tr>
-<tr class="separator:a0c147e73b0bae9635bee593175774f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae65e9996ba096849473662afb7105678"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#ae65e9996ba096849473662afb7105678">BIG_560_29_add</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z)</td></tr>
-<tr class="memdesc:ae65e9996ba096849473662afb7105678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to sum of two BIGs - output not normalised.  <a href="#ae65e9996ba096849473662afb7105678">More...</a><br /></td></tr>
-<tr class="separator:ae65e9996ba096849473662afb7105678"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a23fb2086d698b03e3b409b6f0c0a80dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a23fb2086d698b03e3b409b6f0c0a80dc">BIG_560_29_or</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z)</td></tr>
-<tr class="memdesc:a23fb2086d698b03e3b409b6f0c0a80dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to logical or of two BIGs - output normalised.  <a href="#a23fb2086d698b03e3b409b6f0c0a80dc">More...</a><br /></td></tr>
-<tr class="separator:a23fb2086d698b03e3b409b6f0c0a80dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aadc38ea4dbbbcf952ca5c939c7afc661"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aadc38ea4dbbbcf952ca5c939c7afc661">BIG_560_29_inc</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int i)</td></tr>
-<tr class="memdesc:aadc38ea4dbbbcf952ca5c939c7afc661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increment BIG by a small integer - output not normalised.  <a href="#aadc38ea4dbbbcf952ca5c939c7afc661">More...</a><br /></td></tr>
-<tr class="separator:aadc38ea4dbbbcf952ca5c939c7afc661"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a587bc2e12545c048659aaa3eb5c68315"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a587bc2e12545c048659aaa3eb5c68315">BIG_560_29_sub</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z)</td></tr>
-<tr class="memdesc:a587bc2e12545c048659aaa3eb5c68315"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set BIG to difference of two BIGs.  <a href="#a587bc2e12545c048659aaa3eb5c68315">More...</a><br /></td></tr>
-<tr class="separator:a587bc2e12545c048659aaa3eb5c68315"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a33a5c0c69dd8d1efc4c8e665eeff8b9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a33a5c0c69dd8d1efc4c8e665eeff8b9b">BIG_560_29_dec</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int i)</td></tr>
-<tr class="memdesc:a33a5c0c69dd8d1efc4c8e665eeff8b9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrement BIG by a small integer - output not normalised.  <a href="#a33a5c0c69dd8d1efc4c8e665eeff8b9b">More...</a><br /></td></tr>
-<tr class="separator:a33a5c0c69dd8d1efc4c8e665eeff8b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4a6546b6be50aa0ed327cae3a76e45b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a4a6546b6be50aa0ed327cae3a76e45b2">BIG_560_29_dadd</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> z)</td></tr>
-<tr class="memdesc:a4a6546b6be50aa0ed327cae3a76e45b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to sum of two DBIGs.  <a href="#a4a6546b6be50aa0ed327cae3a76e45b2">More...</a><br /></td></tr>
-<tr class="separator:a4a6546b6be50aa0ed327cae3a76e45b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4f9c5cbd7a7139c9e57612b6371edd2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a4f9c5cbd7a7139c9e57612b6371edd2f">BIG_560_29_dsub</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> z)</td></tr>
-<tr class="memdesc:a4f9c5cbd7a7139c9e57612b6371edd2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set DBIG to difference of two DBIGs.  <a href="#a4f9c5cbd7a7139c9e57612b6371edd2f">More...</a><br /></td></tr>
-<tr class="separator:a4f9c5cbd7a7139c9e57612b6371edd2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7375b371afca2493f289e566e773ca4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a7375b371afca2493f289e566e773ca4a">BIG_560_29_imul</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, int i)</td></tr>
-<tr class="memdesc:a7375b371afca2493f289e566e773ca4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by a small integer - output not normalised.  <a href="#a7375b371afca2493f289e566e773ca4a">More...</a><br /></td></tr>
-<tr class="separator:a7375b371afca2493f289e566e773ca4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8bbbc9bb0aeb3ea59aed8007ea9ae266"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a8bbbc9bb0aeb3ea59aed8007ea9ae266">BIG_560_29_pmul</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, int i)</td></tr>
-<tr class="memdesc:a8bbbc9bb0aeb3ea59aed8007ea9ae266"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by not-so-small small integer - output normalised.  <a href="#a8bbbc9bb0aeb3ea59aed8007ea9ae266">More...</a><br /></td></tr>
-<tr class="separator:a8bbbc9bb0aeb3ea59aed8007ea9ae266"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac248bd7812fdb863cf77da864d006547"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#ac248bd7812fdb863cf77da864d006547">BIG_560_29_div3</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:ac248bd7812fdb863cf77da864d006547"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide BIG by 3 - output normalised.  <a href="#ac248bd7812fdb863cf77da864d006547">More...</a><br /></td></tr>
-<tr class="separator:ac248bd7812fdb863cf77da864d006547"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d61085a3a76337a0d82ac3e65fb6026"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a6d61085a3a76337a0d82ac3e65fb6026">BIG_560_29_pxmul</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, int i)</td></tr>
-<tr class="memdesc:a6d61085a3a76337a0d82ac3e65fb6026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by even bigger small integer resulting in a DBIG - output normalised.  <a href="#a6d61085a3a76337a0d82ac3e65fb6026">More...</a><br /></td></tr>
-<tr class="separator:a6d61085a3a76337a0d82ac3e65fb6026"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a57ee8eed41be0783324dbeea72e1078d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a57ee8eed41be0783324dbeea72e1078d">BIG_560_29_mul</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z)</td></tr>
-<tr class="memdesc:a57ee8eed41be0783324dbeea72e1078d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in DBIG - inputs normalised and output normalised.  <a href="#a57ee8eed41be0783324dbeea72e1078d">More...</a><br /></td></tr>
-<tr class="separator:a57ee8eed41be0783324dbeea72e1078d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa708c4c1eea0d5af0b43e82f061f854a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aa708c4c1eea0d5af0b43e82f061f854a">BIG_560_29_smul</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z)</td></tr>
-<tr class="memdesc:aa708c4c1eea0d5af0b43e82f061f854a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply BIG by another BIG resulting in another BIG - inputs normalised and output normalised.  <a href="#aa708c4c1eea0d5af0b43e82f061f854a">More...</a><br /></td></tr>
-<tr class="separator:aa708c4c1eea0d5af0b43e82f061f854a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a867fd42d71918d1db92cf4934bf882c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a867fd42d71918d1db92cf4934bf882c5">BIG_560_29_sqr</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y)</td></tr>
-<tr class="memdesc:a867fd42d71918d1db92cf4934bf882c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square BIG resulting in a DBIG - input normalised and output normalised.  <a href="#a867fd42d71918d1db92cf4934bf882c5">More...</a><br /></td></tr>
-<tr class="separator:a867fd42d71918d1db92cf4934bf882c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adcbe9492816b75278b278758fe1c21bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#adcbe9492816b75278b278758fe1c21bb">BIG_560_29_monty</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> a, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> md, <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> d)</td></tr>
-<tr class="memdesc:adcbe9492816b75278b278758fe1c21bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Montgomery reduction of a DBIG to a BIG - input normalised and output normalised.  <a href="#adcbe9492816b75278b278758fe1c21bb">More...</a><br /></td></tr>
-<tr class="separator:adcbe9492816b75278b278758fe1c21bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a948b32e26c4c4551351ff9fc68ea4822"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a948b32e26c4c4551351ff9fc68ea4822">BIG_560_29_shl</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int s)</td></tr>
-<tr class="memdesc:a948b32e26c4c4551351ff9fc68ea4822"><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="#a948b32e26c4c4551351ff9fc68ea4822">More...</a><br /></td></tr>
-<tr class="separator:a948b32e26c4c4551351ff9fc68ea4822"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a469fb92dfb3cfad74782399dfa4c0ea7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a469fb92dfb3cfad74782399dfa4c0ea7">BIG_560_29_fshl</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int s)</td></tr>
-<tr class="memdesc:a469fb92dfb3cfad74782399dfa4c0ea7"><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="#a469fb92dfb3cfad74782399dfa4c0ea7">More...</a><br /></td></tr>
-<tr class="separator:a469fb92dfb3cfad74782399dfa4c0ea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a7dc62a5c174e03456b3df7de48c7d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a2a7dc62a5c174e03456b3df7de48c7d0">BIG_560_29_dshl</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, int s)</td></tr>
-<tr class="memdesc:a2a7dc62a5c174e03456b3df7de48c7d0"><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="#a2a7dc62a5c174e03456b3df7de48c7d0">More...</a><br /></td></tr>
-<tr class="separator:a2a7dc62a5c174e03456b3df7de48c7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5c2b4afaef6383d924f8d87d8b03942b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5c2b4afaef6383d924f8d87d8b03942b">BIG_560_29_shr</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int s)</td></tr>
-<tr class="memdesc:a5c2b4afaef6383d924f8d87d8b03942b"><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="#a5c2b4afaef6383d924f8d87d8b03942b">More...</a><br /></td></tr>
-<tr class="separator:a5c2b4afaef6383d924f8d87d8b03942b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e07a3bbd83a0d6630106c726e58c828"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a3e07a3bbd83a0d6630106c726e58c828">BIG_560_29_ssn</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> r, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> a, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> m)</td></tr>
-<tr class="memdesc:a3e07a3bbd83a0d6630106c726e58c828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fast time-critical combined shift by 1 bit, subtract and normalise.  <a href="#a3e07a3bbd83a0d6630106c726e58c828">More...</a><br /></td></tr>
-<tr class="separator:a3e07a3bbd83a0d6630106c726e58c828"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a87bbbb471bd5640d81799ae94d459a89"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a87bbbb471bd5640d81799ae94d459a89">BIG_560_29_fshr</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int s)</td></tr>
-<tr class="memdesc:a87bbbb471bd5640d81799ae94d459a89"><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="#a87bbbb471bd5640d81799ae94d459a89">More...</a><br /></td></tr>
-<tr class="separator:a87bbbb471bd5640d81799ae94d459a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d4cfcf637b71a4fc532c5d8ed04b6be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a4d4cfcf637b71a4fc532c5d8ed04b6be">BIG_560_29_dshr</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, int s)</td></tr>
-<tr class="memdesc:a4d4cfcf637b71a4fc532c5d8ed04b6be"><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="#a4d4cfcf637b71a4fc532c5d8ed04b6be">More...</a><br /></td></tr>
-<tr class="separator:a4d4cfcf637b71a4fc532c5d8ed04b6be"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a19241dcc77b787b493370d3a3e657259"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a19241dcc77b787b493370d3a3e657259">BIG_560_29_split</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> z, int s)</td></tr>
-<tr class="memdesc:a19241dcc77b787b493370d3a3e657259"><td class="mdescLeft">&#160;</td><td class="mdescRight">Splits a DBIG into two BIGs - input must be normalised, outputs normalised.  <a href="#a19241dcc77b787b493370d3a3e657259">More...</a><br /></td></tr>
-<tr class="separator:a19241dcc77b787b493370d3a3e657259"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aefd62aa61037b77a52b931b51787e921"><td class="memItemLeft" align="right" valign="top"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#aefd62aa61037b77a52b931b51787e921">BIG_560_29_norm</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:aefd62aa61037b77a52b931b51787e921"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a BIG number - output normalised.  <a href="#aefd62aa61037b77a52b931b51787e921">More...</a><br /></td></tr>
-<tr class="separator:aefd62aa61037b77a52b931b51787e921"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a1d428f6a3948985ef7ecee44b1ed90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5a1d428f6a3948985ef7ecee44b1ed90">BIG_560_29_dnorm</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a5a1d428f6a3948985ef7ecee44b1ed90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normalizes a DBIG number - output normalised.  <a href="#a5a1d428f6a3948985ef7ecee44b1ed90">More...</a><br /></td></tr>
-<tr class="separator:a5a1d428f6a3948985ef7ecee44b1ed90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5e71aecc096e5d0cf8abb41ef467280c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5e71aecc096e5d0cf8abb41ef467280c">BIG_560_29_comp</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y)</td></tr>
-<tr class="memdesc:a5e71aecc096e5d0cf8abb41ef467280c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two BIG numbers. Inputs must be normalised externally.  <a href="#a5e71aecc096e5d0cf8abb41ef467280c">More...</a><br /></td></tr>
-<tr class="separator:a5e71aecc096e5d0cf8abb41ef467280c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1fa33c289213fb0c9546e58a682f39b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#ad1fa33c289213fb0c9546e58a682f39b">BIG_560_29_dcomp</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y)</td></tr>
-<tr class="memdesc:ad1fa33c289213fb0c9546e58a682f39b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two DBIG numbers. Inputs must be normalised externally.  <a href="#ad1fa33c289213fb0c9546e58a682f39b">More...</a><br /></td></tr>
-<tr class="separator:ad1fa33c289213fb0c9546e58a682f39b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a29d5bcaa2299f1f7ab4c322a2df907"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5a29d5bcaa2299f1f7ab4c322a2df907">BIG_560_29_nbits</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a5a29d5bcaa2299f1f7ab4c322a2df907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a BIG - output normalised.  <a href="#a5a29d5bcaa2299f1f7ab4c322a2df907">More...</a><br /></td></tr>
-<tr class="separator:a5a29d5bcaa2299f1f7ab4c322a2df907"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96f414c632beb42afa3b18803e3c1c02"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a96f414c632beb42afa3b18803e3c1c02">BIG_560_29_dnbits</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a96f414c632beb42afa3b18803e3c1c02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate number of bits in a DBIG - output normalised.  <a href="#a96f414c632beb42afa3b18803e3c1c02">More...</a><br /></td></tr>
-<tr class="separator:a96f414c632beb42afa3b18803e3c1c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afac3c76a8f4e070630b0e548f23ef358"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#afac3c76a8f4e070630b0e548f23ef358">BIG_560_29_mod</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:afac3c76a8f4e070630b0e548f23ef358"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce x mod n - input and output normalised.  <a href="#afac3c76a8f4e070630b0e548f23ef358">More...</a><br /></td></tr>
-<tr class="separator:afac3c76a8f4e070630b0e548f23ef358"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7751e56b7afb898f804bd614cdce0f11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a7751e56b7afb898f804bd614cdce0f11">BIG_560_29_sdiv</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:a7751e56b7afb898f804bd614cdce0f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Divide x by n - output normalised.  <a href="#a7751e56b7afb898f804bd614cdce0f11">More...</a><br /></td></tr>
-<tr class="separator:a7751e56b7afb898f804bd614cdce0f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0145ff9aba864d2e93d34044ab35b0b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a0145ff9aba864d2e93d34044ab35b0b3">BIG_560_29_dmod</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:a0145ff9aba864d2e93d34044ab35b0b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y mod n - output normalised  <a href="#a0145ff9aba864d2e93d34044ab35b0b3">More...</a><br /></td></tr>
-<tr class="separator:a0145ff9aba864d2e93d34044ab35b0b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63a2a4340ec906ef4edafd8cdda5ecd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a63a2a4340ec906ef4edafd8cdda5ecd1">BIG_560_29_ddiv</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:a63a2a4340ec906ef4edafd8cdda5ecd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">x=y/n - output normalised  <a href="#a63a2a4340ec906ef4edafd8cdda5ecd1">More...</a><br /></td></tr>
-<tr class="separator:a63a2a4340ec906ef4edafd8cdda5ecd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4db725f0b9ebdb8bd9ef87a31e83300d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a4db725f0b9ebdb8bd9ef87a31e83300d">BIG_560_29_parity</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x)</td></tr>
-<tr class="memdesc:a4db725f0b9ebdb8bd9ef87a31e83300d"><td class="mdescLeft">&#160;</td><td class="mdescRight">return parity of BIG, that is the least significant bit  <a href="#a4db725f0b9ebdb8bd9ef87a31e83300d">More...</a><br /></td></tr>
-<tr class="separator:a4db725f0b9ebdb8bd9ef87a31e83300d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a89a8e99224c79e20a83f65e950f50140"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a89a8e99224c79e20a83f65e950f50140">BIG_560_29_bit</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int i)</td></tr>
-<tr class="memdesc:a89a8e99224c79e20a83f65e950f50140"><td class="mdescLeft">&#160;</td><td class="mdescRight">return i-th of BIG  <a href="#a89a8e99224c79e20a83f65e950f50140">More...</a><br /></td></tr>
-<tr class="separator:a89a8e99224c79e20a83f65e950f50140"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8abd5137561bfed04669cf96c259781"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#ad8abd5137561bfed04669cf96c259781">BIG_560_29_lastbits</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int n)</td></tr>
-<tr class="memdesc:ad8abd5137561bfed04669cf96c259781"><td class="mdescLeft">&#160;</td><td class="mdescRight">return least significant bits of a BIG  <a href="#ad8abd5137561bfed04669cf96c259781">More...</a><br /></td></tr>
-<tr class="separator:ad8abd5137561bfed04669cf96c259781"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adafd6f05406b9a591aa971cba0825c6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#adafd6f05406b9a591aa971cba0825c6c">BIG_560_29_random</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:adafd6f05406b9a591aa971cba0825c6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random BIG from a random number generator.  <a href="#adafd6f05406b9a591aa971cba0825c6c">More...</a><br /></td></tr>
-<tr class="separator:adafd6f05406b9a591aa971cba0825c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8fe1cf5b87b4db63ff9234829408ccc7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a8fe1cf5b87b4db63ff9234829408ccc7">BIG_560_29_randomnum</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n, <a class="el" href="structcsprng.html">csprng</a> *r)</td></tr>
-<tr class="memdesc:a8fe1cf5b87b4db63ff9234829408ccc7"><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="#a8fe1cf5b87b4db63ff9234829408ccc7">More...</a><br /></td></tr>
-<tr class="separator:a8fe1cf5b87b4db63ff9234829408ccc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1efc3b09f5b07ca7a559d83e76acbe57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a1efc3b09f5b07ca7a559d83e76acbe57">BIG_560_29_modmul</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:a1efc3b09f5b07ca7a559d83e76acbe57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y*z mod n.  <a href="#a1efc3b09f5b07ca7a559d83e76acbe57">More...</a><br /></td></tr>
-<tr class="separator:a1efc3b09f5b07ca7a559d83e76acbe57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af4275b84bb243a4299a8fbae6c594db1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#af4275b84bb243a4299a8fbae6c594db1">BIG_560_29_moddiv</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:af4275b84bb243a4299a8fbae6c594db1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y/z mod n.  <a href="#af4275b84bb243a4299a8fbae6c594db1">More...</a><br /></td></tr>
-<tr class="separator:af4275b84bb243a4299a8fbae6c594db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21e87e8bf1b42f00087e74ae6102ba8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a21e87e8bf1b42f00087e74ae6102ba8c">BIG_560_29_modsqr</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:a21e87e8bf1b42f00087e74ae6102ba8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=y^2 mod n.  <a href="#a21e87e8bf1b42f00087e74ae6102ba8c">More...</a><br /></td></tr>
-<tr class="separator:a21e87e8bf1b42f00087e74ae6102ba8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5a8cb966bd251bd9b28c447e67ef41e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a5a8cb966bd251bd9b28c447e67ef41e8">BIG_560_29_modneg</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:a5a8cb966bd251bd9b28c447e67ef41e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=-y mod n.  <a href="#a5a8cb966bd251bd9b28c447e67ef41e8">More...</a><br /></td></tr>
-<tr class="separator:a5a8cb966bd251bd9b28c447e67ef41e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acabe4baa29863ad5559020c8f2136d9f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#acabe4baa29863ad5559020c8f2136d9f">BIG_560_29_jacobi</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y)</td></tr>
-<tr class="memdesc:acabe4baa29863ad5559020c8f2136d9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate jacobi Symbol (x/y)  <a href="#acabe4baa29863ad5559020c8f2136d9f">More...</a><br /></td></tr>
-<tr class="separator:acabe4baa29863ad5559020c8f2136d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00a5f8b23c288c2448ddb2d88d315b21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#a00a5f8b23c288c2448ddb2d88d315b21">BIG_560_29_invmodp</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y, <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> n)</td></tr>
-<tr class="memdesc:a00a5f8b23c288c2448ddb2d88d315b21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=1/y mod n.  <a href="#a00a5f8b23c288c2448ddb2d88d315b21">More...</a><br /></td></tr>
-<tr class="separator:a00a5f8b23c288c2448ddb2d88d315b21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad8b4f3bcef2aa611363bb7afd3477c37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#ad8b4f3bcef2aa611363bb7afd3477c37">BIG_560_29_mod2m</a> (<a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x, int m)</td></tr>
-<tr class="memdesc:ad8b4f3bcef2aa611363bb7afd3477c37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#ad8b4f3bcef2aa611363bb7afd3477c37">More...</a><br /></td></tr>
-<tr class="separator:ad8b4f3bcef2aa611363bb7afd3477c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abfb7a14c67bc951d22fb8646caa80949"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html#abfb7a14c67bc951d22fb8646caa80949">BIG_560_29_dmod2m</a> (<a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x, int m)</td></tr>
-<tr class="memdesc:abfb7a14c67bc951d22fb8646caa80949"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x=x mod 2^m.  <a href="#abfb7a14c67bc951d22fb8646caa80949">More...</a><br /></td></tr>
-<tr class="separator:abfb7a14c67bc951d22fb8646caa80949"><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="a02bdf4e3336ecd6241c01b103495ca3f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a02bdf4e3336ecd6241c01b103495ca3f">&#9670;&nbsp;</a></span>BIGBITS_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BIGBITS_560_29&#160;&#160;&#160;(8*<a class="el" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">MODBYTES_560_29</a>)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Length in bits </p>
-
-</div>
-</div>
-<a id="a6ac7afc11cde3738182e8271cbdd9249"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6ac7afc11cde3738182e8271cbdd9249">&#9670;&nbsp;</a></span>BMASK_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BMASK_560_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^BASEBITS-1 </p>
-
-</div>
-</div>
-<a id="aee21b520738166490cd1a8e186b7e626"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee21b520738166490cd1a8e186b7e626">&#9670;&nbsp;</a></span>DNLEN_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define DNLEN_560_29&#160;&#160;&#160;2*<a class="el" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Double length in bytes </p>
-
-</div>
-</div>
-<a id="a52abaf5dd19e66d456c2b56924f157d9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52abaf5dd19e66d456c2b56924f157d9">&#9670;&nbsp;</a></span>HBITS_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HBITS_560_29&#160;&#160;&#160;(<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>/2)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bits in number base divided by 2 </p>
-
-</div>
-</div>
-<a id="ae5f8a926c180262884b2c3b358723877"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae5f8a926c180262884b2c3b358723877">&#9670;&nbsp;</a></span>HMASK_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HMASK_560_29&#160;&#160;&#160;(((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1&lt;&lt;<a class="el" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</a>)-1)</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Mask = 2^HBITS-1 </p>
-
-</div>
-</div>
-<a id="af547bb109561c1676dd7fa6d28c4c56c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af547bb109561c1676dd7fa6d28c4c56c">&#9670;&nbsp;</a></span>NEXCESS_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NEXCESS_560_29&#160;&#160;&#160;(1&lt;&lt;(<a class="el" href="arch_8h.html#a25022864dfc8ec428e7128282e57b136">CHUNK</a>-<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</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="abd3a5ec7116d01064ff1d4af3e45ae9a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd3a5ec7116d01064ff1d4af3e45ae9a">&#9670;&nbsp;</a></span>NLEN_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NLEN_560_29&#160;&#160;&#160;(1+((8*<a class="el" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">MODBYTES_560_29</a>-1)/<a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>))</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>length in bytes </p>
-
-</div>
-</div>
-<h2 class="groupheader">Typedef Documentation</h2>
-<a id="aec67ad7ff5a92e798e5f90f381c6d795"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aec67ad7ff5a92e798e5f90f381c6d795">&#9670;&nbsp;</a></span>BIG_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_560_29[<a class="el" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a>]</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Define type BIG as array of chunks </p>
-
-</div>
-</div>
-<a id="a7818af0d01e6ace9d78004cdd85e2959"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7818af0d01e6ace9d78004cdd85e2959">&#9670;&nbsp;</a></span>DBIG_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> DBIG_560_29[<a class="el" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">DNLEN_560_29</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="ae65e9996ba096849473662afb7105678"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae65e9996ba096849473662afb7105678">&#9670;&nbsp;</a></span>BIG_560_29_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_add </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a89a8e99224c79e20a83f65e950f50140"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a89a8e99224c79e20a83f65e950f50140">&#9670;&nbsp;</a></span>BIG_560_29_bit()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_bit </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a08c0a219dcc9ba548194f3fb07ddd338"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a08c0a219dcc9ba548194f3fb07ddd338">&#9670;&nbsp;</a></span>BIG_560_29_cmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_cmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5e71aecc096e5d0cf8abb41ef467280c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5e71aecc096e5d0cf8abb41ef467280c">&#9670;&nbsp;</a></span>BIG_560_29_comp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_comp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a51f1a538cd2acd170c64f333bbf9ef38"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a51f1a538cd2acd170c64f333bbf9ef38">&#9670;&nbsp;</a></span>BIG_560_29_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_copy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5986aced3f00297a9b7aefa2088a2aa0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5986aced3f00297a9b7aefa2088a2aa0">&#9670;&nbsp;</a></span>BIG_560_29_cswap()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_cswap </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a4a6546b6be50aa0ed327cae3a76e45b2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4a6546b6be50aa0ed327cae3a76e45b2">&#9670;&nbsp;</a></span>BIG_560_29_dadd()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dadd </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a70647835b3562e8015dca7f80f008b66"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a70647835b3562e8015dca7f80f008b66">&#9670;&nbsp;</a></span>BIG_560_29_dcmove()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dcmove </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="ad1fa33c289213fb0c9546e58a682f39b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad1fa33c289213fb0c9546e58a682f39b">&#9670;&nbsp;</a></span>BIG_560_29_dcomp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_dcomp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a0441ea3e88f376aa446b21393a78d818"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0441ea3e88f376aa446b21393a78d818">&#9670;&nbsp;</a></span>BIG_560_29_dcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a63a2a4340ec906ef4edafd8cdda5ecd1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a63a2a4340ec906ef4edafd8cdda5ecd1">&#9670;&nbsp;</a></span>BIG_560_29_ddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_ddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a33a5c0c69dd8d1efc4c8e665eeff8b9b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a33a5c0c69dd8d1efc4c8e665eeff8b9b">&#9670;&nbsp;</a></span>BIG_560_29_dec()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dec </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="af2b12cf78dd1bda266eed46c74aaa401"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af2b12cf78dd1bda266eed46c74aaa401">&#9670;&nbsp;</a></span>BIG_560_29_dfromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dfromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="aa8dcbefb1a36e50d3f9b241573ef9a07"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa8dcbefb1a36e50d3f9b241573ef9a07">&#9670;&nbsp;</a></span>BIG_560_29_diszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_diszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="ac248bd7812fdb863cf77da864d006547"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac248bd7812fdb863cf77da864d006547">&#9670;&nbsp;</a></span>BIG_560_29_div3()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_div3 </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a0145ff9aba864d2e93d34044ab35b0b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0145ff9aba864d2e93d34044ab35b0b3">&#9670;&nbsp;</a></span>BIG_560_29_dmod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dmod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="abfb7a14c67bc951d22fb8646caa80949"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abfb7a14c67bc951d22fb8646caa80949">&#9670;&nbsp;</a></span>BIG_560_29_dmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a96f414c632beb42afa3b18803e3c1c02"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a96f414c632beb42afa3b18803e3c1c02">&#9670;&nbsp;</a></span>BIG_560_29_dnbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_dnbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a5a1d428f6a3948985ef7ecee44b1ed90"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a1d428f6a3948985ef7ecee44b1ed90">&#9670;&nbsp;</a></span>BIG_560_29_dnorm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dnorm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a3532414b33ec5c454d2aa69450a71e3b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3532414b33ec5c454d2aa69450a71e3b">&#9670;&nbsp;</a></span>BIG_560_29_doutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_doutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a819c27b791c06a68c885c3bac71ed026"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a819c27b791c06a68c885c3bac71ed026">&#9670;&nbsp;</a></span>BIG_560_29_drawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_drawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a0e2ca1c8b0e5004d89eb25f7fbe1413a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0e2ca1c8b0e5004d89eb25f7fbe1413a">&#9670;&nbsp;</a></span>BIG_560_29_dscopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dscopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a2a7dc62a5c174e03456b3df7de48c7d0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2a7dc62a5c174e03456b3df7de48c7d0">&#9670;&nbsp;</a></span>BIG_560_29_dshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a4d4cfcf637b71a4fc532c5d8ed04b6be"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4d4cfcf637b71a4fc532c5d8ed04b6be">&#9670;&nbsp;</a></span>BIG_560_29_dshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a4f9c5cbd7a7139c9e57612b6371edd2f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4f9c5cbd7a7139c9e57612b6371edd2f">&#9670;&nbsp;</a></span>BIG_560_29_dsub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dsub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="aaa5770a5f1eb5f3520f5af8673d621e3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aaa5770a5f1eb5f3520f5af8673d621e3">&#9670;&nbsp;</a></span>BIG_560_29_dsucopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dsucopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a35ed74837f580f23ae25b217cb80a7c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a35ed74837f580f23ae25b217cb80a7c4">&#9670;&nbsp;</a></span>BIG_560_29_dzero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_dzero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a8fa45c00b5827a65847d7f4a09cb296f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8fa45c00b5827a65847d7f4a09cb296f">&#9670;&nbsp;</a></span>BIG_560_29_fromBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_fromBytes </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5e21437235e92875a043ef7b29d0e54c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5e21437235e92875a043ef7b29d0e54c">&#9670;&nbsp;</a></span>BIG_560_29_fromBytesLen()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_fromBytesLen </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a469fb92dfb3cfad74782399dfa4c0ea7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a469fb92dfb3cfad74782399dfa4c0ea7">&#9670;&nbsp;</a></span>BIG_560_29_fshl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_fshl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a87bbbb471bd5640d81799ae94d459a89"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a87bbbb471bd5640d81799ae94d459a89">&#9670;&nbsp;</a></span>BIG_560_29_fshr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_fshr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a7375b371afca2493f289e566e773ca4a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7375b371afca2493f289e566e773ca4a">&#9670;&nbsp;</a></span>BIG_560_29_imul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_imul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="aadc38ea4dbbbcf952ca5c939c7afc661"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aadc38ea4dbbbcf952ca5c939c7afc661">&#9670;&nbsp;</a></span>BIG_560_29_inc()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_inc </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a0c147e73b0bae9635bee593175774f0c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0c147e73b0bae9635bee593175774f0c">&#9670;&nbsp;</a></span>BIG_560_29_invmod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_invmod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a00a5f8b23c288c2448ddb2d88d315b21"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a00a5f8b23c288c2448ddb2d88d315b21">&#9670;&nbsp;</a></span>BIG_560_29_invmodp()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_invmodp </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a2a5cdd4dfe0e6aba419a75f49243ad43"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2a5cdd4dfe0e6aba419a75f49243ad43">&#9670;&nbsp;</a></span>BIG_560_29_isunity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_isunity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="afb68b5fa13e176d7e32a2057b71ac780"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afb68b5fa13e176d7e32a2057b71ac780">&#9670;&nbsp;</a></span>BIG_560_29_iszilch()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_iszilch </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="acabe4baa29863ad5559020c8f2136d9f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acabe4baa29863ad5559020c8f2136d9f">&#9670;&nbsp;</a></span>BIG_560_29_jacobi()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_jacobi </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="ad8abd5137561bfed04669cf96c259781"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad8abd5137561bfed04669cf96c259781">&#9670;&nbsp;</a></span>BIG_560_29_lastbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_lastbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="afac3c76a8f4e070630b0e548f23ef358"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afac3c76a8f4e070630b0e548f23ef358">&#9670;&nbsp;</a></span>BIG_560_29_mod()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_mod </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="ad8b4f3bcef2aa611363bb7afd3477c37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad8b4f3bcef2aa611363bb7afd3477c37">&#9670;&nbsp;</a></span>BIG_560_29_mod2m()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_mod2m </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="af4275b84bb243a4299a8fbae6c594db1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af4275b84bb243a4299a8fbae6c594db1">&#9670;&nbsp;</a></span>BIG_560_29_moddiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_moddiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a1efc3b09f5b07ca7a559d83e76acbe57"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1efc3b09f5b07ca7a559d83e76acbe57">&#9670;&nbsp;</a></span>BIG_560_29_modmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_modmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>z</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5a8cb966bd251bd9b28c447e67ef41e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a8cb966bd251bd9b28c447e67ef41e8">&#9670;&nbsp;</a></span>BIG_560_29_modneg()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_modneg </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a21e87e8bf1b42f00087e74ae6102ba8c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a21e87e8bf1b42f00087e74ae6102ba8c">&#9670;&nbsp;</a></span>BIG_560_29_modsqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_modsqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="adcbe9492816b75278b278758fe1c21bb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adcbe9492816b75278b278758fe1c21bb">&#9670;&nbsp;</a></span>BIG_560_29_monty()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_monty </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>md</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>&#160;</td>
-          <td class="paramname"><em>MC</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a57ee8eed41be0783324dbeea72e1078d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a57ee8eed41be0783324dbeea72e1078d">&#9670;&nbsp;</a></span>BIG_560_29_mul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_mul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5a29d5bcaa2299f1f7ab4c322a2df907"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a29d5bcaa2299f1f7ab4c322a2df907">&#9670;&nbsp;</a></span>BIG_560_29_nbits()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_nbits </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="aefd62aa61037b77a52b931b51787e921"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aefd62aa61037b77a52b931b51787e921">&#9670;&nbsp;</a></span>BIG_560_29_norm()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_560_29_norm </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="aecec4cf34ec7476ce48f085f126674fd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aecec4cf34ec7476ce48f085f126674fd">&#9670;&nbsp;</a></span>BIG_560_29_one()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_one </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a23fb2086d698b03e3b409b6f0c0a80dc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a23fb2086d698b03e3b409b6f0c0a80dc">&#9670;&nbsp;</a></span>BIG_560_29_or()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_or </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5057ccb43e0e7eb9f8aea795ac62aaa7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5057ccb43e0e7eb9f8aea795ac62aaa7">&#9670;&nbsp;</a></span>BIG_560_29_output()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_output </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a4db725f0b9ebdb8bd9ef87a31e83300d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4db725f0b9ebdb8bd9ef87a31e83300d">&#9670;&nbsp;</a></span>BIG_560_29_parity()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_parity </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a8bbbc9bb0aeb3ea59aed8007ea9ae266"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8bbbc9bb0aeb3ea59aed8007ea9ae266">&#9670;&nbsp;</a></span>BIG_560_29_pmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_560_29_pmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a6d61085a3a76337a0d82ac3e65fb6026"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6d61085a3a76337a0d82ac3e65fb6026">&#9670;&nbsp;</a></span>BIG_560_29_pxmul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_pxmul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="adafd6f05406b9a591aa971cba0825c6c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#adafd6f05406b9a591aa971cba0825c6c">&#9670;&nbsp;</a></span>BIG_560_29_random()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_random </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a8fe1cf5b87b4db63ff9234829408ccc7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8fe1cf5b87b4db63ff9234829408ccc7">&#9670;&nbsp;</a></span>BIG_560_29_randomnum()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_randomnum </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5bc5722658a94b5247a1609571487fe0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5bc5722658a94b5247a1609571487fe0">&#9670;&nbsp;</a></span>BIG_560_29_rawoutput()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_rawoutput </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a2067a272be66e61ffa263db0489932f8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2067a272be66e61ffa263db0489932f8">&#9670;&nbsp;</a></span>BIG_560_29_rcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_rcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a775faf413caafab161a9b40473957476"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a775faf413caafab161a9b40473957476">&#9670;&nbsp;</a></span>BIG_560_29_sdcopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_sdcopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a7751e56b7afb898f804bd614cdce0f11"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7751e56b7afb898f804bd614cdce0f11">&#9670;&nbsp;</a></span>BIG_560_29_sdiv()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_sdiv </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="ab6b90ba76c93b712c79ecf0fa4c11a85"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab6b90ba76c93b712c79ecf0fa4c11a85">&#9670;&nbsp;</a></span>BIG_560_29_sducopy()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_sducopy </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a948b32e26c4c4551351ff9fc68ea4822"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a948b32e26c4c4551351ff9fc68ea4822">&#9670;&nbsp;</a></span>BIG_560_29_shl()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_shl </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a5c2b4afaef6383d924f8d87d8b03942b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5c2b4afaef6383d924f8d87d8b03942b">&#9670;&nbsp;</a></span>BIG_560_29_shr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_shr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="aa708c4c1eea0d5af0b43e82f061f854a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa708c4c1eea0d5af0b43e82f061f854a">&#9670;&nbsp;</a></span>BIG_560_29_smul()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_smul </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a19241dcc77b787b493370d3a3e657259"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a19241dcc77b787b493370d3a3e657259">&#9670;&nbsp;</a></span>BIG_560_29_split()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> BIG_560_29_split </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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="a867fd42d71918d1db92cf4934bf882c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a867fd42d71918d1db92cf4934bf882c5">&#9670;&nbsp;</a></span>BIG_560_29_sqr()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_sqr </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a3e07a3bbd83a0d6630106c726e58c828"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3e07a3bbd83a0d6630106c726e58c828">&#9670;&nbsp;</a></span>BIG_560_29_ssn()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int BIG_560_29_ssn </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a587bc2e12545c048659aaa3eb5c68315"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a587bc2e12545c048659aaa3eb5c68315">&#9670;&nbsp;</a></span>BIG_560_29_sub()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_sub </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a54e02dc726f8824e62759a2fa14b59a5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a54e02dc726f8824e62759a2fa14b59a5">&#9670;&nbsp;</a></span>BIG_560_29_toBytes()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_toBytes </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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="a464cd2642cf515bdafe4946d818de6df"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a464cd2642cf515bdafe4946d818de6df">&#9670;&nbsp;</a></span>BIG_560_29_zero()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void BIG_560_29_zero </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h_source.html b/website/static/cdocs/big__560__29_8h_source.html
deleted file mode 100644
index 227d202..0000000
--- a/website/static/cdocs/big__560__29_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_560_29.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_560_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="big__560__29_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_560_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_560_29_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__560__29_8h.html">config_big_560_29.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__560__29_8h.html#a02bdf4e3336ecd6241c01b103495ca3f">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_560_29 (8*MODBYTES_560_29) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">   40</a></span>&#160;<span class="preprocessor">#define NLEN_560_29 (1+((8*MODBYTES_560_29-1)/BASEBITS_560_29)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_560_29 2*NLEN_560_29 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249">   42</a></span>&#160;<span class="preprocessor">#define BMASK_560_29 (((chunk)1&lt;&lt;BASEBITS_560_29)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__560__29_8h.html#af547bb109561c1676dd7fa6d28c4c56c">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_560_29 (1&lt;&lt;(CHUNK-BASEBITS_560_29-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">   45</a></span>&#160;<span class="preprocessor">#define HBITS_560_29 (BASEBITS_560_29/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">   46</a></span>&#160;<span class="preprocessor">#define HMASK_560_29 (((chunk)1&lt;&lt;HBITS_560_29)-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_560_29 NLEN_560_29</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_560_29 (NLEN_560_29+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__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>[<a class="code" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_560_29 DNLEN_560_29</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_560_29 (DNLEN_560_29+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__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>[<a class="code" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">DNLEN_560_29</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__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a>[<a class="code" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a>[<a class="code" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">DNLEN_560_29</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__560__29_8h.html#afb68b5fa13e176d7e32a2057b71ac780">BIG_560_29_iszilch</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a2a5cdd4dfe0e6aba419a75f49243ad43">BIG_560_29_isunity</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#aa8dcbefb1a36e50d3f9b241573ef9a07">BIG_560_29_diszilch</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a5057ccb43e0e7eb9f8aea795ac62aaa7">BIG_560_29_output</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a5bc5722658a94b5247a1609571487fe0">BIG_560_29_rawoutput</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a5986aced3f00297a9b7aefa2088a2aa0">BIG_560_29_cswap</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a08c0a219dcc9ba548194f3fb07ddd338">BIG_560_29_cmove</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a70647835b3562e8015dca7f80f008b66">BIG_560_29_dcmove</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a54e02dc726f8824e62759a2fa14b59a5">BIG_560_29_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a8fa45c00b5827a65847d7f4a09cb296f">BIG_560_29_fromBytes</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a5e21437235e92875a043ef7b29d0e54c">BIG_560_29_fromBytesLen</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#af2b12cf78dd1bda266eed46c74aaa401">BIG_560_29_dfromBytesLen</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a3532414b33ec5c454d2aa69450a71e3b">BIG_560_29_doutput</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a819c27b791c06a68c885c3bac71ed026">BIG_560_29_drawoutput</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a2067a272be66e61ffa263db0489932f8">BIG_560_29_rcopy</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<span class="keyword">const</span> <a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a51f1a538cd2acd170c64f333bbf9ef38">BIG_560_29_copy</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a0441ea3e88f376aa446b21393a78d818">BIG_560_29_dcopy</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#aaa5770a5f1eb5f3520f5af8673d621e3">BIG_560_29_dsucopy</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a0e2ca1c8b0e5004d89eb25f7fbe1413a">BIG_560_29_dscopy</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a775faf413caafab161a9b40473957476">BIG_560_29_sdcopy</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#ab6b90ba76c93b712c79ecf0fa4c11a85">BIG_560_29_sducopy</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a464cd2642cf515bdafe4946d818de6df">BIG_560_29_zero</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a35ed74837f580f23ae25b217cb80a7c4">BIG_560_29_dzero</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#aecec4cf34ec7476ce48f085f126674fd">BIG_560_29_one</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a0c147e73b0bae9635bee593175774f0c">BIG_560_29_invmod2m</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#ae65e9996ba096849473662afb7105678">BIG_560_29_add</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a23fb2086d698b03e3b409b6f0c0a80dc">BIG_560_29_or</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#aadc38ea4dbbbcf952ca5c939c7afc661">BIG_560_29_inc</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a587bc2e12545c048659aaa3eb5c68315">BIG_560_29_sub</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a33a5c0c69dd8d1efc4c8e665eeff8b9b">BIG_560_29_dec</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a4a6546b6be50aa0ed327cae3a76e45b2">BIG_560_29_dadd</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a4f9c5cbd7a7139c9e57612b6371edd2f">BIG_560_29_dsub</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a7375b371afca2493f289e566e773ca4a">BIG_560_29_imul</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a8bbbc9bb0aeb3ea59aed8007ea9ae266">BIG_560_29_pmul</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#ac248bd7812fdb863cf77da864d006547">BIG_560_29_div3</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a6d61085a3a76337a0d82ac3e65fb6026">BIG_560_29_pxmul</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a57ee8eed41be0783324dbeea72e1078d">BIG_560_29_mul</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#aa708c4c1eea0d5af0b43e82f061f854a">BIG_560_29_smul</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a867fd42d71918d1db92cf4934bf882c5">BIG_560_29_sqr</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#adcbe9492816b75278b278758fe1c21bb">BIG_560_29_monty</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> a,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a948b32e26c4c4551351ff9fc68ea4822">BIG_560_29_shl</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a469fb92dfb3cfad74782399dfa4c0ea7">BIG_560_29_fshl</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a2a7dc62a5c174e03456b3df7de48c7d0">BIG_560_29_dshl</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a5c2b4afaef6383d924f8d87d8b03942b">BIG_560_29_shr</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a3e07a3bbd83a0d6630106c726e58c828">BIG_560_29_ssn</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> r,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> a, <a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a87bbbb471bd5640d81799ae94d459a89">BIG_560_29_fshr</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a4d4cfcf637b71a4fc532c5d8ed04b6be">BIG_560_29_dshr</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a19241dcc77b787b493370d3a3e657259">BIG_560_29_split</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#aefd62aa61037b77a52b931b51787e921">BIG_560_29_norm</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a5a1d428f6a3948985ef7ecee44b1ed90">BIG_560_29_dnorm</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a5e71aecc096e5d0cf8abb41ef467280c">BIG_560_29_comp</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#ad1fa33c289213fb0c9546e58a682f39b">BIG_560_29_dcomp</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#a5a29d5bcaa2299f1f7ab4c322a2df907">BIG_560_29_nbits</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a96f414c632beb42afa3b18803e3c1c02">BIG_560_29_dnbits</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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__560__29_8h.html#afac3c76a8f4e070630b0e548f23ef358">BIG_560_29_mod</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a7751e56b7afb898f804bd614cdce0f11">BIG_560_29_sdiv</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a0145ff9aba864d2e93d34044ab35b0b3">BIG_560_29_dmod</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a63a2a4340ec906ef4edafd8cdda5ecd1">BIG_560_29_ddiv</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a4db725f0b9ebdb8bd9ef87a31e83300d">BIG_560_29_parity</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a89a8e99224c79e20a83f65e950f50140">BIG_560_29_bit</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#ad8abd5137561bfed04669cf96c259781">BIG_560_29_lastbits</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#adafd6f05406b9a591aa971cba0825c6c">BIG_560_29_random</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a8fe1cf5b87b4db63ff9234829408ccc7">BIG_560_29_randomnum</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a1efc3b09f5b07ca7a559d83e76acbe57">BIG_560_29_modmul</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#af4275b84bb243a4299a8fbae6c594db1">BIG_560_29_moddiv</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> z,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a21e87e8bf1b42f00087e74ae6102ba8c">BIG_560_29_modsqr</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a5a8cb966bd251bd9b28c447e67ef41e8">BIG_560_29_modneg</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#acabe4baa29863ad5559020c8f2136d9f">BIG_560_29_jacobi</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#a00a5f8b23c288c2448ddb2d88d315b21">BIG_560_29_invmodp</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> x,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a> y,<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#ad8b4f3bcef2aa611363bb7afd3477c37">BIG_560_29_mod2m</a>(<a class="code" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</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__560__29_8h.html#abfb7a14c67bc951d22fb8646caa80949">BIG_560_29_dmod2m</a>(<a class="code" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</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_560_29(<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__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249">BMASK_560_29</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__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</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_560_29(<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__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">HMASK_560_29</a>;</div><div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    x1=(x&gt;&gt;<a class="code" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">HMASK_560_29</a>;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    y1=(y&gt;&gt;<a class="code" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</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__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">HMASK_560_29</a>;</div><div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    x1=(mid&gt;&gt;<a class="code" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</a>);</div><div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    bot+=x0&lt;&lt;<a class="code" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</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__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249">BMASK_560_29</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__560__29_8h_html_a2a7dc62a5c174e03456b3df7de48c7d0"><div class="ttname"><a href="big__560__29_8h.html#a2a7dc62a5c174e03456b3df7de48c7d0">BIG_560_29_dshl</a></div><div class="ttdeci">void BIG_560_29_dshl(DBIG_560_29 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_560_29.c:846</div></div>
-<div class="ttc" id="big__560__29_8h_html_af4275b84bb243a4299a8fbae6c594db1"><div class="ttname"><a href="big__560__29_8h.html#af4275b84bb243a4299a8fbae6c594db1">BIG_560_29_moddiv</a></div><div class="ttdeci">void BIG_560_29_moddiv(BIG_560_29 x, BIG_560_29 y, BIG_560_29 z, BIG_560_29 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1337</div></div>
-<div class="ttc" id="big__560__29_8h_html_ad8abd5137561bfed04669cf96c259781"><div class="ttname"><a href="big__560__29_8h.html#ad8abd5137561bfed04669cf96c259781">BIG_560_29_lastbits</a></div><div class="ttdeci">int BIG_560_29_lastbits(BIG_560_29 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1240</div></div>
-<div class="ttc" id="big__560__29_8h_html_a4a6546b6be50aa0ed327cae3a76e45b2"><div class="ttname"><a href="big__560__29_8h.html#a4a6546b6be50aa0ed327cae3a76e45b2">BIG_560_29_dadd</a></div><div class="ttdeci">void BIG_560_29_dadd(DBIG_560_29 x, DBIG_560_29 y, DBIG_560_29 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:426</div></div>
-<div class="ttc" id="big__560__29_8h_html_afb68b5fa13e176d7e32a2057b71ac780"><div class="ttname"><a href="big__560__29_8h.html#afb68b5fa13e176d7e32a2057b71ac780">BIG_560_29_iszilch</a></div><div class="ttdeci">int BIG_560_29_iszilch(BIG_560_29 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:26</div></div>
-<div class="ttc" id="big__560__29_8h_html_afac3c76a8f4e070630b0e548f23ef358"><div class="ttname"><a href="big__560__29_8h.html#afac3c76a8f4e070630b0e548f23ef358">BIG_560_29_mod</a></div><div class="ttdeci">void BIG_560_29_mod(BIG_560_29 x, BIG_560_29 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1082</div></div>
-<div class="ttc" id="big__560__29_8h_html_a775faf413caafab161a9b40473957476"><div class="ttname"><a href="big__560__29_8h.html#a775faf413caafab161a9b40473957476">BIG_560_29_sdcopy</a></div><div class="ttdeci">void BIG_560_29_sdcopy(BIG_560_29 x, DBIG_560_29 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:294</div></div>
-<div class="ttc" id="big__560__29_8h_html_a6d61085a3a76337a0d82ac3e65fb6026"><div class="ttname"><a href="big__560__29_8h.html#a6d61085a3a76337a0d82ac3e65fb6026">BIG_560_29_pxmul</a></div><div class="ttdeci">void BIG_560_29_pxmul(DBIG_560_29 x, BIG_560_29 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_560_29.c:501</div></div>
-<div class="ttc" id="big__560__29_8h_html_a52abaf5dd19e66d456c2b56924f157d9"><div class="ttname"><a href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">HBITS_560_29</a></div><div class="ttdeci">#define HBITS_560_29</div><div class="ttdef"><b>Definition:</b> big_560_29.h:45</div></div>
-<div class="ttc" id="big__560__29_8h_html_a819c27b791c06a68c885c3bac71ed026"><div class="ttname"><a href="big__560__29_8h.html#a819c27b791c06a68c885c3bac71ed026">BIG_560_29_drawoutput</a></div><div class="ttdeci">void BIG_560_29_drawoutput(DBIG_560_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:212</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5e71aecc096e5d0cf8abb41ef467280c"><div class="ttname"><a href="big__560__29_8h.html#a5e71aecc096e5d0cf8abb41ef467280c">BIG_560_29_comp</a></div><div class="ttdeci">int BIG_560_29_comp(BIG_560_29 x, BIG_560_29 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1014</div></div>
-<div class="ttc" id="big__560__29_8h_html_ac248bd7812fdb863cf77da864d006547"><div class="ttname"><a href="big__560__29_8h.html#ac248bd7812fdb863cf77da864d006547">BIG_560_29_div3</a></div><div class="ttdeci">int BIG_560_29_div3(BIG_560_29 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:484</div></div>
-<div class="ttc" id="big__560__29_8h_html_a23fb2086d698b03e3b409b6f0c0a80dc"><div class="ttname"><a href="big__560__29_8h.html#a23fb2086d698b03e3b409b6f0c0a80dc">BIG_560_29_or</a></div><div class="ttdeci">void BIG_560_29_or(BIG_560_29 x, BIG_560_29 y, BIG_560_29 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:371</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5a1d428f6a3948985ef7ecee44b1ed90"><div class="ttname"><a href="big__560__29_8h.html#a5a1d428f6a3948985ef7ecee44b1ed90">BIG_560_29_dnorm</a></div><div class="ttdeci">void BIG_560_29_dnorm(DBIG_560_29 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:995</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5057ccb43e0e7eb9f8aea795ac62aaa7"><div class="ttname"><a href="big__560__29_8h.html#a5057ccb43e0e7eb9f8aea795ac62aaa7">BIG_560_29_output</a></div><div class="ttdeci">void BIG_560_29_output(BIG_560_29 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:55</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5a29d5bcaa2299f1f7ab4c322a2df907"><div class="ttname"><a href="big__560__29_8h.html#a5a29d5bcaa2299f1f7ab4c322a2df907">BIG_560_29_nbits</a></div><div class="ttdeci">int BIG_560_29_nbits(BIG_560_29 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1040</div></div>
-<div class="ttc" id="big__560__29_8h_html_adafd6f05406b9a591aa971cba0825c6c"><div class="ttname"><a href="big__560__29_8h.html#adafd6f05406b9a591aa971cba0825c6c">BIG_560_29_random</a></div><div class="ttdeci">void BIG_560_29_random(BIG_560_29 x, csprng *r)</div><div class="ttdoc">Create a random BIG from a random number generator.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1248</div></div>
-<div class="ttc" id="big__560__29_8h_html_a2a5cdd4dfe0e6aba419a75f49243ad43"><div class="ttname"><a href="big__560__29_8h.html#a2a5cdd4dfe0e6aba419a75f49243ad43">BIG_560_29_isunity</a></div><div class="ttdeci">int BIG_560_29_isunity(BIG_560_29 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:35</div></div>
-<div class="ttc" id="big__560__29_8h_html_a70647835b3562e8015dca7f80f008b66"><div class="ttname"><a href="big__560__29_8h.html#a70647835b3562e8015dca7f80f008b66">BIG_560_29_dcmove</a></div><div class="ttdeci">void BIG_560_29_dcmove(BIG_560_29 x, BIG_560_29 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__560__29_8h_html_a4f9c5cbd7a7139c9e57612b6371edd2f"><div class="ttname"><a href="big__560__29_8h.html#a4f9c5cbd7a7139c9e57612b6371edd2f">BIG_560_29_dsub</a></div><div class="ttdeci">void BIG_560_29_dsub(DBIG_560_29 x, DBIG_560_29 y, DBIG_560_29 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:413</div></div>
-<div class="ttc" id="big__560__29_8h_html_a8fa45c00b5827a65847d7f4a09cb296f"><div class="ttname"><a href="big__560__29_8h.html#a8fa45c00b5827a65847d7f4a09cb296f">BIG_560_29_fromBytes</a></div><div class="ttdeci">void BIG_560_29_fromBytes(BIG_560_29 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:155</div></div>
-<div class="ttc" id="big__560__29_8h_html_acabe4baa29863ad5559020c8f2136d9f"><div class="ttname"><a href="big__560__29_8h.html#acabe4baa29863ad5559020c8f2136d9f">BIG_560_29_jacobi</a></div><div class="ttdeci">int BIG_560_29_jacobi(BIG_560_29 x, BIG_560_29 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1354</div></div>
-<div class="ttc" id="big__560__29_8h_html_aaa5770a5f1eb5f3520f5af8673d621e3"><div class="ttname"><a href="big__560__29_8h.html#aaa5770a5f1eb5f3520f5af8673d621e3">BIG_560_29_dsucopy</a></div><div class="ttdeci">void BIG_560_29_dsucopy(DBIG_560_29 x, BIG_560_29 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:280</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5bc5722658a94b5247a1609571487fe0"><div class="ttname"><a href="big__560__29_8h.html#a5bc5722658a94b5247a1609571487fe0">BIG_560_29_rawoutput</a></div><div class="ttdeci">void BIG_560_29_rawoutput(BIG_560_29 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_560_29.c:77</div></div>
-<div class="ttc" id="big__560__29_8h_html_adcbe9492816b75278b278758fe1c21bb"><div class="ttname"><a href="big__560__29_8h.html#adcbe9492816b75278b278758fe1c21bb">BIG_560_29_monty</a></div><div class="ttdeci">void BIG_560_29_monty(BIG_560_29 a, BIG_560_29 md, chunk MC, DBIG_560_29 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_560_29.c:735</div></div>
-<div class="ttc" id="big__560__29_8h_html_aefd62aa61037b77a52b931b51787e921"><div class="ttname"><a href="big__560__29_8h.html#aefd62aa61037b77a52b931b51787e921">BIG_560_29_norm</a></div><div class="ttdeci">chunk BIG_560_29_norm(BIG_560_29 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:976</div></div>
-<div class="ttc" id="big__560__29_8h_html_a3532414b33ec5c454d2aa69450a71e3b"><div class="ttname"><a href="big__560__29_8h.html#a3532414b33ec5c454d2aa69450a71e3b">BIG_560_29_doutput</a></div><div class="ttdeci">void BIG_560_29_doutput(DBIG_560_29 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:190</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5986aced3f00297a9b7aefa2088a2aa0"><div class="ttname"><a href="big__560__29_8h.html#a5986aced3f00297a9b7aefa2088a2aa0">BIG_560_29_cswap</a></div><div class="ttdeci">void BIG_560_29_cswap(BIG_560_29 x, BIG_560_29 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:92</div></div>
-<div class="ttc" id="big__560__29_8h_html_a948b32e26c4c4551351ff9fc68ea4822"><div class="ttname"><a href="big__560__29_8h.html#a948b32e26c4c4551351ff9fc68ea4822">BIG_560_29_shl</a></div><div class="ttdeci">void BIG_560_29_shl(BIG_560_29 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_560_29.c:813</div></div>
-<div class="ttc" id="big__560__29_8h_html_aecec4cf34ec7476ce48f085f126674fd"><div class="ttname"><a href="big__560__29_8h.html#aecec4cf34ec7476ce48f085f126674fd">BIG_560_29_one</a></div><div class="ttdeci">void BIG_560_29_one(BIG_560_29 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_560_29.c:340</div></div>
-<div class="ttc" id="big__560__29_8h_html_a57ee8eed41be0783324dbeea72e1078d"><div class="ttname"><a href="big__560__29_8h.html#a57ee8eed41be0783324dbeea72e1078d">BIG_560_29_mul</a></div><div class="ttdeci">void BIG_560_29_mul(DBIG_560_29 x, BIG_560_29 y, BIG_560_29 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_560_29.c:542</div></div>
-<div class="ttc" id="big__560__29_8h_html_aee21b520738166490cd1a8e186b7e626"><div class="ttname"><a href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">DNLEN_560_29</a></div><div class="ttdeci">#define DNLEN_560_29</div><div class="ttdef"><b>Definition:</b> big_560_29.h:41</div></div>
-<div class="ttc" id="big__560__29_8h_html_a63a2a4340ec906ef4edafd8cdda5ecd1"><div class="ttname"><a href="big__560__29_8h.html#a63a2a4340ec906ef4edafd8cdda5ecd1">BIG_560_29_ddiv</a></div><div class="ttdeci">void BIG_560_29_ddiv(BIG_560_29 x, DBIG_560_29 y, BIG_560_29 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1149</div></div>
-<div class="ttc" id="big__560__29_8h_html_a8fe1cf5b87b4db63ff9234829408ccc7"><div class="ttname"><a href="big__560__29_8h.html#a8fe1cf5b87b4db63ff9234829408ccc7">BIG_560_29_randomnum</a></div><div class="ttdeci">void BIG_560_29_randomnum(BIG_560_29 x, BIG_560_29 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_560_29.c:1274</div></div>
-<div class="ttc" id="big__560__29_8h_html_a4db725f0b9ebdb8bd9ef87a31e83300d"><div class="ttname"><a href="big__560__29_8h.html#a4db725f0b9ebdb8bd9ef87a31e83300d">BIG_560_29_parity</a></div><div class="ttdeci">int BIG_560_29_parity(BIG_560_29 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1225</div></div>
-<div class="ttc" id="big__560__29_8h_html_a4d4cfcf637b71a4fc532c5d8ed04b6be"><div class="ttname"><a href="big__560__29_8h.html#a4d4cfcf637b71a4fc532c5d8ed04b6be">BIG_560_29_dshr</a></div><div class="ttdeci">void BIG_560_29_dshr(DBIG_560_29 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_560_29.c:918</div></div>
-<div class="ttc" id="big__560__29_8h_html_a0441ea3e88f376aa446b21393a78d818"><div class="ttname"><a href="big__560__29_8h.html#a0441ea3e88f376aa446b21393a78d818">BIG_560_29_dcopy</a></div><div class="ttdeci">void BIG_560_29_dcopy(DBIG_560_29 x, DBIG_560_29 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:251</div></div>
-<div class="ttc" id="big__560__29_8h_html_abd3a5ec7116d01064ff1d4af3e45ae9a"><div class="ttname"><a href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">NLEN_560_29</a></div><div class="ttdeci">#define NLEN_560_29</div><div class="ttdef"><b>Definition:</b> big_560_29.h:40</div></div>
-<div class="ttc" id="big__560__29_8h_html_a0c147e73b0bae9635bee593175774f0c"><div class="ttname"><a href="big__560__29_8h.html#a0c147e73b0bae9635bee593175774f0c">BIG_560_29_invmod2m</a></div><div class="ttdeci">void BIG_560_29_invmod2m(BIG_560_29 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
-<div class="ttc" id="big__560__29_8h_html_a08c0a219dcc9ba548194f3fb07ddd338"><div class="ttname"><a href="big__560__29_8h.html#a08c0a219dcc9ba548194f3fb07ddd338">BIG_560_29_cmove</a></div><div class="ttdeci">void BIG_560_29_cmove(BIG_560_29 x, BIG_560_29 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:110</div></div>
-<div class="ttc" id="config__big__560__29_8h_html"><div class="ttname"><a href="config__big__560__29_8h.html">config_big_560_29.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__560__29_8h_html_aec67ad7ff5a92e798e5f90f381c6d795"><div class="ttname"><a href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">BIG_560_29</a></div><div class="ttdeci">chunk BIG_560_29[NLEN_560_29]</div><div class="ttdef"><b>Definition:</b> big_560_29.h:58</div></div>
-<div class="ttc" id="big__560__29_8h_html_ab6b90ba76c93b712c79ecf0fa4c11a85"><div class="ttname"><a href="big__560__29_8h.html#ab6b90ba76c93b712c79ecf0fa4c11a85">BIG_560_29_sducopy</a></div><div class="ttdeci">void BIG_560_29_sducopy(BIG_560_29 x, DBIG_560_29 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:306</div></div>
-<div class="ttc" id="big__560__29_8h_html_a21e87e8bf1b42f00087e74ae6102ba8c"><div class="ttname"><a href="big__560__29_8h.html#a21e87e8bf1b42f00087e74ae6102ba8c">BIG_560_29_modsqr</a></div><div class="ttdeci">void BIG_560_29_modsqr(BIG_560_29 x, BIG_560_29 y, BIG_560_29 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1315</div></div>
-<div class="ttc" id="big__560__29_8h_html_a33a5c0c69dd8d1efc4c8e665eeff8b9b"><div class="ttname"><a href="big__560__29_8h.html#a33a5c0c69dd8d1efc4c8e665eeff8b9b">BIG_560_29_dec</a></div><div class="ttdeci">void BIG_560_29_dec(BIG_560_29 x, int i)</div><div class="ttdoc">Decrement BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:440</div></div>
-<div class="ttc" id="big__560__29_8h_html_a35ed74837f580f23ae25b217cb80a7c4"><div class="ttname"><a href="big__560__29_8h.html#a35ed74837f580f23ae25b217cb80a7c4">BIG_560_29_dzero</a></div><div class="ttdeci">void BIG_560_29_dzero(DBIG_560_29 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:329</div></div>
-<div class="ttc" id="big__560__29_8h_html_ad8b4f3bcef2aa611363bb7afd3477c37"><div class="ttname"><a href="big__560__29_8h.html#ad8b4f3bcef2aa611363bb7afd3477c37">BIG_560_29_mod2m</a></div><div class="ttdeci">void BIG_560_29_mod2m(BIG_560_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1456</div></div>
-<div class="ttc" id="big__560__29_8h_html_a3e07a3bbd83a0d6630106c726e58c828"><div class="ttname"><a href="big__560__29_8h.html#a3e07a3bbd83a0d6630106c726e58c828">BIG_560_29_ssn</a></div><div class="ttdeci">int BIG_560_29_ssn(BIG_560_29 r, BIG_560_29 a, BIG_560_29 m)</div><div class="ttdoc">Fast time-critical combined shift by 1 bit, subtract and normalise.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:877</div></div>
-<div class="ttc" id="big__560__29_8h_html_a89a8e99224c79e20a83f65e950f50140"><div class="ttname"><a href="big__560__29_8h.html#a89a8e99224c79e20a83f65e950f50140">BIG_560_29_bit</a></div><div class="ttdeci">int BIG_560_29_bit(BIG_560_29 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1232</div></div>
-<div class="ttc" id="big__560__29_8h_html_a7751e56b7afb898f804bd614cdce0f11"><div class="ttname"><a href="big__560__29_8h.html#a7751e56b7afb898f804bd614cdce0f11">BIG_560_29_sdiv</a></div><div class="ttdeci">void BIG_560_29_sdiv(BIG_560_29 x, BIG_560_29 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1188</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5e21437235e92875a043ef7b29d0e54c"><div class="ttname"><a href="big__560__29_8h.html#a5e21437235e92875a043ef7b29d0e54c">BIG_560_29_fromBytesLen</a></div><div class="ttdeci">void BIG_560_29_fromBytesLen(BIG_560_29 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_560_29.c:170</div></div>
-<div class="ttc" id="big__560__29_8h_html_a51f1a538cd2acd170c64f333bbf9ef38"><div class="ttname"><a href="big__560__29_8h.html#a51f1a538cd2acd170c64f333bbf9ef38">BIG_560_29_copy</a></div><div class="ttdeci">void BIG_560_29_copy(BIG_560_29 x, BIG_560_29 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:227</div></div>
-<div class="ttc" id="big__560__29_8h_html_a6ac7afc11cde3738182e8271cbdd9249"><div class="ttname"><a href="big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249">BMASK_560_29</a></div><div class="ttdeci">#define BMASK_560_29</div><div class="ttdef"><b>Definition:</b> big_560_29.h:42</div></div>
-<div class="ttc" id="big__560__29_8h_html_a8bbbc9bb0aeb3ea59aed8007ea9ae266"><div class="ttname"><a href="big__560__29_8h.html#a8bbbc9bb0aeb3ea59aed8007ea9ae266">BIG_560_29_pmul</a></div><div class="ttdeci">chunk BIG_560_29_pmul(BIG_560_29 x, BIG_560_29 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_560_29.c:465</div></div>
-<div class="ttc" id="big__560__29_8h_html_aa708c4c1eea0d5af0b43e82f061f854a"><div class="ttname"><a href="big__560__29_8h.html#aa708c4c1eea0d5af0b43e82f061f854a">BIG_560_29_smul</a></div><div class="ttdeci">void BIG_560_29_smul(BIG_560_29 x, BIG_560_29 y, BIG_560_29 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_560_29.c:518</div></div>
-<div class="ttc" id="big__560__29_8h_html_a0145ff9aba864d2e93d34044ab35b0b3"><div class="ttname"><a href="big__560__29_8h.html#a0145ff9aba864d2e93d34044ab35b0b3">BIG_560_29_dmod</a></div><div class="ttdeci">void BIG_560_29_dmod(BIG_560_29 x, DBIG_560_29 y, BIG_560_29 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1113</div></div>
-<div class="ttc" id="config__big__560__29_8h_html_a85521cb71aeaf8796fba06832097d67f"><div class="ttname"><a href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a></div><div class="ttdeci">#define BASEBITS_560_29</div><div class="ttdef"><b>Definition:</b> config_big_560_29.h:35</div></div>
-<div class="ttc" id="big__560__29_8h_html_ad1fa33c289213fb0c9546e58a682f39b"><div class="ttname"><a href="big__560__29_8h.html#ad1fa33c289213fb0c9546e58a682f39b">BIG_560_29_dcomp</a></div><div class="ttdeci">int BIG_560_29_dcomp(DBIG_560_29 x, DBIG_560_29 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1026</div></div>
-<div class="ttc" id="big__560__29_8h_html_aadc38ea4dbbbcf952ca5c939c7afc661"><div class="ttname"><a href="big__560__29_8h.html#aadc38ea4dbbbcf952ca5c939c7afc661">BIG_560_29_inc</a></div><div class="ttdeci">void BIG_560_29_inc(BIG_560_29 x, int i)</div><div class="ttdoc">Increment BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:386</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5a8cb966bd251bd9b28c447e67ef41e8"><div class="ttname"><a href="big__560__29_8h.html#a5a8cb966bd251bd9b28c447e67ef41e8">BIG_560_29_modneg</a></div><div class="ttdeci">void BIG_560_29_modneg(BIG_560_29 x, BIG_560_29 y, BIG_560_29 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1327</div></div>
-<div class="ttc" id="big__560__29_8h_html_a2067a272be66e61ffa263db0489932f8"><div class="ttname"><a href="big__560__29_8h.html#a2067a272be66e61ffa263db0489932f8">BIG_560_29_rcopy</a></div><div class="ttdeci">void BIG_560_29_rcopy(BIG_560_29 x, const BIG_560_29 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:239</div></div>
-<div class="ttc" id="big__560__29_8h_html_a7375b371afca2493f289e566e773ca4a"><div class="ttname"><a href="big__560__29_8h.html#a7375b371afca2493f289e566e773ca4a">BIG_560_29_imul</a></div><div class="ttdeci">void BIG_560_29_imul(BIG_560_29 x, BIG_560_29 y, int i)</div><div class="ttdoc">Multiply BIG by a small integer - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:450</div></div>
-<div class="ttc" id="big__560__29_8h_html_af2b12cf78dd1bda266eed46c74aaa401"><div class="ttname"><a href="big__560__29_8h.html#af2b12cf78dd1bda266eed46c74aaa401">BIG_560_29_dfromBytesLen</a></div><div class="ttdeci">void BIG_560_29_dfromBytesLen(DBIG_560_29 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_560_29.c:1485</div></div>
-<div class="ttc" id="big__560__29_8h_html_a1efc3b09f5b07ca7a559d83e76acbe57"><div class="ttname"><a href="big__560__29_8h.html#a1efc3b09f5b07ca7a559d83e76acbe57">BIG_560_29_modmul</a></div><div class="ttdeci">void BIG_560_29_modmul(BIG_560_29 x, BIG_560_29 y, BIG_560_29 z, BIG_560_29 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1300</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__560__29_8h_html_a54e02dc726f8824e62759a2fa14b59a5"><div class="ttname"><a href="big__560__29_8h.html#a54e02dc726f8824e62759a2fa14b59a5">BIG_560_29_toBytes</a></div><div class="ttdeci">void BIG_560_29_toBytes(char *a, BIG_560_29 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:141</div></div>
-<div class="ttc" id="big__560__29_8h_html_a867fd42d71918d1db92cf4934bf882c5"><div class="ttname"><a href="big__560__29_8h.html#a867fd42d71918d1db92cf4934bf882c5">BIG_560_29_sqr</a></div><div class="ttdeci">void BIG_560_29_sqr(DBIG_560_29 x, BIG_560_29 y)</div><div class="ttdoc">Square BIG resulting in a DBIG - input normalised and output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:618</div></div>
-<div class="ttc" id="big__560__29_8h_html_a5c2b4afaef6383d924f8d87d8b03942b"><div class="ttname"><a href="big__560__29_8h.html#a5c2b4afaef6383d924f8d87d8b03942b">BIG_560_29_shr</a></div><div class="ttdeci">void BIG_560_29_shr(BIG_560_29 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_560_29.c:864</div></div>
-<div class="ttc" id="big__560__29_8h_html_a96f414c632beb42afa3b18803e3c1c02"><div class="ttname"><a href="big__560__29_8h.html#a96f414c632beb42afa3b18803e3c1c02">BIG_560_29_dnbits</a></div><div class="ttdeci">int BIG_560_29_dnbits(DBIG_560_29 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1060</div></div>
-<div class="ttc" id="big__560__29_8h_html_a587bc2e12545c048659aaa3eb5c68315"><div class="ttname"><a href="big__560__29_8h.html#a587bc2e12545c048659aaa3eb5c68315">BIG_560_29_sub</a></div><div class="ttdeci">void BIG_560_29_sub(BIG_560_29 x, BIG_560_29 y, BIG_560_29 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:397</div></div>
-<div class="ttc" id="big__560__29_8h_html_a00a5f8b23c288c2448ddb2d88d315b21"><div class="ttname"><a href="big__560__29_8h.html#a00a5f8b23c288c2448ddb2d88d315b21">BIG_560_29_invmodp</a></div><div class="ttdeci">void BIG_560_29_invmodp(BIG_560_29 x, BIG_560_29 y, BIG_560_29 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1392</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__560__29_8h_html_ae5f8a926c180262884b2c3b358723877"><div class="ttname"><a href="big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">HMASK_560_29</a></div><div class="ttdeci">#define HMASK_560_29</div><div class="ttdef"><b>Definition:</b> big_560_29.h:46</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__560__29_8h_html_ae65e9996ba096849473662afb7105678"><div class="ttname"><a href="big__560__29_8h.html#ae65e9996ba096849473662afb7105678">BIG_560_29_add</a></div><div class="ttdeci">void BIG_560_29_add(BIG_560_29 x, BIG_560_29 y, BIG_560_29 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:356</div></div>
-<div class="ttc" id="big__560__29_8h_html_a7818af0d01e6ace9d78004cdd85e2959"><div class="ttname"><a href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">DBIG_560_29</a></div><div class="ttdeci">chunk DBIG_560_29[DNLEN_560_29]</div><div class="ttdef"><b>Definition:</b> big_560_29.h:59</div></div>
-<div class="ttc" id="big__560__29_8h_html_abfb7a14c67bc951d22fb8646caa80949"><div class="ttname"><a href="big__560__29_8h.html#abfb7a14c67bc951d22fb8646caa80949">BIG_560_29_dmod2m</a></div><div class="ttdeci">void BIG_560_29_dmod2m(DBIG_560_29 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:1470</div></div>
-<div class="ttc" id="big__560__29_8h_html_a87bbbb471bd5640d81799ae94d459a89"><div class="ttname"><a href="big__560__29_8h.html#a87bbbb471bd5640d81799ae94d459a89">BIG_560_29_fshr</a></div><div class="ttdeci">int BIG_560_29_fshr(BIG_560_29 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_560_29.c:906</div></div>
-<div class="ttc" id="big__560__29_8h_html_a469fb92dfb3cfad74782399dfa4c0ea7"><div class="ttname"><a href="big__560__29_8h.html#a469fb92dfb3cfad74782399dfa4c0ea7">BIG_560_29_fshl</a></div><div class="ttdeci">int BIG_560_29_fshl(BIG_560_29 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_560_29.c:832</div></div>
-<div class="ttc" id="big__560__29_8h_html_aa8dcbefb1a36e50d3f9b241573ef9a07"><div class="ttname"><a href="big__560__29_8h.html#aa8dcbefb1a36e50d3f9b241573ef9a07">BIG_560_29_diszilch</a></div><div class="ttdeci">int BIG_560_29_diszilch(DBIG_560_29 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:45</div></div>
-<div class="ttc" id="big__560__29_8h_html_a0e2ca1c8b0e5004d89eb25f7fbe1413a"><div class="ttname"><a href="big__560__29_8h.html#a0e2ca1c8b0e5004d89eb25f7fbe1413a">BIG_560_29_dscopy</a></div><div class="ttdeci">void BIG_560_29_dscopy(DBIG_560_29 x, BIG_560_29 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:263</div></div>
-<div class="ttc" id="big__560__29_8h_html_a19241dcc77b787b493370d3a3e657259"><div class="ttname"><a href="big__560__29_8h.html#a19241dcc77b787b493370d3a3e657259">BIG_560_29_split</a></div><div class="ttdeci">chunk BIG_560_29_split(BIG_560_29 x, BIG_560_29 y, DBIG_560_29 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_560_29.c:932</div></div>
-<div class="ttc" id="big__560__29_8h_html_a464cd2642cf515bdafe4946d818de6df"><div class="ttname"><a href="big__560__29_8h.html#a464cd2642cf515bdafe4946d818de6df">BIG_560_29_zero</a></div><div class="ttdeci">void BIG_560_29_zero(BIG_560_29 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_560_29.c:319</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__560__58_8h.html b/website/static/cdocs/big__560__58_8h.html
index 1abae32..9bdce91 100644
--- a/website/static/cdocs/big__560__58_8h.html
+++ b/website/static/cdocs/big__560__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_560_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="a7ea08f6240e96a6da251c1054efba14f"></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="aa0a7123ca1210035a529f966774ac26c"></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__560__58_8h_source.html b/website/static/cdocs/big__560__58_8h_source.html
index e6d0b4d..bf21ade 100644
--- a/website/static/cdocs/big__560__58_8h_source.html
+++ b/website/static/cdocs/big__560__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_560_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_560_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="big__560__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_560_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_560_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__560__58_8h.html">config_big_560_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__560__58_8h.html#a485d9ac4165cf3e0b0d471a21c161a89">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_560_58 (8*MODBYTES_560_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">   40</a></span>&#160;<span class="preprocessor">#define NLEN_560_58 (1+((8*MODBYTES_560_58-1)/BASEBITS_560_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_560_58 2*NLEN_560_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">   42</a></span>&#160;<span class="preprocessor">#define BMASK_560_58 (((chunk)1&lt;&lt;BASEBITS_560_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a8c82fbf779b6b62aef7e61f30b6b59e5">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_560_58 (1&lt;&lt;(CHUNK-BASEBITS_560_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">   45</a></span>&#160;<span class="preprocessor">#define HBITS_560_58 (BASEBITS_560_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">   46</a></span>&#160;<span class="preprocessor">#define HMASK_560_58 (((chunk)1&lt;&lt;HBITS_560_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_560_58 NLEN_560_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_560_58 (NLEN_560_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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>[<a class="code" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_560_58 DNLEN_560_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_560_58 (DNLEN_560_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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a>[<a class="code" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>[<a class="code" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a>[<a class="code" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_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__560__58_8h.html#a2916cb489d9285e99bbcf90d357c3099">BIG_560_58_iszilch</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a02b88360183b0b0286799b49f6eea012">BIG_560_58_isunity</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a30b28ced4ed7d6181913af8002f521e0">BIG_560_58_diszilch</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a9c05c6d233b0a74c879a6075fc0b1a95">BIG_560_58_output</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a923c4866689e2c2d4c4f6fea450c7494">BIG_560_58_rawoutput</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#afc6c3f005628330af453f7a6de911455">BIG_560_58_cswap</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a2719180589480b71f07fa913faaba4cf">BIG_560_58_cmove</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8e8a48d59f31233e070c5aecfd6071df">BIG_560_58_dcmove</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aab3994b47d2707e5a9cabf1169e10064">BIG_560_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8ccda9b0667e1e45fbe339fce171d623">BIG_560_58_fromBytes</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1712ce09846955ed495dfa84d9bba13a">BIG_560_58_fromBytesLen</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a9f74d26683d65d7af8dd323dc3c90819">BIG_560_58_dfromBytesLen</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#adb99ae2cbe9b56099e03a6378ebee70f">BIG_560_58_doutput</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a305302003fac8103f3100ac75b849d57">BIG_560_58_drawoutput</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#aa6aa6922e19a22db88fa63751a060d3a">BIG_560_58_rcopy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a3c90649900404f6fcf73b6fe1a51b2bc">BIG_560_58_copy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#af735eb89f7a0681cedc16d9f962502da">BIG_560_58_dcopy</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#aa1fa05d14a19252e02c9e5c4b7956277">BIG_560_58_dsucopy</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aae007a5cf23c56bab06273525d74cb1a">BIG_560_58_dscopy</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a200f86ec088eae0041b0835f16aa8cfb">BIG_560_58_sdcopy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a1d466fd2eeb278b25ac062e055647bf8">BIG_560_58_sducopy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a263ac166e4e3b19f8dfa5e20c6f87d69">BIG_560_58_zero</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a998659418b4792a702abf53d296a24eb">BIG_560_58_dzero</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ac84b0a6d251784f6609f5eda9d013277">BIG_560_58_one</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a">BIG_560_58_invmod2m</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c">BIG_560_58_add</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a76b213fb2e2a8c06ad0003da2310e14d">BIG_560_58_or</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#af00a90d21a75db5f737f513da2c59364">BIG_560_58_inc</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#af91fcd4ebf013d52952b62ce4dd5bd30">BIG_560_58_sub</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ae559ae6b4967c1e38b53de1a25fd92dc">BIG_560_58_dec</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#adf86eac92b5bc55666eed8a30f0a10b3">BIG_560_58_dadd</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a8dccbc541098a69d39c0491cccb12239">BIG_560_58_dsub</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a4f84bbe855c1c3f4018db855ea8c3321">BIG_560_58_imul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#adff57b962d7eef6c5e89430f62bf8516">BIG_560_58_pmul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#abce845d9bf973ce0068f943401a7abaf">BIG_560_58_div3</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8906d5fc3a7bf5b0a70128a50cb0590b">BIG_560_58_pxmul</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a64a04356cf44a2c66c10b348aaed5b87">BIG_560_58_mul</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aa9f99263e174f4909b7f75c52717a888">BIG_560_58_smul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ad12c1c9fba1ab705ad97810b7f57b97e">BIG_560_58_sqr</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a2b4a92279b44fd898838b6a6b7e04300">BIG_560_58_monty</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ad9345da16be6045bbe81295fbd6d9806">BIG_560_58_shl</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a933ed83afd555ce1d30465f6b87f1fb4">BIG_560_58_fshl</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a7bc2d0fbf5a95bc23e060d9306f8234c">BIG_560_58_dshl</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a051205c28cde3b590f43f8b465885d6b">BIG_560_58_shr</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a6e315218912e4243b5550eb93b6874d9">BIG_560_58_ssn</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> r,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a, <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a70dfa08b161ea2ee689a1dde4e1a8d6d">BIG_560_58_fshr</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a4cf86432e2923b856c3821477b6a4640">BIG_560_58_dshr</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#afd3dcce58ffed1b0772b0b074eb42138">BIG_560_58_split</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a713011b18ea63ca7a86b50a9de165a80">BIG_560_58_norm</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac557e6c093c2ea60098d199e9715d06e">BIG_560_58_dnorm</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ae9a7199fc40677565a4967d0980fe545">BIG_560_58_comp</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a56f827f747af461e70452cb36e1aa0ce">BIG_560_58_dcomp</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a478dc0d290d7c9c8370735269745c333">BIG_560_58_nbits</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a7ea08f6240e96a6da251c1054efba14f">BIG_560_58_dnbits</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ae804952790a941b0611bac26460388f2">BIG_560_58_mod</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aade2836460fa312f93c24151bd98c241">BIG_560_58_sdiv</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a00d4d79660dd6eff3d1777c20fa29f8a">BIG_560_58_dmod</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a5e47e47ed1c5141fec0eeeb5e0328923">BIG_560_58_ddiv</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac49b7db6b2163e66bd5f1676bf753814">BIG_560_58_parity</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a41470dde5776a65bfd2aabc1b9feb19e">BIG_560_58_bit</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1cc773b3cd0ff6d7f17848a5721b883b">BIG_560_58_lastbits</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aaa5d87f2ab38db41181ed2713dcc0c19">BIG_560_58_random</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1e46780bbde49568e3be57ca115cacf6">BIG_560_58_randomnum</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1ccc9500cf4a72ccb9c407bb1f4212a8">BIG_560_58_modmul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aa0a7123ca1210035a529f966774ac26c">BIG_560_58_moddiv</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8c0d2c270a09895b92477ea368758323">BIG_560_58_modsqr</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a3b47a97c37d9a9680a01349343e06a3e">BIG_560_58_modneg</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a65387c59551469f472e4d0e486bd7291">BIG_560_58_jacobi</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a15ca0de7d97b9ca788e3ab3686d6b723">BIG_560_58_invmodp</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac9e04e6bc32701da6e9f963924d1763a">BIG_560_58_mod2m</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a5b800e8588400c4a30ab98f9fe988773">BIG_560_58_dmod2m</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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_560_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__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">BMASK_560_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__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_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_560_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__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_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__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_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__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">BMASK_560_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__560__58_8h_html_a8dccbc541098a69d39c0491cccb12239"><div class="ttname"><a href="big__560__58_8h.html#a8dccbc541098a69d39c0491cccb12239">BIG_560_58_dsub</a></div><div class="ttdeci">void BIG_560_58_dsub(DBIG_560_58 x, DBIG_560_58 y, DBIG_560_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:413</div></div>
-<div class="ttc" id="big__560__58_8h_html_a923c4866689e2c2d4c4f6fea450c7494"><div class="ttname"><a href="big__560__58_8h.html#a923c4866689e2c2d4c4f6fea450c7494">BIG_560_58_rawoutput</a></div><div class="ttdeci">void BIG_560_58_rawoutput(BIG_560_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_560_58.c:77</div></div>
+<a href="big__560__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_560_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define BIG_560_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__560__58_8h.html">config_big_560_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__560__58_8h.html#a485d9ac4165cf3e0b0d471a21c161a89">   39</a></span>&#160;<span class="preprocessor">#define BIGBITS_560_58 (8*MODBYTES_560_58) </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">   40</a></span>&#160;<span class="preprocessor">#define NLEN_560_58 (1+((8*MODBYTES_560_58-1)/BASEBITS_560_58)) </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">   41</a></span>&#160;<span class="preprocessor">#define DNLEN_560_58 2*NLEN_560_58 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">   42</a></span>&#160;<span class="preprocessor">#define BMASK_560_58 (((chunk)1&lt;&lt;BASEBITS_560_58)-1) </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a8c82fbf779b6b62aef7e61f30b6b59e5">   43</a></span>&#160;<span class="preprocessor">#define NEXCESS_560_58 (1&lt;&lt;(CHUNK-BASEBITS_560_58-1))           </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">   45</a></span>&#160;<span class="preprocessor">#define HBITS_560_58 (BASEBITS_560_58/2)      </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">   46</a></span>&#160;<span class="preprocessor">#define HMASK_560_58 (((chunk)1&lt;&lt;HBITS_560_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_560_58 NLEN_560_58</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#define MNV_560_58 (NLEN_560_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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>[<a class="code" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a>+2];   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define DMPV_560_58 DNLEN_560_58</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define DMNV_560_58 (DNLEN_560_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__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a>[<a class="code" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_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__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">   58</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>[<a class="code" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a>];     </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">   59</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a>[<a class="code" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_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__560__58_8h.html#a2916cb489d9285e99bbcf90d357c3099">BIG_560_58_iszilch</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a02b88360183b0b0286799b49f6eea012">BIG_560_58_isunity</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a30b28ced4ed7d6181913af8002f521e0">BIG_560_58_diszilch</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a9c05c6d233b0a74c879a6075fc0b1a95">BIG_560_58_output</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a923c4866689e2c2d4c4f6fea450c7494">BIG_560_58_rawoutput</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#afc6c3f005628330af453f7a6de911455">BIG_560_58_cswap</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a2719180589480b71f07fa913faaba4cf">BIG_560_58_cmove</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8e8a48d59f31233e070c5aecfd6071df">BIG_560_58_dcmove</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aab3994b47d2707e5a9cabf1169e10064">BIG_560_58_toBytes</a>(<span class="keywordtype">char</span> *a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8ccda9b0667e1e45fbe339fce171d623">BIG_560_58_fromBytes</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1712ce09846955ed495dfa84d9bba13a">BIG_560_58_fromBytesLen</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a9f74d26683d65d7af8dd323dc3c90819">BIG_560_58_dfromBytesLen</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#adb99ae2cbe9b56099e03a6378ebee70f">BIG_560_58_doutput</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a305302003fac8103f3100ac75b849d57">BIG_560_58_drawoutput</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#aa6aa6922e19a22db88fa63751a060d3a">BIG_560_58_rcopy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a3c90649900404f6fcf73b6fe1a51b2bc">BIG_560_58_copy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#af735eb89f7a0681cedc16d9f962502da">BIG_560_58_dcopy</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#aa1fa05d14a19252e02c9e5c4b7956277">BIG_560_58_dsucopy</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aae007a5cf23c56bab06273525d74cb1a">BIG_560_58_dscopy</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a200f86ec088eae0041b0835f16aa8cfb">BIG_560_58_sdcopy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a1d466fd2eeb278b25ac062e055647bf8">BIG_560_58_sducopy</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a263ac166e4e3b19f8dfa5e20c6f87d69">BIG_560_58_zero</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a998659418b4792a702abf53d296a24eb">BIG_560_58_dzero</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ac84b0a6d251784f6609f5eda9d013277">BIG_560_58_one</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a">BIG_560_58_invmod2m</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c">BIG_560_58_add</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a76b213fb2e2a8c06ad0003da2310e14d">BIG_560_58_or</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#af00a90d21a75db5f737f513da2c59364">BIG_560_58_inc</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#af91fcd4ebf013d52952b62ce4dd5bd30">BIG_560_58_sub</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ae559ae6b4967c1e38b53de1a25fd92dc">BIG_560_58_dec</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#adf86eac92b5bc55666eed8a30f0a10b3">BIG_560_58_dadd</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a8dccbc541098a69d39c0491cccb12239">BIG_560_58_dsub</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a4f84bbe855c1c3f4018db855ea8c3321">BIG_560_58_imul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#adff57b962d7eef6c5e89430f62bf8516">BIG_560_58_pmul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#abce845d9bf973ce0068f943401a7abaf">BIG_560_58_div3</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8906d5fc3a7bf5b0a70128a50cb0590b">BIG_560_58_pxmul</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a64a04356cf44a2c66c10b348aaed5b87">BIG_560_58_mul</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aa9f99263e174f4909b7f75c52717a888">BIG_560_58_smul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ad12c1c9fba1ab705ad97810b7f57b97e">BIG_560_58_sqr</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a2b4a92279b44fd898838b6a6b7e04300">BIG_560_58_monty</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> md,<a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> MC,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ad9345da16be6045bbe81295fbd6d9806">BIG_560_58_shl</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a933ed83afd555ce1d30465f6b87f1fb4">BIG_560_58_fshl</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a7bc2d0fbf5a95bc23e060d9306f8234c">BIG_560_58_dshl</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a051205c28cde3b590f43f8b465885d6b">BIG_560_58_shr</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a6e315218912e4243b5550eb93b6874d9">BIG_560_58_ssn</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> r,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a, <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a70dfa08b161ea2ee689a1dde4e1a8d6d">BIG_560_58_fshr</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a4cf86432e2923b856c3821477b6a4640">BIG_560_58_dshr</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#afd3dcce58ffed1b0772b0b074eb42138">BIG_560_58_split</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a713011b18ea63ca7a86b50a9de165a80">BIG_560_58_norm</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac557e6c093c2ea60098d199e9715d06e">BIG_560_58_dnorm</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ae9a7199fc40677565a4967d0980fe545">BIG_560_58_comp</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a56f827f747af461e70452cb36e1aa0ce">BIG_560_58_dcomp</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#a478dc0d290d7c9c8370735269745c333">BIG_560_58_nbits</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a7ea08f6240e96a6da251c1054efba14f">BIG_560_58_dnbits</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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__560__58_8h.html#ae804952790a941b0611bac26460388f2">BIG_560_58_mod</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aade2836460fa312f93c24151bd98c241">BIG_560_58_sdiv</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a00d4d79660dd6eff3d1777c20fa29f8a">BIG_560_58_dmod</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a5e47e47ed1c5141fec0eeeb5e0328923">BIG_560_58_ddiv</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac49b7db6b2163e66bd5f1676bf753814">BIG_560_58_parity</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a41470dde5776a65bfd2aabc1b9feb19e">BIG_560_58_bit</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1cc773b3cd0ff6d7f17848a5721b883b">BIG_560_58_lastbits</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aaa5d87f2ab38db41181ed2713dcc0c19">BIG_560_58_random</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1e46780bbde49568e3be57ca115cacf6">BIG_560_58_randomnum</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a1ccc9500cf4a72ccb9c407bb1f4212a8">BIG_560_58_modmul</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#aa0a7123ca1210035a529f966774ac26c">BIG_560_58_moddiv</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a8c0d2c270a09895b92477ea368758323">BIG_560_58_modsqr</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a3b47a97c37d9a9680a01349343e06a3e">BIG_560_58_modneg</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a65387c59551469f472e4d0e486bd7291">BIG_560_58_jacobi</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a15ca0de7d97b9ca788e3ab3686d6b723">BIG_560_58_invmodp</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#ac9e04e6bc32701da6e9f963924d1763a">BIG_560_58_mod2m</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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__560__58_8h.html#a5b800e8588400c4a30ab98f9fe988773">BIG_560_58_dmod2m</a>(<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_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_560_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__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">BMASK_560_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__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_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_560_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__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_58</a>);</div><div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    y0=y&amp;<a class="code" href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_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__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_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__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_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__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a>;</div><div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    bot&amp;=<a class="code" href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">BMASK_560_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__560__58_8h_html_a8dccbc541098a69d39c0491cccb12239"><div class="ttname"><a href="big__560__58_8h.html#a8dccbc541098a69d39c0491cccb12239">BIG_560_58_dsub</a></div><div class="ttdeci">void BIG_560_58_dsub(DBIG_560_58 x, DBIG_560_58 y, DBIG_560_58 z)</div><div class="ttdoc">Set DBIG to difference of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:413</div></div>
+<div class="ttc" id="big__560__58_8h_html_a923c4866689e2c2d4c4f6fea450c7494"><div class="ttname"><a href="big__560__58_8h.html#a923c4866689e2c2d4c4f6fea450c7494">BIG_560_58_rawoutput</a></div><div class="ttdeci">void BIG_560_58_rawoutput(BIG_560_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_560_58.c:77</div></div>
 <div class="ttc" id="big__560__58_8h_html_aba99b483d420773b764f0d8c5fb65415"><div class="ttname"><a href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">NLEN_560_58</a></div><div class="ttdeci">#define NLEN_560_58</div><div class="ttdef"><b>Definition:</b> big_560_58.h:40</div></div>
-<div class="ttc" id="big__560__58_8h_html_aa6aa6922e19a22db88fa63751a060d3a"><div class="ttname"><a href="big__560__58_8h.html#aa6aa6922e19a22db88fa63751a060d3a">BIG_560_58_rcopy</a></div><div class="ttdeci">void BIG_560_58_rcopy(BIG_560_58 x, const BIG_560_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:239</div></div>
-<div class="ttc" id="big__560__58_8h_html_a5e47e47ed1c5141fec0eeeb5e0328923"><div class="ttname"><a href="big__560__58_8h.html#a5e47e47ed1c5141fec0eeeb5e0328923">BIG_560_58_ddiv</a></div><div class="ttdeci">void BIG_560_58_ddiv(BIG_560_58 x, DBIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">x=y/n - output normalised</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1149</div></div>
-<div class="ttc" id="big__560__58_8h_html_a6e315218912e4243b5550eb93b6874d9"><div class="ttname"><a href="big__560__58_8h.html#a6e315218912e4243b5550eb93b6874d9">BIG_560_58_ssn</a></div><div class="ttdeci">int BIG_560_58_ssn(BIG_560_58 r, BIG_560_58 a, BIG_560_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_560_58.c:877</div></div>
-<div class="ttc" id="big__560__58_8h_html_ad12c1c9fba1ab705ad97810b7f57b97e"><div class="ttname"><a href="big__560__58_8h.html#ad12c1c9fba1ab705ad97810b7f57b97e">BIG_560_58_sqr</a></div><div class="ttdeci">void BIG_560_58_sqr(DBIG_560_58 x, BIG_560_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_560_58.c:618</div></div>
-<div class="ttc" id="big__560__58_8h_html_a8e8a48d59f31233e070c5aecfd6071df"><div class="ttname"><a href="big__560__58_8h.html#a8e8a48d59f31233e070c5aecfd6071df">BIG_560_58_dcmove</a></div><div class="ttdeci">void BIG_560_58_dcmove(BIG_560_58 x, BIG_560_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number.</div></div>
-<div class="ttc" id="big__560__58_8h_html_a8c0d2c270a09895b92477ea368758323"><div class="ttname"><a href="big__560__58_8h.html#a8c0d2c270a09895b92477ea368758323">BIG_560_58_modsqr</a></div><div class="ttdeci">void BIG_560_58_modsqr(BIG_560_58 x, BIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1315</div></div>
-<div class="ttc" id="big__560__58_8h_html_aae007a5cf23c56bab06273525d74cb1a"><div class="ttname"><a href="big__560__58_8h.html#aae007a5cf23c56bab06273525d74cb1a">BIG_560_58_dscopy</a></div><div class="ttdeci">void BIG_560_58_dscopy(DBIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:263</div></div>
-<div class="ttc" id="big__560__58_8h_html_ac5960667fcd4890b54dd19b158a7265a"><div class="ttname"><a href="big__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a">BIG_560_58_invmod2m</a></div><div class="ttdeci">void BIG_560_58_invmod2m(BIG_560_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256.</div></div>
+<div class="ttc" id="big__560__58_8h_html_aa6aa6922e19a22db88fa63751a060d3a"><div class="ttname"><a href="big__560__58_8h.html#aa6aa6922e19a22db88fa63751a060d3a">BIG_560_58_rcopy</a></div><div class="ttdeci">void BIG_560_58_rcopy(BIG_560_58 x, const BIG_560_58 y)</div><div class="ttdoc">Copy BIG from Read-Only Memory to a BIG. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:239</div></div>
+<div class="ttc" id="big__560__58_8h_html_a5e47e47ed1c5141fec0eeeb5e0328923"><div class="ttname"><a href="big__560__58_8h.html#a5e47e47ed1c5141fec0eeeb5e0328923">BIG_560_58_ddiv</a></div><div class="ttdeci">void BIG_560_58_ddiv(BIG_560_58 x, DBIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">x=y/n - output normalised </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1149</div></div>
+<div class="ttc" id="big__560__58_8h_html_a6e315218912e4243b5550eb93b6874d9"><div class="ttname"><a href="big__560__58_8h.html#a6e315218912e4243b5550eb93b6874d9">BIG_560_58_ssn</a></div><div class="ttdeci">int BIG_560_58_ssn(BIG_560_58 r, BIG_560_58 a, BIG_560_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_560_58.c:877</div></div>
+<div class="ttc" id="big__560__58_8h_html_ad12c1c9fba1ab705ad97810b7f57b97e"><div class="ttname"><a href="big__560__58_8h.html#ad12c1c9fba1ab705ad97810b7f57b97e">BIG_560_58_sqr</a></div><div class="ttdeci">void BIG_560_58_sqr(DBIG_560_58 x, BIG_560_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_560_58.c:618</div></div>
+<div class="ttc" id="big__560__58_8h_html_a8e8a48d59f31233e070c5aecfd6071df"><div class="ttname"><a href="big__560__58_8h.html#a8e8a48d59f31233e070c5aecfd6071df">BIG_560_58_dcmove</a></div><div class="ttdeci">void BIG_560_58_dcmove(BIG_560_58 x, BIG_560_58 y, int s)</div><div class="ttdoc">Conditional copy of DBIG number. </div></div>
+<div class="ttc" id="big__560__58_8h_html_a8c0d2c270a09895b92477ea368758323"><div class="ttname"><a href="big__560__58_8h.html#a8c0d2c270a09895b92477ea368758323">BIG_560_58_modsqr</a></div><div class="ttdeci">void BIG_560_58_modsqr(BIG_560_58 x, BIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">Calculate x=y^2 mod n. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1315</div></div>
+<div class="ttc" id="big__560__58_8h_html_aae007a5cf23c56bab06273525d74cb1a"><div class="ttname"><a href="big__560__58_8h.html#aae007a5cf23c56bab06273525d74cb1a">BIG_560_58_dscopy</a></div><div class="ttdeci">void BIG_560_58_dscopy(DBIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Copy BIG to lower half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:263</div></div>
+<div class="ttc" id="big__560__58_8h_html_ac5960667fcd4890b54dd19b158a7265a"><div class="ttname"><a href="big__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a">BIG_560_58_invmod2m</a></div><div class="ttdeci">void BIG_560_58_invmod2m(BIG_560_58 x)</div><div class="ttdoc">Set BIG to inverse mod 2^256. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1432</div></div>
 <div class="ttc" id="big__560__58_8h_html_abadea7c002ee7151ce2d51a9e5371cd4"><div class="ttname"><a href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">HBITS_560_58</a></div><div class="ttdeci">#define HBITS_560_58</div><div class="ttdef"><b>Definition:</b> big_560_58.h:45</div></div>
-<div class="ttc" id="big__560__58_8h_html_a1712ce09846955ed495dfa84d9bba13a"><div class="ttname"><a href="big__560__58_8h.html#a1712ce09846955ed495dfa84d9bba13a">BIG_560_58_fromBytesLen</a></div><div class="ttdeci">void BIG_560_58_fromBytesLen(BIG_560_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_560_58.c:170</div></div>
-<div class="ttc" id="big__560__58_8h_html_a8ccda9b0667e1e45fbe339fce171d623"><div class="ttname"><a href="big__560__58_8h.html#a8ccda9b0667e1e45fbe339fce171d623">BIG_560_58_fromBytes</a></div><div class="ttdeci">void BIG_560_58_fromBytes(BIG_560_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:155</div></div>
-<div class="ttc" id="big__560__58_8h_html_ad9345da16be6045bbe81295fbd6d9806"><div class="ttname"><a href="big__560__58_8h.html#ad9345da16be6045bbe81295fbd6d9806">BIG_560_58_shl</a></div><div class="ttdeci">void BIG_560_58_shl(BIG_560_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_560_58.c:813</div></div>
-<div class="ttc" id="big__560__58_8h_html_a200f86ec088eae0041b0835f16aa8cfb"><div class="ttname"><a href="big__560__58_8h.html#a200f86ec088eae0041b0835f16aa8cfb">BIG_560_58_sdcopy</a></div><div class="ttdeci">void BIG_560_58_sdcopy(BIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:294</div></div>
-<div class="ttc" id="big__560__58_8h_html_a051205c28cde3b590f43f8b465885d6b"><div class="ttname"><a href="big__560__58_8h.html#a051205c28cde3b590f43f8b465885d6b">BIG_560_58_shr</a></div><div class="ttdeci">void BIG_560_58_shr(BIG_560_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_560_58.c:864</div></div>
+<div class="ttc" id="big__560__58_8h_html_a1712ce09846955ed495dfa84d9bba13a"><div class="ttname"><a href="big__560__58_8h.html#a1712ce09846955ed495dfa84d9bba13a">BIG_560_58_fromBytesLen</a></div><div class="ttdeci">void BIG_560_58_fromBytesLen(BIG_560_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_560_58.c:170</div></div>
+<div class="ttc" id="big__560__58_8h_html_a8ccda9b0667e1e45fbe339fce171d623"><div class="ttname"><a href="big__560__58_8h.html#a8ccda9b0667e1e45fbe339fce171d623">BIG_560_58_fromBytes</a></div><div class="ttdeci">void BIG_560_58_fromBytes(BIG_560_58 x, char *a)</div><div class="ttdoc">Convert to BIG number from byte array. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:155</div></div>
+<div class="ttc" id="big__560__58_8h_html_ad9345da16be6045bbe81295fbd6d9806"><div class="ttname"><a href="big__560__58_8h.html#ad9345da16be6045bbe81295fbd6d9806">BIG_560_58_shl</a></div><div class="ttdeci">void BIG_560_58_shl(BIG_560_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_560_58.c:813</div></div>
+<div class="ttc" id="big__560__58_8h_html_a200f86ec088eae0041b0835f16aa8cfb"><div class="ttname"><a href="big__560__58_8h.html#a200f86ec088eae0041b0835f16aa8cfb">BIG_560_58_sdcopy</a></div><div class="ttdeci">void BIG_560_58_sdcopy(BIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Copy lower half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:294</div></div>
+<div class="ttc" id="big__560__58_8h_html_a051205c28cde3b590f43f8b465885d6b"><div class="ttname"><a href="big__560__58_8h.html#a051205c28cde3b590f43f8b465885d6b">BIG_560_58_shr</a></div><div class="ttdeci">void BIG_560_58_shr(BIG_560_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_560_58.c:864</div></div>
 <div class="ttc" id="big__560__58_8h_html_a70dfa08b161ea2ee689a1dde4e1a8d6d"><div class="ttname"><a href="big__560__58_8h.html#a70dfa08b161ea2ee689a1dde4e1a8d6d">BIG_560_58_fshr</a></div><div class="ttdeci">int BIG_560_58_fshr(BIG_560_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_560_58.c:906</div></div>
-<div class="ttc" id="big__560__58_8h_html_a9c05c6d233b0a74c879a6075fc0b1a95"><div class="ttname"><a href="big__560__58_8h.html#a9c05c6d233b0a74c879a6075fc0b1a95">BIG_560_58_output</a></div><div class="ttdeci">void BIG_560_58_output(BIG_560_58 x)</div><div class="ttdoc">Outputs a BIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:55</div></div>
-<div class="ttc" id="big__560__58_8h_html_a1d466fd2eeb278b25ac062e055647bf8"><div class="ttname"><a href="big__560__58_8h.html#a1d466fd2eeb278b25ac062e055647bf8">BIG_560_58_sducopy</a></div><div class="ttdeci">void BIG_560_58_sducopy(BIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:306</div></div>
-<div class="ttc" id="big__560__58_8h_html_a2916cb489d9285e99bbcf90d357c3099"><div class="ttname"><a href="big__560__58_8h.html#a2916cb489d9285e99bbcf90d357c3099">BIG_560_58_iszilch</a></div><div class="ttdeci">int BIG_560_58_iszilch(BIG_560_58 x)</div><div class="ttdoc">Tests for BIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:26</div></div>
-<div class="ttc" id="big__560__58_8h_html_aa0a7123ca1210035a529f966774ac26c"><div class="ttname"><a href="big__560__58_8h.html#aa0a7123ca1210035a529f966774ac26c">BIG_560_58_moddiv</a></div><div class="ttdeci">void BIG_560_58_moddiv(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z, BIG_560_58 n)</div><div class="ttdoc">Calculate x=y/z mod n.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1337</div></div>
-<div class="ttc" id="big__560__58_8h_html_a8906d5fc3a7bf5b0a70128a50cb0590b"><div class="ttname"><a href="big__560__58_8h.html#a8906d5fc3a7bf5b0a70128a50cb0590b">BIG_560_58_pxmul</a></div><div class="ttdeci">void BIG_560_58_pxmul(DBIG_560_58 x, BIG_560_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_560_58.c:501</div></div>
+<div class="ttc" id="big__560__58_8h_html_a9c05c6d233b0a74c879a6075fc0b1a95"><div class="ttname"><a href="big__560__58_8h.html#a9c05c6d233b0a74c879a6075fc0b1a95">BIG_560_58_output</a></div><div class="ttdeci">void BIG_560_58_output(BIG_560_58 x)</div><div class="ttdoc">Outputs a BIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:55</div></div>
+<div class="ttc" id="big__560__58_8h_html_a1d466fd2eeb278b25ac062e055647bf8"><div class="ttname"><a href="big__560__58_8h.html#a1d466fd2eeb278b25ac062e055647bf8">BIG_560_58_sducopy</a></div><div class="ttdeci">void BIG_560_58_sducopy(BIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Copy upper half of DBIG to a BIG. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:306</div></div>
+<div class="ttc" id="big__560__58_8h_html_a2916cb489d9285e99bbcf90d357c3099"><div class="ttname"><a href="big__560__58_8h.html#a2916cb489d9285e99bbcf90d357c3099">BIG_560_58_iszilch</a></div><div class="ttdeci">int BIG_560_58_iszilch(BIG_560_58 x)</div><div class="ttdoc">Tests for BIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:26</div></div>
+<div class="ttc" id="big__560__58_8h_html_aa0a7123ca1210035a529f966774ac26c"><div class="ttname"><a href="big__560__58_8h.html#aa0a7123ca1210035a529f966774ac26c">BIG_560_58_moddiv</a></div><div class="ttdeci">void BIG_560_58_moddiv(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z, BIG_560_58 n)</div><div class="ttdoc">Calculate x=y/z mod n. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1337</div></div>
+<div class="ttc" id="big__560__58_8h_html_a8906d5fc3a7bf5b0a70128a50cb0590b"><div class="ttname"><a href="big__560__58_8h.html#a8906d5fc3a7bf5b0a70128a50cb0590b">BIG_560_58_pxmul</a></div><div class="ttdeci">void BIG_560_58_pxmul(DBIG_560_58 x, BIG_560_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_560_58.c:501</div></div>
 <div class="ttc" id="big__560__58_8h_html_aa190c896863df8c0bfbe5b7421ed94f2"><div class="ttname"><a href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a></div><div class="ttdeci">chunk DBIG_560_58[DNLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:59</div></div>
-<div class="ttc" id="big__560__58_8h_html_a65387c59551469f472e4d0e486bd7291"><div class="ttname"><a href="big__560__58_8h.html#a65387c59551469f472e4d0e486bd7291">BIG_560_58_jacobi</a></div><div class="ttdeci">int BIG_560_58_jacobi(BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y)</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1354</div></div>
+<div class="ttc" id="big__560__58_8h_html_a65387c59551469f472e4d0e486bd7291"><div class="ttname"><a href="big__560__58_8h.html#a65387c59551469f472e4d0e486bd7291">BIG_560_58_jacobi</a></div><div class="ttdeci">int BIG_560_58_jacobi(BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Calculate jacobi Symbol (x/y) </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1354</div></div>
 <div class="ttc" id="big__560__58_8h_html_a0b0bb0ce0733fde1ea231aa142174663"><div class="ttname"><a href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">BMASK_560_58</a></div><div class="ttdeci">#define BMASK_560_58</div><div class="ttdef"><b>Definition:</b> big_560_58.h:42</div></div>
-<div class="ttc" id="big__560__58_8h_html_adff57b962d7eef6c5e89430f62bf8516"><div class="ttname"><a href="big__560__58_8h.html#adff57b962d7eef6c5e89430f62bf8516">BIG_560_58_pmul</a></div><div class="ttdeci">chunk BIG_560_58_pmul(BIG_560_58 x, BIG_560_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_560_58.c:465</div></div>
-<div class="ttc" id="big__560__58_8h_html_adb99ae2cbe9b56099e03a6378ebee70f"><div class="ttname"><a href="big__560__58_8h.html#adb99ae2cbe9b56099e03a6378ebee70f">BIG_560_58_doutput</a></div><div class="ttdeci">void BIG_560_58_doutput(DBIG_560_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:190</div></div>
-<div class="ttc" id="big__560__58_8h_html_a305302003fac8103f3100ac75b849d57"><div class="ttname"><a href="big__560__58_8h.html#a305302003fac8103f3100ac75b849d57">BIG_560_58_drawoutput</a></div><div class="ttdeci">void BIG_560_58_drawoutput(DBIG_560_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:212</div></div>
-<div class="ttc" id="big__560__58_8h_html_aa1fa05d14a19252e02c9e5c4b7956277"><div class="ttname"><a href="big__560__58_8h.html#aa1fa05d14a19252e02c9e5c4b7956277">BIG_560_58_dsucopy</a></div><div class="ttdeci">void BIG_560_58_dsucopy(DBIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:280</div></div>
-<div class="ttc" id="big__560__58_8h_html_a2719180589480b71f07fa913faaba4cf"><div class="ttname"><a href="big__560__58_8h.html#a2719180589480b71f07fa913faaba4cf">BIG_560_58_cmove</a></div><div class="ttdeci">void BIG_560_58_cmove(BIG_560_58 x, BIG_560_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:110</div></div>
-<div class="ttc" id="big__560__58_8h_html_a3b47a97c37d9a9680a01349343e06a3e"><div class="ttname"><a href="big__560__58_8h.html#a3b47a97c37d9a9680a01349343e06a3e">BIG_560_58_modneg</a></div><div class="ttdeci">void BIG_560_58_modneg(BIG_560_58 x, BIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">Calculate x=-y mod n.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1327</div></div>
+<div class="ttc" id="big__560__58_8h_html_adff57b962d7eef6c5e89430f62bf8516"><div class="ttname"><a href="big__560__58_8h.html#adff57b962d7eef6c5e89430f62bf8516">BIG_560_58_pmul</a></div><div class="ttdeci">chunk BIG_560_58_pmul(BIG_560_58 x, BIG_560_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_560_58.c:465</div></div>
+<div class="ttc" id="big__560__58_8h_html_adb99ae2cbe9b56099e03a6378ebee70f"><div class="ttname"><a href="big__560__58_8h.html#adb99ae2cbe9b56099e03a6378ebee70f">BIG_560_58_doutput</a></div><div class="ttdeci">void BIG_560_58_doutput(DBIG_560_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:190</div></div>
+<div class="ttc" id="big__560__58_8h_html_a305302003fac8103f3100ac75b849d57"><div class="ttname"><a href="big__560__58_8h.html#a305302003fac8103f3100ac75b849d57">BIG_560_58_drawoutput</a></div><div class="ttdeci">void BIG_560_58_drawoutput(DBIG_560_58 x)</div><div class="ttdoc">Outputs a DBIG number to the console. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:212</div></div>
+<div class="ttc" id="big__560__58_8h_html_aa1fa05d14a19252e02c9e5c4b7956277"><div class="ttname"><a href="big__560__58_8h.html#aa1fa05d14a19252e02c9e5c4b7956277">BIG_560_58_dsucopy</a></div><div class="ttdeci">void BIG_560_58_dsucopy(DBIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Copy BIG to upper half of DBIG. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:280</div></div>
+<div class="ttc" id="big__560__58_8h_html_a2719180589480b71f07fa913faaba4cf"><div class="ttname"><a href="big__560__58_8h.html#a2719180589480b71f07fa913faaba4cf">BIG_560_58_cmove</a></div><div class="ttdeci">void BIG_560_58_cmove(BIG_560_58 x, BIG_560_58 y, int s)</div><div class="ttdoc">Conditional copy of BIG number. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:110</div></div>
+<div class="ttc" id="big__560__58_8h_html_a3b47a97c37d9a9680a01349343e06a3e"><div class="ttname"><a href="big__560__58_8h.html#a3b47a97c37d9a9680a01349343e06a3e">BIG_560_58_modneg</a></div><div class="ttdeci">void BIG_560_58_modneg(BIG_560_58 x, BIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">Calculate x=-y mod n. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1327</div></div>
 <div class="ttc" id="big__560__58_8h_html_a933ed83afd555ce1d30465f6b87f1fb4"><div class="ttname"><a href="big__560__58_8h.html#a933ed83afd555ce1d30465f6b87f1fb4">BIG_560_58_fshl</a></div><div class="ttdeci">int BIG_560_58_fshl(BIG_560_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_560_58.c:832</div></div>
-<div class="ttc" id="big__560__58_8h_html_a64a04356cf44a2c66c10b348aaed5b87"><div class="ttname"><a href="big__560__58_8h.html#a64a04356cf44a2c66c10b348aaed5b87">BIG_560_58_mul</a></div><div class="ttdeci">void BIG_560_58_mul(DBIG_560_58 x, BIG_560_58 y, BIG_560_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_560_58.c:542</div></div>
+<div class="ttc" id="big__560__58_8h_html_a64a04356cf44a2c66c10b348aaed5b87"><div class="ttname"><a href="big__560__58_8h.html#a64a04356cf44a2c66c10b348aaed5b87">BIG_560_58_mul</a></div><div class="ttdeci">void BIG_560_58_mul(DBIG_560_58 x, BIG_560_58 y, BIG_560_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_560_58.c:542</div></div>
 <div class="ttc" id="big__560__58_8h_html_a9e0a681bf3c4742d517900811692a532"><div class="ttname"><a href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">DNLEN_560_58</a></div><div class="ttdeci">#define DNLEN_560_58</div><div class="ttdef"><b>Definition:</b> big_560_58.h:41</div></div>
 <div class="ttc" id="config__big__560__58_8h_html_a8e3d43eb3ac0cf5e5f06c1027dba473f"><div class="ttname"><a href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">BASEBITS_560_58</a></div><div class="ttdeci">#define BASEBITS_560_58</div><div class="ttdef"><b>Definition:</b> config_big_560_58.h:35</div></div>
-<div class="ttc" id="big__560__58_8h_html_a2b4a92279b44fd898838b6a6b7e04300"><div class="ttname"><a href="big__560__58_8h.html#a2b4a92279b44fd898838b6a6b7e04300">BIG_560_58_monty</a></div><div class="ttdeci">void BIG_560_58_monty(BIG_560_58 a, BIG_560_58 md, chunk MC, DBIG_560_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_560_58.c:735</div></div>
-<div class="ttc" id="big__560__58_8h_html_ac49b7db6b2163e66bd5f1676bf753814"><div class="ttname"><a href="big__560__58_8h.html#ac49b7db6b2163e66bd5f1676bf753814">BIG_560_58_parity</a></div><div class="ttdeci">int BIG_560_58_parity(BIG_560_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1225</div></div>
-<div class="ttc" id="big__560__58_8h_html_aab3994b47d2707e5a9cabf1169e10064"><div class="ttname"><a href="big__560__58_8h.html#aab3994b47d2707e5a9cabf1169e10064">BIG_560_58_toBytes</a></div><div class="ttdeci">void BIG_560_58_toBytes(char *a, BIG_560_58 x)</div><div class="ttdoc">Convert from BIG number to byte array.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:141</div></div>
-<div class="ttc" id="big__560__58_8h_html_afc6c3f005628330af453f7a6de911455"><div class="ttname"><a href="big__560__58_8h.html#afc6c3f005628330af453f7a6de911455">BIG_560_58_cswap</a></div><div class="ttdeci">void BIG_560_58_cswap(BIG_560_58 x, BIG_560_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:92</div></div>
-<div class="ttc" id="big__560__58_8h_html_af735eb89f7a0681cedc16d9f962502da"><div class="ttname"><a href="big__560__58_8h.html#af735eb89f7a0681cedc16d9f962502da">BIG_560_58_dcopy</a></div><div class="ttdeci">void BIG_560_58_dcopy(DBIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:251</div></div>
-<div class="ttc" id="big__560__58_8h_html_ac9e04e6bc32701da6e9f963924d1763a"><div class="ttname"><a href="big__560__58_8h.html#ac9e04e6bc32701da6e9f963924d1763a">BIG_560_58_mod2m</a></div><div class="ttdeci">void BIG_560_58_mod2m(BIG_560_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1456</div></div>
-<div class="ttc" id="big__560__58_8h_html_a02b88360183b0b0286799b49f6eea012"><div class="ttname"><a href="big__560__58_8h.html#a02b88360183b0b0286799b49f6eea012">BIG_560_58_isunity</a></div><div class="ttdeci">int BIG_560_58_isunity(BIG_560_58 x)</div><div class="ttdoc">Tests for BIG equal to one.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:35</div></div>
-<div class="ttc" id="big__560__58_8h_html_a41470dde5776a65bfd2aabc1b9feb19e"><div class="ttname"><a href="big__560__58_8h.html#a41470dde5776a65bfd2aabc1b9feb19e">BIG_560_58_bit</a></div><div class="ttdeci">int BIG_560_58_bit(BIG_560_58 x, int i)</div><div class="ttdoc">return i-th of BIG</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1232</div></div>
-<div class="ttc" id="big__560__58_8h_html_ac84b0a6d251784f6609f5eda9d013277"><div class="ttname"><a href="big__560__58_8h.html#ac84b0a6d251784f6609f5eda9d013277">BIG_560_58_one</a></div><div class="ttdeci">void BIG_560_58_one(BIG_560_58 x)</div><div class="ttdoc">Set BIG to one (unity)</div><div class="ttdef"><b>Definition:</b> big_560_58.c:340</div></div>
-<div class="ttc" id="big__560__58_8h_html_a4cf86432e2923b856c3821477b6a4640"><div class="ttname"><a href="big__560__58_8h.html#a4cf86432e2923b856c3821477b6a4640">BIG_560_58_dshr</a></div><div class="ttdeci">void BIG_560_58_dshr(DBIG_560_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_560_58.c:918</div></div>
-<div class="ttc" id="big__560__58_8h_html_aaa5d87f2ab38db41181ed2713dcc0c19"><div class="ttname"><a href="big__560__58_8h.html#aaa5d87f2ab38db41181ed2713dcc0c19">BIG_560_58_random</a></div><div class="ttdeci">void BIG_560_58_random(BIG_560_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_560_58.c:1248</div></div>
-<div class="ttc" id="big__560__58_8h_html_a998659418b4792a702abf53d296a24eb"><div class="ttname"><a href="big__560__58_8h.html#a998659418b4792a702abf53d296a24eb">BIG_560_58_dzero</a></div><div class="ttdeci">void BIG_560_58_dzero(DBIG_560_58 x)</div><div class="ttdoc">Set DBIG to zero.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:329</div></div>
-<div class="ttc" id="big__560__58_8h_html_a263ac166e4e3b19f8dfa5e20c6f87d69"><div class="ttname"><a href="big__560__58_8h.html#a263ac166e4e3b19f8dfa5e20c6f87d69">BIG_560_58_zero</a></div><div class="ttdeci">void BIG_560_58_zero(BIG_560_58 x)</div><div class="ttdoc">Set BIG to zero.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:319</div></div>
-<div class="ttc" id="big__560__58_8h_html_a7bc2d0fbf5a95bc23e060d9306f8234c"><div class="ttname"><a href="big__560__58_8h.html#a7bc2d0fbf5a95bc23e060d9306f8234c">BIG_560_58_dshl</a></div><div class="ttdeci">void BIG_560_58_dshl(DBIG_560_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_560_58.c:846</div></div>
-<div class="ttc" id="big__560__58_8h_html_adf86eac92b5bc55666eed8a30f0a10b3"><div class="ttname"><a href="big__560__58_8h.html#adf86eac92b5bc55666eed8a30f0a10b3">BIG_560_58_dadd</a></div><div class="ttdeci">void BIG_560_58_dadd(DBIG_560_58 x, DBIG_560_58 y, DBIG_560_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:426</div></div>
-<div class="ttc" id="big__560__58_8h_html_af91fcd4ebf013d52952b62ce4dd5bd30"><div class="ttname"><a href="big__560__58_8h.html#af91fcd4ebf013d52952b62ce4dd5bd30">BIG_560_58_sub</a></div><div class="ttdeci">void BIG_560_58_sub(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:397</div></div>
-<div class="ttc" id="big__560__58_8h_html_ac557e6c093c2ea60098d199e9715d06e"><div class="ttname"><a href="big__560__58_8h.html#ac557e6c093c2ea60098d199e9715d06e">BIG_560_58_dnorm</a></div><div class="ttdeci">void BIG_560_58_dnorm(DBIG_560_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:995</div></div>
-<div class="ttc" id="big__560__58_8h_html_a00d4d79660dd6eff3d1777c20fa29f8a"><div class="ttname"><a href="big__560__58_8h.html#a00d4d79660dd6eff3d1777c20fa29f8a">BIG_560_58_dmod</a></div><div class="ttdeci">void BIG_560_58_dmod(BIG_560_58 x, DBIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">x=y mod n - output normalised</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1113</div></div>
-<div class="ttc" id="big__560__58_8h_html_a713011b18ea63ca7a86b50a9de165a80"><div class="ttname"><a href="big__560__58_8h.html#a713011b18ea63ca7a86b50a9de165a80">BIG_560_58_norm</a></div><div class="ttdeci">chunk BIG_560_58_norm(BIG_560_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:976</div></div>
-<div class="ttc" id="big__560__58_8h_html_a9f74d26683d65d7af8dd323dc3c90819"><div class="ttname"><a href="big__560__58_8h.html#a9f74d26683d65d7af8dd323dc3c90819">BIG_560_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_560_58_dfromBytesLen(DBIG_560_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_560_58.c:1485</div></div>
-<div class="ttc" id="big__560__58_8h_html_af00a90d21a75db5f737f513da2c59364"><div class="ttname"><a href="big__560__58_8h.html#af00a90d21a75db5f737f513da2c59364">BIG_560_58_inc</a></div><div class="ttdeci">void BIG_560_58_inc(BIG_560_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_560_58.c:386</div></div>
-<div class="ttc" id="big__560__58_8h_html_afd3dcce58ffed1b0772b0b074eb42138"><div class="ttname"><a href="big__560__58_8h.html#afd3dcce58ffed1b0772b0b074eb42138">BIG_560_58_split</a></div><div class="ttdeci">chunk BIG_560_58_split(BIG_560_58 x, BIG_560_58 y, DBIG_560_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_560_58.c:932</div></div>
-<div class="ttc" id="big__560__58_8h_html_ae559ae6b4967c1e38b53de1a25fd92dc"><div class="ttname"><a href="big__560__58_8h.html#ae559ae6b4967c1e38b53de1a25fd92dc">BIG_560_58_dec</a></div><div class="ttdeci">void BIG_560_58_dec(BIG_560_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_560_58.c:440</div></div>
-<div class="ttc" id="config__big__560__58_8h_html"><div class="ttname"><a href="config__big__560__58_8h.html">config_big_560_58.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
-<div class="ttc" id="big__560__58_8h_html_a3564768f845395a6faad9c10f1d6da7c"><div class="ttname"><a href="big__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c">BIG_560_58_add</a></div><div class="ttdeci">void BIG_560_58_add(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:356</div></div>
-<div class="ttc" id="big__560__58_8h_html_a5b800e8588400c4a30ab98f9fe988773"><div class="ttname"><a href="big__560__58_8h.html#a5b800e8588400c4a30ab98f9fe988773">BIG_560_58_dmod2m</a></div><div class="ttdeci">void BIG_560_58_dmod2m(DBIG_560_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1470</div></div>
-<div class="ttc" id="big__560__58_8h_html_a1ccc9500cf4a72ccb9c407bb1f4212a8"><div class="ttname"><a href="big__560__58_8h.html#a1ccc9500cf4a72ccb9c407bb1f4212a8">BIG_560_58_modmul</a></div><div class="ttdeci">void BIG_560_58_modmul(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z, BIG_560_58 n)</div><div class="ttdoc">Calculate x=y*z mod n.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1300</div></div>
+<div class="ttc" id="big__560__58_8h_html_a2b4a92279b44fd898838b6a6b7e04300"><div class="ttname"><a href="big__560__58_8h.html#a2b4a92279b44fd898838b6a6b7e04300">BIG_560_58_monty</a></div><div class="ttdeci">void BIG_560_58_monty(BIG_560_58 a, BIG_560_58 md, chunk MC, DBIG_560_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_560_58.c:735</div></div>
+<div class="ttc" id="big__560__58_8h_html_ac49b7db6b2163e66bd5f1676bf753814"><div class="ttname"><a href="big__560__58_8h.html#ac49b7db6b2163e66bd5f1676bf753814">BIG_560_58_parity</a></div><div class="ttdeci">int BIG_560_58_parity(BIG_560_58 x)</div><div class="ttdoc">return parity of BIG, that is the least significant bit </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1225</div></div>
+<div class="ttc" id="big__560__58_8h_html_aab3994b47d2707e5a9cabf1169e10064"><div class="ttname"><a href="big__560__58_8h.html#aab3994b47d2707e5a9cabf1169e10064">BIG_560_58_toBytes</a></div><div class="ttdeci">void BIG_560_58_toBytes(char *a, BIG_560_58 x)</div><div class="ttdoc">Convert from BIG number to byte array. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:141</div></div>
+<div class="ttc" id="big__560__58_8h_html_afc6c3f005628330af453f7a6de911455"><div class="ttname"><a href="big__560__58_8h.html#afc6c3f005628330af453f7a6de911455">BIG_560_58_cswap</a></div><div class="ttdeci">void BIG_560_58_cswap(BIG_560_58 x, BIG_560_58 y, int s)</div><div class="ttdoc">Conditional constant time swap of two BIG numbers. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:92</div></div>
+<div class="ttc" id="big__560__58_8h_html_af735eb89f7a0681cedc16d9f962502da"><div class="ttname"><a href="big__560__58_8h.html#af735eb89f7a0681cedc16d9f962502da">BIG_560_58_dcopy</a></div><div class="ttdeci">void BIG_560_58_dcopy(DBIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Copy DBIG to another DBIG. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:251</div></div>
+<div class="ttc" id="big__560__58_8h_html_ac9e04e6bc32701da6e9f963924d1763a"><div class="ttname"><a href="big__560__58_8h.html#ac9e04e6bc32701da6e9f963924d1763a">BIG_560_58_mod2m</a></div><div class="ttdeci">void BIG_560_58_mod2m(BIG_560_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1540</div></div>
+<div class="ttc" id="big__560__58_8h_html_a02b88360183b0b0286799b49f6eea012"><div class="ttname"><a href="big__560__58_8h.html#a02b88360183b0b0286799b49f6eea012">BIG_560_58_isunity</a></div><div class="ttdeci">int BIG_560_58_isunity(BIG_560_58 x)</div><div class="ttdoc">Tests for BIG equal to one. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:35</div></div>
+<div class="ttc" id="big__560__58_8h_html_a41470dde5776a65bfd2aabc1b9feb19e"><div class="ttname"><a href="big__560__58_8h.html#a41470dde5776a65bfd2aabc1b9feb19e">BIG_560_58_bit</a></div><div class="ttdeci">int BIG_560_58_bit(BIG_560_58 x, int i)</div><div class="ttdoc">return i-th of BIG </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1232</div></div>
+<div class="ttc" id="big__560__58_8h_html_ac84b0a6d251784f6609f5eda9d013277"><div class="ttname"><a href="big__560__58_8h.html#ac84b0a6d251784f6609f5eda9d013277">BIG_560_58_one</a></div><div class="ttdeci">void BIG_560_58_one(BIG_560_58 x)</div><div class="ttdoc">Set BIG to one (unity) </div><div class="ttdef"><b>Definition:</b> big_560_58.c:340</div></div>
+<div class="ttc" id="big__560__58_8h_html_a4cf86432e2923b856c3821477b6a4640"><div class="ttname"><a href="big__560__58_8h.html#a4cf86432e2923b856c3821477b6a4640">BIG_560_58_dshr</a></div><div class="ttdeci">void BIG_560_58_dshr(DBIG_560_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_560_58.c:918</div></div>
+<div class="ttc" id="big__560__58_8h_html_aaa5d87f2ab38db41181ed2713dcc0c19"><div class="ttname"><a href="big__560__58_8h.html#aaa5d87f2ab38db41181ed2713dcc0c19">BIG_560_58_random</a></div><div class="ttdeci">void BIG_560_58_random(BIG_560_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_560_58.c:1248</div></div>
+<div class="ttc" id="big__560__58_8h_html_a998659418b4792a702abf53d296a24eb"><div class="ttname"><a href="big__560__58_8h.html#a998659418b4792a702abf53d296a24eb">BIG_560_58_dzero</a></div><div class="ttdeci">void BIG_560_58_dzero(DBIG_560_58 x)</div><div class="ttdoc">Set DBIG to zero. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:329</div></div>
+<div class="ttc" id="big__560__58_8h_html_a263ac166e4e3b19f8dfa5e20c6f87d69"><div class="ttname"><a href="big__560__58_8h.html#a263ac166e4e3b19f8dfa5e20c6f87d69">BIG_560_58_zero</a></div><div class="ttdeci">void BIG_560_58_zero(BIG_560_58 x)</div><div class="ttdoc">Set BIG to zero. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:319</div></div>
+<div class="ttc" id="big__560__58_8h_html_a7bc2d0fbf5a95bc23e060d9306f8234c"><div class="ttname"><a href="big__560__58_8h.html#a7bc2d0fbf5a95bc23e060d9306f8234c">BIG_560_58_dshl</a></div><div class="ttdeci">void BIG_560_58_dshl(DBIG_560_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_560_58.c:846</div></div>
+<div class="ttc" id="big__560__58_8h_html_adf86eac92b5bc55666eed8a30f0a10b3"><div class="ttname"><a href="big__560__58_8h.html#adf86eac92b5bc55666eed8a30f0a10b3">BIG_560_58_dadd</a></div><div class="ttdeci">void BIG_560_58_dadd(DBIG_560_58 x, DBIG_560_58 y, DBIG_560_58 z)</div><div class="ttdoc">Set DBIG to sum of two DBIGs. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:426</div></div>
+<div class="ttc" id="big__560__58_8h_html_af91fcd4ebf013d52952b62ce4dd5bd30"><div class="ttname"><a href="big__560__58_8h.html#af91fcd4ebf013d52952b62ce4dd5bd30">BIG_560_58_sub</a></div><div class="ttdeci">void BIG_560_58_sub(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z)</div><div class="ttdoc">Set BIG to difference of two BIGs. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:397</div></div>
+<div class="ttc" id="big__560__58_8h_html_ac557e6c093c2ea60098d199e9715d06e"><div class="ttname"><a href="big__560__58_8h.html#ac557e6c093c2ea60098d199e9715d06e">BIG_560_58_dnorm</a></div><div class="ttdeci">void BIG_560_58_dnorm(DBIG_560_58 x)</div><div class="ttdoc">Normalizes a DBIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:995</div></div>
+<div class="ttc" id="big__560__58_8h_html_a00d4d79660dd6eff3d1777c20fa29f8a"><div class="ttname"><a href="big__560__58_8h.html#a00d4d79660dd6eff3d1777c20fa29f8a">BIG_560_58_dmod</a></div><div class="ttdeci">void BIG_560_58_dmod(BIG_560_58 x, DBIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">x=y mod n - output normalised </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1113</div></div>
+<div class="ttc" id="big__560__58_8h_html_a713011b18ea63ca7a86b50a9de165a80"><div class="ttname"><a href="big__560__58_8h.html#a713011b18ea63ca7a86b50a9de165a80">BIG_560_58_norm</a></div><div class="ttdeci">chunk BIG_560_58_norm(BIG_560_58 x)</div><div class="ttdoc">Normalizes a BIG number - output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:976</div></div>
+<div class="ttc" id="big__560__58_8h_html_a9f74d26683d65d7af8dd323dc3c90819"><div class="ttname"><a href="big__560__58_8h.html#a9f74d26683d65d7af8dd323dc3c90819">BIG_560_58_dfromBytesLen</a></div><div class="ttdeci">void BIG_560_58_dfromBytesLen(DBIG_560_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_560_58.c:1569</div></div>
+<div class="ttc" id="big__560__58_8h_html_af00a90d21a75db5f737f513da2c59364"><div class="ttname"><a href="big__560__58_8h.html#af00a90d21a75db5f737f513da2c59364">BIG_560_58_inc</a></div><div class="ttdeci">void BIG_560_58_inc(BIG_560_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_560_58.c:386</div></div>
+<div class="ttc" id="big__560__58_8h_html_afd3dcce58ffed1b0772b0b074eb42138"><div class="ttname"><a href="big__560__58_8h.html#afd3dcce58ffed1b0772b0b074eb42138">BIG_560_58_split</a></div><div class="ttdeci">chunk BIG_560_58_split(BIG_560_58 x, BIG_560_58 y, DBIG_560_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_560_58.c:932</div></div>
+<div class="ttc" id="big__560__58_8h_html_ae559ae6b4967c1e38b53de1a25fd92dc"><div class="ttname"><a href="big__560__58_8h.html#ae559ae6b4967c1e38b53de1a25fd92dc">BIG_560_58_dec</a></div><div class="ttdeci">void BIG_560_58_dec(BIG_560_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_560_58.c:440</div></div>
+<div class="ttc" id="config__big__560__58_8h_html"><div class="ttname"><a href="config__big__560__58_8h.html">config_big_560_58.h</a></div><div class="ttdoc">Config BIG Header File. </div></div>
+<div class="ttc" id="big__560__58_8h_html_a3564768f845395a6faad9c10f1d6da7c"><div class="ttname"><a href="big__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c">BIG_560_58_add</a></div><div class="ttdeci">void BIG_560_58_add(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z)</div><div class="ttdoc">Set BIG to sum of two BIGs - output not normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:356</div></div>
+<div class="ttc" id="big__560__58_8h_html_a5b800e8588400c4a30ab98f9fe988773"><div class="ttname"><a href="big__560__58_8h.html#a5b800e8588400c4a30ab98f9fe988773">BIG_560_58_dmod2m</a></div><div class="ttdeci">void BIG_560_58_dmod2m(DBIG_560_58 x, int m)</div><div class="ttdoc">Calculate x=x mod 2^m. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1554</div></div>
+<div class="ttc" id="big__560__58_8h_html_a1ccc9500cf4a72ccb9c407bb1f4212a8"><div class="ttname"><a href="big__560__58_8h.html#a1ccc9500cf4a72ccb9c407bb1f4212a8">BIG_560_58_modmul</a></div><div class="ttdeci">void BIG_560_58_modmul(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z, BIG_560_58 n)</div><div class="ttdoc">Calculate x=y*z mod n. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1300</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
-<div class="ttc" id="big__560__58_8h_html_ae9a7199fc40677565a4967d0980fe545"><div class="ttname"><a href="big__560__58_8h.html#ae9a7199fc40677565a4967d0980fe545">BIG_560_58_comp</a></div><div class="ttdeci">int BIG_560_58_comp(BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1014</div></div>
-<div class="ttc" id="big__560__58_8h_html_a478dc0d290d7c9c8370735269745c333"><div class="ttname"><a href="big__560__58_8h.html#a478dc0d290d7c9c8370735269745c333">BIG_560_58_nbits</a></div><div class="ttdeci">int BIG_560_58_nbits(BIG_560_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1040</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__560__58_8h_html_a1e46780bbde49568e3be57ca115cacf6"><div class="ttname"><a href="big__560__58_8h.html#a1e46780bbde49568e3be57ca115cacf6">BIG_560_58_randomnum</a></div><div class="ttdeci">void BIG_560_58_randomnum(BIG_560_58 x, BIG_560_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_560_58.c:1274</div></div>
-<div class="ttc" id="big__560__58_8h_html_abce845d9bf973ce0068f943401a7abaf"><div class="ttname"><a href="big__560__58_8h.html#abce845d9bf973ce0068f943401a7abaf">BIG_560_58_div3</a></div><div class="ttdeci">int BIG_560_58_div3(BIG_560_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:484</div></div>
-<div class="ttc" id="big__560__58_8h_html_a1cc773b3cd0ff6d7f17848a5721b883b"><div class="ttname"><a href="big__560__58_8h.html#a1cc773b3cd0ff6d7f17848a5721b883b">BIG_560_58_lastbits</a></div><div class="ttdeci">int BIG_560_58_lastbits(BIG_560_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1240</div></div>
-<div class="ttc" id="big__560__58_8h_html_aa9f99263e174f4909b7f75c52717a888"><div class="ttname"><a href="big__560__58_8h.html#aa9f99263e174f4909b7f75c52717a888">BIG_560_58_smul</a></div><div class="ttdeci">void BIG_560_58_smul(BIG_560_58 x, BIG_560_58 y, BIG_560_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_560_58.c:518</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__560__58_8h_html_ae9a7199fc40677565a4967d0980fe545"><div class="ttname"><a href="big__560__58_8h.html#ae9a7199fc40677565a4967d0980fe545">BIG_560_58_comp</a></div><div class="ttdeci">int BIG_560_58_comp(BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Compares two BIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1014</div></div>
+<div class="ttc" id="big__560__58_8h_html_a478dc0d290d7c9c8370735269745c333"><div class="ttname"><a href="big__560__58_8h.html#a478dc0d290d7c9c8370735269745c333">BIG_560_58_nbits</a></div><div class="ttdeci">int BIG_560_58_nbits(BIG_560_58 x)</div><div class="ttdoc">Calculate number of bits in a BIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1040</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__560__58_8h_html_a1e46780bbde49568e3be57ca115cacf6"><div class="ttname"><a href="big__560__58_8h.html#a1e46780bbde49568e3be57ca115cacf6">BIG_560_58_randomnum</a></div><div class="ttdeci">void BIG_560_58_randomnum(BIG_560_58 x, BIG_560_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_560_58.c:1274</div></div>
+<div class="ttc" id="big__560__58_8h_html_abce845d9bf973ce0068f943401a7abaf"><div class="ttname"><a href="big__560__58_8h.html#abce845d9bf973ce0068f943401a7abaf">BIG_560_58_div3</a></div><div class="ttdeci">int BIG_560_58_div3(BIG_560_58 x)</div><div class="ttdoc">Divide BIG by 3 - output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:484</div></div>
+<div class="ttc" id="big__560__58_8h_html_a1cc773b3cd0ff6d7f17848a5721b883b"><div class="ttname"><a href="big__560__58_8h.html#a1cc773b3cd0ff6d7f17848a5721b883b">BIG_560_58_lastbits</a></div><div class="ttdeci">int BIG_560_58_lastbits(BIG_560_58 x, int n)</div><div class="ttdoc">return least significant bits of a BIG </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1240</div></div>
+<div class="ttc" id="big__560__58_8h_html_aa9f99263e174f4909b7f75c52717a888"><div class="ttname"><a href="big__560__58_8h.html#aa9f99263e174f4909b7f75c52717a888">BIG_560_58_smul</a></div><div class="ttdeci">void BIG_560_58_smul(BIG_560_58 x, BIG_560_58 y, BIG_560_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_560_58.c:518</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__560__58_8h_html_ae804952790a941b0611bac26460388f2"><div class="ttname"><a href="big__560__58_8h.html#ae804952790a941b0611bac26460388f2">BIG_560_58_mod</a></div><div class="ttdeci">void BIG_560_58_mod(BIG_560_58 x, BIG_560_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1082</div></div>
-<div class="ttc" id="big__560__58_8h_html_aade2836460fa312f93c24151bd98c241"><div class="ttname"><a href="big__560__58_8h.html#aade2836460fa312f93c24151bd98c241">BIG_560_58_sdiv</a></div><div class="ttdeci">void BIG_560_58_sdiv(BIG_560_58 x, BIG_560_58 n)</div><div class="ttdoc">Divide x by n - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1188</div></div>
-<div class="ttc" id="big__560__58_8h_html_a15ca0de7d97b9ca788e3ab3686d6b723"><div class="ttname"><a href="big__560__58_8h.html#a15ca0de7d97b9ca788e3ab3686d6b723">BIG_560_58_invmodp</a></div><div class="ttdeci">void BIG_560_58_invmodp(BIG_560_58 x, BIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">Calculate x=1/y mod n.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1392</div></div>
-<div class="ttc" id="big__560__58_8h_html_a4f84bbe855c1c3f4018db855ea8c3321"><div class="ttname"><a href="big__560__58_8h.html#a4f84bbe855c1c3f4018db855ea8c3321">BIG_560_58_imul</a></div><div class="ttdeci">void BIG_560_58_imul(BIG_560_58 x, BIG_560_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_560_58.c:450</div></div>
-<div class="ttc" id="big__560__58_8h_html_a56f827f747af461e70452cb36e1aa0ce"><div class="ttname"><a href="big__560__58_8h.html#a56f827f747af461e70452cb36e1aa0ce">BIG_560_58_dcomp</a></div><div class="ttdeci">int BIG_560_58_dcomp(DBIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1026</div></div>
-<div class="ttc" id="big__560__58_8h_html_a7ea08f6240e96a6da251c1054efba14f"><div class="ttname"><a href="big__560__58_8h.html#a7ea08f6240e96a6da251c1054efba14f">BIG_560_58_dnbits</a></div><div class="ttdeci">int BIG_560_58_dnbits(DBIG_560_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:1060</div></div>
+<div class="ttc" id="big__560__58_8h_html_ae804952790a941b0611bac26460388f2"><div class="ttname"><a href="big__560__58_8h.html#ae804952790a941b0611bac26460388f2">BIG_560_58_mod</a></div><div class="ttdeci">void BIG_560_58_mod(BIG_560_58 x, BIG_560_58 n)</div><div class="ttdoc">Reduce x mod n - input and output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1082</div></div>
+<div class="ttc" id="big__560__58_8h_html_aade2836460fa312f93c24151bd98c241"><div class="ttname"><a href="big__560__58_8h.html#aade2836460fa312f93c24151bd98c241">BIG_560_58_sdiv</a></div><div class="ttdeci">void BIG_560_58_sdiv(BIG_560_58 x, BIG_560_58 n)</div><div class="ttdoc">Divide x by n - output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1188</div></div>
+<div class="ttc" id="big__560__58_8h_html_a15ca0de7d97b9ca788e3ab3686d6b723"><div class="ttname"><a href="big__560__58_8h.html#a15ca0de7d97b9ca788e3ab3686d6b723">BIG_560_58_invmodp</a></div><div class="ttdeci">void BIG_560_58_invmodp(BIG_560_58 x, BIG_560_58 y, BIG_560_58 n)</div><div class="ttdoc">Calculate x=1/y mod n. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1476</div></div>
+<div class="ttc" id="big__560__58_8h_html_a4f84bbe855c1c3f4018db855ea8c3321"><div class="ttname"><a href="big__560__58_8h.html#a4f84bbe855c1c3f4018db855ea8c3321">BIG_560_58_imul</a></div><div class="ttdeci">void BIG_560_58_imul(BIG_560_58 x, BIG_560_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_560_58.c:450</div></div>
+<div class="ttc" id="big__560__58_8h_html_a56f827f747af461e70452cb36e1aa0ce"><div class="ttname"><a href="big__560__58_8h.html#a56f827f747af461e70452cb36e1aa0ce">BIG_560_58_dcomp</a></div><div class="ttdeci">int BIG_560_58_dcomp(DBIG_560_58 x, DBIG_560_58 y)</div><div class="ttdoc">Compares two DBIG numbers. Inputs must be normalised externally. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1026</div></div>
+<div class="ttc" id="big__560__58_8h_html_a7ea08f6240e96a6da251c1054efba14f"><div class="ttname"><a href="big__560__58_8h.html#a7ea08f6240e96a6da251c1054efba14f">BIG_560_58_dnbits</a></div><div class="ttdeci">int BIG_560_58_dnbits(DBIG_560_58 x)</div><div class="ttdoc">Calculate number of bits in a DBIG - output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:1060</div></div>
 <div class="ttc" id="big__560__58_8h_html_a78f794282590bebb05b1e746d0b907e2"><div class="ttname"><a href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">HMASK_560_58</a></div><div class="ttdeci">#define HMASK_560_58</div><div class="ttdef"><b>Definition:</b> big_560_58.h:46</div></div>
-<div class="ttc" id="big__560__58_8h_html_a3c90649900404f6fcf73b6fe1a51b2bc"><div class="ttname"><a href="big__560__58_8h.html#a3c90649900404f6fcf73b6fe1a51b2bc">BIG_560_58_copy</a></div><div class="ttdeci">void BIG_560_58_copy(BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Copy BIG to another BIG.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:227</div></div>
-<div class="ttc" id="big__560__58_8h_html_a30b28ced4ed7d6181913af8002f521e0"><div class="ttname"><a href="big__560__58_8h.html#a30b28ced4ed7d6181913af8002f521e0">BIG_560_58_diszilch</a></div><div class="ttdeci">int BIG_560_58_diszilch(DBIG_560_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:45</div></div>
-<div class="ttc" id="big__560__58_8h_html_a76b213fb2e2a8c06ad0003da2310e14d"><div class="ttname"><a href="big__560__58_8h.html#a76b213fb2e2a8c06ad0003da2310e14d">BIG_560_58_or</a></div><div class="ttdeci">void BIG_560_58_or(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised.</div><div class="ttdef"><b>Definition:</b> big_560_58.c:371</div></div>
+<div class="ttc" id="big__560__58_8h_html_a3c90649900404f6fcf73b6fe1a51b2bc"><div class="ttname"><a href="big__560__58_8h.html#a3c90649900404f6fcf73b6fe1a51b2bc">BIG_560_58_copy</a></div><div class="ttdeci">void BIG_560_58_copy(BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Copy BIG to another BIG. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:227</div></div>
+<div class="ttc" id="big__560__58_8h_html_a30b28ced4ed7d6181913af8002f521e0"><div class="ttname"><a href="big__560__58_8h.html#a30b28ced4ed7d6181913af8002f521e0">BIG_560_58_diszilch</a></div><div class="ttdeci">int BIG_560_58_diszilch(DBIG_560_58 x)</div><div class="ttdoc">Tests for DBIG equal to zero. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:45</div></div>
+<div class="ttc" id="big__560__58_8h_html_a76b213fb2e2a8c06ad0003da2310e14d"><div class="ttname"><a href="big__560__58_8h.html#a76b213fb2e2a8c06ad0003da2310e14d">BIG_560_58_or</a></div><div class="ttdeci">void BIG_560_58_or(BIG_560_58 x, BIG_560_58 y, BIG_560_58 z)</div><div class="ttdoc">Set BIG to logical or of two BIGs - output normalised. </div><div class="ttdef"><b>Definition:</b> big_560_58.c:371</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/bls192__BLS24_8h.html b/website/static/cdocs/bls192__BLS24_8h.html
index 2d42d4e..9a3a9a9 100644
--- a/website/static/cdocs/bls192__BLS24_8h.html
+++ b/website/static/cdocs/bls192__BLS24_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: bls192_BLS24.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:a3ff9de2861f2c7d30c7cf52d9ea1591c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c">BLS_BLS24_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a3ff9de2861f2c7d30c7cf52d9ea1591c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#a3ff9de2861f2c7d30c7cf52d9ea1591c">More...</a><br /></td></tr>
 <tr class="separator:a3ff9de2861f2c7d30c7cf52d9ea1591c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a79cbcdfdb4aef90e5e8d02fbc08dd726"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#a79cbcdfdb4aef90e5e8d02fbc08dd726">BLS_BLS24_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:a79cbcdfdb4aef90e5e8d02fbc08dd726"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a79cbcdfdb4aef90e5e8d02fbc08dd726">More...</a><br /></td></tr>
-<tr class="separator:a79cbcdfdb4aef90e5e8d02fbc08dd726"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae167d4ff813dd451b8f9c1e54c041a85"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#ae167d4ff813dd451b8f9c1e54c041a85">BLS_BLS24_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:ae167d4ff813dd451b8f9c1e54c041a85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#ae167d4ff813dd451b8f9c1e54c041a85">More...</a><br /></td></tr>
-<tr class="separator:ae167d4ff813dd451b8f9c1e54c041a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace586ee37e95cf2e2b67b9232c5c4bc5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#ace586ee37e95cf2e2b67b9232c5c4bc5">BLS_BLS24_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:ace586ee37e95cf2e2b67b9232c5c4bc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#ace586ee37e95cf2e2b67b9232c5c4bc5">More...</a><br /></td></tr>
+<tr class="separator:ace586ee37e95cf2e2b67b9232c5c4bc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a888e6668b6240c162677d5ea4875b417"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#a888e6668b6240c162677d5ea4875b417">BLS_BLS24_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a888e6668b6240c162677d5ea4875b417"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a888e6668b6240c162677d5ea4875b417">More...</a><br /></td></tr>
+<tr class="separator:a888e6668b6240c162677d5ea4875b417"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a74f85dd3448d0d41f9a1677a6a3ad582"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#a74f85dd3448d0d41f9a1677a6a3ad582">BLS_BLS24_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:a74f85dd3448d0d41f9a1677a6a3ad582"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#a74f85dd3448d0d41f9a1677a6a3ad582">More...</a><br /></td></tr>
 <tr class="separator:a74f85dd3448d0d41f9a1677a6a3ad582"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad2cde91c5e007bf3ac9918e2bc9db6b7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#ad2cde91c5e007bf3ac9918e2bc9db6b7">BLS_BLS24_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:ad2cde91c5e007bf3ac9918e2bc9db6b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#ad2cde91c5e007bf3ac9918e2bc9db6b7">More...</a><br /></td></tr>
 <tr class="separator:ad2cde91c5e007bf3ac9918e2bc9db6b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade4309880d21334a7b64e1ef6204d586"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#ade4309880d21334a7b64e1ef6204d586">BLS_BLS24_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:ade4309880d21334a7b64e1ef6204d586"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#ade4309880d21334a7b64e1ef6204d586">More...</a><br /></td></tr>
+<tr class="separator:ade4309880d21334a7b64e1ef6204d586"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63ccbbd1e272ba050ebc688de8f9381a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#a63ccbbd1e272ba050ebc688de8f9381a">BLS_BLS24_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:a63ccbbd1e272ba050ebc688de8f9381a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#a63ccbbd1e272ba050ebc688de8f9381a">More...</a><br /></td></tr>
+<tr class="separator:a63ccbbd1e272ba050ebc688de8f9381a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51b37e19ec601e7d90d5a65127dc6097"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls192__BLS24_8h.html#a51b37e19ec601e7d90d5a65127dc6097">BLS_BLS24_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a51b37e19ec601e7d90d5a65127dc6097"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a51b37e19ec601e7d90d5a65127dc6097">More...</a><br /></td></tr>
+<tr class="separator:a51b37e19ec601e7d90d5a65127dc6097"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="a79cbcdfdb4aef90e5e8d02fbc08dd726"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a79cbcdfdb4aef90e5e8d02fbc08dd726">&#9670;&nbsp;</a></span>BLS_BLS24_SIGN()</h2>
+<a id="ade4309880d21334a7b64e1ef6204d586"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade4309880d21334a7b64e1ef6204d586">&#9670;&nbsp;</a></span>BLS_BLS24_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS24_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a63ccbbd1e272ba050ebc688de8f9381a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63ccbbd1e272ba050ebc688de8f9381a">&#9670;&nbsp;</a></span>BLS_BLS24_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS24_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a51b37e19ec601e7d90d5a65127dc6097"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a51b37e19ec601e7d90d5a65127dc6097">&#9670;&nbsp;</a></span>BLS_BLS24_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS24_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="ace586ee37e95cf2e2b67b9232c5c4bc5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace586ee37e95cf2e2b67b9232c5c4bc5">&#9670;&nbsp;</a></span>BLS_BLS24_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="ae167d4ff813dd451b8f9c1e54c041a85"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae167d4ff813dd451b8f9c1e54c041a85">&#9670;&nbsp;</a></span>BLS_BLS24_VERIFY()</h2>
+<a id="a888e6668b6240c162677d5ea4875b417"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a888e6668b6240c162677d5ea4875b417">&#9670;&nbsp;</a></span>BLS_BLS24_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls192__BLS24_8h_source.html b/website/static/cdocs/bls192__BLS24_8h_source.html
index a713fed..c5b2b0f 100644
--- a/website/static/cdocs/bls192__BLS24_8h_source.html
+++ b/website/static/cdocs/bls192__BLS24_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: bls192_BLS24.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,19 +72,22 @@
 <div class="title">bls192_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls192__BLS24_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS24_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS24_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair192_BLS24.h&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">/* Field size is assumed to be greater than or equal to group size */</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="bls192__BLS24_8h.html#a28d4a9713dd3843aa108a5fb339ec6f4">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#ae26181d2349141710a9aacc1dfb52902">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c">BLS_BLS24_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a79cbcdfdb4aef90e5e8d02fbc08dd726">BLS_BLS24_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#ae167d4ff813dd451b8f9c1e54c041a85">BLS_BLS24_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a74f85dd3448d0d41f9a1677a6a3ad582">BLS_BLS24_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#ad2cde91c5e007bf3ac9918e2bc9db6b7">BLS_BLS24_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls192__BLS24_8h_html_a74f85dd3448d0d41f9a1677a6a3ad582"><div class="ttname"><a href="bls192__BLS24_8h.html#a74f85dd3448d0d41f9a1677a6a3ad582">BLS_BLS24_ADD_G1</a></div><div class="ttdeci">int BLS_BLS24_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:102</div></div>
-<div class="ttc" id="bls192__BLS24_8h_html_ad2cde91c5e007bf3ac9918e2bc9db6b7"><div class="ttname"><a href="bls192__BLS24_8h.html#ad2cde91c5e007bf3ac9918e2bc9db6b7">BLS_BLS24_ADD_G2</a></div><div class="ttdeci">int BLS_BLS24_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:124</div></div>
-<div class="ttc" id="bls192__BLS24_8h_html_a79cbcdfdb4aef90e5e8d02fbc08dd726"><div class="ttname"><a href="bls192__BLS24_8h.html#a79cbcdfdb4aef90e5e8d02fbc08dd726">BLS_BLS24_SIGN</a></div><div class="ttdeci">int BLS_BLS24_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:58</div></div>
-<div class="ttc" id="bls192__BLS24_8h_html_ae167d4ff813dd451b8f9c1e54c041a85"><div class="ttname"><a href="bls192__BLS24_8h.html#ae167d4ff813dd451b8f9c1e54c041a85">BLS_BLS24_VERIFY</a></div><div class="ttdeci">int BLS_BLS24_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:70</div></div>
-<div class="ttc" id="bls192__BLS24_8h_html_a3ff9de2861f2c7d30c7cf52d9ea1591c"><div class="ttname"><a href="bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c">BLS_BLS24_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS24_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:43</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="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>
+<a href="bls192__BLS24_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS24_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS24_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair192_BLS24.h&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">/* Field size is assumed to be greater than or equal to group size */</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="bls192__BLS24_8h.html#a28d4a9713dd3843aa108a5fb339ec6f4">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#ae26181d2349141710a9aacc1dfb52902">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls192__BLS24_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c">BLS_BLS24_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#ace586ee37e95cf2e2b67b9232c5c4bc5">BLS_BLS24_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a888e6668b6240c162677d5ea4875b417">BLS_BLS24_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a74f85dd3448d0d41f9a1677a6a3ad582">BLS_BLS24_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#ad2cde91c5e007bf3ac9918e2bc9db6b7">BLS_BLS24_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#ade4309880d21334a7b64e1ef6204d586">BLS_BLS24_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a63ccbbd1e272ba050ebc688de8f9381a">BLS_BLS24_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls192__BLS24_8h.html#a51b37e19ec601e7d90d5a65127dc6097">BLS_BLS24_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="ttc" id="bls192__BLS24_8h_html_a888e6668b6240c162677d5ea4875b417"><div class="ttname"><a href="bls192__BLS24_8h.html#a888e6668b6240c162677d5ea4875b417">BLS_BLS24_VERIFY</a></div><div class="ttdeci">int BLS_BLS24_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:154</div></div>
+<div class="ttc" id="bls192__BLS24_8h_html_a74f85dd3448d0d41f9a1677a6a3ad582"><div class="ttname"><a href="bls192__BLS24_8h.html#a74f85dd3448d0d41f9a1677a6a3ad582">BLS_BLS24_ADD_G1</a></div><div class="ttdeci">int BLS_BLS24_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:187</div></div>
+<div class="ttc" id="bls192__BLS24_8h_html_a63ccbbd1e272ba050ebc688de8f9381a"><div class="ttname"><a href="bls192__BLS24_8h.html#a63ccbbd1e272ba050ebc688de8f9381a">BLS_BLS24_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_BLS24_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:291</div></div>
+<div class="ttc" id="bls192__BLS24_8h_html_ad2cde91c5e007bf3ac9918e2bc9db6b7"><div class="ttname"><a href="bls192__BLS24_8h.html#ad2cde91c5e007bf3ac9918e2bc9db6b7">BLS_BLS24_ADD_G2</a></div><div class="ttdeci">int BLS_BLS24_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:209</div></div>
+<div class="ttc" id="bls192__BLS24_8h_html_ace586ee37e95cf2e2b67b9232c5c4bc5"><div class="ttname"><a href="bls192__BLS24_8h.html#ace586ee37e95cf2e2b67b9232c5c4bc5">BLS_BLS24_SIGN</a></div><div class="ttdeci">int BLS_BLS24_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:141</div></div>
+<div class="ttc" id="bls192__BLS24_8h_html_a3ff9de2861f2c7d30c7cf52d9ea1591c"><div class="ttname"><a href="bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c">BLS_BLS24_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS24_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:115</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="bls192__BLS24_8h_html_a51b37e19ec601e7d90d5a65127dc6097"><div class="ttname"><a href="bls192__BLS24_8h.html#a51b37e19ec601e7d90d5a65127dc6097">BLS_BLS24_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_BLS24_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:327</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="bls192__BLS24_8h_html_ade4309880d21334a7b64e1ef6204d586"><div class="ttname"><a href="bls192__BLS24_8h.html#ade4309880d21334a7b64e1ef6204d586">BLS_BLS24_MAKE_SHARES</a></div><div class="ttdeci">int BLS_BLS24_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls192_BLS24.c:230</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/bls256__BLS48_8h.html b/website/static/cdocs/bls256__BLS48_8h.html
index 8baaef4..264522e 100644
--- a/website/static/cdocs/bls256__BLS48_8h.html
+++ b/website/static/cdocs/bls256__BLS48_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: bls256_BLS48.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:a7a8481f3854741dee7788aa873fc03d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4">BLS_BLS48_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a7a8481f3854741dee7788aa873fc03d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#a7a8481f3854741dee7788aa873fc03d4">More...</a><br /></td></tr>
 <tr class="separator:a7a8481f3854741dee7788aa873fc03d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aca4a3373e24203541075a1242d469b48"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#aca4a3373e24203541075a1242d469b48">BLS_BLS48_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:aca4a3373e24203541075a1242d469b48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#aca4a3373e24203541075a1242d469b48">More...</a><br /></td></tr>
-<tr class="separator:aca4a3373e24203541075a1242d469b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1a63c26de2f02ed7529f3df2621d515e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#a1a63c26de2f02ed7529f3df2621d515e">BLS_BLS48_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a1a63c26de2f02ed7529f3df2621d515e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a1a63c26de2f02ed7529f3df2621d515e">More...</a><br /></td></tr>
-<tr class="separator:a1a63c26de2f02ed7529f3df2621d515e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ac05c21fd4050a821b151ccfca038db"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#a7ac05c21fd4050a821b151ccfca038db">BLS_BLS48_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:a7ac05c21fd4050a821b151ccfca038db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a7ac05c21fd4050a821b151ccfca038db">More...</a><br /></td></tr>
+<tr class="separator:a7ac05c21fd4050a821b151ccfca038db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a662d6fc737881dfeb9b4df7508d67c25"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#a662d6fc737881dfeb9b4df7508d67c25">BLS_BLS48_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a662d6fc737881dfeb9b4df7508d67c25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a662d6fc737881dfeb9b4df7508d67c25">More...</a><br /></td></tr>
+<tr class="separator:a662d6fc737881dfeb9b4df7508d67c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ab6c79daa940bb9d3228bdfa152fe148e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e">BLS_BLS48_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:ab6c79daa940bb9d3228bdfa152fe148e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#ab6c79daa940bb9d3228bdfa152fe148e">More...</a><br /></td></tr>
 <tr class="separator:ab6c79daa940bb9d3228bdfa152fe148e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acb44039e4daf6fe37c1284602e91a5f4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#acb44039e4daf6fe37c1284602e91a5f4">BLS_BLS48_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:acb44039e4daf6fe37c1284602e91a5f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#acb44039e4daf6fe37c1284602e91a5f4">More...</a><br /></td></tr>
 <tr class="separator:acb44039e4daf6fe37c1284602e91a5f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af89c4de4e305481b2e00f3c2bb7c273b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#af89c4de4e305481b2e00f3c2bb7c273b">BLS_BLS48_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:af89c4de4e305481b2e00f3c2bb7c273b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#af89c4de4e305481b2e00f3c2bb7c273b">More...</a><br /></td></tr>
+<tr class="separator:af89c4de4e305481b2e00f3c2bb7c273b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abcf69b92459f13cfbd3f92c206d5deb2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#abcf69b92459f13cfbd3f92c206d5deb2">BLS_BLS48_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:abcf69b92459f13cfbd3f92c206d5deb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#abcf69b92459f13cfbd3f92c206d5deb2">More...</a><br /></td></tr>
+<tr class="separator:abcf69b92459f13cfbd3f92c206d5deb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8618134ddcf63d134af292852734ff24"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls256__BLS48_8h.html#a8618134ddcf63d134af292852734ff24">BLS_BLS48_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a8618134ddcf63d134af292852734ff24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a8618134ddcf63d134af292852734ff24">More...</a><br /></td></tr>
+<tr class="separator:a8618134ddcf63d134af292852734ff24"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="aca4a3373e24203541075a1242d469b48"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aca4a3373e24203541075a1242d469b48">&#9670;&nbsp;</a></span>BLS_BLS48_SIGN()</h2>
+<a id="af89c4de4e305481b2e00f3c2bb7c273b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af89c4de4e305481b2e00f3c2bb7c273b">&#9670;&nbsp;</a></span>BLS_BLS48_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS48_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="abcf69b92459f13cfbd3f92c206d5deb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abcf69b92459f13cfbd3f92c206d5deb2">&#9670;&nbsp;</a></span>BLS_BLS48_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS48_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a8618134ddcf63d134af292852734ff24"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8618134ddcf63d134af292852734ff24">&#9670;&nbsp;</a></span>BLS_BLS48_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS48_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a7ac05c21fd4050a821b151ccfca038db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ac05c21fd4050a821b151ccfca038db">&#9670;&nbsp;</a></span>BLS_BLS48_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a1a63c26de2f02ed7529f3df2621d515e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1a63c26de2f02ed7529f3df2621d515e">&#9670;&nbsp;</a></span>BLS_BLS48_VERIFY()</h2>
+<a id="a662d6fc737881dfeb9b4df7508d67c25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a662d6fc737881dfeb9b4df7508d67c25">&#9670;&nbsp;</a></span>BLS_BLS48_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls256__BLS48_8h_source.html b/website/static/cdocs/bls256__BLS48_8h_source.html
index 4eb2e0f..0305cd0 100644
--- a/website/static/cdocs/bls256__BLS48_8h_source.html
+++ b/website/static/cdocs/bls256__BLS48_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: bls256_BLS48.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,19 +72,22 @@
 <div class="title">bls256_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls256__BLS48_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS48_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS48_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair256_BLS48.h&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">/* Field size is assumed to be greater than or equal to group size */</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="bls256__BLS48_8h.html#a7bfb8fb2ea55a10466d24594b0a6ff5f">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#ac0f0f4d79c00bb2c74e9e69cff2dab3e">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4">BLS_BLS48_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#aca4a3373e24203541075a1242d469b48">BLS_BLS48_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#a1a63c26de2f02ed7529f3df2621d515e">BLS_BLS48_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e">BLS_BLS48_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#acb44039e4daf6fe37c1284602e91a5f4">BLS_BLS48_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls256__BLS48_8h_html_a1a63c26de2f02ed7529f3df2621d515e"><div class="ttname"><a href="bls256__BLS48_8h.html#a1a63c26de2f02ed7529f3df2621d515e">BLS_BLS48_VERIFY</a></div><div class="ttdeci">int BLS_BLS48_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:70</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="bls256__BLS48_8h_html_aca4a3373e24203541075a1242d469b48"><div class="ttname"><a href="bls256__BLS48_8h.html#aca4a3373e24203541075a1242d469b48">BLS_BLS48_SIGN</a></div><div class="ttdeci">int BLS_BLS48_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:58</div></div>
-<div class="ttc" id="bls256__BLS48_8h_html_acb44039e4daf6fe37c1284602e91a5f4"><div class="ttname"><a href="bls256__BLS48_8h.html#acb44039e4daf6fe37c1284602e91a5f4">BLS_BLS48_ADD_G2</a></div><div class="ttdeci">int BLS_BLS48_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:124</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="bls256__BLS48_8h_html_a7a8481f3854741dee7788aa873fc03d4"><div class="ttname"><a href="bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4">BLS_BLS48_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS48_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:43</div></div>
-<div class="ttc" id="bls256__BLS48_8h_html_ab6c79daa940bb9d3228bdfa152fe148e"><div class="ttname"><a href="bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e">BLS_BLS48_ADD_G1</a></div><div class="ttdeci">int BLS_BLS48_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:102</div></div>
+<a href="bls256__BLS48_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS48_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS48_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair256_BLS48.h&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">/* Field size is assumed to be greater than or equal to group size */</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="bls256__BLS48_8h.html#a7bfb8fb2ea55a10466d24594b0a6ff5f">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#ac0f0f4d79c00bb2c74e9e69cff2dab3e">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls256__BLS48_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4">BLS_BLS48_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#a7ac05c21fd4050a821b151ccfca038db">BLS_BLS48_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#a662d6fc737881dfeb9b4df7508d67c25">BLS_BLS48_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e">BLS_BLS48_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#acb44039e4daf6fe37c1284602e91a5f4">BLS_BLS48_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#af89c4de4e305481b2e00f3c2bb7c273b">BLS_BLS48_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#abcf69b92459f13cfbd3f92c206d5deb2">BLS_BLS48_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls256__BLS48_8h.html#a8618134ddcf63d134af292852734ff24">BLS_BLS48_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="ttc" id="bls256__BLS48_8h_html_af89c4de4e305481b2e00f3c2bb7c273b"><div class="ttname"><a href="bls256__BLS48_8h.html#af89c4de4e305481b2e00f3c2bb7c273b">BLS_BLS48_MAKE_SHARES</a></div><div class="ttdeci">int BLS_BLS48_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:230</div></div>
+<div class="ttc" id="bls256__BLS48_8h_html_a8618134ddcf63d134af292852734ff24"><div class="ttname"><a href="bls256__BLS48_8h.html#a8618134ddcf63d134af292852734ff24">BLS_BLS48_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_BLS48_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:327</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="bls256__BLS48_8h_html_a7ac05c21fd4050a821b151ccfca038db"><div class="ttname"><a href="bls256__BLS48_8h.html#a7ac05c21fd4050a821b151ccfca038db">BLS_BLS48_SIGN</a></div><div class="ttdeci">int BLS_BLS48_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:141</div></div>
+<div class="ttc" id="bls256__BLS48_8h_html_abcf69b92459f13cfbd3f92c206d5deb2"><div class="ttname"><a href="bls256__BLS48_8h.html#abcf69b92459f13cfbd3f92c206d5deb2">BLS_BLS48_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_BLS48_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:291</div></div>
+<div class="ttc" id="bls256__BLS48_8h_html_a662d6fc737881dfeb9b4df7508d67c25"><div class="ttname"><a href="bls256__BLS48_8h.html#a662d6fc737881dfeb9b4df7508d67c25">BLS_BLS48_VERIFY</a></div><div class="ttdeci">int BLS_BLS48_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:154</div></div>
+<div class="ttc" id="bls256__BLS48_8h_html_acb44039e4daf6fe37c1284602e91a5f4"><div class="ttname"><a href="bls256__BLS48_8h.html#acb44039e4daf6fe37c1284602e91a5f4">BLS_BLS48_ADD_G2</a></div><div class="ttdeci">int BLS_BLS48_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:209</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="bls256__BLS48_8h_html_a7a8481f3854741dee7788aa873fc03d4"><div class="ttname"><a href="bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4">BLS_BLS48_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS48_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:115</div></div>
+<div class="ttc" id="bls256__BLS48_8h_html_ab6c79daa940bb9d3228bdfa152fe148e"><div class="ttname"><a href="bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e">BLS_BLS48_ADD_G1</a></div><div class="ttdeci">int BLS_BLS48_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls256_BLS48.c:187</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/bls__BLS381_8h.html b/website/static/cdocs/bls__BLS381_8h.html
index a91d000..9858c63 100644
--- a/website/static/cdocs/bls__BLS381_8h.html
+++ b/website/static/cdocs/bls__BLS381_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: bls_BLS381.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:ad8c028e9c2525ed70ca80dd62b39f111"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111">BLS_BLS381_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:ad8c028e9c2525ed70ca80dd62b39f111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#ad8c028e9c2525ed70ca80dd62b39f111">More...</a><br /></td></tr>
 <tr class="separator:ad8c028e9c2525ed70ca80dd62b39f111"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abe8ca90d166aa1ea6ee432290bdbcdd4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#abe8ca90d166aa1ea6ee432290bdbcdd4">BLS_BLS381_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:abe8ca90d166aa1ea6ee432290bdbcdd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#abe8ca90d166aa1ea6ee432290bdbcdd4">More...</a><br /></td></tr>
-<tr class="separator:abe8ca90d166aa1ea6ee432290bdbcdd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a16a1ea68ef8fd07379dea104d1da954c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#a16a1ea68ef8fd07379dea104d1da954c">BLS_BLS381_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a16a1ea68ef8fd07379dea104d1da954c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a16a1ea68ef8fd07379dea104d1da954c">More...</a><br /></td></tr>
-<tr class="separator:a16a1ea68ef8fd07379dea104d1da954c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24b33bf05c6df70cd1152d513fbc464c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#a24b33bf05c6df70cd1152d513fbc464c">BLS_BLS381_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:a24b33bf05c6df70cd1152d513fbc464c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a24b33bf05c6df70cd1152d513fbc464c">More...</a><br /></td></tr>
+<tr class="separator:a24b33bf05c6df70cd1152d513fbc464c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5c1fa6e4349a4c5d36d46cbb0a9d454"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#af5c1fa6e4349a4c5d36d46cbb0a9d454">BLS_BLS381_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:af5c1fa6e4349a4c5d36d46cbb0a9d454"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#af5c1fa6e4349a4c5d36d46cbb0a9d454">More...</a><br /></td></tr>
+<tr class="separator:af5c1fa6e4349a4c5d36d46cbb0a9d454"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0419139eb98b18885a85cd15c2694d0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f">BLS_BLS381_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:a0419139eb98b18885a85cd15c2694d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#a0419139eb98b18885a85cd15c2694d0f">More...</a><br /></td></tr>
 <tr class="separator:a0419139eb98b18885a85cd15c2694d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aef70663c71066d65219b53832162dd3c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#aef70663c71066d65219b53832162dd3c">BLS_BLS381_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:aef70663c71066d65219b53832162dd3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#aef70663c71066d65219b53832162dd3c">More...</a><br /></td></tr>
 <tr class="separator:aef70663c71066d65219b53832162dd3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc73fc44019239a33302da199e198624"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#abc73fc44019239a33302da199e198624">BLS_BLS381_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:abc73fc44019239a33302da199e198624"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#abc73fc44019239a33302da199e198624">More...</a><br /></td></tr>
+<tr class="separator:abc73fc44019239a33302da199e198624"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bfe03702c6bb5140ea26c1e863476af"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#a3bfe03702c6bb5140ea26c1e863476af">BLS_BLS381_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:a3bfe03702c6bb5140ea26c1e863476af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#a3bfe03702c6bb5140ea26c1e863476af">More...</a><br /></td></tr>
+<tr class="separator:a3bfe03702c6bb5140ea26c1e863476af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0bde1c6bf97c00da8b6020ba96711707"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS381_8h.html#a0bde1c6bf97c00da8b6020ba96711707">BLS_BLS381_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a0bde1c6bf97c00da8b6020ba96711707"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a0bde1c6bf97c00da8b6020ba96711707">More...</a><br /></td></tr>
+<tr class="separator:a0bde1c6bf97c00da8b6020ba96711707"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="abe8ca90d166aa1ea6ee432290bdbcdd4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abe8ca90d166aa1ea6ee432290bdbcdd4">&#9670;&nbsp;</a></span>BLS_BLS381_SIGN()</h2>
+<a id="abc73fc44019239a33302da199e198624"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc73fc44019239a33302da199e198624">&#9670;&nbsp;</a></span>BLS_BLS381_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS381_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a3bfe03702c6bb5140ea26c1e863476af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3bfe03702c6bb5140ea26c1e863476af">&#9670;&nbsp;</a></span>BLS_BLS381_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS381_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a0bde1c6bf97c00da8b6020ba96711707"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0bde1c6bf97c00da8b6020ba96711707">&#9670;&nbsp;</a></span>BLS_BLS381_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS381_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a24b33bf05c6df70cd1152d513fbc464c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a24b33bf05c6df70cd1152d513fbc464c">&#9670;&nbsp;</a></span>BLS_BLS381_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a16a1ea68ef8fd07379dea104d1da954c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a16a1ea68ef8fd07379dea104d1da954c">&#9670;&nbsp;</a></span>BLS_BLS381_VERIFY()</h2>
+<a id="af5c1fa6e4349a4c5d36d46cbb0a9d454"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5c1fa6e4349a4c5d36d46cbb0a9d454">&#9670;&nbsp;</a></span>BLS_BLS381_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls__BLS381_8h_source.html b/website/static/cdocs/bls__BLS381_8h_source.html
index 2b0609e..b70a157 100644
--- a/website/static/cdocs/bls__BLS381_8h_source.html
+++ b/website/static/cdocs/bls__BLS381_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: bls_BLS381.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,20 +72,23 @@
 <div class="title">bls_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls__BLS381_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS381_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS381_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS381_8h.html">pair_BLS381.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BLS381_8h.html#a576a60acf8f3b602c99fd21838a4f6a1">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#a8567169f1d1227a60b6accd116a9ecef">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111">BLS_BLS381_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#abe8ca90d166aa1ea6ee432290bdbcdd4">BLS_BLS381_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#a16a1ea68ef8fd07379dea104d1da954c">BLS_BLS381_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f">BLS_BLS381_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#aef70663c71066d65219b53832162dd3c">BLS_BLS381_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls__BLS381_8h_html_a16a1ea68ef8fd07379dea104d1da954c"><div class="ttname"><a href="bls__BLS381_8h.html#a16a1ea68ef8fd07379dea104d1da954c">BLS_BLS381_VERIFY</a></div><div class="ttdeci">int BLS_BLS381_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:71</div></div>
-<div class="ttc" id="bls__BLS381_8h_html_aef70663c71066d65219b53832162dd3c"><div class="ttname"><a href="bls__BLS381_8h.html#aef70663c71066d65219b53832162dd3c">BLS_BLS381_ADD_G2</a></div><div class="ttdeci">int BLS_BLS381_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:124</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="bls__BLS381_8h_html_abe8ca90d166aa1ea6ee432290bdbcdd4"><div class="ttname"><a href="bls__BLS381_8h.html#abe8ca90d166aa1ea6ee432290bdbcdd4">BLS_BLS381_SIGN</a></div><div class="ttdeci">int BLS_BLS381_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:58</div></div>
-<div class="ttc" id="bls__BLS381_8h_html_a0419139eb98b18885a85cd15c2694d0f"><div class="ttname"><a href="bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f">BLS_BLS381_ADD_G1</a></div><div class="ttdeci">int BLS_BLS381_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:102</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="bls__BLS381_8h_html_ad8c028e9c2525ed70ca80dd62b39f111"><div class="ttname"><a href="bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111">BLS_BLS381_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS381_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:43</div></div>
-<div class="ttc" id="pair__BLS381_8h_html"><div class="ttname"><a href="pair__BLS381_8h.html">pair_BLS381.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
+<a href="bls__BLS381_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS381_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS381_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS381_8h.html">pair_BLS381.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BLS381_8h.html#a576a60acf8f3b602c99fd21838a4f6a1">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#a8567169f1d1227a60b6accd116a9ecef">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BLS381_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111">BLS_BLS381_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#a24b33bf05c6df70cd1152d513fbc464c">BLS_BLS381_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#af5c1fa6e4349a4c5d36d46cbb0a9d454">BLS_BLS381_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f">BLS_BLS381_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#aef70663c71066d65219b53832162dd3c">BLS_BLS381_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#abc73fc44019239a33302da199e198624">BLS_BLS381_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#a3bfe03702c6bb5140ea26c1e863476af">BLS_BLS381_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS381_8h.html#a0bde1c6bf97c00da8b6020ba96711707">BLS_BLS381_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="ttc" id="bls__BLS381_8h_html_a24b33bf05c6df70cd1152d513fbc464c"><div class="ttname"><a href="bls__BLS381_8h.html#a24b33bf05c6df70cd1152d513fbc464c">BLS_BLS381_SIGN</a></div><div class="ttdeci">int BLS_BLS381_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:141</div></div>
+<div class="ttc" id="bls__BLS381_8h_html_aef70663c71066d65219b53832162dd3c"><div class="ttname"><a href="bls__BLS381_8h.html#aef70663c71066d65219b53832162dd3c">BLS_BLS381_ADD_G2</a></div><div class="ttdeci">int BLS_BLS381_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:208</div></div>
+<div class="ttc" id="bls__BLS381_8h_html_a0bde1c6bf97c00da8b6020ba96711707"><div class="ttname"><a href="bls__BLS381_8h.html#a0bde1c6bf97c00da8b6020ba96711707">BLS_BLS381_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_BLS381_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:326</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="bls__BLS381_8h_html_af5c1fa6e4349a4c5d36d46cbb0a9d454"><div class="ttname"><a href="bls__BLS381_8h.html#af5c1fa6e4349a4c5d36d46cbb0a9d454">BLS_BLS381_VERIFY</a></div><div class="ttdeci">int BLS_BLS381_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:155</div></div>
+<div class="ttc" id="bls__BLS381_8h_html_a3bfe03702c6bb5140ea26c1e863476af"><div class="ttname"><a href="bls__BLS381_8h.html#a3bfe03702c6bb5140ea26c1e863476af">BLS_BLS381_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_BLS381_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:290</div></div>
+<div class="ttc" id="bls__BLS381_8h_html_a0419139eb98b18885a85cd15c2694d0f"><div class="ttname"><a href="bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f">BLS_BLS381_ADD_G1</a></div><div class="ttdeci">int BLS_BLS381_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:186</div></div>
+<div class="ttc" id="bls__BLS381_8h_html_abc73fc44019239a33302da199e198624"><div class="ttname"><a href="bls__BLS381_8h.html#abc73fc44019239a33302da199e198624">BLS_BLS381_MAKE_SHARES</a></div><div class="ttdeci">int BLS_BLS381_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:229</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="bls__BLS381_8h_html_ad8c028e9c2525ed70ca80dd62b39f111"><div class="ttname"><a href="bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111">BLS_BLS381_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS381_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls_BLS381.c:115</div></div>
+<div class="ttc" id="pair__BLS381_8h_html"><div class="ttname"><a href="pair__BLS381_8h.html">pair_BLS381.h</a></div><div class="ttdoc">PAIR Header File. </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/bls__BLS383_8h.html b/website/static/cdocs/bls__BLS383_8h.html
index 9b95226..3c4a5c2 100644
--- a/website/static/cdocs/bls__BLS383_8h.html
+++ b/website/static/cdocs/bls__BLS383_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: bls_BLS383.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:ab3efa286a082429f7a2cdbce4e388c97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97">BLS_BLS383_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:ab3efa286a082429f7a2cdbce4e388c97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#ab3efa286a082429f7a2cdbce4e388c97">More...</a><br /></td></tr>
 <tr class="separator:ab3efa286a082429f7a2cdbce4e388c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1d383ff4c866b7c7e4a4db653cfffc0b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a1d383ff4c866b7c7e4a4db653cfffc0b">BLS_BLS383_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:a1d383ff4c866b7c7e4a4db653cfffc0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a1d383ff4c866b7c7e4a4db653cfffc0b">More...</a><br /></td></tr>
-<tr class="separator:a1d383ff4c866b7c7e4a4db653cfffc0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d85ac20f750866e30664de951009141"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a3d85ac20f750866e30664de951009141">BLS_BLS383_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a3d85ac20f750866e30664de951009141"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a3d85ac20f750866e30664de951009141">More...</a><br /></td></tr>
-<tr class="separator:a3d85ac20f750866e30664de951009141"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a035379af6cbcbb1fa769e3b10d3465c1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a035379af6cbcbb1fa769e3b10d3465c1">BLS_BLS383_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:a035379af6cbcbb1fa769e3b10d3465c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a035379af6cbcbb1fa769e3b10d3465c1">More...</a><br /></td></tr>
+<tr class="separator:a035379af6cbcbb1fa769e3b10d3465c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a066716fed2f9dee626d6b43c592d6771"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a066716fed2f9dee626d6b43c592d6771">BLS_BLS383_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a066716fed2f9dee626d6b43c592d6771"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a066716fed2f9dee626d6b43c592d6771">More...</a><br /></td></tr>
+<tr class="separator:a066716fed2f9dee626d6b43c592d6771"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8af42e8ca84798bacabc553418a1d047"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047">BLS_BLS383_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:a8af42e8ca84798bacabc553418a1d047"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#a8af42e8ca84798bacabc553418a1d047">More...</a><br /></td></tr>
 <tr class="separator:a8af42e8ca84798bacabc553418a1d047"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a59864c22372e6096b50bb8a8a43c3cab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a59864c22372e6096b50bb8a8a43c3cab">BLS_BLS383_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a59864c22372e6096b50bb8a8a43c3cab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#a59864c22372e6096b50bb8a8a43c3cab">More...</a><br /></td></tr>
 <tr class="separator:a59864c22372e6096b50bb8a8a43c3cab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a165fdb46f1f82e986657168266b707bc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a165fdb46f1f82e986657168266b707bc">BLS_BLS383_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:a165fdb46f1f82e986657168266b707bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#a165fdb46f1f82e986657168266b707bc">More...</a><br /></td></tr>
+<tr class="separator:a165fdb46f1f82e986657168266b707bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0f5bdfdb1c6c1897f000d0491d582fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#ad0f5bdfdb1c6c1897f000d0491d582fb">BLS_BLS383_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:ad0f5bdfdb1c6c1897f000d0491d582fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#ad0f5bdfdb1c6c1897f000d0491d582fb">More...</a><br /></td></tr>
+<tr class="separator:ad0f5bdfdb1c6c1897f000d0491d582fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d8e6fd8970b6f5f7a7aeafe881f6dba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS383_8h.html#a0d8e6fd8970b6f5f7a7aeafe881f6dba">BLS_BLS383_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a0d8e6fd8970b6f5f7a7aeafe881f6dba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a0d8e6fd8970b6f5f7a7aeafe881f6dba">More...</a><br /></td></tr>
+<tr class="separator:a0d8e6fd8970b6f5f7a7aeafe881f6dba"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="a1d383ff4c866b7c7e4a4db653cfffc0b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1d383ff4c866b7c7e4a4db653cfffc0b">&#9670;&nbsp;</a></span>BLS_BLS383_SIGN()</h2>
+<a id="a165fdb46f1f82e986657168266b707bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a165fdb46f1f82e986657168266b707bc">&#9670;&nbsp;</a></span>BLS_BLS383_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS383_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="ad0f5bdfdb1c6c1897f000d0491d582fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0f5bdfdb1c6c1897f000d0491d582fb">&#9670;&nbsp;</a></span>BLS_BLS383_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS383_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a0d8e6fd8970b6f5f7a7aeafe881f6dba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0d8e6fd8970b6f5f7a7aeafe881f6dba">&#9670;&nbsp;</a></span>BLS_BLS383_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS383_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a035379af6cbcbb1fa769e3b10d3465c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a035379af6cbcbb1fa769e3b10d3465c1">&#9670;&nbsp;</a></span>BLS_BLS383_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a3d85ac20f750866e30664de951009141"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3d85ac20f750866e30664de951009141">&#9670;&nbsp;</a></span>BLS_BLS383_VERIFY()</h2>
+<a id="a066716fed2f9dee626d6b43c592d6771"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a066716fed2f9dee626d6b43c592d6771">&#9670;&nbsp;</a></span>BLS_BLS383_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls__BLS383_8h_source.html b/website/static/cdocs/bls__BLS383_8h_source.html
index 97e7e57..fbcbb4d 100644
--- a/website/static/cdocs/bls__BLS383_8h_source.html
+++ b/website/static/cdocs/bls__BLS383_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: bls_BLS383.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,20 +72,23 @@
 <div class="title">bls_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls__BLS383_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS383_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS383_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS383_8h.html">pair_BLS383.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BLS383_8h.html#a841b0063df54fa6c5c32cb7fec57dc5a">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#aa50997cea9ace1c530841ab67b9c4483">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97">BLS_BLS383_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a1d383ff4c866b7c7e4a4db653cfffc0b">BLS_BLS383_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a3d85ac20f750866e30664de951009141">BLS_BLS383_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047">BLS_BLS383_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a59864c22372e6096b50bb8a8a43c3cab">BLS_BLS383_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls__BLS383_8h_html_a1d383ff4c866b7c7e4a4db653cfffc0b"><div class="ttname"><a href="bls__BLS383_8h.html#a1d383ff4c866b7c7e4a4db653cfffc0b">BLS_BLS383_SIGN</a></div><div class="ttdeci">int BLS_BLS383_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:58</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="bls__BLS383_8h_html_ab3efa286a082429f7a2cdbce4e388c97"><div class="ttname"><a href="bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97">BLS_BLS383_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS383_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:43</div></div>
-<div class="ttc" id="bls__BLS383_8h_html_a59864c22372e6096b50bb8a8a43c3cab"><div class="ttname"><a href="bls__BLS383_8h.html#a59864c22372e6096b50bb8a8a43c3cab">BLS_BLS383_ADD_G2</a></div><div class="ttdeci">int BLS_BLS383_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:124</div></div>
-<div class="ttc" id="bls__BLS383_8h_html_a3d85ac20f750866e30664de951009141"><div class="ttname"><a href="bls__BLS383_8h.html#a3d85ac20f750866e30664de951009141">BLS_BLS383_VERIFY</a></div><div class="ttdeci">int BLS_BLS383_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:71</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="pair__BLS383_8h_html"><div class="ttname"><a href="pair__BLS383_8h.html">pair_BLS383.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="bls__BLS383_8h_html_a8af42e8ca84798bacabc553418a1d047"><div class="ttname"><a href="bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047">BLS_BLS383_ADD_G1</a></div><div class="ttdeci">int BLS_BLS383_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:102</div></div>
+<a href="bls__BLS383_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS383_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS383_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS383_8h.html">pair_BLS383.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BLS383_8h.html#a841b0063df54fa6c5c32cb7fec57dc5a">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#aa50997cea9ace1c530841ab67b9c4483">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97">BLS_BLS383_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a035379af6cbcbb1fa769e3b10d3465c1">BLS_BLS383_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a066716fed2f9dee626d6b43c592d6771">BLS_BLS383_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047">BLS_BLS383_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a59864c22372e6096b50bb8a8a43c3cab">BLS_BLS383_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a165fdb46f1f82e986657168266b707bc">BLS_BLS383_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#ad0f5bdfdb1c6c1897f000d0491d582fb">BLS_BLS383_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS383_8h.html#a0d8e6fd8970b6f5f7a7aeafe881f6dba">BLS_BLS383_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="ttc" id="bls__BLS383_8h_html_a066716fed2f9dee626d6b43c592d6771"><div class="ttname"><a href="bls__BLS383_8h.html#a066716fed2f9dee626d6b43c592d6771">BLS_BLS383_VERIFY</a></div><div class="ttdeci">int BLS_BLS383_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:155</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="bls__BLS383_8h_html_a165fdb46f1f82e986657168266b707bc"><div class="ttname"><a href="bls__BLS383_8h.html#a165fdb46f1f82e986657168266b707bc">BLS_BLS383_MAKE_SHARES</a></div><div class="ttdeci">int BLS_BLS383_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:229</div></div>
+<div class="ttc" id="bls__BLS383_8h_html_a0d8e6fd8970b6f5f7a7aeafe881f6dba"><div class="ttname"><a href="bls__BLS383_8h.html#a0d8e6fd8970b6f5f7a7aeafe881f6dba">BLS_BLS383_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_BLS383_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:326</div></div>
+<div class="ttc" id="bls__BLS383_8h_html_ab3efa286a082429f7a2cdbce4e388c97"><div class="ttname"><a href="bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97">BLS_BLS383_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS383_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:115</div></div>
+<div class="ttc" id="bls__BLS383_8h_html_a59864c22372e6096b50bb8a8a43c3cab"><div class="ttname"><a href="bls__BLS383_8h.html#a59864c22372e6096b50bb8a8a43c3cab">BLS_BLS383_ADD_G2</a></div><div class="ttdeci">int BLS_BLS383_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:208</div></div>
+<div class="ttc" id="bls__BLS383_8h_html_ad0f5bdfdb1c6c1897f000d0491d582fb"><div class="ttname"><a href="bls__BLS383_8h.html#ad0f5bdfdb1c6c1897f000d0491d582fb">BLS_BLS383_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_BLS383_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:290</div></div>
+<div class="ttc" id="bls__BLS383_8h_html_a035379af6cbcbb1fa769e3b10d3465c1"><div class="ttname"><a href="bls__BLS383_8h.html#a035379af6cbcbb1fa769e3b10d3465c1">BLS_BLS383_SIGN</a></div><div class="ttdeci">int BLS_BLS383_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:141</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="pair__BLS383_8h_html"><div class="ttname"><a href="pair__BLS383_8h.html">pair_BLS383.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="bls__BLS383_8h_html_a8af42e8ca84798bacabc553418a1d047"><div class="ttname"><a href="bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047">BLS_BLS383_ADD_G1</a></div><div class="ttdeci">int BLS_BLS383_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls_BLS383.c:186</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/bls__BLS461_8h.html b/website/static/cdocs/bls__BLS461_8h.html
index f803fd3..d89775c 100644
--- a/website/static/cdocs/bls__BLS461_8h.html
+++ b/website/static/cdocs/bls__BLS461_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: bls_BLS461.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:a3119dbd5efb7b49b28b7b504436ed93d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d">BLS_BLS461_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a3119dbd5efb7b49b28b7b504436ed93d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#a3119dbd5efb7b49b28b7b504436ed93d">More...</a><br /></td></tr>
 <tr class="separator:a3119dbd5efb7b49b28b7b504436ed93d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9f8ad4d96944199eeeb56aa00f635687"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#a9f8ad4d96944199eeeb56aa00f635687">BLS_BLS461_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:a9f8ad4d96944199eeeb56aa00f635687"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a9f8ad4d96944199eeeb56aa00f635687">More...</a><br /></td></tr>
-<tr class="separator:a9f8ad4d96944199eeeb56aa00f635687"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a299f6a77664cc94291edbcf2a9a580c4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#a299f6a77664cc94291edbcf2a9a580c4">BLS_BLS461_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a299f6a77664cc94291edbcf2a9a580c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a299f6a77664cc94291edbcf2a9a580c4">More...</a><br /></td></tr>
-<tr class="separator:a299f6a77664cc94291edbcf2a9a580c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff825f53a175ac64da3be3c9e5edd59f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#aff825f53a175ac64da3be3c9e5edd59f">BLS_BLS461_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:aff825f53a175ac64da3be3c9e5edd59f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#aff825f53a175ac64da3be3c9e5edd59f">More...</a><br /></td></tr>
+<tr class="separator:aff825f53a175ac64da3be3c9e5edd59f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8b58b365bb7bd0365947da6206135941"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#a8b58b365bb7bd0365947da6206135941">BLS_BLS461_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a8b58b365bb7bd0365947da6206135941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a8b58b365bb7bd0365947da6206135941">More...</a><br /></td></tr>
+<tr class="separator:a8b58b365bb7bd0365947da6206135941"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5e4a85fbc551e5774c3654857e82a9fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb">BLS_BLS461_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:a5e4a85fbc551e5774c3654857e82a9fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#a5e4a85fbc551e5774c3654857e82a9fb">More...</a><br /></td></tr>
 <tr class="separator:a5e4a85fbc551e5774c3654857e82a9fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adb9b2baff7779fb24a76c5fde8f08b7e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#adb9b2baff7779fb24a76c5fde8f08b7e">BLS_BLS461_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:adb9b2baff7779fb24a76c5fde8f08b7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#adb9b2baff7779fb24a76c5fde8f08b7e">More...</a><br /></td></tr>
 <tr class="separator:adb9b2baff7779fb24a76c5fde8f08b7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b5381be8ae73b626601b6aeb34b0e1c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#a4b5381be8ae73b626601b6aeb34b0e1c">BLS_BLS461_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:a4b5381be8ae73b626601b6aeb34b0e1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#a4b5381be8ae73b626601b6aeb34b0e1c">More...</a><br /></td></tr>
+<tr class="separator:a4b5381be8ae73b626601b6aeb34b0e1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aecd2988e567295aaa7020e96739b7e0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#aecd2988e567295aaa7020e96739b7e0f">BLS_BLS461_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:aecd2988e567295aaa7020e96739b7e0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#aecd2988e567295aaa7020e96739b7e0f">More...</a><br /></td></tr>
+<tr class="separator:aecd2988e567295aaa7020e96739b7e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9f911283da8978a6d54e054b2b28697"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BLS461_8h.html#ac9f911283da8978a6d54e054b2b28697">BLS_BLS461_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:ac9f911283da8978a6d54e054b2b28697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#ac9f911283da8978a6d54e054b2b28697">More...</a><br /></td></tr>
+<tr class="separator:ac9f911283da8978a6d54e054b2b28697"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="a9f8ad4d96944199eeeb56aa00f635687"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9f8ad4d96944199eeeb56aa00f635687">&#9670;&nbsp;</a></span>BLS_BLS461_SIGN()</h2>
+<a id="a4b5381be8ae73b626601b6aeb34b0e1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b5381be8ae73b626601b6aeb34b0e1c">&#9670;&nbsp;</a></span>BLS_BLS461_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS461_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="aecd2988e567295aaa7020e96739b7e0f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aecd2988e567295aaa7020e96739b7e0f">&#9670;&nbsp;</a></span>BLS_BLS461_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS461_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="ac9f911283da8978a6d54e054b2b28697"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9f911283da8978a6d54e054b2b28697">&#9670;&nbsp;</a></span>BLS_BLS461_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BLS461_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="aff825f53a175ac64da3be3c9e5edd59f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff825f53a175ac64da3be3c9e5edd59f">&#9670;&nbsp;</a></span>BLS_BLS461_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a299f6a77664cc94291edbcf2a9a580c4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a299f6a77664cc94291edbcf2a9a580c4">&#9670;&nbsp;</a></span>BLS_BLS461_VERIFY()</h2>
+<a id="a8b58b365bb7bd0365947da6206135941"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8b58b365bb7bd0365947da6206135941">&#9670;&nbsp;</a></span>BLS_BLS461_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls__BLS461_8h_source.html b/website/static/cdocs/bls__BLS461_8h_source.html
index 8d29ef9..47672d3 100644
--- a/website/static/cdocs/bls__BLS461_8h_source.html
+++ b/website/static/cdocs/bls__BLS461_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: bls_BLS461.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,20 +72,23 @@
 <div class="title">bls_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls__BLS461_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS461_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS461_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS461_8h.html">pair_BLS461.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BLS461_8h.html#acbcb6f232ff479cd248e70cf3a331713">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#a926566af4dda2f885c225c6f9f4a5daf">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d">BLS_BLS461_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a9f8ad4d96944199eeeb56aa00f635687">BLS_BLS461_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a299f6a77664cc94291edbcf2a9a580c4">BLS_BLS461_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb">BLS_BLS461_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#adb9b2baff7779fb24a76c5fde8f08b7e">BLS_BLS461_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls__BLS461_8h_html_a299f6a77664cc94291edbcf2a9a580c4"><div class="ttname"><a href="bls__BLS461_8h.html#a299f6a77664cc94291edbcf2a9a580c4">BLS_BLS461_VERIFY</a></div><div class="ttdeci">int BLS_BLS461_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:71</div></div>
-<div class="ttc" id="bls__BLS461_8h_html_a5e4a85fbc551e5774c3654857e82a9fb"><div class="ttname"><a href="bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb">BLS_BLS461_ADD_G1</a></div><div class="ttdeci">int BLS_BLS461_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:102</div></div>
-<div class="ttc" id="pair__BLS461_8h_html"><div class="ttname"><a href="pair__BLS461_8h.html">pair_BLS461.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="bls__BLS461_8h_html_a3119dbd5efb7b49b28b7b504436ed93d"><div class="ttname"><a href="bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d">BLS_BLS461_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS461_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:43</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="bls__BLS461_8h_html_a9f8ad4d96944199eeeb56aa00f635687"><div class="ttname"><a href="bls__BLS461_8h.html#a9f8ad4d96944199eeeb56aa00f635687">BLS_BLS461_SIGN</a></div><div class="ttdeci">int BLS_BLS461_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:58</div></div>
-<div class="ttc" id="bls__BLS461_8h_html_adb9b2baff7779fb24a76c5fde8f08b7e"><div class="ttname"><a href="bls__BLS461_8h.html#adb9b2baff7779fb24a76c5fde8f08b7e">BLS_BLS461_ADD_G2</a></div><div class="ttdeci">int BLS_BLS461_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:124</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>
+<a href="bls__BLS461_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BLS461_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BLS461_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS461_8h.html">pair_BLS461.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BLS461_8h.html#acbcb6f232ff479cd248e70cf3a331713">   39</a></span>&#160;<span class="preprocessor">#define BGS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#a926566af4dda2f885c225c6f9f4a5daf">   40</a></span>&#160;<span class="preprocessor">#define BFS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d">BLS_BLS461_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#aff825f53a175ac64da3be3c9e5edd59f">BLS_BLS461_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a8b58b365bb7bd0365947da6206135941">BLS_BLS461_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb">BLS_BLS461_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#adb9b2baff7779fb24a76c5fde8f08b7e">BLS_BLS461_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#a4b5381be8ae73b626601b6aeb34b0e1c">BLS_BLS461_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#aecd2988e567295aaa7020e96739b7e0f">BLS_BLS461_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BLS461_8h.html#ac9f911283da8978a6d54e054b2b28697">BLS_BLS461_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="ttc" id="bls__BLS461_8h_html_a5e4a85fbc551e5774c3654857e82a9fb"><div class="ttname"><a href="bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb">BLS_BLS461_ADD_G1</a></div><div class="ttdeci">int BLS_BLS461_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:186</div></div>
+<div class="ttc" id="bls__BLS461_8h_html_a8b58b365bb7bd0365947da6206135941"><div class="ttname"><a href="bls__BLS461_8h.html#a8b58b365bb7bd0365947da6206135941">BLS_BLS461_VERIFY</a></div><div class="ttdeci">int BLS_BLS461_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:155</div></div>
+<div class="ttc" id="bls__BLS461_8h_html_ac9f911283da8978a6d54e054b2b28697"><div class="ttname"><a href="bls__BLS461_8h.html#ac9f911283da8978a6d54e054b2b28697">BLS_BLS461_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_BLS461_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:326</div></div>
+<div class="ttc" id="pair__BLS461_8h_html"><div class="ttname"><a href="pair__BLS461_8h.html">pair_BLS461.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="bls__BLS461_8h_html_aecd2988e567295aaa7020e96739b7e0f"><div class="ttname"><a href="bls__BLS461_8h.html#aecd2988e567295aaa7020e96739b7e0f">BLS_BLS461_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_BLS461_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:290</div></div>
+<div class="ttc" id="bls__BLS461_8h_html_a3119dbd5efb7b49b28b7b504436ed93d"><div class="ttname"><a href="bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d">BLS_BLS461_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BLS461_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:115</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="bls__BLS461_8h_html_aff825f53a175ac64da3be3c9e5edd59f"><div class="ttname"><a href="bls__BLS461_8h.html#aff825f53a175ac64da3be3c9e5edd59f">BLS_BLS461_SIGN</a></div><div class="ttdeci">int BLS_BLS461_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:141</div></div>
+<div class="ttc" id="bls__BLS461_8h_html_adb9b2baff7779fb24a76c5fde8f08b7e"><div class="ttname"><a href="bls__BLS461_8h.html#adb9b2baff7779fb24a76c5fde8f08b7e">BLS_BLS461_ADD_G2</a></div><div class="ttdeci">int BLS_BLS461_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:208</div></div>
+<div class="ttc" id="bls__BLS461_8h_html_a4b5381be8ae73b626601b6aeb34b0e1c"><div class="ttname"><a href="bls__BLS461_8h.html#a4b5381be8ae73b626601b6aeb34b0e1c">BLS_BLS461_MAKE_SHARES</a></div><div class="ttdeci">int BLS_BLS461_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls_BLS461.c:229</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><!-- 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/bls__BN254CX_8h.html b/website/static/cdocs/bls__BN254CX_8h.html
index 527d496..a8c9920 100644
--- a/website/static/cdocs/bls__BN254CX_8h.html
+++ b/website/static/cdocs/bls__BN254CX_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: bls_BN254CX.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:a2e3bba1773965c4f747175836de73550"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550">BLS_BN254CX_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a2e3bba1773965c4f747175836de73550"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#a2e3bba1773965c4f747175836de73550">More...</a><br /></td></tr>
 <tr class="separator:a2e3bba1773965c4f747175836de73550"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a20fe77510d7a7f34e8dfd3af5c76268f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#a20fe77510d7a7f34e8dfd3af5c76268f">BLS_BN254CX_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:a20fe77510d7a7f34e8dfd3af5c76268f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a20fe77510d7a7f34e8dfd3af5c76268f">More...</a><br /></td></tr>
-<tr class="separator:a20fe77510d7a7f34e8dfd3af5c76268f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a065771e3dfd48c41e4f0ace41e681b10"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#a065771e3dfd48c41e4f0ace41e681b10">BLS_BN254CX_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a065771e3dfd48c41e4f0ace41e681b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a065771e3dfd48c41e4f0ace41e681b10">More...</a><br /></td></tr>
-<tr class="separator:a065771e3dfd48c41e4f0ace41e681b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac91525b2c002ad84207893f83b4dc9f5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#ac91525b2c002ad84207893f83b4dc9f5">BLS_BN254CX_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:ac91525b2c002ad84207893f83b4dc9f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#ac91525b2c002ad84207893f83b4dc9f5">More...</a><br /></td></tr>
+<tr class="separator:ac91525b2c002ad84207893f83b4dc9f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f13dc21fe15bb4adf4b09fb6a53e6a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#a4f13dc21fe15bb4adf4b09fb6a53e6a4">BLS_BN254CX_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a4f13dc21fe15bb4adf4b09fb6a53e6a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a4f13dc21fe15bb4adf4b09fb6a53e6a4">More...</a><br /></td></tr>
+<tr class="separator:a4f13dc21fe15bb4adf4b09fb6a53e6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a75bb875e70f563f873113c27fed70dfa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa">BLS_BN254CX_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:a75bb875e70f563f873113c27fed70dfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#a75bb875e70f563f873113c27fed70dfa">More...</a><br /></td></tr>
 <tr class="separator:a75bb875e70f563f873113c27fed70dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3bad477dfc0f80e8cd00e79043b380bb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#a3bad477dfc0f80e8cd00e79043b380bb">BLS_BN254CX_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a3bad477dfc0f80e8cd00e79043b380bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#a3bad477dfc0f80e8cd00e79043b380bb">More...</a><br /></td></tr>
 <tr class="separator:a3bad477dfc0f80e8cd00e79043b380bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab01f2391b3c23a4ec79aa914a3b00ea7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#ab01f2391b3c23a4ec79aa914a3b00ea7">BLS_BN254CX_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:ab01f2391b3c23a4ec79aa914a3b00ea7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#ab01f2391b3c23a4ec79aa914a3b00ea7">More...</a><br /></td></tr>
+<tr class="separator:ab01f2391b3c23a4ec79aa914a3b00ea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea2c4835b491f15c6c38b0df28d14f78"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#aea2c4835b491f15c6c38b0df28d14f78">BLS_BN254CX_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:aea2c4835b491f15c6c38b0df28d14f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#aea2c4835b491f15c6c38b0df28d14f78">More...</a><br /></td></tr>
+<tr class="separator:aea2c4835b491f15c6c38b0df28d14f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a262941837cc3ec8684df0f76b444e889"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254CX_8h.html#a262941837cc3ec8684df0f76b444e889">BLS_BN254CX_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a262941837cc3ec8684df0f76b444e889"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a262941837cc3ec8684df0f76b444e889">More...</a><br /></td></tr>
+<tr class="separator:a262941837cc3ec8684df0f76b444e889"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="a20fe77510d7a7f34e8dfd3af5c76268f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a20fe77510d7a7f34e8dfd3af5c76268f">&#9670;&nbsp;</a></span>BLS_BN254CX_SIGN()</h2>
+<a id="ab01f2391b3c23a4ec79aa914a3b00ea7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab01f2391b3c23a4ec79aa914a3b00ea7">&#9670;&nbsp;</a></span>BLS_BN254CX_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BN254CX_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="aea2c4835b491f15c6c38b0df28d14f78"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea2c4835b491f15c6c38b0df28d14f78">&#9670;&nbsp;</a></span>BLS_BN254CX_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BN254CX_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a262941837cc3ec8684df0f76b444e889"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a262941837cc3ec8684df0f76b444e889">&#9670;&nbsp;</a></span>BLS_BN254CX_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BN254CX_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="ac91525b2c002ad84207893f83b4dc9f5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac91525b2c002ad84207893f83b4dc9f5">&#9670;&nbsp;</a></span>BLS_BN254CX_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a065771e3dfd48c41e4f0ace41e681b10"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a065771e3dfd48c41e4f0ace41e681b10">&#9670;&nbsp;</a></span>BLS_BN254CX_VERIFY()</h2>
+<a id="a4f13dc21fe15bb4adf4b09fb6a53e6a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4f13dc21fe15bb4adf4b09fb6a53e6a4">&#9670;&nbsp;</a></span>BLS_BN254CX_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls__BN254CX_8h_source.html b/website/static/cdocs/bls__BN254CX_8h_source.html
index 727b907..9437411 100644
--- a/website/static/cdocs/bls__BN254CX_8h_source.html
+++ b/website/static/cdocs/bls__BN254CX_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: bls_BN254CX.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,20 +72,23 @@
 <div class="title">bls_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls__BN254CX_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BN254CX_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BN254CX_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254CX_8h.html">pair_BN254CX.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BN254CX_8h.html#a44ec4dc84f6828d9668bfbb180c9f598">   39</a></span>&#160;<span class="preprocessor">#define BGS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#a8fc235b7b6f9bd3019cf18b2b170c128">   40</a></span>&#160;<span class="preprocessor">#define BFS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550">BLS_BN254CX_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a20fe77510d7a7f34e8dfd3af5c76268f">BLS_BN254CX_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a065771e3dfd48c41e4f0ace41e681b10">BLS_BN254CX_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa">BLS_BN254CX_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a3bad477dfc0f80e8cd00e79043b380bb">BLS_BN254CX_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls__BN254CX_8h_html_a20fe77510d7a7f34e8dfd3af5c76268f"><div class="ttname"><a href="bls__BN254CX_8h.html#a20fe77510d7a7f34e8dfd3af5c76268f">BLS_BN254CX_SIGN</a></div><div class="ttdeci">int BLS_BN254CX_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:58</div></div>
-<div class="ttc" id="bls__BN254CX_8h_html_a75bb875e70f563f873113c27fed70dfa"><div class="ttname"><a href="bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa">BLS_BN254CX_ADD_G1</a></div><div class="ttdeci">int BLS_BN254CX_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:102</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="bls__BN254CX_8h_html_a065771e3dfd48c41e4f0ace41e681b10"><div class="ttname"><a href="bls__BN254CX_8h.html#a065771e3dfd48c41e4f0ace41e681b10">BLS_BN254CX_VERIFY</a></div><div class="ttdeci">int BLS_BN254CX_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:71</div></div>
-<div class="ttc" id="bls__BN254CX_8h_html_a2e3bba1773965c4f747175836de73550"><div class="ttname"><a href="bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550">BLS_BN254CX_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BN254CX_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:43</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html"><div class="ttname"><a href="pair__BN254CX_8h.html">pair_BN254CX.h</a></div><div class="ttdoc">PAIR Header File.</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="bls__BN254CX_8h_html_a3bad477dfc0f80e8cd00e79043b380bb"><div class="ttname"><a href="bls__BN254CX_8h.html#a3bad477dfc0f80e8cd00e79043b380bb">BLS_BN254CX_ADD_G2</a></div><div class="ttdeci">int BLS_BN254CX_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:124</div></div>
+<a href="bls__BN254CX_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BN254CX_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BN254CX_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254CX_8h.html">pair_BN254CX.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BN254CX_8h.html#a44ec4dc84f6828d9668bfbb180c9f598">   39</a></span>&#160;<span class="preprocessor">#define BGS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#a8fc235b7b6f9bd3019cf18b2b170c128">   40</a></span>&#160;<span class="preprocessor">#define BFS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BN254CX_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550">BLS_BN254CX_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#ac91525b2c002ad84207893f83b4dc9f5">BLS_BN254CX_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a4f13dc21fe15bb4adf4b09fb6a53e6a4">BLS_BN254CX_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa">BLS_BN254CX_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a3bad477dfc0f80e8cd00e79043b380bb">BLS_BN254CX_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#ab01f2391b3c23a4ec79aa914a3b00ea7">BLS_BN254CX_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#aea2c4835b491f15c6c38b0df28d14f78">BLS_BN254CX_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254CX_8h.html#a262941837cc3ec8684df0f76b444e889">BLS_BN254CX_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="ttc" id="bls__BN254CX_8h_html_aea2c4835b491f15c6c38b0df28d14f78"><div class="ttname"><a href="bls__BN254CX_8h.html#aea2c4835b491f15c6c38b0df28d14f78">BLS_BN254CX_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_BN254CX_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:290</div></div>
+<div class="ttc" id="bls__BN254CX_8h_html_a75bb875e70f563f873113c27fed70dfa"><div class="ttname"><a href="bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa">BLS_BN254CX_ADD_G1</a></div><div class="ttdeci">int BLS_BN254CX_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:186</div></div>
+<div class="ttc" id="bls__BN254CX_8h_html_a4f13dc21fe15bb4adf4b09fb6a53e6a4"><div class="ttname"><a href="bls__BN254CX_8h.html#a4f13dc21fe15bb4adf4b09fb6a53e6a4">BLS_BN254CX_VERIFY</a></div><div class="ttdeci">int BLS_BN254CX_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:155</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="bls__BN254CX_8h_html_ac91525b2c002ad84207893f83b4dc9f5"><div class="ttname"><a href="bls__BN254CX_8h.html#ac91525b2c002ad84207893f83b4dc9f5">BLS_BN254CX_SIGN</a></div><div class="ttdeci">int BLS_BN254CX_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:141</div></div>
+<div class="ttc" id="bls__BN254CX_8h_html_a262941837cc3ec8684df0f76b444e889"><div class="ttname"><a href="bls__BN254CX_8h.html#a262941837cc3ec8684df0f76b444e889">BLS_BN254CX_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_BN254CX_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:326</div></div>
+<div class="ttc" id="bls__BN254CX_8h_html_ab01f2391b3c23a4ec79aa914a3b00ea7"><div class="ttname"><a href="bls__BN254CX_8h.html#ab01f2391b3c23a4ec79aa914a3b00ea7">BLS_BN254CX_MAKE_SHARES</a></div><div class="ttdeci">int BLS_BN254CX_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:229</div></div>
+<div class="ttc" id="bls__BN254CX_8h_html_a2e3bba1773965c4f747175836de73550"><div class="ttname"><a href="bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550">BLS_BN254CX_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BN254CX_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:115</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html"><div class="ttname"><a href="pair__BN254CX_8h.html">pair_BN254CX.h</a></div><div class="ttdoc">PAIR Header File. </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="bls__BN254CX_8h_html_a3bad477dfc0f80e8cd00e79043b380bb"><div class="ttname"><a href="bls__BN254CX_8h.html#a3bad477dfc0f80e8cd00e79043b380bb">BLS_BN254CX_ADD_G2</a></div><div class="ttdeci">int BLS_BN254CX_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls_BN254CX.c:208</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/bls__BN254_8h.html b/website/static/cdocs/bls__BN254_8h.html
index a6e2c98..ebd0a26 100644
--- a/website/static/cdocs/bls__BN254_8h.html
+++ b/website/static/cdocs/bls__BN254_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: bls_BN254.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:ae3c46fdd8b37de562e16e5f765067036"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036">BLS_BN254_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:ae3c46fdd8b37de562e16e5f765067036"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#ae3c46fdd8b37de562e16e5f765067036">More...</a><br /></td></tr>
 <tr class="separator:ae3c46fdd8b37de562e16e5f765067036"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a90c9bc4b90f94913cd18c6e98e021ee0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a90c9bc4b90f94913cd18c6e98e021ee0">BLS_BN254_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:a90c9bc4b90f94913cd18c6e98e021ee0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a90c9bc4b90f94913cd18c6e98e021ee0">More...</a><br /></td></tr>
-<tr class="separator:a90c9bc4b90f94913cd18c6e98e021ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83112996c1c147a42a23ffb186924017"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a83112996c1c147a42a23ffb186924017">BLS_BN254_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a83112996c1c147a42a23ffb186924017"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a83112996c1c147a42a23ffb186924017">More...</a><br /></td></tr>
-<tr class="separator:a83112996c1c147a42a23ffb186924017"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ae7e925844eb58dc8ad104d18e92bb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a5ae7e925844eb58dc8ad104d18e92bb9">BLS_BN254_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:a5ae7e925844eb58dc8ad104d18e92bb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a5ae7e925844eb58dc8ad104d18e92bb9">More...</a><br /></td></tr>
+<tr class="separator:a5ae7e925844eb58dc8ad104d18e92bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f94d1fc3631280015e93174db72ed5c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a5f94d1fc3631280015e93174db72ed5c">BLS_BN254_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a5f94d1fc3631280015e93174db72ed5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a5f94d1fc3631280015e93174db72ed5c">More...</a><br /></td></tr>
+<tr class="separator:a5f94d1fc3631280015e93174db72ed5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2f14c4eea0585a79cc353b7a718f16a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0">BLS_BN254_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:a2f14c4eea0585a79cc353b7a718f16a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#a2f14c4eea0585a79cc353b7a718f16a0">More...</a><br /></td></tr>
 <tr class="separator:a2f14c4eea0585a79cc353b7a718f16a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1d3d52cb10930fd4ea541d39ac29c4e2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a1d3d52cb10930fd4ea541d39ac29c4e2">BLS_BN254_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a1d3d52cb10930fd4ea541d39ac29c4e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#a1d3d52cb10930fd4ea541d39ac29c4e2">More...</a><br /></td></tr>
 <tr class="separator:a1d3d52cb10930fd4ea541d39ac29c4e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a857a1e998e2aa2f954899e8e179bf1dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a857a1e998e2aa2f954899e8e179bf1dd">BLS_BN254_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:a857a1e998e2aa2f954899e8e179bf1dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#a857a1e998e2aa2f954899e8e179bf1dd">More...</a><br /></td></tr>
+<tr class="separator:a857a1e998e2aa2f954899e8e179bf1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f1095cf77f84b79dd6d9db2c6df2022"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a7f1095cf77f84b79dd6d9db2c6df2022">BLS_BN254_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:a7f1095cf77f84b79dd6d9db2c6df2022"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#a7f1095cf77f84b79dd6d9db2c6df2022">More...</a><br /></td></tr>
+<tr class="separator:a7f1095cf77f84b79dd6d9db2c6df2022"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77a7b86612258446419fa1bc592ab397"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__BN254_8h.html#a77a7b86612258446419fa1bc592ab397">BLS_BN254_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a77a7b86612258446419fa1bc592ab397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a77a7b86612258446419fa1bc592ab397">More...</a><br /></td></tr>
+<tr class="separator:a77a7b86612258446419fa1bc592ab397"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="a90c9bc4b90f94913cd18c6e98e021ee0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a90c9bc4b90f94913cd18c6e98e021ee0">&#9670;&nbsp;</a></span>BLS_BN254_SIGN()</h2>
+<a id="a857a1e998e2aa2f954899e8e179bf1dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a857a1e998e2aa2f954899e8e179bf1dd">&#9670;&nbsp;</a></span>BLS_BN254_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BN254_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a7f1095cf77f84b79dd6d9db2c6df2022"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7f1095cf77f84b79dd6d9db2c6df2022">&#9670;&nbsp;</a></span>BLS_BN254_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BN254_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a77a7b86612258446419fa1bc592ab397"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77a7b86612258446419fa1bc592ab397">&#9670;&nbsp;</a></span>BLS_BN254_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_BN254_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a5ae7e925844eb58dc8ad104d18e92bb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ae7e925844eb58dc8ad104d18e92bb9">&#9670;&nbsp;</a></span>BLS_BN254_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a83112996c1c147a42a23ffb186924017"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a83112996c1c147a42a23ffb186924017">&#9670;&nbsp;</a></span>BLS_BN254_VERIFY()</h2>
+<a id="a5f94d1fc3631280015e93174db72ed5c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f94d1fc3631280015e93174db72ed5c">&#9670;&nbsp;</a></span>BLS_BN254_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls__BN254_8h_source.html b/website/static/cdocs/bls__BN254_8h_source.html
index ac1c999..0528c4e 100644
--- a/website/static/cdocs/bls__BN254_8h_source.html
+++ b/website/static/cdocs/bls__BN254_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: bls_BN254.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,20 +72,23 @@
 <div class="title">bls_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls__BN254_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BN254_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BN254_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254_8h.html">pair_BN254.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BN254_8h.html#a3da9cd3a39c61c07e4a8efb147743b36">   39</a></span>&#160;<span class="preprocessor">#define BGS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#a3541c1b78fa4172a85c5840d13af46da">   40</a></span>&#160;<span class="preprocessor">#define BFS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036">BLS_BN254_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a90c9bc4b90f94913cd18c6e98e021ee0">BLS_BN254_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a83112996c1c147a42a23ffb186924017">BLS_BN254_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0">BLS_BN254_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a1d3d52cb10930fd4ea541d39ac29c4e2">BLS_BN254_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls__BN254_8h_html_a90c9bc4b90f94913cd18c6e98e021ee0"><div class="ttname"><a href="bls__BN254_8h.html#a90c9bc4b90f94913cd18c6e98e021ee0">BLS_BN254_SIGN</a></div><div class="ttdeci">int BLS_BN254_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls_BN254.c:58</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="bls__BN254_8h_html_a2f14c4eea0585a79cc353b7a718f16a0"><div class="ttname"><a href="bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0">BLS_BN254_ADD_G1</a></div><div class="ttdeci">int BLS_BN254_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls_BN254.c:102</div></div>
-<div class="ttc" id="pair__BN254_8h_html"><div class="ttname"><a href="pair__BN254_8h.html">pair_BN254.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="bls__BN254_8h_html_a1d3d52cb10930fd4ea541d39ac29c4e2"><div class="ttname"><a href="bls__BN254_8h.html#a1d3d52cb10930fd4ea541d39ac29c4e2">BLS_BN254_ADD_G2</a></div><div class="ttdeci">int BLS_BN254_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls_BN254.c:124</div></div>
-<div class="ttc" id="bls__BN254_8h_html_a83112996c1c147a42a23ffb186924017"><div class="ttname"><a href="bls__BN254_8h.html#a83112996c1c147a42a23ffb186924017">BLS_BN254_VERIFY</a></div><div class="ttdeci">int BLS_BN254_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls_BN254.c:71</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="bls__BN254_8h_html_ae3c46fdd8b37de562e16e5f765067036"><div class="ttname"><a href="bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036">BLS_BN254_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BN254_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls_BN254.c:43</div></div>
+<a href="bls__BN254_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_BN254_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_BN254_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254_8h.html">pair_BN254.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__BN254_8h.html#a3da9cd3a39c61c07e4a8efb147743b36">   39</a></span>&#160;<span class="preprocessor">#define BGS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#a3541c1b78fa4172a85c5840d13af46da">   40</a></span>&#160;<span class="preprocessor">#define BFS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036">BLS_BN254_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a5ae7e925844eb58dc8ad104d18e92bb9">BLS_BN254_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a5f94d1fc3631280015e93174db72ed5c">BLS_BN254_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0">BLS_BN254_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a1d3d52cb10930fd4ea541d39ac29c4e2">BLS_BN254_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a857a1e998e2aa2f954899e8e179bf1dd">BLS_BN254_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a7f1095cf77f84b79dd6d9db2c6df2022">BLS_BN254_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__BN254_8h.html#a77a7b86612258446419fa1bc592ab397">BLS_BN254_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="ttc" id="bls__BN254_8h_html_a5f94d1fc3631280015e93174db72ed5c"><div class="ttname"><a href="bls__BN254_8h.html#a5f94d1fc3631280015e93174db72ed5c">BLS_BN254_VERIFY</a></div><div class="ttdeci">int BLS_BN254_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:155</div></div>
+<div class="ttc" id="bls__BN254_8h_html_a7f1095cf77f84b79dd6d9db2c6df2022"><div class="ttname"><a href="bls__BN254_8h.html#a7f1095cf77f84b79dd6d9db2c6df2022">BLS_BN254_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_BN254_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:290</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="bls__BN254_8h_html_a2f14c4eea0585a79cc353b7a718f16a0"><div class="ttname"><a href="bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0">BLS_BN254_ADD_G1</a></div><div class="ttdeci">int BLS_BN254_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:186</div></div>
+<div class="ttc" id="pair__BN254_8h_html"><div class="ttname"><a href="pair__BN254_8h.html">pair_BN254.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="bls__BN254_8h_html_a1d3d52cb10930fd4ea541d39ac29c4e2"><div class="ttname"><a href="bls__BN254_8h.html#a1d3d52cb10930fd4ea541d39ac29c4e2">BLS_BN254_ADD_G2</a></div><div class="ttdeci">int BLS_BN254_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:208</div></div>
+<div class="ttc" id="bls__BN254_8h_html_a857a1e998e2aa2f954899e8e179bf1dd"><div class="ttname"><a href="bls__BN254_8h.html#a857a1e998e2aa2f954899e8e179bf1dd">BLS_BN254_MAKE_SHARES</a></div><div class="ttdeci">int BLS_BN254_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:229</div></div>
+<div class="ttc" id="bls__BN254_8h_html_a77a7b86612258446419fa1bc592ab397"><div class="ttname"><a href="bls__BN254_8h.html#a77a7b86612258446419fa1bc592ab397">BLS_BN254_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_BN254_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:326</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="bls__BN254_8h_html_a5ae7e925844eb58dc8ad104d18e92bb9"><div class="ttname"><a href="bls__BN254_8h.html#a5ae7e925844eb58dc8ad104d18e92bb9">BLS_BN254_SIGN</a></div><div class="ttdeci">int BLS_BN254_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:141</div></div>
+<div class="ttc" id="bls__BN254_8h_html_ae3c46fdd8b37de562e16e5f765067036"><div class="ttname"><a href="bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036">BLS_BN254_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_BN254_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls_BN254.c:115</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/bls__FP256BN_8h.html b/website/static/cdocs/bls__FP256BN_8h.html
index b09862a..36bfce1 100644
--- a/website/static/cdocs/bls__FP256BN_8h.html
+++ b/website/static/cdocs/bls__FP256BN_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: bls_FP256BN.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:afab15066d52f8c147d427bf0a545be9b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b">BLS_FP256BN_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:afab15066d52f8c147d427bf0a545be9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#afab15066d52f8c147d427bf0a545be9b">More...</a><br /></td></tr>
 <tr class="separator:afab15066d52f8c147d427bf0a545be9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab167e8dc6d1b1668ee44fa54efe86bef"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#ab167e8dc6d1b1668ee44fa54efe86bef">BLS_FP256BN_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:ab167e8dc6d1b1668ee44fa54efe86bef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#ab167e8dc6d1b1668ee44fa54efe86bef">More...</a><br /></td></tr>
-<tr class="separator:ab167e8dc6d1b1668ee44fa54efe86bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2300b3e097d13ca6e1ca892a7a0cf915"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#a2300b3e097d13ca6e1ca892a7a0cf915">BLS_FP256BN_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a2300b3e097d13ca6e1ca892a7a0cf915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a2300b3e097d13ca6e1ca892a7a0cf915">More...</a><br /></td></tr>
-<tr class="separator:a2300b3e097d13ca6e1ca892a7a0cf915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aacd18a137b7a4e8d896e27110e35e860"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#aacd18a137b7a4e8d896e27110e35e860">BLS_FP256BN_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:aacd18a137b7a4e8d896e27110e35e860"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#aacd18a137b7a4e8d896e27110e35e860">More...</a><br /></td></tr>
+<tr class="separator:aacd18a137b7a4e8d896e27110e35e860"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a416aff4d03e90525a060cef3f4fd6205"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#a416aff4d03e90525a060cef3f4fd6205">BLS_FP256BN_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a416aff4d03e90525a060cef3f4fd6205"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a416aff4d03e90525a060cef3f4fd6205">More...</a><br /></td></tr>
+<tr class="separator:a416aff4d03e90525a060cef3f4fd6205"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae8f3b2de57d1efac4316b12ecdf01b25"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25">BLS_FP256BN_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:ae8f3b2de57d1efac4316b12ecdf01b25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#ae8f3b2de57d1efac4316b12ecdf01b25">More...</a><br /></td></tr>
 <tr class="separator:ae8f3b2de57d1efac4316b12ecdf01b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad6fc669699a7b0b7062ed875935a7557"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#ad6fc669699a7b0b7062ed875935a7557">BLS_FP256BN_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:ad6fc669699a7b0b7062ed875935a7557"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#ad6fc669699a7b0b7062ed875935a7557">More...</a><br /></td></tr>
 <tr class="separator:ad6fc669699a7b0b7062ed875935a7557"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afced5cbbbea572cca508d05a4768f4c0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#afced5cbbbea572cca508d05a4768f4c0">BLS_FP256BN_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:afced5cbbbea572cca508d05a4768f4c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#afced5cbbbea572cca508d05a4768f4c0">More...</a><br /></td></tr>
+<tr class="separator:afced5cbbbea572cca508d05a4768f4c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00cbfe56ea644ef49521f6bf373abece"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#a00cbfe56ea644ef49521f6bf373abece">BLS_FP256BN_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:a00cbfe56ea644ef49521f6bf373abece"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#a00cbfe56ea644ef49521f6bf373abece">More...</a><br /></td></tr>
+<tr class="separator:a00cbfe56ea644ef49521f6bf373abece"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3024cba5ceccc917fc418c0b7c1fd254"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP256BN_8h.html#a3024cba5ceccc917fc418c0b7c1fd254">BLS_FP256BN_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a3024cba5ceccc917fc418c0b7c1fd254"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a3024cba5ceccc917fc418c0b7c1fd254">More...</a><br /></td></tr>
+<tr class="separator:a3024cba5ceccc917fc418c0b7c1fd254"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="ab167e8dc6d1b1668ee44fa54efe86bef"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab167e8dc6d1b1668ee44fa54efe86bef">&#9670;&nbsp;</a></span>BLS_FP256BN_SIGN()</h2>
+<a id="afced5cbbbea572cca508d05a4768f4c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afced5cbbbea572cca508d05a4768f4c0">&#9670;&nbsp;</a></span>BLS_FP256BN_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_FP256BN_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a00cbfe56ea644ef49521f6bf373abece"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00cbfe56ea644ef49521f6bf373abece">&#9670;&nbsp;</a></span>BLS_FP256BN_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_FP256BN_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a3024cba5ceccc917fc418c0b7c1fd254"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3024cba5ceccc917fc418c0b7c1fd254">&#9670;&nbsp;</a></span>BLS_FP256BN_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_FP256BN_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="aacd18a137b7a4e8d896e27110e35e860"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aacd18a137b7a4e8d896e27110e35e860">&#9670;&nbsp;</a></span>BLS_FP256BN_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a2300b3e097d13ca6e1ca892a7a0cf915"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2300b3e097d13ca6e1ca892a7a0cf915">&#9670;&nbsp;</a></span>BLS_FP256BN_VERIFY()</h2>
+<a id="a416aff4d03e90525a060cef3f4fd6205"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a416aff4d03e90525a060cef3f4fd6205">&#9670;&nbsp;</a></span>BLS_FP256BN_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls__FP256BN_8h_source.html b/website/static/cdocs/bls__FP256BN_8h_source.html
index 2c2cc81..180b9ca 100644
--- a/website/static/cdocs/bls__FP256BN_8h_source.html
+++ b/website/static/cdocs/bls__FP256BN_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: bls_FP256BN.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,20 +72,23 @@
 <div class="title">bls_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls__FP256BN_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_FP256BN_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_FP256BN_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP256BN_8h.html">pair_FP256BN.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__FP256BN_8h.html#a4a5104f80b96689adf3aba0b33a8829d">   39</a></span>&#160;<span class="preprocessor">#define BGS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#a568a7d3c018032c4cbf0045ffe6ad383">   40</a></span>&#160;<span class="preprocessor">#define BFS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b">BLS_FP256BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#ab167e8dc6d1b1668ee44fa54efe86bef">BLS_FP256BN_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#a2300b3e097d13ca6e1ca892a7a0cf915">BLS_FP256BN_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25">BLS_FP256BN_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#ad6fc669699a7b0b7062ed875935a7557">BLS_FP256BN_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls__FP256BN_8h_html_ad6fc669699a7b0b7062ed875935a7557"><div class="ttname"><a href="bls__FP256BN_8h.html#ad6fc669699a7b0b7062ed875935a7557">BLS_FP256BN_ADD_G2</a></div><div class="ttdeci">int BLS_FP256BN_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:124</div></div>
-<div class="ttc" id="bls__FP256BN_8h_html_a2300b3e097d13ca6e1ca892a7a0cf915"><div class="ttname"><a href="bls__FP256BN_8h.html#a2300b3e097d13ca6e1ca892a7a0cf915">BLS_FP256BN_VERIFY</a></div><div class="ttdeci">int BLS_FP256BN_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:71</div></div>
-<div class="ttc" id="bls__FP256BN_8h_html_ab167e8dc6d1b1668ee44fa54efe86bef"><div class="ttname"><a href="bls__FP256BN_8h.html#ab167e8dc6d1b1668ee44fa54efe86bef">BLS_FP256BN_SIGN</a></div><div class="ttdeci">int BLS_FP256BN_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:58</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="bls__FP256BN_8h_html_afab15066d52f8c147d427bf0a545be9b"><div class="ttname"><a href="bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b">BLS_FP256BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_FP256BN_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:43</div></div>
-<div class="ttc" id="bls__FP256BN_8h_html_ae8f3b2de57d1efac4316b12ecdf01b25"><div class="ttname"><a href="bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25">BLS_FP256BN_ADD_G1</a></div><div class="ttdeci">int BLS_FP256BN_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:102</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html"><div class="ttname"><a href="pair__FP256BN_8h.html">pair_FP256BN.h</a></div><div class="ttdoc">PAIR Header File.</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>
+<a href="bls__FP256BN_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_FP256BN_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_FP256BN_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP256BN_8h.html">pair_FP256BN.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__FP256BN_8h.html#a4a5104f80b96689adf3aba0b33a8829d">   39</a></span>&#160;<span class="preprocessor">#define BGS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#a568a7d3c018032c4cbf0045ffe6ad383">   40</a></span>&#160;<span class="preprocessor">#define BFS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__FP256BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b">BLS_FP256BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#aacd18a137b7a4e8d896e27110e35e860">BLS_FP256BN_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#a416aff4d03e90525a060cef3f4fd6205">BLS_FP256BN_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25">BLS_FP256BN_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#ad6fc669699a7b0b7062ed875935a7557">BLS_FP256BN_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#afced5cbbbea572cca508d05a4768f4c0">BLS_FP256BN_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#a00cbfe56ea644ef49521f6bf373abece">BLS_FP256BN_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP256BN_8h.html#a3024cba5ceccc917fc418c0b7c1fd254">BLS_FP256BN_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="ttc" id="bls__FP256BN_8h_html_afced5cbbbea572cca508d05a4768f4c0"><div class="ttname"><a href="bls__FP256BN_8h.html#afced5cbbbea572cca508d05a4768f4c0">BLS_FP256BN_MAKE_SHARES</a></div><div class="ttdeci">int BLS_FP256BN_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:229</div></div>
+<div class="ttc" id="bls__FP256BN_8h_html_ad6fc669699a7b0b7062ed875935a7557"><div class="ttname"><a href="bls__FP256BN_8h.html#ad6fc669699a7b0b7062ed875935a7557">BLS_FP256BN_ADD_G2</a></div><div class="ttdeci">int BLS_FP256BN_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:208</div></div>
+<div class="ttc" id="bls__FP256BN_8h_html_a3024cba5ceccc917fc418c0b7c1fd254"><div class="ttname"><a href="bls__FP256BN_8h.html#a3024cba5ceccc917fc418c0b7c1fd254">BLS_FP256BN_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_FP256BN_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:326</div></div>
+<div class="ttc" id="bls__FP256BN_8h_html_a00cbfe56ea644ef49521f6bf373abece"><div class="ttname"><a href="bls__FP256BN_8h.html#a00cbfe56ea644ef49521f6bf373abece">BLS_FP256BN_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_FP256BN_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:290</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="bls__FP256BN_8h_html_afab15066d52f8c147d427bf0a545be9b"><div class="ttname"><a href="bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b">BLS_FP256BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_FP256BN_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:115</div></div>
+<div class="ttc" id="bls__FP256BN_8h_html_ae8f3b2de57d1efac4316b12ecdf01b25"><div class="ttname"><a href="bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25">BLS_FP256BN_ADD_G1</a></div><div class="ttdeci">int BLS_FP256BN_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:186</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html"><div class="ttname"><a href="pair__FP256BN_8h.html">pair_FP256BN.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="bls__FP256BN_8h_html_aacd18a137b7a4e8d896e27110e35e860"><div class="ttname"><a href="bls__FP256BN_8h.html#aacd18a137b7a4e8d896e27110e35e860">BLS_FP256BN_SIGN</a></div><div class="ttdeci">int BLS_FP256BN_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:141</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="bls__FP256BN_8h_html_a416aff4d03e90525a060cef3f4fd6205"><div class="ttname"><a href="bls__FP256BN_8h.html#a416aff4d03e90525a060cef3f4fd6205">BLS_FP256BN_VERIFY</a></div><div class="ttdeci">int BLS_FP256BN_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls_FP256BN.c:155</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/bls__FP512BN_8h.html b/website/static/cdocs/bls__FP512BN_8h.html
index 186e02d..cbf0d60 100644
--- a/website/static/cdocs/bls__FP512BN_8h.html
+++ b/website/static/cdocs/bls__FP512BN_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: bls_FP512BN.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"
@@ -99,18 +102,27 @@
 <tr class="memitem:aa9c6b7265f160b9fd26723f97aa7019f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f">BLS_FP512BN_KEY_PAIR_GENERATE</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:aa9c6b7265f160b9fd26723f97aa7019f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate Key Pair.  <a href="#aa9c6b7265f160b9fd26723f97aa7019f">More...</a><br /></td></tr>
 <tr class="separator:aa9c6b7265f160b9fd26723f97aa7019f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a70a9409a4dda70cd0faa70bd7ed30736"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#a70a9409a4dda70cd0faa70bd7ed30736">BLS_FP512BN_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
-<tr class="memdesc:a70a9409a4dda70cd0faa70bd7ed30736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#a70a9409a4dda70cd0faa70bd7ed30736">More...</a><br /></td></tr>
-<tr class="separator:a70a9409a4dda70cd0faa70bd7ed30736"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a87569f97a06acc6099f197ac27ebe282"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#a87569f97a06acc6099f197ac27ebe282">BLS_FP512BN_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, char *m, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
-<tr class="memdesc:a87569f97a06acc6099f197ac27ebe282"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a87569f97a06acc6099f197ac27ebe282">More...</a><br /></td></tr>
-<tr class="separator:a87569f97a06acc6099f197ac27ebe282"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abdda5f944531d63ab88279023f662a8f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#abdda5f944531d63ab88279023f662a8f">BLS_FP512BN_SIGN</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
+<tr class="memdesc:abdda5f944531d63ab88279023f662a8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate a signature.  <a href="#abdda5f944531d63ab88279023f662a8f">More...</a><br /></td></tr>
+<tr class="separator:abdda5f944531d63ab88279023f662a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a526a83b52379b9a84aa14e95ea710ca0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#a526a83b52379b9a84aa14e95ea710ca0">BLS_FP512BN_VERIFY</a> (<a class="el" href="structoctet.html">octet</a> *SIG, <a class="el" href="structoctet.html">octet</a> *M, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
+<tr class="memdesc:a526a83b52379b9a84aa14e95ea710ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify a signature.  <a href="#a526a83b52379b9a84aa14e95ea710ca0">More...</a><br /></td></tr>
+<tr class="separator:a526a83b52379b9a84aa14e95ea710ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae1282826513af0a50e0329ce2e4f324b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b">BLS_FP512BN_ADD_G1</a> (<a class="el" href="structoctet.html">octet</a> *R1, <a class="el" href="structoctet.html">octet</a> *R2, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
 <tr class="memdesc:ae1282826513af0a50e0329ce2e4f324b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G1.  <a href="#ae1282826513af0a50e0329ce2e4f324b">More...</a><br /></td></tr>
 <tr class="separator:ae1282826513af0a50e0329ce2e4f324b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a00334d128b1624dfa9faf0cdf2af10aa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#a00334d128b1624dfa9faf0cdf2af10aa">BLS_FP512BN_ADD_G2</a> (<a class="el" href="structoctet.html">octet</a> *W1, <a class="el" href="structoctet.html">octet</a> *W2, <a class="el" href="structoctet.html">octet</a> *W)</td></tr>
 <tr class="memdesc:a00334d128b1624dfa9faf0cdf2af10aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two members from the group G2.  <a href="#a00334d128b1624dfa9faf0cdf2af10aa">More...</a><br /></td></tr>
 <tr class="separator:a00334d128b1624dfa9faf0cdf2af10aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34530e73aa5cd3d73fb754e772ec4b83"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#a34530e73aa5cd3d73fb754e772ec4b83">BLS_FP512BN_MAKE_SHARES</a> (int k, int n, <a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SKI, <a class="el" href="structoctet.html">octet</a> *SKO)</td></tr>
+<tr class="memdesc:a34530e73aa5cd3d73fb754e772ec4b83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to distribute BLS secret keys.  <a href="#a34530e73aa5cd3d73fb754e772ec4b83">More...</a><br /></td></tr>
+<tr class="separator:a34530e73aa5cd3d73fb754e772ec4b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af663f54403701b715327c89ce544deb5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#af663f54403701b715327c89ce544deb5">BLS_FP512BN_RECOVER_SECRET</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SK)</td></tr>
+<tr class="memdesc:af663f54403701b715327c89ce544deb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS secret key.  <a href="#af663f54403701b715327c89ce544deb5">More...</a><br /></td></tr>
+<tr class="separator:af663f54403701b715327c89ce544deb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a34a54a52bcc58ff877a99c6ffbaa7eb4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html#a34a54a52bcc58ff877a99c6ffbaa7eb4">BLS_FP512BN_RECOVER_SIGNATURE</a> (int k, <a class="el" href="structoctet.html">octet</a> *X, <a class="el" href="structoctet.html">octet</a> *Y, <a class="el" href="structoctet.html">octet</a> *SIG)</td></tr>
+<tr class="memdesc:a34a54a52bcc58ff877a99c6ffbaa7eb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use Shamir's secret sharing to recover a BLS signature.  <a href="#a34a54a52bcc58ff877a99c6ffbaa7eb4">More...</a><br /></td></tr>
+<tr class="separator:a34a54a52bcc58ff877a99c6ffbaa7eb4"><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>
@@ -327,7 +339,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
-    <tr><td class="paramname">S</td><td>Private key </td></tr>
+    <tr><td class="paramname">S</td><td>Private key. Generated externally if RNG set to NULL </td></tr>
     <tr><td class="paramname">W</td><td>Public Key. W = S*G, where G is fixed generator </td></tr>
   </table>
   </dd>
@@ -336,8 +348,179 @@
 
 </div>
 </div>
-<a id="a70a9409a4dda70cd0faa70bd7ed30736"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a70a9409a4dda70cd0faa70bd7ed30736">&#9670;&nbsp;</a></span>BLS_FP512BN_SIGN()</h2>
+<a id="a34530e73aa5cd3d73fb754e772ec4b83"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a34530e73aa5cd3d73fb754e772ec4b83">&#9670;&nbsp;</a></span>BLS_FP512BN_MAKE_SHARES()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_FP512BN_MAKE_SHARES </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#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>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SKO</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">n</td><td>Number of shares </td></tr>
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SKI</td><td>Input secret key to be shared. Ignored if set to NULL </td></tr>
+    <tr><td class="paramname">SKO</td><td>Secret key that is shared </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="af663f54403701b715327c89ce544deb5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af663f54403701b715327c89ce544deb5">&#9670;&nbsp;</a></span>BLS_FP512BN_RECOVER_SECRET()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_FP512BN_RECOVER_SECRET </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SK</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS secret keys </td></tr>
+    <tr><td class="paramname">SK</td><td>Secret key that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="a34a54a52bcc58ff877a99c6ffbaa7eb4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a34a54a52bcc58ff877a99c6ffbaa7eb4">&#9670;&nbsp;</a></span>BLS_FP512BN_RECOVER_SIGNATURE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int BLS_FP512BN_RECOVER_SIGNATURE </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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="structoctet.html">octet</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="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>SIG</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">k</td><td>Threshold </td></tr>
+    <tr><td class="paramname">X</td><td>X values </td></tr>
+    <tr><td class="paramname">Y</td><td>Y values. Valid BLS signatures </td></tr>
+    <tr><td class="paramname">SIG</td><td>Signature that is recovered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Zero for success or else an error code </dd></dl>
+
+</div>
+</div>
+<a id="abdda5f944531d63ab88279023f662a8f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abdda5f944531d63ab88279023f662a8f">&#9670;&nbsp;</a></span>BLS_FP512BN_SIGN()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -351,8 +534,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -370,7 +553,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message to be signed </td></tr>
+    <tr><td class="paramname">M</td><td>message to be signed </td></tr>
     <tr><td class="paramname">S</td><td>Private key </td></tr>
   </table>
   </dd>
@@ -379,8 +562,8 @@
 
 </div>
 </div>
-<a id="a87569f97a06acc6099f197ac27ebe282"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a87569f97a06acc6099f197ac27ebe282">&#9670;&nbsp;</a></span>BLS_FP512BN_VERIFY()</h2>
+<a id="a526a83b52379b9a84aa14e95ea710ca0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a526a83b52379b9a84aa14e95ea710ca0">&#9670;&nbsp;</a></span>BLS_FP512BN_VERIFY()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -394,8 +577,8 @@
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>M</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -413,7 +596,7 @@
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">SIG</td><td>signature </td></tr>
-    <tr><td class="paramname">m</td><td>message whose signature is to be verified. </td></tr>
+    <tr><td class="paramname">M</td><td>message whose signature is to be verified. </td></tr>
     <tr><td class="paramname">W</td><td>Public key </td></tr>
   </table>
   </dd>
@@ -427,7 +610,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/bls__FP512BN_8h_source.html b/website/static/cdocs/bls__FP512BN_8h_source.html
index dc494d4..d226cf6 100644
--- a/website/static/cdocs/bls__FP512BN_8h_source.html
+++ b/website/static/cdocs/bls__FP512BN_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: bls_FP512BN.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,20 +72,23 @@
 <div class="title">bls_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="bls__FP512BN_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_FP512BN_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_FP512BN_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP512BN_8h.html">pair_FP512BN.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__FP512BN_8h.html#acf7e8708a27302422198a2e28f370ada">   39</a></span>&#160;<span class="preprocessor">#define BGS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#a040a9f2f4c6e94e0cab914717f420453">   40</a></span>&#160;<span class="preprocessor">#define BFS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL           41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f">BLS_FP512BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#a70a9409a4dda70cd0faa70bd7ed30736">BLS_FP512BN_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#a87569f97a06acc6099f197ac27ebe282">BLS_FP512BN_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<span class="keywordtype">char</span> *m,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b">BLS_FP512BN_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#a00334d128b1624dfa9faf0cdf2af10aa">BLS_FP512BN_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="ttc" id="bls__FP512BN_8h_html_aa9c6b7265f160b9fd26723f97aa7019f"><div class="ttname"><a href="bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f">BLS_FP512BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_FP512BN_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair.</div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:43</div></div>
-<div class="ttc" id="bls__FP512BN_8h_html_a00334d128b1624dfa9faf0cdf2af10aa"><div class="ttname"><a href="bls__FP512BN_8h.html#a00334d128b1624dfa9faf0cdf2af10aa">BLS_FP512BN_ADD_G2</a></div><div class="ttdeci">int BLS_FP512BN_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:124</div></div>
-<div class="ttc" id="bls__FP512BN_8h_html_a87569f97a06acc6099f197ac27ebe282"><div class="ttname"><a href="bls__FP512BN_8h.html#a87569f97a06acc6099f197ac27ebe282">BLS_FP512BN_VERIFY</a></div><div class="ttdeci">int BLS_FP512BN_VERIFY(octet *SIG, char *m, octet *W)</div><div class="ttdoc">Verify a signature.</div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:71</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html"><div class="ttname"><a href="pair__FP512BN_8h.html">pair_FP512BN.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="bls__FP512BN_8h_html_ae1282826513af0a50e0329ce2e4f324b"><div class="ttname"><a href="bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b">BLS_FP512BN_ADD_G1</a></div><div class="ttdeci">int BLS_FP512BN_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:102</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="bls__FP512BN_8h_html_a70a9409a4dda70cd0faa70bd7ed30736"><div class="ttname"><a href="bls__FP512BN_8h.html#a70a9409a4dda70cd0faa70bd7ed30736">BLS_FP512BN_SIGN</a></div><div class="ttdeci">int BLS_FP512BN_SIGN(octet *SIG, char *m, octet *S)</div><div class="ttdoc">Calculate a signature.</div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c: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>
+<a href="bls__FP512BN_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef BLS_FP512BN_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define BLS_FP512BN_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP512BN_8h.html">pair_FP512BN.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">/* Field size is assumed to be greater than or equal to group size */</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="bls__FP512BN_8h.html#acf7e8708a27302422198a2e28f370ada">   39</a></span>&#160;<span class="preprocessor">#define BGS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#a040a9f2f4c6e94e0cab914717f420453">   40</a></span>&#160;<span class="preprocessor">#define BFS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805">   42</a></span>&#160;<span class="preprocessor">#define BLS_OK             0   </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">   43</a></span>&#160;<span class="preprocessor">#define BLS_FAIL       41  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">   44</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G1     42  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="bls__FP512BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">   45</a></span>&#160;<span class="preprocessor">#define BLS_INVALID_G2     43  </span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="comment">/* BLS API functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f">BLS_FP512BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG,<a class="code" href="structoctet.html">octet</a>* S,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#abdda5f944531d63ab88279023f662a8f">BLS_FP512BN_SIGN</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#a526a83b52379b9a84aa14e95ea710ca0">BLS_FP512BN_VERIFY</a>(<a class="code" href="structoctet.html">octet</a> *SIG,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b">BLS_FP512BN_ADD_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#a00334d128b1624dfa9faf0cdf2af10aa">BLS_FP512BN_ADD_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#a34530e73aa5cd3d73fb754e772ec4b83">BLS_FP512BN_MAKE_SHARES</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> n, <a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SKI, <a class="code" href="structoctet.html">octet</a>* SKO);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#af663f54403701b715327c89ce544deb5">BLS_FP512BN_RECOVER_SECRET</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SK);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keywordtype">int</span> <a class="code" href="bls__FP512BN_8h.html#a34a54a52bcc58ff877a99c6ffbaa7eb4">BLS_FP512BN_RECOVER_SIGNATURE</a>(<span class="keywordtype">int</span> k, <a class="code" href="structoctet.html">octet</a>* X, <a class="code" href="structoctet.html">octet</a>* Y, <a class="code" href="structoctet.html">octet</a>* SIG);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="ttc" id="bls__FP512BN_8h_html_aa9c6b7265f160b9fd26723f97aa7019f"><div class="ttname"><a href="bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f">BLS_FP512BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int BLS_FP512BN_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W)</div><div class="ttdoc">Generate Key Pair. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:115</div></div>
+<div class="ttc" id="bls__FP512BN_8h_html_a526a83b52379b9a84aa14e95ea710ca0"><div class="ttname"><a href="bls__FP512BN_8h.html#a526a83b52379b9a84aa14e95ea710ca0">BLS_FP512BN_VERIFY</a></div><div class="ttdeci">int BLS_FP512BN_VERIFY(octet *SIG, octet *M, octet *W)</div><div class="ttdoc">Verify a signature. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:155</div></div>
+<div class="ttc" id="bls__FP512BN_8h_html_a00334d128b1624dfa9faf0cdf2af10aa"><div class="ttname"><a href="bls__FP512BN_8h.html#a00334d128b1624dfa9faf0cdf2af10aa">BLS_FP512BN_ADD_G2</a></div><div class="ttdeci">int BLS_FP512BN_ADD_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:208</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html"><div class="ttname"><a href="pair__FP512BN_8h.html">pair_FP512BN.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="bls__FP512BN_8h_html_af663f54403701b715327c89ce544deb5"><div class="ttname"><a href="bls__FP512BN_8h.html#af663f54403701b715327c89ce544deb5">BLS_FP512BN_RECOVER_SECRET</a></div><div class="ttdeci">int BLS_FP512BN_RECOVER_SECRET(int k, octet *X, octet *Y, octet *SK)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS secret key. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:290</div></div>
+<div class="ttc" id="bls__FP512BN_8h_html_ae1282826513af0a50e0329ce2e4f324b"><div class="ttname"><a href="bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b">BLS_FP512BN_ADD_G1</a></div><div class="ttdeci">int BLS_FP512BN_ADD_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:186</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="bls__FP512BN_8h_html_abdda5f944531d63ab88279023f662a8f"><div class="ttname"><a href="bls__FP512BN_8h.html#abdda5f944531d63ab88279023f662a8f">BLS_FP512BN_SIGN</a></div><div class="ttdeci">int BLS_FP512BN_SIGN(octet *SIG, octet *M, octet *S)</div><div class="ttdoc">Calculate a signature. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:141</div></div>
+<div class="ttc" id="bls__FP512BN_8h_html_a34530e73aa5cd3d73fb754e772ec4b83"><div class="ttname"><a href="bls__FP512BN_8h.html#a34530e73aa5cd3d73fb754e772ec4b83">BLS_FP512BN_MAKE_SHARES</a></div><div class="ttdeci">int BLS_FP512BN_MAKE_SHARES(int k, int n, csprng *RNG, octet *X, octet *Y, octet *SKI, octet *SKO)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to distribute BLS secret keys. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:229</div></div>
+<div class="ttc" id="bls__FP512BN_8h_html_a34a54a52bcc58ff877a99c6ffbaa7eb4"><div class="ttname"><a href="bls__FP512BN_8h.html#a34a54a52bcc58ff877a99c6ffbaa7eb4">BLS_FP512BN_RECOVER_SIGNATURE</a></div><div class="ttdeci">int BLS_FP512BN_RECOVER_SIGNATURE(int k, octet *X, octet *Y, octet *SIG)</div><div class="ttdoc">Use Shamir&amp;#39;s secret sharing to recover a BLS signature. </div><div class="ttdef"><b>Definition:</b> bls_FP512BN.c:326</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><!-- 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/classes.html b/website/static/cdocs/classes.html
index 405ce4e..097ba39 100644
--- a/website/static/cdocs/classes.html
+++ b/website/static/cdocs/classes.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 Structure Index</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 -->
@@ -70,38 +73,38 @@
 <tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
 </td><td valign="top"><a class="el" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__FP256BN.html">FP12_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__25519.html">FP_25519</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;h&#160;&#160;</div></td></tr></table>
 </td></tr>
-<tr><td></td><td valign="top"><a class="el" href="structECP__C25519.html">ECP_C25519</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__FP512BN.html">FP12_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__256PME.html">FP_256PME</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="structECP__C25519.html">ECP_C25519</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__FP512BN.html">FP12_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__256PME.html">FP_256PME</a>&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="structamcl__aes.html">amcl_aes</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__C41417.html">ECP_C41417</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP16__BLS48.html">FP16_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__256PMW.html">FP_256PMW</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structhash256.html">hash256</a>&#160;&#160;&#160;</td></tr>
 <tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
 </td><td valign="top"><a class="el" href="structECP__ED25519.html">ECP_ED25519</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP24__BLS24.html">FP24_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__384PM.html">FP_384PM</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structhash512.html">hash512</a>&#160;&#160;&#160;</td></tr>
-<tr><td></td><td valign="top"><a class="el" href="structECP__FP256BN.html">ECP_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS24.html">FP2_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__512PM.html">FP_512PM</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;o&#160;&#160;</div></td></tr></table>
+<tr><td valign="top"><a class="el" href="structECP__FP256BN.html">ECP_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS24.html">FP2_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__512PM.html">FP_512PM</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_o"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;o&#160;&#160;</div></td></tr></table>
 </td></tr>
-<tr><td valign="top"><a class="el" href="structcsprng.html">csprng</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__FP512BN.html">ECP_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS381.html">FP2_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__ANSSI.html">FP_ANSSI</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="structcsprng.html">csprng</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__FP512BN.html">ECP_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS381.html">FP2_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__ANSSI.html">FP_ANSSI</a>&#160;&#160;&#160;</td></tr>
 <tr><td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;e&#160;&#160;</div></td></tr></table>
 </td><td valign="top"><a class="el" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS383.html">FP2_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS24.html">FP_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structoctet.html">octet</a>&#160;&#160;&#160;</td></tr>
-<tr><td></td><td valign="top"><a class="el" href="structECP__HIFIVE.html">ECP_HIFIVE</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS461.html">FP2_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS381.html">FP_BLS381</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
+<tr><td valign="top"><a class="el" href="structECP__HIFIVE.html">ECP_HIFIVE</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS461.html">FP2_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS381.html">FP_BLS381</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
 </td></tr>
-<tr><td valign="top"><a class="el" href="structECP2__BLS381.html">ECP2_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NIST256.html">ECP_NIST256</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS48.html">FP2_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS383.html">FP_BLS383</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structECP2__BLS383.html">ECP2_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NIST384.html">ECP_NIST384</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BN254.html">FP2_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS461.html">FP_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structpktype.html">pktype</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structECP2__BLS461.html">ECP2_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NIST521.html">ECP_NIST521</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BN254CX.html">FP2_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS48.html">FP_BLS48</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
+<tr><td valign="top"><a class="el" href="structECP2__BLS381.html">ECP2_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NIST256.html">ECP_NIST256</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BLS48.html">FP2_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS383.html">FP_BLS383</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP2__BLS383.html">ECP2_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NIST384.html">ECP_NIST384</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BN254.html">FP2_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS461.html">FP_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP2__BLS461.html">ECP2_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NIST521.html">ECP_NIST521</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__BN254CX.html">FP2_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BLS48.html">FP_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP2__BN254.html">ECP2_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS256E.html">ECP_NUMS256E</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__FP256BN.html">FP2_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BN254.html">FP_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structpktype.html">pktype</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP2__BN254CX.html">ECP2_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS256W.html">ECP_NUMS256W</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__FP512BN.html">FP2_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BN254CX.html">FP_BN254CX</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
 </td></tr>
-<tr><td valign="top"><a class="el" href="structECP2__BN254.html">ECP2_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS256E.html">ECP_NUMS256E</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__FP256BN.html">FP2_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BN254.html">FP_BN254</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structECP2__BN254CX.html">ECP2_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS256W.html">ECP_NUMS256W</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP2__FP512BN.html">FP2_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BN254CX.html">FP_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structECP2__FP256BN.html">ECP2_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS384E.html">ECP_NUMS384E</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP48__BLS48.html">FP48_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structECP2__FP512BN.html">ECP2_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS384W.html">ECP_NUMS384W</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS24.html">FP4_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__C41417.html">FP_C41417</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__private__key__4096.html">rsa_private_key_4096</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structECP4__BLS24.html">ECP4_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS512E.html">ECP_NUMS512E</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS381.html">FP4_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__FP256BN.html">FP_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structECP8__BLS48.html">ECP8_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS512W.html">ECP_NUMS512W</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS383.html">FP4_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__FP512BN.html">FP_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structECP__ANSSI.html">ECP_ANSSI</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS461.html">FP4_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__public__key__4096.html">rsa_public_key_4096</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP2__FP256BN.html">ECP2_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS384E.html">ECP_NUMS384E</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP48__BLS48.html">FP48_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP2__FP512BN.html">ECP2_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS384W.html">ECP_NUMS384W</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS24.html">FP4_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__C41417.html">FP_C41417</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP4__BLS24.html">ECP4_BLS24</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS512E.html">ECP_NUMS512E</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS381.html">FP4_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__FP256BN.html">FP_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP8__BLS48.html">ECP8_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__NUMS512W.html">ECP_NUMS512W</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS383.html">FP4_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__FP512BN.html">FP_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__private__key__4096.html">rsa_private_key_4096</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP__ANSSI.html">ECP_ANSSI</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BLS461.html">FP4_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="structECP__BLS24.html">ECP_BLS24</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="structFP4__BLS48.html">FP4_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__HIFIVE.html">FP_HIFIVE</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="structFP4__BLS48.html">FP4_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__HIFIVE.html">FP_HIFIVE</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP__BLS381.html">ECP_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BN254.html">FP4_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__NIST256.html">FP_NIST256</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structrsa__public__key__4096.html">rsa_public_key_4096</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP__BLS383.html">ECP_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BLS381.html">FP12_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BN254CX.html">FP4_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__NIST384.html">FP_NIST384</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
 </td></tr>
-<tr><td valign="top"><a class="el" href="structECP__BLS381.html">ECP_BLS381</a>&#160;&#160;&#160;</td><td></td><td valign="top"><a class="el" href="structFP4__BN254.html">FP4_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__NIST256.html">FP_NIST256</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structECP__BLS383.html">ECP_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BLS381.html">FP12_BLS381</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__BN254CX.html">FP4_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__NIST384.html">FP_NIST384</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structsha3.html">sha3</a>&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="structECP__BLS461.html">ECP_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BLS383.html">FP12_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__FP256BN.html">FP4_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__NIST521.html">FP_NIST521</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structECP__BLS48.html">ECP_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BLS461.html">FP12_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__FP512BN.html">FP4_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__SECP256K1.html">FP_SECP256K1</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="structECP__BLS461.html">ECP_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BLS383.html">FP12_BLS383</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__FP256BN.html">FP4_FP256BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__NIST521.html">FP_NIST521</a>&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="structECP__BLS48.html">ECP_BLS48</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BLS461.html">FP12_BLS461</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP4__FP512BN.html">FP4_FP512BN</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP__SECP256K1.html">FP_SECP256K1</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structsha3.html">sha3</a>&#160;&#160;&#160;</td></tr>
 <tr><td valign="top"><a class="el" href="structECP__BN254.html">ECP_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BN254.html">FP12_BN254</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP8__BLS24.html">FP8_BLS24</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
 </td><td></td></tr>
-<tr><td valign="top"><a class="el" href="structECP__BN254CX.html">ECP_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BN254CX.html">FP12_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP8__BLS48.html">FP8_BLS48</a>&#160;&#160;&#160;</td><td></td><td></td></tr>
+<tr><td valign="top"><a class="el" href="structECP__BN254CX.html">ECP_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP12__BN254CX.html">FP12_BN254CX</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structFP8__BLS48.html">FP8_BLS48</a>&#160;&#160;&#160;</td><td></td></tr>
 <tr><td></td><td></td><td></td><td valign="top"><a class="el" href="structgcm.html">gcm</a>&#160;&#160;&#160;</td><td></td></tr>
 <tr><td></td><td></td><td></td><td></td><td></td></tr>
 </table>
@@ -111,7 +114,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/config__big__1024__28_8h.html b/website/static/cdocs/config__big__1024__28_8h.html
deleted file mode 100644
index 1e2ba1b..0000000
--- a/website/static/cdocs/config__big__1024__28_8h.html
+++ /dev/null
@@ -1,129 +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: config_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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_1024_28.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__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:a9a4d6b54c5d5a63aad6877c762a6f30f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">MODBYTES_1024_28</a>&#160;&#160;&#160;128</td></tr>
-<tr class="separator:a9a4d6b54c5d5a63aad6877c762a6f30f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5eaa43c96333aeb94a5ce4ab00c5b823"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">BASEBITS_1024_28</a>&#160;&#160;&#160;28</td></tr>
-<tr class="separator:a5eaa43c96333aeb94a5ce4ab00c5b823"><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="a5eaa43c96333aeb94a5ce4ab00c5b823"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5eaa43c96333aeb94a5ce4ab00c5b823">&#9670;&nbsp;</a></span>BASEBITS_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_1024_28&#160;&#160;&#160;28</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a9a4d6b54c5d5a63aad6877c762a6f30f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9a4d6b54c5d5a63aad6877c762a6f30f">&#9670;&nbsp;</a></span>MODBYTES_1024_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_1024_28&#160;&#160;&#160;128</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__1024__28_8h_source.html b/website/static/cdocs/config__big__1024__28_8h_source.html
deleted file mode 100644
index c411629..0000000
--- a/website/static/cdocs/config__big__1024__28_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_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">config_big_1024_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__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 CONFIG_BIG_1024_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_1024_28 128    </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_1024_28 28     </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__1024__58_8h.html b/website/static/cdocs/config__big__1024__58_8h.html
index dee055c..5ff0fcb 100644
--- a/website/static/cdocs/config__big__1024__58_8h.html
+++ b/website/static/cdocs/config__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: config_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"
@@ -123,7 +126,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/config__big__1024__58_8h_source.html b/website/static/cdocs/config__big__1024__58_8h_source.html
index ef02adc..1987b59 100644
--- a/website/static/cdocs/config__big__1024__58_8h_source.html
+++ b/website/static/cdocs/config__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: config_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,12 +72,12 @@
 <div class="title">config_big_1024_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__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 CONFIG_BIG_1024_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_1024_58 128    </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_1024_58 58     </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__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 CONFIG_BIG_1024_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_1024_58 128    </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_1024_58 58     </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__256__28_8h.html b/website/static/cdocs/config__big__256__28_8h.html
deleted file mode 100644
index 6f97a33..0000000
--- a/website/static/cdocs/config__big__256__28_8h.html
+++ /dev/null
@@ -1,129 +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: config_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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_256_28.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__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:ae89bb6db7acd3aae9eceb056a392abae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">MODBYTES_256_28</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:ae89bb6db7acd3aae9eceb056a392abae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af025ee034981f7bc32396d376a876188"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">BASEBITS_256_28</a>&#160;&#160;&#160;28</td></tr>
-<tr class="separator:af025ee034981f7bc32396d376a876188"><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="af025ee034981f7bc32396d376a876188"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af025ee034981f7bc32396d376a876188">&#9670;&nbsp;</a></span>BASEBITS_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_256_28&#160;&#160;&#160;28</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="ae89bb6db7acd3aae9eceb056a392abae"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae89bb6db7acd3aae9eceb056a392abae">&#9670;&nbsp;</a></span>MODBYTES_256_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_256_28&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__256__28_8h_source.html b/website/static/cdocs/config__big__256__28_8h_source.html
deleted file mode 100644
index e30cac5..0000000
--- a/website/static/cdocs/config__big__256__28_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_256_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">config_big_256_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__256__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 CONFIG_BIG_256_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_256_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_256_28 32      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_256_28 28      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__256__29_8h.html b/website/static/cdocs/config__big__256__29_8h.html
deleted file mode 100644
index 36ce80f..0000000
--- a/website/static/cdocs/config__big__256__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_256_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_256_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__256__29_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:a14ee1942422fee131f26bfba5d370b6d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">MODBYTES_256_29</a>&#160;&#160;&#160;32</td></tr>
-<tr class="separator:a14ee1942422fee131f26bfba5d370b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeb240eff1a42e7315190d4881c34f333"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">BASEBITS_256_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:aeb240eff1a42e7315190d4881c34f333"><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="aeb240eff1a42e7315190d4881c34f333"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeb240eff1a42e7315190d4881c34f333">&#9670;&nbsp;</a></span>BASEBITS_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_256_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a14ee1942422fee131f26bfba5d370b6d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a14ee1942422fee131f26bfba5d370b6d">&#9670;&nbsp;</a></span>MODBYTES_256_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_256_29&#160;&#160;&#160;32</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__256__29_8h_source.html b/website/static/cdocs/config__big__256__29_8h_source.html
deleted file mode 100644
index be043a3..0000000
--- a/website/static/cdocs/config__big__256__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_256_29.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">config_big_256_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__256__29_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 CONFIG_BIG_256_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_256_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_256_29 32      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_256_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__256__56_8h.html b/website/static/cdocs/config__big__256__56_8h.html
index b905274..532d7e4 100644
--- a/website/static/cdocs/config__big__256__56_8h.html
+++ b/website/static/cdocs/config__big__256__56_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: config_big_256_56.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"
@@ -123,7 +126,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/config__big__256__56_8h_source.html b/website/static/cdocs/config__big__256__56_8h_source.html
index 0627bf7..5d602d0 100644
--- a/website/static/cdocs/config__big__256__56_8h_source.html
+++ b/website/static/cdocs/config__big__256__56_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: config_big_256_56.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">config_big_256_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__256__56_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 CONFIG_BIG_256_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_256_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_256_56 32      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_256_56 56      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__256__56_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 CONFIG_BIG_256_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_256_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_256_56 32      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_256_56 56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__336__29_8h.html b/website/static/cdocs/config__big__336__29_8h.html
deleted file mode 100644
index a5c6d51..0000000
--- a/website/static/cdocs/config__big__336__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_336_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_336_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__336__29_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:aac4423f59f6a8af94f670342585028e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">MODBYTES_336_29</a>&#160;&#160;&#160;42</td></tr>
-<tr class="separator:aac4423f59f6a8af94f670342585028e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a636ff6768b4963d56be607c9a94ee28e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">BASEBITS_336_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:a636ff6768b4963d56be607c9a94ee28e"><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="a636ff6768b4963d56be607c9a94ee28e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a636ff6768b4963d56be607c9a94ee28e">&#9670;&nbsp;</a></span>BASEBITS_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_336_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="aac4423f59f6a8af94f670342585028e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aac4423f59f6a8af94f670342585028e8">&#9670;&nbsp;</a></span>MODBYTES_336_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_336_29&#160;&#160;&#160;42</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__336__29_8h_source.html b/website/static/cdocs/config__big__336__29_8h_source.html
deleted file mode 100644
index 039b6a1..0000000
--- a/website/static/cdocs/config__big__336__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_336_29.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">config_big_336_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__336__29_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 CONFIG_BIG_336_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_336_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_336_29 42      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_336_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__336__60_8h.html b/website/static/cdocs/config__big__336__60_8h.html
index 53e933b..be07358 100644
--- a/website/static/cdocs/config__big__336__60_8h.html
+++ b/website/static/cdocs/config__big__336__60_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: config_big_336_60.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"
@@ -123,7 +126,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/config__big__336__60_8h_source.html b/website/static/cdocs/config__big__336__60_8h_source.html
index b8aa3d8..30f0f09 100644
--- a/website/static/cdocs/config__big__336__60_8h_source.html
+++ b/website/static/cdocs/config__big__336__60_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: config_big_336_60.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">config_big_336_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__336__60_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 CONFIG_BIG_336_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_336_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__336__60_8h.html#a95eaf6b85922074e48a30404bc717047">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_336_60 42      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_336_60 60      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__336__60_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 CONFIG_BIG_336_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_336_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__336__60_8h.html#a95eaf6b85922074e48a30404bc717047">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_336_60 42      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_336_60 60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__384__28_8h.html b/website/static/cdocs/config__big__384__28_8h.html
deleted file mode 100644
index ba593a1..0000000
--- a/website/static/cdocs/config__big__384__28_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_384_28.h File Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">AMCL
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.15 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="dir_df7310d1a865926cc859bcfb1880083f.html">include</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Macros</a>  </div>
-  <div class="headertitle">
-<div class="title">config_big_384_28.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__384__28_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
-Macros</h2></td></tr>
-<tr class="memitem:ac42deaa112782c0164c1da093fd09189"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">MODBYTES_384_28</a>&#160;&#160;&#160;48</td></tr>
-<tr class="separator:ac42deaa112782c0164c1da093fd09189"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63908e1d54e13f099cce3ef2abf90f96"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">BASEBITS_384_28</a>&#160;&#160;&#160;28</td></tr>
-<tr class="separator:a63908e1d54e13f099cce3ef2abf90f96"><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="a63908e1d54e13f099cce3ef2abf90f96"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a63908e1d54e13f099cce3ef2abf90f96">&#9670;&nbsp;</a></span>BASEBITS_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_384_28&#160;&#160;&#160;28</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="ac42deaa112782c0164c1da093fd09189"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ac42deaa112782c0164c1da093fd09189">&#9670;&nbsp;</a></span>MODBYTES_384_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_384_28&#160;&#160;&#160;48</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__384__28_8h_source.html b/website/static/cdocs/config__big__384__28_8h_source.html
deleted file mode 100644
index 850fc9a..0000000
--- a/website/static/cdocs/config__big__384__28_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_384_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">config_big_384_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__384__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 CONFIG_BIG_384_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_384_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_384_28 48      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_384_28 28      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__384__29_8h.html b/website/static/cdocs/config__big__384__29_8h.html
deleted file mode 100644
index 93e7aa0..0000000
--- a/website/static/cdocs/config__big__384__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_384_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_384_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__384__29_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:a20764d3b8a6ee4cf548fdacc36e22a79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">MODBYTES_384_29</a>&#160;&#160;&#160;48</td></tr>
-<tr class="separator:a20764d3b8a6ee4cf548fdacc36e22a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afbf8af6e59b69e4f78c0d20c2acea5cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">BASEBITS_384_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:afbf8af6e59b69e4f78c0d20c2acea5cd"><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="afbf8af6e59b69e4f78c0d20c2acea5cd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afbf8af6e59b69e4f78c0d20c2acea5cd">&#9670;&nbsp;</a></span>BASEBITS_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_384_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a20764d3b8a6ee4cf548fdacc36e22a79"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a20764d3b8a6ee4cf548fdacc36e22a79">&#9670;&nbsp;</a></span>MODBYTES_384_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_384_29&#160;&#160;&#160;48</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__384__29_8h_source.html b/website/static/cdocs/config__big__384__29_8h_source.html
deleted file mode 100644
index dfdc1fe..0000000
--- a/website/static/cdocs/config__big__384__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_384_29.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">config_big_384_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__384__29_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 CONFIG_BIG_384_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_384_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_384_29 48      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_384_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__384__56_8h.html b/website/static/cdocs/config__big__384__56_8h.html
index 7f774a6..24f3da4 100644
--- a/website/static/cdocs/config__big__384__56_8h.html
+++ b/website/static/cdocs/config__big__384__56_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: config_big_384_56.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"
@@ -123,7 +126,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/config__big__384__56_8h_source.html b/website/static/cdocs/config__big__384__56_8h_source.html
index 824839b..6768271 100644
--- a/website/static/cdocs/config__big__384__56_8h_source.html
+++ b/website/static/cdocs/config__big__384__56_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: config_big_384_56.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">config_big_384_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__384__56_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 CONFIG_BIG_384_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_384_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_384_56 48      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_384_56 56      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__384__56_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 CONFIG_BIG_384_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_384_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_384_56 48      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_384_56 56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__384__58_8h.html b/website/static/cdocs/config__big__384__58_8h.html
index 051822f..8e67584 100644
--- a/website/static/cdocs/config__big__384__58_8h.html
+++ b/website/static/cdocs/config__big__384__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: config_big_384_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"
@@ -123,7 +126,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/config__big__384__58_8h_source.html b/website/static/cdocs/config__big__384__58_8h_source.html
index cf82267..52f045c 100644
--- a/website/static/cdocs/config__big__384__58_8h_source.html
+++ b/website/static/cdocs/config__big__384__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: config_big_384_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,12 +72,12 @@
 <div class="title">config_big_384_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__384__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 CONFIG_BIG_384_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_384_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__384__58_8h.html#a231158cd33825cff286c2406336e0224">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_384_58 48      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_384_58 58      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__384__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 CONFIG_BIG_384_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_384_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__384__58_8h.html#a231158cd33825cff286c2406336e0224">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_384_58 48      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_384_58 58  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__416__29_8h.html b/website/static/cdocs/config__big__416__29_8h.html
deleted file mode 100644
index cdad965..0000000
--- a/website/static/cdocs/config__big__416__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_416_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_416_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__416__29_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:a52fad19a3496e033e412f5624cc67027"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">MODBYTES_416_29</a>&#160;&#160;&#160;52</td></tr>
-<tr class="separator:a52fad19a3496e033e412f5624cc67027"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a58db5de87c7efe4e798a182026e4e75e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">BASEBITS_416_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:a58db5de87c7efe4e798a182026e4e75e"><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="a58db5de87c7efe4e798a182026e4e75e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a58db5de87c7efe4e798a182026e4e75e">&#9670;&nbsp;</a></span>BASEBITS_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_416_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a52fad19a3496e033e412f5624cc67027"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52fad19a3496e033e412f5624cc67027">&#9670;&nbsp;</a></span>MODBYTES_416_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_416_29&#160;&#160;&#160;52</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__416__29_8h_source.html b/website/static/cdocs/config__big__416__29_8h_source.html
deleted file mode 100644
index f9c08af..0000000
--- a/website/static/cdocs/config__big__416__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_416_29.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">config_big_416_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__416__29_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 CONFIG_BIG_416_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_416_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_416_29 52      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_416_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__416__60_8h.html b/website/static/cdocs/config__big__416__60_8h.html
index eed9c49..f446575 100644
--- a/website/static/cdocs/config__big__416__60_8h.html
+++ b/website/static/cdocs/config__big__416__60_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: config_big_416_60.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"
@@ -123,7 +126,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/config__big__416__60_8h_source.html b/website/static/cdocs/config__big__416__60_8h_source.html
index 743b03d..17e9ac6 100644
--- a/website/static/cdocs/config__big__416__60_8h_source.html
+++ b/website/static/cdocs/config__big__416__60_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: config_big_416_60.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">config_big_416_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__416__60_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 CONFIG_BIG_416_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_416_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__416__60_8h.html#aeb3a2204ca57d153e2c4ee83ba1b340a">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_416_60 52      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_416_60 60      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__416__60_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 CONFIG_BIG_416_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_416_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__416__60_8h.html#aeb3a2204ca57d153e2c4ee83ba1b340a">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_416_60 52      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_416_60 60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__448__29_8h.html b/website/static/cdocs/config__big__448__29_8h.html
deleted file mode 100644
index 5ab78a2..0000000
--- a/website/static/cdocs/config__big__448__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_448_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_448_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__448__29_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:a92df989c80a591692a28182e8315a04d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">MODBYTES_448_29</a>&#160;&#160;&#160;56</td></tr>
-<tr class="separator:a92df989c80a591692a28182e8315a04d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9c5ab06ad079cf372ad4dcac624e62c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">BASEBITS_448_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:a9c5ab06ad079cf372ad4dcac624e62c6"><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="a9c5ab06ad079cf372ad4dcac624e62c6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a9c5ab06ad079cf372ad4dcac624e62c6">&#9670;&nbsp;</a></span>BASEBITS_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_448_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a92df989c80a591692a28182e8315a04d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a92df989c80a591692a28182e8315a04d">&#9670;&nbsp;</a></span>MODBYTES_448_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_448_29&#160;&#160;&#160;56</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__448__29_8h_source.html b/website/static/cdocs/config__big__448__29_8h_source.html
deleted file mode 100644
index d891367..0000000
--- a/website/static/cdocs/config__big__448__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_448_29.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">config_big_448_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__448__29_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 CONFIG_BIG_448_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_448_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_448_29 56      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_448_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__448__58_8h.html b/website/static/cdocs/config__big__448__58_8h.html
index 55d9d27..2b926b4 100644
--- a/website/static/cdocs/config__big__448__58_8h.html
+++ b/website/static/cdocs/config__big__448__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: config_big_448_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"
@@ -123,7 +126,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/config__big__448__58_8h_source.html b/website/static/cdocs/config__big__448__58_8h_source.html
index 6c1617f..2996016 100644
--- a/website/static/cdocs/config__big__448__58_8h_source.html
+++ b/website/static/cdocs/config__big__448__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: config_big_448_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,12 +72,12 @@
 <div class="title">config_big_448_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__448__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 CONFIG_BIG_448_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_448_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__448__58_8h.html#a60dcc058a132176c334a2d3647c8dfa8">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_448_58 56      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_448_58 58      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__448__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 CONFIG_BIG_448_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_448_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__448__58_8h.html#a60dcc058a132176c334a2d3647c8dfa8">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_448_58 56      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_448_58 58  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__464__28_8h.html b/website/static/cdocs/config__big__464__28_8h.html
deleted file mode 100644
index f7bdad9..0000000
--- a/website/static/cdocs/config__big__464__28_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_464_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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_464_28.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__464__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:a52e4ee3e1922cd4654632e822600e09b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">MODBYTES_464_28</a>&#160;&#160;&#160;58</td></tr>
-<tr class="separator:a52e4ee3e1922cd4654632e822600e09b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7000ff6e186cca0131a7738ab324690"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">BASEBITS_464_28</a>&#160;&#160;&#160;28</td></tr>
-<tr class="separator:ab7000ff6e186cca0131a7738ab324690"><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="ab7000ff6e186cca0131a7738ab324690"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab7000ff6e186cca0131a7738ab324690">&#9670;&nbsp;</a></span>BASEBITS_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_464_28&#160;&#160;&#160;28</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a52e4ee3e1922cd4654632e822600e09b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a52e4ee3e1922cd4654632e822600e09b">&#9670;&nbsp;</a></span>MODBYTES_464_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_464_28&#160;&#160;&#160;58</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__464__28_8h_source.html b/website/static/cdocs/config__big__464__28_8h_source.html
deleted file mode 100644
index 168fee0..0000000
--- a/website/static/cdocs/config__big__464__28_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_464_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">config_big_464_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__464__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 CONFIG_BIG_464_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_464_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_464_28 58      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_464_28 28      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__464__60_8h.html b/website/static/cdocs/config__big__464__60_8h.html
index e7d217b..2c6ba62 100644
--- a/website/static/cdocs/config__big__464__60_8h.html
+++ b/website/static/cdocs/config__big__464__60_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: config_big_464_60.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"
@@ -123,7 +126,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/config__big__464__60_8h_source.html b/website/static/cdocs/config__big__464__60_8h_source.html
index d522b07..f40be34 100644
--- a/website/static/cdocs/config__big__464__60_8h_source.html
+++ b/website/static/cdocs/config__big__464__60_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: config_big_464_60.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">config_big_464_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__464__60_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 CONFIG_BIG_464_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_464_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__464__60_8h.html#a442cabbdb66ae413e2c26865230cf955">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_464_60 58      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_464_60 60      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__464__60_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 CONFIG_BIG_464_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_464_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__464__60_8h.html#a442cabbdb66ae413e2c26865230cf955">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_464_60 58      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_464_60 60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__480__29_8h.html b/website/static/cdocs/config__big__480__29_8h.html
deleted file mode 100644
index 045f82e..0000000
--- a/website/static/cdocs/config__big__480__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_480_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_480_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__480__29_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:aac3c0271edd4ea39d9f0e78e42628362"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">MODBYTES_480_29</a>&#160;&#160;&#160;60</td></tr>
-<tr class="separator:aac3c0271edd4ea39d9f0e78e42628362"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a56d28ab3516e47b24aab20edfd29ec14"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">BASEBITS_480_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:a56d28ab3516e47b24aab20edfd29ec14"><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="a56d28ab3516e47b24aab20edfd29ec14"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a56d28ab3516e47b24aab20edfd29ec14">&#9670;&nbsp;</a></span>BASEBITS_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_480_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="aac3c0271edd4ea39d9f0e78e42628362"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aac3c0271edd4ea39d9f0e78e42628362">&#9670;&nbsp;</a></span>MODBYTES_480_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_480_29&#160;&#160;&#160;60</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__480__29_8h_source.html b/website/static/cdocs/config__big__480__29_8h_source.html
deleted file mode 100644
index 6a7deb0..0000000
--- a/website/static/cdocs/config__big__480__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_480_29.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">config_big_480_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__480__29_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 CONFIG_BIG_480_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_480_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_480_29 60      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_480_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__480__56_8h.html b/website/static/cdocs/config__big__480__56_8h.html
index fd0810a..454c111 100644
--- a/website/static/cdocs/config__big__480__56_8h.html
+++ b/website/static/cdocs/config__big__480__56_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: config_big_480_56.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"
@@ -123,7 +126,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/config__big__480__56_8h_source.html b/website/static/cdocs/config__big__480__56_8h_source.html
index 0670479..a775fb6 100644
--- a/website/static/cdocs/config__big__480__56_8h_source.html
+++ b/website/static/cdocs/config__big__480__56_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: config_big_480_56.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">config_big_480_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__480__56_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 CONFIG_BIG_480_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_480_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__480__56_8h.html#a191ec4881a360e5cfd3a943c8861961d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_480_56 60      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_480_56 56      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__480__56_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 CONFIG_BIG_480_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_480_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__480__56_8h.html#a191ec4881a360e5cfd3a943c8861961d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_480_56 60      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_480_56 56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__512__29_8h.html b/website/static/cdocs/config__big__512__29_8h.html
deleted file mode 100644
index fa4b24e..0000000
--- a/website/static/cdocs/config__big__512__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_512_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_512_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__512__29_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:af1e6c5a48330c6f9e834cefedf29b12e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">MODBYTES_512_29</a>&#160;&#160;&#160;64</td></tr>
-<tr class="separator:af1e6c5a48330c6f9e834cefedf29b12e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3361e0f344f8843277d872325b4877d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">BASEBITS_512_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:af3361e0f344f8843277d872325b4877d"><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="af3361e0f344f8843277d872325b4877d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af3361e0f344f8843277d872325b4877d">&#9670;&nbsp;</a></span>BASEBITS_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_512_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="af1e6c5a48330c6f9e834cefedf29b12e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af1e6c5a48330c6f9e834cefedf29b12e">&#9670;&nbsp;</a></span>MODBYTES_512_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_512_29&#160;&#160;&#160;64</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__512__29_8h_source.html b/website/static/cdocs/config__big__512__29_8h_source.html
deleted file mode 100644
index 18f1366..0000000
--- a/website/static/cdocs/config__big__512__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_512_29.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">config_big_512_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__512__29_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 CONFIG_BIG_512_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_512_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_512_29 64      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_512_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__512__56_8h.html b/website/static/cdocs/config__big__512__56_8h.html
index a04be7e..b40b511 100644
--- a/website/static/cdocs/config__big__512__56_8h.html
+++ b/website/static/cdocs/config__big__512__56_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: config_big_512_56.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"
@@ -123,7 +126,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/config__big__512__56_8h_source.html b/website/static/cdocs/config__big__512__56_8h_source.html
index 0417970..9fcafc4 100644
--- a/website/static/cdocs/config__big__512__56_8h_source.html
+++ b/website/static/cdocs/config__big__512__56_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: config_big_512_56.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">config_big_512_56.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__512__56_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 CONFIG_BIG_512_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_512_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_512_56 64      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_512_56 56      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__512__56_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 CONFIG_BIG_512_56_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_512_56_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_512_56 64      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_512_56 56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__512__60_8h.html b/website/static/cdocs/config__big__512__60_8h.html
index a339a3a..ad104f1 100644
--- a/website/static/cdocs/config__big__512__60_8h.html
+++ b/website/static/cdocs/config__big__512__60_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: config_big_512_60.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"
@@ -123,7 +126,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/config__big__512__60_8h_source.html b/website/static/cdocs/config__big__512__60_8h_source.html
index 9ccef19..f43dd06 100644
--- a/website/static/cdocs/config__big__512__60_8h_source.html
+++ b/website/static/cdocs/config__big__512__60_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: config_big_512_60.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">config_big_512_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__512__60_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 CONFIG_BIG_512_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_512_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_512_60 64      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_512_60 60      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__512__60_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 CONFIG_BIG_512_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_512_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_512_60 64      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_512_60 60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__528__28_8h.html b/website/static/cdocs/config__big__528__28_8h.html
deleted file mode 100644
index 1050306..0000000
--- a/website/static/cdocs/config__big__528__28_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_528_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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_528_28.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__528__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:a20815b5e833d3addbc05164516eac4a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">MODBYTES_528_28</a>&#160;&#160;&#160;66</td></tr>
-<tr class="separator:a20815b5e833d3addbc05164516eac4a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4139365348d7b4d26152790aad5d367b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">BASEBITS_528_28</a>&#160;&#160;&#160;28</td></tr>
-<tr class="separator:a4139365348d7b4d26152790aad5d367b"><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="a4139365348d7b4d26152790aad5d367b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4139365348d7b4d26152790aad5d367b">&#9670;&nbsp;</a></span>BASEBITS_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_528_28&#160;&#160;&#160;28</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a20815b5e833d3addbc05164516eac4a6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a20815b5e833d3addbc05164516eac4a6">&#9670;&nbsp;</a></span>MODBYTES_528_28</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_528_28&#160;&#160;&#160;66</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__528__28_8h_source.html b/website/static/cdocs/config__big__528__28_8h_source.html
deleted file mode 100644
index 5e8e7ce..0000000
--- a/website/static/cdocs/config__big__528__28_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_528_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">config_big_528_28.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__528__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 CONFIG_BIG_528_28_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_528_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_528_28 66      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_528_28 28      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__528__60_8h.html b/website/static/cdocs/config__big__528__60_8h.html
index 536fa6a..9282814 100644
--- a/website/static/cdocs/config__big__528__60_8h.html
+++ b/website/static/cdocs/config__big__528__60_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: config_big_528_60.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"
@@ -123,7 +126,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/config__big__528__60_8h_source.html b/website/static/cdocs/config__big__528__60_8h_source.html
index 8fe7565..ef6a99c 100644
--- a/website/static/cdocs/config__big__528__60_8h_source.html
+++ b/website/static/cdocs/config__big__528__60_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: config_big_528_60.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">config_big_528_60.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__528__60_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 CONFIG_BIG_528_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_528_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__528__60_8h.html#a49e3aed3f2be5bc29bf59dc49c05cd6d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_528_60 66      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_528_60 60      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__528__60_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 CONFIG_BIG_528_60_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_528_60_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__528__60_8h.html#a49e3aed3f2be5bc29bf59dc49c05cd6d">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_528_60 66      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_528_60 60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__big__560__29_8h.html b/website/static/cdocs/config__big__560__29_8h.html
deleted file mode 100644
index 08c4504..0000000
--- a/website/static/cdocs/config__big__560__29_8h.html
+++ /dev/null
@@ -1,129 +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: config_big_560_29.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>  </div>
-  <div class="headertitle">
-<div class="title">config_big_560_29.h File Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Config BIG Header File.  
-<a href="#details">More...</a></p>
-<div class="textblock"><code>#include &quot;amcl.h&quot;</code><br />
-</div>
-<p><a href="config__big__560__29_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:a370d8df593c59b971e17880785a1ee84"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">MODBYTES_560_29</a>&#160;&#160;&#160;70</td></tr>
-<tr class="separator:a370d8df593c59b971e17880785a1ee84"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a85521cb71aeaf8796fba06832097d67f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">BASEBITS_560_29</a>&#160;&#160;&#160;29</td></tr>
-<tr class="separator:a85521cb71aeaf8796fba06832097d67f"><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="a85521cb71aeaf8796fba06832097d67f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a85521cb71aeaf8796fba06832097d67f">&#9670;&nbsp;</a></span>BASEBITS_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define BASEBITS_560_29&#160;&#160;&#160;29</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Numbers represented to base 2*BASEBITS </p>
-
-</div>
-</div>
-<a id="a370d8df593c59b971e17880785a1ee84"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a370d8df593c59b971e17880785a1ee84">&#9670;&nbsp;</a></span>MODBYTES_560_29</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define MODBYTES_560_29&#160;&#160;&#160;70</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-<p>Number of bytes in Modulus </p>
-
-</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/config__big__560__29_8h_source.html b/website/static/cdocs/config__big__560__29_8h_source.html
deleted file mode 100644
index 61456df..0000000
--- a/website/static/cdocs/config__big__560__29_8h_source.html
+++ /dev/null
@@ -1,80 +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: config_big_560_29.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">config_big_560_29.h</div>  </div>
-</div><!--header-->
-<div class="contents">
-<a href="config__big__560__29_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 CONFIG_BIG_560_29_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_560_29_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_560_29 70      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_560_29 29      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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
-</small></address>
-</body>
-</html>
diff --git a/website/static/cdocs/config__big__560__58_8h.html b/website/static/cdocs/config__big__560__58_8h.html
index 3703b74..57546e5 100644
--- a/website/static/cdocs/config__big__560__58_8h.html
+++ b/website/static/cdocs/config__big__560__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: config_big_560_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"
@@ -123,7 +126,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/config__big__560__58_8h_source.html b/website/static/cdocs/config__big__560__58_8h_source.html
index 781f7ad..3dabcd0 100644
--- a/website/static/cdocs/config__big__560__58_8h_source.html
+++ b/website/static/cdocs/config__big__560__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: config_big_560_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,12 +72,12 @@
 <div class="title">config_big_560_58.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__big__560__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 CONFIG_BIG_560_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_560_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_560_58 70      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_560_58 58      </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- contents -->
+<a href="config__big__560__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 CONFIG_BIG_560_58_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_BIG_560_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&quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// BIG stuff</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"><a class="line" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">   34</a></span>&#160;<span class="preprocessor">#define MODBYTES_560_58 70      </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">   35</a></span>&#160;<span class="preprocessor">#define BASEBITS_560_58 58  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</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/config__curve__ANSSI_8h_source.html b/website/static/cdocs/config__curve__ANSSI_8h_source.html
index e691e55..eb47c7a 100644
--- a/website/static/cdocs/config__curve__ANSSI_8h_source.html
+++ b/website/static/cdocs/config__curve__ANSSI_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: config_curve_ANSSI.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"
@@ -74,7 +77,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/config__curve__BLS24_8h_source.html b/website/static/cdocs/config__curve__BLS24_8h_source.html
index e68dbcb..6de0033 100644
--- a/website/static/cdocs/config__curve__BLS24_8h_source.html
+++ b/website/static/cdocs/config__curve__BLS24_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: config_curve_BLS24.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"
@@ -74,7 +77,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/config__curve__BLS381_8h_source.html b/website/static/cdocs/config__curve__BLS381_8h_source.html
index 59c3b94..d615b8f 100644
--- a/website/static/cdocs/config__curve__BLS381_8h_source.html
+++ b/website/static/cdocs/config__curve__BLS381_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: config_curve_BLS381.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">config_curve_BLS381.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;<span class="preprocessor">#ifndef CONFIG_CURVE_BLS381_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BLS381_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BLS381.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BLS381 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BLS381 BLS</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BLS381 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BLS381 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BLS381          /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BLS381 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BLS381 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BLS381 M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BLS381 NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BLS381 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BLS381 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BLS381 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS381 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BLS381 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BLS381 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS381 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BLS381 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BLS381 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS381 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_BLS381_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BLS381_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BLS381.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BLS381 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BLS381 BLS</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BLS381 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BLS381 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BLS381      /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BLS381 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BLS381 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BLS381 M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BLS381 NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BLS381 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BLS381 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BLS381 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS381 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BLS381 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BLS381 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS381 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BLS381 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BLS381 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS381 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__BLS383_8h_source.html b/website/static/cdocs/config__curve__BLS383_8h_source.html
index e7a375c..e7c1ebe 100644
--- a/website/static/cdocs/config__curve__BLS383_8h_source.html
+++ b/website/static/cdocs/config__curve__BLS383_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: config_curve_BLS383.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">config_curve_BLS383.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;<span class="preprocessor">#ifndef CONFIG_CURVE_BLS383_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BLS383_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BLS383.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BLS383 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BLS383 BLS</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BLS383 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BLS383 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BLS383          /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BLS383 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BLS383 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BLS383 M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BLS383 POSITIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BLS383 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BLS383 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BLS383 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS383 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BLS383 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BLS383 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS383 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BLS383 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BLS383 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS383 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_BLS383_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BLS383_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BLS383.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BLS383 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BLS383 BLS</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BLS383 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BLS383 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BLS383      /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BLS383 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BLS383 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BLS383 M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BLS383 POSITIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BLS383 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BLS383 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BLS383 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS383 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BLS383 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BLS383 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS383 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BLS383 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BLS383 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS383 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__BLS461_8h_source.html b/website/static/cdocs/config__curve__BLS461_8h_source.html
index cd886b4..cde5ede 100644
--- a/website/static/cdocs/config__curve__BLS461_8h_source.html
+++ b/website/static/cdocs/config__curve__BLS461_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: config_curve_BLS461.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">config_curve_BLS461.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;<span class="preprocessor">#ifndef CONFIG_CURVE_BLS461_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BLS461_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BLS461.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BLS461 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BLS461 BLS</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BLS461 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BLS461 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BLS461          /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BLS461 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BLS461 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BLS461 M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BLS461 NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BLS461 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BLS461 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BLS461 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS461 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BLS461 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BLS461 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS461 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BLS461 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BLS461 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS461 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_BLS461_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BLS461_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BLS461.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BLS461 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BLS461 BLS</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BLS461 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BLS461 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BLS461      /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BLS461 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BLS461 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BLS461 M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BLS461 NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BLS461 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BLS461 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BLS461 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS461 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BLS461 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BLS461 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS461 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BLS461 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BLS461 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BLS461 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__BLS48_8h_source.html b/website/static/cdocs/config__curve__BLS48_8h_source.html
index 716b05c..f0258d9 100644
--- a/website/static/cdocs/config__curve__BLS48_8h_source.html
+++ b/website/static/cdocs/config__curve__BLS48_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: config_curve_BLS48.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"
@@ -74,7 +77,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/config__curve__BN254CX_8h_source.html b/website/static/cdocs/config__curve__BN254CX_8h_source.html
index 8b786f7..f112d1f 100644
--- a/website/static/cdocs/config__curve__BN254CX_8h_source.html
+++ b/website/static/cdocs/config__curve__BN254CX_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: config_curve_BN254CX.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">config_curve_BN254CX.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;<span class="preprocessor">#ifndef CONFIG_CURVE_BN254CX_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BN254CX_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BN254CX.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BN254CX WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BN254CX BN</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BN254CX 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BN254CX != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BN254CX         /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BN254CX /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BN254CX </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BN254CX D_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BN254CX NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BN254CX </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BN254CX == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BN254CX 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BN254CX SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BN254CX == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BN254CX 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BN254CX SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BN254CX == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BN254CX 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BN254CX SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_BN254CX_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BN254CX_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BN254CX.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BN254CX WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BN254CX BN</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BN254CX 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BN254CX != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BN254CX     /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BN254CX /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BN254CX </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BN254CX D_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BN254CX NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BN254CX </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BN254CX == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BN254CX 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BN254CX SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BN254CX == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BN254CX 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BN254CX SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BN254CX == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BN254CX 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BN254CX SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__BN254_8h_source.html b/website/static/cdocs/config__curve__BN254_8h_source.html
index ad37af9..dfa9309 100644
--- a/website/static/cdocs/config__curve__BN254_8h_source.html
+++ b/website/static/cdocs/config__curve__BN254_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: config_curve_BN254.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"
@@ -74,7 +77,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/config__curve__BRAINPOOL_8h_source.html b/website/static/cdocs/config__curve__BRAINPOOL_8h_source.html
index 5316e9e..07d9c76 100644
--- a/website/static/cdocs/config__curve__BRAINPOOL_8h_source.html
+++ b/website/static/cdocs/config__curve__BRAINPOOL_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: config_curve_BRAINPOOL.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">config_curve_BRAINPOOL.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;<span class="preprocessor">#ifndef CONFIG_CURVE_BRAINPOOL_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BRAINPOOL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BRAINPOOL.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BRAINPOOL WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BRAINPOOL NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BRAINPOOL 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BRAINPOOL != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BRAINPOOL       /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BRAINPOOL /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BRAINPOOL </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BRAINPOOL .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BRAINPOOL .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BRAINPOOL </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BRAINPOOL == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BRAINPOOL 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BRAINPOOL SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BRAINPOOL == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BRAINPOOL 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BRAINPOOL SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BRAINPOOL == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BRAINPOOL 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BRAINPOOL SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_BRAINPOOL_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_BRAINPOOL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_BRAINPOOL.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_BRAINPOOL WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_BRAINPOOL NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_BRAINPOOL 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_BRAINPOOL != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_BRAINPOOL   /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_BRAINPOOL /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_BRAINPOOL </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_BRAINPOOL .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_BRAINPOOL .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_BRAINPOOL </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_BRAINPOOL == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_BRAINPOOL 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_BRAINPOOL SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_BRAINPOOL == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_BRAINPOOL 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_BRAINPOOL SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_BRAINPOOL == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_BRAINPOOL 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_BRAINPOOL SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__C25519_8h_source.html b/website/static/cdocs/config__curve__C25519_8h_source.html
index 16462b7..9fb775f 100644
--- a/website/static/cdocs/config__curve__C25519_8h_source.html
+++ b/website/static/cdocs/config__curve__C25519_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: config_curve_C25519.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">config_curve_C25519.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;<span class="preprocessor">#ifndef CONFIG_CURVE_C25519_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_C25519_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_25519.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_C25519 MONTGOMERY</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_C25519 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_C25519 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_C25519 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_C25519          /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_C25519 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_C25519 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_C25519 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_C25519 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_C25519 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_C25519 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_C25519 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_C25519 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_C25519 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_C25519 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_C25519 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_C25519 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_C25519 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_C25519 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_C25519_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_C25519_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_25519.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_C25519 MONTGOMERY</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_C25519 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_C25519 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_C25519 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_C25519      /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_C25519 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_C25519 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_C25519 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_C25519 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_C25519 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_C25519 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_C25519 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_C25519 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_C25519 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_C25519 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_C25519 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_C25519 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_C25519 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_C25519 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__C41417_8h_source.html b/website/static/cdocs/config__curve__C41417_8h_source.html
index 173d23a..ac5658e 100644
--- a/website/static/cdocs/config__curve__C41417_8h_source.html
+++ b/website/static/cdocs/config__curve__C41417_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: config_curve_C41417.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">config_curve_C41417.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;<span class="preprocessor">#ifndef CONFIG_CURVE_C41417_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_C41417_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_C41417.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_C41417 EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_C41417 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_C41417 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_C41417 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_C41417          /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_C41417 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_C41417 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_C41417 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_C41417 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_C41417 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_C41417 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_C41417 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_C41417 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_C41417 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_C41417 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_C41417 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_C41417 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_C41417 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_C41417 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_C41417_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_C41417_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_C41417.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_C41417 EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_C41417 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_C41417 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_C41417 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_C41417      /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_C41417 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_C41417 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_C41417 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_C41417 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_C41417 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_C41417 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_C41417 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_C41417 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_C41417 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_C41417 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_C41417 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_C41417 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_C41417 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_C41417 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__ED25519_8h_source.html b/website/static/cdocs/config__curve__ED25519_8h_source.html
index 3c75a96..0630cca 100644
--- a/website/static/cdocs/config__curve__ED25519_8h_source.html
+++ b/website/static/cdocs/config__curve__ED25519_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: config_curve_ED25519.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">config_curve_ED25519.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;<span class="preprocessor">#ifndef CONFIG_CURVE_ED25519_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_ED25519_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_25519.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_ED25519 EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_ED25519 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_ED25519 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_ED25519 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_ED25519         /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_ED25519 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_ED25519 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_ED25519 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_ED25519 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_ED25519 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_ED25519 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_ED25519 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_ED25519 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_ED25519 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_ED25519 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_ED25519 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_ED25519 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_ED25519 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_ED25519 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_ED25519_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_ED25519_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_25519.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_ED25519 EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_ED25519 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_ED25519 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_ED25519 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_ED25519     /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_ED25519 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_ED25519 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_ED25519 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_ED25519 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_ED25519 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_ED25519 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_ED25519 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_ED25519 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_ED25519 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_ED25519 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_ED25519 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_ED25519 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_ED25519 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_ED25519 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__FP256BN_8h_source.html b/website/static/cdocs/config__curve__FP256BN_8h_source.html
index 5b9d015..96c6ea7 100644
--- a/website/static/cdocs/config__curve__FP256BN_8h_source.html
+++ b/website/static/cdocs/config__curve__FP256BN_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: config_curve_FP256BN.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">config_curve_FP256BN.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;<span class="preprocessor">#ifndef CONFIG_CURVE_FP256BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_FP256BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_FP256BN.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_FP256BN WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_FP256BN BN</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_FP256BN 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_FP256BN != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_FP256BN         /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_FP256BN /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_FP256BN </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_FP256BN M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_FP256BN NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_FP256BN </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_FP256BN == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_FP256BN 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP256BN SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_FP256BN == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_FP256BN 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP256BN SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_FP256BN == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_FP256BN 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP256BN SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_FP256BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_FP256BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_FP256BN.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_FP256BN WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_FP256BN BN</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_FP256BN 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_FP256BN != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_FP256BN     /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_FP256BN /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_FP256BN </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_FP256BN M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_FP256BN NEGATIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_FP256BN </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_FP256BN == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_FP256BN 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP256BN SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_FP256BN == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_FP256BN 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP256BN SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_FP256BN == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_FP256BN 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP256BN SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__FP512BN_8h_source.html b/website/static/cdocs/config__curve__FP512BN_8h_source.html
index 1f2f22b..b5a0949 100644
--- a/website/static/cdocs/config__curve__FP512BN_8h_source.html
+++ b/website/static/cdocs/config__curve__FP512BN_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: config_curve_FP512BN.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">config_curve_FP512BN.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;<span class="preprocessor">#ifndef CONFIG_CURVE_FP512BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_FP512BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_FP512BN.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_FP512BN WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_FP512BN BN</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_FP512BN 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_FP512BN != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_FP512BN         /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_FP512BN /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_FP512BN </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_FP512BN M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_FP512BN POSITIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_FP512BN </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_FP512BN == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_FP512BN 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP512BN SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_FP512BN == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_FP512BN 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP512BN SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_FP512BN == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_FP512BN 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP512BN SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_FP512BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_FP512BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_FP512BN.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_FP512BN WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_FP512BN BN</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_FP512BN 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_FP512BN != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_FP512BN     /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_FP512BN /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_FP512BN </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_FP512BN M_TYPE</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_FP512BN POSITIVEX</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_FP512BN </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_FP512BN == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_FP512BN 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP512BN SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_FP512BN == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_FP512BN 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP512BN SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_FP512BN == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_FP512BN 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_FP512BN SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__GOLDILOCKS_8h_source.html b/website/static/cdocs/config__curve__GOLDILOCKS_8h_source.html
index ddf0b8e..ec25eb9 100644
--- a/website/static/cdocs/config__curve__GOLDILOCKS_8h_source.html
+++ b/website/static/cdocs/config__curve__GOLDILOCKS_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: config_curve_GOLDILOCKS.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"
@@ -74,7 +77,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/config__curve__HIFIVE_8h_source.html b/website/static/cdocs/config__curve__HIFIVE_8h_source.html
index f081405..4599b49 100644
--- a/website/static/cdocs/config__curve__HIFIVE_8h_source.html
+++ b/website/static/cdocs/config__curve__HIFIVE_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: config_curve_HIFIVE.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">config_curve_HIFIVE.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;<span class="preprocessor">#ifndef CONFIG_CURVE_HIFIVE_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_HIFIVE_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_HIFIVE.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_HIFIVE EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_HIFIVE NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_HIFIVE 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_HIFIVE != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_HIFIVE          /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_HIFIVE /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_HIFIVE </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_HIFIVE .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_HIFIVE .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_HIFIVE </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_HIFIVE == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_HIFIVE 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_HIFIVE SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_HIFIVE == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_HIFIVE 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_HIFIVE SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_HIFIVE == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_HIFIVE 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_HIFIVE SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_HIFIVE_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_HIFIVE_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_HIFIVE.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_HIFIVE EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_HIFIVE NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_HIFIVE 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_HIFIVE != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_HIFIVE      /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_HIFIVE /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_HIFIVE </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_HIFIVE .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_HIFIVE .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_HIFIVE </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_HIFIVE == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_HIFIVE 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_HIFIVE SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_HIFIVE == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_HIFIVE 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_HIFIVE SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_HIFIVE == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_HIFIVE 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_HIFIVE SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NIST256_8h_source.html b/website/static/cdocs/config__curve__NIST256_8h_source.html
index c4ea119..9e1a232 100644
--- a/website/static/cdocs/config__curve__NIST256_8h_source.html
+++ b/website/static/cdocs/config__curve__NIST256_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: config_curve_NIST256.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">config_curve_NIST256.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NIST256_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NIST256_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_NIST256.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NIST256 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NIST256 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NIST256 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NIST256 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NIST256         /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NIST256 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NIST256 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NIST256 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NIST256 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NIST256 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NIST256 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NIST256 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST256 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NIST256 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NIST256 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST256 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NIST256 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NIST256 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST256 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NIST256_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NIST256_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_NIST256.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NIST256 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NIST256 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NIST256 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NIST256 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NIST256     /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NIST256 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NIST256 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NIST256 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NIST256 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NIST256 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NIST256 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NIST256 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST256 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NIST256 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NIST256 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST256 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NIST256 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NIST256 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST256 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NIST384_8h_source.html b/website/static/cdocs/config__curve__NIST384_8h_source.html
index 35cbac8..091fb74 100644
--- a/website/static/cdocs/config__curve__NIST384_8h_source.html
+++ b/website/static/cdocs/config__curve__NIST384_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: config_curve_NIST384.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">config_curve_NIST384.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NIST384_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NIST384_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_NIST384.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NIST384 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NIST384 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NIST384 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NIST384 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NIST384         /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NIST384 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NIST384 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NIST384 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NIST384 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NIST384 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NIST384 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NIST384 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST384 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NIST384 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NIST384 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST384 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NIST384 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NIST384 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST384 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NIST384_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NIST384_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_NIST384.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NIST384 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NIST384 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NIST384 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NIST384 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NIST384     /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NIST384 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NIST384 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NIST384 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NIST384 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NIST384 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NIST384 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NIST384 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST384 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NIST384 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NIST384 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST384 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NIST384 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NIST384 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST384 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NIST521_8h_source.html b/website/static/cdocs/config__curve__NIST521_8h_source.html
index 1ae2db1..4e83d16 100644
--- a/website/static/cdocs/config__curve__NIST521_8h_source.html
+++ b/website/static/cdocs/config__curve__NIST521_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: config_curve_NIST521.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">config_curve_NIST521.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NIST521_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NIST521_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_NIST521.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NIST521 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NIST521 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NIST521 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NIST521 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NIST521         /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NIST521 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NIST521 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NIST521 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NIST521 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NIST521 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NIST521 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NIST521 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST521 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NIST521 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NIST521 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST521 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NIST521 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NIST521 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST521 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NIST521_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NIST521_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_NIST521.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NIST521 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NIST521 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NIST521 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NIST521 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NIST521     /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NIST521 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NIST521 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NIST521 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NIST521 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NIST521 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NIST521 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NIST521 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST521 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NIST521 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NIST521 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST521 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NIST521 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NIST521 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NIST521 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NUMS256E_8h_source.html b/website/static/cdocs/config__curve__NUMS256E_8h_source.html
index a03f1df..bb082f9 100644
--- a/website/static/cdocs/config__curve__NUMS256E_8h_source.html
+++ b/website/static/cdocs/config__curve__NUMS256E_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: config_curve_NUMS256E.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">config_curve_NUMS256E.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS256E_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS256E_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_256PME.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS256E EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS256E NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS256E 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS256E != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS256E        /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS256E /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS256E </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS256E .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS256E .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS256E </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS256E == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256E 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256E SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS256E == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256E 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256E SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS256E == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256E 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256E SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS256E_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS256E_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_256PME.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS256E EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS256E NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS256E 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS256E != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS256E    /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS256E /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS256E </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS256E .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS256E .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS256E </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS256E == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256E 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256E SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS256E == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256E 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256E SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS256E == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256E 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256E SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NUMS256W_8h_source.html b/website/static/cdocs/config__curve__NUMS256W_8h_source.html
index e54a700..ad32f7d 100644
--- a/website/static/cdocs/config__curve__NUMS256W_8h_source.html
+++ b/website/static/cdocs/config__curve__NUMS256W_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: config_curve_NUMS256W.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">config_curve_NUMS256W.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS256W_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS256W_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_256PMW.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS256W WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS256W NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS256W 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS256W != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS256W        /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS256W /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS256W </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS256W .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS256W .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS256W </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS256W == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256W 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256W SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS256W == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256W 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256W SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS256W == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256W 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256W SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS256W_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS256W_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_256PMW.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS256W WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS256W NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS256W 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS256W != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS256W    /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS256W /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS256W </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS256W .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS256W .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS256W </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS256W == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256W 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256W SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS256W == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256W 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256W SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS256W == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS256W 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS256W SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NUMS384E_8h_source.html b/website/static/cdocs/config__curve__NUMS384E_8h_source.html
index 166d08d..b849f2b 100644
--- a/website/static/cdocs/config__curve__NUMS384E_8h_source.html
+++ b/website/static/cdocs/config__curve__NUMS384E_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: config_curve_NUMS384E.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">config_curve_NUMS384E.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS384E_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS384E_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_384PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS384E EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS384E NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS384E 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS384E != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS384E        /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS384E /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS384E </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS384E .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS384E .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS384E </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS384E == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384E 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384E SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS384E == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384E 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384E SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS384E == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384E 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384E SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS384E_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS384E_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_384PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS384E EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS384E NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS384E 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS384E != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS384E    /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS384E /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS384E </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS384E .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS384E .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS384E </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS384E == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384E 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384E SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS384E == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384E 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384E SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS384E == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384E 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384E SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NUMS384W_8h_source.html b/website/static/cdocs/config__curve__NUMS384W_8h_source.html
index 4427222..826719e 100644
--- a/website/static/cdocs/config__curve__NUMS384W_8h_source.html
+++ b/website/static/cdocs/config__curve__NUMS384W_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: config_curve_NUMS384W.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">config_curve_NUMS384W.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS384W_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS384W_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_384PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS384W WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS384W NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS384W 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS384W != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS384W        /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS384W /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS384W </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS384W .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS384W .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS384W </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS384W == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384W 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384W SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS384W == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384W 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384W SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS384W == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384W 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384W SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS384W_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS384W_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_384PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS384W WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS384W NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS384W 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS384W != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS384W    /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS384W /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS384W </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS384W .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS384W .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS384W </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS384W == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384W 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384W SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS384W == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384W 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384W SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS384W == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS384W 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS384W SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NUMS512E_8h_source.html b/website/static/cdocs/config__curve__NUMS512E_8h_source.html
index 97c257a..edc0aac 100644
--- a/website/static/cdocs/config__curve__NUMS512E_8h_source.html
+++ b/website/static/cdocs/config__curve__NUMS512E_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: config_curve_NUMS512E.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">config_curve_NUMS512E.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS512E_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS512E_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_512PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS512E EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS512E NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS512E 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS512E != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS512E        /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS512E /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS512E </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS512E .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS512E .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS512E </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS512E == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512E 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512E SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS512E == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512E 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512E SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS512E == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512E 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512E SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS512E_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS512E_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_512PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS512E EDWARDS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS512E NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS512E 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS512E != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS512E    /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS512E /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS512E </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS512E .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS512E .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS512E </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS512E == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512E 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512E SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS512E == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512E 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512E SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS512E == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512E 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512E SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__NUMS512W_8h_source.html b/website/static/cdocs/config__curve__NUMS512W_8h_source.html
index 623df97..e94397e 100644
--- a/website/static/cdocs/config__curve__NUMS512W_8h_source.html
+++ b/website/static/cdocs/config__curve__NUMS512W_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: config_curve_NUMS512W.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">config_curve_NUMS512W.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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS512W_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS512W_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_512PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS512W WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS512W NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS512W 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS512W != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS512W        /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS512W /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS512W </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS512W .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS512W .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS512W </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS512W == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512W 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512W SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS512W == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512W 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512W SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS512W == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512W 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512W SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_NUMS512W_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_NUMS512W_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_512PM.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_NUMS512W WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_NUMS512W NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_NUMS512W 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_NUMS512W != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_NUMS512W    /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_NUMS512W /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_NUMS512W </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_NUMS512W .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_NUMS512W .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_NUMS512W </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_NUMS512W == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512W 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512W SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_NUMS512W == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512W 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512W SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_NUMS512W == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_NUMS512W 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_NUMS512W SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__curve__SECP256K1_8h_source.html b/website/static/cdocs/config__curve__SECP256K1_8h_source.html
index 428705b..d4c0e2f 100644
--- a/website/static/cdocs/config__curve__SECP256K1_8h_source.html
+++ b/website/static/cdocs/config__curve__SECP256K1_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: config_curve_SECP256K1.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">config_curve_SECP256K1.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;<span class="preprocessor">#ifndef CONFIG_CURVE_SECP256K1_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_SECP256K1_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_SECP256K1.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_SECP256K1 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_SECP256K1 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_SECP256K1 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_SECP256K1 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_SECP256K1       /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_SECP256K1 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_SECP256K1 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_SECP256K1 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_SECP256K1 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_SECP256K1 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_SECP256K1 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_SECP256K1 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_SECP256K1 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_SECP256K1 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_SECP256K1 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_SECP256K1 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_SECP256K1 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_SECP256K1 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_SECP256K1 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div></div><!-- fragment --></div><!-- 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;<span class="preprocessor">#ifndef CONFIG_CURVE_SECP256K1_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_CURVE_SECP256K1_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include&quot;config_field_SECP256K1.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// ECP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CURVETYPE_SECP256K1 WEIERSTRASS</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PAIRING_FRIENDLY_SECP256K1 NOT</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define CURVE_SECURITY_SECP256K1 128</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if PAIRING_FRIENDLY_SECP256K1 != NOT</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">//#define USE_GLV_SECP256K1   /**&lt; Note this method is patented (GLV), so maybe you want to comment this out */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">//#define USE_GS_G2_SECP256K1 /**&lt; Well we didn&#39;t patent it :) But may be covered by GLV patent :( */</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define USE_GS_GT_SECP256K1 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define POSITIVEX 0</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define NEGATIVEX 1</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define SEXTIC_TWIST_SECP256K1 .</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define SIGN_OF_X_SECP256K1 .</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define ATE_BITS_SECP256K1 </span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</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="preprocessor">#if CURVE_SECURITY_SECP256K1 == 128</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define AESKEY_SECP256K1 16 </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define HASH_TYPE_SECP256K1 SHA256  </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#endif</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 CURVE_SECURITY_SECP256K1 == 192</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define AESKEY_SECP256K1 24 </span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define HASH_TYPE_SECP256K1 SHA384  </span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if CURVE_SECURITY_SECP256K1 == 256</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define AESKEY_SECP256K1 32 </span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define HASH_TYPE_SECP256K1 SHA512  </span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</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/config__ff__2048_8h.html b/website/static/cdocs/config__ff__2048_8h.html
index e12ca6e..45085ef 100644
--- a/website/static/cdocs/config__ff__2048_8h.html
+++ b/website/static/cdocs/config__ff__2048_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: config_ff_2048.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"
@@ -107,7 +110,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/config__ff__2048_8h_source.html b/website/static/cdocs/config__ff__2048_8h_source.html
index ba993af..aaa99ed 100644
--- a/website/static/cdocs/config__ff__2048_8h_source.html
+++ b/website/static/cdocs/config__ff__2048_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: config_ff_2048.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">config_ff_2048.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__ff__2048_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 CONFIG_RSA_2048_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_RSA_2048_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</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="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// FF stuff</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">   35</a></span>&#160;<span class="preprocessor">#define FFLEN_2048 2 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></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>
+<a href="config__ff__2048_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 CONFIG_RSA_2048_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_RSA_2048_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</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="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// FF stuff</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">   35</a></span>&#160;<span class="preprocessor">#define FFLEN_2048 2 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></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><!-- 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/config__ff__3072_8h.html b/website/static/cdocs/config__ff__3072_8h.html
index 906c978..5eeabdc 100644
--- a/website/static/cdocs/config__ff__3072_8h.html
+++ b/website/static/cdocs/config__ff__3072_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: config_ff_3072.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"
@@ -107,7 +110,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/config__ff__3072_8h_source.html b/website/static/cdocs/config__ff__3072_8h_source.html
index 93240dd..5c4d8d5 100644
--- a/website/static/cdocs/config__ff__3072_8h_source.html
+++ b/website/static/cdocs/config__ff__3072_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: config_ff_3072.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">config_ff_3072.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__ff__3072_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 CONFIG_RSA_3072_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_RSA_3072_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__56_8h.html">config_big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// FF stuff</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">   35</a></span>&#160;<span class="preprocessor">#define FFLEN_3072 8 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
+<a href="config__ff__3072_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 CONFIG_RSA_3072_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_RSA_3072_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__56_8h.html">config_big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// FF stuff</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">   35</a></span>&#160;<span class="preprocessor">#define FFLEN_3072 8 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__ff__4096_8h.html b/website/static/cdocs/config__ff__4096_8h.html
index 74dfbf3..d06ebca 100644
--- a/website/static/cdocs/config__ff__4096_8h.html
+++ b/website/static/cdocs/config__ff__4096_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: config_ff_4096.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"
@@ -107,7 +110,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/config__ff__4096_8h_source.html b/website/static/cdocs/config__ff__4096_8h_source.html
index 6990684..7348181 100644
--- a/website/static/cdocs/config__ff__4096_8h_source.html
+++ b/website/static/cdocs/config__ff__4096_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: config_ff_4096.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">config_ff_4096.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="config__ff__4096_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 CONFIG_RSA_4096_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_RSA_4096_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__512__60_8h.html">config_big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// FF stuff</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">   35</a></span>&#160;<span class="preprocessor">#define FFLEN_4096 8 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="config__big__512__60_8h_html"><div class="ttname"><a href="config__big__512__60_8h.html">config_big_512_60.h</a></div><div class="ttdoc">Config BIG Header File.</div></div>
+<a href="config__ff__4096_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 CONFIG_RSA_4096_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define CONFIG_RSA_4096_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__512__60_8h.html">config_big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// FF stuff</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">   35</a></span>&#160;<span class="preprocessor">#define FFLEN_4096 8 </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="config__big__512__60_8h_html"><div class="ttname"><a href="config__big__512__60_8h.html">config_big_512_60.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__25519_8h_source.html b/website/static/cdocs/config__field__25519_8h_source.html
index b367bda..6a3715f 100644
--- a/website/static/cdocs/config__field__25519_8h_source.html
+++ b/website/static/cdocs/config__field__25519_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: config_field_25519.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">config_field_25519.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;<span class="preprocessor">#ifndef CONFIG_FIELD_25519_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_25519_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_25519 255</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_25519 5</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_25519 PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_25519 25</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_25519_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_25519_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_25519 255</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_25519 5</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_25519 PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_25519 25</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__256PME_8h_source.html b/website/static/cdocs/config__field__256PME_8h_source.html
index e568bf5..158b9af 100644
--- a/website/static/cdocs/config__field__256PME_8h_source.html
+++ b/website/static/cdocs/config__field__256PME_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: config_field_256PME.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">config_field_256PME.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;<span class="preprocessor">#ifndef CONFIG_FIELD_256PME_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_256PME_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_256PME 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_256PME 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_256PME PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_256PME 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_256PME_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_256PME_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_256PME 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_256PME 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_256PME PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_256PME 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__256PMW_8h_source.html b/website/static/cdocs/config__field__256PMW_8h_source.html
index 4fb5d3d..6df70dc 100644
--- a/website/static/cdocs/config__field__256PMW_8h_source.html
+++ b/website/static/cdocs/config__field__256PMW_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: config_field_256PMW.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">config_field_256PMW.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;<span class="preprocessor">#ifndef CONFIG_FIELD_256PMW_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_256PMW_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_256PMW 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_256PMW 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_256PMW PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_256PMW 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_256PMW_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_256PMW_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_256PMW 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_256PMW 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_256PMW PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_256PMW 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__384PM_8h_source.html b/website/static/cdocs/config__field__384PM_8h_source.html
index 166dfa9..d5b3f27 100644
--- a/website/static/cdocs/config__field__384PM_8h_source.html
+++ b/website/static/cdocs/config__field__384PM_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: config_field_384PM.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">config_field_384PM.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;<span class="preprocessor">#ifndef CONFIG_FIELD_384PM_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_384PM_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__56_8h.html">config_big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_384PM 384</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_384PM 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_384PM PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_384PM 8</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_384PM_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_384PM_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__56_8h.html">config_big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_384PM 384</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_384PM 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_384PM PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_384PM 8</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__512PM_8h_source.html b/website/static/cdocs/config__field__512PM_8h_source.html
index 3cf81a2..cb48a17 100644
--- a/website/static/cdocs/config__field__512PM_8h_source.html
+++ b/website/static/cdocs/config__field__512PM_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: config_field_512PM.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">config_field_512PM.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;<span class="preprocessor">#ifndef CONFIG_FIELD_512PM_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_512PM_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__512__56_8h.html">config_big_512_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_512PM 512</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_512PM 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_512PM PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_512PM 30</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__512__56_8h_html"><div class="ttname"><a href="config__big__512__56_8h.html">config_big_512_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_512PM_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_512PM_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__512__56_8h.html">config_big_512_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_512PM 512</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_512PM 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_512PM PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_512PM 30</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__512__56_8h_html"><div class="ttname"><a href="config__big__512__56_8h.html">config_big_512_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__ANSSI_8h_source.html b/website/static/cdocs/config__field__ANSSI_8h_source.html
index f33f51f..98cd2e3 100644
--- a/website/static/cdocs/config__field__ANSSI_8h_source.html
+++ b/website/static/cdocs/config__field__ANSSI_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: config_field_ANSSI.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">config_field_ANSSI.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;<span class="preprocessor">#ifndef CONFIG_FIELD_ANSSI_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_ANSSI_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_ANSSI 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_ANSSI 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_ANSSI NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_ANSSI 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_ANSSI_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_ANSSI_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_ANSSI 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_ANSSI 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_ANSSI NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_ANSSI 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BLS24_8h_source.html b/website/static/cdocs/config__field__BLS24_8h_source.html
index e9a71f1..41ed6c9 100644
--- a/website/static/cdocs/config__field__BLS24_8h_source.html
+++ b/website/static/cdocs/config__field__BLS24_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: config_field_BLS24.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">config_field_BLS24.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__480__56_8h.html">config_big_480_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS24 479</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS24 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS24 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS24 25</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__480__56_8h_html"><div class="ttname"><a href="config__big__480__56_8h.html">config_big_480_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__480__56_8h.html">config_big_480_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS24 479</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS24 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS24 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS24 25</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__480__56_8h_html"><div class="ttname"><a href="config__big__480__56_8h.html">config_big_480_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BLS381_8h_source.html b/website/static/cdocs/config__field__BLS381_8h_source.html
index 88cc77e..53a3f13 100644
--- a/website/static/cdocs/config__field__BLS381_8h_source.html
+++ b/website/static/cdocs/config__field__BLS381_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: config_field_BLS381.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">config_field_BLS381.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS381_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS381_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__58_8h.html">config_big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS381 381</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS381 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS381 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS381 25</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__58_8h_html"><div class="ttname"><a href="config__big__384__58_8h.html">config_big_384_58.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS381_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS381_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__58_8h.html">config_big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS381 381</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS381 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS381 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS381 25</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__58_8h_html"><div class="ttname"><a href="config__big__384__58_8h.html">config_big_384_58.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BLS383_8h_source.html b/website/static/cdocs/config__field__BLS383_8h_source.html
index 84e92d7..98c4f1b 100644
--- a/website/static/cdocs/config__field__BLS383_8h_source.html
+++ b/website/static/cdocs/config__field__BLS383_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: config_field_BLS383.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">config_field_BLS383.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS383_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS383_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__58_8h.html">config_big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS383 383</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS383 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS383 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS383 23</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__58_8h_html"><div class="ttname"><a href="config__big__384__58_8h.html">config_big_384_58.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS383_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS383_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__58_8h.html">config_big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS383 383</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS383 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS383 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS383 23</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__58_8h_html"><div class="ttname"><a href="config__big__384__58_8h.html">config_big_384_58.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BLS461_8h_source.html b/website/static/cdocs/config__field__BLS461_8h_source.html
index 9cad8f0..1810713 100644
--- a/website/static/cdocs/config__field__BLS461_8h_source.html
+++ b/website/static/cdocs/config__field__BLS461_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: config_field_BLS461.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">config_field_BLS461.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS461_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS461_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__464__60_8h.html">config_big_464_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS461 461</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS461 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS461 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS461 19</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__464__60_8h_html"><div class="ttname"><a href="config__big__464__60_8h.html">config_big_464_60.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS461_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS461_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__464__60_8h.html">config_big_464_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS461 461</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS461 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS461 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS461 19</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__464__60_8h_html"><div class="ttname"><a href="config__big__464__60_8h.html">config_big_464_60.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BLS48_8h_source.html b/website/static/cdocs/config__field__BLS48_8h_source.html
index d5a4aa5..21fbb62 100644
--- a/website/static/cdocs/config__field__BLS48_8h_source.html
+++ b/website/static/cdocs/config__field__BLS48_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: config_field_BLS48.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">config_field_BLS48.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__560__58_8h.html">config_big_560_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS48 556</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS48 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS48 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS48 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__560__58_8h_html"><div class="ttname"><a href="config__big__560__58_8h.html">config_big_560_58.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__560__58_8h.html">config_big_560_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BLS48 556</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BLS48 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BLS48 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BLS48 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__560__58_8h_html"><div class="ttname"><a href="config__big__560__58_8h.html">config_big_560_58.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BN254CX_8h_source.html b/website/static/cdocs/config__field__BN254CX_8h_source.html
index 8b82751..8670e2a 100644
--- a/website/static/cdocs/config__field__BN254CX_8h_source.html
+++ b/website/static/cdocs/config__field__BN254CX_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: config_field_BN254CX.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">config_field_BN254CX.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BN254CX_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BN254CX_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BN254CX 254</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BN254CX 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BN254CX NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BN254CX 26</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BN254CX_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BN254CX_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BN254CX 254</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BN254CX 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BN254CX NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BN254CX 26</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BN254_8h_source.html b/website/static/cdocs/config__field__BN254_8h_source.html
index 9c6a337..e0affa5 100644
--- a/website/static/cdocs/config__field__BN254_8h_source.html
+++ b/website/static/cdocs/config__field__BN254_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: config_field_BN254.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">config_field_BN254.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BN254_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BN254_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BN254 254</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BN254 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BN254 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BN254 26</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BN254_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BN254_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BN254 254</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BN254 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BN254 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BN254 26</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__BRAINPOOL_8h_source.html b/website/static/cdocs/config__field__BRAINPOOL_8h_source.html
index 75123f4..d4614f1 100644
--- a/website/static/cdocs/config__field__BRAINPOOL_8h_source.html
+++ b/website/static/cdocs/config__field__BRAINPOOL_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: config_field_BRAINPOOL.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">config_field_BRAINPOOL.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;<span class="preprocessor">#ifndef CONFIG_FIELD_BRAINPOOL_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BRAINPOOL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BRAINPOOL 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BRAINPOOL 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BRAINPOOL NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BRAINPOOL 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_BRAINPOOL_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_BRAINPOOL_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_BRAINPOOL 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_BRAINPOOL 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_BRAINPOOL NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_BRAINPOOL 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__C41417_8h_source.html b/website/static/cdocs/config__field__C41417_8h_source.html
index d17a950..d580f20 100644
--- a/website/static/cdocs/config__field__C41417_8h_source.html
+++ b/website/static/cdocs/config__field__C41417_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: config_field_C41417.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">config_field_C41417.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;<span class="preprocessor">#ifndef CONFIG_FIELD_C41417_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_C41417_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__416__60_8h.html">config_big_416_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_C41417 414</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_C41417 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_C41417 PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_C41417 6</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__416__60_8h_html"><div class="ttname"><a href="config__big__416__60_8h.html">config_big_416_60.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_C41417_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_C41417_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__416__60_8h.html">config_big_416_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_C41417 414</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_C41417 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_C41417 PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_C41417 6</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__416__60_8h_html"><div class="ttname"><a href="config__big__416__60_8h.html">config_big_416_60.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__FP256BN_8h_source.html b/website/static/cdocs/config__field__FP256BN_8h_source.html
index fb815e1..30ef1a0 100644
--- a/website/static/cdocs/config__field__FP256BN_8h_source.html
+++ b/website/static/cdocs/config__field__FP256BN_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: config_field_FP256BN.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">config_field_FP256BN.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;<span class="preprocessor">#ifndef CONFIG_FIELD_FP256BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_FP256BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_FP256BN 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_FP256BN 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_FP256BN NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_FP256BN 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_FP256BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_FP256BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_FP256BN 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_FP256BN 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_FP256BN NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_FP256BN 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__FP512BN_8h_source.html b/website/static/cdocs/config__field__FP512BN_8h_source.html
index 29867b4..3cfde63 100644
--- a/website/static/cdocs/config__field__FP512BN_8h_source.html
+++ b/website/static/cdocs/config__field__FP512BN_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: config_field_FP512BN.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">config_field_FP512BN.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;<span class="preprocessor">#ifndef CONFIG_FIELD_FP512BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_FP512BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__512__60_8h.html">config_big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_FP512BN 512</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_FP512BN 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_FP512BN NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_FP512BN 28</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__512__60_8h_html"><div class="ttname"><a href="config__big__512__60_8h.html">config_big_512_60.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_FP512BN_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_FP512BN_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__512__60_8h.html">config_big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_FP512BN 512</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_FP512BN 3</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_FP512BN NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_FP512BN 28</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__512__60_8h_html"><div class="ttname"><a href="config__big__512__60_8h.html">config_big_512_60.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__GOLDILOCKS_8h_source.html b/website/static/cdocs/config__field__GOLDILOCKS_8h_source.html
index 025b2a8..aecb916 100644
--- a/website/static/cdocs/config__field__GOLDILOCKS_8h_source.html
+++ b/website/static/cdocs/config__field__GOLDILOCKS_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: config_field_GOLDILOCKS.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">config_field_GOLDILOCKS.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;<span class="preprocessor">#ifndef CONFIG_FIELD_GOLDILOCKS_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_GOLDILOCKS_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__448__58_8h.html">config_big_448_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_GOLDILOCKS 448</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_GOLDILOCKS 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_GOLDILOCKS GENERALISED_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_GOLDILOCKS 16</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__448__58_8h_html"><div class="ttname"><a href="config__big__448__58_8h.html">config_big_448_58.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_GOLDILOCKS_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_GOLDILOCKS_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__448__58_8h.html">config_big_448_58.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_GOLDILOCKS 448</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_GOLDILOCKS 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_GOLDILOCKS GENERALISED_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_GOLDILOCKS 16</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__448__58_8h_html"><div class="ttname"><a href="config__big__448__58_8h.html">config_big_448_58.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__HIFIVE_8h_source.html b/website/static/cdocs/config__field__HIFIVE_8h_source.html
index 5bef408..96e8e08 100644
--- a/website/static/cdocs/config__field__HIFIVE_8h_source.html
+++ b/website/static/cdocs/config__field__HIFIVE_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: config_field_HIFIVE.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">config_field_HIFIVE.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;<span class="preprocessor">#ifndef CONFIG_FIELD_HIFIVE_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_HIFIVE_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__336__60_8h.html">config_big_336_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_HIFIVE 336</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_HIFIVE 5</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_HIFIVE PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_HIFIVE 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__336__60_8h_html"><div class="ttname"><a href="config__big__336__60_8h.html">config_big_336_60.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_HIFIVE_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_HIFIVE_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__336__60_8h.html">config_big_336_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_HIFIVE 336</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_HIFIVE 5</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_HIFIVE PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_HIFIVE 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__336__60_8h_html"><div class="ttname"><a href="config__big__336__60_8h.html">config_big_336_60.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__NIST256_8h_source.html b/website/static/cdocs/config__field__NIST256_8h_source.html
index 3049f78..bfb15a1 100644
--- a/website/static/cdocs/config__field__NIST256_8h_source.html
+++ b/website/static/cdocs/config__field__NIST256_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: config_field_NIST256.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">config_field_NIST256.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;<span class="preprocessor">#ifndef CONFIG_FIELD_NIST256_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_NIST256_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_NIST256 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_NIST256 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_NIST256 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_NIST256 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_NIST256_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_NIST256_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_NIST256 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_NIST256 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_NIST256 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_NIST256 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__NIST384_8h_source.html b/website/static/cdocs/config__field__NIST384_8h_source.html
index f7f5c5e..484112c 100644
--- a/website/static/cdocs/config__field__NIST384_8h_source.html
+++ b/website/static/cdocs/config__field__NIST384_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: config_field_NIST384.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">config_field_NIST384.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;<span class="preprocessor">#ifndef CONFIG_FIELD_NIST384_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_NIST384_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__56_8h.html">config_big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_NIST384 384</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_NIST384 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_NIST384 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_NIST384 8</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_NIST384_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_NIST384_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__384__56_8h.html">config_big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_NIST384 384</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_NIST384 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_NIST384 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_NIST384 8</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__384__56_8h_html"><div class="ttname"><a href="config__big__384__56_8h.html">config_big_384_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__NIST521_8h_source.html b/website/static/cdocs/config__field__NIST521_8h_source.html
index 0ad6b59..e3cef8a 100644
--- a/website/static/cdocs/config__field__NIST521_8h_source.html
+++ b/website/static/cdocs/config__field__NIST521_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: config_field_NIST521.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">config_field_NIST521.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;<span class="preprocessor">#ifndef CONFIG_FIELD_NIST521_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_NIST521_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__528__60_8h.html">config_big_528_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_NIST521 521</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_NIST521 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_NIST521 PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_NIST521 19</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__528__60_8h_html"><div class="ttname"><a href="config__big__528__60_8h.html">config_big_528_60.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_NIST521_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_NIST521_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__528__60_8h.html">config_big_528_60.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_NIST521 521</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_NIST521 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_NIST521 PSEUDO_MERSENNE</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_NIST521 19</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__528__60_8h_html"><div class="ttname"><a href="config__big__528__60_8h.html">config_big_528_60.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__field__SECP256K1_8h_source.html b/website/static/cdocs/config__field__SECP256K1_8h_source.html
index 5fe8692..5381893 100644
--- a/website/static/cdocs/config__field__SECP256K1_8h_source.html
+++ b/website/static/cdocs/config__field__SECP256K1_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: config_field_SECP256K1.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">config_field_SECP256K1.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;<span class="preprocessor">#ifndef CONFIG_FIELD_SECP256K1_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_SECP256K1_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_SECP256K1 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_SECP256K1 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_SECP256K1 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_SECP256K1 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File.</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;<span class="preprocessor">#ifndef CONFIG_FIELD_SECP256K1_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define CONFIG_FIELD_SECP256K1_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include&quot;amcl.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__big__256__56_8h.html">config_big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// FP stuff</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define MBITS_SECP256K1 256</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MOD8_SECP256K1 7</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define MODTYPE_SECP256K1 NOT_SPECIAL</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define MAXXES_SECP256K1 24</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</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">#endif</span></div><div class="ttc" id="config__big__256__56_8h_html"><div class="ttname"><a href="config__big__256__56_8h.html">config_big_256_56.h</a></div><div class="ttdoc">Config BIG Header File. </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/config__test_8h_source.html b/website/static/cdocs/config__test_8h_source.html
index 4ab4c24..a5277a4 100644
--- a/website/static/cdocs/config__test_8h_source.html
+++ b/website/static/cdocs/config__test_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: config_test.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"
@@ -74,7 +77,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/dir_63600ed4898051e64a293ebc61657c39.html b/website/static/cdocs/dir_63600ed4898051e64a293ebc61657c39.html
index b05e210..eacbcbb 100644
--- a/website/static/cdocs/dir_63600ed4898051e64a293ebc61657c39.html
+++ b/website/static/cdocs/dir_63600ed4898051e64a293ebc61657c39.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: src Directory 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"
@@ -74,7 +77,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/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/website/static/cdocs/dir_68267d1309a1af8e8297ef4c3efbcdba.html
index ecff9cb..57665a1 100644
--- a/website/static/cdocs/dir_68267d1309a1af8e8297ef4c3efbcdba.html
+++ b/website/static/cdocs/dir_68267d1309a1af8e8297ef4c3efbcdba.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: src Directory 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"
@@ -84,7 +87,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/dir_d44c64559bbebec7f509842c48db8b23.html b/website/static/cdocs/dir_d44c64559bbebec7f509842c48db8b23.html
index 364a231..243f215 100644
--- a/website/static/cdocs/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/website/static/cdocs/dir_d44c64559bbebec7f509842c48db8b23.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: include Directory 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"
@@ -75,6 +78,9 @@
 <tr class="memitem:ecdh__support_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecdh__support_8h.html">ecdh_support.h</a> <a href="ecdh__support_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:ecdh__support_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECDH Support Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:paillier_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html">paillier.h</a> <a href="paillier_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:paillier_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Paillier declarations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:pbc__support_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pbc__support_8h.html">pbc_support.h</a> <a href="pbc__support_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:pbc__support_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auxiliary functions for Pairing-based protocols. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -96,7 +102,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/dir_df7310d1a865926cc859bcfb1880083f.html b/website/static/cdocs/dir_df7310d1a865926cc859bcfb1880083f.html
index 607a2db..3c35779 100644
--- a/website/static/cdocs/dir_df7310d1a865926cc859bcfb1880083f.html
+++ b/website/static/cdocs/dir_df7310d1a865926cc859bcfb1880083f.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: include Directory 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"
@@ -75,81 +78,42 @@
 <tr class="memitem:arch_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arch_8h.html">arch.h</a> <a href="arch_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:arch_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Architecture Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__1024__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__28_8h.html">big_1024_28.h</a> <a href="big__1024__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__1024__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__1024__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__1024__58_8h.html">big_1024_58.h</a> <a href="big__1024__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__1024__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__256__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__28_8h.html">big_256_28.h</a> <a href="big__256__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__256__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__256__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__29_8h.html">big_256_29.h</a> <a href="big__256__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__256__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__256__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__256__56_8h.html">big_256_56.h</a> <a href="big__256__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__256__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__336__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__29_8h.html">big_336_29.h</a> <a href="big__336__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__336__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__336__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__336__60_8h.html">big_336_60.h</a> <a href="big__336__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__336__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__384__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__28_8h.html">big_384_28.h</a> <a href="big__384__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__384__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__384__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__29_8h.html">big_384_29.h</a> <a href="big__384__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__384__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__384__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__56_8h.html">big_384_56.h</a> <a href="big__384__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__384__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__384__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__384__58_8h.html">big_384_58.h</a> <a href="big__384__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__384__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__416__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__29_8h.html">big_416_29.h</a> <a href="big__416__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__416__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__416__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__416__60_8h.html">big_416_60.h</a> <a href="big__416__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__416__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__448__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__29_8h.html">big_448_29.h</a> <a href="big__448__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__448__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__448__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__448__58_8h.html">big_448_58.h</a> <a href="big__448__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__448__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__464__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__28_8h.html">big_464_28.h</a> <a href="big__464__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__464__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__464__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__464__60_8h.html">big_464_60.h</a> <a href="big__464__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__464__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__480__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__29_8h.html">big_480_29.h</a> <a href="big__480__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__480__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__480__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__480__56_8h.html">big_480_56.h</a> <a href="big__480__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__480__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__512__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__29_8h.html">big_512_29.h</a> <a href="big__512__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__512__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__512__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__56_8h.html">big_512_56.h</a> <a href="big__512__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__512__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__512__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__512__60_8h.html">big_512_60.h</a> <a href="big__512__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__512__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__528__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__28_8h.html">big_528_28.h</a> <a href="big__528__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__528__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__528__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__528__60_8h.html">big_528_60.h</a> <a href="big__528__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__528__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:big__560__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__29_8h.html">big_560_29.h</a> <a href="big__560__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:big__560__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:big__560__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="big__560__58_8h.html">big_560_58.h</a> <a href="big__560__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:big__560__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -180,81 +144,42 @@
 <tr class="memitem:bls__FP512BN_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bls__FP512BN_8h.html">bls_FP512BN.h</a> <a href="bls__FP512BN_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:bls__FP512BN_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">BLS Header file. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__1024__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__1024__28_8h.html">config_big_1024_28.h</a> <a href="config__big__1024__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__1024__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__1024__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__1024__58_8h.html">config_big_1024_58.h</a> <a href="config__big__1024__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__1024__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__256__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__256__28_8h.html">config_big_256_28.h</a> <a href="config__big__256__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__256__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__256__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__256__29_8h.html">config_big_256_29.h</a> <a href="config__big__256__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__256__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__256__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__256__56_8h.html">config_big_256_56.h</a> <a href="config__big__256__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__256__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__336__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__336__29_8h.html">config_big_336_29.h</a> <a href="config__big__336__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__336__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__336__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__336__60_8h.html">config_big_336_60.h</a> <a href="config__big__336__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__336__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__384__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__28_8h.html">config_big_384_28.h</a> <a href="config__big__384__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__384__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__384__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__29_8h.html">config_big_384_29.h</a> <a href="config__big__384__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__384__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__384__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__56_8h.html">config_big_384_56.h</a> <a href="config__big__384__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__384__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__384__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__384__58_8h.html">config_big_384_58.h</a> <a href="config__big__384__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__384__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__416__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__416__29_8h.html">config_big_416_29.h</a> <a href="config__big__416__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__416__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__416__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__416__60_8h.html">config_big_416_60.h</a> <a href="config__big__416__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__416__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__448__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__448__29_8h.html">config_big_448_29.h</a> <a href="config__big__448__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__448__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__448__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__448__58_8h.html">config_big_448_58.h</a> <a href="config__big__448__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__448__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__464__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__464__28_8h.html">config_big_464_28.h</a> <a href="config__big__464__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__464__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__464__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__464__60_8h.html">config_big_464_60.h</a> <a href="config__big__464__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__464__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__480__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__480__29_8h.html">config_big_480_29.h</a> <a href="config__big__480__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__480__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__480__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__480__56_8h.html">config_big_480_56.h</a> <a href="config__big__480__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__480__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__512__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__512__29_8h.html">config_big_512_29.h</a> <a href="config__big__512__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__512__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__512__56_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__512__56_8h.html">config_big_512_56.h</a> <a href="config__big__512__56_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__512__56_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__512__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__512__60_8h.html">config_big_512_60.h</a> <a href="config__big__512__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__512__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__528__28_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__528__28_8h.html">config_big_528_28.h</a> <a href="config__big__528__28_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__528__28_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__528__60_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__528__60_8h.html">config_big_528_60.h</a> <a href="config__big__528__60_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__528__60_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:config__big__560__29_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__560__29_8h.html">config_big_560_29.h</a> <a href="config__big__560__29_8h_source.html">[code]</a></td></tr>
-<tr class="memdesc:config__big__560__29_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:config__big__560__58_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="config__big__560__58_8h.html">config_big_560_58.h</a> <a href="config__big__560__58_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:config__big__560__58_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config BIG Header File. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -687,7 +612,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/dir_e68e8157741866f444e17edd764ebbae.html b/website/static/cdocs/dir_e68e8157741866f444e17edd764ebbae.html
deleted file mode 100644
index 754233e..0000000
--- a/website/static/cdocs/dir_e68e8157741866f444e17edd764ebbae.html
+++ /dev/null
@@ -1,80 +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: doc Directory 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_e68e8157741866f444e17edd764ebbae.html">doc</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">doc Directory Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-</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/doxygen.css b/website/static/cdocs/doxygen.css
index e251592..4f1ab91 100644
--- a/website/static/cdocs/doxygen.css
+++ b/website/static/cdocs/doxygen.css
@@ -1,4 +1,4 @@
-/* The standard CSS for doxygen 1.8.15 */
+/* The standard CSS for doxygen 1.8.13 */
 
 body, table, div, p, dl {
 	font: 400 14px/22px Roboto,sans-serif;
@@ -80,15 +80,6 @@
 	margin-bottom: 2px;
 }
 
-p.interli {
-}
-
-p.interdd {
-}
-
-p.intertd {
-}
-
 /* @end */
 
 caption {
@@ -143,12 +134,12 @@
 a.qindexHL {
 	font-weight: bold;
 	background-color: #9CAFD4;
-	color: #FFFFFF;
+	color: #ffffff;
 	border: 1px double #869DCA;
 }
 
 .contents a.qindexHL:visited {
-        color: #FFFFFF;
+        color: #ffffff;
 }
 
 a.el {
@@ -172,25 +163,6 @@
 	margin-left: -1cm;
 }
 
-ul {
-  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
-}
-
-#side-nav ul {
-  overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
-}
-
-#main-nav ul {
-  overflow: visible; /* reset ul rule for the navigation bar drop down lists */
-}
-
-.fragment {
-  text-align: left;
-  direction: ltr;
-  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
-  overflow-y: hidden;
-}
-
 pre.fragment {
         border: 1px solid #C4CFE5;
         background-color: #FBFCFD;
@@ -205,8 +177,8 @@
 }
 
 div.fragment {
-  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
-  margin: 4px 8px 4px 2px;
+        padding: 0px;
+        margin: 4px 8px 4px 2px;
 	background-color: #FBFCFD;
 	border: 1px solid #C4CFE5;
 }
@@ -276,7 +248,7 @@
 div.ah, span.ah {
 	background-color: black;
 	font-weight: bold;
-	color: #FFFFFF;
+	color: #ffffff;
 	margin-bottom: 3px;
 	margin-top: 3px;
 	padding: 0.2em;
@@ -352,7 +324,7 @@
 	
 }
 
-img.formulaInl, img.inline {
+img.formulaInl {
 	vertical-align: middle;
 }
 
@@ -430,13 +402,6 @@
         padding: 0 12px 0 16px;
 }
 
-blockquote.DocNodeRTL {
-   border-left: 0;
-   border-right: 2px solid #9CAFD4;
-   margin: 0 4px 0 24px;
-   padding: 0 16px 0 12px;
-}
-
 /* @end */
 
 /*
@@ -701,17 +666,17 @@
         padding-left: 0px;
 }       
 
-.params .paramname, .retval .paramname, .tparams .paramname {
+.params .paramname, .retval .paramname {
         font-weight: bold;
         vertical-align: top;
 }
         
-.params .paramtype, .tparams .paramtype {
+.params .paramtype {
         font-style: italic;
         vertical-align: top;
 }       
         
-.params .paramdir, .tparams .paramdir {
+.params .paramdir {
         font-family: "courier new",courier,monospace;
         vertical-align: top;
 }
@@ -1116,143 +1081,72 @@
 	padding: 5px 5px 5px 10px;
 }
 
-.PageDocRTL-title div.headertitle {
-  text-align: right;
-  direction: rtl;
+dl
+{
+        padding: 0 0 0 10px;
 }
 
-dl {
-        padding: 0 0 0 0;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
-dl.section {
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
 	margin-left: 0px;
 	padding-left: 0px;
 }
 
-dl.section.DocNodeRTL {
-  margin-right: 0px;
-  padding-right: 0px;
+dl.note
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #D0C000;
 }
 
-dl.note {
-  margin-left: -7px;
-  padding-left: 3px;
-  border-left: 4px solid;
-  border-color: #D0C000;
+dl.warning, dl.attention
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #FF0000;
 }
 
-dl.note.DocNodeRTL {
-  margin-left: 0;
-  padding-left: 0;
-  border-left: 0;
-  margin-right: -7px;
-  padding-right: 3px;
-  border-right: 4px solid;
-  border-color: #D0C000;
+dl.pre, dl.post, dl.invariant
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00D000;
 }
 
-dl.warning, dl.attention {
-  margin-left: -7px;
-  padding-left: 3px;
-  border-left: 4px solid;
-  border-color: #FF0000;
+dl.deprecated
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #505050;
 }
 
-dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
-  margin-left: 0;
-  padding-left: 0;
-  border-left: 0;
-  margin-right: -7px;
-  padding-right: 3px;
-  border-right: 4px solid;
-  border-color: #FF0000;
+dl.todo
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00C0E0;
 }
 
-dl.pre, dl.post, dl.invariant {
-  margin-left: -7px;
-  padding-left: 3px;
-  border-left: 4px solid;
-  border-color: #00D000;
+dl.test
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #3030E0;
 }
 
-dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
-  margin-left: 0;
-  padding-left: 0;
-  border-left: 0;
-  margin-right: -7px;
-  padding-right: 3px;
-  border-right: 4px solid;
-  border-color: #00D000;
-}
-
-dl.deprecated {
-  margin-left: -7px;
-  padding-left: 3px;
-  border-left: 4px solid;
-  border-color: #505050;
-}
-
-dl.deprecated.DocNodeRTL {
-  margin-left: 0;
-  padding-left: 0;
-  border-left: 0;
-  margin-right: -7px;
-  padding-right: 3px;
-  border-right: 4px solid;
-  border-color: #505050;
-}
-
-dl.todo {
-  margin-left: -7px;
-  padding-left: 3px;
-  border-left: 4px solid;
-  border-color: #00C0E0;
-}
-
-dl.todo.DocNodeRTL {
-  margin-left: 0;
-  padding-left: 0;
-  border-left: 0;
-  margin-right: -7px;
-  padding-right: 3px;
-  border-right: 4px solid;
-  border-color: #00C0E0;
-}
-
-dl.test {
-  margin-left: -7px;
-  padding-left: 3px;
-  border-left: 4px solid;
-  border-color: #3030E0;
-}
-
-dl.test.DocNodeRTL {
-  margin-left: 0;
-  padding-left: 0;
-  border-left: 0;
-  margin-right: -7px;
-  padding-right: 3px;
-  border-right: 4px solid;
-  border-color: #3030E0;
-}
-
-dl.bug {
-  margin-left: -7px;
-  padding-left: 3px;
-  border-left: 4px solid;
-  border-color: #C08050;
-}
-
-dl.bug.DocNodeRTL {
-  margin-left: 0;
-  padding-left: 0;
-  border-left: 0;
-  margin-right: -7px;
-  padding-right: 3px;
-  border-right: 4px solid;
-  border-color: #C08050;
+dl.bug
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #C08050;
 }
 
 dl.section dd {
@@ -1369,11 +1263,6 @@
         width: 200px;
 }
 
-.PageDocRTL-title div.toc {
-  float: left !important;
-  text-align: right;
-}
-
 div.toc li {
         background: url("bdwn.png") no-repeat scroll 0 5px transparent;
         font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
@@ -1382,12 +1271,6 @@
         padding-top: 2px;
 }
 
-.PageDocRTL-title div.toc li {
-  background-position-x: right !important;
-  padding-left: 0 !important;
-  padding-right: 10px;
-}
-
 div.toc h3 {
         font: bold 12px/1.2 Arial,FreeSans,sans-serif;
 	color: #4665A2;
@@ -1417,26 +1300,6 @@
         margin-left: 45px;
 }
 
-.PageDocRTL-title div.toc li.level1 {
-  margin-left: 0 !important;
-  margin-right: 0;
-}
-
-.PageDocRTL-title div.toc li.level2 {
-  margin-left: 0 !important;
-  margin-right: 15px;
-}
-
-.PageDocRTL-title div.toc li.level3 {
-  margin-left: 0 !important;
-  margin-right: 30px;
-}
-
-.PageDocRTL-title div.toc li.level4 {
-  margin-left: 0 !important;
-  margin-right: 45px;
-}
-
 .inherit_header {
         font-weight: bold;
         color: gray;
@@ -1550,7 +1413,7 @@
 }
 
 #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
-	border-top-color: #FFFFFF;
+	border-top-color: #ffffff;
 	border-width: 10px;
 	margin: 0px -10px;
 }
@@ -1578,7 +1441,7 @@
 }
 
 #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
-	border-bottom-color: #FFFFFF;
+	border-bottom-color: #ffffff;
 	border-width: 10px;
 	margin: 0px -10px;
 }
@@ -1605,7 +1468,7 @@
 	left: 100%;
 }
 #powerTip.e:after {
-	border-left-color: #FFFFFF;
+	border-left-color: #ffffff;
 	border-width: 10px;
 	top: 50%;
 	margin-top: -10px;
@@ -1621,7 +1484,7 @@
 	right: 100%;
 }
 #powerTip.w:after {
-	border-right-color: #FFFFFF;
+	border-right-color: #ffffff;
 	border-width: 10px;
 	top: 50%;
 	margin-top: -10px;
@@ -1729,36 +1592,5 @@
 	text-align: center
 }
 
-.DocNodeRTL {
-  text-align: right;
-  direction: rtl;
-}
 
-.DocNodeLTR {
-  text-align: left;
-  direction: ltr;
-}
-
-table.DocNodeRTL {
-   width: auto;
-   margin-right: 0;
-   margin-left: auto;
-}
-
-table.DocNodeLTR {
-   width: auto;
-   margin-right: auto;
-   margin-left: 0;
-}
-
-tt, code, kbd, samp
-{
-  display: inline-block;
-  direction:ltr; 
-}
 /* @end */
-
-u {
-	text-decoration: underline;
-}
-
diff --git a/website/static/cdocs/dynsections.js b/website/static/cdocs/dynsections.js
index ea0a7b3..85e1836 100644
--- a/website/static/cdocs/dynsections.js
+++ b/website/static/cdocs/dynsections.js
@@ -1,26 +1,3 @@
-/*
- @licstart  The following is the entire license notice for the
- JavaScript code in this file.
-
- Copyright (C) 1997-2017 by Dimitri van Heesch
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- @licend  The above is the entire license notice
- for the JavaScript code in this file
- */
 function toggleVisibility(linkObj)
 {
  var base = $(linkObj).attr('id');
@@ -38,7 +15,7 @@
    summary.hide();
    $(linkObj).removeClass('closed').addClass('opened');
    $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- }
+ } 
  return false;
 }
 
@@ -117,4 +94,4 @@
     $(img).attr('src',src.substring(0,src.length-10)+'open.png');
   }
 }
-/* @license-end */
+
diff --git a/website/static/cdocs/ecdh__ANSSI_8h.html b/website/static/cdocs/ecdh__ANSSI_8h.html
index afcb8f2..5f9dde1 100644
--- a/website/static/cdocs/ecdh__ANSSI_8h.html
+++ b/website/static/cdocs/ecdh__ANSSI_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: ecdh_ANSSI.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"
@@ -625,7 +628,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/ecdh__ANSSI_8h_source.html b/website/static/cdocs/ecdh__ANSSI_8h_source.html
index 757cf5a..5745d76 100644
--- a/website/static/cdocs/ecdh__ANSSI_8h_source.html
+++ b/website/static/cdocs/ecdh__ANSSI_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: ecdh_ANSSI.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,23 +72,23 @@
 <div class="title">ecdh_ANSSI.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__ANSSI_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_ANSSI_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_ANSSI_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__ANSSI_8h.html">ecp_ANSSI.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_ANSSI 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_ANSSI SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__ANSSI_8h.html#a8d8ef1be1ce2eda3a4d3284ec947e55c">   42</a></span>&#160;<span class="preprocessor">#define EGS_ANSSI MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a555e6669039264f2dc8ce75145d5d4a6">   43</a></span>&#160;<span class="preprocessor">#define EFS_ANSSI MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__ANSSI_8h.html#adc1f367bc840a6cc7f3c42f322e230b6">ECP_ANSSI_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__ANSSI_8h.html#aca12f0e1f8cb328e57039e0b4538e8e7">ECP_ANSSI_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__ANSSI_8h.html#a7b1dc95e10f7e12fa595253783eae7fd">ECP_ANSSI_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__ANSSI_8h.html#a2da4ee76551ff164ecf9fcf2e8ce8c45">ECP_ANSSI_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ANSSI_8h.html#ab225e1688ae8c864a635f25073d291f3">ECP_ANSSI_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ANSSI_8h.html#ae8abb30c87f86db49c72b9176ed9079e">ECP_ANSSI_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ANSSI_8h.html#a3956ea7518b009bdaf0cab79e75d3184">ECP_ANSSI_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__ANSSI_8h_html_a2da4ee76551ff164ecf9fcf2e8ce8c45"><div class="ttname"><a href="ecdh__ANSSI_8h.html#a2da4ee76551ff164ecf9fcf2e8ce8c45">ECP_ANSSI_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_ANSSI_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</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="ecdh__ANSSI_8h_html_ab225e1688ae8c864a635f25073d291f3"><div class="ttname"><a href="ecdh__ANSSI_8h.html#ab225e1688ae8c864a635f25073d291f3">ECP_ANSSI_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_ANSSI_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__ANSSI_8h_html_aca12f0e1f8cb328e57039e0b4538e8e7"><div class="ttname"><a href="ecdh__ANSSI_8h.html#aca12f0e1f8cb328e57039e0b4538e8e7">ECP_ANSSI_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_ANSSI_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_ANSSI.c:68</div></div>
-<div class="ttc" id="ecdh__ANSSI_8h_html_a7b1dc95e10f7e12fa595253783eae7fd"><div class="ttname"><a href="ecdh__ANSSI_8h.html#a7b1dc95e10f7e12fa595253783eae7fd">ECP_ANSSI_SVDP_DH</a></div><div class="ttdeci">int ECP_ANSSI_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_ANSSI.c:104</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="ecdh__ANSSI_8h_html_adc1f367bc840a6cc7f3c42f322e230b6"><div class="ttname"><a href="ecdh__ANSSI_8h.html#adc1f367bc840a6cc7f3c42f322e230b6">ECP_ANSSI_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_ANSSI_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_ANSSI.c:34</div></div>
-<div class="ttc" id="ecdh__ANSSI_8h_html_ae8abb30c87f86db49c72b9176ed9079e"><div class="ttname"><a href="ecdh__ANSSI_8h.html#ae8abb30c87f86db49c72b9176ed9079e">ECP_ANSSI_SP_DSA</a></div><div class="ttdeci">int ECP_ANSSI_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__ANSSI_8h_html_a3956ea7518b009bdaf0cab79e75d3184"><div class="ttname"><a href="ecdh__ANSSI_8h.html#a3956ea7518b009bdaf0cab79e75d3184">ECP_ANSSI_VP_DSA</a></div><div class="ttdeci">int ECP_ANSSI_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html"><div class="ttname"><a href="ecp__ANSSI_8h.html">ecp_ANSSI.h</a></div><div class="ttdoc">ECP Header File.</div></div>
+<a href="ecdh__ANSSI_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_ANSSI_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_ANSSI_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__ANSSI_8h.html">ecp_ANSSI.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_ANSSI 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_ANSSI SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__ANSSI_8h.html#a8d8ef1be1ce2eda3a4d3284ec947e55c">   42</a></span>&#160;<span class="preprocessor">#define EGS_ANSSI MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a555e6669039264f2dc8ce75145d5d4a6">   43</a></span>&#160;<span class="preprocessor">#define EFS_ANSSI MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__ANSSI_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__ANSSI_8h.html#adc1f367bc840a6cc7f3c42f322e230b6">ECP_ANSSI_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__ANSSI_8h.html#aca12f0e1f8cb328e57039e0b4538e8e7">ECP_ANSSI_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__ANSSI_8h.html#a7b1dc95e10f7e12fa595253783eae7fd">ECP_ANSSI_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__ANSSI_8h.html#a2da4ee76551ff164ecf9fcf2e8ce8c45">ECP_ANSSI_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ANSSI_8h.html#ab225e1688ae8c864a635f25073d291f3">ECP_ANSSI_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ANSSI_8h.html#ae8abb30c87f86db49c72b9176ed9079e">ECP_ANSSI_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ANSSI_8h.html#a3956ea7518b009bdaf0cab79e75d3184">ECP_ANSSI_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__ANSSI_8h_html_a2da4ee76551ff164ecf9fcf2e8ce8c45"><div class="ttname"><a href="ecdh__ANSSI_8h.html#a2da4ee76551ff164ecf9fcf2e8ce8c45">ECP_ANSSI_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_ANSSI_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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="ecdh__ANSSI_8h_html_ab225e1688ae8c864a635f25073d291f3"><div class="ttname"><a href="ecdh__ANSSI_8h.html#ab225e1688ae8c864a635f25073d291f3">ECP_ANSSI_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_ANSSI_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__ANSSI_8h_html_aca12f0e1f8cb328e57039e0b4538e8e7"><div class="ttname"><a href="ecdh__ANSSI_8h.html#aca12f0e1f8cb328e57039e0b4538e8e7">ECP_ANSSI_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_ANSSI_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_ANSSI.c:68</div></div>
+<div class="ttc" id="ecdh__ANSSI_8h_html_a7b1dc95e10f7e12fa595253783eae7fd"><div class="ttname"><a href="ecdh__ANSSI_8h.html#a7b1dc95e10f7e12fa595253783eae7fd">ECP_ANSSI_SVDP_DH</a></div><div class="ttdeci">int ECP_ANSSI_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_ANSSI.c:104</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="ecdh__ANSSI_8h_html_adc1f367bc840a6cc7f3c42f322e230b6"><div class="ttname"><a href="ecdh__ANSSI_8h.html#adc1f367bc840a6cc7f3c42f322e230b6">ECP_ANSSI_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_ANSSI_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_ANSSI.c:34</div></div>
+<div class="ttc" id="ecdh__ANSSI_8h_html_ae8abb30c87f86db49c72b9176ed9079e"><div class="ttname"><a href="ecdh__ANSSI_8h.html#ae8abb30c87f86db49c72b9176ed9079e">ECP_ANSSI_SP_DSA</a></div><div class="ttdeci">int ECP_ANSSI_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__ANSSI_8h_html_a3956ea7518b009bdaf0cab79e75d3184"><div class="ttname"><a href="ecdh__ANSSI_8h.html#a3956ea7518b009bdaf0cab79e75d3184">ECP_ANSSI_VP_DSA</a></div><div class="ttdeci">int ECP_ANSSI_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html"><div class="ttname"><a href="ecp__ANSSI_8h.html">ecp_ANSSI.h</a></div><div class="ttdoc">ECP Header File. </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/ecdh__BLS24_8h.html b/website/static/cdocs/ecdh__BLS24_8h.html
index 1f72664..0cc618b 100644
--- a/website/static/cdocs/ecdh__BLS24_8h.html
+++ b/website/static/cdocs/ecdh__BLS24_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: ecdh_BLS24.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"
@@ -625,7 +628,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/ecdh__BLS24_8h_source.html b/website/static/cdocs/ecdh__BLS24_8h_source.html
index 7cadf5e..c88ac63 100644
--- a/website/static/cdocs/ecdh__BLS24_8h_source.html
+++ b/website/static/cdocs/ecdh__BLS24_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: ecdh_BLS24.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,23 +72,23 @@
 <div class="title">ecdh_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BLS24_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS24_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS24_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS24_8h.html">ecp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS24 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS24 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS24_8h.html#a9b14525789aa254b43ebe7e5147631ed">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#afdf8c183d3ebb5b740a539b59c6a749b">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS24_8h.html#a66bbd5be627662cf84c916cea89306e7">ECP_BLS24_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS24_8h.html#a2ed8999f76d28bc8c15db52f593e6e3a">ECP_BLS24_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS24_8h.html#ae5eab327f29bd4bc36e781f76dcea192">ECP_BLS24_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS24_8h.html#a55012e1cb7ac4c0f7e9eee0e11efb5d3">ECP_BLS24_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS24_8h.html#a552f983ee0e34bab74baceff26895793">ECP_BLS24_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS24_8h.html#a31b5839b3db8636db7807d44096a64eb">ECP_BLS24_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS24_8h.html#a69912b7515754f357a18a1f948a06496">ECP_BLS24_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BLS24_8h_html_a552f983ee0e34bab74baceff26895793"><div class="ttname"><a href="ecdh__BLS24_8h.html#a552f983ee0e34bab74baceff26895793">ECP_BLS24_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS24_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__BLS24_8h_html_a66bbd5be627662cf84c916cea89306e7"><div class="ttname"><a href="ecdh__BLS24_8h.html#a66bbd5be627662cf84c916cea89306e7">ECP_BLS24_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS24_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS24.c:34</div></div>
-<div class="ttc" id="ecdh__BLS24_8h_html_a31b5839b3db8636db7807d44096a64eb"><div class="ttname"><a href="ecdh__BLS24_8h.html#a31b5839b3db8636db7807d44096a64eb">ECP_BLS24_SP_DSA</a></div><div class="ttdeci">int ECP_BLS24_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html"><div class="ttname"><a href="ecp__BLS24_8h.html">ecp_BLS24.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__BLS24_8h_html_ae5eab327f29bd4bc36e781f76dcea192"><div class="ttname"><a href="ecdh__BLS24_8h.html#ae5eab327f29bd4bc36e781f76dcea192">ECP_BLS24_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS24_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS24.c:104</div></div>
-<div class="ttc" id="ecdh__BLS24_8h_html_a69912b7515754f357a18a1f948a06496"><div class="ttname"><a href="ecdh__BLS24_8h.html#a69912b7515754f357a18a1f948a06496">ECP_BLS24_VP_DSA</a></div><div class="ttdeci">int ECP_BLS24_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</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="ecdh__BLS24_8h_html_a55012e1cb7ac4c0f7e9eee0e11efb5d3"><div class="ttname"><a href="ecdh__BLS24_8h.html#a55012e1cb7ac4c0f7e9eee0e11efb5d3">ECP_BLS24_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS24_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__BLS24_8h_html_a2ed8999f76d28bc8c15db52f593e6e3a"><div class="ttname"><a href="ecdh__BLS24_8h.html#a2ed8999f76d28bc8c15db52f593e6e3a">ECP_BLS24_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS24_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS24.c:68</div></div>
+<a href="ecdh__BLS24_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS24_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS24_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS24_8h.html">ecp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS24 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS24 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS24_8h.html#a9b14525789aa254b43ebe7e5147631ed">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#afdf8c183d3ebb5b740a539b59c6a749b">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS24_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS24_8h.html#a66bbd5be627662cf84c916cea89306e7">ECP_BLS24_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS24_8h.html#a2ed8999f76d28bc8c15db52f593e6e3a">ECP_BLS24_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS24_8h.html#ae5eab327f29bd4bc36e781f76dcea192">ECP_BLS24_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS24_8h.html#a55012e1cb7ac4c0f7e9eee0e11efb5d3">ECP_BLS24_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS24_8h.html#a552f983ee0e34bab74baceff26895793">ECP_BLS24_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS24_8h.html#a31b5839b3db8636db7807d44096a64eb">ECP_BLS24_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS24_8h.html#a69912b7515754f357a18a1f948a06496">ECP_BLS24_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BLS24_8h_html_a552f983ee0e34bab74baceff26895793"><div class="ttname"><a href="ecdh__BLS24_8h.html#a552f983ee0e34bab74baceff26895793">ECP_BLS24_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS24_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__BLS24_8h_html_a66bbd5be627662cf84c916cea89306e7"><div class="ttname"><a href="ecdh__BLS24_8h.html#a66bbd5be627662cf84c916cea89306e7">ECP_BLS24_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS24_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS24.c:34</div></div>
+<div class="ttc" id="ecdh__BLS24_8h_html_a31b5839b3db8636db7807d44096a64eb"><div class="ttname"><a href="ecdh__BLS24_8h.html#a31b5839b3db8636db7807d44096a64eb">ECP_BLS24_SP_DSA</a></div><div class="ttdeci">int ECP_BLS24_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecp__BLS24_8h_html"><div class="ttname"><a href="ecp__BLS24_8h.html">ecp_BLS24.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__BLS24_8h_html_ae5eab327f29bd4bc36e781f76dcea192"><div class="ttname"><a href="ecdh__BLS24_8h.html#ae5eab327f29bd4bc36e781f76dcea192">ECP_BLS24_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS24_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS24.c:104</div></div>
+<div class="ttc" id="ecdh__BLS24_8h_html_a69912b7515754f357a18a1f948a06496"><div class="ttname"><a href="ecdh__BLS24_8h.html#a69912b7515754f357a18a1f948a06496">ECP_BLS24_VP_DSA</a></div><div class="ttdeci">int ECP_BLS24_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </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="ecdh__BLS24_8h_html_a55012e1cb7ac4c0f7e9eee0e11efb5d3"><div class="ttname"><a href="ecdh__BLS24_8h.html#a55012e1cb7ac4c0f7e9eee0e11efb5d3">ECP_BLS24_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS24_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__BLS24_8h_html_a2ed8999f76d28bc8c15db52f593e6e3a"><div class="ttname"><a href="ecdh__BLS24_8h.html#a2ed8999f76d28bc8c15db52f593e6e3a">ECP_BLS24_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS24_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS24.c:68</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/ecdh__BLS381_8h.html b/website/static/cdocs/ecdh__BLS381_8h.html
index 03ebe3a..e5914bb 100644
--- a/website/static/cdocs/ecdh__BLS381_8h.html
+++ b/website/static/cdocs/ecdh__BLS381_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: ecdh_BLS381.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"
@@ -625,7 +628,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/ecdh__BLS381_8h_source.html b/website/static/cdocs/ecdh__BLS381_8h_source.html
index 233a699..ecf64bc 100644
--- a/website/static/cdocs/ecdh__BLS381_8h_source.html
+++ b/website/static/cdocs/ecdh__BLS381_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: ecdh_BLS381.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,23 +72,23 @@
 <div class="title">ecdh_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BLS381_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS381_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS381_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS381_8h.html">ecp_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS381 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS381 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS381_8h.html#a1c15c18e7db69cff6e8b6c75c0fa6acf">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a4b4df9df98e090f5b1d19cc935b020d5">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS381_8h.html#a8e4fded6efde3462418822e551504733">ECP_BLS381_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS381_8h.html#aab29c5a110e32e019fabac150fb1386a">ECP_BLS381_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS381_8h.html#a68024405d3df84389f8850cf9079c272">ECP_BLS381_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS381_8h.html#a620b48f1e68f716c937de02431288b90">ECP_BLS381_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS381_8h.html#aa9deff93c6a21354958278c58e8b15d8">ECP_BLS381_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS381_8h.html#a6295d26e0b8bcdbaf4cdbad9f68f399f">ECP_BLS381_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS381_8h.html#af328885e1d0ef09895523c422e1729bb">ECP_BLS381_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__BLS381_8h_html"><div class="ttname"><a href="ecp__BLS381_8h.html">ecp_BLS381.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__BLS381_8h_html_a8e4fded6efde3462418822e551504733"><div class="ttname"><a href="ecdh__BLS381_8h.html#a8e4fded6efde3462418822e551504733">ECP_BLS381_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS381_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS381.c:34</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="ecdh__BLS381_8h_html_a6295d26e0b8bcdbaf4cdbad9f68f399f"><div class="ttname"><a href="ecdh__BLS381_8h.html#a6295d26e0b8bcdbaf4cdbad9f68f399f">ECP_BLS381_SP_DSA</a></div><div class="ttdeci">int ECP_BLS381_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__BLS381_8h_html_aa9deff93c6a21354958278c58e8b15d8"><div class="ttname"><a href="ecdh__BLS381_8h.html#aa9deff93c6a21354958278c58e8b15d8">ECP_BLS381_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS381_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__BLS381_8h_html_a620b48f1e68f716c937de02431288b90"><div class="ttname"><a href="ecdh__BLS381_8h.html#a620b48f1e68f716c937de02431288b90">ECP_BLS381_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS381_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__BLS381_8h_html_a68024405d3df84389f8850cf9079c272"><div class="ttname"><a href="ecdh__BLS381_8h.html#a68024405d3df84389f8850cf9079c272">ECP_BLS381_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS381_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS381.c:104</div></div>
-<div class="ttc" id="ecdh__BLS381_8h_html_aab29c5a110e32e019fabac150fb1386a"><div class="ttname"><a href="ecdh__BLS381_8h.html#aab29c5a110e32e019fabac150fb1386a">ECP_BLS381_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS381_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS381.c:68</div></div>
-<div class="ttc" id="ecdh__BLS381_8h_html_af328885e1d0ef09895523c422e1729bb"><div class="ttname"><a href="ecdh__BLS381_8h.html#af328885e1d0ef09895523c422e1729bb">ECP_BLS381_VP_DSA</a></div><div class="ttdeci">int ECP_BLS381_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</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>
+<a href="ecdh__BLS381_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS381_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS381_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS381_8h.html">ecp_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS381 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS381 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS381_8h.html#a1c15c18e7db69cff6e8b6c75c0fa6acf">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a4b4df9df98e090f5b1d19cc935b020d5">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS381_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS381_8h.html#a8e4fded6efde3462418822e551504733">ECP_BLS381_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS381_8h.html#aab29c5a110e32e019fabac150fb1386a">ECP_BLS381_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS381_8h.html#a68024405d3df84389f8850cf9079c272">ECP_BLS381_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS381_8h.html#a620b48f1e68f716c937de02431288b90">ECP_BLS381_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS381_8h.html#aa9deff93c6a21354958278c58e8b15d8">ECP_BLS381_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS381_8h.html#a6295d26e0b8bcdbaf4cdbad9f68f399f">ECP_BLS381_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS381_8h.html#af328885e1d0ef09895523c422e1729bb">ECP_BLS381_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__BLS381_8h_html"><div class="ttname"><a href="ecp__BLS381_8h.html">ecp_BLS381.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__BLS381_8h_html_a8e4fded6efde3462418822e551504733"><div class="ttname"><a href="ecdh__BLS381_8h.html#a8e4fded6efde3462418822e551504733">ECP_BLS381_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS381_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS381.c:34</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="ecdh__BLS381_8h_html_a6295d26e0b8bcdbaf4cdbad9f68f399f"><div class="ttname"><a href="ecdh__BLS381_8h.html#a6295d26e0b8bcdbaf4cdbad9f68f399f">ECP_BLS381_SP_DSA</a></div><div class="ttdeci">int ECP_BLS381_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__BLS381_8h_html_aa9deff93c6a21354958278c58e8b15d8"><div class="ttname"><a href="ecdh__BLS381_8h.html#aa9deff93c6a21354958278c58e8b15d8">ECP_BLS381_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS381_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__BLS381_8h_html_a620b48f1e68f716c937de02431288b90"><div class="ttname"><a href="ecdh__BLS381_8h.html#a620b48f1e68f716c937de02431288b90">ECP_BLS381_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS381_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__BLS381_8h_html_a68024405d3df84389f8850cf9079c272"><div class="ttname"><a href="ecdh__BLS381_8h.html#a68024405d3df84389f8850cf9079c272">ECP_BLS381_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS381_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS381.c:104</div></div>
+<div class="ttc" id="ecdh__BLS381_8h_html_aab29c5a110e32e019fabac150fb1386a"><div class="ttname"><a href="ecdh__BLS381_8h.html#aab29c5a110e32e019fabac150fb1386a">ECP_BLS381_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS381_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS381.c:68</div></div>
+<div class="ttc" id="ecdh__BLS381_8h_html_af328885e1d0ef09895523c422e1729bb"><div class="ttname"><a href="ecdh__BLS381_8h.html#af328885e1d0ef09895523c422e1729bb">ECP_BLS381_VP_DSA</a></div><div class="ttdeci">int ECP_BLS381_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </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><!-- 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/ecdh__BLS383_8h.html b/website/static/cdocs/ecdh__BLS383_8h.html
index c655732..edd5556 100644
--- a/website/static/cdocs/ecdh__BLS383_8h.html
+++ b/website/static/cdocs/ecdh__BLS383_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: ecdh_BLS383.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"
@@ -625,7 +628,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/ecdh__BLS383_8h_source.html b/website/static/cdocs/ecdh__BLS383_8h_source.html
index e9f7d0a..d1b50ed 100644
--- a/website/static/cdocs/ecdh__BLS383_8h_source.html
+++ b/website/static/cdocs/ecdh__BLS383_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: ecdh_BLS383.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,23 +72,23 @@
 <div class="title">ecdh_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BLS383_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS383_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS383_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS383_8h.html">ecp_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS383 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS383 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS383_8h.html#a2f61211b8a917ec7c8cf7ed3543989dd">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a0ce7b6818e9120a55a301b153be6ac77">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS383_8h.html#af14a73ddf45dc8b49dd3297e6a2e8851">ECP_BLS383_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS383_8h.html#abab9d4ca25928f40e3f9e56e0cdc97c7">ECP_BLS383_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS383_8h.html#a6a61281e7ea9bbcae558b3006e317a28">ECP_BLS383_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS383_8h.html#a3c6ecd81f9009d9a9d7915687a169a64">ECP_BLS383_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS383_8h.html#a20821e141877a6ebf561035b324d79a3">ECP_BLS383_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS383_8h.html#a53ad81ea3a0209173a028817b30f71ce">ECP_BLS383_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS383_8h.html#a544a92514f8fe1e185127745785bb8ba">ECP_BLS383_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__BLS383_8h_html"><div class="ttname"><a href="ecp__BLS383_8h.html">ecp_BLS383.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__BLS383_8h_html_abab9d4ca25928f40e3f9e56e0cdc97c7"><div class="ttname"><a href="ecdh__BLS383_8h.html#abab9d4ca25928f40e3f9e56e0cdc97c7">ECP_BLS383_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS383_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS383.c:68</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="ecdh__BLS383_8h_html_a6a61281e7ea9bbcae558b3006e317a28"><div class="ttname"><a href="ecdh__BLS383_8h.html#a6a61281e7ea9bbcae558b3006e317a28">ECP_BLS383_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS383_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS383.c:104</div></div>
-<div class="ttc" id="ecdh__BLS383_8h_html_af14a73ddf45dc8b49dd3297e6a2e8851"><div class="ttname"><a href="ecdh__BLS383_8h.html#af14a73ddf45dc8b49dd3297e6a2e8851">ECP_BLS383_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS383_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS383.c:34</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__BLS383_8h_html_a3c6ecd81f9009d9a9d7915687a169a64"><div class="ttname"><a href="ecdh__BLS383_8h.html#a3c6ecd81f9009d9a9d7915687a169a64">ECP_BLS383_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS383_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__BLS383_8h_html_a544a92514f8fe1e185127745785bb8ba"><div class="ttname"><a href="ecdh__BLS383_8h.html#a544a92514f8fe1e185127745785bb8ba">ECP_BLS383_VP_DSA</a></div><div class="ttdeci">int ECP_BLS383_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__BLS383_8h_html_a53ad81ea3a0209173a028817b30f71ce"><div class="ttname"><a href="ecdh__BLS383_8h.html#a53ad81ea3a0209173a028817b30f71ce">ECP_BLS383_SP_DSA</a></div><div class="ttdeci">int ECP_BLS383_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__BLS383_8h_html_a20821e141877a6ebf561035b324d79a3"><div class="ttname"><a href="ecdh__BLS383_8h.html#a20821e141877a6ebf561035b324d79a3">ECP_BLS383_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS383_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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>
+<a href="ecdh__BLS383_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS383_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS383_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS383_8h.html">ecp_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS383 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS383 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS383_8h.html#a2f61211b8a917ec7c8cf7ed3543989dd">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a0ce7b6818e9120a55a301b153be6ac77">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS383_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS383_8h.html#af14a73ddf45dc8b49dd3297e6a2e8851">ECP_BLS383_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS383_8h.html#abab9d4ca25928f40e3f9e56e0cdc97c7">ECP_BLS383_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS383_8h.html#a6a61281e7ea9bbcae558b3006e317a28">ECP_BLS383_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS383_8h.html#a3c6ecd81f9009d9a9d7915687a169a64">ECP_BLS383_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS383_8h.html#a20821e141877a6ebf561035b324d79a3">ECP_BLS383_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS383_8h.html#a53ad81ea3a0209173a028817b30f71ce">ECP_BLS383_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS383_8h.html#a544a92514f8fe1e185127745785bb8ba">ECP_BLS383_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__BLS383_8h_html"><div class="ttname"><a href="ecp__BLS383_8h.html">ecp_BLS383.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__BLS383_8h_html_abab9d4ca25928f40e3f9e56e0cdc97c7"><div class="ttname"><a href="ecdh__BLS383_8h.html#abab9d4ca25928f40e3f9e56e0cdc97c7">ECP_BLS383_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS383_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS383.c:68</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="ecdh__BLS383_8h_html_a6a61281e7ea9bbcae558b3006e317a28"><div class="ttname"><a href="ecdh__BLS383_8h.html#a6a61281e7ea9bbcae558b3006e317a28">ECP_BLS383_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS383_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS383.c:104</div></div>
+<div class="ttc" id="ecdh__BLS383_8h_html_af14a73ddf45dc8b49dd3297e6a2e8851"><div class="ttname"><a href="ecdh__BLS383_8h.html#af14a73ddf45dc8b49dd3297e6a2e8851">ECP_BLS383_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS383_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS383.c:34</div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__BLS383_8h_html_a3c6ecd81f9009d9a9d7915687a169a64"><div class="ttname"><a href="ecdh__BLS383_8h.html#a3c6ecd81f9009d9a9d7915687a169a64">ECP_BLS383_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS383_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__BLS383_8h_html_a544a92514f8fe1e185127745785bb8ba"><div class="ttname"><a href="ecdh__BLS383_8h.html#a544a92514f8fe1e185127745785bb8ba">ECP_BLS383_VP_DSA</a></div><div class="ttdeci">int ECP_BLS383_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__BLS383_8h_html_a53ad81ea3a0209173a028817b30f71ce"><div class="ttname"><a href="ecdh__BLS383_8h.html#a53ad81ea3a0209173a028817b30f71ce">ECP_BLS383_SP_DSA</a></div><div class="ttdeci">int ECP_BLS383_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__BLS383_8h_html_a20821e141877a6ebf561035b324d79a3"><div class="ttname"><a href="ecdh__BLS383_8h.html#a20821e141877a6ebf561035b324d79a3">ECP_BLS383_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS383_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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><!-- 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/ecdh__BLS461_8h.html b/website/static/cdocs/ecdh__BLS461_8h.html
index fbdbd4f..7d94b07 100644
--- a/website/static/cdocs/ecdh__BLS461_8h.html
+++ b/website/static/cdocs/ecdh__BLS461_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: ecdh_BLS461.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"
@@ -625,7 +628,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/ecdh__BLS461_8h_source.html b/website/static/cdocs/ecdh__BLS461_8h_source.html
index ad3480c..76643ae 100644
--- a/website/static/cdocs/ecdh__BLS461_8h_source.html
+++ b/website/static/cdocs/ecdh__BLS461_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: ecdh_BLS461.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,23 +72,23 @@
 <div class="title">ecdh_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BLS461_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS461_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS461_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS461_8h.html">ecp_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS461 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS461 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS461_8h.html#aae611de28eb2d317eded267d6f9ccf1b">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a91506cb52071b1c0bb27e87e26b48d5d">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS461_8h.html#aaf93a3d2e49517ca0a2da9d8fcf135c5">ECP_BLS461_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS461_8h.html#aa50c84e7ff076116fd8fd2a1080c1e9b">ECP_BLS461_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS461_8h.html#a493cab5594b02790b6b75aa0167ee4bb">ECP_BLS461_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS461_8h.html#ab6ccc522e22f501c87d42a424ca71eb3">ECP_BLS461_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS461_8h.html#a712cd34a523c2fff86b23d7147cd03f0">ECP_BLS461_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS461_8h.html#a2fd3dd6d5b888cac5e88aac05b978da9">ECP_BLS461_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS461_8h.html#a56472b676801b5b3c844072062889f5f">ECP_BLS461_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</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="ecdh__BLS461_8h_html_a2fd3dd6d5b888cac5e88aac05b978da9"><div class="ttname"><a href="ecdh__BLS461_8h.html#a2fd3dd6d5b888cac5e88aac05b978da9">ECP_BLS461_SP_DSA</a></div><div class="ttdeci">int ECP_BLS461_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__BLS461_8h_html_ab6ccc522e22f501c87d42a424ca71eb3"><div class="ttname"><a href="ecdh__BLS461_8h.html#ab6ccc522e22f501c87d42a424ca71eb3">ECP_BLS461_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS461_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__BLS461_8h_html_a712cd34a523c2fff86b23d7147cd03f0"><div class="ttname"><a href="ecdh__BLS461_8h.html#a712cd34a523c2fff86b23d7147cd03f0">ECP_BLS461_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS461_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html"><div class="ttname"><a href="ecp__BLS461_8h.html">ecp_BLS461.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__BLS461_8h_html_a493cab5594b02790b6b75aa0167ee4bb"><div class="ttname"><a href="ecdh__BLS461_8h.html#a493cab5594b02790b6b75aa0167ee4bb">ECP_BLS461_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS461_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS461.c:104</div></div>
-<div class="ttc" id="ecdh__BLS461_8h_html_a56472b676801b5b3c844072062889f5f"><div class="ttname"><a href="ecdh__BLS461_8h.html#a56472b676801b5b3c844072062889f5f">ECP_BLS461_VP_DSA</a></div><div class="ttdeci">int ECP_BLS461_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__BLS461_8h_html_aaf93a3d2e49517ca0a2da9d8fcf135c5"><div class="ttname"><a href="ecdh__BLS461_8h.html#aaf93a3d2e49517ca0a2da9d8fcf135c5">ECP_BLS461_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS461_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS461.c:34</div></div>
-<div class="ttc" id="ecdh__BLS461_8h_html_aa50c84e7ff076116fd8fd2a1080c1e9b"><div class="ttname"><a href="ecdh__BLS461_8h.html#aa50c84e7ff076116fd8fd2a1080c1e9b">ECP_BLS461_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS461_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS461.c:68</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>
+<a href="ecdh__BLS461_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS461_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS461_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS461_8h.html">ecp_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS461 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS461 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS461_8h.html#aae611de28eb2d317eded267d6f9ccf1b">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a91506cb52071b1c0bb27e87e26b48d5d">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS461_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS461_8h.html#aaf93a3d2e49517ca0a2da9d8fcf135c5">ECP_BLS461_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS461_8h.html#aa50c84e7ff076116fd8fd2a1080c1e9b">ECP_BLS461_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS461_8h.html#a493cab5594b02790b6b75aa0167ee4bb">ECP_BLS461_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS461_8h.html#ab6ccc522e22f501c87d42a424ca71eb3">ECP_BLS461_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS461_8h.html#a712cd34a523c2fff86b23d7147cd03f0">ECP_BLS461_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS461_8h.html#a2fd3dd6d5b888cac5e88aac05b978da9">ECP_BLS461_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS461_8h.html#a56472b676801b5b3c844072062889f5f">ECP_BLS461_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</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="ecdh__BLS461_8h_html_a2fd3dd6d5b888cac5e88aac05b978da9"><div class="ttname"><a href="ecdh__BLS461_8h.html#a2fd3dd6d5b888cac5e88aac05b978da9">ECP_BLS461_SP_DSA</a></div><div class="ttdeci">int ECP_BLS461_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__BLS461_8h_html_ab6ccc522e22f501c87d42a424ca71eb3"><div class="ttname"><a href="ecdh__BLS461_8h.html#ab6ccc522e22f501c87d42a424ca71eb3">ECP_BLS461_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS461_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__BLS461_8h_html_a712cd34a523c2fff86b23d7147cd03f0"><div class="ttname"><a href="ecdh__BLS461_8h.html#a712cd34a523c2fff86b23d7147cd03f0">ECP_BLS461_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS461_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecp__BLS461_8h_html"><div class="ttname"><a href="ecp__BLS461_8h.html">ecp_BLS461.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__BLS461_8h_html_a493cab5594b02790b6b75aa0167ee4bb"><div class="ttname"><a href="ecdh__BLS461_8h.html#a493cab5594b02790b6b75aa0167ee4bb">ECP_BLS461_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS461_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS461.c:104</div></div>
+<div class="ttc" id="ecdh__BLS461_8h_html_a56472b676801b5b3c844072062889f5f"><div class="ttname"><a href="ecdh__BLS461_8h.html#a56472b676801b5b3c844072062889f5f">ECP_BLS461_VP_DSA</a></div><div class="ttdeci">int ECP_BLS461_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__BLS461_8h_html_aaf93a3d2e49517ca0a2da9d8fcf135c5"><div class="ttname"><a href="ecdh__BLS461_8h.html#aaf93a3d2e49517ca0a2da9d8fcf135c5">ECP_BLS461_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS461_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS461.c:34</div></div>
+<div class="ttc" id="ecdh__BLS461_8h_html_aa50c84e7ff076116fd8fd2a1080c1e9b"><div class="ttname"><a href="ecdh__BLS461_8h.html#aa50c84e7ff076116fd8fd2a1080c1e9b">ECP_BLS461_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS461_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS461.c:68</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><!-- 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/ecdh__BLS48_8h.html b/website/static/cdocs/ecdh__BLS48_8h.html
index d788535..771eb19 100644
--- a/website/static/cdocs/ecdh__BLS48_8h.html
+++ b/website/static/cdocs/ecdh__BLS48_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: ecdh_BLS48.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"
@@ -625,7 +628,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/ecdh__BLS48_8h_source.html b/website/static/cdocs/ecdh__BLS48_8h_source.html
index a8dde1b..9edccab 100644
--- a/website/static/cdocs/ecdh__BLS48_8h_source.html
+++ b/website/static/cdocs/ecdh__BLS48_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: ecdh_BLS48.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,23 +72,23 @@
 <div class="title">ecdh_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BLS48_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS48_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS48_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS48_8h.html">ecp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS48 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS48 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS48_8h.html#aaa590105bd420f6d65e5bf2b64e47961">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a70071693256bcb043362aef00ac1b196">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS48_8h.html#a71694d11a19a7813b44b230361c436c5">ECP_BLS48_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS48_8h.html#adc3ba19d0add7be73dfbb3720af231e3">ECP_BLS48_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS48_8h.html#a01ec9a851cce0cab5354a20e3c5e327d">ECP_BLS48_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS48_8h.html#abc25b446a36b0196df25a4c86e49ae8c">ECP_BLS48_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS48_8h.html#a08f197190b6c6505ea0ab08c5d66524f">ECP_BLS48_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS48_8h.html#a3d5f2968d839870641b2b56ac71e7673">ECP_BLS48_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS48_8h.html#ab641543105860626afa45f5624653e67">ECP_BLS48_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BLS48_8h_html_a71694d11a19a7813b44b230361c436c5"><div class="ttname"><a href="ecdh__BLS48_8h.html#a71694d11a19a7813b44b230361c436c5">ECP_BLS48_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS48_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS48.c:34</div></div>
-<div class="ttc" id="ecdh__BLS48_8h_html_ab641543105860626afa45f5624653e67"><div class="ttname"><a href="ecdh__BLS48_8h.html#ab641543105860626afa45f5624653e67">ECP_BLS48_VP_DSA</a></div><div class="ttdeci">int ECP_BLS48_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html"><div class="ttname"><a href="ecp__BLS48_8h.html">ecp_BLS48.h</a></div><div class="ttdoc">ECP Header File.</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__BLS48_8h_html_abc25b446a36b0196df25a4c86e49ae8c"><div class="ttname"><a href="ecdh__BLS48_8h.html#abc25b446a36b0196df25a4c86e49ae8c">ECP_BLS48_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS48_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__BLS48_8h_html_a3d5f2968d839870641b2b56ac71e7673"><div class="ttname"><a href="ecdh__BLS48_8h.html#a3d5f2968d839870641b2b56ac71e7673">ECP_BLS48_SP_DSA</a></div><div class="ttdeci">int ECP_BLS48_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__BLS48_8h_html_a08f197190b6c6505ea0ab08c5d66524f"><div class="ttname"><a href="ecdh__BLS48_8h.html#a08f197190b6c6505ea0ab08c5d66524f">ECP_BLS48_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS48_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__BLS48_8h_html_adc3ba19d0add7be73dfbb3720af231e3"><div class="ttname"><a href="ecdh__BLS48_8h.html#adc3ba19d0add7be73dfbb3720af231e3">ECP_BLS48_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS48_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS48.c:68</div></div>
-<div class="ttc" id="ecdh__BLS48_8h_html_a01ec9a851cce0cab5354a20e3c5e327d"><div class="ttname"><a href="ecdh__BLS48_8h.html#a01ec9a851cce0cab5354a20e3c5e327d">ECP_BLS48_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS48_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BLS48.c:104</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>
+<a href="ecdh__BLS48_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BLS48_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BLS48_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS48_8h.html">ecp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BLS48 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BLS48 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BLS48_8h.html#aaa590105bd420f6d65e5bf2b64e47961">   42</a></span>&#160;<span class="preprocessor">#define EGS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a70071693256bcb043362aef00ac1b196">   43</a></span>&#160;<span class="preprocessor">#define EFS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BLS48_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BLS48_8h.html#a71694d11a19a7813b44b230361c436c5">ECP_BLS48_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BLS48_8h.html#adc3ba19d0add7be73dfbb3720af231e3">ECP_BLS48_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BLS48_8h.html#a01ec9a851cce0cab5354a20e3c5e327d">ECP_BLS48_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BLS48_8h.html#abc25b446a36b0196df25a4c86e49ae8c">ECP_BLS48_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS48_8h.html#a08f197190b6c6505ea0ab08c5d66524f">ECP_BLS48_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS48_8h.html#a3d5f2968d839870641b2b56ac71e7673">ECP_BLS48_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BLS48_8h.html#ab641543105860626afa45f5624653e67">ECP_BLS48_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BLS48_8h_html_a71694d11a19a7813b44b230361c436c5"><div class="ttname"><a href="ecdh__BLS48_8h.html#a71694d11a19a7813b44b230361c436c5">ECP_BLS48_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BLS48_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS48.c:34</div></div>
+<div class="ttc" id="ecdh__BLS48_8h_html_ab641543105860626afa45f5624653e67"><div class="ttname"><a href="ecdh__BLS48_8h.html#ab641543105860626afa45f5624653e67">ECP_BLS48_VP_DSA</a></div><div class="ttdeci">int ECP_BLS48_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecp__BLS48_8h_html"><div class="ttname"><a href="ecp__BLS48_8h.html">ecp_BLS48.h</a></div><div class="ttdoc">ECP Header File. </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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__BLS48_8h_html_abc25b446a36b0196df25a4c86e49ae8c"><div class="ttname"><a href="ecdh__BLS48_8h.html#abc25b446a36b0196df25a4c86e49ae8c">ECP_BLS48_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BLS48_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__BLS48_8h_html_a3d5f2968d839870641b2b56ac71e7673"><div class="ttname"><a href="ecdh__BLS48_8h.html#a3d5f2968d839870641b2b56ac71e7673">ECP_BLS48_SP_DSA</a></div><div class="ttdeci">int ECP_BLS48_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__BLS48_8h_html_a08f197190b6c6505ea0ab08c5d66524f"><div class="ttname"><a href="ecdh__BLS48_8h.html#a08f197190b6c6505ea0ab08c5d66524f">ECP_BLS48_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BLS48_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__BLS48_8h_html_adc3ba19d0add7be73dfbb3720af231e3"><div class="ttname"><a href="ecdh__BLS48_8h.html#adc3ba19d0add7be73dfbb3720af231e3">ECP_BLS48_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BLS48_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS48.c:68</div></div>
+<div class="ttc" id="ecdh__BLS48_8h_html_a01ec9a851cce0cab5354a20e3c5e327d"><div class="ttname"><a href="ecdh__BLS48_8h.html#a01ec9a851cce0cab5354a20e3c5e327d">ECP_BLS48_SVDP_DH</a></div><div class="ttdeci">int ECP_BLS48_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BLS48.c:104</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><!-- 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/ecdh__BN254CX_8h.html b/website/static/cdocs/ecdh__BN254CX_8h.html
index f3ef67d..b181a5b 100644
--- a/website/static/cdocs/ecdh__BN254CX_8h.html
+++ b/website/static/cdocs/ecdh__BN254CX_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: ecdh_BN254CX.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"
@@ -625,7 +628,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/ecdh__BN254CX_8h_source.html b/website/static/cdocs/ecdh__BN254CX_8h_source.html
index a1cc089..28856d1 100644
--- a/website/static/cdocs/ecdh__BN254CX_8h_source.html
+++ b/website/static/cdocs/ecdh__BN254CX_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: ecdh_BN254CX.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,23 +72,23 @@
 <div class="title">ecdh_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BN254CX_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BN254CX_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BN254CX_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BN254CX 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BN254CX SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BN254CX_8h.html#a92540f3cff17730f682883e77c76d92d">   42</a></span>&#160;<span class="preprocessor">#define EGS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a1e1879f29337f31d6aae53346ef7c2dd">   43</a></span>&#160;<span class="preprocessor">#define EFS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BN254CX_8h.html#ac3dd95ee2881c54b0cfec3bf8ba6e28b">ECP_BN254CX_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BN254CX_8h.html#a0086cc2053c5a0a1244fb7893d402a36">ECP_BN254CX_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BN254CX_8h.html#a5c8b2bb0f42b41bee495b02803b14c35">ECP_BN254CX_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BN254CX_8h.html#a1414a40d72ac29d9c6002a28ef72bcc9">ECP_BN254CX_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254CX_8h.html#a80b65c8754aba1418523c6504ad8f4a9">ECP_BN254CX_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254CX_8h.html#ae8410163d1d8126d58c804705a743089">ECP_BN254CX_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254CX_8h.html#a4b655260745db06ba25d515cde9da006">ECP_BN254CX_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BN254CX_8h_html_a0086cc2053c5a0a1244fb7893d402a36"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a0086cc2053c5a0a1244fb7893d402a36">ECP_BN254CX_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BN254CX_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BN254CX.c:68</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="ecdh__BN254CX_8h_html_ae8410163d1d8126d58c804705a743089"><div class="ttname"><a href="ecdh__BN254CX_8h.html#ae8410163d1d8126d58c804705a743089">ECP_BN254CX_SP_DSA</a></div><div class="ttdeci">int ECP_BN254CX_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__BN254CX_8h_html_a4b655260745db06ba25d515cde9da006"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a4b655260745db06ba25d515cde9da006">ECP_BN254CX_VP_DSA</a></div><div class="ttdeci">int ECP_BN254CX_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__BN254CX_8h_html_a80b65c8754aba1418523c6504ad8f4a9"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a80b65c8754aba1418523c6504ad8f4a9">ECP_BN254CX_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BN254CX_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__BN254CX_8h_html_ac3dd95ee2881c54b0cfec3bf8ba6e28b"><div class="ttname"><a href="ecdh__BN254CX_8h.html#ac3dd95ee2881c54b0cfec3bf8ba6e28b">ECP_BN254CX_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BN254CX_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BN254CX.c:34</div></div>
-<div class="ttc" id="ecdh__BN254CX_8h_html_a5c8b2bb0f42b41bee495b02803b14c35"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a5c8b2bb0f42b41bee495b02803b14c35">ECP_BN254CX_SVDP_DH</a></div><div class="ttdeci">int ECP_BN254CX_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BN254CX.c:104</div></div>
-<div class="ttc" id="ecdh__BN254CX_8h_html_a1414a40d72ac29d9c6002a28ef72bcc9"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a1414a40d72ac29d9c6002a28ef72bcc9">ECP_BN254CX_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BN254CX_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</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="ecp__BN254CX_8h_html"><div class="ttname"><a href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a></div><div class="ttdoc">ECP Header File.</div></div>
+<a href="ecdh__BN254CX_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BN254CX_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BN254CX_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BN254CX 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BN254CX SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BN254CX_8h.html#a92540f3cff17730f682883e77c76d92d">   42</a></span>&#160;<span class="preprocessor">#define EGS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a1e1879f29337f31d6aae53346ef7c2dd">   43</a></span>&#160;<span class="preprocessor">#define EFS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BN254CX_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BN254CX_8h.html#ac3dd95ee2881c54b0cfec3bf8ba6e28b">ECP_BN254CX_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BN254CX_8h.html#a0086cc2053c5a0a1244fb7893d402a36">ECP_BN254CX_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BN254CX_8h.html#a5c8b2bb0f42b41bee495b02803b14c35">ECP_BN254CX_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BN254CX_8h.html#a1414a40d72ac29d9c6002a28ef72bcc9">ECP_BN254CX_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254CX_8h.html#a80b65c8754aba1418523c6504ad8f4a9">ECP_BN254CX_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254CX_8h.html#ae8410163d1d8126d58c804705a743089">ECP_BN254CX_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254CX_8h.html#a4b655260745db06ba25d515cde9da006">ECP_BN254CX_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BN254CX_8h_html_a0086cc2053c5a0a1244fb7893d402a36"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a0086cc2053c5a0a1244fb7893d402a36">ECP_BN254CX_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BN254CX_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BN254CX.c:68</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="ecdh__BN254CX_8h_html_ae8410163d1d8126d58c804705a743089"><div class="ttname"><a href="ecdh__BN254CX_8h.html#ae8410163d1d8126d58c804705a743089">ECP_BN254CX_SP_DSA</a></div><div class="ttdeci">int ECP_BN254CX_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__BN254CX_8h_html_a4b655260745db06ba25d515cde9da006"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a4b655260745db06ba25d515cde9da006">ECP_BN254CX_VP_DSA</a></div><div class="ttdeci">int ECP_BN254CX_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__BN254CX_8h_html_a80b65c8754aba1418523c6504ad8f4a9"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a80b65c8754aba1418523c6504ad8f4a9">ECP_BN254CX_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BN254CX_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__BN254CX_8h_html_ac3dd95ee2881c54b0cfec3bf8ba6e28b"><div class="ttname"><a href="ecdh__BN254CX_8h.html#ac3dd95ee2881c54b0cfec3bf8ba6e28b">ECP_BN254CX_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BN254CX_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BN254CX.c:34</div></div>
+<div class="ttc" id="ecdh__BN254CX_8h_html_a5c8b2bb0f42b41bee495b02803b14c35"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a5c8b2bb0f42b41bee495b02803b14c35">ECP_BN254CX_SVDP_DH</a></div><div class="ttdeci">int ECP_BN254CX_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BN254CX.c:104</div></div>
+<div class="ttc" id="ecdh__BN254CX_8h_html_a1414a40d72ac29d9c6002a28ef72bcc9"><div class="ttname"><a href="ecdh__BN254CX_8h.html#a1414a40d72ac29d9c6002a28ef72bcc9">ECP_BN254CX_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BN254CX_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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="ecp__BN254CX_8h_html"><div class="ttname"><a href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a></div><div class="ttdoc">ECP Header File. </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/ecdh__BN254_8h.html b/website/static/cdocs/ecdh__BN254_8h.html
index b003859..d5b0f94 100644
--- a/website/static/cdocs/ecdh__BN254_8h.html
+++ b/website/static/cdocs/ecdh__BN254_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: ecdh_BN254.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"
@@ -625,7 +628,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/ecdh__BN254_8h_source.html b/website/static/cdocs/ecdh__BN254_8h_source.html
index 68a8eab..83022c9 100644
--- a/website/static/cdocs/ecdh__BN254_8h_source.html
+++ b/website/static/cdocs/ecdh__BN254_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: ecdh_BN254.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,23 +72,23 @@
 <div class="title">ecdh_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BN254_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BN254_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BN254_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254_8h.html">ecp_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BN254 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BN254 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BN254_8h.html#af121b335d8ffd402ab12da41f850f8e3">   42</a></span>&#160;<span class="preprocessor">#define EGS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a5a1baeb7e05ae392500804988c206dc5">   43</a></span>&#160;<span class="preprocessor">#define EFS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BN254_8h.html#a48d2f96bb00a3753aa61b81aaa3b7912">ECP_BN254_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BN254_8h.html#aba45b813a1f88d4b0e43b5fc116c0b43">ECP_BN254_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BN254_8h.html#a9d1d351a1e7eab8dedfc598932bb9c7b">ECP_BN254_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BN254_8h.html#ab7ff16a331362e9839e79b55c776c8d7">ECP_BN254_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254_8h.html#aaa35890b7bce815be4343d6804082410">ECP_BN254_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254_8h.html#a0d76d6c8665a381dcb53eab7e4d2e3cc">ECP_BN254_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254_8h.html#af5361cbd392476f7c888e616f56e0c56">ECP_BN254_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BN254_8h_html_aaa35890b7bce815be4343d6804082410"><div class="ttname"><a href="ecdh__BN254_8h.html#aaa35890b7bce815be4343d6804082410">ECP_BN254_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BN254_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__BN254_8h_html_a9d1d351a1e7eab8dedfc598932bb9c7b"><div class="ttname"><a href="ecdh__BN254_8h.html#a9d1d351a1e7eab8dedfc598932bb9c7b">ECP_BN254_SVDP_DH</a></div><div class="ttdeci">int ECP_BN254_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BN254.c:104</div></div>
-<div class="ttc" id="ecdh__BN254_8h_html_af5361cbd392476f7c888e616f56e0c56"><div class="ttname"><a href="ecdh__BN254_8h.html#af5361cbd392476f7c888e616f56e0c56">ECP_BN254_VP_DSA</a></div><div class="ttdeci">int ECP_BN254_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__BN254_8h_html_a0d76d6c8665a381dcb53eab7e4d2e3cc"><div class="ttname"><a href="ecdh__BN254_8h.html#a0d76d6c8665a381dcb53eab7e4d2e3cc">ECP_BN254_SP_DSA</a></div><div class="ttdeci">int ECP_BN254_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__BN254_8h_html_a48d2f96bb00a3753aa61b81aaa3b7912"><div class="ttname"><a href="ecdh__BN254_8h.html#a48d2f96bb00a3753aa61b81aaa3b7912">ECP_BN254_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BN254_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BN254.c:34</div></div>
-<div class="ttc" id="ecp__BN254_8h_html"><div class="ttname"><a href="ecp__BN254_8h.html">ecp_BN254.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__BN254_8h_html_ab7ff16a331362e9839e79b55c776c8d7"><div class="ttname"><a href="ecdh__BN254_8h.html#ab7ff16a331362e9839e79b55c776c8d7">ECP_BN254_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BN254_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__BN254_8h_html_aba45b813a1f88d4b0e43b5fc116c0b43"><div class="ttname"><a href="ecdh__BN254_8h.html#aba45b813a1f88d4b0e43b5fc116c0b43">ECP_BN254_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BN254_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BN254.c:68</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>
+<a href="ecdh__BN254_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BN254_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BN254_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254_8h.html">ecp_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BN254 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BN254 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BN254_8h.html#af121b335d8ffd402ab12da41f850f8e3">   42</a></span>&#160;<span class="preprocessor">#define EGS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a5a1baeb7e05ae392500804988c206dc5">   43</a></span>&#160;<span class="preprocessor">#define EFS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BN254_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BN254_8h.html#a48d2f96bb00a3753aa61b81aaa3b7912">ECP_BN254_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BN254_8h.html#aba45b813a1f88d4b0e43b5fc116c0b43">ECP_BN254_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BN254_8h.html#a9d1d351a1e7eab8dedfc598932bb9c7b">ECP_BN254_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BN254_8h.html#ab7ff16a331362e9839e79b55c776c8d7">ECP_BN254_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254_8h.html#aaa35890b7bce815be4343d6804082410">ECP_BN254_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254_8h.html#a0d76d6c8665a381dcb53eab7e4d2e3cc">ECP_BN254_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BN254_8h.html#af5361cbd392476f7c888e616f56e0c56">ECP_BN254_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BN254_8h_html_aaa35890b7bce815be4343d6804082410"><div class="ttname"><a href="ecdh__BN254_8h.html#aaa35890b7bce815be4343d6804082410">ECP_BN254_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BN254_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__BN254_8h_html_a9d1d351a1e7eab8dedfc598932bb9c7b"><div class="ttname"><a href="ecdh__BN254_8h.html#a9d1d351a1e7eab8dedfc598932bb9c7b">ECP_BN254_SVDP_DH</a></div><div class="ttdeci">int ECP_BN254_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BN254.c:104</div></div>
+<div class="ttc" id="ecdh__BN254_8h_html_af5361cbd392476f7c888e616f56e0c56"><div class="ttname"><a href="ecdh__BN254_8h.html#af5361cbd392476f7c888e616f56e0c56">ECP_BN254_VP_DSA</a></div><div class="ttdeci">int ECP_BN254_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__BN254_8h_html_a0d76d6c8665a381dcb53eab7e4d2e3cc"><div class="ttname"><a href="ecdh__BN254_8h.html#a0d76d6c8665a381dcb53eab7e4d2e3cc">ECP_BN254_SP_DSA</a></div><div class="ttdeci">int ECP_BN254_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__BN254_8h_html_a48d2f96bb00a3753aa61b81aaa3b7912"><div class="ttname"><a href="ecdh__BN254_8h.html#a48d2f96bb00a3753aa61b81aaa3b7912">ECP_BN254_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BN254_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BN254.c:34</div></div>
+<div class="ttc" id="ecp__BN254_8h_html"><div class="ttname"><a href="ecp__BN254_8h.html">ecp_BN254.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__BN254_8h_html_ab7ff16a331362e9839e79b55c776c8d7"><div class="ttname"><a href="ecdh__BN254_8h.html#ab7ff16a331362e9839e79b55c776c8d7">ECP_BN254_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BN254_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__BN254_8h_html_aba45b813a1f88d4b0e43b5fc116c0b43"><div class="ttname"><a href="ecdh__BN254_8h.html#aba45b813a1f88d4b0e43b5fc116c0b43">ECP_BN254_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BN254_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BN254.c:68</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><!-- 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/ecdh__BRAINPOOL_8h.html b/website/static/cdocs/ecdh__BRAINPOOL_8h.html
index 3bd539f..df3544a 100644
--- a/website/static/cdocs/ecdh__BRAINPOOL_8h.html
+++ b/website/static/cdocs/ecdh__BRAINPOOL_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: ecdh_BRAINPOOL.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"
@@ -625,7 +628,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/ecdh__BRAINPOOL_8h_source.html b/website/static/cdocs/ecdh__BRAINPOOL_8h_source.html
index d908ea2..b777c7a 100644
--- a/website/static/cdocs/ecdh__BRAINPOOL_8h_source.html
+++ b/website/static/cdocs/ecdh__BRAINPOOL_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: ecdh_BRAINPOOL.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,23 +72,23 @@
 <div class="title">ecdh_BRAINPOOL.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__BRAINPOOL_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BRAINPOOL_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BRAINPOOL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BRAINPOOL_8h.html">ecp_BRAINPOOL.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BRAINPOOL 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BRAINPOOL SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BRAINPOOL_8h.html#a00481d96a669dd8ece9683698dc1dc88">   42</a></span>&#160;<span class="preprocessor">#define EGS_BRAINPOOL MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a0717a2f49018c172373a8840bde1142c">   43</a></span>&#160;<span class="preprocessor">#define EFS_BRAINPOOL MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BRAINPOOL_8h.html#a05be1144b62e414fbe2f1eb35afaabd3">ECP_BRAINPOOL_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BRAINPOOL_8h.html#a6be834f9197ef40954553f023719a83c">ECP_BRAINPOOL_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BRAINPOOL_8h.html#a4762736ebcf09612e1163af62383c1d3">ECP_BRAINPOOL_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#a0f82f5306f651defceb57bcf3542f044">ECP_BRAINPOOL_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#a0f0ccafe290f6ca7aa04202ea70b8d2c">ECP_BRAINPOOL_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#a2a4b13a9c6016a3235f4d8b759ef298b">ECP_BRAINPOOL_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#ad5521946faeb842182e3619e56091d29">ECP_BRAINPOOL_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BRAINPOOL_8h_html_a05be1144b62e414fbe2f1eb35afaabd3"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a05be1144b62e414fbe2f1eb35afaabd3">ECP_BRAINPOOL_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BRAINPOOL_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_BRAINPOOL.c:34</div></div>
-<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a0f0ccafe290f6ca7aa04202ea70b8d2c"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a0f0ccafe290f6ca7aa04202ea70b8d2c">ECP_BRAINPOOL_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BRAINPOOL_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__BRAINPOOL_8h_html_a2a4b13a9c6016a3235f4d8b759ef298b"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a2a4b13a9c6016a3235f4d8b759ef298b">ECP_BRAINPOOL_SP_DSA</a></div><div class="ttdeci">int ECP_BRAINPOOL_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a0f82f5306f651defceb57bcf3542f044"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a0f82f5306f651defceb57bcf3542f044">ECP_BRAINPOOL_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BRAINPOOL_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a4762736ebcf09612e1163af62383c1d3"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a4762736ebcf09612e1163af62383c1d3">ECP_BRAINPOOL_SVDP_DH</a></div><div class="ttdeci">int ECP_BRAINPOOL_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_BRAINPOOL.c:104</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html">ecp_BRAINPOOL.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__BRAINPOOL_8h_html_ad5521946faeb842182e3619e56091d29"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#ad5521946faeb842182e3619e56091d29">ECP_BRAINPOOL_VP_DSA</a></div><div class="ttdeci">int ECP_BRAINPOOL_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a6be834f9197ef40954553f023719a83c"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a6be834f9197ef40954553f023719a83c">ECP_BRAINPOOL_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BRAINPOOL_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_BRAINPOOL.c:68</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>
+<a href="ecdh__BRAINPOOL_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_BRAINPOOL_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_BRAINPOOL_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BRAINPOOL_8h.html">ecp_BRAINPOOL.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_BRAINPOOL 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_BRAINPOOL SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__BRAINPOOL_8h.html#a00481d96a669dd8ece9683698dc1dc88">   42</a></span>&#160;<span class="preprocessor">#define EGS_BRAINPOOL MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a0717a2f49018c172373a8840bde1142c">   43</a></span>&#160;<span class="preprocessor">#define EFS_BRAINPOOL MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__BRAINPOOL_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__BRAINPOOL_8h.html#a05be1144b62e414fbe2f1eb35afaabd3">ECP_BRAINPOOL_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__BRAINPOOL_8h.html#a6be834f9197ef40954553f023719a83c">ECP_BRAINPOOL_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__BRAINPOOL_8h.html#a4762736ebcf09612e1163af62383c1d3">ECP_BRAINPOOL_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#a0f82f5306f651defceb57bcf3542f044">ECP_BRAINPOOL_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#a0f0ccafe290f6ca7aa04202ea70b8d2c">ECP_BRAINPOOL_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#a2a4b13a9c6016a3235f4d8b759ef298b">ECP_BRAINPOOL_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__BRAINPOOL_8h.html#ad5521946faeb842182e3619e56091d29">ECP_BRAINPOOL_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__BRAINPOOL_8h_html_a05be1144b62e414fbe2f1eb35afaabd3"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a05be1144b62e414fbe2f1eb35afaabd3">ECP_BRAINPOOL_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_BRAINPOOL_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_BRAINPOOL.c:34</div></div>
+<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a0f0ccafe290f6ca7aa04202ea70b8d2c"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a0f0ccafe290f6ca7aa04202ea70b8d2c">ECP_BRAINPOOL_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_BRAINPOOL_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__BRAINPOOL_8h_html_a2a4b13a9c6016a3235f4d8b759ef298b"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a2a4b13a9c6016a3235f4d8b759ef298b">ECP_BRAINPOOL_SP_DSA</a></div><div class="ttdeci">int ECP_BRAINPOOL_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a0f82f5306f651defceb57bcf3542f044"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a0f82f5306f651defceb57bcf3542f044">ECP_BRAINPOOL_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_BRAINPOOL_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a4762736ebcf09612e1163af62383c1d3"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a4762736ebcf09612e1163af62383c1d3">ECP_BRAINPOOL_SVDP_DH</a></div><div class="ttdeci">int ECP_BRAINPOOL_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_BRAINPOOL.c:104</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html">ecp_BRAINPOOL.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__BRAINPOOL_8h_html_ad5521946faeb842182e3619e56091d29"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#ad5521946faeb842182e3619e56091d29">ECP_BRAINPOOL_VP_DSA</a></div><div class="ttdeci">int ECP_BRAINPOOL_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__BRAINPOOL_8h_html_a6be834f9197ef40954553f023719a83c"><div class="ttname"><a href="ecdh__BRAINPOOL_8h.html#a6be834f9197ef40954553f023719a83c">ECP_BRAINPOOL_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_BRAINPOOL_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_BRAINPOOL.c:68</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><!-- 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/ecdh__C25519_8h.html b/website/static/cdocs/ecdh__C25519_8h.html
index b508796..7eb8501 100644
--- a/website/static/cdocs/ecdh__C25519_8h.html
+++ b/website/static/cdocs/ecdh__C25519_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: ecdh_C25519.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"
@@ -625,7 +628,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/ecdh__C25519_8h_source.html b/website/static/cdocs/ecdh__C25519_8h_source.html
index 5dbb7a4..7b49592 100644
--- a/website/static/cdocs/ecdh__C25519_8h_source.html
+++ b/website/static/cdocs/ecdh__C25519_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: ecdh_C25519.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,23 +72,23 @@
 <div class="title">ecdh_C25519.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__C25519_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_C25519_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_C25519_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__C25519_8h.html">ecp_C25519.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_C25519 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_C25519 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__C25519_8h.html#a1b67c5e211369acf7d4e2a65bcf268dd">   42</a></span>&#160;<span class="preprocessor">#define EGS_C25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a906abde424d0171eb82680d2b8abaa25">   43</a></span>&#160;<span class="preprocessor">#define EFS_C25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__C25519_8h.html#a99559121834a287dab02d7d3b5c51ae3">ECP_C25519_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__C25519_8h.html#ae93775ea64a621785db823dfbd4709c8">ECP_C25519_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__C25519_8h.html#a4b76ae072e699447d534a14f872617ad">ECP_C25519_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__C25519_8h.html#a21fe22223de440941570722a1b241b7f">ECP_C25519_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C25519_8h.html#a0632b693fbeb108937acb867dc834266">ECP_C25519_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C25519_8h.html#a36ea24c580c6d631db372adfa787f90e">ECP_C25519_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C25519_8h.html#aee48615f5344c8fd0ce3591945673516">ECP_C25519_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__C25519_8h_html_a0632b693fbeb108937acb867dc834266"><div class="ttname"><a href="ecdh__C25519_8h.html#a0632b693fbeb108937acb867dc834266">ECP_C25519_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_C25519_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__C25519_8h_html_a4b76ae072e699447d534a14f872617ad"><div class="ttname"><a href="ecdh__C25519_8h.html#a4b76ae072e699447d534a14f872617ad">ECP_C25519_SVDP_DH</a></div><div class="ttdeci">int ECP_C25519_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_C25519.c:104</div></div>
-<div class="ttc" id="ecdh__C25519_8h_html_a21fe22223de440941570722a1b241b7f"><div class="ttname"><a href="ecdh__C25519_8h.html#a21fe22223de440941570722a1b241b7f">ECP_C25519_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_C25519_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecp__C25519_8h_html"><div class="ttname"><a href="ecp__C25519_8h.html">ecp_C25519.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__C25519_8h_html_a99559121834a287dab02d7d3b5c51ae3"><div class="ttname"><a href="ecdh__C25519_8h.html#a99559121834a287dab02d7d3b5c51ae3">ECP_C25519_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_C25519_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_C25519.c:34</div></div>
-<div class="ttc" id="ecdh__C25519_8h_html_a36ea24c580c6d631db372adfa787f90e"><div class="ttname"><a href="ecdh__C25519_8h.html#a36ea24c580c6d631db372adfa787f90e">ECP_C25519_SP_DSA</a></div><div class="ttdeci">int ECP_C25519_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__C25519_8h_html_aee48615f5344c8fd0ce3591945673516"><div class="ttname"><a href="ecdh__C25519_8h.html#aee48615f5344c8fd0ce3591945673516">ECP_C25519_VP_DSA</a></div><div class="ttdeci">int ECP_C25519_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__C25519_8h_html_ae93775ea64a621785db823dfbd4709c8"><div class="ttname"><a href="ecdh__C25519_8h.html#ae93775ea64a621785db823dfbd4709c8">ECP_C25519_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_C25519_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_C25519.c:68</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>
+<a href="ecdh__C25519_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_C25519_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_C25519_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__C25519_8h.html">ecp_C25519.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_C25519 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_C25519 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__C25519_8h.html#a1b67c5e211369acf7d4e2a65bcf268dd">   42</a></span>&#160;<span class="preprocessor">#define EGS_C25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a906abde424d0171eb82680d2b8abaa25">   43</a></span>&#160;<span class="preprocessor">#define EFS_C25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__C25519_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__C25519_8h.html#a99559121834a287dab02d7d3b5c51ae3">ECP_C25519_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__C25519_8h.html#ae93775ea64a621785db823dfbd4709c8">ECP_C25519_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__C25519_8h.html#a4b76ae072e699447d534a14f872617ad">ECP_C25519_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__C25519_8h.html#a21fe22223de440941570722a1b241b7f">ECP_C25519_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C25519_8h.html#a0632b693fbeb108937acb867dc834266">ECP_C25519_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C25519_8h.html#a36ea24c580c6d631db372adfa787f90e">ECP_C25519_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C25519_8h.html#aee48615f5344c8fd0ce3591945673516">ECP_C25519_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__C25519_8h_html_a0632b693fbeb108937acb867dc834266"><div class="ttname"><a href="ecdh__C25519_8h.html#a0632b693fbeb108937acb867dc834266">ECP_C25519_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_C25519_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__C25519_8h_html_a4b76ae072e699447d534a14f872617ad"><div class="ttname"><a href="ecdh__C25519_8h.html#a4b76ae072e699447d534a14f872617ad">ECP_C25519_SVDP_DH</a></div><div class="ttdeci">int ECP_C25519_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_C25519.c:104</div></div>
+<div class="ttc" id="ecdh__C25519_8h_html_a21fe22223de440941570722a1b241b7f"><div class="ttname"><a href="ecdh__C25519_8h.html#a21fe22223de440941570722a1b241b7f">ECP_C25519_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_C25519_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecp__C25519_8h_html"><div class="ttname"><a href="ecp__C25519_8h.html">ecp_C25519.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__C25519_8h_html_a99559121834a287dab02d7d3b5c51ae3"><div class="ttname"><a href="ecdh__C25519_8h.html#a99559121834a287dab02d7d3b5c51ae3">ECP_C25519_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_C25519_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_C25519.c:34</div></div>
+<div class="ttc" id="ecdh__C25519_8h_html_a36ea24c580c6d631db372adfa787f90e"><div class="ttname"><a href="ecdh__C25519_8h.html#a36ea24c580c6d631db372adfa787f90e">ECP_C25519_SP_DSA</a></div><div class="ttdeci">int ECP_C25519_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__C25519_8h_html_aee48615f5344c8fd0ce3591945673516"><div class="ttname"><a href="ecdh__C25519_8h.html#aee48615f5344c8fd0ce3591945673516">ECP_C25519_VP_DSA</a></div><div class="ttdeci">int ECP_C25519_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__C25519_8h_html_ae93775ea64a621785db823dfbd4709c8"><div class="ttname"><a href="ecdh__C25519_8h.html#ae93775ea64a621785db823dfbd4709c8">ECP_C25519_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_C25519_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_C25519.c:68</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><!-- 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/ecdh__C41417_8h.html b/website/static/cdocs/ecdh__C41417_8h.html
index 154d9f2..497a0d8 100644
--- a/website/static/cdocs/ecdh__C41417_8h.html
+++ b/website/static/cdocs/ecdh__C41417_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: ecdh_C41417.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"
@@ -625,7 +628,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/ecdh__C41417_8h_source.html b/website/static/cdocs/ecdh__C41417_8h_source.html
index 478d72c..0382f90 100644
--- a/website/static/cdocs/ecdh__C41417_8h_source.html
+++ b/website/static/cdocs/ecdh__C41417_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: ecdh_C41417.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,23 +72,23 @@
 <div class="title">ecdh_C41417.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__C41417_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_C41417_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_C41417_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__C41417_8h.html">ecp_C41417.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_C41417 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_C41417 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__C41417_8h.html#a434cba41cb9452fc4ab7d147751df323">   42</a></span>&#160;<span class="preprocessor">#define EGS_C41417 MODBYTES_416_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#adf2906f3c18e23118e7a01f5a067521e">   43</a></span>&#160;<span class="preprocessor">#define EFS_C41417 MODBYTES_416_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__C41417_8h.html#adb5a48b44f0f56c39c2d41ba4facb9a3">ECP_C41417_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__C41417_8h.html#a9917e94f82bfd19e378c77954fb3a959">ECP_C41417_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__C41417_8h.html#aed7d7c8cd1b319ddd9bc8f377b700f11">ECP_C41417_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__C41417_8h.html#ac5aec9f15602f02da3d168967d370442">ECP_C41417_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C41417_8h.html#a47b0c309780382703bf562f2dbb0e2ac">ECP_C41417_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C41417_8h.html#aba91d7bc0644c2f4be838cd45acb3e50">ECP_C41417_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C41417_8h.html#a0b7179359604a9cf0ad1dd973396b09f">ECP_C41417_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__C41417_8h_html"><div class="ttname"><a href="ecp__C41417_8h.html">ecp_C41417.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__C41417_8h_html_ac5aec9f15602f02da3d168967d370442"><div class="ttname"><a href="ecdh__C41417_8h.html#ac5aec9f15602f02da3d168967d370442">ECP_C41417_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_C41417_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__C41417_8h_html_a0b7179359604a9cf0ad1dd973396b09f"><div class="ttname"><a href="ecdh__C41417_8h.html#a0b7179359604a9cf0ad1dd973396b09f">ECP_C41417_VP_DSA</a></div><div class="ttdeci">int ECP_C41417_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__C41417_8h_html_aba91d7bc0644c2f4be838cd45acb3e50"><div class="ttname"><a href="ecdh__C41417_8h.html#aba91d7bc0644c2f4be838cd45acb3e50">ECP_C41417_SP_DSA</a></div><div class="ttdeci">int ECP_C41417_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__C41417_8h_html_aed7d7c8cd1b319ddd9bc8f377b700f11"><div class="ttname"><a href="ecdh__C41417_8h.html#aed7d7c8cd1b319ddd9bc8f377b700f11">ECP_C41417_SVDP_DH</a></div><div class="ttdeci">int ECP_C41417_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_C41417.c:104</div></div>
-<div class="ttc" id="ecdh__C41417_8h_html_adb5a48b44f0f56c39c2d41ba4facb9a3"><div class="ttname"><a href="ecdh__C41417_8h.html#adb5a48b44f0f56c39c2d41ba4facb9a3">ECP_C41417_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_C41417_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_C41417.c:34</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="ecdh__C41417_8h_html_a47b0c309780382703bf562f2dbb0e2ac"><div class="ttname"><a href="ecdh__C41417_8h.html#a47b0c309780382703bf562f2dbb0e2ac">ECP_C41417_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_C41417_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__C41417_8h_html_a9917e94f82bfd19e378c77954fb3a959"><div class="ttname"><a href="ecdh__C41417_8h.html#a9917e94f82bfd19e378c77954fb3a959">ECP_C41417_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_C41417_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_C41417.c:68</div></div>
+<a href="ecdh__C41417_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_C41417_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_C41417_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__C41417_8h.html">ecp_C41417.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_C41417 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_C41417 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__C41417_8h.html#a434cba41cb9452fc4ab7d147751df323">   42</a></span>&#160;<span class="preprocessor">#define EGS_C41417 MODBYTES_416_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#adf2906f3c18e23118e7a01f5a067521e">   43</a></span>&#160;<span class="preprocessor">#define EFS_C41417 MODBYTES_416_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__C41417_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__C41417_8h.html#adb5a48b44f0f56c39c2d41ba4facb9a3">ECP_C41417_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__C41417_8h.html#a9917e94f82bfd19e378c77954fb3a959">ECP_C41417_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__C41417_8h.html#aed7d7c8cd1b319ddd9bc8f377b700f11">ECP_C41417_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__C41417_8h.html#ac5aec9f15602f02da3d168967d370442">ECP_C41417_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C41417_8h.html#a47b0c309780382703bf562f2dbb0e2ac">ECP_C41417_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C41417_8h.html#aba91d7bc0644c2f4be838cd45acb3e50">ECP_C41417_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__C41417_8h.html#a0b7179359604a9cf0ad1dd973396b09f">ECP_C41417_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__C41417_8h_html"><div class="ttname"><a href="ecp__C41417_8h.html">ecp_C41417.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__C41417_8h_html_ac5aec9f15602f02da3d168967d370442"><div class="ttname"><a href="ecdh__C41417_8h.html#ac5aec9f15602f02da3d168967d370442">ECP_C41417_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_C41417_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__C41417_8h_html_a0b7179359604a9cf0ad1dd973396b09f"><div class="ttname"><a href="ecdh__C41417_8h.html#a0b7179359604a9cf0ad1dd973396b09f">ECP_C41417_VP_DSA</a></div><div class="ttdeci">int ECP_C41417_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__C41417_8h_html_aba91d7bc0644c2f4be838cd45acb3e50"><div class="ttname"><a href="ecdh__C41417_8h.html#aba91d7bc0644c2f4be838cd45acb3e50">ECP_C41417_SP_DSA</a></div><div class="ttdeci">int ECP_C41417_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__C41417_8h_html_aed7d7c8cd1b319ddd9bc8f377b700f11"><div class="ttname"><a href="ecdh__C41417_8h.html#aed7d7c8cd1b319ddd9bc8f377b700f11">ECP_C41417_SVDP_DH</a></div><div class="ttdeci">int ECP_C41417_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_C41417.c:104</div></div>
+<div class="ttc" id="ecdh__C41417_8h_html_adb5a48b44f0f56c39c2d41ba4facb9a3"><div class="ttname"><a href="ecdh__C41417_8h.html#adb5a48b44f0f56c39c2d41ba4facb9a3">ECP_C41417_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_C41417_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_C41417.c:34</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="ecdh__C41417_8h_html_a47b0c309780382703bf562f2dbb0e2ac"><div class="ttname"><a href="ecdh__C41417_8h.html#a47b0c309780382703bf562f2dbb0e2ac">ECP_C41417_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_C41417_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__C41417_8h_html_a9917e94f82bfd19e378c77954fb3a959"><div class="ttname"><a href="ecdh__C41417_8h.html#a9917e94f82bfd19e378c77954fb3a959">ECP_C41417_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_C41417_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_C41417.c:68</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/ecdh__ED25519_8h.html b/website/static/cdocs/ecdh__ED25519_8h.html
index abca202..dfd6aa3 100644
--- a/website/static/cdocs/ecdh__ED25519_8h.html
+++ b/website/static/cdocs/ecdh__ED25519_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: ecdh_ED25519.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"
@@ -625,7 +628,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/ecdh__ED25519_8h_source.html b/website/static/cdocs/ecdh__ED25519_8h_source.html
index 4046735..961e255 100644
--- a/website/static/cdocs/ecdh__ED25519_8h_source.html
+++ b/website/static/cdocs/ecdh__ED25519_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: ecdh_ED25519.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,23 +72,23 @@
 <div class="title">ecdh_ED25519.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__ED25519_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_ED25519_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_ED25519_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__ED25519_8h.html">ecp_ED25519.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_ED25519 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_ED25519 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__ED25519_8h.html#a873d98fa322a093e936116b168912838">   42</a></span>&#160;<span class="preprocessor">#define EGS_ED25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a360bf1b5a2971dc74031c266f4a4a8af">   43</a></span>&#160;<span class="preprocessor">#define EFS_ED25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__ED25519_8h.html#af9d918db9910e796fffcebd4ed56a214">ECP_ED25519_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__ED25519_8h.html#a589f8b8c2509ebf11679fa140f702fb7">ECP_ED25519_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__ED25519_8h.html#ae84179ced15198da47d864aaee0f9a2f">ECP_ED25519_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__ED25519_8h.html#ad26270806693c94a7bd10214e976a98e">ECP_ED25519_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ED25519_8h.html#ab68e636c84d7b16b9e077b716f2861db">ECP_ED25519_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ED25519_8h.html#a7a136c5c094a47340af9b913daec8d39">ECP_ED25519_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ED25519_8h.html#a4b3c9d3f5a85d225f221b2f4cafa50c0">ECP_ED25519_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__ED25519_8h_html_a589f8b8c2509ebf11679fa140f702fb7"><div class="ttname"><a href="ecdh__ED25519_8h.html#a589f8b8c2509ebf11679fa140f702fb7">ECP_ED25519_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_ED25519_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_ED25519.c:68</div></div>
-<div class="ttc" id="ecdh__ED25519_8h_html_ae84179ced15198da47d864aaee0f9a2f"><div class="ttname"><a href="ecdh__ED25519_8h.html#ae84179ced15198da47d864aaee0f9a2f">ECP_ED25519_SVDP_DH</a></div><div class="ttdeci">int ECP_ED25519_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_ED25519.c:104</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="ecdh__ED25519_8h_html_a7a136c5c094a47340af9b913daec8d39"><div class="ttname"><a href="ecdh__ED25519_8h.html#a7a136c5c094a47340af9b913daec8d39">ECP_ED25519_SP_DSA</a></div><div class="ttdeci">int ECP_ED25519_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__ED25519_8h_html_a4b3c9d3f5a85d225f221b2f4cafa50c0"><div class="ttname"><a href="ecdh__ED25519_8h.html#a4b3c9d3f5a85d225f221b2f4cafa50c0">ECP_ED25519_VP_DSA</a></div><div class="ttdeci">int ECP_ED25519_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__ED25519_8h_html_af9d918db9910e796fffcebd4ed56a214"><div class="ttname"><a href="ecdh__ED25519_8h.html#af9d918db9910e796fffcebd4ed56a214">ECP_ED25519_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_ED25519_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_ED25519.c:34</div></div>
-<div class="ttc" id="ecdh__ED25519_8h_html_ad26270806693c94a7bd10214e976a98e"><div class="ttname"><a href="ecdh__ED25519_8h.html#ad26270806693c94a7bd10214e976a98e">ECP_ED25519_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_ED25519_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html"><div class="ttname"><a href="ecp__ED25519_8h.html">ecp_ED25519.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__ED25519_8h_html_ab68e636c84d7b16b9e077b716f2861db"><div class="ttname"><a href="ecdh__ED25519_8h.html#ab68e636c84d7b16b9e077b716f2861db">ECP_ED25519_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_ED25519_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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>
+<a href="ecdh__ED25519_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_ED25519_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_ED25519_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__ED25519_8h.html">ecp_ED25519.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_ED25519 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_ED25519 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__ED25519_8h.html#a873d98fa322a093e936116b168912838">   42</a></span>&#160;<span class="preprocessor">#define EGS_ED25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a360bf1b5a2971dc74031c266f4a4a8af">   43</a></span>&#160;<span class="preprocessor">#define EFS_ED25519 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__ED25519_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__ED25519_8h.html#af9d918db9910e796fffcebd4ed56a214">ECP_ED25519_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__ED25519_8h.html#a589f8b8c2509ebf11679fa140f702fb7">ECP_ED25519_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__ED25519_8h.html#ae84179ced15198da47d864aaee0f9a2f">ECP_ED25519_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__ED25519_8h.html#ad26270806693c94a7bd10214e976a98e">ECP_ED25519_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ED25519_8h.html#ab68e636c84d7b16b9e077b716f2861db">ECP_ED25519_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ED25519_8h.html#a7a136c5c094a47340af9b913daec8d39">ECP_ED25519_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__ED25519_8h.html#a4b3c9d3f5a85d225f221b2f4cafa50c0">ECP_ED25519_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__ED25519_8h_html_a589f8b8c2509ebf11679fa140f702fb7"><div class="ttname"><a href="ecdh__ED25519_8h.html#a589f8b8c2509ebf11679fa140f702fb7">ECP_ED25519_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_ED25519_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_ED25519.c:68</div></div>
+<div class="ttc" id="ecdh__ED25519_8h_html_ae84179ced15198da47d864aaee0f9a2f"><div class="ttname"><a href="ecdh__ED25519_8h.html#ae84179ced15198da47d864aaee0f9a2f">ECP_ED25519_SVDP_DH</a></div><div class="ttdeci">int ECP_ED25519_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_ED25519.c:104</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="ecdh__ED25519_8h_html_a7a136c5c094a47340af9b913daec8d39"><div class="ttname"><a href="ecdh__ED25519_8h.html#a7a136c5c094a47340af9b913daec8d39">ECP_ED25519_SP_DSA</a></div><div class="ttdeci">int ECP_ED25519_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__ED25519_8h_html_a4b3c9d3f5a85d225f221b2f4cafa50c0"><div class="ttname"><a href="ecdh__ED25519_8h.html#a4b3c9d3f5a85d225f221b2f4cafa50c0">ECP_ED25519_VP_DSA</a></div><div class="ttdeci">int ECP_ED25519_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__ED25519_8h_html_af9d918db9910e796fffcebd4ed56a214"><div class="ttname"><a href="ecdh__ED25519_8h.html#af9d918db9910e796fffcebd4ed56a214">ECP_ED25519_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_ED25519_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_ED25519.c:34</div></div>
+<div class="ttc" id="ecdh__ED25519_8h_html_ad26270806693c94a7bd10214e976a98e"><div class="ttname"><a href="ecdh__ED25519_8h.html#ad26270806693c94a7bd10214e976a98e">ECP_ED25519_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_ED25519_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecp__ED25519_8h_html"><div class="ttname"><a href="ecp__ED25519_8h.html">ecp_ED25519.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__ED25519_8h_html_ab68e636c84d7b16b9e077b716f2861db"><div class="ttname"><a href="ecdh__ED25519_8h.html#ab68e636c84d7b16b9e077b716f2861db">ECP_ED25519_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_ED25519_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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><!-- 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/ecdh__FP256BN_8h.html b/website/static/cdocs/ecdh__FP256BN_8h.html
index 251d92f..e1f6429 100644
--- a/website/static/cdocs/ecdh__FP256BN_8h.html
+++ b/website/static/cdocs/ecdh__FP256BN_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: ecdh_FP256BN.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"
@@ -625,7 +628,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/ecdh__FP256BN_8h_source.html b/website/static/cdocs/ecdh__FP256BN_8h_source.html
index 06c98e4..8b709e1 100644
--- a/website/static/cdocs/ecdh__FP256BN_8h_source.html
+++ b/website/static/cdocs/ecdh__FP256BN_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: ecdh_FP256BN.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,23 +72,23 @@
 <div class="title">ecdh_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__FP256BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_FP256BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_FP256BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_FP256BN 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_FP256BN SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__FP256BN_8h.html#a8dd6f609686c6c6511f632f6710e77fe">   42</a></span>&#160;<span class="preprocessor">#define EGS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a6618cc0bf2c51ecfe8330ec9fa2629f9">   43</a></span>&#160;<span class="preprocessor">#define EFS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__FP256BN_8h.html#ac98629d6d3d27283af63ea952c25c173">ECP_FP256BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__FP256BN_8h.html#a09e81bd494b5e1d922d640be5977405e">ECP_FP256BN_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__FP256BN_8h.html#a6c8849c37c2e5476764528035a893cdf">ECP_FP256BN_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__FP256BN_8h.html#a138e1be3473ba7b42a86f0d1ebddc3d5">ECP_FP256BN_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP256BN_8h.html#a484eca7d351370a152311380583b4c88">ECP_FP256BN_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP256BN_8h.html#a17fd86c4dc52218780989d732f1c6a32">ECP_FP256BN_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP256BN_8h.html#ae6b63b8e87f935b99b9b044d33e5e8a6">ECP_FP256BN_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__FP256BN_8h_html"><div class="ttname"><a href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__FP256BN_8h_html_ac98629d6d3d27283af63ea952c25c173"><div class="ttname"><a href="ecdh__FP256BN_8h.html#ac98629d6d3d27283af63ea952c25c173">ECP_FP256BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_FP256BN_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_FP256BN.c:34</div></div>
-<div class="ttc" id="ecdh__FP256BN_8h_html_a09e81bd494b5e1d922d640be5977405e"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a09e81bd494b5e1d922d640be5977405e">ECP_FP256BN_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_FP256BN_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_FP256BN.c:68</div></div>
-<div class="ttc" id="ecdh__FP256BN_8h_html_a6c8849c37c2e5476764528035a893cdf"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a6c8849c37c2e5476764528035a893cdf">ECP_FP256BN_SVDP_DH</a></div><div class="ttdeci">int ECP_FP256BN_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_FP256BN.c:104</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__FP256BN_8h_html_ae6b63b8e87f935b99b9b044d33e5e8a6"><div class="ttname"><a href="ecdh__FP256BN_8h.html#ae6b63b8e87f935b99b9b044d33e5e8a6">ECP_FP256BN_VP_DSA</a></div><div class="ttdeci">int ECP_FP256BN_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__FP256BN_8h_html_a17fd86c4dc52218780989d732f1c6a32"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a17fd86c4dc52218780989d732f1c6a32">ECP_FP256BN_SP_DSA</a></div><div class="ttdeci">int ECP_FP256BN_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</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="ecdh__FP256BN_8h_html_a138e1be3473ba7b42a86f0d1ebddc3d5"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a138e1be3473ba7b42a86f0d1ebddc3d5">ECP_FP256BN_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_FP256BN_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__FP256BN_8h_html_a484eca7d351370a152311380583b4c88"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a484eca7d351370a152311380583b4c88">ECP_FP256BN_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_FP256BN_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
+<a href="ecdh__FP256BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_FP256BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_FP256BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_FP256BN 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_FP256BN SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__FP256BN_8h.html#a8dd6f609686c6c6511f632f6710e77fe">   42</a></span>&#160;<span class="preprocessor">#define EGS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a6618cc0bf2c51ecfe8330ec9fa2629f9">   43</a></span>&#160;<span class="preprocessor">#define EFS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__FP256BN_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__FP256BN_8h.html#ac98629d6d3d27283af63ea952c25c173">ECP_FP256BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__FP256BN_8h.html#a09e81bd494b5e1d922d640be5977405e">ECP_FP256BN_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__FP256BN_8h.html#a6c8849c37c2e5476764528035a893cdf">ECP_FP256BN_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__FP256BN_8h.html#a138e1be3473ba7b42a86f0d1ebddc3d5">ECP_FP256BN_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP256BN_8h.html#a484eca7d351370a152311380583b4c88">ECP_FP256BN_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP256BN_8h.html#a17fd86c4dc52218780989d732f1c6a32">ECP_FP256BN_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP256BN_8h.html#ae6b63b8e87f935b99b9b044d33e5e8a6">ECP_FP256BN_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__FP256BN_8h_html"><div class="ttname"><a href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__FP256BN_8h_html_ac98629d6d3d27283af63ea952c25c173"><div class="ttname"><a href="ecdh__FP256BN_8h.html#ac98629d6d3d27283af63ea952c25c173">ECP_FP256BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_FP256BN_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_FP256BN.c:34</div></div>
+<div class="ttc" id="ecdh__FP256BN_8h_html_a09e81bd494b5e1d922d640be5977405e"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a09e81bd494b5e1d922d640be5977405e">ECP_FP256BN_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_FP256BN_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_FP256BN.c:68</div></div>
+<div class="ttc" id="ecdh__FP256BN_8h_html_a6c8849c37c2e5476764528035a893cdf"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a6c8849c37c2e5476764528035a893cdf">ECP_FP256BN_SVDP_DH</a></div><div class="ttdeci">int ECP_FP256BN_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_FP256BN.c:104</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__FP256BN_8h_html_ae6b63b8e87f935b99b9b044d33e5e8a6"><div class="ttname"><a href="ecdh__FP256BN_8h.html#ae6b63b8e87f935b99b9b044d33e5e8a6">ECP_FP256BN_VP_DSA</a></div><div class="ttdeci">int ECP_FP256BN_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__FP256BN_8h_html_a17fd86c4dc52218780989d732f1c6a32"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a17fd86c4dc52218780989d732f1c6a32">ECP_FP256BN_SP_DSA</a></div><div class="ttdeci">int ECP_FP256BN_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </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="ecdh__FP256BN_8h_html_a138e1be3473ba7b42a86f0d1ebddc3d5"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a138e1be3473ba7b42a86f0d1ebddc3d5">ECP_FP256BN_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_FP256BN_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__FP256BN_8h_html_a484eca7d351370a152311380583b4c88"><div class="ttname"><a href="ecdh__FP256BN_8h.html#a484eca7d351370a152311380583b4c88">ECP_FP256BN_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_FP256BN_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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/ecdh__FP512BN_8h.html b/website/static/cdocs/ecdh__FP512BN_8h.html
index e254239..12f0447 100644
--- a/website/static/cdocs/ecdh__FP512BN_8h.html
+++ b/website/static/cdocs/ecdh__FP512BN_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: ecdh_FP512BN.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"
@@ -625,7 +628,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/ecdh__FP512BN_8h_source.html b/website/static/cdocs/ecdh__FP512BN_8h_source.html
index c22cb8c..054828e 100644
--- a/website/static/cdocs/ecdh__FP512BN_8h_source.html
+++ b/website/static/cdocs/ecdh__FP512BN_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: ecdh_FP512BN.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,23 +72,23 @@
 <div class="title">ecdh_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__FP512BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_FP512BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_FP512BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_FP512BN 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_FP512BN SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__FP512BN_8h.html#a47801c2b49726151c27f21bc13bf8ec7">   42</a></span>&#160;<span class="preprocessor">#define EGS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#ae54d11cb920b5592b0aff845483dc146">   43</a></span>&#160;<span class="preprocessor">#define EFS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__FP512BN_8h.html#aa0f6dd3cb4b4732ab43bdaa1cad95542">ECP_FP512BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__FP512BN_8h.html#a5c91b294fab728d973e3da01f2038104">ECP_FP512BN_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__FP512BN_8h.html#abc65f3a3d55125943978eac7464e203b">ECP_FP512BN_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__FP512BN_8h.html#a8dc6a195549e3709921e720543a486be">ECP_FP512BN_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP512BN_8h.html#add0b3c03f395dbbb5fb371d234d938eb">ECP_FP512BN_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP512BN_8h.html#aab0ac7ebb102348fce203e86aca4571e">ECP_FP512BN_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP512BN_8h.html#a6ff5c0def588db7280a7b942f12a4d20">ECP_FP512BN_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__FP512BN_8h_html_add0b3c03f395dbbb5fb371d234d938eb"><div class="ttname"><a href="ecdh__FP512BN_8h.html#add0b3c03f395dbbb5fb371d234d938eb">ECP_FP512BN_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_FP512BN_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html"><div class="ttname"><a href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__FP512BN_8h_html_a8dc6a195549e3709921e720543a486be"><div class="ttname"><a href="ecdh__FP512BN_8h.html#a8dc6a195549e3709921e720543a486be">ECP_FP512BN_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_FP512BN_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</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="ecdh__FP512BN_8h_html_aab0ac7ebb102348fce203e86aca4571e"><div class="ttname"><a href="ecdh__FP512BN_8h.html#aab0ac7ebb102348fce203e86aca4571e">ECP_FP512BN_SP_DSA</a></div><div class="ttdeci">int ECP_FP512BN_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__FP512BN_8h_html_a6ff5c0def588db7280a7b942f12a4d20"><div class="ttname"><a href="ecdh__FP512BN_8h.html#a6ff5c0def588db7280a7b942f12a4d20">ECP_FP512BN_VP_DSA</a></div><div class="ttdeci">int ECP_FP512BN_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__FP512BN_8h_html_a5c91b294fab728d973e3da01f2038104"><div class="ttname"><a href="ecdh__FP512BN_8h.html#a5c91b294fab728d973e3da01f2038104">ECP_FP512BN_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_FP512BN_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_FP512BN.c:68</div></div>
-<div class="ttc" id="ecdh__FP512BN_8h_html_abc65f3a3d55125943978eac7464e203b"><div class="ttname"><a href="ecdh__FP512BN_8h.html#abc65f3a3d55125943978eac7464e203b">ECP_FP512BN_SVDP_DH</a></div><div class="ttdeci">int ECP_FP512BN_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_FP512BN.c:104</div></div>
-<div class="ttc" id="ecdh__FP512BN_8h_html_aa0f6dd3cb4b4732ab43bdaa1cad95542"><div class="ttname"><a href="ecdh__FP512BN_8h.html#aa0f6dd3cb4b4732ab43bdaa1cad95542">ECP_FP512BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_FP512BN_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_FP512BN.c:34</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>
+<a href="ecdh__FP512BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_FP512BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_FP512BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_FP512BN 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_FP512BN SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__FP512BN_8h.html#a47801c2b49726151c27f21bc13bf8ec7">   42</a></span>&#160;<span class="preprocessor">#define EGS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#ae54d11cb920b5592b0aff845483dc146">   43</a></span>&#160;<span class="preprocessor">#define EFS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__FP512BN_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__FP512BN_8h.html#aa0f6dd3cb4b4732ab43bdaa1cad95542">ECP_FP512BN_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__FP512BN_8h.html#a5c91b294fab728d973e3da01f2038104">ECP_FP512BN_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__FP512BN_8h.html#abc65f3a3d55125943978eac7464e203b">ECP_FP512BN_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__FP512BN_8h.html#a8dc6a195549e3709921e720543a486be">ECP_FP512BN_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP512BN_8h.html#add0b3c03f395dbbb5fb371d234d938eb">ECP_FP512BN_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP512BN_8h.html#aab0ac7ebb102348fce203e86aca4571e">ECP_FP512BN_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__FP512BN_8h.html#a6ff5c0def588db7280a7b942f12a4d20">ECP_FP512BN_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__FP512BN_8h_html_add0b3c03f395dbbb5fb371d234d938eb"><div class="ttname"><a href="ecdh__FP512BN_8h.html#add0b3c03f395dbbb5fb371d234d938eb">ECP_FP512BN_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_FP512BN_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html"><div class="ttname"><a href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__FP512BN_8h_html_a8dc6a195549e3709921e720543a486be"><div class="ttname"><a href="ecdh__FP512BN_8h.html#a8dc6a195549e3709921e720543a486be">ECP_FP512BN_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_FP512BN_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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="ecdh__FP512BN_8h_html_aab0ac7ebb102348fce203e86aca4571e"><div class="ttname"><a href="ecdh__FP512BN_8h.html#aab0ac7ebb102348fce203e86aca4571e">ECP_FP512BN_SP_DSA</a></div><div class="ttdeci">int ECP_FP512BN_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__FP512BN_8h_html_a6ff5c0def588db7280a7b942f12a4d20"><div class="ttname"><a href="ecdh__FP512BN_8h.html#a6ff5c0def588db7280a7b942f12a4d20">ECP_FP512BN_VP_DSA</a></div><div class="ttdeci">int ECP_FP512BN_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__FP512BN_8h_html_a5c91b294fab728d973e3da01f2038104"><div class="ttname"><a href="ecdh__FP512BN_8h.html#a5c91b294fab728d973e3da01f2038104">ECP_FP512BN_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_FP512BN_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_FP512BN.c:68</div></div>
+<div class="ttc" id="ecdh__FP512BN_8h_html_abc65f3a3d55125943978eac7464e203b"><div class="ttname"><a href="ecdh__FP512BN_8h.html#abc65f3a3d55125943978eac7464e203b">ECP_FP512BN_SVDP_DH</a></div><div class="ttdeci">int ECP_FP512BN_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_FP512BN.c:104</div></div>
+<div class="ttc" id="ecdh__FP512BN_8h_html_aa0f6dd3cb4b4732ab43bdaa1cad95542"><div class="ttname"><a href="ecdh__FP512BN_8h.html#aa0f6dd3cb4b4732ab43bdaa1cad95542">ECP_FP512BN_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_FP512BN_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_FP512BN.c:34</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><!-- 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/ecdh__GOLDILOCKS_8h.html b/website/static/cdocs/ecdh__GOLDILOCKS_8h.html
index b07bfa7..eecf933 100644
--- a/website/static/cdocs/ecdh__GOLDILOCKS_8h.html
+++ b/website/static/cdocs/ecdh__GOLDILOCKS_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: ecdh_GOLDILOCKS.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"
@@ -625,7 +628,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/ecdh__GOLDILOCKS_8h_source.html b/website/static/cdocs/ecdh__GOLDILOCKS_8h_source.html
index 8adbf3f..5a9dcda 100644
--- a/website/static/cdocs/ecdh__GOLDILOCKS_8h_source.html
+++ b/website/static/cdocs/ecdh__GOLDILOCKS_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: ecdh_GOLDILOCKS.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,23 +72,23 @@
 <div class="title">ecdh_GOLDILOCKS.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__GOLDILOCKS_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_GOLDILOCKS_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_GOLDILOCKS_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__GOLDILOCKS_8h.html">ecp_GOLDILOCKS.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_GOLDILOCKS 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_GOLDILOCKS SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__GOLDILOCKS_8h.html#afb09154c80e7b299ede17cb43851c0df">   42</a></span>&#160;<span class="preprocessor">#define EGS_GOLDILOCKS MODBYTES_448_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#aa6023af672904bdd577f0157078e3cda">   43</a></span>&#160;<span class="preprocessor">#define EFS_GOLDILOCKS MODBYTES_448_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__GOLDILOCKS_8h.html#a64d78113ed4fb2070de80d3f10d6cd00">ECP_GOLDILOCKS_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__GOLDILOCKS_8h.html#a3389a207141f1fea977e4ab9e92e31a3">ECP_GOLDILOCKS_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__GOLDILOCKS_8h.html#a7ffd31847c604d4f015fa94783a32470">ECP_GOLDILOCKS_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#a07ce42062564df1f9aebb12235104ac9">ECP_GOLDILOCKS_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#ad69d080c57f39a9bfa7e29ea3bf8b671">ECP_GOLDILOCKS_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#add033ed7174741900612993ffa5715f5">ECP_GOLDILOCKS_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#a2b6be2e7cd8eaf6d3ebfe4538e8d796c">ECP_GOLDILOCKS_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__GOLDILOCKS_8h_html_a3389a207141f1fea977e4ab9e92e31a3"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a3389a207141f1fea977e4ab9e92e31a3">ECP_GOLDILOCKS_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_GOLDILOCKS_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_GOLDILOCKS.c:68</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html">ecp_GOLDILOCKS.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_a64d78113ed4fb2070de80d3f10d6cd00"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a64d78113ed4fb2070de80d3f10d6cd00">ECP_GOLDILOCKS_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_GOLDILOCKS_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_GOLDILOCKS.c:34</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="ecdh__GOLDILOCKS_8h_html_a7ffd31847c604d4f015fa94783a32470"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a7ffd31847c604d4f015fa94783a32470">ECP_GOLDILOCKS_SVDP_DH</a></div><div class="ttdeci">int ECP_GOLDILOCKS_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_GOLDILOCKS.c:104</div></div>
-<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_ad69d080c57f39a9bfa7e29ea3bf8b671"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#ad69d080c57f39a9bfa7e29ea3bf8b671">ECP_GOLDILOCKS_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_GOLDILOCKS_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_add033ed7174741900612993ffa5715f5"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#add033ed7174741900612993ffa5715f5">ECP_GOLDILOCKS_SP_DSA</a></div><div class="ttdeci">int ECP_GOLDILOCKS_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_a2b6be2e7cd8eaf6d3ebfe4538e8d796c"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a2b6be2e7cd8eaf6d3ebfe4538e8d796c">ECP_GOLDILOCKS_VP_DSA</a></div><div class="ttdeci">int ECP_GOLDILOCKS_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</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="ecdh__GOLDILOCKS_8h_html_a07ce42062564df1f9aebb12235104ac9"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a07ce42062564df1f9aebb12235104ac9">ECP_GOLDILOCKS_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_GOLDILOCKS_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
+<a href="ecdh__GOLDILOCKS_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_GOLDILOCKS_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_GOLDILOCKS_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__GOLDILOCKS_8h.html">ecp_GOLDILOCKS.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_GOLDILOCKS 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_GOLDILOCKS SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__GOLDILOCKS_8h.html#afb09154c80e7b299ede17cb43851c0df">   42</a></span>&#160;<span class="preprocessor">#define EGS_GOLDILOCKS MODBYTES_448_58  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#aa6023af672904bdd577f0157078e3cda">   43</a></span>&#160;<span class="preprocessor">#define EFS_GOLDILOCKS MODBYTES_448_58  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__GOLDILOCKS_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__GOLDILOCKS_8h.html#a64d78113ed4fb2070de80d3f10d6cd00">ECP_GOLDILOCKS_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__GOLDILOCKS_8h.html#a3389a207141f1fea977e4ab9e92e31a3">ECP_GOLDILOCKS_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__GOLDILOCKS_8h.html#a7ffd31847c604d4f015fa94783a32470">ECP_GOLDILOCKS_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#a07ce42062564df1f9aebb12235104ac9">ECP_GOLDILOCKS_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#ad69d080c57f39a9bfa7e29ea3bf8b671">ECP_GOLDILOCKS_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#add033ed7174741900612993ffa5715f5">ECP_GOLDILOCKS_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__GOLDILOCKS_8h.html#a2b6be2e7cd8eaf6d3ebfe4538e8d796c">ECP_GOLDILOCKS_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__GOLDILOCKS_8h_html_a3389a207141f1fea977e4ab9e92e31a3"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a3389a207141f1fea977e4ab9e92e31a3">ECP_GOLDILOCKS_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_GOLDILOCKS_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_GOLDILOCKS.c:68</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html">ecp_GOLDILOCKS.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_a64d78113ed4fb2070de80d3f10d6cd00"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a64d78113ed4fb2070de80d3f10d6cd00">ECP_GOLDILOCKS_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_GOLDILOCKS_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_GOLDILOCKS.c:34</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="ecdh__GOLDILOCKS_8h_html_a7ffd31847c604d4f015fa94783a32470"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a7ffd31847c604d4f015fa94783a32470">ECP_GOLDILOCKS_SVDP_DH</a></div><div class="ttdeci">int ECP_GOLDILOCKS_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_GOLDILOCKS.c:104</div></div>
+<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_ad69d080c57f39a9bfa7e29ea3bf8b671"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#ad69d080c57f39a9bfa7e29ea3bf8b671">ECP_GOLDILOCKS_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_GOLDILOCKS_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_add033ed7174741900612993ffa5715f5"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#add033ed7174741900612993ffa5715f5">ECP_GOLDILOCKS_SP_DSA</a></div><div class="ttdeci">int ECP_GOLDILOCKS_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__GOLDILOCKS_8h_html_a2b6be2e7cd8eaf6d3ebfe4538e8d796c"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a2b6be2e7cd8eaf6d3ebfe4538e8d796c">ECP_GOLDILOCKS_VP_DSA</a></div><div class="ttdeci">int ECP_GOLDILOCKS_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </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="ecdh__GOLDILOCKS_8h_html_a07ce42062564df1f9aebb12235104ac9"><div class="ttname"><a href="ecdh__GOLDILOCKS_8h.html#a07ce42062564df1f9aebb12235104ac9">ECP_GOLDILOCKS_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_GOLDILOCKS_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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/ecdh__HIFIVE_8h.html b/website/static/cdocs/ecdh__HIFIVE_8h.html
index 39c1b68..86fe65b 100644
--- a/website/static/cdocs/ecdh__HIFIVE_8h.html
+++ b/website/static/cdocs/ecdh__HIFIVE_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: ecdh_HIFIVE.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"
@@ -625,7 +628,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/ecdh__HIFIVE_8h_source.html b/website/static/cdocs/ecdh__HIFIVE_8h_source.html
index 7e0d07a..5cd0081 100644
--- a/website/static/cdocs/ecdh__HIFIVE_8h_source.html
+++ b/website/static/cdocs/ecdh__HIFIVE_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: ecdh_HIFIVE.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,23 +72,23 @@
 <div class="title">ecdh_HIFIVE.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__HIFIVE_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_HIFIVE_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_HIFIVE_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__HIFIVE_8h.html">ecp_HIFIVE.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_HIFIVE 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_HIFIVE SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__HIFIVE_8h.html#a657f43d3c02c69cb2676ee897cef1f2e">   42</a></span>&#160;<span class="preprocessor">#define EGS_HIFIVE MODBYTES_336_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a813ad2cb27b759d39d7756707af8a2eb">   43</a></span>&#160;<span class="preprocessor">#define EFS_HIFIVE MODBYTES_336_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__HIFIVE_8h.html#a95d0f7f182f1acb7b93b46d81019d239">ECP_HIFIVE_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__HIFIVE_8h.html#a801333c4c13a0f81c74e25defbc5a33e">ECP_HIFIVE_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__HIFIVE_8h.html#a68308d3112c6ec5a01026da6d2d4b1c9">ECP_HIFIVE_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__HIFIVE_8h.html#a75f1c012c76078518ceb2a17884ec060">ECP_HIFIVE_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__HIFIVE_8h.html#a01a773beff0deaa0c2ffa8a275eeae06">ECP_HIFIVE_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__HIFIVE_8h.html#a9fd453994db78123f452b7bd2b56219e">ECP_HIFIVE_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__HIFIVE_8h.html#a3507e0e4c52c79248f430975c26a6883">ECP_HIFIVE_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__HIFIVE_8h_html_a9fd453994db78123f452b7bd2b56219e"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a9fd453994db78123f452b7bd2b56219e">ECP_HIFIVE_SP_DSA</a></div><div class="ttdeci">int ECP_HIFIVE_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__HIFIVE_8h_html_a68308d3112c6ec5a01026da6d2d4b1c9"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a68308d3112c6ec5a01026da6d2d4b1c9">ECP_HIFIVE_SVDP_DH</a></div><div class="ttdeci">int ECP_HIFIVE_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_HIFIVE.c:104</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="ecdh__HIFIVE_8h_html_a801333c4c13a0f81c74e25defbc5a33e"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a801333c4c13a0f81c74e25defbc5a33e">ECP_HIFIVE_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_HIFIVE_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_HIFIVE.c:68</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__HIFIVE_8h_html_a75f1c012c76078518ceb2a17884ec060"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a75f1c012c76078518ceb2a17884ec060">ECP_HIFIVE_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_HIFIVE_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__HIFIVE_8h_html_a3507e0e4c52c79248f430975c26a6883"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a3507e0e4c52c79248f430975c26a6883">ECP_HIFIVE_VP_DSA</a></div><div class="ttdeci">int ECP_HIFIVE_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html"><div class="ttname"><a href="ecp__HIFIVE_8h.html">ecp_HIFIVE.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__HIFIVE_8h_html_a01a773beff0deaa0c2ffa8a275eeae06"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a01a773beff0deaa0c2ffa8a275eeae06">ECP_HIFIVE_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_HIFIVE_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__HIFIVE_8h_html_a95d0f7f182f1acb7b93b46d81019d239"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a95d0f7f182f1acb7b93b46d81019d239">ECP_HIFIVE_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_HIFIVE_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_HIFIVE.c:34</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>
+<a href="ecdh__HIFIVE_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_HIFIVE_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_HIFIVE_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__HIFIVE_8h.html">ecp_HIFIVE.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_HIFIVE 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_HIFIVE SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__HIFIVE_8h.html#a657f43d3c02c69cb2676ee897cef1f2e">   42</a></span>&#160;<span class="preprocessor">#define EGS_HIFIVE MODBYTES_336_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a813ad2cb27b759d39d7756707af8a2eb">   43</a></span>&#160;<span class="preprocessor">#define EFS_HIFIVE MODBYTES_336_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__HIFIVE_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__HIFIVE_8h.html#a95d0f7f182f1acb7b93b46d81019d239">ECP_HIFIVE_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__HIFIVE_8h.html#a801333c4c13a0f81c74e25defbc5a33e">ECP_HIFIVE_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__HIFIVE_8h.html#a68308d3112c6ec5a01026da6d2d4b1c9">ECP_HIFIVE_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__HIFIVE_8h.html#a75f1c012c76078518ceb2a17884ec060">ECP_HIFIVE_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__HIFIVE_8h.html#a01a773beff0deaa0c2ffa8a275eeae06">ECP_HIFIVE_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__HIFIVE_8h.html#a9fd453994db78123f452b7bd2b56219e">ECP_HIFIVE_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__HIFIVE_8h.html#a3507e0e4c52c79248f430975c26a6883">ECP_HIFIVE_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__HIFIVE_8h_html_a9fd453994db78123f452b7bd2b56219e"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a9fd453994db78123f452b7bd2b56219e">ECP_HIFIVE_SP_DSA</a></div><div class="ttdeci">int ECP_HIFIVE_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__HIFIVE_8h_html_a68308d3112c6ec5a01026da6d2d4b1c9"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a68308d3112c6ec5a01026da6d2d4b1c9">ECP_HIFIVE_SVDP_DH</a></div><div class="ttdeci">int ECP_HIFIVE_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_HIFIVE.c:104</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="ecdh__HIFIVE_8h_html_a801333c4c13a0f81c74e25defbc5a33e"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a801333c4c13a0f81c74e25defbc5a33e">ECP_HIFIVE_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_HIFIVE_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_HIFIVE.c:68</div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__HIFIVE_8h_html_a75f1c012c76078518ceb2a17884ec060"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a75f1c012c76078518ceb2a17884ec060">ECP_HIFIVE_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_HIFIVE_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__HIFIVE_8h_html_a3507e0e4c52c79248f430975c26a6883"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a3507e0e4c52c79248f430975c26a6883">ECP_HIFIVE_VP_DSA</a></div><div class="ttdeci">int ECP_HIFIVE_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html"><div class="ttname"><a href="ecp__HIFIVE_8h.html">ecp_HIFIVE.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__HIFIVE_8h_html_a01a773beff0deaa0c2ffa8a275eeae06"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a01a773beff0deaa0c2ffa8a275eeae06">ECP_HIFIVE_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_HIFIVE_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__HIFIVE_8h_html_a95d0f7f182f1acb7b93b46d81019d239"><div class="ttname"><a href="ecdh__HIFIVE_8h.html#a95d0f7f182f1acb7b93b46d81019d239">ECP_HIFIVE_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_HIFIVE_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_HIFIVE.c:34</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><!-- 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/ecdh__NIST256_8h.html b/website/static/cdocs/ecdh__NIST256_8h.html
index 4f4cde0..def8f34 100644
--- a/website/static/cdocs/ecdh__NIST256_8h.html
+++ b/website/static/cdocs/ecdh__NIST256_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: ecdh_NIST256.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"
@@ -625,7 +628,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/ecdh__NIST256_8h_source.html b/website/static/cdocs/ecdh__NIST256_8h_source.html
index 80daa26..ff22cf9 100644
--- a/website/static/cdocs/ecdh__NIST256_8h_source.html
+++ b/website/static/cdocs/ecdh__NIST256_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: ecdh_NIST256.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,23 +72,23 @@
 <div class="title">ecdh_NIST256.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NIST256_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NIST256_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NIST256_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NIST256_8h.html">ecp_NIST256.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NIST256 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NIST256 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NIST256_8h.html#a50e38a4b2bad1573d56c1890308d3ac2">   42</a></span>&#160;<span class="preprocessor">#define EGS_NIST256 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#ae7cab523d2bfef3d876c4f9e4a9f4f06">   43</a></span>&#160;<span class="preprocessor">#define EFS_NIST256 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NIST256_8h.html#a2fe64b14fa264ed0efdf24051d3ed93b">ECP_NIST256_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NIST256_8h.html#a8983edb53ee6794af0bc1c8e99e33243">ECP_NIST256_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NIST256_8h.html#a1f78cc3be7538a8c0f077ae44d03a28c">ECP_NIST256_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NIST256_8h.html#a4c8aa53e4128edaeb6f0bdda7895a148">ECP_NIST256_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST256_8h.html#a80b057a115786b668c11720d5be76aec">ECP_NIST256_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST256_8h.html#a65ab0a2ff64fae4769fb9cca7113474a">ECP_NIST256_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST256_8h.html#acd251c343a03ab5901192518c04c2482">ECP_NIST256_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NIST256_8h_html_a4c8aa53e4128edaeb6f0bdda7895a148"><div class="ttname"><a href="ecdh__NIST256_8h.html#a4c8aa53e4128edaeb6f0bdda7895a148">ECP_NIST256_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NIST256_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__NIST256_8h_html_a8983edb53ee6794af0bc1c8e99e33243"><div class="ttname"><a href="ecdh__NIST256_8h.html#a8983edb53ee6794af0bc1c8e99e33243">ECP_NIST256_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NIST256_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST256.c:68</div></div>
-<div class="ttc" id="ecdh__NIST256_8h_html_a2fe64b14fa264ed0efdf24051d3ed93b"><div class="ttname"><a href="ecdh__NIST256_8h.html#a2fe64b14fa264ed0efdf24051d3ed93b">ECP_NIST256_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NIST256_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST256.c:34</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html"><div class="ttname"><a href="ecp__NIST256_8h.html">ecp_NIST256.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NIST256_8h_html_a65ab0a2ff64fae4769fb9cca7113474a"><div class="ttname"><a href="ecdh__NIST256_8h.html#a65ab0a2ff64fae4769fb9cca7113474a">ECP_NIST256_SP_DSA</a></div><div class="ttdeci">int ECP_NIST256_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</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="ecdh__NIST256_8h_html_acd251c343a03ab5901192518c04c2482"><div class="ttname"><a href="ecdh__NIST256_8h.html#acd251c343a03ab5901192518c04c2482">ECP_NIST256_VP_DSA</a></div><div class="ttdeci">int ECP_NIST256_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__NIST256_8h_html_a80b057a115786b668c11720d5be76aec"><div class="ttname"><a href="ecdh__NIST256_8h.html#a80b057a115786b668c11720d5be76aec">ECP_NIST256_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NIST256_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__NIST256_8h_html_a1f78cc3be7538a8c0f077ae44d03a28c"><div class="ttname"><a href="ecdh__NIST256_8h.html#a1f78cc3be7538a8c0f077ae44d03a28c">ECP_NIST256_SVDP_DH</a></div><div class="ttdeci">int ECP_NIST256_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST256.c:104</div></div>
+<a href="ecdh__NIST256_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NIST256_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NIST256_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NIST256_8h.html">ecp_NIST256.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NIST256 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NIST256 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NIST256_8h.html#a50e38a4b2bad1573d56c1890308d3ac2">   42</a></span>&#160;<span class="preprocessor">#define EGS_NIST256 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#ae7cab523d2bfef3d876c4f9e4a9f4f06">   43</a></span>&#160;<span class="preprocessor">#define EFS_NIST256 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NIST256_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NIST256_8h.html#a2fe64b14fa264ed0efdf24051d3ed93b">ECP_NIST256_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NIST256_8h.html#a8983edb53ee6794af0bc1c8e99e33243">ECP_NIST256_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NIST256_8h.html#a1f78cc3be7538a8c0f077ae44d03a28c">ECP_NIST256_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NIST256_8h.html#a4c8aa53e4128edaeb6f0bdda7895a148">ECP_NIST256_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST256_8h.html#a80b057a115786b668c11720d5be76aec">ECP_NIST256_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST256_8h.html#a65ab0a2ff64fae4769fb9cca7113474a">ECP_NIST256_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST256_8h.html#acd251c343a03ab5901192518c04c2482">ECP_NIST256_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NIST256_8h_html_a4c8aa53e4128edaeb6f0bdda7895a148"><div class="ttname"><a href="ecdh__NIST256_8h.html#a4c8aa53e4128edaeb6f0bdda7895a148">ECP_NIST256_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NIST256_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__NIST256_8h_html_a8983edb53ee6794af0bc1c8e99e33243"><div class="ttname"><a href="ecdh__NIST256_8h.html#a8983edb53ee6794af0bc1c8e99e33243">ECP_NIST256_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NIST256_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST256.c:68</div></div>
+<div class="ttc" id="ecdh__NIST256_8h_html_a2fe64b14fa264ed0efdf24051d3ed93b"><div class="ttname"><a href="ecdh__NIST256_8h.html#a2fe64b14fa264ed0efdf24051d3ed93b">ECP_NIST256_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NIST256_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST256.c:34</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecp__NIST256_8h_html"><div class="ttname"><a href="ecp__NIST256_8h.html">ecp_NIST256.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NIST256_8h_html_a65ab0a2ff64fae4769fb9cca7113474a"><div class="ttname"><a href="ecdh__NIST256_8h.html#a65ab0a2ff64fae4769fb9cca7113474a">ECP_NIST256_SP_DSA</a></div><div class="ttdeci">int ECP_NIST256_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </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="ecdh__NIST256_8h_html_acd251c343a03ab5901192518c04c2482"><div class="ttname"><a href="ecdh__NIST256_8h.html#acd251c343a03ab5901192518c04c2482">ECP_NIST256_VP_DSA</a></div><div class="ttdeci">int ECP_NIST256_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__NIST256_8h_html_a80b057a115786b668c11720d5be76aec"><div class="ttname"><a href="ecdh__NIST256_8h.html#a80b057a115786b668c11720d5be76aec">ECP_NIST256_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NIST256_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__NIST256_8h_html_a1f78cc3be7538a8c0f077ae44d03a28c"><div class="ttname"><a href="ecdh__NIST256_8h.html#a1f78cc3be7538a8c0f077ae44d03a28c">ECP_NIST256_SVDP_DH</a></div><div class="ttdeci">int ECP_NIST256_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST256.c:104</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/ecdh__NIST384_8h.html b/website/static/cdocs/ecdh__NIST384_8h.html
index 2d1743f..fc56da6 100644
--- a/website/static/cdocs/ecdh__NIST384_8h.html
+++ b/website/static/cdocs/ecdh__NIST384_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: ecdh_NIST384.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"
@@ -625,7 +628,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/ecdh__NIST384_8h_source.html b/website/static/cdocs/ecdh__NIST384_8h_source.html
index 4a174ef..d932352 100644
--- a/website/static/cdocs/ecdh__NIST384_8h_source.html
+++ b/website/static/cdocs/ecdh__NIST384_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: ecdh_NIST384.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,23 +72,23 @@
 <div class="title">ecdh_NIST384.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NIST384_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NIST384_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NIST384_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NIST384_8h.html">ecp_NIST384.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NIST384 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NIST384 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NIST384_8h.html#aa8ee66a3a3d4467a76f918d665549e25">   42</a></span>&#160;<span class="preprocessor">#define EGS_NIST384 MODBYTES_384_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a230f60d3c5c5a9c9b98d8b0db1081ec3">   43</a></span>&#160;<span class="preprocessor">#define EFS_NIST384 MODBYTES_384_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NIST384_8h.html#ab17fa76d8cd415c36aa3697077949342">ECP_NIST384_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NIST384_8h.html#a3c1d6d1dbfb317ff6d36e3cb44e48963">ECP_NIST384_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NIST384_8h.html#a3d5ce70d3e7f69950ff5d077015bac4b">ECP_NIST384_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NIST384_8h.html#a685237e4df3f2f469f6be57a9a23495b">ECP_NIST384_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST384_8h.html#a899a626db6f8c5ecd2502db15b97e453">ECP_NIST384_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST384_8h.html#aa5dee7e620c5e18d46bb513767b0cede">ECP_NIST384_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST384_8h.html#a4ff06c9f7dc527665284a60773a7ffe2">ECP_NIST384_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NIST384_8h_html_a4ff06c9f7dc527665284a60773a7ffe2"><div class="ttname"><a href="ecdh__NIST384_8h.html#a4ff06c9f7dc527665284a60773a7ffe2">ECP_NIST384_VP_DSA</a></div><div class="ttdeci">int ECP_NIST384_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__NIST384_8h_html_a685237e4df3f2f469f6be57a9a23495b"><div class="ttname"><a href="ecdh__NIST384_8h.html#a685237e4df3f2f469f6be57a9a23495b">ECP_NIST384_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NIST384_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html"><div class="ttname"><a href="ecp__NIST384_8h.html">ecp_NIST384.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NIST384_8h_html_ab17fa76d8cd415c36aa3697077949342"><div class="ttname"><a href="ecdh__NIST384_8h.html#ab17fa76d8cd415c36aa3697077949342">ECP_NIST384_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NIST384_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST384.c:34</div></div>
-<div class="ttc" id="ecdh__NIST384_8h_html_a899a626db6f8c5ecd2502db15b97e453"><div class="ttname"><a href="ecdh__NIST384_8h.html#a899a626db6f8c5ecd2502db15b97e453">ECP_NIST384_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NIST384_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NIST384_8h_html_a3c1d6d1dbfb317ff6d36e3cb44e48963"><div class="ttname"><a href="ecdh__NIST384_8h.html#a3c1d6d1dbfb317ff6d36e3cb44e48963">ECP_NIST384_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NIST384_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST384.c:68</div></div>
-<div class="ttc" id="ecdh__NIST384_8h_html_a3d5ce70d3e7f69950ff5d077015bac4b"><div class="ttname"><a href="ecdh__NIST384_8h.html#a3d5ce70d3e7f69950ff5d077015bac4b">ECP_NIST384_SVDP_DH</a></div><div class="ttdeci">int ECP_NIST384_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST384.c:104</div></div>
-<div class="ttc" id="ecdh__NIST384_8h_html_aa5dee7e620c5e18d46bb513767b0cede"><div class="ttname"><a href="ecdh__NIST384_8h.html#aa5dee7e620c5e18d46bb513767b0cede">ECP_NIST384_SP_DSA</a></div><div class="ttdeci">int ECP_NIST384_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</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>
+<a href="ecdh__NIST384_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NIST384_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NIST384_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NIST384_8h.html">ecp_NIST384.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NIST384 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NIST384 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NIST384_8h.html#aa8ee66a3a3d4467a76f918d665549e25">   42</a></span>&#160;<span class="preprocessor">#define EGS_NIST384 MODBYTES_384_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a230f60d3c5c5a9c9b98d8b0db1081ec3">   43</a></span>&#160;<span class="preprocessor">#define EFS_NIST384 MODBYTES_384_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NIST384_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NIST384_8h.html#ab17fa76d8cd415c36aa3697077949342">ECP_NIST384_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NIST384_8h.html#a3c1d6d1dbfb317ff6d36e3cb44e48963">ECP_NIST384_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NIST384_8h.html#a3d5ce70d3e7f69950ff5d077015bac4b">ECP_NIST384_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NIST384_8h.html#a685237e4df3f2f469f6be57a9a23495b">ECP_NIST384_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST384_8h.html#a899a626db6f8c5ecd2502db15b97e453">ECP_NIST384_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST384_8h.html#aa5dee7e620c5e18d46bb513767b0cede">ECP_NIST384_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST384_8h.html#a4ff06c9f7dc527665284a60773a7ffe2">ECP_NIST384_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NIST384_8h_html_a4ff06c9f7dc527665284a60773a7ffe2"><div class="ttname"><a href="ecdh__NIST384_8h.html#a4ff06c9f7dc527665284a60773a7ffe2">ECP_NIST384_VP_DSA</a></div><div class="ttdeci">int ECP_NIST384_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__NIST384_8h_html_a685237e4df3f2f469f6be57a9a23495b"><div class="ttname"><a href="ecdh__NIST384_8h.html#a685237e4df3f2f469f6be57a9a23495b">ECP_NIST384_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NIST384_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecp__NIST384_8h_html"><div class="ttname"><a href="ecp__NIST384_8h.html">ecp_NIST384.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NIST384_8h_html_ab17fa76d8cd415c36aa3697077949342"><div class="ttname"><a href="ecdh__NIST384_8h.html#ab17fa76d8cd415c36aa3697077949342">ECP_NIST384_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NIST384_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST384.c:34</div></div>
+<div class="ttc" id="ecdh__NIST384_8h_html_a899a626db6f8c5ecd2502db15b97e453"><div class="ttname"><a href="ecdh__NIST384_8h.html#a899a626db6f8c5ecd2502db15b97e453">ECP_NIST384_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NIST384_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NIST384_8h_html_a3c1d6d1dbfb317ff6d36e3cb44e48963"><div class="ttname"><a href="ecdh__NIST384_8h.html#a3c1d6d1dbfb317ff6d36e3cb44e48963">ECP_NIST384_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NIST384_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST384.c:68</div></div>
+<div class="ttc" id="ecdh__NIST384_8h_html_a3d5ce70d3e7f69950ff5d077015bac4b"><div class="ttname"><a href="ecdh__NIST384_8h.html#a3d5ce70d3e7f69950ff5d077015bac4b">ECP_NIST384_SVDP_DH</a></div><div class="ttdeci">int ECP_NIST384_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST384.c:104</div></div>
+<div class="ttc" id="ecdh__NIST384_8h_html_aa5dee7e620c5e18d46bb513767b0cede"><div class="ttname"><a href="ecdh__NIST384_8h.html#aa5dee7e620c5e18d46bb513767b0cede">ECP_NIST384_SP_DSA</a></div><div class="ttdeci">int ECP_NIST384_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </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><!-- 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/ecdh__NIST521_8h.html b/website/static/cdocs/ecdh__NIST521_8h.html
index 436bc52..75ec3ad 100644
--- a/website/static/cdocs/ecdh__NIST521_8h.html
+++ b/website/static/cdocs/ecdh__NIST521_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: ecdh_NIST521.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"
@@ -625,7 +628,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/ecdh__NIST521_8h_source.html b/website/static/cdocs/ecdh__NIST521_8h_source.html
index 7c6b3bf..0b579a7 100644
--- a/website/static/cdocs/ecdh__NIST521_8h_source.html
+++ b/website/static/cdocs/ecdh__NIST521_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: ecdh_NIST521.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,23 +72,23 @@
 <div class="title">ecdh_NIST521.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NIST521_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NIST521_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NIST521_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NIST521_8h.html">ecp_NIST521.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NIST521 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NIST521 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NIST521_8h.html#a341f17e7cc5169b00ba3b6e2e24cf9fa">   42</a></span>&#160;<span class="preprocessor">#define EGS_NIST521 MODBYTES_528_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a9c469a0eba293964570eb35a43652d65">   43</a></span>&#160;<span class="preprocessor">#define EFS_NIST521 MODBYTES_528_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NIST521_8h.html#a7567450ceddf05c3ba8f2d0e5f3cf16b">ECP_NIST521_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NIST521_8h.html#ad808d9ff95b098dac5474be55f47d364">ECP_NIST521_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NIST521_8h.html#a255d0431b4c7d50aa6017f4d9452033d">ECP_NIST521_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NIST521_8h.html#a8d8b8e6184c7bbcb943f39793181e7a5">ECP_NIST521_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST521_8h.html#a9f9f409bfb6abaf2408bf5abf90e5c6e">ECP_NIST521_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST521_8h.html#aff6100c0fbacfbaa14e985cfbcc37f79">ECP_NIST521_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST521_8h.html#ad36c7b35fc1a77b98169c3d28f97f456">ECP_NIST521_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NIST521_8h_html_ad36c7b35fc1a77b98169c3d28f97f456"><div class="ttname"><a href="ecdh__NIST521_8h.html#ad36c7b35fc1a77b98169c3d28f97f456">ECP_NIST521_VP_DSA</a></div><div class="ttdeci">int ECP_NIST521_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__NIST521_8h_html_a255d0431b4c7d50aa6017f4d9452033d"><div class="ttname"><a href="ecdh__NIST521_8h.html#a255d0431b4c7d50aa6017f4d9452033d">ECP_NIST521_SVDP_DH</a></div><div class="ttdeci">int ECP_NIST521_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST521.c:104</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html"><div class="ttname"><a href="ecp__NIST521_8h.html">ecp_NIST521.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NIST521_8h_html_aff6100c0fbacfbaa14e985cfbcc37f79"><div class="ttname"><a href="ecdh__NIST521_8h.html#aff6100c0fbacfbaa14e985cfbcc37f79">ECP_NIST521_SP_DSA</a></div><div class="ttdeci">int ECP_NIST521_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__NIST521_8h_html_a7567450ceddf05c3ba8f2d0e5f3cf16b"><div class="ttname"><a href="ecdh__NIST521_8h.html#a7567450ceddf05c3ba8f2d0e5f3cf16b">ECP_NIST521_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NIST521_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST521.c:34</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NIST521_8h_html_ad808d9ff95b098dac5474be55f47d364"><div class="ttname"><a href="ecdh__NIST521_8h.html#ad808d9ff95b098dac5474be55f47d364">ECP_NIST521_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NIST521_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NIST521.c:68</div></div>
-<div class="ttc" id="ecdh__NIST521_8h_html_a9f9f409bfb6abaf2408bf5abf90e5c6e"><div class="ttname"><a href="ecdh__NIST521_8h.html#a9f9f409bfb6abaf2408bf5abf90e5c6e">ECP_NIST521_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NIST521_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__NIST521_8h_html_a8d8b8e6184c7bbcb943f39793181e7a5"><div class="ttname"><a href="ecdh__NIST521_8h.html#a8d8b8e6184c7bbcb943f39793181e7a5">ECP_NIST521_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NIST521_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
+<a href="ecdh__NIST521_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NIST521_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NIST521_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NIST521_8h.html">ecp_NIST521.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NIST521 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NIST521 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NIST521_8h.html#a341f17e7cc5169b00ba3b6e2e24cf9fa">   42</a></span>&#160;<span class="preprocessor">#define EGS_NIST521 MODBYTES_528_60  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a9c469a0eba293964570eb35a43652d65">   43</a></span>&#160;<span class="preprocessor">#define EFS_NIST521 MODBYTES_528_60  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NIST521_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NIST521_8h.html#a7567450ceddf05c3ba8f2d0e5f3cf16b">ECP_NIST521_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NIST521_8h.html#ad808d9ff95b098dac5474be55f47d364">ECP_NIST521_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NIST521_8h.html#a255d0431b4c7d50aa6017f4d9452033d">ECP_NIST521_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NIST521_8h.html#a8d8b8e6184c7bbcb943f39793181e7a5">ECP_NIST521_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST521_8h.html#a9f9f409bfb6abaf2408bf5abf90e5c6e">ECP_NIST521_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST521_8h.html#aff6100c0fbacfbaa14e985cfbcc37f79">ECP_NIST521_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NIST521_8h.html#ad36c7b35fc1a77b98169c3d28f97f456">ECP_NIST521_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NIST521_8h_html_ad36c7b35fc1a77b98169c3d28f97f456"><div class="ttname"><a href="ecdh__NIST521_8h.html#ad36c7b35fc1a77b98169c3d28f97f456">ECP_NIST521_VP_DSA</a></div><div class="ttdeci">int ECP_NIST521_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__NIST521_8h_html_a255d0431b4c7d50aa6017f4d9452033d"><div class="ttname"><a href="ecdh__NIST521_8h.html#a255d0431b4c7d50aa6017f4d9452033d">ECP_NIST521_SVDP_DH</a></div><div class="ttdeci">int ECP_NIST521_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST521.c:104</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html"><div class="ttname"><a href="ecp__NIST521_8h.html">ecp_NIST521.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NIST521_8h_html_aff6100c0fbacfbaa14e985cfbcc37f79"><div class="ttname"><a href="ecdh__NIST521_8h.html#aff6100c0fbacfbaa14e985cfbcc37f79">ECP_NIST521_SP_DSA</a></div><div class="ttdeci">int ECP_NIST521_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__NIST521_8h_html_a7567450ceddf05c3ba8f2d0e5f3cf16b"><div class="ttname"><a href="ecdh__NIST521_8h.html#a7567450ceddf05c3ba8f2d0e5f3cf16b">ECP_NIST521_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NIST521_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST521.c:34</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NIST521_8h_html_ad808d9ff95b098dac5474be55f47d364"><div class="ttname"><a href="ecdh__NIST521_8h.html#ad808d9ff95b098dac5474be55f47d364">ECP_NIST521_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NIST521_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NIST521.c:68</div></div>
+<div class="ttc" id="ecdh__NIST521_8h_html_a9f9f409bfb6abaf2408bf5abf90e5c6e"><div class="ttname"><a href="ecdh__NIST521_8h.html#a9f9f409bfb6abaf2408bf5abf90e5c6e">ECP_NIST521_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NIST521_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__NIST521_8h_html_a8d8b8e6184c7bbcb943f39793181e7a5"><div class="ttname"><a href="ecdh__NIST521_8h.html#a8d8b8e6184c7bbcb943f39793181e7a5">ECP_NIST521_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NIST521_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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/ecdh__NUMS256E_8h.html b/website/static/cdocs/ecdh__NUMS256E_8h.html
index fe4536e..2fa3536 100644
--- a/website/static/cdocs/ecdh__NUMS256E_8h.html
+++ b/website/static/cdocs/ecdh__NUMS256E_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: ecdh_NUMS256E.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"
@@ -625,7 +628,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/ecdh__NUMS256E_8h_source.html b/website/static/cdocs/ecdh__NUMS256E_8h_source.html
index d22edf1..80361bb 100644
--- a/website/static/cdocs/ecdh__NUMS256E_8h_source.html
+++ b/website/static/cdocs/ecdh__NUMS256E_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: ecdh_NUMS256E.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,23 +72,23 @@
 <div class="title">ecdh_NUMS256E.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NUMS256E_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS256E_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS256E_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS256E_8h.html">ecp_NUMS256E.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS256E 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS256E SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS256E_8h.html#a9756c038d9b66291c984307e79ef55e6">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS256E MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#aaac810ebddab38d03993773d8caab113">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS256E MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS256E_8h.html#ab406996bb9eac70538297cdb492d7daf">ECP_NUMS256E_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS256E_8h.html#a1b2554d037725537339e50f0fb58646e">ECP_NUMS256E_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS256E_8h.html#ad811c4184b5b8b1ea86e8b10da3f2b02">ECP_NUMS256E_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS256E_8h.html#a91f4761a48330d2eb0ef40f6a4da1c9c">ECP_NUMS256E_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256E_8h.html#abc3530d4db24845fb3960ab043347df9">ECP_NUMS256E_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256E_8h.html#abbe60496e3bc00271ae439161f16f6d1">ECP_NUMS256E_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256E_8h.html#a1d35a4917ae87ea15be9f91854745ba4">ECP_NUMS256E_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS256E_8h_html_a1d35a4917ae87ea15be9f91854745ba4"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#a1d35a4917ae87ea15be9f91854745ba4">ECP_NUMS256E_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS256E_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__NUMS256E_8h_html_a91f4761a48330d2eb0ef40f6a4da1c9c"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#a91f4761a48330d2eb0ef40f6a4da1c9c">ECP_NUMS256E_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS256E_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS256E_8h_html_a1b2554d037725537339e50f0fb58646e"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#a1b2554d037725537339e50f0fb58646e">ECP_NUMS256E_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS256E_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256E.c:68</div></div>
-<div class="ttc" id="ecdh__NUMS256E_8h_html_abbe60496e3bc00271ae439161f16f6d1"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#abbe60496e3bc00271ae439161f16f6d1">ECP_NUMS256E_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS256E_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html"><div class="ttname"><a href="ecp__NUMS256E_8h.html">ecp_NUMS256E.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS256E_8h_html_ab406996bb9eac70538297cdb492d7daf"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#ab406996bb9eac70538297cdb492d7daf">ECP_NUMS256E_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS256E_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256E.c:34</div></div>
-<div class="ttc" id="ecdh__NUMS256E_8h_html_ad811c4184b5b8b1ea86e8b10da3f2b02"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#ad811c4184b5b8b1ea86e8b10da3f2b02">ECP_NUMS256E_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS256E_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256E.c:104</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="ecdh__NUMS256E_8h_html_abc3530d4db24845fb3960ab043347df9"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#abc3530d4db24845fb3960ab043347df9">ECP_NUMS256E_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS256E_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
+<a href="ecdh__NUMS256E_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS256E_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS256E_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS256E_8h.html">ecp_NUMS256E.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS256E 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS256E SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS256E_8h.html#a9756c038d9b66291c984307e79ef55e6">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS256E MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#aaac810ebddab38d03993773d8caab113">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS256E MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS256E_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS256E_8h.html#ab406996bb9eac70538297cdb492d7daf">ECP_NUMS256E_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS256E_8h.html#a1b2554d037725537339e50f0fb58646e">ECP_NUMS256E_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS256E_8h.html#ad811c4184b5b8b1ea86e8b10da3f2b02">ECP_NUMS256E_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS256E_8h.html#a91f4761a48330d2eb0ef40f6a4da1c9c">ECP_NUMS256E_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256E_8h.html#abc3530d4db24845fb3960ab043347df9">ECP_NUMS256E_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256E_8h.html#abbe60496e3bc00271ae439161f16f6d1">ECP_NUMS256E_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256E_8h.html#a1d35a4917ae87ea15be9f91854745ba4">ECP_NUMS256E_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS256E_8h_html_a1d35a4917ae87ea15be9f91854745ba4"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#a1d35a4917ae87ea15be9f91854745ba4">ECP_NUMS256E_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS256E_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__NUMS256E_8h_html_a91f4761a48330d2eb0ef40f6a4da1c9c"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#a91f4761a48330d2eb0ef40f6a4da1c9c">ECP_NUMS256E_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS256E_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS256E_8h_html_a1b2554d037725537339e50f0fb58646e"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#a1b2554d037725537339e50f0fb58646e">ECP_NUMS256E_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS256E_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256E.c:68</div></div>
+<div class="ttc" id="ecdh__NUMS256E_8h_html_abbe60496e3bc00271ae439161f16f6d1"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#abbe60496e3bc00271ae439161f16f6d1">ECP_NUMS256E_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS256E_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html"><div class="ttname"><a href="ecp__NUMS256E_8h.html">ecp_NUMS256E.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS256E_8h_html_ab406996bb9eac70538297cdb492d7daf"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#ab406996bb9eac70538297cdb492d7daf">ECP_NUMS256E_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS256E_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256E.c:34</div></div>
+<div class="ttc" id="ecdh__NUMS256E_8h_html_ad811c4184b5b8b1ea86e8b10da3f2b02"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#ad811c4184b5b8b1ea86e8b10da3f2b02">ECP_NUMS256E_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS256E_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256E.c:104</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="ecdh__NUMS256E_8h_html_abc3530d4db24845fb3960ab043347df9"><div class="ttname"><a href="ecdh__NUMS256E_8h.html#abc3530d4db24845fb3960ab043347df9">ECP_NUMS256E_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS256E_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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/ecdh__NUMS256W_8h.html b/website/static/cdocs/ecdh__NUMS256W_8h.html
index 39436ee..a58875b 100644
--- a/website/static/cdocs/ecdh__NUMS256W_8h.html
+++ b/website/static/cdocs/ecdh__NUMS256W_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: ecdh_NUMS256W.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"
@@ -625,7 +628,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/ecdh__NUMS256W_8h_source.html b/website/static/cdocs/ecdh__NUMS256W_8h_source.html
index a13ab83..6952c4e 100644
--- a/website/static/cdocs/ecdh__NUMS256W_8h_source.html
+++ b/website/static/cdocs/ecdh__NUMS256W_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: ecdh_NUMS256W.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,23 +72,23 @@
 <div class="title">ecdh_NUMS256W.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NUMS256W_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS256W_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS256W_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS256W_8h.html">ecp_NUMS256W.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS256W 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS256W SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS256W_8h.html#af3561c2410b80e9c5d13afc530b359ce">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS256W MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a362b6d400dd2224f3b5951e8d4761934">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS256W MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS256W_8h.html#aa19ce034f1679276b0fa4b9ccaaf7000">ECP_NUMS256W_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS256W_8h.html#ab5ec397edb68e0f68546245486c15702">ECP_NUMS256W_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS256W_8h.html#ac236d059e931eeafba8c0b4f33d441c2">ECP_NUMS256W_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS256W_8h.html#a093ea534d8c446a3772c7e511f9a74fb">ECP_NUMS256W_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256W_8h.html#ac3700d48e9a38f0c16126fd84bddc07f">ECP_NUMS256W_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256W_8h.html#ab73a92476a4500131f474b63d754377b">ECP_NUMS256W_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256W_8h.html#ac9f76143a5eb274375195ef790fee183">ECP_NUMS256W_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS256W_8h_html_ab5ec397edb68e0f68546245486c15702"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ab5ec397edb68e0f68546245486c15702">ECP_NUMS256W_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS256W_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256W.c:68</div></div>
-<div class="ttc" id="ecdh__NUMS256W_8h_html_ac236d059e931eeafba8c0b4f33d441c2"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ac236d059e931eeafba8c0b4f33d441c2">ECP_NUMS256W_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS256W_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256W.c:104</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS256W_8h_html_ac9f76143a5eb274375195ef790fee183"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ac9f76143a5eb274375195ef790fee183">ECP_NUMS256W_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS256W_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__NUMS256W_8h_html_ab73a92476a4500131f474b63d754377b"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ab73a92476a4500131f474b63d754377b">ECP_NUMS256W_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS256W_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__NUMS256W_8h_html_ac3700d48e9a38f0c16126fd84bddc07f"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ac3700d48e9a38f0c16126fd84bddc07f">ECP_NUMS256W_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS256W_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__NUMS256W_8h_html_aa19ce034f1679276b0fa4b9ccaaf7000"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#aa19ce034f1679276b0fa4b9ccaaf7000">ECP_NUMS256W_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS256W_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256W.c:34</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="ecp__NUMS256W_8h_html"><div class="ttname"><a href="ecp__NUMS256W_8h.html">ecp_NUMS256W.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS256W_8h_html_a093ea534d8c446a3772c7e511f9a74fb"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#a093ea534d8c446a3772c7e511f9a74fb">ECP_NUMS256W_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS256W_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
+<a href="ecdh__NUMS256W_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS256W_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS256W_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS256W_8h.html">ecp_NUMS256W.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS256W 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS256W SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS256W_8h.html#af3561c2410b80e9c5d13afc530b359ce">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS256W MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a362b6d400dd2224f3b5951e8d4761934">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS256W MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS256W_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS256W_8h.html#aa19ce034f1679276b0fa4b9ccaaf7000">ECP_NUMS256W_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS256W_8h.html#ab5ec397edb68e0f68546245486c15702">ECP_NUMS256W_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS256W_8h.html#ac236d059e931eeafba8c0b4f33d441c2">ECP_NUMS256W_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS256W_8h.html#a093ea534d8c446a3772c7e511f9a74fb">ECP_NUMS256W_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256W_8h.html#ac3700d48e9a38f0c16126fd84bddc07f">ECP_NUMS256W_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256W_8h.html#ab73a92476a4500131f474b63d754377b">ECP_NUMS256W_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS256W_8h.html#ac9f76143a5eb274375195ef790fee183">ECP_NUMS256W_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS256W_8h_html_ab5ec397edb68e0f68546245486c15702"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ab5ec397edb68e0f68546245486c15702">ECP_NUMS256W_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS256W_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256W.c:68</div></div>
+<div class="ttc" id="ecdh__NUMS256W_8h_html_ac236d059e931eeafba8c0b4f33d441c2"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ac236d059e931eeafba8c0b4f33d441c2">ECP_NUMS256W_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS256W_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256W.c:104</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="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS256W_8h_html_ac9f76143a5eb274375195ef790fee183"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ac9f76143a5eb274375195ef790fee183">ECP_NUMS256W_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS256W_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__NUMS256W_8h_html_ab73a92476a4500131f474b63d754377b"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ab73a92476a4500131f474b63d754377b">ECP_NUMS256W_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS256W_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__NUMS256W_8h_html_ac3700d48e9a38f0c16126fd84bddc07f"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#ac3700d48e9a38f0c16126fd84bddc07f">ECP_NUMS256W_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS256W_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__NUMS256W_8h_html_aa19ce034f1679276b0fa4b9ccaaf7000"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#aa19ce034f1679276b0fa4b9ccaaf7000">ECP_NUMS256W_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS256W_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS256W.c:34</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="ecp__NUMS256W_8h_html"><div class="ttname"><a href="ecp__NUMS256W_8h.html">ecp_NUMS256W.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS256W_8h_html_a093ea534d8c446a3772c7e511f9a74fb"><div class="ttname"><a href="ecdh__NUMS256W_8h.html#a093ea534d8c446a3772c7e511f9a74fb">ECP_NUMS256W_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS256W_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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/ecdh__NUMS384E_8h.html b/website/static/cdocs/ecdh__NUMS384E_8h.html
index dbd4624..d973a3d 100644
--- a/website/static/cdocs/ecdh__NUMS384E_8h.html
+++ b/website/static/cdocs/ecdh__NUMS384E_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: ecdh_NUMS384E.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"
@@ -625,7 +628,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/ecdh__NUMS384E_8h_source.html b/website/static/cdocs/ecdh__NUMS384E_8h_source.html
index 3fc607d..6737a61 100644
--- a/website/static/cdocs/ecdh__NUMS384E_8h_source.html
+++ b/website/static/cdocs/ecdh__NUMS384E_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: ecdh_NUMS384E.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,23 +72,23 @@
 <div class="title">ecdh_NUMS384E.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NUMS384E_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS384E_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS384E_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS384E_8h.html">ecp_NUMS384E.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS384E 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS384E SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS384E_8h.html#a58edf22591be1d8b2a9f84d0edb3afee">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS384E MODBYTES_384_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#adb0f76612b5172e410c2af390bdbbbc5">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS384E MODBYTES_384_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS384E_8h.html#ad3752e3a7776a3d2a0d146fbea50f055">ECP_NUMS384E_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS384E_8h.html#a6d1b7a3e97a54b81799dc03d805dfd0f">ECP_NUMS384E_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS384E_8h.html#a5a3f914cd3eaa9a5790195179edc135a">ECP_NUMS384E_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS384E_8h.html#a315e310c1ee80ee4b8418cf770ed11f7">ECP_NUMS384E_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384E_8h.html#aa105de6db6bc6ff2abca414286f365ae">ECP_NUMS384E_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384E_8h.html#a964049265d147728923a8b1b11cb0c7a">ECP_NUMS384E_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384E_8h.html#a27e11ab7ff9b639f4fc966eb3494271d">ECP_NUMS384E_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS384E_8h_html_a6d1b7a3e97a54b81799dc03d805dfd0f"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a6d1b7a3e97a54b81799dc03d805dfd0f">ECP_NUMS384E_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS384E_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384E.c:68</div></div>
-<div class="ttc" id="ecdh__NUMS384E_8h_html_aa105de6db6bc6ff2abca414286f365ae"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#aa105de6db6bc6ff2abca414286f365ae">ECP_NUMS384E_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS384E_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__NUMS384E_8h_html_a5a3f914cd3eaa9a5790195179edc135a"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a5a3f914cd3eaa9a5790195179edc135a">ECP_NUMS384E_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS384E_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384E.c:104</div></div>
-<div class="ttc" id="ecdh__NUMS384E_8h_html_a27e11ab7ff9b639f4fc966eb3494271d"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a27e11ab7ff9b639f4fc966eb3494271d">ECP_NUMS384E_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS384E_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</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="ecdh__NUMS384E_8h_html_a964049265d147728923a8b1b11cb0c7a"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a964049265d147728923a8b1b11cb0c7a">ECP_NUMS384E_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS384E_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecdh__NUMS384E_8h_html_ad3752e3a7776a3d2a0d146fbea50f055"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#ad3752e3a7776a3d2a0d146fbea50f055">ECP_NUMS384E_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS384E_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384E.c:34</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS384E_8h_html_a315e310c1ee80ee4b8418cf770ed11f7"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a315e310c1ee80ee4b8418cf770ed11f7">ECP_NUMS384E_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS384E_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html"><div class="ttname"><a href="ecp__NUMS384E_8h.html">ecp_NUMS384E.h</a></div><div class="ttdoc">ECP Header File.</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>
+<a href="ecdh__NUMS384E_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS384E_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS384E_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS384E_8h.html">ecp_NUMS384E.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS384E 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS384E SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS384E_8h.html#a58edf22591be1d8b2a9f84d0edb3afee">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS384E MODBYTES_384_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#adb0f76612b5172e410c2af390bdbbbc5">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS384E MODBYTES_384_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS384E_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS384E_8h.html#ad3752e3a7776a3d2a0d146fbea50f055">ECP_NUMS384E_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS384E_8h.html#a6d1b7a3e97a54b81799dc03d805dfd0f">ECP_NUMS384E_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS384E_8h.html#a5a3f914cd3eaa9a5790195179edc135a">ECP_NUMS384E_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS384E_8h.html#a315e310c1ee80ee4b8418cf770ed11f7">ECP_NUMS384E_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384E_8h.html#aa105de6db6bc6ff2abca414286f365ae">ECP_NUMS384E_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384E_8h.html#a964049265d147728923a8b1b11cb0c7a">ECP_NUMS384E_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384E_8h.html#a27e11ab7ff9b639f4fc966eb3494271d">ECP_NUMS384E_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS384E_8h_html_a6d1b7a3e97a54b81799dc03d805dfd0f"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a6d1b7a3e97a54b81799dc03d805dfd0f">ECP_NUMS384E_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS384E_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384E.c:68</div></div>
+<div class="ttc" id="ecdh__NUMS384E_8h_html_aa105de6db6bc6ff2abca414286f365ae"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#aa105de6db6bc6ff2abca414286f365ae">ECP_NUMS384E_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS384E_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__NUMS384E_8h_html_a5a3f914cd3eaa9a5790195179edc135a"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a5a3f914cd3eaa9a5790195179edc135a">ECP_NUMS384E_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS384E_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384E.c:104</div></div>
+<div class="ttc" id="ecdh__NUMS384E_8h_html_a27e11ab7ff9b639f4fc966eb3494271d"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a27e11ab7ff9b639f4fc966eb3494271d">ECP_NUMS384E_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS384E_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </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="ecdh__NUMS384E_8h_html_a964049265d147728923a8b1b11cb0c7a"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a964049265d147728923a8b1b11cb0c7a">ECP_NUMS384E_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS384E_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecdh__NUMS384E_8h_html_ad3752e3a7776a3d2a0d146fbea50f055"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#ad3752e3a7776a3d2a0d146fbea50f055">ECP_NUMS384E_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS384E_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384E.c:34</div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS384E_8h_html_a315e310c1ee80ee4b8418cf770ed11f7"><div class="ttname"><a href="ecdh__NUMS384E_8h.html#a315e310c1ee80ee4b8418cf770ed11f7">ECP_NUMS384E_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS384E_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html"><div class="ttname"><a href="ecp__NUMS384E_8h.html">ecp_NUMS384E.h</a></div><div class="ttdoc">ECP Header File. </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><!-- 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/ecdh__NUMS384W_8h.html b/website/static/cdocs/ecdh__NUMS384W_8h.html
index e62fa8f..9bc81c4 100644
--- a/website/static/cdocs/ecdh__NUMS384W_8h.html
+++ b/website/static/cdocs/ecdh__NUMS384W_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: ecdh_NUMS384W.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"
@@ -625,7 +628,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/ecdh__NUMS384W_8h_source.html b/website/static/cdocs/ecdh__NUMS384W_8h_source.html
index 7329512..b17e400 100644
--- a/website/static/cdocs/ecdh__NUMS384W_8h_source.html
+++ b/website/static/cdocs/ecdh__NUMS384W_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: ecdh_NUMS384W.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,23 +72,23 @@
 <div class="title">ecdh_NUMS384W.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NUMS384W_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS384W_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS384W_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS384W_8h.html">ecp_NUMS384W.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS384W 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS384W SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS384W_8h.html#a08c16dd129bb5b3a369e5901e9e42d08">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS384W MODBYTES_384_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#ae5b92317a7692fbf0070cbcda6e26545">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS384W MODBYTES_384_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS384W_8h.html#a44cf56f42a8a854278798dc2a1984015">ECP_NUMS384W_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS384W_8h.html#a0c1c1f6f9f086226e803aa52dbb598dc">ECP_NUMS384W_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS384W_8h.html#aee95c9b9962554becd5204d72fbb366e">ECP_NUMS384W_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS384W_8h.html#a634a616fdfdd55b3471468121d70fb53">ECP_NUMS384W_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384W_8h.html#a46a3721fed9df57331844d38e52cc087">ECP_NUMS384W_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384W_8h.html#aec21803215cfcc386ffda0ac038f0fe3">ECP_NUMS384W_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384W_8h.html#a4023ebd661205555e2be45555145d79c">ECP_NUMS384W_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__NUMS384W_8h_html"><div class="ttname"><a href="ecp__NUMS384W_8h.html">ecp_NUMS384W.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS384W_8h_html_a634a616fdfdd55b3471468121d70fb53"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a634a616fdfdd55b3471468121d70fb53">ECP_NUMS384W_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS384W_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</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="ecdh__NUMS384W_8h_html_a0c1c1f6f9f086226e803aa52dbb598dc"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a0c1c1f6f9f086226e803aa52dbb598dc">ECP_NUMS384W_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS384W_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384W.c:68</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS384W_8h_html_aee95c9b9962554becd5204d72fbb366e"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#aee95c9b9962554becd5204d72fbb366e">ECP_NUMS384W_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS384W_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384W.c:104</div></div>
-<div class="ttc" id="ecdh__NUMS384W_8h_html_a4023ebd661205555e2be45555145d79c"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a4023ebd661205555e2be45555145d79c">ECP_NUMS384W_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS384W_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__NUMS384W_8h_html_a46a3721fed9df57331844d38e52cc087"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a46a3721fed9df57331844d38e52cc087">ECP_NUMS384W_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS384W_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__NUMS384W_8h_html_a44cf56f42a8a854278798dc2a1984015"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a44cf56f42a8a854278798dc2a1984015">ECP_NUMS384W_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS384W_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384W.c:34</div></div>
-<div class="ttc" id="ecdh__NUMS384W_8h_html_aec21803215cfcc386ffda0ac038f0fe3"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#aec21803215cfcc386ffda0ac038f0fe3">ECP_NUMS384W_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS384W_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
+<a href="ecdh__NUMS384W_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS384W_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS384W_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS384W_8h.html">ecp_NUMS384W.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS384W 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS384W SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS384W_8h.html#a08c16dd129bb5b3a369e5901e9e42d08">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS384W MODBYTES_384_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#ae5b92317a7692fbf0070cbcda6e26545">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS384W MODBYTES_384_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS384W_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS384W_8h.html#a44cf56f42a8a854278798dc2a1984015">ECP_NUMS384W_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS384W_8h.html#a0c1c1f6f9f086226e803aa52dbb598dc">ECP_NUMS384W_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS384W_8h.html#aee95c9b9962554becd5204d72fbb366e">ECP_NUMS384W_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS384W_8h.html#a634a616fdfdd55b3471468121d70fb53">ECP_NUMS384W_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384W_8h.html#a46a3721fed9df57331844d38e52cc087">ECP_NUMS384W_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384W_8h.html#aec21803215cfcc386ffda0ac038f0fe3">ECP_NUMS384W_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS384W_8h.html#a4023ebd661205555e2be45555145d79c">ECP_NUMS384W_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecp__NUMS384W_8h_html"><div class="ttname"><a href="ecp__NUMS384W_8h.html">ecp_NUMS384W.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS384W_8h_html_a634a616fdfdd55b3471468121d70fb53"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a634a616fdfdd55b3471468121d70fb53">ECP_NUMS384W_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS384W_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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="ecdh__NUMS384W_8h_html_a0c1c1f6f9f086226e803aa52dbb598dc"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a0c1c1f6f9f086226e803aa52dbb598dc">ECP_NUMS384W_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS384W_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384W.c:68</div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS384W_8h_html_aee95c9b9962554becd5204d72fbb366e"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#aee95c9b9962554becd5204d72fbb366e">ECP_NUMS384W_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS384W_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384W.c:104</div></div>
+<div class="ttc" id="ecdh__NUMS384W_8h_html_a4023ebd661205555e2be45555145d79c"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a4023ebd661205555e2be45555145d79c">ECP_NUMS384W_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS384W_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__NUMS384W_8h_html_a46a3721fed9df57331844d38e52cc087"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a46a3721fed9df57331844d38e52cc087">ECP_NUMS384W_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS384W_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__NUMS384W_8h_html_a44cf56f42a8a854278798dc2a1984015"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#a44cf56f42a8a854278798dc2a1984015">ECP_NUMS384W_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS384W_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS384W.c:34</div></div>
+<div class="ttc" id="ecdh__NUMS384W_8h_html_aec21803215cfcc386ffda0ac038f0fe3"><div class="ttname"><a href="ecdh__NUMS384W_8h.html#aec21803215cfcc386ffda0ac038f0fe3">ECP_NUMS384W_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS384W_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </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/ecdh__NUMS512E_8h.html b/website/static/cdocs/ecdh__NUMS512E_8h.html
index c273a6a..f88b5cb 100644
--- a/website/static/cdocs/ecdh__NUMS512E_8h.html
+++ b/website/static/cdocs/ecdh__NUMS512E_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: ecdh_NUMS512E.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"
@@ -625,7 +628,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/ecdh__NUMS512E_8h_source.html b/website/static/cdocs/ecdh__NUMS512E_8h_source.html
index b838e57..241dd09 100644
--- a/website/static/cdocs/ecdh__NUMS512E_8h_source.html
+++ b/website/static/cdocs/ecdh__NUMS512E_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: ecdh_NUMS512E.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,23 +72,23 @@
 <div class="title">ecdh_NUMS512E.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NUMS512E_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS512E_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS512E_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS512E_8h.html">ecp_NUMS512E.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS512E 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS512E SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS512E_8h.html#a0abfcfd15124d37582973344ae3cfc4e">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS512E MODBYTES_512_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#aaf7c53956a0e12ad7f63efe59f8dd775">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS512E MODBYTES_512_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS512E_8h.html#acbb4670e9b78c282a1f6e562e8c53a8c">ECP_NUMS512E_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS512E_8h.html#aadd34bca3421a31814281dd000c181b2">ECP_NUMS512E_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS512E_8h.html#a32c249f4018e9ce30a560fd3fbe02b8c">ECP_NUMS512E_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS512E_8h.html#a5868410118a59bb5c892b4b4f7fffe90">ECP_NUMS512E_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512E_8h.html#ae15b5a518a1a7ec994df388d8824c4c8">ECP_NUMS512E_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512E_8h.html#a773b69eda9d3f2af4f9b4ede775cb11f">ECP_NUMS512E_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512E_8h.html#a157b7279849f18c74fd7528911f6ea76">ECP_NUMS512E_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS512E_8h_html_a32c249f4018e9ce30a560fd3fbe02b8c"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a32c249f4018e9ce30a560fd3fbe02b8c">ECP_NUMS512E_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS512E_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512E.c:104</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html"><div class="ttname"><a href="ecp__NUMS512E_8h.html">ecp_NUMS512E.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS512E_8h_html_aadd34bca3421a31814281dd000c181b2"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#aadd34bca3421a31814281dd000c181b2">ECP_NUMS512E_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS512E_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512E.c:68</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="ecdh__NUMS512E_8h_html_a157b7279849f18c74fd7528911f6ea76"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a157b7279849f18c74fd7528911f6ea76">ECP_NUMS512E_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS512E_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS512E_8h_html_acbb4670e9b78c282a1f6e562e8c53a8c"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#acbb4670e9b78c282a1f6e562e8c53a8c">ECP_NUMS512E_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS512E_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512E.c:34</div></div>
-<div class="ttc" id="ecdh__NUMS512E_8h_html_a5868410118a59bb5c892b4b4f7fffe90"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a5868410118a59bb5c892b4b4f7fffe90">ECP_NUMS512E_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS512E_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__NUMS512E_8h_html_ae15b5a518a1a7ec994df388d8824c4c8"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#ae15b5a518a1a7ec994df388d8824c4c8">ECP_NUMS512E_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS512E_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</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="ecdh__NUMS512E_8h_html_a773b69eda9d3f2af4f9b4ede775cb11f"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a773b69eda9d3f2af4f9b4ede775cb11f">ECP_NUMS512E_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS512E_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
+<a href="ecdh__NUMS512E_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS512E_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS512E_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS512E_8h.html">ecp_NUMS512E.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS512E 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS512E SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS512E_8h.html#a0abfcfd15124d37582973344ae3cfc4e">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS512E MODBYTES_512_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#aaf7c53956a0e12ad7f63efe59f8dd775">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS512E MODBYTES_512_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS512E_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS512E_8h.html#acbb4670e9b78c282a1f6e562e8c53a8c">ECP_NUMS512E_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS512E_8h.html#aadd34bca3421a31814281dd000c181b2">ECP_NUMS512E_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS512E_8h.html#a32c249f4018e9ce30a560fd3fbe02b8c">ECP_NUMS512E_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS512E_8h.html#a5868410118a59bb5c892b4b4f7fffe90">ECP_NUMS512E_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512E_8h.html#ae15b5a518a1a7ec994df388d8824c4c8">ECP_NUMS512E_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512E_8h.html#a773b69eda9d3f2af4f9b4ede775cb11f">ECP_NUMS512E_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512E_8h.html#a157b7279849f18c74fd7528911f6ea76">ECP_NUMS512E_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS512E_8h_html_a32c249f4018e9ce30a560fd3fbe02b8c"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a32c249f4018e9ce30a560fd3fbe02b8c">ECP_NUMS512E_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS512E_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512E.c:104</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html"><div class="ttname"><a href="ecp__NUMS512E_8h.html">ecp_NUMS512E.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS512E_8h_html_aadd34bca3421a31814281dd000c181b2"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#aadd34bca3421a31814281dd000c181b2">ECP_NUMS512E_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS512E_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512E.c:68</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="ecdh__NUMS512E_8h_html_a157b7279849f18c74fd7528911f6ea76"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a157b7279849f18c74fd7528911f6ea76">ECP_NUMS512E_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS512E_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS512E_8h_html_acbb4670e9b78c282a1f6e562e8c53a8c"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#acbb4670e9b78c282a1f6e562e8c53a8c">ECP_NUMS512E_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS512E_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512E.c:34</div></div>
+<div class="ttc" id="ecdh__NUMS512E_8h_html_a5868410118a59bb5c892b4b4f7fffe90"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a5868410118a59bb5c892b4b4f7fffe90">ECP_NUMS512E_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS512E_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__NUMS512E_8h_html_ae15b5a518a1a7ec994df388d8824c4c8"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#ae15b5a518a1a7ec994df388d8824c4c8">ECP_NUMS512E_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS512E_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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="ecdh__NUMS512E_8h_html_a773b69eda9d3f2af4f9b4ede775cb11f"><div class="ttname"><a href="ecdh__NUMS512E_8h.html#a773b69eda9d3f2af4f9b4ede775cb11f">ECP_NUMS512E_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS512E_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </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/ecdh__NUMS512W_8h.html b/website/static/cdocs/ecdh__NUMS512W_8h.html
index fe35239..0326deb 100644
--- a/website/static/cdocs/ecdh__NUMS512W_8h.html
+++ b/website/static/cdocs/ecdh__NUMS512W_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: ecdh_NUMS512W.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"
@@ -625,7 +628,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/ecdh__NUMS512W_8h_source.html b/website/static/cdocs/ecdh__NUMS512W_8h_source.html
index 5a8696a..4a46407 100644
--- a/website/static/cdocs/ecdh__NUMS512W_8h_source.html
+++ b/website/static/cdocs/ecdh__NUMS512W_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: ecdh_NUMS512W.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,23 +72,23 @@
 <div class="title">ecdh_NUMS512W.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__NUMS512W_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS512W_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS512W_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS512W_8h.html">ecp_NUMS512W.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS512W 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS512W SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS512W_8h.html#a1f92f957a3f07719481eeb474d619c7c">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS512W MODBYTES_512_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#af95a2ea4571dbc445a277a952dc3e8dd">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS512W MODBYTES_512_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS512W_8h.html#acec280a8be20baf86cc43f381fe67bde">ECP_NUMS512W_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS512W_8h.html#abdd92f3cde6ece4077455994597295fb">ECP_NUMS512W_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS512W_8h.html#aec5adc2136fe2f7a06d278efa0c535b7">ECP_NUMS512W_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS512W_8h.html#ac480213bdc2e2ceaae5a6f36e968ffae">ECP_NUMS512W_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512W_8h.html#a289b662d6e0596d4ebbc010118097746">ECP_NUMS512W_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512W_8h.html#af2026bc7fffc69fdcd212e7c9f702d6d">ECP_NUMS512W_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512W_8h.html#ae920ba0f9704946f9ba8c431334e2f33">ECP_NUMS512W_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS512W_8h_html_a289b662d6e0596d4ebbc010118097746"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#a289b662d6e0596d4ebbc010118097746">ECP_NUMS512W_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS512W_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
-<div class="ttc" id="ecdh__NUMS512W_8h_html_acec280a8be20baf86cc43f381fe67bde"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#acec280a8be20baf86cc43f381fe67bde">ECP_NUMS512W_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS512W_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512W.c:34</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="ecdh__NUMS512W_8h_html_af2026bc7fffc69fdcd212e7c9f702d6d"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#af2026bc7fffc69fdcd212e7c9f702d6d">ECP_NUMS512W_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS512W_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html"><div class="ttname"><a href="ecp__NUMS512W_8h.html">ecp_NUMS512W.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS512W_8h_html_aec5adc2136fe2f7a06d278efa0c535b7"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#aec5adc2136fe2f7a06d278efa0c535b7">ECP_NUMS512W_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS512W_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512W.c:104</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__NUMS512W_8h_html_abdd92f3cde6ece4077455994597295fb"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#abdd92f3cde6ece4077455994597295fb">ECP_NUMS512W_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS512W_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512W.c:68</div></div>
-<div class="ttc" id="ecdh__NUMS512W_8h_html_ae920ba0f9704946f9ba8c431334e2f33"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#ae920ba0f9704946f9ba8c431334e2f33">ECP_NUMS512W_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS512W_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__NUMS512W_8h_html_ac480213bdc2e2ceaae5a6f36e968ffae"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#ac480213bdc2e2ceaae5a6f36e968ffae">ECP_NUMS512W_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS512W_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</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>
+<a href="ecdh__NUMS512W_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_NUMS512W_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_NUMS512W_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__NUMS512W_8h.html">ecp_NUMS512W.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_NUMS512W 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_NUMS512W SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__NUMS512W_8h.html#a1f92f957a3f07719481eeb474d619c7c">   42</a></span>&#160;<span class="preprocessor">#define EGS_NUMS512W MODBYTES_512_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#af95a2ea4571dbc445a277a952dc3e8dd">   43</a></span>&#160;<span class="preprocessor">#define EFS_NUMS512W MODBYTES_512_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__NUMS512W_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__NUMS512W_8h.html#acec280a8be20baf86cc43f381fe67bde">ECP_NUMS512W_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__NUMS512W_8h.html#abdd92f3cde6ece4077455994597295fb">ECP_NUMS512W_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__NUMS512W_8h.html#aec5adc2136fe2f7a06d278efa0c535b7">ECP_NUMS512W_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__NUMS512W_8h.html#ac480213bdc2e2ceaae5a6f36e968ffae">ECP_NUMS512W_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512W_8h.html#a289b662d6e0596d4ebbc010118097746">ECP_NUMS512W_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512W_8h.html#af2026bc7fffc69fdcd212e7c9f702d6d">ECP_NUMS512W_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__NUMS512W_8h.html#ae920ba0f9704946f9ba8c431334e2f33">ECP_NUMS512W_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__NUMS512W_8h_html_a289b662d6e0596d4ebbc010118097746"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#a289b662d6e0596d4ebbc010118097746">ECP_NUMS512W_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_NUMS512W_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </div></div>
+<div class="ttc" id="ecdh__NUMS512W_8h_html_acec280a8be20baf86cc43f381fe67bde"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#acec280a8be20baf86cc43f381fe67bde">ECP_NUMS512W_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_NUMS512W_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512W.c:34</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="ecdh__NUMS512W_8h_html_af2026bc7fffc69fdcd212e7c9f702d6d"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#af2026bc7fffc69fdcd212e7c9f702d6d">ECP_NUMS512W_SP_DSA</a></div><div class="ttdeci">int ECP_NUMS512W_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html"><div class="ttname"><a href="ecp__NUMS512W_8h.html">ecp_NUMS512W.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS512W_8h_html_aec5adc2136fe2f7a06d278efa0c535b7"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#aec5adc2136fe2f7a06d278efa0c535b7">ECP_NUMS512W_SVDP_DH</a></div><div class="ttdeci">int ECP_NUMS512W_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512W.c:104</div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__NUMS512W_8h_html_abdd92f3cde6ece4077455994597295fb"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#abdd92f3cde6ece4077455994597295fb">ECP_NUMS512W_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_NUMS512W_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_NUMS512W.c:68</div></div>
+<div class="ttc" id="ecdh__NUMS512W_8h_html_ae920ba0f9704946f9ba8c431334e2f33"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#ae920ba0f9704946f9ba8c431334e2f33">ECP_NUMS512W_VP_DSA</a></div><div class="ttdeci">int ECP_NUMS512W_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__NUMS512W_8h_html_ac480213bdc2e2ceaae5a6f36e968ffae"><div class="ttname"><a href="ecdh__NUMS512W_8h.html#ac480213bdc2e2ceaae5a6f36e968ffae">ECP_NUMS512W_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_NUMS512W_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </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><!-- 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/ecdh__SECP256K1_8h.html b/website/static/cdocs/ecdh__SECP256K1_8h.html
index 0c519ae..7476ded 100644
--- a/website/static/cdocs/ecdh__SECP256K1_8h.html
+++ b/website/static/cdocs/ecdh__SECP256K1_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: ecdh_SECP256K1.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"
@@ -625,7 +628,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/ecdh__SECP256K1_8h_source.html b/website/static/cdocs/ecdh__SECP256K1_8h_source.html
index f31140a..67b0681 100644
--- a/website/static/cdocs/ecdh__SECP256K1_8h_source.html
+++ b/website/static/cdocs/ecdh__SECP256K1_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: ecdh_SECP256K1.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,23 +72,23 @@
 <div class="title">ecdh_SECP256K1.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__SECP256K1_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_SECP256K1_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_SECP256K1_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__SECP256K1_8h.html">ecp_SECP256K1.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_SECP256K1 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_SECP256K1 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__SECP256K1_8h.html#acca1b40d08f4b56e9b59abfec6a99b6a">   42</a></span>&#160;<span class="preprocessor">#define EGS_SECP256K1 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a9a62cf61b21baa726fcffb27590e3287">   43</a></span>&#160;<span class="preprocessor">#define EFS_SECP256K1 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__SECP256K1_8h.html#adbc534f6c3d6d737b633adeb44332170">ECP_SECP256K1_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__SECP256K1_8h.html#aa4dcbc33b7480d60c3ddc0e6ce61cb32">ECP_SECP256K1_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__SECP256K1_8h.html#ae5507444ec5785e6255cba2bb9f9b49a">ECP_SECP256K1_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__SECP256K1_8h.html#a64ad22fbc2118248467dc640441c8999">ECP_SECP256K1_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__SECP256K1_8h.html#a36f7bb072f72d60820d37953995a58ba">ECP_SECP256K1_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__SECP256K1_8h.html#a2de3a1e61d57e7daca63dba19830847d">ECP_SECP256K1_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__SECP256K1_8h.html#a6155de0b65526ebaa812a8107b2f997d">ECP_SECP256K1_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__SECP256K1_8h_html_a64ad22fbc2118248467dc640441c8999"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a64ad22fbc2118248467dc640441c8999">ECP_SECP256K1_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_SECP256K1_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption.</div></div>
-<div class="ttc" id="ecdh__SECP256K1_8h_html_adbc534f6c3d6d737b633adeb44332170"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#adbc534f6c3d6d737b633adeb44332170">ECP_SECP256K1_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_SECP256K1_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair.</div><div class="ttdef"><b>Definition:</b> ecdh_SECP256K1.c:34</div></div>
-<div class="ttc" id="ecdh__SECP256K1_8h_html_aa4dcbc33b7480d60c3ddc0e6ce61cb32"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#aa4dcbc33b7480d60c3ddc0e6ce61cb32">ECP_SECP256K1_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_SECP256K1_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key.</div><div class="ttdef"><b>Definition:</b> ecdh_SECP256K1.c:68</div></div>
-<div class="ttc" id="ecdh__SECP256K1_8h_html_a2de3a1e61d57e7daca63dba19830847d"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a2de3a1e61d57e7daca63dba19830847d">ECP_SECP256K1_SP_DSA</a></div><div class="ttdeci">int ECP_SECP256K1_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature.</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="ecdh__SECP256K1_8h_html_a6155de0b65526ebaa812a8107b2f997d"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a6155de0b65526ebaa812a8107b2f997d">ECP_SECP256K1_VP_DSA</a></div><div class="ttdeci">int ECP_SECP256K1_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification.</div></div>
-<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File.</div></div>
-<div class="ttc" id="ecdh__SECP256K1_8h_html_ae5507444ec5785e6255cba2bb9f9b49a"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#ae5507444ec5785e6255cba2bb9f9b49a">ECP_SECP256K1_SVDP_DH</a></div><div class="ttdeci">int ECP_SECP256K1_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key.</div><div class="ttdef"><b>Definition:</b> ecdh_SECP256K1.c:104</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html"><div class="ttname"><a href="ecp__SECP256K1_8h.html">ecp_SECP256K1.h</a></div><div class="ttdoc">ECP Header File.</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="ecdh__SECP256K1_8h_html_a36f7bb072f72d60820d37953995a58ba"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a36f7bb072f72d60820d37953995a58ba">ECP_SECP256K1_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_SECP256K1_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption.</div></div>
+<a href="ecdh__SECP256K1_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef ECDH_SECP256K1_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define ECDH_SECP256K1_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__SECP256K1_8h.html">ecp_SECP256K1.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecdh__support_8h.html">ecdh_support.h</a>&quot;</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;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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 EAS_SECP256K1 16 /**&lt; Symmetric Key size - 128 bits */</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">//#define HASH_TYPE_ECC_SECP256K1 SHA512  /**&lt; Hash type */</span></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">/*** END OF USER CONFIGURABLE SECTION ***/</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"><a class="line" href="ecdh__SECP256K1_8h.html#acca1b40d08f4b56e9b59abfec6a99b6a">   42</a></span>&#160;<span class="preprocessor">#define EGS_SECP256K1 MODBYTES_256_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a9a62cf61b21baa726fcffb27590e3287">   43</a></span>&#160;<span class="preprocessor">#define EFS_SECP256K1 MODBYTES_256_56  </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a5e4fc0adee12585028a804f1aac76ab7">   45</a></span>&#160;<span class="preprocessor">#define ECDH_OK                     0     </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_ERROR          -1*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a502f0271978e099226b78f6a46ca0c2a">   47</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID_PUBLIC_KEY    -2   </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#a03b1165b7bda022b0da1cb6ec950d0b1">   48</a></span>&#160;<span class="preprocessor">#define ECDH_ERROR                 -3   </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ecdh__SECP256K1_8h.html#aa0f4488c6e3ace660471b4d2c8c8da9a">   49</a></span>&#160;<span class="preprocessor">#define ECDH_INVALID               -4   </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span><span class="comment">/*#define ECDH_DOMAIN_NOT_FOUND      -5</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">#define ECDH_OUT_OF_MEMORY         -6</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">#define ECDH_DIV_BY_ZERO           -7</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">#define ECDH_BAD_ASSUMPTION        -8*/</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="ecdh__SECP256K1_8h.html#adbc534f6c3d6d737b633adeb44332170">ECP_SECP256K1_KEY_PAIR_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W);</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="ecdh__SECP256K1_8h.html#aa4dcbc33b7480d60c3ddc0e6ce61cb32">ECP_SECP256K1_PUBLIC_KEY_VALIDATE</a>(<a class="code" href="structoctet.html">octet</a> *W);</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">   71</span>&#160;<span class="comment">/* ECDH primitives */</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</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="ecdh__SECP256K1_8h.html#ae5507444ec5785e6255cba2bb9f9b49a">ECP_SECP256K1_SVDP_DH</a>(<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/*extern int ECPSVDP_DHC(octet *,octet *,int,octet *);*/</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">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/*#if CURVETYPE!=MONTGOMERY */</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* ECIES functions */</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__SECP256K1_8h.html#a64ad22fbc2118248467dc640441c8999">ECP_SECP256K1_ECIES_ENCRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__SECP256K1_8h.html#a36f7bb072f72d60820d37953995a58ba">ECP_SECP256K1_ECIES_DECRYPT</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *M);</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="comment">/* ECDSA functions */</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__SECP256K1_8h.html#a2de3a1e61d57e7daca63dba19830847d">ECP_SECP256K1_SP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *k,<a class="code" href="structoctet.html">octet</a> *s,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__SECP256K1_8h.html#a6155de0b65526ebaa812a8107b2f997d">ECP_SECP256K1_VP_DSA</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *d);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">/*#endif*/</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="ttc" id="ecdh__SECP256K1_8h_html_a64ad22fbc2118248467dc640441c8999"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a64ad22fbc2118248467dc640441c8999">ECP_SECP256K1_ECIES_ENCRYPT</a></div><div class="ttdeci">void ECP_SECP256K1_ECIES_ENCRYPT(int h, octet *P1, octet *P2, csprng *R, octet *W, octet *M, int len, octet *V, octet *C, octet *T)</div><div class="ttdoc">ECIES Encryption. </div></div>
+<div class="ttc" id="ecdh__SECP256K1_8h_html_adbc534f6c3d6d737b633adeb44332170"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#adbc534f6c3d6d737b633adeb44332170">ECP_SECP256K1_KEY_PAIR_GENERATE</a></div><div class="ttdeci">int ECP_SECP256K1_KEY_PAIR_GENERATE(csprng *R, octet *s, octet *W)</div><div class="ttdoc">Generate an ECC public/private key pair. </div><div class="ttdef"><b>Definition:</b> ecdh_SECP256K1.c:34</div></div>
+<div class="ttc" id="ecdh__SECP256K1_8h_html_aa4dcbc33b7480d60c3ddc0e6ce61cb32"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#aa4dcbc33b7480d60c3ddc0e6ce61cb32">ECP_SECP256K1_PUBLIC_KEY_VALIDATE</a></div><div class="ttdeci">int ECP_SECP256K1_PUBLIC_KEY_VALIDATE(octet *W)</div><div class="ttdoc">Validate an ECC public key. </div><div class="ttdef"><b>Definition:</b> ecdh_SECP256K1.c:68</div></div>
+<div class="ttc" id="ecdh__SECP256K1_8h_html_a2de3a1e61d57e7daca63dba19830847d"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a2de3a1e61d57e7daca63dba19830847d">ECP_SECP256K1_SP_DSA</a></div><div class="ttdeci">int ECP_SECP256K1_SP_DSA(int h, csprng *R, octet *k, octet *s, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature. </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="ecdh__SECP256K1_8h_html_a6155de0b65526ebaa812a8107b2f997d"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a6155de0b65526ebaa812a8107b2f997d">ECP_SECP256K1_VP_DSA</a></div><div class="ttdeci">int ECP_SECP256K1_VP_DSA(int h, octet *W, octet *M, octet *c, octet *d)</div><div class="ttdoc">ECDSA Signature Verification. </div></div>
+<div class="ttc" id="ecdh__support_8h_html"><div class="ttname"><a href="ecdh__support_8h.html">ecdh_support.h</a></div><div class="ttdoc">ECDH Support Header File. </div></div>
+<div class="ttc" id="ecdh__SECP256K1_8h_html_ae5507444ec5785e6255cba2bb9f9b49a"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#ae5507444ec5785e6255cba2bb9f9b49a">ECP_SECP256K1_SVDP_DH</a></div><div class="ttdeci">int ECP_SECP256K1_SVDP_DH(octet *s, octet *W, octet *K)</div><div class="ttdoc">Generate Diffie-Hellman shared key. </div><div class="ttdef"><b>Definition:</b> ecdh_SECP256K1.c:104</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html"><div class="ttname"><a href="ecp__SECP256K1_8h.html">ecp_SECP256K1.h</a></div><div class="ttdoc">ECP Header File. </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="ecdh__SECP256K1_8h_html_a36f7bb072f72d60820d37953995a58ba"><div class="ttname"><a href="ecdh__SECP256K1_8h.html#a36f7bb072f72d60820d37953995a58ba">ECP_SECP256K1_ECIES_DECRYPT</a></div><div class="ttdeci">int ECP_SECP256K1_ECIES_DECRYPT(int h, octet *P1, octet *P2, octet *V, octet *C, octet *T, octet *U, octet *M)</div><div class="ttdoc">ECIES Decryption. </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/ecdh__support_8h.html b/website/static/cdocs/ecdh__support_8h.html
index 33ffa75..eb3d61d 100644
--- a/website/static/cdocs/ecdh__support_8h.html
+++ b/website/static/cdocs/ecdh__support_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: ecdh_support.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"
@@ -239,13 +242,18 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param sha is the hash type
-@param p first octect involved in the hash
-@param n integer involved in the hash
-@param x second octect involved in the h ash
-@param w output
-@param pad padding
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">sha</td><td>is the hash type </td></tr>
+    <tr><td class="paramname">p</td><td>first octect involved in the hash </td></tr>
+    <tr><td class="paramname">n</td><td>integer involved in the hash </td></tr>
+    <tr><td class="paramname">x</td><td>second octect involved in the h ash </td></tr>
+    <tr><td class="paramname">w</td><td>output </td></tr>
+    <tr><td class="paramname">pad</td><td>padding </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="ae844e6528280a189a41b8095b8d41502"></a>
@@ -471,7 +479,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/ecdh__support_8h_source.html b/website/static/cdocs/ecdh__support_8h_source.html
index 29bbc82..4d96266 100644
--- a/website/static/cdocs/ecdh__support_8h_source.html
+++ b/website/static/cdocs/ecdh__support_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: ecdh_support.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,20 +72,20 @@
 <div class="title">ecdh_support.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecdh__support_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 ECC_SUPPORT_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECC_SUPPORT_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* Auxiliary Functions */</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#a3078495b62c35ca843d7be428075787d">ehashit</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *p,<span class="keywordtype">int</span> n,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *w,<span class="keywordtype">int</span> pad);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#ae844e6528280a189a41b8095b8d41502">HASH</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246">HMAC</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *K,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *tag);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/*extern void KDF1(octet *,int,octet *);*/</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#af451b083058dddf1aa794a20f636793b">KDF2</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *P,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *K);</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="ecdh__support_8h.html#a62c536a5dc88eb2f318773d6461f9759">PBKDF2</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> rep,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#afa50c2b84fbb255a8484dc0f1ccb4e93">AES_CBC_IV0_ENCRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *C);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__support_8h.html#a8828699bae266bf22a61ce901e49e0bc">AES_CBC_IV0_DECRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">/* ECDH primitives - support functions */</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecdh__support_8h_html_a3f914310b794e24aed3b14958579c246"><div class="ttname"><a href="ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246">HMAC</a></div><div class="ttdeci">int HMAC(int h, octet *M, octet *K, int len, octet *tag)</div><div class="ttdoc">HMAC of message M using key K to create tag of length len in octet tag.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:147</div></div>
-<div class="ttc" id="ecdh__support_8h_html_a8828699bae266bf22a61ce901e49e0bc"><div class="ttname"><a href="ecdh__support_8h.html#a8828699bae266bf22a61ce901e49e0bc">AES_CBC_IV0_DECRYPT</a></div><div class="ttdeci">int AES_CBC_IV0_DECRYPT(octet *K, octet *C, octet *P)</div><div class="ttdoc">AES encrypts a plaintext to a ciphtertext.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:282</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="ecdh__support_8h_html_a62c536a5dc88eb2f318773d6461f9759"><div class="ttname"><a href="ecdh__support_8h.html#a62c536a5dc88eb2f318773d6461f9759">PBKDF2</a></div><div class="ttdeci">void PBKDF2(int h, octet *P, octet *S, int rep, int len, octet *K)</div><div class="ttdoc">Password Based Key Derivation Function - generates key K from password, salt and repeat counter.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:206</div></div>
-<div class="ttc" id="ecdh__support_8h_html_afa50c2b84fbb255a8484dc0f1ccb4e93"><div class="ttname"><a href="ecdh__support_8h.html#afa50c2b84fbb255a8484dc0f1ccb4e93">AES_CBC_IV0_ENCRYPT</a></div><div class="ttdeci">void AES_CBC_IV0_ENCRYPT(octet *K, octet *P, octet *C)</div><div class="ttdoc">AES encrypts a plaintext to a ciphtertext.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:236</div></div>
-<div class="ttc" id="ecdh__support_8h_html_a3078495b62c35ca843d7be428075787d"><div class="ttname"><a href="ecdh__support_8h.html#a3078495b62c35ca843d7be428075787d">ehashit</a></div><div class="ttdeci">void ehashit(int sha, octet *p, int n, octet *x, octet *w, int pad)</div><div class="ttdoc">general purpose hash function w=hash(p|n|x|y)</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:33</div></div>
-<div class="ttc" id="ecdh__support_8h_html_af451b083058dddf1aa794a20f636793b"><div class="ttname"><a href="ecdh__support_8h.html#af451b083058dddf1aa794a20f636793b">KDF2</a></div><div class="ttdeci">void KDF2(int h, octet *Z, octet *P, int len, octet *K)</div><div class="ttdoc">Key Derivation Function - generates key K from inputs Z and P.</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:182</div></div>
-<div class="ttc" id="ecdh__support_8h_html_ae844e6528280a189a41b8095b8d41502"><div class="ttname"><a href="ecdh__support_8h.html#ae844e6528280a189a41b8095b8d41502">HASH</a></div><div class="ttdeci">void HASH(int h, octet *I, octet *O)</div><div class="ttdoc">hash an octet into another octet</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:141</div></div>
+<a href="ecdh__support_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 ECC_SUPPORT_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECC_SUPPORT_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* Auxiliary Functions */</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#a3078495b62c35ca843d7be428075787d">ehashit</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *p,<span class="keywordtype">int</span> n,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *w,<span class="keywordtype">int</span> pad);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#ae844e6528280a189a41b8095b8d41502">HASH</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *O);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246">HMAC</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structoctet.html">octet</a> *K,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *tag);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/*extern void KDF1(octet *,int,octet *);*/</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#af451b083058dddf1aa794a20f636793b">KDF2</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *P,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *K);</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="ecdh__support_8h.html#a62c536a5dc88eb2f318773d6461f9759">PBKDF2</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> rep,<span class="keywordtype">int</span> len,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecdh__support_8h.html#afa50c2b84fbb255a8484dc0f1ccb4e93">AES_CBC_IV0_ENCRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *C);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecdh__support_8h.html#a8828699bae266bf22a61ce901e49e0bc">AES_CBC_IV0_DECRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">/* ECDH primitives - support functions */</span></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecdh__support_8h_html_a3f914310b794e24aed3b14958579c246"><div class="ttname"><a href="ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246">HMAC</a></div><div class="ttdeci">int HMAC(int h, octet *M, octet *K, int len, octet *tag)</div><div class="ttdoc">HMAC of message M using key K to create tag of length len in octet tag. </div><div class="ttdef"><b>Definition:</b> ecdh_support.c:147</div></div>
+<div class="ttc" id="ecdh__support_8h_html_a8828699bae266bf22a61ce901e49e0bc"><div class="ttname"><a href="ecdh__support_8h.html#a8828699bae266bf22a61ce901e49e0bc">AES_CBC_IV0_DECRYPT</a></div><div class="ttdeci">int AES_CBC_IV0_DECRYPT(octet *K, octet *C, octet *P)</div><div class="ttdoc">AES encrypts a plaintext to a ciphtertext. </div><div class="ttdef"><b>Definition:</b> ecdh_support.c:282</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="ecdh__support_8h_html_a62c536a5dc88eb2f318773d6461f9759"><div class="ttname"><a href="ecdh__support_8h.html#a62c536a5dc88eb2f318773d6461f9759">PBKDF2</a></div><div class="ttdeci">void PBKDF2(int h, octet *P, octet *S, int rep, int len, octet *K)</div><div class="ttdoc">Password Based Key Derivation Function - generates key K from password, salt and repeat counter...</div><div class="ttdef"><b>Definition:</b> ecdh_support.c:206</div></div>
+<div class="ttc" id="ecdh__support_8h_html_afa50c2b84fbb255a8484dc0f1ccb4e93"><div class="ttname"><a href="ecdh__support_8h.html#afa50c2b84fbb255a8484dc0f1ccb4e93">AES_CBC_IV0_ENCRYPT</a></div><div class="ttdeci">void AES_CBC_IV0_ENCRYPT(octet *K, octet *P, octet *C)</div><div class="ttdoc">AES encrypts a plaintext to a ciphtertext. </div><div class="ttdef"><b>Definition:</b> ecdh_support.c:236</div></div>
+<div class="ttc" id="ecdh__support_8h_html_a3078495b62c35ca843d7be428075787d"><div class="ttname"><a href="ecdh__support_8h.html#a3078495b62c35ca843d7be428075787d">ehashit</a></div><div class="ttdeci">void ehashit(int sha, octet *p, int n, octet *x, octet *w, int pad)</div><div class="ttdoc">general purpose hash function w=hash(p|n|x|y) </div><div class="ttdef"><b>Definition:</b> ecdh_support.c:33</div></div>
+<div class="ttc" id="ecdh__support_8h_html_af451b083058dddf1aa794a20f636793b"><div class="ttname"><a href="ecdh__support_8h.html#af451b083058dddf1aa794a20f636793b">KDF2</a></div><div class="ttdeci">void KDF2(int h, octet *Z, octet *P, int len, octet *K)</div><div class="ttdoc">Key Derivation Function - generates key K from inputs Z and P. </div><div class="ttdef"><b>Definition:</b> ecdh_support.c:182</div></div>
+<div class="ttc" id="ecdh__support_8h_html_ae844e6528280a189a41b8095b8d41502"><div class="ttname"><a href="ecdh__support_8h.html#ae844e6528280a189a41b8095b8d41502">HASH</a></div><div class="ttdeci">void HASH(int h, octet *I, octet *O)</div><div class="ttdoc">hash an octet into another octet </div><div class="ttdef"><b>Definition:</b> ecdh_support.c:141</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/ecp2__BLS381_8h.html b/website/static/cdocs/ecp2__BLS381_8h.html
index 485ffa2..7624e1a 100644
--- a/website/static/cdocs/ecp2__BLS381_8h.html
+++ b/website/static/cdocs/ecp2__BLS381_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: ecp2_BLS381.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"
@@ -1114,7 +1117,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/ecp2__BLS381_8h_source.html b/website/static/cdocs/ecp2__BLS381_8h_source.html
index d56429a..fde9b0e 100644
--- a/website/static/cdocs/ecp2__BLS381_8h_source.html
+++ b/website/static/cdocs/ecp2__BLS381_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: ecp2_BLS381.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,56 +72,56 @@
 <div class="title">ecp2_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp2__BLS381_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 ECP2_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BLS381_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 &quot;<a class="code" href="fp2__BLS381_8h.html">fp2_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html#a334e19b20dc35a8117e105bd4c519709">   40</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structECP2__BLS381.html#a334e19b20dc35a8117e105bd4c519709">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html#ae8424716de5d48342c0ee5d79d40948a">   41</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structECP2__BLS381.html#ae8424716de5d48342c0ee5d79d40948a">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html#a0df8d468341bc1ce4debf108b94c3479">   42</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structECP2__BLS381.html#a0df8d468341bc1ce4debf108b94c3479">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a8e691e13173dea68aa5c3f550e0fb130">CURVE_A_BLS381</a>;                </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#aef116dd1c5955c3e86fd9b22c39e3841">CURVE_B_I_BLS381</a>;              </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a6cd99de9ded2845d418ca1c79fb95417">CURVE_B_BLS381</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#ab0db0beafd90432eb12fb013f5466d68">CURVE_Order_BLS381</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a97ea26d6174e376a165ff28ea07cc2e6">CURVE_Cof_BLS381</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a4a7bbe17c22d85afe7ec7fe1a08aab4d">CURVE_Gx_BLS381</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a0ff01e0d2b4a0f06e9a8ac6c8346687c">CURVE_Gy_BLS381</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a6d14c89595a7ed214cd12c0148688d2c">CURVE_Pxa_BLS381</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#aa3b577d06eb5c4ac47dea6f19de11e1f">CURVE_Pxb_BLS381</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a958833196ced4525eef425ae31c17931">CURVE_Pya_BLS381</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a035ac94764dc5dd600c2d57e599456d0">CURVE_Pyb_BLS381</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a4a28bbafc3034b9d0398c70326b24acf">ECP2_BLS381_isinf</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ad3f1993e5db7426164444406682d0c61">ECP2_BLS381_copy</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a522906a3d016800143b3a2501a753c99">ECP2_BLS381_inf</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#aea45b0695afe03966bb22dddaaae6176">ECP2_BLS381_equals</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</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="ecp2__BLS381_8h.html#a56267fe030680d3201f411e7111493d7">ECP2_BLS381_affine</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a38091f2eeb30632ecbd3813caff7df9e">ECP2_BLS381_get</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#af722a098ce6831fbf999929870dd548f">ECP2_BLS381_output</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ad5159dd59c2b3744cf04c1d086a0d9ab">ECP2_BLS381_outputxyz</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a0d91bc6967f5690ee224ed7959c1216f">ECP2_BLS381_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#abe582b085f5c69960213da026064816c">ECP2_BLS381_fromOctet</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a3e25883a298d369d138992d9c539d324">ECP2_BLS381_rhs</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *r,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#abaf387b0d44d6132252b204bbd0599a8">ECP2_BLS381_set</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a38b5fb3b588c7b5b47c0b0535c5a1d08">ECP2_BLS381_setx</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</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="ecp2__BLS381_8h.html#a78c4f7d1e2efcc015386aaa52fc49e4d">ECP2_BLS381_neg</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a8767288711365883432ac2d9a5cb6af0">ECP2_BLS381_dbl</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a4939a57920bc1af14ea89ba784e7a126">ECP2_BLS381_add</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a432ef0bb3613a8e0049a105f87e16e48">ECP2_BLS381_sub</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ae3ae50bdca827a70f1c36b7a77be6bd2">ECP2_BLS381_mul</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a624221d2365056ca9394a8d9cd8fd6b5">ECP2_BLS381_frob</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *f);</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="ecp2__BLS381_8h.html#a76371fcdc4cc04393d67b740a44a90cd">ECP2_BLS381_mul4</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#aeb7753e333275c09ffd4755c80cf78ca">ECP2_BLS381_mapit</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ac1187e5720d09ad969800e9a50cc477e">ECP2_BLS381_generator</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BLS381_8h_html_a624221d2365056ca9394a8d9cd8fd6b5"><div class="ttname"><a href="ecp2__BLS381_8h.html#a624221d2365056ca9394a8d9cd8fd6b5">ECP2_BLS381_frob</a></div><div class="ttdeci">void ECP2_BLS381_frob(ECP2_BLS381 *P, FP2_BLS381 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:518</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a38091f2eeb30632ecbd3813caff7df9e"><div class="ttname"><a href="ecp2__BLS381_8h.html#a38091f2eeb30632ecbd3813caff7df9e">ECP2_BLS381_get</a></div><div class="ttdeci">int ECP2_BLS381_get(FP2_BLS381 *x, FP2_BLS381 *y, ECP2_BLS381 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:129</div></div>
-<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_ac1187e5720d09ad969800e9a50cc477e"><div class="ttname"><a href="ecp2__BLS381_8h.html#ac1187e5720d09ad969800e9a50cc477e">ECP2_BLS381_generator</a></div><div class="ttdeci">void ECP2_BLS381_generator(ECP2_BLS381 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:714</div></div>
+<a href="ecp2__BLS381_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 ECP2_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BLS381_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 &quot;<a class="code" href="fp2__BLS381_8h.html">fp2_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html#a334e19b20dc35a8117e105bd4c519709">   40</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structECP2__BLS381.html#a334e19b20dc35a8117e105bd4c519709">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html#ae8424716de5d48342c0ee5d79d40948a">   41</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structECP2__BLS381.html#ae8424716de5d48342c0ee5d79d40948a">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BLS381.html#a0df8d468341bc1ce4debf108b94c3479">   42</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structECP2__BLS381.html#a0df8d468341bc1ce4debf108b94c3479">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a8e691e13173dea68aa5c3f550e0fb130">CURVE_A_BLS381</a>;        </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#aef116dd1c5955c3e86fd9b22c39e3841">CURVE_B_I_BLS381</a>;      </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a6cd99de9ded2845d418ca1c79fb95417">CURVE_B_BLS381</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#ab0db0beafd90432eb12fb013f5466d68">CURVE_Order_BLS381</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a97ea26d6174e376a165ff28ea07cc2e6">CURVE_Cof_BLS381</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a4a7bbe17c22d85afe7ec7fe1a08aab4d">CURVE_Gx_BLS381</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a0ff01e0d2b4a0f06e9a8ac6c8346687c">CURVE_Gy_BLS381</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a6d14c89595a7ed214cd12c0148688d2c">CURVE_Pxa_BLS381</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#aa3b577d06eb5c4ac47dea6f19de11e1f">CURVE_Pxb_BLS381</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a958833196ced4525eef425ae31c17931">CURVE_Pya_BLS381</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS381_8h.html#a035ac94764dc5dd600c2d57e599456d0">CURVE_Pyb_BLS381</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a4a28bbafc3034b9d0398c70326b24acf">ECP2_BLS381_isinf</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ad3f1993e5db7426164444406682d0c61">ECP2_BLS381_copy</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a522906a3d016800143b3a2501a753c99">ECP2_BLS381_inf</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#aea45b0695afe03966bb22dddaaae6176">ECP2_BLS381_equals</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</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="ecp2__BLS381_8h.html#a56267fe030680d3201f411e7111493d7">ECP2_BLS381_affine</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a38091f2eeb30632ecbd3813caff7df9e">ECP2_BLS381_get</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#af722a098ce6831fbf999929870dd548f">ECP2_BLS381_output</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ad5159dd59c2b3744cf04c1d086a0d9ab">ECP2_BLS381_outputxyz</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a0d91bc6967f5690ee224ed7959c1216f">ECP2_BLS381_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#abe582b085f5c69960213da026064816c">ECP2_BLS381_fromOctet</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a3e25883a298d369d138992d9c539d324">ECP2_BLS381_rhs</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *r,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#abaf387b0d44d6132252b204bbd0599a8">ECP2_BLS381_set</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a38b5fb3b588c7b5b47c0b0535c5a1d08">ECP2_BLS381_setx</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</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="ecp2__BLS381_8h.html#a78c4f7d1e2efcc015386aaa52fc49e4d">ECP2_BLS381_neg</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a8767288711365883432ac2d9a5cb6af0">ECP2_BLS381_dbl</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS381_8h.html#a4939a57920bc1af14ea89ba784e7a126">ECP2_BLS381_add</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a432ef0bb3613a8e0049a105f87e16e48">ECP2_BLS381_sub</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ae3ae50bdca827a70f1c36b7a77be6bd2">ECP2_BLS381_mul</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#a624221d2365056ca9394a8d9cd8fd6b5">ECP2_BLS381_frob</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *f);</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="ecp2__BLS381_8h.html#a76371fcdc4cc04393d67b740a44a90cd">ECP2_BLS381_mul4</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#aeb7753e333275c09ffd4755c80cf78ca">ECP2_BLS381_mapit</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS381_8h.html#ac1187e5720d09ad969800e9a50cc477e">ECP2_BLS381_generator</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BLS381_8h_html_a624221d2365056ca9394a8d9cd8fd6b5"><div class="ttname"><a href="ecp2__BLS381_8h.html#a624221d2365056ca9394a8d9cd8fd6b5">ECP2_BLS381_frob</a></div><div class="ttdeci">void ECP2_BLS381_frob(ECP2_BLS381 *P, FP2_BLS381 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f...</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:518</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a38091f2eeb30632ecbd3813caff7df9e"><div class="ttname"><a href="ecp2__BLS381_8h.html#a38091f2eeb30632ecbd3813caff7df9e">ECP2_BLS381_get</a></div><div class="ttdeci">int ECP2_BLS381_get(FP2_BLS381 *x, FP2_BLS381 *y, ECP2_BLS381 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:129</div></div>
+<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_ac1187e5720d09ad969800e9a50cc477e"><div class="ttname"><a href="ecp2__BLS381_8h.html#ac1187e5720d09ad969800e9a50cc477e">ECP2_BLS381_generator</a></div><div class="ttdeci">void ECP2_BLS381_generator(ECP2_BLS381 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:714</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a6d14c89595a7ed214cd12c0148688d2c"><div class="ttname"><a href="ecp2__BLS381_8h.html#a6d14c89595a7ed214cd12c0148688d2c">CURVE_Pxa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxa_BLS381</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_ab0db0beafd90432eb12fb013f5466d68"><div class="ttname"><a href="ecp2__BLS381_8h.html#ab0db0beafd90432eb12fb013f5466d68">CURVE_Order_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Order_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_abe582b085f5c69960213da026064816c"><div class="ttname"><a href="ecp2__BLS381_8h.html#abe582b085f5c69960213da026064816c">ECP2_BLS381_fromOctet</a></div><div class="ttdeci">int ECP2_BLS381_fromOctet(ECP2_BLS381 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:200</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a4a28bbafc3034b9d0398c70326b24acf"><div class="ttname"><a href="ecp2__BLS381_8h.html#a4a28bbafc3034b9d0398c70326b24acf">ECP2_BLS381_isinf</a></div><div class="ttdeci">int ECP2_BLS381_isinf(ECP2_BLS381 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:25</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a8767288711365883432ac2d9a5cb6af0"><div class="ttname"><a href="ecp2__BLS381_8h.html#a8767288711365883432ac2d9a5cb6af0">ECP2_BLS381_dbl</a></div><div class="ttdeci">int ECP2_BLS381_dbl(ECP2_BLS381 *P)</div><div class="ttdoc">Doubles an ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:304</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a38b5fb3b588c7b5b47c0b0535c5a1d08"><div class="ttname"><a href="ecp2__BLS381_8h.html#a38b5fb3b588c7b5b47c0b0535c5a1d08">ECP2_BLS381_setx</a></div><div class="ttdeci">int ECP2_BLS381_setx(ECP2_BLS381 *P, FP2_BLS381 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:275</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_abaf387b0d44d6132252b204bbd0599a8"><div class="ttname"><a href="ecp2__BLS381_8h.html#abaf387b0d44d6132252b204bbd0599a8">ECP2_BLS381_set</a></div><div class="ttdeci">int ECP2_BLS381_set(ECP2_BLS381 *P, FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:253</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="ecp2__BLS381_8h_html_a0d91bc6967f5690ee224ed7959c1216f"><div class="ttname"><a href="ecp2__BLS381_8h.html#a0d91bc6967f5690ee224ed7959c1216f">ECP2_BLS381_toOctet</a></div><div class="ttdeci">void ECP2_BLS381_toOctet(octet *S, ECP2_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:179</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_abe582b085f5c69960213da026064816c"><div class="ttname"><a href="ecp2__BLS381_8h.html#abe582b085f5c69960213da026064816c">ECP2_BLS381_fromOctet</a></div><div class="ttdeci">int ECP2_BLS381_fromOctet(ECP2_BLS381 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:200</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a4a28bbafc3034b9d0398c70326b24acf"><div class="ttname"><a href="ecp2__BLS381_8h.html#a4a28bbafc3034b9d0398c70326b24acf">ECP2_BLS381_isinf</a></div><div class="ttdeci">int ECP2_BLS381_isinf(ECP2_BLS381 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:25</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a8767288711365883432ac2d9a5cb6af0"><div class="ttname"><a href="ecp2__BLS381_8h.html#a8767288711365883432ac2d9a5cb6af0">ECP2_BLS381_dbl</a></div><div class="ttdeci">int ECP2_BLS381_dbl(ECP2_BLS381 *P)</div><div class="ttdoc">Doubles an ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:304</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a38b5fb3b588c7b5b47c0b0535c5a1d08"><div class="ttname"><a href="ecp2__BLS381_8h.html#a38b5fb3b588c7b5b47c0b0535c5a1d08">ECP2_BLS381_setx</a></div><div class="ttdeci">int ECP2_BLS381_setx(ECP2_BLS381 *P, FP2_BLS381 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:275</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_abaf387b0d44d6132252b204bbd0599a8"><div class="ttname"><a href="ecp2__BLS381_8h.html#abaf387b0d44d6132252b204bbd0599a8">ECP2_BLS381_set</a></div><div class="ttdeci">int ECP2_BLS381_set(ECP2_BLS381 *P, FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:253</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="ecp2__BLS381_8h_html_a0d91bc6967f5690ee224ed7959c1216f"><div class="ttname"><a href="ecp2__BLS381_8h.html#a0d91bc6967f5690ee224ed7959c1216f">ECP2_BLS381_toOctet</a></div><div class="ttdeci">void ECP2_BLS381_toOctet(octet *S, ECP2_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:179</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a035ac94764dc5dd600c2d57e599456d0"><div class="ttname"><a href="ecp2__BLS381_8h.html#a035ac94764dc5dd600c2d57e599456d0">CURVE_Pyb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyb_BLS381</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a1214b4014ddfebcc990efe1f496d0698"><div class="ttname"><a href="ecp2__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a></div><div class="ttdeci">const BIG_384_58 Fra_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_ad3f1993e5db7426164444406682d0c61"><div class="ttname"><a href="ecp2__BLS381_8h.html#ad3f1993e5db7426164444406682d0c61">ECP2_BLS381_copy</a></div><div class="ttdeci">void ECP2_BLS381_copy(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:32</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_ad3f1993e5db7426164444406682d0c61"><div class="ttname"><a href="ecp2__BLS381_8h.html#ad3f1993e5db7426164444406682d0c61">ECP2_BLS381_copy</a></div><div class="ttdeci">void ECP2_BLS381_copy(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:32</div></div>
 <div class="ttc" id="structECP2__BLS381_html_a334e19b20dc35a8117e105bd4c519709"><div class="ttname"><a href="structECP2__BLS381.html#a334e19b20dc35a8117e105bd4c519709">ECP2_BLS381::x</a></div><div class="ttdeci">FP2_BLS381 x</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.h:40</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_ad5159dd59c2b3744cf04c1d086a0d9ab"><div class="ttname"><a href="ecp2__BLS381_8h.html#ad5159dd59c2b3744cf04c1d086a0d9ab">ECP2_BLS381_outputxyz</a></div><div class="ttdeci">void ECP2_BLS381_outputxyz(ECP2_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:159</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a56267fe030680d3201f411e7111493d7"><div class="ttname"><a href="ecp2__BLS381_8h.html#a56267fe030680d3201f411e7111493d7">ECP2_BLS381_affine</a></div><div class="ttdeci">void ECP2_BLS381_affine(ECP2_BLS381 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:105</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_ad5159dd59c2b3744cf04c1d086a0d9ab"><div class="ttname"><a href="ecp2__BLS381_8h.html#ad5159dd59c2b3744cf04c1d086a0d9ab">ECP2_BLS381_outputxyz</a></div><div class="ttdeci">void ECP2_BLS381_outputxyz(ECP2_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:159</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a56267fe030680d3201f411e7111493d7"><div class="ttname"><a href="ecp2__BLS381_8h.html#a56267fe030680d3201f411e7111493d7">ECP2_BLS381_affine</a></div><div class="ttdeci">void ECP2_BLS381_affine(ECP2_BLS381 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:105</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_ae6e182a64e658ae2f24b4ce059dc1a7c"><div class="ttname"><a href="ecp2__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Bnx_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_aea45b0695afe03966bb22dddaaae6176"><div class="ttname"><a href="ecp2__BLS381_8h.html#aea45b0695afe03966bb22dddaaae6176">ECP2_BLS381_equals</a></div><div class="ttdeci">int ECP2_BLS381_equals(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:89</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_aea45b0695afe03966bb22dddaaae6176"><div class="ttname"><a href="ecp2__BLS381_8h.html#aea45b0695afe03966bb22dddaaae6176">ECP2_BLS381_equals</a></div><div class="ttdeci">int ECP2_BLS381_equals(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:89</div></div>
 <div class="ttc" id="structECP2__BLS381_html_a0df8d468341bc1ce4debf108b94c3479"><div class="ttname"><a href="structECP2__BLS381.html#a0df8d468341bc1ce4debf108b94c3479">ECP2_BLS381::z</a></div><div class="ttdeci">FP2_BLS381 z</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.h:42</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a8e691e13173dea68aa5c3f550e0fb130"><div class="ttname"><a href="ecp2__BLS381_8h.html#a8e691e13173dea68aa5c3f550e0fb130">CURVE_A_BLS381</a></div><div class="ttdeci">const int CURVE_A_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a76371fcdc4cc04393d67b740a44a90cd"><div class="ttname"><a href="ecp2__BLS381_8h.html#a76371fcdc4cc04393d67b740a44a90cd">ECP2_BLS381_mul4</a></div><div class="ttdeci">void ECP2_BLS381_mul4(ECP2_BLS381 *P, ECP2_BLS381 *Q, BIG_384_58 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3].</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_ae3ae50bdca827a70f1c36b7a77be6bd2"><div class="ttname"><a href="ecp2__BLS381_8h.html#ae3ae50bdca827a70f1c36b7a77be6bd2">ECP2_BLS381_mul</a></div><div class="ttdeci">void ECP2_BLS381_mul(ECP2_BLS381 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:455</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_aeb7753e333275c09ffd4755c80cf78ca"><div class="ttname"><a href="ecp2__BLS381_8h.html#aeb7753e333275c09ffd4755c80cf78ca">ECP2_BLS381_mapit</a></div><div class="ttdeci">void ECP2_BLS381_mapit(ECP2_BLS381 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:625</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a3e25883a298d369d138992d9c539d324"><div class="ttname"><a href="ecp2__BLS381_8h.html#a3e25883a298d369d138992d9c539d324">ECP2_BLS381_rhs</a></div><div class="ttdeci">void ECP2_BLS381_rhs(FP2_BLS381 *r, FP2_BLS381 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:219</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a76371fcdc4cc04393d67b740a44a90cd"><div class="ttname"><a href="ecp2__BLS381_8h.html#a76371fcdc4cc04393d67b740a44a90cd">ECP2_BLS381_mul4</a></div><div class="ttdeci">void ECP2_BLS381_mul4(ECP2_BLS381 *P, ECP2_BLS381 *Q, BIG_384_58 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3]. </div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_ae3ae50bdca827a70f1c36b7a77be6bd2"><div class="ttname"><a href="ecp2__BLS381_8h.html#ae3ae50bdca827a70f1c36b7a77be6bd2">ECP2_BLS381_mul</a></div><div class="ttdeci">void ECP2_BLS381_mul(ECP2_BLS381 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:455</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_aeb7753e333275c09ffd4755c80cf78ca"><div class="ttname"><a href="ecp2__BLS381_8h.html#aeb7753e333275c09ffd4755c80cf78ca">ECP2_BLS381_mapit</a></div><div class="ttdeci">void ECP2_BLS381_mapit(ECP2_BLS381 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:625</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a3e25883a298d369d138992d9c539d324"><div class="ttname"><a href="ecp2__BLS381_8h.html#a3e25883a298d369d138992d9c539d324">ECP2_BLS381_rhs</a></div><div class="ttdeci">void ECP2_BLS381_rhs(FP2_BLS381 *r, FP2_BLS381 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:219</div></div>
 <div class="ttc" id="structECP2__BLS381_html_ae8424716de5d48342c0ee5d79d40948a"><div class="ttname"><a href="structECP2__BLS381.html#ae8424716de5d48342c0ee5d79d40948a">ECP2_BLS381::y</a></div><div class="ttdeci">FP2_BLS381 y</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.h:41</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a4a7bbe17c22d85afe7ec7fe1a08aab4d"><div class="ttname"><a href="ecp2__BLS381_8h.html#a4a7bbe17c22d85afe7ec7fe1a08aab4d">CURVE_Gx_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gx_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a4939a57920bc1af14ea89ba784e7a126"><div class="ttname"><a href="ecp2__BLS381_8h.html#a4939a57920bc1af14ea89ba784e7a126">ECP2_BLS381_add</a></div><div class="ttdeci">int ECP2_BLS381_add(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:358</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a4939a57920bc1af14ea89ba784e7a126"><div class="ttname"><a href="ecp2__BLS381_8h.html#a4939a57920bc1af14ea89ba784e7a126">ECP2_BLS381_add</a></div><div class="ttdeci">int ECP2_BLS381_add(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:358</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a80db75c3cbe43f3353897b39d21e4f34"><div class="ttname"><a href="ecp2__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a></div><div class="ttdeci">const BIG_384_58 Frb_BLS381</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_aef116dd1c5955c3e86fd9b22c39e3841"><div class="ttname"><a href="ecp2__BLS381_8h.html#aef116dd1c5955c3e86fd9b22c39e3841">CURVE_B_I_BLS381</a></div><div class="ttdeci">const int CURVE_B_I_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a78c4f7d1e2efcc015386aaa52fc49e4d"><div class="ttname"><a href="ecp2__BLS381_8h.html#a78c4f7d1e2efcc015386aaa52fc49e4d">ECP2_BLS381_neg</a></div><div class="ttdeci">void ECP2_BLS381_neg(ECP2_BLS381 *P)</div><div class="ttdoc">Negation of an ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:294</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a78c4f7d1e2efcc015386aaa52fc49e4d"><div class="ttname"><a href="ecp2__BLS381_8h.html#a78c4f7d1e2efcc015386aaa52fc49e4d">ECP2_BLS381_neg</a></div><div class="ttdeci">void ECP2_BLS381_neg(ECP2_BLS381 *P)</div><div class="ttdoc">Negation of an ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:294</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a97ea26d6174e376a165ff28ea07cc2e6"><div class="ttname"><a href="ecp2__BLS381_8h.html#a97ea26d6174e376a165ff28ea07cc2e6">CURVE_Cof_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cof_BLS381</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_aa3b577d06eb5c4ac47dea6f19de11e1f"><div class="ttname"><a href="ecp2__BLS381_8h.html#aa3b577d06eb5c4ac47dea6f19de11e1f">CURVE_Pxb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxb_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a432ef0bb3613a8e0049a105f87e16e48"><div class="ttname"><a href="ecp2__BLS381_8h.html#a432ef0bb3613a8e0049a105f87e16e48">ECP2_BLS381_sub</a></div><div class="ttdeci">void ECP2_BLS381_sub(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:445</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_af722a098ce6831fbf999929870dd548f"><div class="ttname"><a href="ecp2__BLS381_8h.html#af722a098ce6831fbf999929870dd548f">ECP2_BLS381_output</a></div><div class="ttdeci">void ECP2_BLS381_output(ECP2_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:142</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a432ef0bb3613a8e0049a105f87e16e48"><div class="ttname"><a href="ecp2__BLS381_8h.html#a432ef0bb3613a8e0049a105f87e16e48">ECP2_BLS381_sub</a></div><div class="ttdeci">void ECP2_BLS381_sub(ECP2_BLS381 *P, ECP2_BLS381 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:445</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_af722a098ce6831fbf999929870dd548f"><div class="ttname"><a href="ecp2__BLS381_8h.html#af722a098ce6831fbf999929870dd548f">ECP2_BLS381_output</a></div><div class="ttdeci">void ECP2_BLS381_output(ECP2_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:142</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a958833196ced4525eef425ae31c17931"><div class="ttname"><a href="ecp2__BLS381_8h.html#a958833196ced4525eef425ae31c17931">CURVE_Pya_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pya_BLS381</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a6cd99de9ded2845d418ca1c79fb95417"><div class="ttname"><a href="ecp2__BLS381_8h.html#a6cd99de9ded2845d418ca1c79fb95417">CURVE_B_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_B_BLS381</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html"><div class="ttname"><a href="fp2__BLS381_8h.html">fp2_BLS381.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="structECP2__BLS381_html"><div class="ttname"><a href="structECP2__BLS381.html">ECP2_BLS381</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.h:37</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html"><div class="ttname"><a href="fp2__BLS381_8h.html">fp2_BLS381.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="structECP2__BLS381_html"><div class="ttname"><a href="structECP2__BLS381.html">ECP2_BLS381</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.h:37</div></div>
 <div class="ttc" id="ecp2__BLS381_8h_html_a0ff01e0d2b4a0f06e9a8ac6c8346687c"><div class="ttname"><a href="ecp2__BLS381_8h.html#a0ff01e0d2b4a0f06e9a8ac6c8346687c">CURVE_Gy_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gy_BLS381</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html_a522906a3d016800143b3a2501a753c99"><div class="ttname"><a href="ecp2__BLS381_8h.html#a522906a3d016800143b3a2501a753c99">ECP2_BLS381_inf</a></div><div class="ttdeci">void ECP2_BLS381_inf(ECP2_BLS381 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:41</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html_a522906a3d016800143b3a2501a753c99"><div class="ttname"><a href="ecp2__BLS381_8h.html#a522906a3d016800143b3a2501a753c99">ECP2_BLS381_inf</a></div><div class="ttdeci">void ECP2_BLS381_inf(ECP2_BLS381 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.c:41</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/ecp2__BLS383_8h.html b/website/static/cdocs/ecp2__BLS383_8h.html
index 1eeb177..8382167 100644
--- a/website/static/cdocs/ecp2__BLS383_8h.html
+++ b/website/static/cdocs/ecp2__BLS383_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: ecp2_BLS383.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"
@@ -1114,7 +1117,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/ecp2__BLS383_8h_source.html b/website/static/cdocs/ecp2__BLS383_8h_source.html
index 458f37b..afe2d1b 100644
--- a/website/static/cdocs/ecp2__BLS383_8h_source.html
+++ b/website/static/cdocs/ecp2__BLS383_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: ecp2_BLS383.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,56 +72,56 @@
 <div class="title">ecp2_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp2__BLS383_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 ECP2_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BLS383_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 &quot;<a class="code" href="fp2__BLS383_8h.html">fp2_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html#a12bba7f5df1d796dfe5092ba3e484474">   40</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structECP2__BLS383.html#a12bba7f5df1d796dfe5092ba3e484474">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html#a2fb7a297dc894c1c84c04f3abae67dcb">   41</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structECP2__BLS383.html#a2fb7a297dc894c1c84c04f3abae67dcb">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html#a2b66bfcf4865f4405dfbb37e1dce295e">   42</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structECP2__BLS383.html#a2b66bfcf4865f4405dfbb37e1dce295e">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a8552848bf7e3647ede309693e9fa9e2d">CURVE_A_BLS383</a>;                </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a14ba4b2ca939da2039cc7ac1963be07a">CURVE_B_I_BLS383</a>;              </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#af01bc25892c1f0bc589f04a1ea3278b8">CURVE_B_BLS383</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#aaeb4da84f0c3380e2283bc68984d54ca">CURVE_Order_BLS383</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#ac8df206ff52872c148d4377101432757">CURVE_Cof_BLS383</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a9182e9e573f672366c863427bfcbe86f">CURVE_Gx_BLS383</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a4d98980f5ce2f84f1a578387355b9a2d">CURVE_Gy_BLS383</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a96d085ca027eba7644fe60030e9b0703">CURVE_Pxa_BLS383</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#ae3d9ae9abdec9fb92df8e6bcf72641fb">CURVE_Pxb_BLS383</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a07420456f7b0874fcda4d036a0227e77">CURVE_Pya_BLS383</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a927d030da4529135fb92a3ca745aa3e1">CURVE_Pyb_BLS383</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a697d4e226df852286059cba7b04e0234">ECP2_BLS383_isinf</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a2d5cf8b63cf17b73a328cf56aa0c27e1">ECP2_BLS383_copy</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a1a95d735a19ac29603ffe83e8fc95625">ECP2_BLS383_inf</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#ad19624d40c78d3413b56ce91cd0fc4d1">ECP2_BLS383_equals</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</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="ecp2__BLS383_8h.html#a0ccdda89662e2fa2b91ffd3647209fb4">ECP2_BLS383_affine</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a926afa718c7e38583dec96deed9fbe06">ECP2_BLS383_get</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a0d3db273a794ddb45edcc87f3386099e">ECP2_BLS383_output</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#ac575bc20ac80e118c2bb5ca63df161a7">ECP2_BLS383_outputxyz</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a3bcaf832748f1bb5fb954ee78e95a68b">ECP2_BLS383_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#ad61c23693a421d9cd1f62a85797f7cc3">ECP2_BLS383_fromOctet</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a6e6d16dae930059704a9b4e33b5b403e">ECP2_BLS383_rhs</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *r,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a954973353ade2335d4c9cda9bb984c2c">ECP2_BLS383_set</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a76a20c8e4571d4fe1c34780a9c35d5d6">ECP2_BLS383_setx</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</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="ecp2__BLS383_8h.html#a360ec06213a848cb4846b88c475731f5">ECP2_BLS383_neg</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#aecb4abd9615784f29f6b6caa2c5df5c0">ECP2_BLS383_dbl</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a0a62c4238cd59ebfee795a5769141896">ECP2_BLS383_add</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a6eaac62b79597ad721726021d276ebeb">ECP2_BLS383_sub</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#adcc7a4a13dbb60335dbbc51ed1df98d5">ECP2_BLS383_mul</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#abe0ce2895b7b7887a789e1eedba6d4d9">ECP2_BLS383_frob</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *f);</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="ecp2__BLS383_8h.html#a4cf60a27ac2110d25f0b64605f383941">ECP2_BLS383_mul4</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#af83e96a426f51aac5d4345aafbce6831">ECP2_BLS383_mapit</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a8c93c94abdc28fb880827bb0b97dbce3">ECP2_BLS383_generator</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BLS383_8h_html_a697d4e226df852286059cba7b04e0234"><div class="ttname"><a href="ecp2__BLS383_8h.html#a697d4e226df852286059cba7b04e0234">ECP2_BLS383_isinf</a></div><div class="ttdeci">int ECP2_BLS383_isinf(ECP2_BLS383 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:25</div></div>
+<a href="ecp2__BLS383_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 ECP2_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BLS383_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 &quot;<a class="code" href="fp2__BLS383_8h.html">fp2_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html#a12bba7f5df1d796dfe5092ba3e484474">   40</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structECP2__BLS383.html#a12bba7f5df1d796dfe5092ba3e484474">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html#a2fb7a297dc894c1c84c04f3abae67dcb">   41</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structECP2__BLS383.html#a2fb7a297dc894c1c84c04f3abae67dcb">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BLS383.html#a2b66bfcf4865f4405dfbb37e1dce295e">   42</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structECP2__BLS383.html#a2b66bfcf4865f4405dfbb37e1dce295e">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a8552848bf7e3647ede309693e9fa9e2d">CURVE_A_BLS383</a>;        </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a14ba4b2ca939da2039cc7ac1963be07a">CURVE_B_I_BLS383</a>;      </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#af01bc25892c1f0bc589f04a1ea3278b8">CURVE_B_BLS383</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#aaeb4da84f0c3380e2283bc68984d54ca">CURVE_Order_BLS383</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#ac8df206ff52872c148d4377101432757">CURVE_Cof_BLS383</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a9182e9e573f672366c863427bfcbe86f">CURVE_Gx_BLS383</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a4d98980f5ce2f84f1a578387355b9a2d">CURVE_Gy_BLS383</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a96d085ca027eba7644fe60030e9b0703">CURVE_Pxa_BLS383</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#ae3d9ae9abdec9fb92df8e6bcf72641fb">CURVE_Pxb_BLS383</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a07420456f7b0874fcda4d036a0227e77">CURVE_Pya_BLS383</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp2__BLS383_8h.html#a927d030da4529135fb92a3ca745aa3e1">CURVE_Pyb_BLS383</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a697d4e226df852286059cba7b04e0234">ECP2_BLS383_isinf</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a2d5cf8b63cf17b73a328cf56aa0c27e1">ECP2_BLS383_copy</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a1a95d735a19ac29603ffe83e8fc95625">ECP2_BLS383_inf</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#ad19624d40c78d3413b56ce91cd0fc4d1">ECP2_BLS383_equals</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</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="ecp2__BLS383_8h.html#a0ccdda89662e2fa2b91ffd3647209fb4">ECP2_BLS383_affine</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a926afa718c7e38583dec96deed9fbe06">ECP2_BLS383_get</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a0d3db273a794ddb45edcc87f3386099e">ECP2_BLS383_output</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#ac575bc20ac80e118c2bb5ca63df161a7">ECP2_BLS383_outputxyz</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a3bcaf832748f1bb5fb954ee78e95a68b">ECP2_BLS383_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#ad61c23693a421d9cd1f62a85797f7cc3">ECP2_BLS383_fromOctet</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a6e6d16dae930059704a9b4e33b5b403e">ECP2_BLS383_rhs</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *r,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a954973353ade2335d4c9cda9bb984c2c">ECP2_BLS383_set</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a76a20c8e4571d4fe1c34780a9c35d5d6">ECP2_BLS383_setx</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</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="ecp2__BLS383_8h.html#a360ec06213a848cb4846b88c475731f5">ECP2_BLS383_neg</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#aecb4abd9615784f29f6b6caa2c5df5c0">ECP2_BLS383_dbl</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS383_8h.html#a0a62c4238cd59ebfee795a5769141896">ECP2_BLS383_add</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a6eaac62b79597ad721726021d276ebeb">ECP2_BLS383_sub</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#adcc7a4a13dbb60335dbbc51ed1df98d5">ECP2_BLS383_mul</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#abe0ce2895b7b7887a789e1eedba6d4d9">ECP2_BLS383_frob</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *f);</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="ecp2__BLS383_8h.html#a4cf60a27ac2110d25f0b64605f383941">ECP2_BLS383_mul4</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#af83e96a426f51aac5d4345aafbce6831">ECP2_BLS383_mapit</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS383_8h.html#a8c93c94abdc28fb880827bb0b97dbce3">ECP2_BLS383_generator</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BLS383_8h_html_a697d4e226df852286059cba7b04e0234"><div class="ttname"><a href="ecp2__BLS383_8h.html#a697d4e226df852286059cba7b04e0234">ECP2_BLS383_isinf</a></div><div class="ttdeci">int ECP2_BLS383_isinf(ECP2_BLS383 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:25</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a14ba4b2ca939da2039cc7ac1963be07a"><div class="ttname"><a href="ecp2__BLS383_8h.html#a14ba4b2ca939da2039cc7ac1963be07a">CURVE_B_I_BLS383</a></div><div class="ttdeci">const int CURVE_B_I_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a6eaac62b79597ad721726021d276ebeb"><div class="ttname"><a href="ecp2__BLS383_8h.html#a6eaac62b79597ad721726021d276ebeb">ECP2_BLS383_sub</a></div><div class="ttdeci">void ECP2_BLS383_sub(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:445</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a6eaac62b79597ad721726021d276ebeb"><div class="ttname"><a href="ecp2__BLS383_8h.html#a6eaac62b79597ad721726021d276ebeb">ECP2_BLS383_sub</a></div><div class="ttdeci">void ECP2_BLS383_sub(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:445</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a9041fc9e3d96a065c02c2b919582cd4a"><div class="ttname"><a href="ecp2__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Bnx_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a2d5cf8b63cf17b73a328cf56aa0c27e1"><div class="ttname"><a href="ecp2__BLS383_8h.html#a2d5cf8b63cf17b73a328cf56aa0c27e1">ECP2_BLS383_copy</a></div><div class="ttdeci">void ECP2_BLS383_copy(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:32</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a3bcaf832748f1bb5fb954ee78e95a68b"><div class="ttname"><a href="ecp2__BLS383_8h.html#a3bcaf832748f1bb5fb954ee78e95a68b">ECP2_BLS383_toOctet</a></div><div class="ttdeci">void ECP2_BLS383_toOctet(octet *S, ECP2_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:179</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a926afa718c7e38583dec96deed9fbe06"><div class="ttname"><a href="ecp2__BLS383_8h.html#a926afa718c7e38583dec96deed9fbe06">ECP2_BLS383_get</a></div><div class="ttdeci">int ECP2_BLS383_get(FP2_BLS383 *x, FP2_BLS383 *y, ECP2_BLS383 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:129</div></div>
-<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a2d5cf8b63cf17b73a328cf56aa0c27e1"><div class="ttname"><a href="ecp2__BLS383_8h.html#a2d5cf8b63cf17b73a328cf56aa0c27e1">ECP2_BLS383_copy</a></div><div class="ttdeci">void ECP2_BLS383_copy(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:32</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a3bcaf832748f1bb5fb954ee78e95a68b"><div class="ttname"><a href="ecp2__BLS383_8h.html#a3bcaf832748f1bb5fb954ee78e95a68b">ECP2_BLS383_toOctet</a></div><div class="ttdeci">void ECP2_BLS383_toOctet(octet *S, ECP2_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:179</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a926afa718c7e38583dec96deed9fbe06"><div class="ttname"><a href="ecp2__BLS383_8h.html#a926afa718c7e38583dec96deed9fbe06">ECP2_BLS383_get</a></div><div class="ttdeci">int ECP2_BLS383_get(FP2_BLS383 *x, FP2_BLS383 *y, ECP2_BLS383 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:129</div></div>
+<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a360ec06213a848cb4846b88c475731f5"><div class="ttname"><a href="ecp2__BLS383_8h.html#a360ec06213a848cb4846b88c475731f5">ECP2_BLS383_neg</a></div><div class="ttdeci">void ECP2_BLS383_neg(ECP2_BLS383 *P)</div><div class="ttdoc">Negation of an ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:294</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_aecb4abd9615784f29f6b6caa2c5df5c0"><div class="ttname"><a href="ecp2__BLS383_8h.html#aecb4abd9615784f29f6b6caa2c5df5c0">ECP2_BLS383_dbl</a></div><div class="ttdeci">int ECP2_BLS383_dbl(ECP2_BLS383 *P)</div><div class="ttdoc">Doubles an ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:304</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a360ec06213a848cb4846b88c475731f5"><div class="ttname"><a href="ecp2__BLS383_8h.html#a360ec06213a848cb4846b88c475731f5">ECP2_BLS383_neg</a></div><div class="ttdeci">void ECP2_BLS383_neg(ECP2_BLS383 *P)</div><div class="ttdoc">Negation of an ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:294</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_aecb4abd9615784f29f6b6caa2c5df5c0"><div class="ttname"><a href="ecp2__BLS383_8h.html#aecb4abd9615784f29f6b6caa2c5df5c0">ECP2_BLS383_dbl</a></div><div class="ttdeci">int ECP2_BLS383_dbl(ECP2_BLS383 *P)</div><div class="ttdoc">Doubles an ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:304</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a8552848bf7e3647ede309693e9fa9e2d"><div class="ttname"><a href="ecp2__BLS383_8h.html#a8552848bf7e3647ede309693e9fa9e2d">CURVE_A_BLS383</a></div><div class="ttdeci">const int CURVE_A_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_ac575bc20ac80e118c2bb5ca63df161a7"><div class="ttname"><a href="ecp2__BLS383_8h.html#ac575bc20ac80e118c2bb5ca63df161a7">ECP2_BLS383_outputxyz</a></div><div class="ttdeci">void ECP2_BLS383_outputxyz(ECP2_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:159</div></div>
-<div class="ttc" id="structECP2__BLS383_html"><div class="ttname"><a href="structECP2__BLS383.html">ECP2_BLS383</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.h:37</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="ecp2__BLS383_8h_html_a1a95d735a19ac29603ffe83e8fc95625"><div class="ttname"><a href="ecp2__BLS383_8h.html#a1a95d735a19ac29603ffe83e8fc95625">ECP2_BLS383_inf</a></div><div class="ttdeci">void ECP2_BLS383_inf(ECP2_BLS383 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:41</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_ac575bc20ac80e118c2bb5ca63df161a7"><div class="ttname"><a href="ecp2__BLS383_8h.html#ac575bc20ac80e118c2bb5ca63df161a7">ECP2_BLS383_outputxyz</a></div><div class="ttdeci">void ECP2_BLS383_outputxyz(ECP2_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:159</div></div>
+<div class="ttc" id="structECP2__BLS383_html"><div class="ttname"><a href="structECP2__BLS383.html">ECP2_BLS383</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.h:37</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="ecp2__BLS383_8h_html_a1a95d735a19ac29603ffe83e8fc95625"><div class="ttname"><a href="ecp2__BLS383_8h.html#a1a95d735a19ac29603ffe83e8fc95625">ECP2_BLS383_inf</a></div><div class="ttdeci">void ECP2_BLS383_inf(ECP2_BLS383 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:41</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_acc6ace24c297f3d1bbd70c10f12c8f40"><div class="ttname"><a href="ecp2__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a></div><div class="ttdeci">const BIG_384_58 Fra_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_abe0ce2895b7b7887a789e1eedba6d4d9"><div class="ttname"><a href="ecp2__BLS383_8h.html#abe0ce2895b7b7887a789e1eedba6d4d9">ECP2_BLS383_frob</a></div><div class="ttdeci">void ECP2_BLS383_frob(ECP2_BLS383 *P, FP2_BLS383 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:518</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a0d3db273a794ddb45edcc87f3386099e"><div class="ttname"><a href="ecp2__BLS383_8h.html#a0d3db273a794ddb45edcc87f3386099e">ECP2_BLS383_output</a></div><div class="ttdeci">void ECP2_BLS383_output(ECP2_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:142</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_abe0ce2895b7b7887a789e1eedba6d4d9"><div class="ttname"><a href="ecp2__BLS383_8h.html#abe0ce2895b7b7887a789e1eedba6d4d9">ECP2_BLS383_frob</a></div><div class="ttdeci">void ECP2_BLS383_frob(ECP2_BLS383 *P, FP2_BLS383 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f...</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:518</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a0d3db273a794ddb45edcc87f3386099e"><div class="ttname"><a href="ecp2__BLS383_8h.html#a0d3db273a794ddb45edcc87f3386099e">ECP2_BLS383_output</a></div><div class="ttdeci">void ECP2_BLS383_output(ECP2_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:142</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_aa2a080445c52be753695d6abd26a6f0f"><div class="ttname"><a href="ecp2__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a></div><div class="ttdeci">const BIG_384_58 Frb_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_ad19624d40c78d3413b56ce91cd0fc4d1"><div class="ttname"><a href="ecp2__BLS383_8h.html#ad19624d40c78d3413b56ce91cd0fc4d1">ECP2_BLS383_equals</a></div><div class="ttdeci">int ECP2_BLS383_equals(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:89</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_ad19624d40c78d3413b56ce91cd0fc4d1"><div class="ttname"><a href="ecp2__BLS383_8h.html#ad19624d40c78d3413b56ce91cd0fc4d1">ECP2_BLS383_equals</a></div><div class="ttdeci">int ECP2_BLS383_equals(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:89</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_af01bc25892c1f0bc589f04a1ea3278b8"><div class="ttname"><a href="ecp2__BLS383_8h.html#af01bc25892c1f0bc589f04a1ea3278b8">CURVE_B_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_B_BLS383</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_ae3d9ae9abdec9fb92df8e6bcf72641fb"><div class="ttname"><a href="ecp2__BLS383_8h.html#ae3d9ae9abdec9fb92df8e6bcf72641fb">CURVE_Pxb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxb_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a4cf60a27ac2110d25f0b64605f383941"><div class="ttname"><a href="ecp2__BLS383_8h.html#a4cf60a27ac2110d25f0b64605f383941">ECP2_BLS383_mul4</a></div><div class="ttdeci">void ECP2_BLS383_mul4(ECP2_BLS383 *P, ECP2_BLS383 *Q, BIG_384_58 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3].</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a8c93c94abdc28fb880827bb0b97dbce3"><div class="ttname"><a href="ecp2__BLS383_8h.html#a8c93c94abdc28fb880827bb0b97dbce3">ECP2_BLS383_generator</a></div><div class="ttdeci">void ECP2_BLS383_generator(ECP2_BLS383 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:714</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a4cf60a27ac2110d25f0b64605f383941"><div class="ttname"><a href="ecp2__BLS383_8h.html#a4cf60a27ac2110d25f0b64605f383941">ECP2_BLS383_mul4</a></div><div class="ttdeci">void ECP2_BLS383_mul4(ECP2_BLS383 *P, ECP2_BLS383 *Q, BIG_384_58 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3]. </div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a8c93c94abdc28fb880827bb0b97dbce3"><div class="ttname"><a href="ecp2__BLS383_8h.html#a8c93c94abdc28fb880827bb0b97dbce3">ECP2_BLS383_generator</a></div><div class="ttdeci">void ECP2_BLS383_generator(ECP2_BLS383 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:714</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a4d98980f5ce2f84f1a578387355b9a2d"><div class="ttname"><a href="ecp2__BLS383_8h.html#a4d98980f5ce2f84f1a578387355b9a2d">CURVE_Gy_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gy_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a0a62c4238cd59ebfee795a5769141896"><div class="ttname"><a href="ecp2__BLS383_8h.html#a0a62c4238cd59ebfee795a5769141896">ECP2_BLS383_add</a></div><div class="ttdeci">int ECP2_BLS383_add(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:358</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a0a62c4238cd59ebfee795a5769141896"><div class="ttname"><a href="ecp2__BLS383_8h.html#a0a62c4238cd59ebfee795a5769141896">ECP2_BLS383_add</a></div><div class="ttdeci">int ECP2_BLS383_add(ECP2_BLS383 *P, ECP2_BLS383 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:358</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a07420456f7b0874fcda4d036a0227e77"><div class="ttname"><a href="ecp2__BLS383_8h.html#a07420456f7b0874fcda4d036a0227e77">CURVE_Pya_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pya_BLS383</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a927d030da4529135fb92a3ca745aa3e1"><div class="ttname"><a href="ecp2__BLS383_8h.html#a927d030da4529135fb92a3ca745aa3e1">CURVE_Pyb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyb_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a0ccdda89662e2fa2b91ffd3647209fb4"><div class="ttname"><a href="ecp2__BLS383_8h.html#a0ccdda89662e2fa2b91ffd3647209fb4">ECP2_BLS383_affine</a></div><div class="ttdeci">void ECP2_BLS383_affine(ECP2_BLS383 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:105</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a0ccdda89662e2fa2b91ffd3647209fb4"><div class="ttname"><a href="ecp2__BLS383_8h.html#a0ccdda89662e2fa2b91ffd3647209fb4">ECP2_BLS383_affine</a></div><div class="ttdeci">void ECP2_BLS383_affine(ECP2_BLS383 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:105</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_ac8df206ff52872c148d4377101432757"><div class="ttname"><a href="ecp2__BLS383_8h.html#ac8df206ff52872c148d4377101432757">CURVE_Cof_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cof_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_ad61c23693a421d9cd1f62a85797f7cc3"><div class="ttname"><a href="ecp2__BLS383_8h.html#ad61c23693a421d9cd1f62a85797f7cc3">ECP2_BLS383_fromOctet</a></div><div class="ttdeci">int ECP2_BLS383_fromOctet(ECP2_BLS383 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:200</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_af83e96a426f51aac5d4345aafbce6831"><div class="ttname"><a href="ecp2__BLS383_8h.html#af83e96a426f51aac5d4345aafbce6831">ECP2_BLS383_mapit</a></div><div class="ttdeci">void ECP2_BLS383_mapit(ECP2_BLS383 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:625</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html"><div class="ttname"><a href="fp2__BLS383_8h.html">fp2_BLS383.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_ad61c23693a421d9cd1f62a85797f7cc3"><div class="ttname"><a href="ecp2__BLS383_8h.html#ad61c23693a421d9cd1f62a85797f7cc3">ECP2_BLS383_fromOctet</a></div><div class="ttdeci">int ECP2_BLS383_fromOctet(ECP2_BLS383 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:200</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_af83e96a426f51aac5d4345aafbce6831"><div class="ttname"><a href="ecp2__BLS383_8h.html#af83e96a426f51aac5d4345aafbce6831">ECP2_BLS383_mapit</a></div><div class="ttdeci">void ECP2_BLS383_mapit(ECP2_BLS383 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:625</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html"><div class="ttname"><a href="fp2__BLS383_8h.html">fp2_BLS383.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
 <div class="ttc" id="structECP2__BLS383_html_a2fb7a297dc894c1c84c04f3abae67dcb"><div class="ttname"><a href="structECP2__BLS383.html#a2fb7a297dc894c1c84c04f3abae67dcb">ECP2_BLS383::y</a></div><div class="ttdeci">FP2_BLS383 y</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.h:41</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_adcc7a4a13dbb60335dbbc51ed1df98d5"><div class="ttname"><a href="ecp2__BLS383_8h.html#adcc7a4a13dbb60335dbbc51ed1df98d5">ECP2_BLS383_mul</a></div><div class="ttdeci">void ECP2_BLS383_mul(ECP2_BLS383 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:455</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_adcc7a4a13dbb60335dbbc51ed1df98d5"><div class="ttname"><a href="ecp2__BLS383_8h.html#adcc7a4a13dbb60335dbbc51ed1df98d5">ECP2_BLS383_mul</a></div><div class="ttdeci">void ECP2_BLS383_mul(ECP2_BLS383 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:455</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_aaeb4da84f0c3380e2283bc68984d54ca"><div class="ttname"><a href="ecp2__BLS383_8h.html#aaeb4da84f0c3380e2283bc68984d54ca">CURVE_Order_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Order_BLS383</div></div>
 <div class="ttc" id="structECP2__BLS383_html_a2b66bfcf4865f4405dfbb37e1dce295e"><div class="ttname"><a href="structECP2__BLS383.html#a2b66bfcf4865f4405dfbb37e1dce295e">ECP2_BLS383::z</a></div><div class="ttdeci">FP2_BLS383 z</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.h:42</div></div>
 <div class="ttc" id="structECP2__BLS383_html_a12bba7f5df1d796dfe5092ba3e484474"><div class="ttname"><a href="structECP2__BLS383.html#a12bba7f5df1d796dfe5092ba3e484474">ECP2_BLS383::x</a></div><div class="ttdeci">FP2_BLS383 x</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.h:40</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a96d085ca027eba7644fe60030e9b0703"><div class="ttname"><a href="ecp2__BLS383_8h.html#a96d085ca027eba7644fe60030e9b0703">CURVE_Pxa_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxa_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a76a20c8e4571d4fe1c34780a9c35d5d6"><div class="ttname"><a href="ecp2__BLS383_8h.html#a76a20c8e4571d4fe1c34780a9c35d5d6">ECP2_BLS383_setx</a></div><div class="ttdeci">int ECP2_BLS383_setx(ECP2_BLS383 *P, FP2_BLS383 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:275</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a6e6d16dae930059704a9b4e33b5b403e"><div class="ttname"><a href="ecp2__BLS383_8h.html#a6e6d16dae930059704a9b4e33b5b403e">ECP2_BLS383_rhs</a></div><div class="ttdeci">void ECP2_BLS383_rhs(FP2_BLS383 *r, FP2_BLS383 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:219</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html_a954973353ade2335d4c9cda9bb984c2c"><div class="ttname"><a href="ecp2__BLS383_8h.html#a954973353ade2335d4c9cda9bb984c2c">ECP2_BLS383_set</a></div><div class="ttdeci">int ECP2_BLS383_set(ECP2_BLS383 *P, FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:253</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a76a20c8e4571d4fe1c34780a9c35d5d6"><div class="ttname"><a href="ecp2__BLS383_8h.html#a76a20c8e4571d4fe1c34780a9c35d5d6">ECP2_BLS383_setx</a></div><div class="ttdeci">int ECP2_BLS383_setx(ECP2_BLS383 *P, FP2_BLS383 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:275</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a6e6d16dae930059704a9b4e33b5b403e"><div class="ttname"><a href="ecp2__BLS383_8h.html#a6e6d16dae930059704a9b4e33b5b403e">ECP2_BLS383_rhs</a></div><div class="ttdeci">void ECP2_BLS383_rhs(FP2_BLS383 *r, FP2_BLS383 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:219</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html_a954973353ade2335d4c9cda9bb984c2c"><div class="ttname"><a href="ecp2__BLS383_8h.html#a954973353ade2335d4c9cda9bb984c2c">ECP2_BLS383_set</a></div><div class="ttdeci">int ECP2_BLS383_set(ECP2_BLS383 *P, FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.c:253</div></div>
 <div class="ttc" id="ecp2__BLS383_8h_html_a9182e9e573f672366c863427bfcbe86f"><div class="ttname"><a href="ecp2__BLS383_8h.html#a9182e9e573f672366c863427bfcbe86f">CURVE_Gx_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gx_BLS383</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/ecp2__BLS461_8h.html b/website/static/cdocs/ecp2__BLS461_8h.html
index 2bfc692..54c3269 100644
--- a/website/static/cdocs/ecp2__BLS461_8h.html
+++ b/website/static/cdocs/ecp2__BLS461_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: ecp2_BLS461.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"
@@ -1114,7 +1117,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/ecp2__BLS461_8h_source.html b/website/static/cdocs/ecp2__BLS461_8h_source.html
index 74e0997..413fe35 100644
--- a/website/static/cdocs/ecp2__BLS461_8h_source.html
+++ b/website/static/cdocs/ecp2__BLS461_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: ecp2_BLS461.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,56 +72,56 @@
 <div class="title">ecp2_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp2__BLS461_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 ECP2_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BLS461_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 &quot;<a class="code" href="fp2__BLS461_8h.html">fp2_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html#aa7786af567bfd49281f8348fe770bec5">   40</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structECP2__BLS461.html#aa7786af567bfd49281f8348fe770bec5">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html#a684ee481984c5d62ab2c2af2aeefe047">   41</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structECP2__BLS461.html#a684ee481984c5d62ab2c2af2aeefe047">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html#a575f6297ed211daf9baa6c8f2544061c">   42</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structECP2__BLS461.html#a575f6297ed211daf9baa6c8f2544061c">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a3c43db1e735a7786002108e9a53f87c8">CURVE_A_BLS461</a>;                </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a6978f940161cb2acdb940f28e41fdaf0">CURVE_B_I_BLS461</a>;              </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a5fe6bdd9dc9449caf69a032d924d87c9">CURVE_B_BLS461</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a94e3e42dceef6461f9475c34c7500f58">CURVE_Order_BLS461</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a8aae1a46a9cdda79fbf2208d636de2d1">CURVE_Cof_BLS461</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#ae55f50d582536146a3ab4b0f4c9b0c6a">CURVE_Gx_BLS461</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#af277428d8286a249f3fc652439e4836e">CURVE_Gy_BLS461</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a84c3df395966e7486a23a134db654dd1">CURVE_Pxa_BLS461</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#aeccbc91e6d35b6d6039822f25691069d">CURVE_Pxb_BLS461</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#ad4a9183cc2636710005799279fec9c62">CURVE_Pya_BLS461</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a670b449161243c447ca5885c584506bf">CURVE_Pyb_BLS461</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#af82571f9a177ce46408d9afabeec6f0f">ECP2_BLS461_isinf</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#aa86290673d2d357fd06fe29d5c659643">ECP2_BLS461_copy</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a757031714e31995b068fefe1c1cee453">ECP2_BLS461_inf</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#aa86d78ad4a3eee288fee6f3095d58922">ECP2_BLS461_equals</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</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="ecp2__BLS461_8h.html#a23b787c25f4b121fb1f1f0610143c880">ECP2_BLS461_affine</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#aeebe17f4b649d72c8e523e654a41ff30">ECP2_BLS461_get</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a7d4ccf6bb7f941dd969b35ab55bab1e6">ECP2_BLS461_output</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a12c878d4b0f57c8c60c76e96fced3d24">ECP2_BLS461_outputxyz</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#ae9936f3e52d5d7af7019f5ac6c3e0f33">ECP2_BLS461_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a9a8d613bd664c6b981b013586c4c0a3f">ECP2_BLS461_fromOctet</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a8a92432701132571d900e005ebbf1b89">ECP2_BLS461_rhs</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *r,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#ada7b03fb2a7ac754f12c4037cde8956d">ECP2_BLS461_set</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a08b744f5cca17f72d3c8bf6b7196d03d">ECP2_BLS461_setx</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</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="ecp2__BLS461_8h.html#a6bed90263e13be132e655695e015d64d">ECP2_BLS461_neg</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a532826985064e18770055a0c4a034ed6">ECP2_BLS461_dbl</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a605a401d19484462eaa39a4abae82dd4">ECP2_BLS461_add</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a0087d26659b834c4f916b136c238befe">ECP2_BLS461_sub</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a714f3367c5722d595bb7a18eac1fddbc">ECP2_BLS461_mul</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a2516dc774a96fb1ce5d2d322d7246c1c">ECP2_BLS461_frob</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *f);</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="ecp2__BLS461_8h.html#aefcc88ebda19212db151367c12e3375e">ECP2_BLS461_mul4</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a01a54e9e8acbc9f1f25e85cfc16606cf">ECP2_BLS461_mapit</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a2f8e6b833cb03c489219102a426c41c0">ECP2_BLS461_generator</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BLS461_8h_html_a757031714e31995b068fefe1c1cee453"><div class="ttname"><a href="ecp2__BLS461_8h.html#a757031714e31995b068fefe1c1cee453">ECP2_BLS461_inf</a></div><div class="ttdeci">void ECP2_BLS461_inf(ECP2_BLS461 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:41</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a532826985064e18770055a0c4a034ed6"><div class="ttname"><a href="ecp2__BLS461_8h.html#a532826985064e18770055a0c4a034ed6">ECP2_BLS461_dbl</a></div><div class="ttdeci">int ECP2_BLS461_dbl(ECP2_BLS461 *P)</div><div class="ttdoc">Doubles an ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:304</div></div>
+<a href="ecp2__BLS461_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 ECP2_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BLS461_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 &quot;<a class="code" href="fp2__BLS461_8h.html">fp2_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html#aa7786af567bfd49281f8348fe770bec5">   40</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structECP2__BLS461.html#aa7786af567bfd49281f8348fe770bec5">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html#a684ee481984c5d62ab2c2af2aeefe047">   41</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structECP2__BLS461.html#a684ee481984c5d62ab2c2af2aeefe047">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BLS461.html#a575f6297ed211daf9baa6c8f2544061c">   42</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structECP2__BLS461.html#a575f6297ed211daf9baa6c8f2544061c">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a3c43db1e735a7786002108e9a53f87c8">CURVE_A_BLS461</a>;        </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a6978f940161cb2acdb940f28e41fdaf0">CURVE_B_I_BLS461</a>;      </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a5fe6bdd9dc9449caf69a032d924d87c9">CURVE_B_BLS461</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a94e3e42dceef6461f9475c34c7500f58">CURVE_Order_BLS461</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a8aae1a46a9cdda79fbf2208d636de2d1">CURVE_Cof_BLS461</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#ae55f50d582536146a3ab4b0f4c9b0c6a">CURVE_Gx_BLS461</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#af277428d8286a249f3fc652439e4836e">CURVE_Gy_BLS461</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a84c3df395966e7486a23a134db654dd1">CURVE_Pxa_BLS461</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#aeccbc91e6d35b6d6039822f25691069d">CURVE_Pxb_BLS461</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#ad4a9183cc2636710005799279fec9c62">CURVE_Pya_BLS461</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp2__BLS461_8h.html#a670b449161243c447ca5885c584506bf">CURVE_Pyb_BLS461</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#af82571f9a177ce46408d9afabeec6f0f">ECP2_BLS461_isinf</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#aa86290673d2d357fd06fe29d5c659643">ECP2_BLS461_copy</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a757031714e31995b068fefe1c1cee453">ECP2_BLS461_inf</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#aa86d78ad4a3eee288fee6f3095d58922">ECP2_BLS461_equals</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</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="ecp2__BLS461_8h.html#a23b787c25f4b121fb1f1f0610143c880">ECP2_BLS461_affine</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#aeebe17f4b649d72c8e523e654a41ff30">ECP2_BLS461_get</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a7d4ccf6bb7f941dd969b35ab55bab1e6">ECP2_BLS461_output</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a12c878d4b0f57c8c60c76e96fced3d24">ECP2_BLS461_outputxyz</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#ae9936f3e52d5d7af7019f5ac6c3e0f33">ECP2_BLS461_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a9a8d613bd664c6b981b013586c4c0a3f">ECP2_BLS461_fromOctet</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a8a92432701132571d900e005ebbf1b89">ECP2_BLS461_rhs</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *r,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#ada7b03fb2a7ac754f12c4037cde8956d">ECP2_BLS461_set</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a08b744f5cca17f72d3c8bf6b7196d03d">ECP2_BLS461_setx</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</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="ecp2__BLS461_8h.html#a6bed90263e13be132e655695e015d64d">ECP2_BLS461_neg</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a532826985064e18770055a0c4a034ed6">ECP2_BLS461_dbl</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BLS461_8h.html#a605a401d19484462eaa39a4abae82dd4">ECP2_BLS461_add</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a0087d26659b834c4f916b136c238befe">ECP2_BLS461_sub</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a714f3367c5722d595bb7a18eac1fddbc">ECP2_BLS461_mul</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a2516dc774a96fb1ce5d2d322d7246c1c">ECP2_BLS461_frob</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *f);</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="ecp2__BLS461_8h.html#aefcc88ebda19212db151367c12e3375e">ECP2_BLS461_mul4</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *Q,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a01a54e9e8acbc9f1f25e85cfc16606cf">ECP2_BLS461_mapit</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BLS461_8h.html#a2f8e6b833cb03c489219102a426c41c0">ECP2_BLS461_generator</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BLS461_8h_html_a757031714e31995b068fefe1c1cee453"><div class="ttname"><a href="ecp2__BLS461_8h.html#a757031714e31995b068fefe1c1cee453">ECP2_BLS461_inf</a></div><div class="ttdeci">void ECP2_BLS461_inf(ECP2_BLS461 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:41</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a532826985064e18770055a0c4a034ed6"><div class="ttname"><a href="ecp2__BLS461_8h.html#a532826985064e18770055a0c4a034ed6">ECP2_BLS461_dbl</a></div><div class="ttdeci">int ECP2_BLS461_dbl(ECP2_BLS461 *P)</div><div class="ttdoc">Doubles an ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:304</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a164b6ff6a3e68d61d3423da98df47959"><div class="ttname"><a href="ecp2__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Bnx_BLS461</div></div>
-<div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
+<div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a670b449161243c447ca5885c584506bf"><div class="ttname"><a href="ecp2__BLS461_8h.html#a670b449161243c447ca5885c584506bf">CURVE_Pyb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyb_BLS461</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_aeebe17f4b649d72c8e523e654a41ff30"><div class="ttname"><a href="ecp2__BLS461_8h.html#aeebe17f4b649d72c8e523e654a41ff30">ECP2_BLS461_get</a></div><div class="ttdeci">int ECP2_BLS461_get(FP2_BLS461 *x, FP2_BLS461 *y, ECP2_BLS461 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:129</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a9a8d613bd664c6b981b013586c4c0a3f"><div class="ttname"><a href="ecp2__BLS461_8h.html#a9a8d613bd664c6b981b013586c4c0a3f">ECP2_BLS461_fromOctet</a></div><div class="ttdeci">int ECP2_BLS461_fromOctet(ECP2_BLS461 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:200</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_aeebe17f4b649d72c8e523e654a41ff30"><div class="ttname"><a href="ecp2__BLS461_8h.html#aeebe17f4b649d72c8e523e654a41ff30">ECP2_BLS461_get</a></div><div class="ttdeci">int ECP2_BLS461_get(FP2_BLS461 *x, FP2_BLS461 *y, ECP2_BLS461 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:129</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a9a8d613bd664c6b981b013586c4c0a3f"><div class="ttname"><a href="ecp2__BLS461_8h.html#a9a8d613bd664c6b981b013586c4c0a3f">ECP2_BLS461_fromOctet</a></div><div class="ttdeci">int ECP2_BLS461_fromOctet(ECP2_BLS461 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:200</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a94e3e42dceef6461f9475c34c7500f58"><div class="ttname"><a href="ecp2__BLS461_8h.html#a94e3e42dceef6461f9475c34c7500f58">CURVE_Order_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Order_BLS461</div></div>
 <div class="ttc" id="structECP2__BLS461_html_a575f6297ed211daf9baa6c8f2544061c"><div class="ttname"><a href="structECP2__BLS461.html#a575f6297ed211daf9baa6c8f2544061c">ECP2_BLS461::z</a></div><div class="ttdeci">FP2_BLS461 z</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.h:42</div></div>
-<div class="ttc" id="structECP2__BLS461_html"><div class="ttname"><a href="structECP2__BLS461.html">ECP2_BLS461</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.h:37</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_aefcc88ebda19212db151367c12e3375e"><div class="ttname"><a href="ecp2__BLS461_8h.html#aefcc88ebda19212db151367c12e3375e">ECP2_BLS461_mul4</a></div><div class="ttdeci">void ECP2_BLS461_mul4(ECP2_BLS461 *P, ECP2_BLS461 *Q, BIG_464_60 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3].</div></div>
+<div class="ttc" id="structECP2__BLS461_html"><div class="ttname"><a href="structECP2__BLS461.html">ECP2_BLS461</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.h:37</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_aefcc88ebda19212db151367c12e3375e"><div class="ttname"><a href="ecp2__BLS461_8h.html#aefcc88ebda19212db151367c12e3375e">ECP2_BLS461_mul4</a></div><div class="ttdeci">void ECP2_BLS461_mul4(ECP2_BLS461 *P, ECP2_BLS461 *Q, BIG_464_60 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3]. </div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_aeccbc91e6d35b6d6039822f25691069d"><div class="ttname"><a href="ecp2__BLS461_8h.html#aeccbc91e6d35b6d6039822f25691069d">CURVE_Pxb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxb_BLS461</div></div>
 <div class="ttc" id="structECP2__BLS461_html_a684ee481984c5d62ab2c2af2aeefe047"><div class="ttname"><a href="structECP2__BLS461.html#a684ee481984c5d62ab2c2af2aeefe047">ECP2_BLS461::y</a></div><div class="ttdeci">FP2_BLS461 y</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.h:41</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_ada7b03fb2a7ac754f12c4037cde8956d"><div class="ttname"><a href="ecp2__BLS461_8h.html#ada7b03fb2a7ac754f12c4037cde8956d">ECP2_BLS461_set</a></div><div class="ttdeci">int ECP2_BLS461_set(ECP2_BLS461 *P, FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:253</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a23b787c25f4b121fb1f1f0610143c880"><div class="ttname"><a href="ecp2__BLS461_8h.html#a23b787c25f4b121fb1f1f0610143c880">ECP2_BLS461_affine</a></div><div class="ttdeci">void ECP2_BLS461_affine(ECP2_BLS461 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:105</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html"><div class="ttname"><a href="fp2__BLS461_8h.html">fp2_BLS461.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_ada7b03fb2a7ac754f12c4037cde8956d"><div class="ttname"><a href="ecp2__BLS461_8h.html#ada7b03fb2a7ac754f12c4037cde8956d">ECP2_BLS461_set</a></div><div class="ttdeci">int ECP2_BLS461_set(ECP2_BLS461 *P, FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:253</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a23b787c25f4b121fb1f1f0610143c880"><div class="ttname"><a href="ecp2__BLS461_8h.html#a23b787c25f4b121fb1f1f0610143c880">ECP2_BLS461_affine</a></div><div class="ttdeci">void ECP2_BLS461_affine(ECP2_BLS461 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:105</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html"><div class="ttname"><a href="fp2__BLS461_8h.html">fp2_BLS461.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a8aae1a46a9cdda79fbf2208d636de2d1"><div class="ttname"><a href="ecp2__BLS461_8h.html#a8aae1a46a9cdda79fbf2208d636de2d1">CURVE_Cof_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Cof_BLS461</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a7d4ccf6bb7f941dd969b35ab55bab1e6"><div class="ttname"><a href="ecp2__BLS461_8h.html#a7d4ccf6bb7f941dd969b35ab55bab1e6">ECP2_BLS461_output</a></div><div class="ttdeci">void ECP2_BLS461_output(ECP2_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:142</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="ecp2__BLS461_8h_html_a7d4ccf6bb7f941dd969b35ab55bab1e6"><div class="ttname"><a href="ecp2__BLS461_8h.html#a7d4ccf6bb7f941dd969b35ab55bab1e6">ECP2_BLS461_output</a></div><div class="ttdeci">void ECP2_BLS461_output(ECP2_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:142</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="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_aa86290673d2d357fd06fe29d5c659643"><div class="ttname"><a href="ecp2__BLS461_8h.html#aa86290673d2d357fd06fe29d5c659643">ECP2_BLS461_copy</a></div><div class="ttdeci">void ECP2_BLS461_copy(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:32</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_aa86290673d2d357fd06fe29d5c659643"><div class="ttname"><a href="ecp2__BLS461_8h.html#aa86290673d2d357fd06fe29d5c659643">ECP2_BLS461_copy</a></div><div class="ttdeci">void ECP2_BLS461_copy(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:32</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_ad4a9183cc2636710005799279fec9c62"><div class="ttname"><a href="ecp2__BLS461_8h.html#ad4a9183cc2636710005799279fec9c62">CURVE_Pya_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pya_BLS461</div></div>
 <div class="ttc" id="structECP2__BLS461_html_aa7786af567bfd49281f8348fe770bec5"><div class="ttname"><a href="structECP2__BLS461.html#aa7786af567bfd49281f8348fe770bec5">ECP2_BLS461::x</a></div><div class="ttdeci">FP2_BLS461 x</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.h:40</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a0087d26659b834c4f916b136c238befe"><div class="ttname"><a href="ecp2__BLS461_8h.html#a0087d26659b834c4f916b136c238befe">ECP2_BLS461_sub</a></div><div class="ttdeci">void ECP2_BLS461_sub(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:445</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a0087d26659b834c4f916b136c238befe"><div class="ttname"><a href="ecp2__BLS461_8h.html#a0087d26659b834c4f916b136c238befe">ECP2_BLS461_sub</a></div><div class="ttdeci">void ECP2_BLS461_sub(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:445</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a5fe6bdd9dc9449caf69a032d924d87c9"><div class="ttname"><a href="ecp2__BLS461_8h.html#a5fe6bdd9dc9449caf69a032d924d87c9">CURVE_B_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_B_BLS461</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a714f3367c5722d595bb7a18eac1fddbc"><div class="ttname"><a href="ecp2__BLS461_8h.html#a714f3367c5722d595bb7a18eac1fddbc">ECP2_BLS461_mul</a></div><div class="ttdeci">void ECP2_BLS461_mul(ECP2_BLS461 *P, BIG_464_60 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:455</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a8a92432701132571d900e005ebbf1b89"><div class="ttname"><a href="ecp2__BLS461_8h.html#a8a92432701132571d900e005ebbf1b89">ECP2_BLS461_rhs</a></div><div class="ttdeci">void ECP2_BLS461_rhs(FP2_BLS461 *r, FP2_BLS461 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:219</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a08b744f5cca17f72d3c8bf6b7196d03d"><div class="ttname"><a href="ecp2__BLS461_8h.html#a08b744f5cca17f72d3c8bf6b7196d03d">ECP2_BLS461_setx</a></div><div class="ttdeci">int ECP2_BLS461_setx(ECP2_BLS461 *P, FP2_BLS461 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:275</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a714f3367c5722d595bb7a18eac1fddbc"><div class="ttname"><a href="ecp2__BLS461_8h.html#a714f3367c5722d595bb7a18eac1fddbc">ECP2_BLS461_mul</a></div><div class="ttdeci">void ECP2_BLS461_mul(ECP2_BLS461 *P, BIG_464_60 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:455</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a8a92432701132571d900e005ebbf1b89"><div class="ttname"><a href="ecp2__BLS461_8h.html#a8a92432701132571d900e005ebbf1b89">ECP2_BLS461_rhs</a></div><div class="ttdeci">void ECP2_BLS461_rhs(FP2_BLS461 *r, FP2_BLS461 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:219</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a08b744f5cca17f72d3c8bf6b7196d03d"><div class="ttname"><a href="ecp2__BLS461_8h.html#a08b744f5cca17f72d3c8bf6b7196d03d">ECP2_BLS461_setx</a></div><div class="ttdeci">int ECP2_BLS461_setx(ECP2_BLS461 *P, FP2_BLS461 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:275</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a84c3df395966e7486a23a134db654dd1"><div class="ttname"><a href="ecp2__BLS461_8h.html#a84c3df395966e7486a23a134db654dd1">CURVE_Pxa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxa_BLS461</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a6d2edb8dfee22d664e4ce1c6f107c3ae"><div class="ttname"><a href="ecp2__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a></div><div class="ttdeci">const BIG_464_60 Fra_BLS461</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a12c878d4b0f57c8c60c76e96fced3d24"><div class="ttname"><a href="ecp2__BLS461_8h.html#a12c878d4b0f57c8c60c76e96fced3d24">ECP2_BLS461_outputxyz</a></div><div class="ttdeci">void ECP2_BLS461_outputxyz(ECP2_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:159</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a2f8e6b833cb03c489219102a426c41c0"><div class="ttname"><a href="ecp2__BLS461_8h.html#a2f8e6b833cb03c489219102a426c41c0">ECP2_BLS461_generator</a></div><div class="ttdeci">void ECP2_BLS461_generator(ECP2_BLS461 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:714</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a2516dc774a96fb1ce5d2d322d7246c1c"><div class="ttname"><a href="ecp2__BLS461_8h.html#a2516dc774a96fb1ce5d2d322d7246c1c">ECP2_BLS461_frob</a></div><div class="ttdeci">void ECP2_BLS461_frob(ECP2_BLS461 *P, FP2_BLS461 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:518</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a12c878d4b0f57c8c60c76e96fced3d24"><div class="ttname"><a href="ecp2__BLS461_8h.html#a12c878d4b0f57c8c60c76e96fced3d24">ECP2_BLS461_outputxyz</a></div><div class="ttdeci">void ECP2_BLS461_outputxyz(ECP2_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:159</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a2f8e6b833cb03c489219102a426c41c0"><div class="ttname"><a href="ecp2__BLS461_8h.html#a2f8e6b833cb03c489219102a426c41c0">ECP2_BLS461_generator</a></div><div class="ttdeci">void ECP2_BLS461_generator(ECP2_BLS461 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:714</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a2516dc774a96fb1ce5d2d322d7246c1c"><div class="ttname"><a href="ecp2__BLS461_8h.html#a2516dc774a96fb1ce5d2d322d7246c1c">ECP2_BLS461_frob</a></div><div class="ttdeci">void ECP2_BLS461_frob(ECP2_BLS461 *P, FP2_BLS461 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f...</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:518</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a3c43db1e735a7786002108e9a53f87c8"><div class="ttname"><a href="ecp2__BLS461_8h.html#a3c43db1e735a7786002108e9a53f87c8">CURVE_A_BLS461</a></div><div class="ttdeci">const int CURVE_A_BLS461</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_ae55f50d582536146a3ab4b0f4c9b0c6a"><div class="ttname"><a href="ecp2__BLS461_8h.html#ae55f50d582536146a3ab4b0f4c9b0c6a">CURVE_Gx_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Gx_BLS461</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a605a401d19484462eaa39a4abae82dd4"><div class="ttname"><a href="ecp2__BLS461_8h.html#a605a401d19484462eaa39a4abae82dd4">ECP2_BLS461_add</a></div><div class="ttdeci">int ECP2_BLS461_add(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:358</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a01a54e9e8acbc9f1f25e85cfc16606cf"><div class="ttname"><a href="ecp2__BLS461_8h.html#a01a54e9e8acbc9f1f25e85cfc16606cf">ECP2_BLS461_mapit</a></div><div class="ttdeci">void ECP2_BLS461_mapit(ECP2_BLS461 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:625</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a605a401d19484462eaa39a4abae82dd4"><div class="ttname"><a href="ecp2__BLS461_8h.html#a605a401d19484462eaa39a4abae82dd4">ECP2_BLS461_add</a></div><div class="ttdeci">int ECP2_BLS461_add(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:358</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a01a54e9e8acbc9f1f25e85cfc16606cf"><div class="ttname"><a href="ecp2__BLS461_8h.html#a01a54e9e8acbc9f1f25e85cfc16606cf">ECP2_BLS461_mapit</a></div><div class="ttdeci">void ECP2_BLS461_mapit(ECP2_BLS461 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:625</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_af277428d8286a249f3fc652439e4836e"><div class="ttname"><a href="ecp2__BLS461_8h.html#af277428d8286a249f3fc652439e4836e">CURVE_Gy_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Gy_BLS461</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a6978f940161cb2acdb940f28e41fdaf0"><div class="ttname"><a href="ecp2__BLS461_8h.html#a6978f940161cb2acdb940f28e41fdaf0">CURVE_B_I_BLS461</a></div><div class="ttdeci">const int CURVE_B_I_BLS461</div></div>
 <div class="ttc" id="ecp2__BLS461_8h_html_a852f1f5013cc1c12386c59d7cb7e626b"><div class="ttname"><a href="ecp2__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a></div><div class="ttdeci">const BIG_464_60 Frb_BLS461</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_a6bed90263e13be132e655695e015d64d"><div class="ttname"><a href="ecp2__BLS461_8h.html#a6bed90263e13be132e655695e015d64d">ECP2_BLS461_neg</a></div><div class="ttdeci">void ECP2_BLS461_neg(ECP2_BLS461 *P)</div><div class="ttdoc">Negation of an ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:294</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_af82571f9a177ce46408d9afabeec6f0f"><div class="ttname"><a href="ecp2__BLS461_8h.html#af82571f9a177ce46408d9afabeec6f0f">ECP2_BLS461_isinf</a></div><div class="ttdeci">int ECP2_BLS461_isinf(ECP2_BLS461 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:25</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_ae9936f3e52d5d7af7019f5ac6c3e0f33"><div class="ttname"><a href="ecp2__BLS461_8h.html#ae9936f3e52d5d7af7019f5ac6c3e0f33">ECP2_BLS461_toOctet</a></div><div class="ttdeci">void ECP2_BLS461_toOctet(octet *S, ECP2_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:179</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html_aa86d78ad4a3eee288fee6f3095d58922"><div class="ttname"><a href="ecp2__BLS461_8h.html#aa86d78ad4a3eee288fee6f3095d58922">ECP2_BLS461_equals</a></div><div class="ttdeci">int ECP2_BLS461_equals(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:89</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_a6bed90263e13be132e655695e015d64d"><div class="ttname"><a href="ecp2__BLS461_8h.html#a6bed90263e13be132e655695e015d64d">ECP2_BLS461_neg</a></div><div class="ttdeci">void ECP2_BLS461_neg(ECP2_BLS461 *P)</div><div class="ttdoc">Negation of an ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:294</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_af82571f9a177ce46408d9afabeec6f0f"><div class="ttname"><a href="ecp2__BLS461_8h.html#af82571f9a177ce46408d9afabeec6f0f">ECP2_BLS461_isinf</a></div><div class="ttdeci">int ECP2_BLS461_isinf(ECP2_BLS461 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:25</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_ae9936f3e52d5d7af7019f5ac6c3e0f33"><div class="ttname"><a href="ecp2__BLS461_8h.html#ae9936f3e52d5d7af7019f5ac6c3e0f33">ECP2_BLS461_toOctet</a></div><div class="ttdeci">void ECP2_BLS461_toOctet(octet *S, ECP2_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:179</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html_aa86d78ad4a3eee288fee6f3095d58922"><div class="ttname"><a href="ecp2__BLS461_8h.html#aa86d78ad4a3eee288fee6f3095d58922">ECP2_BLS461_equals</a></div><div class="ttdeci">int ECP2_BLS461_equals(ECP2_BLS461 *P, ECP2_BLS461 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.c:89</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/ecp2__BN254CX_8h.html b/website/static/cdocs/ecp2__BN254CX_8h.html
index 998f68b..77f4647 100644
--- a/website/static/cdocs/ecp2__BN254CX_8h.html
+++ b/website/static/cdocs/ecp2__BN254CX_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: ecp2_BN254CX.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"
@@ -1114,7 +1117,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/ecp2__BN254CX_8h_source.html b/website/static/cdocs/ecp2__BN254CX_8h_source.html
index fafbf8a..e3b03ab 100644
--- a/website/static/cdocs/ecp2__BN254CX_8h_source.html
+++ b/website/static/cdocs/ecp2__BN254CX_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: ecp2_BN254CX.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,56 +72,56 @@
 <div class="title">ecp2_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp2__BN254CX_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 ECP2_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BN254CX_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 &quot;<a class="code" href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html#ab219bba3e5c8fa4fa6c781d2bca8cd91">   40</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structECP2__BN254CX.html#ab219bba3e5c8fa4fa6c781d2bca8cd91">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html#ad8e724504853deaf78e1b022d33f0efc">   41</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structECP2__BN254CX.html#ad8e724504853deaf78e1b022d33f0efc">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html#acba8c9fb3c17e39d8c8761e17a7e595e">   42</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structECP2__BN254CX.html#acba8c9fb3c17e39d8c8761e17a7e595e">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#afac5736c431d7fe10767546c82144cab">CURVE_A_BN254CX</a>;               </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ada76eb3346ca4c61d0f0a579ebc200c1">CURVE_B_I_BN254CX</a>;             </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#acc1122309d3b865c8b2c583ef2bc8cf6">CURVE_B_BN254CX</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a24e56e7627aedba9f52dce21f1e46104">CURVE_Order_BN254CX</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a3bacf661cb5035efdbb89ec6d0681d61">CURVE_Cof_BN254CX</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a7cbfa3f292d2e2a7855b9b5193fad43f">CURVE_Gx_BN254CX</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#afd5a19ef23281b022305b38cfc575743">CURVE_Gy_BN254CX</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a5b91d313e6708f319d9ae1afdc808f17">CURVE_Pxa_BN254CX</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a8597fc07af6bff2c2e1c4c1df18c78d4">CURVE_Pxb_BN254CX</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a373e2c6b7a96714624d46dcba44d2175">CURVE_Pya_BN254CX</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a94d683888f5b67525ec1117f9e7896e7">CURVE_Pyb_BN254CX</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ade38f8875b93f9bc0ef934d7b7b672b7">ECP2_BN254CX_isinf</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#aa53e6a1648820ecbd21de3009a2df2f4">ECP2_BN254CX_copy</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a5a82b78fa5d79098c28edca85973a4b3">ECP2_BN254CX_inf</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#a83a109ca6d1c96bf430a107cc6245af4">ECP2_BN254CX_equals</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</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="ecp2__BN254CX_8h.html#a2af5c7561812eb45f837002121fa4a91">ECP2_BN254CX_affine</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ab8eaebc8dd24ecbd4395d5d6122c6e44">ECP2_BN254CX_get</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a22781ceb0a2b081e302f58aecfdeaf5b">ECP2_BN254CX_output</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#af59b3dd5e17ec40dab2158e595c91e6d">ECP2_BN254CX_outputxyz</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#aa52393fe6523e5d9449d4f76b7034ceb">ECP2_BN254CX_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#a68c1130df3dceb9c0bffdd38ed8a80e3">ECP2_BN254CX_fromOctet</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a085206554e96636608ac9475eb99b71e">ECP2_BN254CX_rhs</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *r,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ab9b31fcf7a72614e8344e9cf90a61f58">ECP2_BN254CX_set</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#a7cc91a8a153b361358775237919c1e8d">ECP2_BN254CX_setx</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</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="ecp2__BN254CX_8h.html#a6424ecb3c0947d12d548b6c49a25f903">ECP2_BN254CX_neg</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ab44c211dfbf528345bace76d024524c9">ECP2_BN254CX_dbl</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ad1ac2a2626dcd801d9a881510e914b60">ECP2_BN254CX_add</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#ad33272b8eb28acabe937720722a90160">ECP2_BN254CX_sub</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a881f86970adb59588910927d793bfb56">ECP2_BN254CX_mul</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#adfe6f2ad1bd16d236cafa9c59391cdbc">ECP2_BN254CX_frob</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *f);</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="ecp2__BN254CX_8h.html#a11c14cf03030d090769e5ee25bb0acdd">ECP2_BN254CX_mul4</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#aededcccc165bd971141f0663bdc81c1c">ECP2_BN254CX_mapit</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#ae8f56e1a8a9a8f12b02e42a0bf5df003">ECP2_BN254CX_generator</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BN254CX_8h_html_a11c14cf03030d090769e5ee25bb0acdd"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a11c14cf03030d090769e5ee25bb0acdd">ECP2_BN254CX_mul4</a></div><div class="ttdeci">void ECP2_BN254CX_mul4(ECP2_BN254CX *P, ECP2_BN254CX *Q, BIG_256_56 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3].</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a881f86970adb59588910927d793bfb56"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a881f86970adb59588910927d793bfb56">ECP2_BN254CX_mul</a></div><div class="ttdeci">void ECP2_BN254CX_mul(ECP2_BN254CX *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:455</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a5a82b78fa5d79098c28edca85973a4b3"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a5a82b78fa5d79098c28edca85973a4b3">ECP2_BN254CX_inf</a></div><div class="ttdeci">void ECP2_BN254CX_inf(ECP2_BN254CX *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:41</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_af59b3dd5e17ec40dab2158e595c91e6d"><div class="ttname"><a href="ecp2__BN254CX_8h.html#af59b3dd5e17ec40dab2158e595c91e6d">ECP2_BN254CX_outputxyz</a></div><div class="ttdeci">void ECP2_BN254CX_outputxyz(ECP2_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:159</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_ade38f8875b93f9bc0ef934d7b7b672b7"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ade38f8875b93f9bc0ef934d7b7b672b7">ECP2_BN254CX_isinf</a></div><div class="ttdeci">int ECP2_BN254CX_isinf(ECP2_BN254CX *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:25</div></div>
+<a href="ecp2__BN254CX_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 ECP2_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BN254CX_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 &quot;<a class="code" href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html#ab219bba3e5c8fa4fa6c781d2bca8cd91">   40</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structECP2__BN254CX.html#ab219bba3e5c8fa4fa6c781d2bca8cd91">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html#ad8e724504853deaf78e1b022d33f0efc">   41</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structECP2__BN254CX.html#ad8e724504853deaf78e1b022d33f0efc">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BN254CX.html#acba8c9fb3c17e39d8c8761e17a7e595e">   42</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structECP2__BN254CX.html#acba8c9fb3c17e39d8c8761e17a7e595e">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#afac5736c431d7fe10767546c82144cab">CURVE_A_BN254CX</a>;       </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ada76eb3346ca4c61d0f0a579ebc200c1">CURVE_B_I_BN254CX</a>;     </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#acc1122309d3b865c8b2c583ef2bc8cf6">CURVE_B_BN254CX</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a24e56e7627aedba9f52dce21f1e46104">CURVE_Order_BN254CX</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a3bacf661cb5035efdbb89ec6d0681d61">CURVE_Cof_BN254CX</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a7cbfa3f292d2e2a7855b9b5193fad43f">CURVE_Gx_BN254CX</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#afd5a19ef23281b022305b38cfc575743">CURVE_Gy_BN254CX</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a5b91d313e6708f319d9ae1afdc808f17">CURVE_Pxa_BN254CX</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a8597fc07af6bff2c2e1c4c1df18c78d4">CURVE_Pxb_BN254CX</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a373e2c6b7a96714624d46dcba44d2175">CURVE_Pya_BN254CX</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254CX_8h.html#a94d683888f5b67525ec1117f9e7896e7">CURVE_Pyb_BN254CX</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ade38f8875b93f9bc0ef934d7b7b672b7">ECP2_BN254CX_isinf</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#aa53e6a1648820ecbd21de3009a2df2f4">ECP2_BN254CX_copy</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a5a82b78fa5d79098c28edca85973a4b3">ECP2_BN254CX_inf</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#a83a109ca6d1c96bf430a107cc6245af4">ECP2_BN254CX_equals</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</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="ecp2__BN254CX_8h.html#a2af5c7561812eb45f837002121fa4a91">ECP2_BN254CX_affine</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ab8eaebc8dd24ecbd4395d5d6122c6e44">ECP2_BN254CX_get</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a22781ceb0a2b081e302f58aecfdeaf5b">ECP2_BN254CX_output</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#af59b3dd5e17ec40dab2158e595c91e6d">ECP2_BN254CX_outputxyz</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#aa52393fe6523e5d9449d4f76b7034ceb">ECP2_BN254CX_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#a68c1130df3dceb9c0bffdd38ed8a80e3">ECP2_BN254CX_fromOctet</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a085206554e96636608ac9475eb99b71e">ECP2_BN254CX_rhs</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *r,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ab9b31fcf7a72614e8344e9cf90a61f58">ECP2_BN254CX_set</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#a7cc91a8a153b361358775237919c1e8d">ECP2_BN254CX_setx</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</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="ecp2__BN254CX_8h.html#a6424ecb3c0947d12d548b6c49a25f903">ECP2_BN254CX_neg</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ab44c211dfbf528345bace76d024524c9">ECP2_BN254CX_dbl</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254CX_8h.html#ad1ac2a2626dcd801d9a881510e914b60">ECP2_BN254CX_add</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#ad33272b8eb28acabe937720722a90160">ECP2_BN254CX_sub</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#a881f86970adb59588910927d793bfb56">ECP2_BN254CX_mul</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#adfe6f2ad1bd16d236cafa9c59391cdbc">ECP2_BN254CX_frob</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *f);</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="ecp2__BN254CX_8h.html#a11c14cf03030d090769e5ee25bb0acdd">ECP2_BN254CX_mul4</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#aededcccc165bd971141f0663bdc81c1c">ECP2_BN254CX_mapit</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254CX_8h.html#ae8f56e1a8a9a8f12b02e42a0bf5df003">ECP2_BN254CX_generator</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BN254CX_8h_html_a11c14cf03030d090769e5ee25bb0acdd"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a11c14cf03030d090769e5ee25bb0acdd">ECP2_BN254CX_mul4</a></div><div class="ttdeci">void ECP2_BN254CX_mul4(ECP2_BN254CX *P, ECP2_BN254CX *Q, BIG_256_56 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3]. </div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a881f86970adb59588910927d793bfb56"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a881f86970adb59588910927d793bfb56">ECP2_BN254CX_mul</a></div><div class="ttdeci">void ECP2_BN254CX_mul(ECP2_BN254CX *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:455</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a5a82b78fa5d79098c28edca85973a4b3"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a5a82b78fa5d79098c28edca85973a4b3">ECP2_BN254CX_inf</a></div><div class="ttdeci">void ECP2_BN254CX_inf(ECP2_BN254CX *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:41</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_af59b3dd5e17ec40dab2158e595c91e6d"><div class="ttname"><a href="ecp2__BN254CX_8h.html#af59b3dd5e17ec40dab2158e595c91e6d">ECP2_BN254CX_outputxyz</a></div><div class="ttdeci">void ECP2_BN254CX_outputxyz(ECP2_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:159</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_ade38f8875b93f9bc0ef934d7b7b672b7"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ade38f8875b93f9bc0ef934d7b7b672b7">ECP2_BN254CX_isinf</a></div><div class="ttdeci">int ECP2_BN254CX_isinf(ECP2_BN254CX *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:25</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_afd5a19ef23281b022305b38cfc575743"><div class="ttname"><a href="ecp2__BN254CX_8h.html#afd5a19ef23281b022305b38cfc575743">CURVE_Gy_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_BN254CX</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_ad1ac2a2626dcd801d9a881510e914b60"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ad1ac2a2626dcd801d9a881510e914b60">ECP2_BN254CX_add</a></div><div class="ttdeci">int ECP2_BN254CX_add(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:358</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_aa52393fe6523e5d9449d4f76b7034ceb"><div class="ttname"><a href="ecp2__BN254CX_8h.html#aa52393fe6523e5d9449d4f76b7034ceb">ECP2_BN254CX_toOctet</a></div><div class="ttdeci">void ECP2_BN254CX_toOctet(octet *S, ECP2_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:179</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_ad1ac2a2626dcd801d9a881510e914b60"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ad1ac2a2626dcd801d9a881510e914b60">ECP2_BN254CX_add</a></div><div class="ttdeci">int ECP2_BN254CX_add(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:358</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_aa52393fe6523e5d9449d4f76b7034ceb"><div class="ttname"><a href="ecp2__BN254CX_8h.html#aa52393fe6523e5d9449d4f76b7034ceb">ECP2_BN254CX_toOctet</a></div><div class="ttdeci">void ECP2_BN254CX_toOctet(octet *S, ECP2_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:179</div></div>
 <div class="ttc" id="structECP2__BN254CX_html_ad8e724504853deaf78e1b022d33f0efc"><div class="ttname"><a href="structECP2__BN254CX.html#ad8e724504853deaf78e1b022d33f0efc">ECP2_BN254CX::y</a></div><div class="ttdeci">FP2_BN254CX y</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.h:41</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a7deaf9d8c32aa462bc43f85a3a360c05"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_BN254CX</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a6424ecb3c0947d12d548b6c49a25f903"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a6424ecb3c0947d12d548b6c49a25f903">ECP2_BN254CX_neg</a></div><div class="ttdeci">void ECP2_BN254CX_neg(ECP2_BN254CX *P)</div><div class="ttdoc">Negation of an ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:294</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="ecp2__BN254CX_8h_html_a6424ecb3c0947d12d548b6c49a25f903"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a6424ecb3c0947d12d548b6c49a25f903">ECP2_BN254CX_neg</a></div><div class="ttdeci">void ECP2_BN254CX_neg(ECP2_BN254CX *P)</div><div class="ttdoc">Negation of an ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:294</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="ecp2__BN254CX_8h_html_a5b91d313e6708f319d9ae1afdc808f17"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a5b91d313e6708f319d9ae1afdc808f17">CURVE_Pxa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_BN254CX</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a22781ceb0a2b081e302f58aecfdeaf5b"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a22781ceb0a2b081e302f58aecfdeaf5b">ECP2_BN254CX_output</a></div><div class="ttdeci">void ECP2_BN254CX_output(ECP2_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:142</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a68c1130df3dceb9c0bffdd38ed8a80e3"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a68c1130df3dceb9c0bffdd38ed8a80e3">ECP2_BN254CX_fromOctet</a></div><div class="ttdeci">int ECP2_BN254CX_fromOctet(ECP2_BN254CX *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:200</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a22781ceb0a2b081e302f58aecfdeaf5b"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a22781ceb0a2b081e302f58aecfdeaf5b">ECP2_BN254CX_output</a></div><div class="ttdeci">void ECP2_BN254CX_output(ECP2_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:142</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a68c1130df3dceb9c0bffdd38ed8a80e3"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a68c1130df3dceb9c0bffdd38ed8a80e3">ECP2_BN254CX_fromOctet</a></div><div class="ttdeci">int ECP2_BN254CX_fromOctet(ECP2_BN254CX *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:200</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a8597fc07af6bff2c2e1c4c1df18c78d4"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a8597fc07af6bff2c2e1c4c1df18c78d4">CURVE_Pxb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_BN254CX</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a7cbfa3f292d2e2a7855b9b5193fad43f"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a7cbfa3f292d2e2a7855b9b5193fad43f">CURVE_Gx_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_BN254CX</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a2af5c7561812eb45f837002121fa4a91"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a2af5c7561812eb45f837002121fa4a91">ECP2_BN254CX_affine</a></div><div class="ttdeci">void ECP2_BN254CX_affine(ECP2_BN254CX *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:105</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_ab8eaebc8dd24ecbd4395d5d6122c6e44"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ab8eaebc8dd24ecbd4395d5d6122c6e44">ECP2_BN254CX_get</a></div><div class="ttdeci">int ECP2_BN254CX_get(FP2_BN254CX *x, FP2_BN254CX *y, ECP2_BN254CX *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:129</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_ad33272b8eb28acabe937720722a90160"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ad33272b8eb28acabe937720722a90160">ECP2_BN254CX_sub</a></div><div class="ttdeci">void ECP2_BN254CX_sub(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:445</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a085206554e96636608ac9475eb99b71e"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a085206554e96636608ac9475eb99b71e">ECP2_BN254CX_rhs</a></div><div class="ttdeci">void ECP2_BN254CX_rhs(FP2_BN254CX *r, FP2_BN254CX *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:219</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html"><div class="ttname"><a href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a2af5c7561812eb45f837002121fa4a91"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a2af5c7561812eb45f837002121fa4a91">ECP2_BN254CX_affine</a></div><div class="ttdeci">void ECP2_BN254CX_affine(ECP2_BN254CX *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:105</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_ab8eaebc8dd24ecbd4395d5d6122c6e44"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ab8eaebc8dd24ecbd4395d5d6122c6e44">ECP2_BN254CX_get</a></div><div class="ttdeci">int ECP2_BN254CX_get(FP2_BN254CX *x, FP2_BN254CX *y, ECP2_BN254CX *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:129</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_ad33272b8eb28acabe937720722a90160"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ad33272b8eb28acabe937720722a90160">ECP2_BN254CX_sub</a></div><div class="ttdeci">void ECP2_BN254CX_sub(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:445</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a085206554e96636608ac9475eb99b71e"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a085206554e96636608ac9475eb99b71e">ECP2_BN254CX_rhs</a></div><div class="ttdeci">void ECP2_BN254CX_rhs(FP2_BN254CX *r, FP2_BN254CX *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:219</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html"><div class="ttname"><a href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_afac5736c431d7fe10767546c82144cab"><div class="ttname"><a href="ecp2__BN254CX_8h.html#afac5736c431d7fe10767546c82144cab">CURVE_A_BN254CX</a></div><div class="ttdeci">const int CURVE_A_BN254CX</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_ab44c211dfbf528345bace76d024524c9"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ab44c211dfbf528345bace76d024524c9">ECP2_BN254CX_dbl</a></div><div class="ttdeci">int ECP2_BN254CX_dbl(ECP2_BN254CX *P)</div><div class="ttdoc">Doubles an ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:304</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_adfe6f2ad1bd16d236cafa9c59391cdbc"><div class="ttname"><a href="ecp2__BN254CX_8h.html#adfe6f2ad1bd16d236cafa9c59391cdbc">ECP2_BN254CX_frob</a></div><div class="ttdeci">void ECP2_BN254CX_frob(ECP2_BN254CX *P, FP2_BN254CX *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:518</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a7cc91a8a153b361358775237919c1e8d"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a7cc91a8a153b361358775237919c1e8d">ECP2_BN254CX_setx</a></div><div class="ttdeci">int ECP2_BN254CX_setx(ECP2_BN254CX *P, FP2_BN254CX *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:275</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_ab44c211dfbf528345bace76d024524c9"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ab44c211dfbf528345bace76d024524c9">ECP2_BN254CX_dbl</a></div><div class="ttdeci">int ECP2_BN254CX_dbl(ECP2_BN254CX *P)</div><div class="ttdoc">Doubles an ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:304</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_adfe6f2ad1bd16d236cafa9c59391cdbc"><div class="ttname"><a href="ecp2__BN254CX_8h.html#adfe6f2ad1bd16d236cafa9c59391cdbc">ECP2_BN254CX_frob</a></div><div class="ttdeci">void ECP2_BN254CX_frob(ECP2_BN254CX *P, FP2_BN254CX *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f...</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:518</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a7cc91a8a153b361358775237919c1e8d"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a7cc91a8a153b361358775237919c1e8d">ECP2_BN254CX_setx</a></div><div class="ttdeci">int ECP2_BN254CX_setx(ECP2_BN254CX *P, FP2_BN254CX *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:275</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a24e56e7627aedba9f52dce21f1e46104"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a24e56e7627aedba9f52dce21f1e46104">CURVE_Order_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_BN254CX</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a6faf844be96d5ff48e3ae1d8b0c75830"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a></div><div class="ttdeci">const BIG_256_56 Fra_BN254CX</div></div>
 <div class="ttc" id="structECP2__BN254CX_html_acba8c9fb3c17e39d8c8761e17a7e595e"><div class="ttname"><a href="structECP2__BN254CX.html#acba8c9fb3c17e39d8c8761e17a7e595e">ECP2_BN254CX::z</a></div><div class="ttdeci">FP2_BN254CX z</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.h:42</div></div>
 <div class="ttc" id="structECP2__BN254CX_html_ab219bba3e5c8fa4fa6c781d2bca8cd91"><div class="ttname"><a href="structECP2__BN254CX.html#ab219bba3e5c8fa4fa6c781d2bca8cd91">ECP2_BN254CX::x</a></div><div class="ttdeci">FP2_BN254CX x</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.h:40</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_a83a109ca6d1c96bf430a107cc6245af4"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a83a109ca6d1c96bf430a107cc6245af4">ECP2_BN254CX_equals</a></div><div class="ttdeci">int ECP2_BN254CX_equals(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Tests for equality of two ECP2s.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:89</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_a83a109ca6d1c96bf430a107cc6245af4"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a83a109ca6d1c96bf430a107cc6245af4">ECP2_BN254CX_equals</a></div><div class="ttdeci">int ECP2_BN254CX_equals(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Tests for equality of two ECP2s. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:89</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_acc1122309d3b865c8b2c583ef2bc8cf6"><div class="ttname"><a href="ecp2__BN254CX_8h.html#acc1122309d3b865c8b2c583ef2bc8cf6">CURVE_B_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_BN254CX</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_ada76eb3346ca4c61d0f0a579ebc200c1"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ada76eb3346ca4c61d0f0a579ebc200c1">CURVE_B_I_BN254CX</a></div><div class="ttdeci">const int CURVE_B_I_BN254CX</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_aededcccc165bd971141f0663bdc81c1c"><div class="ttname"><a href="ecp2__BN254CX_8h.html#aededcccc165bd971141f0663bdc81c1c">ECP2_BN254CX_mapit</a></div><div class="ttdeci">void ECP2_BN254CX_mapit(ECP2_BN254CX *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:625</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_aededcccc165bd971141f0663bdc81c1c"><div class="ttname"><a href="ecp2__BN254CX_8h.html#aededcccc165bd971141f0663bdc81c1c">ECP2_BN254CX_mapit</a></div><div class="ttdeci">void ECP2_BN254CX_mapit(ECP2_BN254CX *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:625</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="structECP2__BN254CX_html"><div class="ttname"><a href="structECP2__BN254CX.html">ECP2_BN254CX</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.h:37</div></div>
+<div class="ttc" id="structECP2__BN254CX_html"><div class="ttname"><a href="structECP2__BN254CX.html">ECP2_BN254CX</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.h:37</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a373e2c6b7a96714624d46dcba44d2175"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a373e2c6b7a96714624d46dcba44d2175">CURVE_Pya_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_BN254CX</div></div>
-<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
+<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a17fa2a380fb640a2993fabf146be444b"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 Frb_BN254CX</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a3bacf661cb5035efdbb89ec6d0681d61"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a3bacf661cb5035efdbb89ec6d0681d61">CURVE_Cof_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_BN254CX</div></div>
 <div class="ttc" id="ecp2__BN254CX_8h_html_a94d683888f5b67525ec1117f9e7896e7"><div class="ttname"><a href="ecp2__BN254CX_8h.html#a94d683888f5b67525ec1117f9e7896e7">CURVE_Pyb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_BN254CX</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_ae8f56e1a8a9a8f12b02e42a0bf5df003"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ae8f56e1a8a9a8f12b02e42a0bf5df003">ECP2_BN254CX_generator</a></div><div class="ttdeci">void ECP2_BN254CX_generator(ECP2_BN254CX *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:714</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_aa53e6a1648820ecbd21de3009a2df2f4"><div class="ttname"><a href="ecp2__BN254CX_8h.html#aa53e6a1648820ecbd21de3009a2df2f4">ECP2_BN254CX_copy</a></div><div class="ttdeci">void ECP2_BN254CX_copy(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:32</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html_ab9b31fcf7a72614e8344e9cf90a61f58"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ab9b31fcf7a72614e8344e9cf90a61f58">ECP2_BN254CX_set</a></div><div class="ttdeci">int ECP2_BN254CX_set(ECP2_BN254CX *P, FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:253</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_ae8f56e1a8a9a8f12b02e42a0bf5df003"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ae8f56e1a8a9a8f12b02e42a0bf5df003">ECP2_BN254CX_generator</a></div><div class="ttdeci">void ECP2_BN254CX_generator(ECP2_BN254CX *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:714</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_aa53e6a1648820ecbd21de3009a2df2f4"><div class="ttname"><a href="ecp2__BN254CX_8h.html#aa53e6a1648820ecbd21de3009a2df2f4">ECP2_BN254CX_copy</a></div><div class="ttdeci">void ECP2_BN254CX_copy(ECP2_BN254CX *P, ECP2_BN254CX *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:32</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html_ab9b31fcf7a72614e8344e9cf90a61f58"><div class="ttname"><a href="ecp2__BN254CX_8h.html#ab9b31fcf7a72614e8344e9cf90a61f58">ECP2_BN254CX_set</a></div><div class="ttdeci">int ECP2_BN254CX_set(ECP2_BN254CX *P, FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.c:253</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/ecp2__BN254_8h.html b/website/static/cdocs/ecp2__BN254_8h.html
index d0c244e..6b5bd75 100644
--- a/website/static/cdocs/ecp2__BN254_8h.html
+++ b/website/static/cdocs/ecp2__BN254_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: ecp2_BN254.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"
@@ -1114,7 +1117,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/ecp2__BN254_8h_source.html b/website/static/cdocs/ecp2__BN254_8h_source.html
index dc3981b..3e6fae5 100644
--- a/website/static/cdocs/ecp2__BN254_8h_source.html
+++ b/website/static/cdocs/ecp2__BN254_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: ecp2_BN254.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,48 +72,48 @@
 <div class="title">ecp2_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp2__BN254_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 ECP2_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BN254_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 &quot;<a class="code" href="fp2__BN254_8h.html">fp2_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BN254.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BN254.html#a633afc8d493db0e783a367dfee54af09">   40</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structECP2__BN254.html#a633afc8d493db0e783a367dfee54af09">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BN254.html#a1246b38f4143fdb63493ecd16804df47">   41</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structECP2__BN254.html#a1246b38f4143fdb63493ecd16804df47">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BN254.html#a337720a42e224384e888ea6781ada18c">   42</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structECP2__BN254.html#a337720a42e224384e888ea6781ada18c">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BN254.html">ECP2_BN254</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a17e7d485f5ec421e3f67ff3b94788479">CURVE_A_BN254</a>;         </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#ae9fb62302ecdbc0e758515f5eb949ab4">CURVE_B_I_BN254</a>;               </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a74273c1fde193ac042ae38d12554ea22">CURVE_B_BN254</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#abb2d701c7552c970f25f8047c105d25b">CURVE_Order_BN254</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#ab4efa5228d54f90b5476fa92e1548538">CURVE_Cof_BN254</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a17a02d1c46592b601745f60eee50305f">CURVE_Gx_BN254</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a952fba8aa78ec6c68fbfa44ad59f330c">CURVE_Gy_BN254</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a1c193b9c65acb159adea021f1bb59e1d">CURVE_Pxa_BN254</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a836b37b410224115373eef28412171d1">CURVE_Pxb_BN254</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a564168fc10e24cad9f57bab976a0e3d4">CURVE_Pya_BN254</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a09da60900ce4878f1ddbe298cc77042f">CURVE_Pyb_BN254</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a33085074d0751b05853f167d3db8d147">ECP2_BN254_isinf</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#ad8874e2a045c086ff06378f411bdea2c">ECP2_BN254_copy</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a1b8b66f30bf8180c9b9ce13cabef8ed5">ECP2_BN254_inf</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#ab658828ec441b7eb2ba3f0bb91e22f81">ECP2_BN254_equals</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</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="ecp2__BN254_8h.html#ad2e84b0df8d7a0d047e6df8f9139a406">ECP2_BN254_affine</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a35c106e8fe281774fa98c87d2d45083c">ECP2_BN254_get</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a4ed476f4bbbaa8127ca0ca031048c04d">ECP2_BN254_output</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a7848eccea1a8b56906a979cda7c3c0c9">ECP2_BN254_outputxyz</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a8a7d59f3d5012616915282f8029e823a">ECP2_BN254_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a407091af8011693640727e5ee15ada96">ECP2_BN254_fromOctet</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a6cf3f2bf367499bb8b9897deebbb1809">ECP2_BN254_rhs</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *r,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a46360b68aacd3e91e7fa741afba6072f">ECP2_BN254_set</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a06918d1705760b4b067e3265a3415924">ECP2_BN254_setx</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</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="ecp2__BN254_8h.html#a6b07cb8e5b2c708db3e83c045ac71a30">ECP2_BN254_neg</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a8121a4f4f8d449069905cb4ebfe9ca84">ECP2_BN254_dbl</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a936f6bb068aa0ce533e6dc51b56f7786">ECP2_BN254_add</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a645aa7bbf498d23b31c8dcb64621146c">ECP2_BN254_sub</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#aab6d595eee28622b5e6ae9012ae669a0">ECP2_BN254_mul</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a211e966c3b60d75f3ffc37bd0275aae0">ECP2_BN254_frob</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *f);</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="ecp2__BN254_8h.html#ab1680fe55ba7f579a15dcd00e4191c2f">ECP2_BN254_mul4</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a7e5df7fb6c349319280abd3d8ebf1be2">ECP2_BN254_mapit</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a1ff46dbafe3bd6d23311134697672f10">ECP2_BN254_generator</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BN254_8h_html_a46360b68aacd3e91e7fa741afba6072f"><div class="ttname"><a href="ecp2__BN254_8h.html#a46360b68aacd3e91e7fa741afba6072f">ECP2_BN254_set</a></div><div class="ttdeci">int ECP2_BN254_set(ECP2_BN254 *P, FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:253</div></div>
+<a href="ecp2__BN254_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 ECP2_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_BN254_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 &quot;<a class="code" href="fp2__BN254_8h.html">fp2_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__BN254.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__BN254.html#a633afc8d493db0e783a367dfee54af09">   40</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structECP2__BN254.html#a633afc8d493db0e783a367dfee54af09">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__BN254.html#a1246b38f4143fdb63493ecd16804df47">   41</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structECP2__BN254.html#a1246b38f4143fdb63493ecd16804df47">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__BN254.html#a337720a42e224384e888ea6781ada18c">   42</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structECP2__BN254.html#a337720a42e224384e888ea6781ada18c">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__BN254.html">ECP2_BN254</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a17e7d485f5ec421e3f67ff3b94788479">CURVE_A_BN254</a>;     </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#ae9fb62302ecdbc0e758515f5eb949ab4">CURVE_B_I_BN254</a>;       </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a74273c1fde193ac042ae38d12554ea22">CURVE_B_BN254</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#abb2d701c7552c970f25f8047c105d25b">CURVE_Order_BN254</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#ab4efa5228d54f90b5476fa92e1548538">CURVE_Cof_BN254</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a17a02d1c46592b601745f60eee50305f">CURVE_Gx_BN254</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a952fba8aa78ec6c68fbfa44ad59f330c">CURVE_Gy_BN254</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a1c193b9c65acb159adea021f1bb59e1d">CURVE_Pxa_BN254</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a836b37b410224115373eef28412171d1">CURVE_Pxb_BN254</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a564168fc10e24cad9f57bab976a0e3d4">CURVE_Pya_BN254</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__BN254_8h.html#a09da60900ce4878f1ddbe298cc77042f">CURVE_Pyb_BN254</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a33085074d0751b05853f167d3db8d147">ECP2_BN254_isinf</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#ad8874e2a045c086ff06378f411bdea2c">ECP2_BN254_copy</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a1b8b66f30bf8180c9b9ce13cabef8ed5">ECP2_BN254_inf</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#ab658828ec441b7eb2ba3f0bb91e22f81">ECP2_BN254_equals</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</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="ecp2__BN254_8h.html#ad2e84b0df8d7a0d047e6df8f9139a406">ECP2_BN254_affine</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a35c106e8fe281774fa98c87d2d45083c">ECP2_BN254_get</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a4ed476f4bbbaa8127ca0ca031048c04d">ECP2_BN254_output</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a7848eccea1a8b56906a979cda7c3c0c9">ECP2_BN254_outputxyz</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a8a7d59f3d5012616915282f8029e823a">ECP2_BN254_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a407091af8011693640727e5ee15ada96">ECP2_BN254_fromOctet</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a6cf3f2bf367499bb8b9897deebbb1809">ECP2_BN254_rhs</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *r,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a46360b68aacd3e91e7fa741afba6072f">ECP2_BN254_set</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a06918d1705760b4b067e3265a3415924">ECP2_BN254_setx</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</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="ecp2__BN254_8h.html#a6b07cb8e5b2c708db3e83c045ac71a30">ECP2_BN254_neg</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a8121a4f4f8d449069905cb4ebfe9ca84">ECP2_BN254_dbl</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__BN254_8h.html#a936f6bb068aa0ce533e6dc51b56f7786">ECP2_BN254_add</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a645aa7bbf498d23b31c8dcb64621146c">ECP2_BN254_sub</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#aab6d595eee28622b5e6ae9012ae669a0">ECP2_BN254_mul</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a211e966c3b60d75f3ffc37bd0275aae0">ECP2_BN254_frob</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *f);</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="ecp2__BN254_8h.html#ab1680fe55ba7f579a15dcd00e4191c2f">ECP2_BN254_mul4</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a7e5df7fb6c349319280abd3d8ebf1be2">ECP2_BN254_mapit</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__BN254_8h.html#a1ff46dbafe3bd6d23311134697672f10">ECP2_BN254_generator</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__BN254_8h_html_a46360b68aacd3e91e7fa741afba6072f"><div class="ttname"><a href="ecp2__BN254_8h.html#a46360b68aacd3e91e7fa741afba6072f">ECP2_BN254_set</a></div><div class="ttdeci">int ECP2_BN254_set(ECP2_BN254 *P, FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:253</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a17a02d1c46592b601745f60eee50305f"><div class="ttname"><a href="ecp2__BN254_8h.html#a17a02d1c46592b601745f60eee50305f">CURVE_Gx_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a06918d1705760b4b067e3265a3415924"><div class="ttname"><a href="ecp2__BN254_8h.html#a06918d1705760b4b067e3265a3415924">ECP2_BN254_setx</a></div><div class="ttdeci">int ECP2_BN254_setx(ECP2_BN254 *P, FP2_BN254 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:275</div></div>
-<div class="ttc" id="structECP2__BN254_html"><div class="ttname"><a href="structECP2__BN254.html">ECP2_BN254</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.h:37</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a8121a4f4f8d449069905cb4ebfe9ca84"><div class="ttname"><a href="ecp2__BN254_8h.html#a8121a4f4f8d449069905cb4ebfe9ca84">ECP2_BN254_dbl</a></div><div class="ttdeci">int ECP2_BN254_dbl(ECP2_BN254 *P)</div><div class="ttdoc">Doubles an ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:304</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a06918d1705760b4b067e3265a3415924"><div class="ttname"><a href="ecp2__BN254_8h.html#a06918d1705760b4b067e3265a3415924">ECP2_BN254_setx</a></div><div class="ttdeci">int ECP2_BN254_setx(ECP2_BN254 *P, FP2_BN254 *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:275</div></div>
+<div class="ttc" id="structECP2__BN254_html"><div class="ttname"><a href="structECP2__BN254.html">ECP2_BN254</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.h:37</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a8121a4f4f8d449069905cb4ebfe9ca84"><div class="ttname"><a href="ecp2__BN254_8h.html#a8121a4f4f8d449069905cb4ebfe9ca84">ECP2_BN254_dbl</a></div><div class="ttdeci">int ECP2_BN254_dbl(ECP2_BN254 *P)</div><div class="ttdoc">Doubles an ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:304</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a564168fc10e24cad9f57bab976a0e3d4"><div class="ttname"><a href="ecp2__BN254_8h.html#a564168fc10e24cad9f57bab976a0e3d4">CURVE_Pya_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_BN254</div></div>
-<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a7e5df7fb6c349319280abd3d8ebf1be2"><div class="ttname"><a href="ecp2__BN254_8h.html#a7e5df7fb6c349319280abd3d8ebf1be2">ECP2_BN254_mapit</a></div><div class="ttdeci">void ECP2_BN254_mapit(ECP2_BN254 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:625</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a4ed476f4bbbaa8127ca0ca031048c04d"><div class="ttname"><a href="ecp2__BN254_8h.html#a4ed476f4bbbaa8127ca0ca031048c04d">ECP2_BN254_output</a></div><div class="ttdeci">void ECP2_BN254_output(ECP2_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:142</div></div>
+<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a7e5df7fb6c349319280abd3d8ebf1be2"><div class="ttname"><a href="ecp2__BN254_8h.html#a7e5df7fb6c349319280abd3d8ebf1be2">ECP2_BN254_mapit</a></div><div class="ttdeci">void ECP2_BN254_mapit(ECP2_BN254 *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:625</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a4ed476f4bbbaa8127ca0ca031048c04d"><div class="ttname"><a href="ecp2__BN254_8h.html#a4ed476f4bbbaa8127ca0ca031048c04d">ECP2_BN254_output</a></div><div class="ttdeci">void ECP2_BN254_output(ECP2_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:142</div></div>
 <div class="ttc" id="structECP2__BN254_html_a633afc8d493db0e783a367dfee54af09"><div class="ttname"><a href="structECP2__BN254.html#a633afc8d493db0e783a367dfee54af09">ECP2_BN254::x</a></div><div class="ttdeci">FP2_BN254 x</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.h:40</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_ad2e84b0df8d7a0d047e6df8f9139a406"><div class="ttname"><a href="ecp2__BN254_8h.html#ad2e84b0df8d7a0d047e6df8f9139a406">ECP2_BN254_affine</a></div><div class="ttdeci">void ECP2_BN254_affine(ECP2_BN254 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:105</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a1b8b66f30bf8180c9b9ce13cabef8ed5"><div class="ttname"><a href="ecp2__BN254_8h.html#a1b8b66f30bf8180c9b9ce13cabef8ed5">ECP2_BN254_inf</a></div><div class="ttdeci">void ECP2_BN254_inf(ECP2_BN254 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:41</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_ab1680fe55ba7f579a15dcd00e4191c2f"><div class="ttname"><a href="ecp2__BN254_8h.html#ab1680fe55ba7f579a15dcd00e4191c2f">ECP2_BN254_mul4</a></div><div class="ttdeci">void ECP2_BN254_mul4(ECP2_BN254 *P, ECP2_BN254 *Q, BIG_256_56 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3].</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="ecp2__BN254_8h_html_a35c106e8fe281774fa98c87d2d45083c"><div class="ttname"><a href="ecp2__BN254_8h.html#a35c106e8fe281774fa98c87d2d45083c">ECP2_BN254_get</a></div><div class="ttdeci">int ECP2_BN254_get(FP2_BN254 *x, FP2_BN254 *y, ECP2_BN254 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:129</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_ad2e84b0df8d7a0d047e6df8f9139a406"><div class="ttname"><a href="ecp2__BN254_8h.html#ad2e84b0df8d7a0d047e6df8f9139a406">ECP2_BN254_affine</a></div><div class="ttdeci">void ECP2_BN254_affine(ECP2_BN254 *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:105</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a1b8b66f30bf8180c9b9ce13cabef8ed5"><div class="ttname"><a href="ecp2__BN254_8h.html#a1b8b66f30bf8180c9b9ce13cabef8ed5">ECP2_BN254_inf</a></div><div class="ttdeci">void ECP2_BN254_inf(ECP2_BN254 *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:41</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_ab1680fe55ba7f579a15dcd00e4191c2f"><div class="ttname"><a href="ecp2__BN254_8h.html#ab1680fe55ba7f579a15dcd00e4191c2f">ECP2_BN254_mul4</a></div><div class="ttdeci">void ECP2_BN254_mul4(ECP2_BN254 *P, ECP2_BN254 *Q, BIG_256_56 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3]. </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="ecp2__BN254_8h_html_a35c106e8fe281774fa98c87d2d45083c"><div class="ttname"><a href="ecp2__BN254_8h.html#a35c106e8fe281774fa98c87d2d45083c">ECP2_BN254_get</a></div><div class="ttdeci">int ECP2_BN254_get(FP2_BN254 *x, FP2_BN254 *y, ECP2_BN254 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:129</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a85fadba81a01e0c26213ed65cbbe7471"><div class="ttname"><a href="ecp2__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a></div><div class="ttdeci">const BIG_256_56 Frb_BN254</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a09da60900ce4878f1ddbe298cc77042f"><div class="ttname"><a href="ecp2__BN254_8h.html#a09da60900ce4878f1ddbe298cc77042f">CURVE_Pyb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_aab6d595eee28622b5e6ae9012ae669a0"><div class="ttname"><a href="ecp2__BN254_8h.html#aab6d595eee28622b5e6ae9012ae669a0">ECP2_BN254_mul</a></div><div class="ttdeci">void ECP2_BN254_mul(ECP2_BN254 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:455</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_aab6d595eee28622b5e6ae9012ae669a0"><div class="ttname"><a href="ecp2__BN254_8h.html#aab6d595eee28622b5e6ae9012ae669a0">ECP2_BN254_mul</a></div><div class="ttdeci">void ECP2_BN254_mul(ECP2_BN254 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:455</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a74273c1fde193ac042ae38d12554ea22"><div class="ttname"><a href="ecp2__BN254_8h.html#a74273c1fde193ac042ae38d12554ea22">CURVE_B_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a1ff46dbafe3bd6d23311134697672f10"><div class="ttname"><a href="ecp2__BN254_8h.html#a1ff46dbafe3bd6d23311134697672f10">ECP2_BN254_generator</a></div><div class="ttdeci">void ECP2_BN254_generator(ECP2_BN254 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:714</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a1ff46dbafe3bd6d23311134697672f10"><div class="ttname"><a href="ecp2__BN254_8h.html#a1ff46dbafe3bd6d23311134697672f10">ECP2_BN254_generator</a></div><div class="ttdeci">void ECP2_BN254_generator(ECP2_BN254 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:714</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_ae9fb62302ecdbc0e758515f5eb949ab4"><div class="ttname"><a href="ecp2__BN254_8h.html#ae9fb62302ecdbc0e758515f5eb949ab4">CURVE_B_I_BN254</a></div><div class="ttdeci">const int CURVE_B_I_BN254</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a17e7d485f5ec421e3f67ff3b94788479"><div class="ttname"><a href="ecp2__BN254_8h.html#a17e7d485f5ec421e3f67ff3b94788479">CURVE_A_BN254</a></div><div class="ttdeci">const int CURVE_A_BN254</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a891b9fda048e66408bd6d66bf41d67ea"><div class="ttname"><a href="ecp2__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a211e966c3b60d75f3ffc37bd0275aae0"><div class="ttname"><a href="ecp2__BN254_8h.html#a211e966c3b60d75f3ffc37bd0275aae0">ECP2_BN254_frob</a></div><div class="ttdeci">void ECP2_BN254_frob(ECP2_BN254 *P, FP2_BN254 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:518</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a8a7d59f3d5012616915282f8029e823a"><div class="ttname"><a href="ecp2__BN254_8h.html#a8a7d59f3d5012616915282f8029e823a">ECP2_BN254_toOctet</a></div><div class="ttdeci">void ECP2_BN254_toOctet(octet *S, ECP2_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:179</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a211e966c3b60d75f3ffc37bd0275aae0"><div class="ttname"><a href="ecp2__BN254_8h.html#a211e966c3b60d75f3ffc37bd0275aae0">ECP2_BN254_frob</a></div><div class="ttdeci">void ECP2_BN254_frob(ECP2_BN254 *P, FP2_BN254 *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f...</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:518</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a8a7d59f3d5012616915282f8029e823a"><div class="ttname"><a href="ecp2__BN254_8h.html#a8a7d59f3d5012616915282f8029e823a">ECP2_BN254_toOctet</a></div><div class="ttdeci">void ECP2_BN254_toOctet(octet *S, ECP2_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:179</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a952fba8aa78ec6c68fbfa44ad59f330c"><div class="ttname"><a href="ecp2__BN254_8h.html#a952fba8aa78ec6c68fbfa44ad59f330c">CURVE_Gy_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_ab658828ec441b7eb2ba3f0bb91e22f81"><div class="ttname"><a href="ecp2__BN254_8h.html#ab658828ec441b7eb2ba3f0bb91e22f81">ECP2_BN254_equals</a></div><div class="ttdeci">int ECP2_BN254_equals(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:89</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a6b07cb8e5b2c708db3e83c045ac71a30"><div class="ttname"><a href="ecp2__BN254_8h.html#a6b07cb8e5b2c708db3e83c045ac71a30">ECP2_BN254_neg</a></div><div class="ttdeci">void ECP2_BN254_neg(ECP2_BN254 *P)</div><div class="ttdoc">Negation of an ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:294</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_ab658828ec441b7eb2ba3f0bb91e22f81"><div class="ttname"><a href="ecp2__BN254_8h.html#ab658828ec441b7eb2ba3f0bb91e22f81">ECP2_BN254_equals</a></div><div class="ttdeci">int ECP2_BN254_equals(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Tests for equality of two ECP2s. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:89</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a6b07cb8e5b2c708db3e83c045ac71a30"><div class="ttname"><a href="ecp2__BN254_8h.html#a6b07cb8e5b2c708db3e83c045ac71a30">ECP2_BN254_neg</a></div><div class="ttdeci">void ECP2_BN254_neg(ECP2_BN254 *P)</div><div class="ttdoc">Negation of an ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:294</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a836b37b410224115373eef28412171d1"><div class="ttname"><a href="ecp2__BN254_8h.html#a836b37b410224115373eef28412171d1">CURVE_Pxb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a645aa7bbf498d23b31c8dcb64621146c"><div class="ttname"><a href="ecp2__BN254_8h.html#a645aa7bbf498d23b31c8dcb64621146c">ECP2_BN254_sub</a></div><div class="ttdeci">void ECP2_BN254_sub(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:445</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a407091af8011693640727e5ee15ada96"><div class="ttname"><a href="ecp2__BN254_8h.html#a407091af8011693640727e5ee15ada96">ECP2_BN254_fromOctet</a></div><div class="ttdeci">int ECP2_BN254_fromOctet(ECP2_BN254 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:200</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a645aa7bbf498d23b31c8dcb64621146c"><div class="ttname"><a href="ecp2__BN254_8h.html#a645aa7bbf498d23b31c8dcb64621146c">ECP2_BN254_sub</a></div><div class="ttdeci">void ECP2_BN254_sub(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:445</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a407091af8011693640727e5ee15ada96"><div class="ttname"><a href="ecp2__BN254_8h.html#a407091af8011693640727e5ee15ada96">ECP2_BN254_fromOctet</a></div><div class="ttdeci">int ECP2_BN254_fromOctet(ECP2_BN254 *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:200</div></div>
 <div class="ttc" id="structECP2__BN254_html_a1246b38f4143fdb63493ecd16804df47"><div class="ttname"><a href="structECP2__BN254.html#a1246b38f4143fdb63493ecd16804df47">ECP2_BN254::y</a></div><div class="ttdeci">FP2_BN254 y</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.h:41</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_abb2d701c7552c970f25f8047c105d25b"><div class="ttname"><a href="ecp2__BN254_8h.html#abb2d701c7552c970f25f8047c105d25b">CURVE_Order_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_BN254</div></div>
-<div class="ttc" id="fp2__BN254_8h_html"><div class="ttname"><a href="fp2__BN254_8h.html">fp2_BN254.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a33085074d0751b05853f167d3db8d147"><div class="ttname"><a href="ecp2__BN254_8h.html#a33085074d0751b05853f167d3db8d147">ECP2_BN254_isinf</a></div><div class="ttdeci">int ECP2_BN254_isinf(ECP2_BN254 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:25</div></div>
+<div class="ttc" id="fp2__BN254_8h_html"><div class="ttname"><a href="fp2__BN254_8h.html">fp2_BN254.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a33085074d0751b05853f167d3db8d147"><div class="ttname"><a href="ecp2__BN254_8h.html#a33085074d0751b05853f167d3db8d147">ECP2_BN254_isinf</a></div><div class="ttdeci">int ECP2_BN254_isinf(ECP2_BN254 *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:25</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_a1c193b9c65acb159adea021f1bb59e1d"><div class="ttname"><a href="ecp2__BN254_8h.html#a1c193b9c65acb159adea021f1bb59e1d">CURVE_Pxa_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a936f6bb068aa0ce533e6dc51b56f7786"><div class="ttname"><a href="ecp2__BN254_8h.html#a936f6bb068aa0ce533e6dc51b56f7786">ECP2_BN254_add</a></div><div class="ttdeci">int ECP2_BN254_add(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:358</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a936f6bb068aa0ce533e6dc51b56f7786"><div class="ttname"><a href="ecp2__BN254_8h.html#a936f6bb068aa0ce533e6dc51b56f7786">ECP2_BN254_add</a></div><div class="ttdeci">int ECP2_BN254_add(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:358</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_abf41342afa7230d0288d37a140d4ee9d"><div class="ttname"><a href="ecp2__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a></div><div class="ttdeci">const BIG_256_56 Fra_BN254</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_ad8874e2a045c086ff06378f411bdea2c"><div class="ttname"><a href="ecp2__BN254_8h.html#ad8874e2a045c086ff06378f411bdea2c">ECP2_BN254_copy</a></div><div class="ttdeci">void ECP2_BN254_copy(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:32</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a6cf3f2bf367499bb8b9897deebbb1809"><div class="ttname"><a href="ecp2__BN254_8h.html#a6cf3f2bf367499bb8b9897deebbb1809">ECP2_BN254_rhs</a></div><div class="ttdeci">void ECP2_BN254_rhs(FP2_BN254 *r, FP2_BN254 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:219</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html_a7848eccea1a8b56906a979cda7c3c0c9"><div class="ttname"><a href="ecp2__BN254_8h.html#a7848eccea1a8b56906a979cda7c3c0c9">ECP2_BN254_outputxyz</a></div><div class="ttdeci">void ECP2_BN254_outputxyz(ECP2_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:159</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_ad8874e2a045c086ff06378f411bdea2c"><div class="ttname"><a href="ecp2__BN254_8h.html#ad8874e2a045c086ff06378f411bdea2c">ECP2_BN254_copy</a></div><div class="ttdeci">void ECP2_BN254_copy(ECP2_BN254 *P, ECP2_BN254 *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:32</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a6cf3f2bf367499bb8b9897deebbb1809"><div class="ttname"><a href="ecp2__BN254_8h.html#a6cf3f2bf367499bb8b9897deebbb1809">ECP2_BN254_rhs</a></div><div class="ttdeci">void ECP2_BN254_rhs(FP2_BN254 *r, FP2_BN254 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:219</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html_a7848eccea1a8b56906a979cda7c3c0c9"><div class="ttname"><a href="ecp2__BN254_8h.html#a7848eccea1a8b56906a979cda7c3c0c9">ECP2_BN254_outputxyz</a></div><div class="ttdeci">void ECP2_BN254_outputxyz(ECP2_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.c:159</div></div>
 <div class="ttc" id="ecp2__BN254_8h_html_ab4efa5228d54f90b5476fa92e1548538"><div class="ttname"><a href="ecp2__BN254_8h.html#ab4efa5228d54f90b5476fa92e1548538">CURVE_Cof_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_BN254</div></div>
 <div class="ttc" id="structECP2__BN254_html_a337720a42e224384e888ea6781ada18c"><div class="ttname"><a href="structECP2__BN254.html#a337720a42e224384e888ea6781ada18c">ECP2_BN254::z</a></div><div class="ttdeci">FP2_BN254 z</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.h:42</div></div>
 </div><!-- fragment --></div><!-- contents -->
@@ -118,7 +121,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/ecp2__FP256BN_8h.html b/website/static/cdocs/ecp2__FP256BN_8h.html
index 463f1c3..7072e5a 100644
--- a/website/static/cdocs/ecp2__FP256BN_8h.html
+++ b/website/static/cdocs/ecp2__FP256BN_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: ecp2_FP256BN.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"
@@ -1114,7 +1117,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/ecp2__FP256BN_8h_source.html b/website/static/cdocs/ecp2__FP256BN_8h_source.html
index 835ba40..f14d548 100644
--- a/website/static/cdocs/ecp2__FP256BN_8h_source.html
+++ b/website/static/cdocs/ecp2__FP256BN_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: ecp2_FP256BN.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,56 +72,56 @@
 <div class="title">ecp2_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp2__FP256BN_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 ECP2_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_FP256BN_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 &quot;<a class="code" href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html#a9d55bd556b365d53a594722fbc7fad9f">   40</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structECP2__FP256BN.html#a9d55bd556b365d53a594722fbc7fad9f">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html#ac357dfbe094a211df6aa1b885da3b9d8">   41</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structECP2__FP256BN.html#ac357dfbe094a211df6aa1b885da3b9d8">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html#a1dd224695acc0039c3681c35d7f27447">   42</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structECP2__FP256BN.html#a1dd224695acc0039c3681c35d7f27447">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#ae247e96aa4eb1d756ba5e52c316b75cc">CURVE_A_FP256BN</a>;               </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a4092cb2a64eb8083d09b29ee07cc2b13">CURVE_B_I_FP256BN</a>;             </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ad106cce2734c8881d568f9452aff52cf">CURVE_B_FP256BN</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a2a4f91b86727cc0667394283192a7852">CURVE_Order_FP256BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#aa64d4803c2586aec2e4fea38c1138254">CURVE_Cof_FP256BN</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ae7a207801b2d735a0f08f6621d48b4bd">CURVE_Gx_FP256BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ada2d8d1adebfc3ab10a3ce9477a12f54">CURVE_Gy_FP256BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#adf5b16014f7adf318b84c5f8470a2345">CURVE_Pxa_FP256BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ae09e0d03e593a31cf88fd49332aeefbe">CURVE_Pxb_FP256BN</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a91227c63158baad43cb51826621ceb6d">CURVE_Pya_FP256BN</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a401cacde8cea25453122cffa6ae6ebc0">CURVE_Pyb_FP256BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a0da8f8f7aff739453e8f6bdb7445dcd6">ECP2_FP256BN_isinf</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aeba894a09df7c61da495fac30887ed0e">ECP2_FP256BN_copy</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a8808e3c011c83d8598e8dde0256d8805">ECP2_FP256BN_inf</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a99b6dd86fea3bb7f042642c95b1c8d64">ECP2_FP256BN_equals</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</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="ecp2__FP256BN_8h.html#a75c006fad23713474324ae37d7c3abdc">ECP2_FP256BN_affine</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#ac5725f920bfadfbe9c6cc58d24a99215">ECP2_FP256BN_get</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a4d1bf164759f7ce6500557af962be1cd">ECP2_FP256BN_output</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aba0e21a931155355ddcb7ad7a6bb9572">ECP2_FP256BN_outputxyz</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aa3eae30deba5456594dd9782b4fd5b9e">ECP2_FP256BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a2290298ee015357d4584be3b2f194bb0">ECP2_FP256BN_fromOctet</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#af49fe8b3c0269c5dad430231bf4d865c">ECP2_FP256BN_rhs</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *r,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a74c1ee5fcb200016b4737292edc83048">ECP2_FP256BN_set</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a5ee0e9d6e4594a8475c85666323e0ce0">ECP2_FP256BN_setx</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</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="ecp2__FP256BN_8h.html#a6ef4c2a9c598d4abdcbd15fa2258db36">ECP2_FP256BN_neg</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#ae566b3d238accee6a643c678d9c5e06a">ECP2_FP256BN_dbl</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a980727aa2e6da399144f57e9311c3786">ECP2_FP256BN_add</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aec30665b1556f574d70a044b88b4e7fd">ECP2_FP256BN_sub</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a21d5aa79622aadd4d197901de80faeff">ECP2_FP256BN_mul</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a4d367af2c0b5e5712a1e729659e8ed0d">ECP2_FP256BN_frob</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *f);</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="ecp2__FP256BN_8h.html#a2608ea4b704daa5d9544025566791430">ECP2_FP256BN_mul4</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a798c80efd5535c4200fe4f2c424ed274">ECP2_FP256BN_mapit</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#abd2e6e8e8fd0caca874c754ee4957369">ECP2_FP256BN_generator</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__FP256BN_8h_html_a0da8f8f7aff739453e8f6bdb7445dcd6"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a0da8f8f7aff739453e8f6bdb7445dcd6">ECP2_FP256BN_isinf</a></div><div class="ttdeci">int ECP2_FP256BN_isinf(ECP2_FP256BN *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:25</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a21d5aa79622aadd4d197901de80faeff"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a21d5aa79622aadd4d197901de80faeff">ECP2_FP256BN_mul</a></div><div class="ttdeci">void ECP2_FP256BN_mul(ECP2_FP256BN *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:455</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_af49fe8b3c0269c5dad430231bf4d865c"><div class="ttname"><a href="ecp2__FP256BN_8h.html#af49fe8b3c0269c5dad430231bf4d865c">ECP2_FP256BN_rhs</a></div><div class="ttdeci">void ECP2_FP256BN_rhs(FP2_FP256BN *r, FP2_FP256BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:219</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a74c1ee5fcb200016b4737292edc83048"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a74c1ee5fcb200016b4737292edc83048">ECP2_FP256BN_set</a></div><div class="ttdeci">int ECP2_FP256BN_set(ECP2_FP256BN *P, FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:253</div></div>
+<a href="ecp2__FP256BN_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 ECP2_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_FP256BN_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 &quot;<a class="code" href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html#a9d55bd556b365d53a594722fbc7fad9f">   40</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structECP2__FP256BN.html#a9d55bd556b365d53a594722fbc7fad9f">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html#ac357dfbe094a211df6aa1b885da3b9d8">   41</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structECP2__FP256BN.html#ac357dfbe094a211df6aa1b885da3b9d8">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__FP256BN.html#a1dd224695acc0039c3681c35d7f27447">   42</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structECP2__FP256BN.html#a1dd224695acc0039c3681c35d7f27447">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#ae247e96aa4eb1d756ba5e52c316b75cc">CURVE_A_FP256BN</a>;       </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a4092cb2a64eb8083d09b29ee07cc2b13">CURVE_B_I_FP256BN</a>;     </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ad106cce2734c8881d568f9452aff52cf">CURVE_B_FP256BN</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a2a4f91b86727cc0667394283192a7852">CURVE_Order_FP256BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#aa64d4803c2586aec2e4fea38c1138254">CURVE_Cof_FP256BN</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ae7a207801b2d735a0f08f6621d48b4bd">CURVE_Gx_FP256BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ada2d8d1adebfc3ab10a3ce9477a12f54">CURVE_Gy_FP256BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#adf5b16014f7adf318b84c5f8470a2345">CURVE_Pxa_FP256BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#ae09e0d03e593a31cf88fd49332aeefbe">CURVE_Pxb_FP256BN</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a91227c63158baad43cb51826621ceb6d">CURVE_Pya_FP256BN</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp2__FP256BN_8h.html#a401cacde8cea25453122cffa6ae6ebc0">CURVE_Pyb_FP256BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a0da8f8f7aff739453e8f6bdb7445dcd6">ECP2_FP256BN_isinf</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aeba894a09df7c61da495fac30887ed0e">ECP2_FP256BN_copy</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a8808e3c011c83d8598e8dde0256d8805">ECP2_FP256BN_inf</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a99b6dd86fea3bb7f042642c95b1c8d64">ECP2_FP256BN_equals</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</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="ecp2__FP256BN_8h.html#a75c006fad23713474324ae37d7c3abdc">ECP2_FP256BN_affine</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#ac5725f920bfadfbe9c6cc58d24a99215">ECP2_FP256BN_get</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a4d1bf164759f7ce6500557af962be1cd">ECP2_FP256BN_output</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aba0e21a931155355ddcb7ad7a6bb9572">ECP2_FP256BN_outputxyz</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aa3eae30deba5456594dd9782b4fd5b9e">ECP2_FP256BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a2290298ee015357d4584be3b2f194bb0">ECP2_FP256BN_fromOctet</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#af49fe8b3c0269c5dad430231bf4d865c">ECP2_FP256BN_rhs</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *r,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a74c1ee5fcb200016b4737292edc83048">ECP2_FP256BN_set</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a5ee0e9d6e4594a8475c85666323e0ce0">ECP2_FP256BN_setx</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</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="ecp2__FP256BN_8h.html#a6ef4c2a9c598d4abdcbd15fa2258db36">ECP2_FP256BN_neg</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#ae566b3d238accee6a643c678d9c5e06a">ECP2_FP256BN_dbl</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP256BN_8h.html#a980727aa2e6da399144f57e9311c3786">ECP2_FP256BN_add</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#aec30665b1556f574d70a044b88b4e7fd">ECP2_FP256BN_sub</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a21d5aa79622aadd4d197901de80faeff">ECP2_FP256BN_mul</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a4d367af2c0b5e5712a1e729659e8ed0d">ECP2_FP256BN_frob</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *f);</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="ecp2__FP256BN_8h.html#a2608ea4b704daa5d9544025566791430">ECP2_FP256BN_mul4</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#a798c80efd5535c4200fe4f2c424ed274">ECP2_FP256BN_mapit</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP256BN_8h.html#abd2e6e8e8fd0caca874c754ee4957369">ECP2_FP256BN_generator</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__FP256BN_8h_html_a0da8f8f7aff739453e8f6bdb7445dcd6"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a0da8f8f7aff739453e8f6bdb7445dcd6">ECP2_FP256BN_isinf</a></div><div class="ttdeci">int ECP2_FP256BN_isinf(ECP2_FP256BN *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:25</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a21d5aa79622aadd4d197901de80faeff"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a21d5aa79622aadd4d197901de80faeff">ECP2_FP256BN_mul</a></div><div class="ttdeci">void ECP2_FP256BN_mul(ECP2_FP256BN *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:455</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_af49fe8b3c0269c5dad430231bf4d865c"><div class="ttname"><a href="ecp2__FP256BN_8h.html#af49fe8b3c0269c5dad430231bf4d865c">ECP2_FP256BN_rhs</a></div><div class="ttdeci">void ECP2_FP256BN_rhs(FP2_FP256BN *r, FP2_FP256BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:219</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a74c1ee5fcb200016b4737292edc83048"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a74c1ee5fcb200016b4737292edc83048">ECP2_FP256BN_set</a></div><div class="ttdeci">int ECP2_FP256BN_set(ECP2_FP256BN *P, FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:253</div></div>
 <div class="ttc" id="structECP2__FP256BN_html_a1dd224695acc0039c3681c35d7f27447"><div class="ttname"><a href="structECP2__FP256BN.html#a1dd224695acc0039c3681c35d7f27447">ECP2_FP256BN::z</a></div><div class="ttdeci">FP2_FP256BN z</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.h:42</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_aa64d4803c2586aec2e4fea38c1138254"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aa64d4803c2586aec2e4fea38c1138254">CURVE_Cof_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_FP256BN</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_a401cacde8cea25453122cffa6ae6ebc0"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a401cacde8cea25453122cffa6ae6ebc0">CURVE_Pyb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_FP256BN</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a798c80efd5535c4200fe4f2c424ed274"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a798c80efd5535c4200fe4f2c424ed274">ECP2_FP256BN_mapit</a></div><div class="ttdeci">void ECP2_FP256BN_mapit(ECP2_FP256BN *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:625</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a798c80efd5535c4200fe4f2c424ed274"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a798c80efd5535c4200fe4f2c424ed274">ECP2_FP256BN_mapit</a></div><div class="ttdeci">void ECP2_FP256BN_mapit(ECP2_FP256BN *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:625</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_ada2d8d1adebfc3ab10a3ce9477a12f54"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ada2d8d1adebfc3ab10a3ce9477a12f54">CURVE_Gy_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_FP256BN</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a8808e3c011c83d8598e8dde0256d8805"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a8808e3c011c83d8598e8dde0256d8805">ECP2_FP256BN_inf</a></div><div class="ttdeci">void ECP2_FP256BN_inf(ECP2_FP256BN *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:41</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a8808e3c011c83d8598e8dde0256d8805"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a8808e3c011c83d8598e8dde0256d8805">ECP2_FP256BN_inf</a></div><div class="ttdeci">void ECP2_FP256BN_inf(ECP2_FP256BN *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:41</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_ad8a72f4c35da61849fac206d83565394"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 Frb_FP256BN</div></div>
 <div class="ttc" id="structECP2__FP256BN_html_a9d55bd556b365d53a594722fbc7fad9f"><div class="ttname"><a href="structECP2__FP256BN.html#a9d55bd556b365d53a594722fbc7fad9f">ECP2_FP256BN::x</a></div><div class="ttdeci">FP2_FP256BN x</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.h:40</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="ecp2__FP256BN_8h_html_ae09e0d03e593a31cf88fd49332aeefbe"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ae09e0d03e593a31cf88fd49332aeefbe">CURVE_Pxb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_FP256BN</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_abd2e6e8e8fd0caca874c754ee4957369"><div class="ttname"><a href="ecp2__FP256BN_8h.html#abd2e6e8e8fd0caca874c754ee4957369">ECP2_FP256BN_generator</a></div><div class="ttdeci">void ECP2_FP256BN_generator(ECP2_FP256BN *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:714</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_abd2e6e8e8fd0caca874c754ee4957369"><div class="ttname"><a href="ecp2__FP256BN_8h.html#abd2e6e8e8fd0caca874c754ee4957369">ECP2_FP256BN_generator</a></div><div class="ttdeci">void ECP2_FP256BN_generator(ECP2_FP256BN *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:714</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_adf5b16014f7adf318b84c5f8470a2345"><div class="ttname"><a href="ecp2__FP256BN_8h.html#adf5b16014f7adf318b84c5f8470a2345">CURVE_Pxa_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_FP256BN</div></div>
-<div class="ttc" id="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a99b6dd86fea3bb7f042642c95b1c8d64"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a99b6dd86fea3bb7f042642c95b1c8d64">ECP2_FP256BN_equals</a></div><div class="ttdeci">int ECP2_FP256BN_equals(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Tests for equality of two ECP2s.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:89</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a75c006fad23713474324ae37d7c3abdc"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a75c006fad23713474324ae37d7c3abdc">ECP2_FP256BN_affine</a></div><div class="ttdeci">void ECP2_FP256BN_affine(ECP2_FP256BN *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:105</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a5ee0e9d6e4594a8475c85666323e0ce0"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a5ee0e9d6e4594a8475c85666323e0ce0">ECP2_FP256BN_setx</a></div><div class="ttdeci">int ECP2_FP256BN_setx(ECP2_FP256BN *P, FP2_FP256BN *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:275</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_ac5725f920bfadfbe9c6cc58d24a99215"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ac5725f920bfadfbe9c6cc58d24a99215">ECP2_FP256BN_get</a></div><div class="ttdeci">int ECP2_FP256BN_get(FP2_FP256BN *x, FP2_FP256BN *y, ECP2_FP256BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:129</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a980727aa2e6da399144f57e9311c3786"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a980727aa2e6da399144f57e9311c3786">ECP2_FP256BN_add</a></div><div class="ttdeci">int ECP2_FP256BN_add(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:358</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_aa3eae30deba5456594dd9782b4fd5b9e"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aa3eae30deba5456594dd9782b4fd5b9e">ECP2_FP256BN_toOctet</a></div><div class="ttdeci">void ECP2_FP256BN_toOctet(octet *S, ECP2_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:179</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_aba0e21a931155355ddcb7ad7a6bb9572"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aba0e21a931155355ddcb7ad7a6bb9572">ECP2_FP256BN_outputxyz</a></div><div class="ttdeci">void ECP2_FP256BN_outputxyz(ECP2_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:159</div></div>
-<div class="ttc" id="structECP2__FP256BN_html"><div class="ttname"><a href="structECP2__FP256BN.html">ECP2_FP256BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.h:37</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a4d367af2c0b5e5712a1e729659e8ed0d"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a4d367af2c0b5e5712a1e729659e8ed0d">ECP2_FP256BN_frob</a></div><div class="ttdeci">void ECP2_FP256BN_frob(ECP2_FP256BN *P, FP2_FP256BN *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:518</div></div>
+<div class="ttc" id="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a99b6dd86fea3bb7f042642c95b1c8d64"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a99b6dd86fea3bb7f042642c95b1c8d64">ECP2_FP256BN_equals</a></div><div class="ttdeci">int ECP2_FP256BN_equals(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Tests for equality of two ECP2s. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:89</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a75c006fad23713474324ae37d7c3abdc"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a75c006fad23713474324ae37d7c3abdc">ECP2_FP256BN_affine</a></div><div class="ttdeci">void ECP2_FP256BN_affine(ECP2_FP256BN *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:105</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a5ee0e9d6e4594a8475c85666323e0ce0"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a5ee0e9d6e4594a8475c85666323e0ce0">ECP2_FP256BN_setx</a></div><div class="ttdeci">int ECP2_FP256BN_setx(ECP2_FP256BN *P, FP2_FP256BN *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:275</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_ac5725f920bfadfbe9c6cc58d24a99215"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ac5725f920bfadfbe9c6cc58d24a99215">ECP2_FP256BN_get</a></div><div class="ttdeci">int ECP2_FP256BN_get(FP2_FP256BN *x, FP2_FP256BN *y, ECP2_FP256BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:129</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a980727aa2e6da399144f57e9311c3786"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a980727aa2e6da399144f57e9311c3786">ECP2_FP256BN_add</a></div><div class="ttdeci">int ECP2_FP256BN_add(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:358</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_aa3eae30deba5456594dd9782b4fd5b9e"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aa3eae30deba5456594dd9782b4fd5b9e">ECP2_FP256BN_toOctet</a></div><div class="ttdeci">void ECP2_FP256BN_toOctet(octet *S, ECP2_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:179</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_aba0e21a931155355ddcb7ad7a6bb9572"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aba0e21a931155355ddcb7ad7a6bb9572">ECP2_FP256BN_outputxyz</a></div><div class="ttdeci">void ECP2_FP256BN_outputxyz(ECP2_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:159</div></div>
+<div class="ttc" id="structECP2__FP256BN_html"><div class="ttname"><a href="structECP2__FP256BN.html">ECP2_FP256BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.h:37</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a4d367af2c0b5e5712a1e729659e8ed0d"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a4d367af2c0b5e5712a1e729659e8ed0d">ECP2_FP256BN_frob</a></div><div class="ttdeci">void ECP2_FP256BN_frob(ECP2_FP256BN *P, FP2_FP256BN *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f...</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:518</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_a91227c63158baad43cb51826621ceb6d"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a91227c63158baad43cb51826621ceb6d">CURVE_Pya_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_FP256BN</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_ae7a207801b2d735a0f08f6621d48b4bd"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ae7a207801b2d735a0f08f6621d48b4bd">CURVE_Gx_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_FP256BN</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html"><div class="ttname"><a href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html"><div class="ttname"><a href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_a2a4f91b86727cc0667394283192a7852"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a2a4f91b86727cc0667394283192a7852">CURVE_Order_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_FP256BN</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a2608ea4b704daa5d9544025566791430"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a2608ea4b704daa5d9544025566791430">ECP2_FP256BN_mul4</a></div><div class="ttdeci">void ECP2_FP256BN_mul4(ECP2_FP256BN *P, ECP2_FP256BN *Q, BIG_256_56 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3].</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a2608ea4b704daa5d9544025566791430"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a2608ea4b704daa5d9544025566791430">ECP2_FP256BN_mul4</a></div><div class="ttdeci">void ECP2_FP256BN_mul4(ECP2_FP256BN *P, ECP2_FP256BN *Q, BIG_256_56 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3]. </div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_ae247e96aa4eb1d756ba5e52c316b75cc"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ae247e96aa4eb1d756ba5e52c316b75cc">CURVE_A_FP256BN</a></div><div class="ttdeci">const int CURVE_A_FP256BN</div></div>
 <div class="ttc" id="structECP2__FP256BN_html_ac357dfbe094a211df6aa1b885da3b9d8"><div class="ttname"><a href="structECP2__FP256BN.html#ac357dfbe094a211df6aa1b885da3b9d8">ECP2_FP256BN::y</a></div><div class="ttdeci">FP2_FP256BN y</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.h:41</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_aec30665b1556f574d70a044b88b4e7fd"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aec30665b1556f574d70a044b88b4e7fd">ECP2_FP256BN_sub</a></div><div class="ttdeci">void ECP2_FP256BN_sub(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:445</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_ae566b3d238accee6a643c678d9c5e06a"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ae566b3d238accee6a643c678d9c5e06a">ECP2_FP256BN_dbl</a></div><div class="ttdeci">int ECP2_FP256BN_dbl(ECP2_FP256BN *P)</div><div class="ttdoc">Doubles an ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:304</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_aec30665b1556f574d70a044b88b4e7fd"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aec30665b1556f574d70a044b88b4e7fd">ECP2_FP256BN_sub</a></div><div class="ttdeci">void ECP2_FP256BN_sub(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:445</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_ae566b3d238accee6a643c678d9c5e06a"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ae566b3d238accee6a643c678d9c5e06a">ECP2_FP256BN_dbl</a></div><div class="ttdeci">int ECP2_FP256BN_dbl(ECP2_FP256BN *P)</div><div class="ttdoc">Doubles an ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:304</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_ad106cce2734c8881d568f9452aff52cf"><div class="ttname"><a href="ecp2__FP256BN_8h.html#ad106cce2734c8881d568f9452aff52cf">CURVE_B_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_FP256BN</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_aeba894a09df7c61da495fac30887ed0e"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aeba894a09df7c61da495fac30887ed0e">ECP2_FP256BN_copy</a></div><div class="ttdeci">void ECP2_FP256BN_copy(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:32</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a6ef4c2a9c598d4abdcbd15fa2258db36"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a6ef4c2a9c598d4abdcbd15fa2258db36">ECP2_FP256BN_neg</a></div><div class="ttdeci">void ECP2_FP256BN_neg(ECP2_FP256BN *P)</div><div class="ttdoc">Negation of an ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:294</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_aeba894a09df7c61da495fac30887ed0e"><div class="ttname"><a href="ecp2__FP256BN_8h.html#aeba894a09df7c61da495fac30887ed0e">ECP2_FP256BN_copy</a></div><div class="ttdeci">void ECP2_FP256BN_copy(ECP2_FP256BN *P, ECP2_FP256BN *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:32</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a6ef4c2a9c598d4abdcbd15fa2258db36"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a6ef4c2a9c598d4abdcbd15fa2258db36">ECP2_FP256BN_neg</a></div><div class="ttdeci">void ECP2_FP256BN_neg(ECP2_FP256BN *P)</div><div class="ttdoc">Negation of an ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:294</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_a32d6454dbe379414cbf371501bdfa14c"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_FP256BN</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a2290298ee015357d4584be3b2f194bb0"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a2290298ee015357d4584be3b2f194bb0">ECP2_FP256BN_fromOctet</a></div><div class="ttdeci">int ECP2_FP256BN_fromOctet(ECP2_FP256BN *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:200</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a2290298ee015357d4584be3b2f194bb0"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a2290298ee015357d4584be3b2f194bb0">ECP2_FP256BN_fromOctet</a></div><div class="ttdeci">int ECP2_FP256BN_fromOctet(ECP2_FP256BN *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:200</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_a682906829e5ad5c597e675693c5bd8e4"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a></div><div class="ttdeci">const BIG_256_56 Fra_FP256BN</div></div>
 <div class="ttc" id="ecp2__FP256BN_8h_html_a4092cb2a64eb8083d09b29ee07cc2b13"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a4092cb2a64eb8083d09b29ee07cc2b13">CURVE_B_I_FP256BN</a></div><div class="ttdeci">const int CURVE_B_I_FP256BN</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html_a4d1bf164759f7ce6500557af962be1cd"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a4d1bf164759f7ce6500557af962be1cd">ECP2_FP256BN_output</a></div><div class="ttdeci">void ECP2_FP256BN_output(ECP2_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:142</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html_a4d1bf164759f7ce6500557af962be1cd"><div class="ttname"><a href="ecp2__FP256BN_8h.html#a4d1bf164759f7ce6500557af962be1cd">ECP2_FP256BN_output</a></div><div class="ttdeci">void ECP2_FP256BN_output(ECP2_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.c:142</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/ecp2__FP512BN_8h.html b/website/static/cdocs/ecp2__FP512BN_8h.html
index 2ced2c1..f6ee7ea 100644
--- a/website/static/cdocs/ecp2__FP512BN_8h.html
+++ b/website/static/cdocs/ecp2__FP512BN_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: ecp2_FP512BN.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"
@@ -1114,7 +1117,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/ecp2__FP512BN_8h_source.html b/website/static/cdocs/ecp2__FP512BN_8h_source.html
index 7c867b3..bae3d1e 100644
--- a/website/static/cdocs/ecp2__FP512BN_8h_source.html
+++ b/website/static/cdocs/ecp2__FP512BN_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: ecp2_FP512BN.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,56 +72,56 @@
 <div class="title">ecp2_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp2__FP512BN_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 ECP2_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_FP512BN_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 &quot;<a class="code" href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html#ae54fe5eaa35d0e1ce4b3c404af4804e8">   40</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structECP2__FP512BN.html#ae54fe5eaa35d0e1ce4b3c404af4804e8">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html#a75db226d9f00e5c28d228255bc2791b9">   41</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structECP2__FP512BN.html#a75db226d9f00e5c28d228255bc2791b9">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html#a7500b35a9c2079546b4de8c6a6388fc5">   42</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structECP2__FP512BN.html#a7500b35a9c2079546b4de8c6a6388fc5">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a4712f5352d0e860010296c377ae7e076">CURVE_A_FP512BN</a>;               </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a9348e4fe11f9eb709d9ff5a98fe79b79">CURVE_B_I_FP512BN</a>;             </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a16ad72e0e49a871bc5f86c961059b311">CURVE_B_FP512BN</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a8a8490489ecf4446120a8a639e2af905">CURVE_Order_FP512BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a31a1587c43860daf99d5368937031e11">CURVE_Cof_FP512BN</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#afb6a62adbfafd8483b1e40d4b87ae572">CURVE_Gx_FP512BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ae5c726c4f9da421d2e2004f10c7823e0">CURVE_Gy_FP512BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ae6545c64b0523a9f2301a3a2fefa681d">CURVE_Pxa_FP512BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ac77516eb52afb1d460d0aaba919ca15f">CURVE_Pxb_FP512BN</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ad0faaed4a8c1e3ea2112f7db93c18517">CURVE_Pya_FP512BN</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a5fca0bb96e9cf70e32f78f1f11f94312">CURVE_Pyb_FP512BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a1073aa7c1bcc69ddca632d935ce3dc9c">ECP2_FP512BN_isinf</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#ae566764d9dca13f51d9a0cd23e9633e3">ECP2_FP512BN_copy</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a65199aa40549600b949a10d5fad3b6fa">ECP2_FP512BN_inf</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#af2f70234ca2a0635ee4d57bdd4d63c1c">ECP2_FP512BN_equals</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</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="ecp2__FP512BN_8h.html#a51c566a687b52614eb1e5728293d9603">ECP2_FP512BN_affine</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#aa54b867ea64f5f7e504c7d4e0b0d76f7">ECP2_FP512BN_get</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#ab0203e14f9e0c1a15c3f23a4e4ad0823">ECP2_FP512BN_output</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#afbce971dedfaa72c28af1c28939fc9ec">ECP2_FP512BN_outputxyz</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a542f2f4c21f5b59ade329a529bdc1bcc">ECP2_FP512BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a0367a951a3bc40a1f63963750f4bb3f0">ECP2_FP512BN_fromOctet</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a09c7a7e72dd03dc566941f9b6faab296">ECP2_FP512BN_rhs</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *r,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#abb235248dca297c26fd7b7fdf1940148">ECP2_FP512BN_set</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a9bcae5baa0e649afc666de4a08690088">ECP2_FP512BN_setx</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</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="ecp2__FP512BN_8h.html#ad741822ee62b590a8cb43cda459320ca">ECP2_FP512BN_neg</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a56fc80efdf4cd6032e8322bf16da7c5c">ECP2_FP512BN_dbl</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a3d87a19977ec2286dc1b8f40fccc47f2">ECP2_FP512BN_add</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a9f6e5d53fccd9b8b3bd46cc8daafac43">ECP2_FP512BN_sub</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a814310b76614878aacf4e2f9a0ba3115">ECP2_FP512BN_mul</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#aefc0d99463e1bfff67cefb747654b504">ECP2_FP512BN_frob</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *f);</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="ecp2__FP512BN_8h.html#a9061e1c2c504d9cb600f9b2775af15dc">ECP2_FP512BN_mul4</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a4f32c786f8e82837cb3fefb213c4bebe">ECP2_FP512BN_mapit</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#acc7ffe219cf5d8199fcaa70d42c8ae4e">ECP2_FP512BN_generator</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__FP512BN_8h_html_ad741822ee62b590a8cb43cda459320ca"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ad741822ee62b590a8cb43cda459320ca">ECP2_FP512BN_neg</a></div><div class="ttdeci">void ECP2_FP512BN_neg(ECP2_FP512BN *P)</div><div class="ttdoc">Negation of an ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:294</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a09c7a7e72dd03dc566941f9b6faab296"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a09c7a7e72dd03dc566941f9b6faab296">ECP2_FP512BN_rhs</a></div><div class="ttdeci">void ECP2_FP512BN_rhs(FP2_FP512BN *r, FP2_FP512BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:219</div></div>
+<a href="ecp2__FP512BN_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 ECP2_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP2_FP512BN_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 &quot;<a class="code" href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="comment">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html#ae54fe5eaa35d0e1ce4b3c404af4804e8">   40</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structECP2__FP512BN.html#ae54fe5eaa35d0e1ce4b3c404af4804e8">x</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html#a75db226d9f00e5c28d228255bc2791b9">   41</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structECP2__FP512BN.html#a75db226d9f00e5c28d228255bc2791b9">y</a>;   </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="structECP2__FP512BN.html#a7500b35a9c2079546b4de8c6a6388fc5">   42</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structECP2__FP512BN.html#a7500b35a9c2079546b4de8c6a6388fc5">z</a>;   </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;} <a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a4712f5352d0e860010296c377ae7e076">CURVE_A_FP512BN</a>;       </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a9348e4fe11f9eb709d9ff5a98fe79b79">CURVE_B_I_FP512BN</a>;     </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a16ad72e0e49a871bc5f86c961059b311">CURVE_B_FP512BN</a>;     </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a8a8490489ecf4446120a8a639e2af905">CURVE_Order_FP512BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a31a1587c43860daf99d5368937031e11">CURVE_Cof_FP512BN</a>;   </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a>;   </div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#afb6a62adbfafd8483b1e40d4b87ae572">CURVE_Gx_FP512BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ae5c726c4f9da421d2e2004f10c7823e0">CURVE_Gy_FP512BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ae6545c64b0523a9f2301a3a2fefa681d">CURVE_Pxa_FP512BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ac77516eb52afb1d460d0aaba919ca15f">CURVE_Pxb_FP512BN</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#ad0faaed4a8c1e3ea2112f7db93c18517">CURVE_Pya_FP512BN</a>; </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp2__FP512BN_8h.html#a5fca0bb96e9cf70e32f78f1f11f94312">CURVE_Pyb_FP512BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/* ECP2 E(Fp2) prototypes */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a1073aa7c1bcc69ddca632d935ce3dc9c">ECP2_FP512BN_isinf</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#ae566764d9dca13f51d9a0cd23e9633e3">ECP2_FP512BN_copy</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a65199aa40549600b949a10d5fad3b6fa">ECP2_FP512BN_inf</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#af2f70234ca2a0635ee4d57bdd4d63c1c">ECP2_FP512BN_equals</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</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="ecp2__FP512BN_8h.html#a51c566a687b52614eb1e5728293d9603">ECP2_FP512BN_affine</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#aa54b867ea64f5f7e504c7d4e0b0d76f7">ECP2_FP512BN_get</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#ab0203e14f9e0c1a15c3f23a4e4ad0823">ECP2_FP512BN_output</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#afbce971dedfaa72c28af1c28939fc9ec">ECP2_FP512BN_outputxyz</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a542f2f4c21f5b59ade329a529bdc1bcc">ECP2_FP512BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a0367a951a3bc40a1f63963750f4bb3f0">ECP2_FP512BN_fromOctet</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a09c7a7e72dd03dc566941f9b6faab296">ECP2_FP512BN_rhs</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *r,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#abb235248dca297c26fd7b7fdf1940148">ECP2_FP512BN_set</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a9bcae5baa0e649afc666de4a08690088">ECP2_FP512BN_setx</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</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="ecp2__FP512BN_8h.html#ad741822ee62b590a8cb43cda459320ca">ECP2_FP512BN_neg</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a56fc80efdf4cd6032e8322bf16da7c5c">ECP2_FP512BN_dbl</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P);</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp2__FP512BN_8h.html#a3d87a19977ec2286dc1b8f40fccc47f2">ECP2_FP512BN_add</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a9f6e5d53fccd9b8b3bd46cc8daafac43">ECP2_FP512BN_sub</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a814310b76614878aacf4e2f9a0ba3115">ECP2_FP512BN_mul</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#aefc0d99463e1bfff67cefb747654b504">ECP2_FP512BN_frob</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *f);</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="ecp2__FP512BN_8h.html#a9061e1c2c504d9cb600f9b2775af15dc">ECP2_FP512BN_mul4</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *Q,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *b);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#a4f32c786f8e82837cb3fefb213c4bebe">ECP2_FP512BN_mapit</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp2__FP512BN_8h.html#acc7ffe219cf5d8199fcaa70d42c8ae4e">ECP2_FP512BN_generator</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *G);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp2__FP512BN_8h_html_ad741822ee62b590a8cb43cda459320ca"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ad741822ee62b590a8cb43cda459320ca">ECP2_FP512BN_neg</a></div><div class="ttdeci">void ECP2_FP512BN_neg(ECP2_FP512BN *P)</div><div class="ttdoc">Negation of an ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:294</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a09c7a7e72dd03dc566941f9b6faab296"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a09c7a7e72dd03dc566941f9b6faab296">ECP2_FP512BN_rhs</a></div><div class="ttdeci">void ECP2_FP512BN_rhs(FP2_FP512BN *r, FP2_FP512BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:219</div></div>
 <div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a99f0e0c6148339ac0862403fdc477991"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 Frb_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a1073aa7c1bcc69ddca632d935ce3dc9c"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a1073aa7c1bcc69ddca632d935ce3dc9c">ECP2_FP512BN_isinf</a></div><div class="ttdeci">int ECP2_FP512BN_isinf(ECP2_FP512BN *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:25</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a1073aa7c1bcc69ddca632d935ce3dc9c"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a1073aa7c1bcc69ddca632d935ce3dc9c">ECP2_FP512BN_isinf</a></div><div class="ttdeci">int ECP2_FP512BN_isinf(ECP2_FP512BN *P)</div><div class="ttdoc">Tests for ECP2 point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:25</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a31a1587c43860daf99d5368937031e11"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a31a1587c43860daf99d5368937031e11">CURVE_Cof_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Cof_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a9061e1c2c504d9cb600f9b2775af15dc"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9061e1c2c504d9cb600f9b2775af15dc">ECP2_FP512BN_mul4</a></div><div class="ttdeci">void ECP2_FP512BN_mul4(ECP2_FP512BN *P, ECP2_FP512BN *Q, BIG_512_60 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3].</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a9061e1c2c504d9cb600f9b2775af15dc"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9061e1c2c504d9cb600f9b2775af15dc">ECP2_FP512BN_mul4</a></div><div class="ttdeci">void ECP2_FP512BN_mul4(ECP2_FP512BN *P, ECP2_FP512BN *Q, BIG_512_60 *b)</div><div class="ttdoc">Calculates P=b[0]*Q[0]+b[1]*Q[1]+b[2]*Q[2]+b[3]*Q[3]. </div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_ac77516eb52afb1d460d0aaba919ca15f"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ac77516eb52afb1d460d0aaba919ca15f">CURVE_Pxb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxb_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a542f2f4c21f5b59ade329a529bdc1bcc"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a542f2f4c21f5b59ade329a529bdc1bcc">ECP2_FP512BN_toOctet</a></div><div class="ttdeci">void ECP2_FP512BN_toOctet(octet *S, ECP2_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:179</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a542f2f4c21f5b59ade329a529bdc1bcc"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a542f2f4c21f5b59ade329a529bdc1bcc">ECP2_FP512BN_toOctet</a></div><div class="ttdeci">void ECP2_FP512BN_toOctet(octet *S, ECP2_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:179</div></div>
 <div class="ttc" id="structECP2__FP512BN_html_ae54fe5eaa35d0e1ce4b3c404af4804e8"><div class="ttname"><a href="structECP2__FP512BN.html#ae54fe5eaa35d0e1ce4b3c404af4804e8">ECP2_FP512BN::x</a></div><div class="ttdeci">FP2_FP512BN x</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.h:40</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a9295120c8bc5f87ec3beee2f2b368c36"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Bnx_FP512BN</div></div>
 <div class="ttc" id="structECP2__FP512BN_html_a75db226d9f00e5c28d228255bc2791b9"><div class="ttname"><a href="structECP2__FP512BN.html#a75db226d9f00e5c28d228255bc2791b9">ECP2_FP512BN::y</a></div><div class="ttdeci">FP2_FP512BN y</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.h:41</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_ad7da3c3186a66323a2cd55968808f253"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a></div><div class="ttdeci">const BIG_512_60 Fra_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_abb235248dca297c26fd7b7fdf1940148"><div class="ttname"><a href="ecp2__FP512BN_8h.html#abb235248dca297c26fd7b7fdf1940148">ECP2_FP512BN_set</a></div><div class="ttdeci">int ECP2_FP512BN_set(ECP2_FP512BN *P, FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:253</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_abb235248dca297c26fd7b7fdf1940148"><div class="ttname"><a href="ecp2__FP512BN_8h.html#abb235248dca297c26fd7b7fdf1940148">ECP2_FP512BN_set</a></div><div class="ttdeci">int ECP2_FP512BN_set(ECP2_FP512BN *P, FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Set ECP2 to point(x,y) given x and y. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:253</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a5fca0bb96e9cf70e32f78f1f11f94312"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a5fca0bb96e9cf70e32f78f1f11f94312">CURVE_Pyb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyb_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a0367a951a3bc40a1f63963750f4bb3f0"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a0367a951a3bc40a1f63963750f4bb3f0">ECP2_FP512BN_fromOctet</a></div><div class="ttdeci">int ECP2_FP512BN_fromOctet(ECP2_FP512BN *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:200</div></div>
-<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a65199aa40549600b949a10d5fad3b6fa"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a65199aa40549600b949a10d5fad3b6fa">ECP2_FP512BN_inf</a></div><div class="ttdeci">void ECP2_FP512BN_inf(ECP2_FP512BN *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:41</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="ecp2__FP512BN_8h_html_a4f32c786f8e82837cb3fefb213c4bebe"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a4f32c786f8e82837cb3fefb213c4bebe">ECP2_FP512BN_mapit</a></div><div class="ttdeci">void ECP2_FP512BN_mapit(ECP2_FP512BN *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:625</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a0367a951a3bc40a1f63963750f4bb3f0"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a0367a951a3bc40a1f63963750f4bb3f0">ECP2_FP512BN_fromOctet</a></div><div class="ttdeci">int ECP2_FP512BN_fromOctet(ECP2_FP512BN *P, octet *S)</div><div class="ttdoc">Creates an ECP2 point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:200</div></div>
+<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a65199aa40549600b949a10d5fad3b6fa"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a65199aa40549600b949a10d5fad3b6fa">ECP2_FP512BN_inf</a></div><div class="ttdeci">void ECP2_FP512BN_inf(ECP2_FP512BN *P)</div><div class="ttdoc">Set ECP2 to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:41</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="ecp2__FP512BN_8h_html_a4f32c786f8e82837cb3fefb213c4bebe"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a4f32c786f8e82837cb3fefb213c4bebe">ECP2_FP512BN_mapit</a></div><div class="ttdeci">void ECP2_FP512BN_mapit(ECP2_FP512BN *P, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:625</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_ae6545c64b0523a9f2301a3a2fefa681d"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ae6545c64b0523a9f2301a3a2fefa681d">CURVE_Pxa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxa_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_ab0203e14f9e0c1a15c3f23a4e4ad0823"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ab0203e14f9e0c1a15c3f23a4e4ad0823">ECP2_FP512BN_output</a></div><div class="ttdeci">void ECP2_FP512BN_output(ECP2_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:142</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_ab0203e14f9e0c1a15c3f23a4e4ad0823"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ab0203e14f9e0c1a15c3f23a4e4ad0823">ECP2_FP512BN_output</a></div><div class="ttdeci">void ECP2_FP512BN_output(ECP2_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, converted to affine coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:142</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_afb6a62adbfafd8483b1e40d4b87ae572"><div class="ttname"><a href="ecp2__FP512BN_8h.html#afb6a62adbfafd8483b1e40d4b87ae572">CURVE_Gx_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Gx_FP512BN</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_ad0faaed4a8c1e3ea2112f7db93c18517"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ad0faaed4a8c1e3ea2112f7db93c18517">CURVE_Pya_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pya_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_acc7ffe219cf5d8199fcaa70d42c8ae4e"><div class="ttname"><a href="ecp2__FP512BN_8h.html#acc7ffe219cf5d8199fcaa70d42c8ae4e">ECP2_FP512BN_generator</a></div><div class="ttdeci">void ECP2_FP512BN_generator(ECP2_FP512BN *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:714</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html"><div class="ttname"><a href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_acc7ffe219cf5d8199fcaa70d42c8ae4e"><div class="ttname"><a href="ecp2__FP512BN_8h.html#acc7ffe219cf5d8199fcaa70d42c8ae4e">ECP2_FP512BN_generator</a></div><div class="ttdeci">void ECP2_FP512BN_generator(ECP2_FP512BN *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:714</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html"><div class="ttname"><a href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_ae5c726c4f9da421d2e2004f10c7823e0"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ae5c726c4f9da421d2e2004f10c7823e0">CURVE_Gy_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Gy_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a9f6e5d53fccd9b8b3bd46cc8daafac43"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9f6e5d53fccd9b8b3bd46cc8daafac43">ECP2_FP512BN_sub</a></div><div class="ttdeci">void ECP2_FP512BN_sub(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:445</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_aa54b867ea64f5f7e504c7d4e0b0d76f7"><div class="ttname"><a href="ecp2__FP512BN_8h.html#aa54b867ea64f5f7e504c7d4e0b0d76f7">ECP2_FP512BN_get</a></div><div class="ttdeci">int ECP2_FP512BN_get(FP2_FP512BN *x, FP2_FP512BN *y, ECP2_FP512BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:129</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a9f6e5d53fccd9b8b3bd46cc8daafac43"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9f6e5d53fccd9b8b3bd46cc8daafac43">ECP2_FP512BN_sub</a></div><div class="ttdeci">void ECP2_FP512BN_sub(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:445</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_aa54b867ea64f5f7e504c7d4e0b0d76f7"><div class="ttname"><a href="ecp2__FP512BN_8h.html#aa54b867ea64f5f7e504c7d4e0b0d76f7">ECP2_FP512BN_get</a></div><div class="ttdeci">int ECP2_FP512BN_get(FP2_FP512BN *x, FP2_FP512BN *y, ECP2_FP512BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP2 point P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:129</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a16ad72e0e49a871bc5f86c961059b311"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a16ad72e0e49a871bc5f86c961059b311">CURVE_B_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_B_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_afbce971dedfaa72c28af1c28939fc9ec"><div class="ttname"><a href="ecp2__FP512BN_8h.html#afbce971dedfaa72c28af1c28939fc9ec">ECP2_FP512BN_outputxyz</a></div><div class="ttdeci">void ECP2_FP512BN_outputxyz(ECP2_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:159</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a814310b76614878aacf4e2f9a0ba3115"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a814310b76614878aacf4e2f9a0ba3115">ECP2_FP512BN_mul</a></div><div class="ttdeci">void ECP2_FP512BN_mul(ECP2_FP512BN *P, BIG_512_60 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:455</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a9bcae5baa0e649afc666de4a08690088"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9bcae5baa0e649afc666de4a08690088">ECP2_FP512BN_setx</a></div><div class="ttdeci">int ECP2_FP512BN_setx(ECP2_FP512BN *P, FP2_FP512BN *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:275</div></div>
-<div class="ttc" id="structECP2__FP512BN_html"><div class="ttname"><a href="structECP2__FP512BN.html">ECP2_FP512BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.h:37</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a56fc80efdf4cd6032e8322bf16da7c5c"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a56fc80efdf4cd6032e8322bf16da7c5c">ECP2_FP512BN_dbl</a></div><div class="ttdeci">int ECP2_FP512BN_dbl(ECP2_FP512BN *P)</div><div class="ttdoc">Doubles an ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:304</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_af2f70234ca2a0635ee4d57bdd4d63c1c"><div class="ttname"><a href="ecp2__FP512BN_8h.html#af2f70234ca2a0635ee4d57bdd4d63c1c">ECP2_FP512BN_equals</a></div><div class="ttdeci">int ECP2_FP512BN_equals(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Tests for equality of two ECP2s.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:89</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a3d87a19977ec2286dc1b8f40fccc47f2"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a3d87a19977ec2286dc1b8f40fccc47f2">ECP2_FP512BN_add</a></div><div class="ttdeci">int ECP2_FP512BN_add(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:358</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_afbce971dedfaa72c28af1c28939fc9ec"><div class="ttname"><a href="ecp2__FP512BN_8h.html#afbce971dedfaa72c28af1c28939fc9ec">ECP2_FP512BN_outputxyz</a></div><div class="ttdeci">void ECP2_FP512BN_outputxyz(ECP2_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP2 point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:159</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a814310b76614878aacf4e2f9a0ba3115"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a814310b76614878aacf4e2f9a0ba3115">ECP2_FP512BN_mul</a></div><div class="ttdeci">void ECP2_FP512BN_mul(ECP2_FP512BN *P, BIG_512_60 b)</div><div class="ttdoc">Multiplies an ECP2 instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:455</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a9bcae5baa0e649afc666de4a08690088"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9bcae5baa0e649afc666de4a08690088">ECP2_FP512BN_setx</a></div><div class="ttdeci">int ECP2_FP512BN_setx(ECP2_FP512BN *P, FP2_FP512BN *x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:275</div></div>
+<div class="ttc" id="structECP2__FP512BN_html"><div class="ttname"><a href="structECP2__FP512BN.html">ECP2_FP512BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.h:37</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a56fc80efdf4cd6032e8322bf16da7c5c"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a56fc80efdf4cd6032e8322bf16da7c5c">ECP2_FP512BN_dbl</a></div><div class="ttdeci">int ECP2_FP512BN_dbl(ECP2_FP512BN *P)</div><div class="ttdoc">Doubles an ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:304</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_af2f70234ca2a0635ee4d57bdd4d63c1c"><div class="ttname"><a href="ecp2__FP512BN_8h.html#af2f70234ca2a0635ee4d57bdd4d63c1c">ECP2_FP512BN_equals</a></div><div class="ttdeci">int ECP2_FP512BN_equals(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Tests for equality of two ECP2s. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:89</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a3d87a19977ec2286dc1b8f40fccc47f2"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a3d87a19977ec2286dc1b8f40fccc47f2">ECP2_FP512BN_add</a></div><div class="ttdeci">int ECP2_FP512BN_add(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Adds ECP2 instance Q to ECP2 instance P. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:358</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a9348e4fe11f9eb709d9ff5a98fe79b79"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a9348e4fe11f9eb709d9ff5a98fe79b79">CURVE_B_I_FP512BN</a></div><div class="ttdeci">const int CURVE_B_I_FP512BN</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a8a8490489ecf4446120a8a639e2af905"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a8a8490489ecf4446120a8a639e2af905">CURVE_Order_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Order_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_ae566764d9dca13f51d9a0cd23e9633e3"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ae566764d9dca13f51d9a0cd23e9633e3">ECP2_FP512BN_copy</a></div><div class="ttdeci">void ECP2_FP512BN_copy(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:32</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_ae566764d9dca13f51d9a0cd23e9633e3"><div class="ttname"><a href="ecp2__FP512BN_8h.html#ae566764d9dca13f51d9a0cd23e9633e3">ECP2_FP512BN_copy</a></div><div class="ttdeci">void ECP2_FP512BN_copy(ECP2_FP512BN *P, ECP2_FP512BN *Q)</div><div class="ttdoc">Copy ECP2 point to another ECP2 point. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:32</div></div>
 <div class="ttc" id="ecp2__FP512BN_8h_html_a4712f5352d0e860010296c377ae7e076"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a4712f5352d0e860010296c377ae7e076">CURVE_A_FP512BN</a></div><div class="ttdeci">const int CURVE_A_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_a51c566a687b52614eb1e5728293d9603"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a51c566a687b52614eb1e5728293d9603">ECP2_FP512BN_affine</a></div><div class="ttdeci">void ECP2_FP512BN_affine(ECP2_FP512BN *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:105</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_a51c566a687b52614eb1e5728293d9603"><div class="ttname"><a href="ecp2__FP512BN_8h.html#a51c566a687b52614eb1e5728293d9603">ECP2_FP512BN_affine</a></div><div class="ttdeci">void ECP2_FP512BN_affine(ECP2_FP512BN *P)</div><div class="ttdoc">Converts an ECP2 point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:105</div></div>
 <div class="ttc" id="structECP2__FP512BN_html_a7500b35a9c2079546b4de8c6a6388fc5"><div class="ttname"><a href="structECP2__FP512BN.html#a7500b35a9c2079546b4de8c6a6388fc5">ECP2_FP512BN::z</a></div><div class="ttdeci">FP2_FP512BN z</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.h:42</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html_aefc0d99463e1bfff67cefb747654b504"><div class="ttname"><a href="ecp2__FP512BN_8h.html#aefc0d99463e1bfff67cefb747654b504">ECP2_FP512BN_frob</a></div><div class="ttdeci">void ECP2_FP512BN_frob(ECP2_FP512BN *P, FP2_FP512BN *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:518</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html_aefc0d99463e1bfff67cefb747654b504"><div class="ttname"><a href="ecp2__FP512BN_8h.html#aefc0d99463e1bfff67cefb747654b504">ECP2_FP512BN_frob</a></div><div class="ttdeci">void ECP2_FP512BN_frob(ECP2_FP512BN *P, FP2_FP512BN *f)</div><div class="ttdoc">Multiplies an ECP2 instance P by the internal modulus p, using precalculated Frobenius constant f...</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.c:518</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/ecp4__BLS24_8h_source.html b/website/static/cdocs/ecp4__BLS24_8h_source.html
index 99ec88a..b730ea8 100644
--- a/website/static/cdocs/ecp4__BLS24_8h_source.html
+++ b/website/static/cdocs/ecp4__BLS24_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: ecp4_BLS24.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,25 +72,25 @@
 <div class="title">ecp4_BLS24.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;<span class="preprocessor">#ifndef ECP4_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define ECP4_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="fp4__BLS24_8h.html">fp4_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS24.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html">   31</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">//   int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html#ae1a2f4a86cd9ff888237360a620fab96">   34</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structECP4__BLS24.html#ae1a2f4a86cd9ff888237360a620fab96">x</a>;   </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html#a0d6f24c2f8bd515988d0502641e867c7">   35</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structECP4__BLS24.html#a0d6f24c2f8bd515988d0502641e867c7">y</a>;   </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html#ad8ed2a95beb461dd97345c3576edc5b3">   36</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structECP4__BLS24.html#ad8ed2a95beb461dd97345c3576edc5b3">z</a>;   </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;} <a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a>;</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">/* Curve Params - see rom.c */</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#a59c72befb1fca5876fb98faf4890a2f5">CURVE_A_BLS24</a>;         </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ab4c72c21dc0f96af5977a03449602e18">CURVE_B_I_BLS24</a>;               </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac074a4af9cafd14c99d7c4e6aa217902">CURVE_B_BLS24</a>;     </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae7c4dab2fcc38267ee55e8486353e6bb">CURVE_Order_BLS24</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a6dcb8975059fc77c530eaec5985600a1">CURVE_Cof_BLS24</a>;   </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a>; </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ab8a474f3e45150b683267a5aa22f2da7">CURVE_Gx_BLS24</a>; </div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#adfd87f5cf903318fad6f098a646b239e">CURVE_Gy_BLS24</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* For Pairings only */</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="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#abcd2ae9ef4c96498779ed3c6d654638a">CURVE_Pxaa_BLS24</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac75cd9cc63ab25493e17dfdcb3b0a640">CURVE_Pxab_BLS24</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a672f62e0179d358ade10d46964bf6c7b">CURVE_Pxba_BLS24</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aaac3bea0ed3847436687290427482a9a">CURVE_Pxbb_BLS24</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a81999fd7288b0ab7e3c2bedaa6ca6bc2">CURVE_Pyaa_BLS24</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a00a6eb80b9ceba018c4fa426d73d2cc3">CURVE_Pyab_BLS24</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa7878b56c09aea820d68e12b2c8bcff0">CURVE_Pyba_BLS24</a>; </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae8bac523c5499b15a52f345fe8588c60">CURVE_Pybb_BLS24</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* ECP4 E(FP4) prototypes */</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_isinf(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_copy(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_inf(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_equals(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_affine(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_get(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_output(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_toOctet(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_fromOctet(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_rhs(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_set(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_setx(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_neg(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_reduce(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_dbl(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_add(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_sub(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_mul(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_frob_constants(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> F[3]);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_frob(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> F[3],<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_mul8(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> *b);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_mapit(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_generator(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *G);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP4__BLS24_html_ae1a2f4a86cd9ff888237360a620fab96"><div class="ttname"><a href="structECP4__BLS24.html#ae1a2f4a86cd9ff888237360a620fab96">ECP4_BLS24::x</a></div><div class="ttdeci">FP4_BLS24 x</div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:34</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;<span class="preprocessor">#ifndef ECP4_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define ECP4_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="fp4__BLS24_8h.html">fp4_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS24.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html">   31</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">//   int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html#ae1a2f4a86cd9ff888237360a620fab96">   34</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structECP4__BLS24.html#ae1a2f4a86cd9ff888237360a620fab96">x</a>;   </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html#a0d6f24c2f8bd515988d0502641e867c7">   35</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structECP4__BLS24.html#a0d6f24c2f8bd515988d0502641e867c7">y</a>;   </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structECP4__BLS24.html#ad8ed2a95beb461dd97345c3576edc5b3">   36</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structECP4__BLS24.html#ad8ed2a95beb461dd97345c3576edc5b3">z</a>;   </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;} <a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a>;</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">/* Curve Params - see rom.c */</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#a59c72befb1fca5876fb98faf4890a2f5">CURVE_A_BLS24</a>;     </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ab4c72c21dc0f96af5977a03449602e18">CURVE_B_I_BLS24</a>;       </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac074a4af9cafd14c99d7c4e6aa217902">CURVE_B_BLS24</a>;     </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae7c4dab2fcc38267ee55e8486353e6bb">CURVE_Order_BLS24</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a6dcb8975059fc77c530eaec5985600a1">CURVE_Cof_BLS24</a>;   </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a>; </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ab8a474f3e45150b683267a5aa22f2da7">CURVE_Gx_BLS24</a>; </div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#adfd87f5cf903318fad6f098a646b239e">CURVE_Gy_BLS24</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* For Pairings only */</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="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#abcd2ae9ef4c96498779ed3c6d654638a">CURVE_Pxaa_BLS24</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac75cd9cc63ab25493e17dfdcb3b0a640">CURVE_Pxab_BLS24</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a672f62e0179d358ade10d46964bf6c7b">CURVE_Pxba_BLS24</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aaac3bea0ed3847436687290427482a9a">CURVE_Pxbb_BLS24</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a81999fd7288b0ab7e3c2bedaa6ca6bc2">CURVE_Pyaa_BLS24</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a00a6eb80b9ceba018c4fa426d73d2cc3">CURVE_Pyab_BLS24</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa7878b56c09aea820d68e12b2c8bcff0">CURVE_Pyba_BLS24</a>; </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae8bac523c5499b15a52f345fe8588c60">CURVE_Pybb_BLS24</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* ECP4 E(FP4) prototypes */</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_isinf(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_copy(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_inf(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_equals(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_affine(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_get(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_output(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_toOctet(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_fromOctet(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_rhs(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_set(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_setx(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_neg(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_reduce(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_dbl(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP4_BLS24_add(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_sub(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_mul(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_frob_constants(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> F[3]);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_frob(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> F[3],<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_mul8(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *Q,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> *b);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_mapit(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP4_BLS24_generator(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *G);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP4__BLS24_html_ae1a2f4a86cd9ff888237360a620fab96"><div class="ttname"><a href="structECP4__BLS24.html#ae1a2f4a86cd9ff888237360a620fab96">ECP4_BLS24::x</a></div><div class="ttdeci">FP4_BLS24 x</div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:34</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a81999fd7288b0ab7e3c2bedaa6ca6bc2"><div class="ttname"><a href="ecp__BLS24_8h.html#a81999fd7288b0ab7e3c2bedaa6ca6bc2">CURVE_Pyaa_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyaa_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a672f62e0179d358ade10d46964bf6c7b"><div class="ttname"><a href="ecp__BLS24_8h.html#a672f62e0179d358ade10d46964bf6c7b">CURVE_Pxba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxba_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a00a6eb80b9ceba018c4fa426d73d2cc3"><div class="ttname"><a href="ecp__BLS24_8h.html#a00a6eb80b9ceba018c4fa426d73d2cc3">CURVE_Pyab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyab_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aa7878b56c09aea820d68e12b2c8bcff0"><div class="ttname"><a href="ecp__BLS24_8h.html#aa7878b56c09aea820d68e12b2c8bcff0">CURVE_Pyba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyba_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ae8bac523c5499b15a52f345fe8588c60"><div class="ttname"><a href="ecp__BLS24_8h.html#ae8bac523c5499b15a52f345fe8588c60">CURVE_Pybb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pybb_BLS24</div></div>
 <div class="ttc" id="structECP4__BLS24_html_ad8ed2a95beb461dd97345c3576edc5b3"><div class="ttname"><a href="structECP4__BLS24.html#ad8ed2a95beb461dd97345c3576edc5b3">ECP4_BLS24::z</a></div><div class="ttdeci">FP4_BLS24 z</div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:36</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="ecp__BLS24_8h_html_ace1762644c051c9e3624407912507ae1"><div class="ttname"><a href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a></div><div class="ttdeci">const BIG_480_56 Fra_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ac074a4af9cafd14c99d7c4e6aa217902"><div class="ttname"><a href="ecp__BLS24_8h.html#ac074a4af9cafd14c99d7c4e6aa217902">CURVE_B_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_B_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ae504594c892c33118948f80c86f4abae"><div class="ttname"><a href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a></div><div class="ttdeci">const BIG_480_56 Frb_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ae7c4dab2fcc38267ee55e8486353e6bb"><div class="ttname"><a href="ecp__BLS24_8h.html#ae7c4dab2fcc38267ee55e8486353e6bb">CURVE_Order_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Order_BLS24</div></div>
 <div class="ttc" id="structECP4__BLS24_html_a0d6f24c2f8bd515988d0502641e867c7"><div class="ttname"><a href="structECP4__BLS24.html#a0d6f24c2f8bd515988d0502641e867c7">ECP4_BLS24::y</a></div><div class="ttdeci">FP4_BLS24 y</div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:35</div></div>
-<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
+<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_abcd2ae9ef4c96498779ed3c6d654638a"><div class="ttname"><a href="ecp__BLS24_8h.html#abcd2ae9ef4c96498779ed3c6d654638a">CURVE_Pxaa_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxaa_BLS24</div></div>
-<div class="ttc" id="structFP4__BLS24_html"><div class="ttname"><a href="structFP4__BLS24.html">FP4_BLS24</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:37</div></div>
+<div class="ttc" id="structFP4__BLS24_html"><div class="ttname"><a href="structFP4__BLS24.html">FP4_BLS24</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:37</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_adfd87f5cf903318fad6f098a646b239e"><div class="ttname"><a href="ecp__BLS24_8h.html#adfd87f5cf903318fad6f098a646b239e">CURVE_Gy_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Gy_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a709d65f7c1cf566606d66655cfc181b9"><div class="ttname"><a href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Bnx_BLS24</div></div>
-<div class="ttc" id="structECP4__BLS24_html"><div class="ttname"><a href="structECP4__BLS24.html">ECP4_BLS24</a></div><div class="ttdoc">ECP4 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:31</div></div>
+<div class="ttc" id="structECP4__BLS24_html"><div class="ttname"><a href="structECP4__BLS24.html">ECP4_BLS24</a></div><div class="ttdoc">ECP4 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:31</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a6dcb8975059fc77c530eaec5985600a1"><div class="ttname"><a href="ecp__BLS24_8h.html#a6dcb8975059fc77c530eaec5985600a1">CURVE_Cof_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Cof_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ab8a474f3e45150b683267a5aa22f2da7"><div class="ttname"><a href="ecp__BLS24_8h.html#ab8a474f3e45150b683267a5aa22f2da7">CURVE_Gx_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Gx_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ac75cd9cc63ab25493e17dfdcb3b0a640"><div class="ttname"><a href="ecp__BLS24_8h.html#ac75cd9cc63ab25493e17dfdcb3b0a640">CURVE_Pxab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxab_BLS24</div></div>
@@ -95,13 +98,13 @@
 <div class="ttc" id="ecp__BLS24_8h_html_a59c72befb1fca5876fb98faf4890a2f5"><div class="ttname"><a href="ecp__BLS24_8h.html#a59c72befb1fca5876fb98faf4890a2f5">CURVE_A_BLS24</a></div><div class="ttdeci">const int CURVE_A_BLS24</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ab4c72c21dc0f96af5977a03449602e18"><div class="ttname"><a href="ecp__BLS24_8h.html#ab4c72c21dc0f96af5977a03449602e18">CURVE_B_I_BLS24</a></div><div class="ttdeci">const int CURVE_B_I_BLS24</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html"><div class="ttname"><a href="fp4__BLS24_8h.html">fp4_BLS24.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html"><div class="ttname"><a href="fp4__BLS24_8h.html">fp4_BLS24.h</a></div><div class="ttdoc">FP4 Header File. </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/ecp8__BLS48_8h_source.html b/website/static/cdocs/ecp8__BLS48_8h_source.html
index 7bbbddd..62ecd76 100644
--- a/website/static/cdocs/ecp8__BLS48_8h_source.html
+++ b/website/static/cdocs/ecp8__BLS48_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: ecp8_BLS48.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,21 +72,21 @@
 <div class="title">ecp8_BLS48.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;<span class="preprocessor">#ifndef ECP8_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define ECP8_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp8_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a>; </div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a>; </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html">   35</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html#a7ac275f21e2c7c5e7d65d7b9a27b2b3a">   38</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structECP8__BLS48.html#a7ac275f21e2c7c5e7d65d7b9a27b2b3a">x</a>;   </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html#aef25439754713d83926310f1baaa870f">   39</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structECP8__BLS48.html#aef25439754713d83926310f1baaa870f">y</a>;   </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html#a3c9b9e61c408e80689dc8a3b42eff643">   40</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structECP8__BLS48.html#a3c9b9e61c408e80689dc8a3b42eff643">z</a>;        </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Curve Params - see rom.c */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3917e09a55585c3e0dc3317be205eeab">CURVE_A_BLS48</a>;         </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3b746fcf1d5a148b2570eb85f950bcd8">CURVE_B_I_BLS48</a>;               </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5048f309ad7888cca5cf18aa44d25af5">CURVE_B_BLS48</a>;     </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a650d4e749a405f948be20b14a7c055f8">CURVE_Order_BLS48</a>; </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7f3cd43c6bf74c06d854f7342838b961">CURVE_Cof_BLS48</a>;   </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a>;   </div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> CURVE_Gx; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> CURVE_Gy; </div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a99040006d680b4052da88d4ae233aef6">CURVE_Pxaaa_BLS48</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af58e7ac25c14ec7b6f7b46c4a2034a2b">CURVE_Pxaab_BLS48</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ace880a2d3a39350cf0c3dc54a4fbb4f9">CURVE_Pxaba_BLS48</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3dd5c0f4dbe4a88c9eb60d7a79a3bef0">CURVE_Pxabb_BLS48</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3fbf5fc9c00722793a98eeefb12b345a">CURVE_Pxbaa_BLS48</a>; </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1ef348b577814b70c6d28ab20be0f3f1">CURVE_Pxbab_BLS48</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af032815e4b100f1f5504d88c8512d607">CURVE_Pxbba_BLS48</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a416e27b4a1c553eb9f43f14de2b29e69">CURVE_Pxbbb_BLS48</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6e07d91c9849aa0faa8d406edc201fc3">CURVE_Pyaaa_BLS48</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a4ff8df2608f406dbb0f7b493c82c0b34">CURVE_Pyaab_BLS48</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aabda97b93f0e7b24e5686de2abac4f19">CURVE_Pyaba_BLS48</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ade0ccccb67ffdd9a91c275b68adc7eef">CURVE_Pyabb_BLS48</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aee83aec0bc1e27f01d5ef97ed623447f">CURVE_Pybaa_BLS48</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6618fe8236c13970f32fdd8d32fe22d4">CURVE_Pybab_BLS48</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa0bd83cc19752cd941d6bb6df821b6a1">CURVE_Pybba_BLS48</a>; </div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a19928ac15635fbc87ecbcafc6da79c4f">CURVE_Pybbb_BLS48</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">/* ECP8 E(FP8) prototypes */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_isinf(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_copy(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_inf(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_equals(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_affine(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_get(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_output(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_toOctet(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_fromOctet(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_rhs(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *r,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_set(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_setx(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_neg(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_reduce(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_dbl(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_add(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_sub(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_mul(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_frob_constants(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> F[3]);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_frob(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> F[3],<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_mul16(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> *b);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_mapit(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_generator(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *G);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS48_8h_html_a3917e09a55585c3e0dc3317be205eeab"><div class="ttname"><a href="ecp__BLS48_8h.html#a3917e09a55585c3e0dc3317be205eeab">CURVE_A_BLS48</a></div><div class="ttdeci">const int CURVE_A_BLS48</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;<span class="preprocessor">#ifndef ECP8_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define ECP8_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp8_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a>; </div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a>; </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html">   35</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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">//    int inf; /**&lt; Infinity Flag */</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html#a7ac275f21e2c7c5e7d65d7b9a27b2b3a">   38</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structECP8__BLS48.html#a7ac275f21e2c7c5e7d65d7b9a27b2b3a">x</a>;   </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html#aef25439754713d83926310f1baaa870f">   39</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structECP8__BLS48.html#aef25439754713d83926310f1baaa870f">y</a>;   </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structECP8__BLS48.html#a3c9b9e61c408e80689dc8a3b42eff643">   40</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structECP8__BLS48.html#a3c9b9e61c408e80689dc8a3b42eff643">z</a>;    </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Curve Params - see rom.c */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3917e09a55585c3e0dc3317be205eeab">CURVE_A_BLS48</a>;     </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3b746fcf1d5a148b2570eb85f950bcd8">CURVE_B_I_BLS48</a>;       </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5048f309ad7888cca5cf18aa44d25af5">CURVE_B_BLS48</a>;     </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a650d4e749a405f948be20b14a7c055f8">CURVE_Order_BLS48</a>; </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7f3cd43c6bf74c06d854f7342838b961">CURVE_Cof_BLS48</a>;   </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a>;   </div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> CURVE_Gx; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> CURVE_Gy; </div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">/* For Pairings only */</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* Generator point on G2 */</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a99040006d680b4052da88d4ae233aef6">CURVE_Pxaaa_BLS48</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af58e7ac25c14ec7b6f7b46c4a2034a2b">CURVE_Pxaab_BLS48</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ace880a2d3a39350cf0c3dc54a4fbb4f9">CURVE_Pxaba_BLS48</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3dd5c0f4dbe4a88c9eb60d7a79a3bef0">CURVE_Pxabb_BLS48</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3fbf5fc9c00722793a98eeefb12b345a">CURVE_Pxbaa_BLS48</a>; </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1ef348b577814b70c6d28ab20be0f3f1">CURVE_Pxbab_BLS48</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af032815e4b100f1f5504d88c8512d607">CURVE_Pxbba_BLS48</a>; </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a416e27b4a1c553eb9f43f14de2b29e69">CURVE_Pxbbb_BLS48</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6e07d91c9849aa0faa8d406edc201fc3">CURVE_Pyaaa_BLS48</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a4ff8df2608f406dbb0f7b493c82c0b34">CURVE_Pyaab_BLS48</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aabda97b93f0e7b24e5686de2abac4f19">CURVE_Pyaba_BLS48</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ade0ccccb67ffdd9a91c275b68adc7eef">CURVE_Pyabb_BLS48</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aee83aec0bc1e27f01d5ef97ed623447f">CURVE_Pybaa_BLS48</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6618fe8236c13970f32fdd8d32fe22d4">CURVE_Pybab_BLS48</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa0bd83cc19752cd941d6bb6df821b6a1">CURVE_Pybba_BLS48</a>; </div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a19928ac15635fbc87ecbcafc6da79c4f">CURVE_Pybbb_BLS48</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">/* ECP8 E(FP8) prototypes */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_isinf(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_copy(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_inf(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_equals(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_affine(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_get(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_output(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_toOctet(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_fromOctet(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_rhs(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *r,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_set(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_setx(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_neg(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_reduce(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_dbl(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP8_BLS48_add(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_sub(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_mul(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_frob_constants(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> F[3]);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_frob(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> F[3],<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_mul16(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *Q,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> *b);</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_mapit(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP8_BLS48_generator(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *G);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS48_8h_html_a3917e09a55585c3e0dc3317be205eeab"><div class="ttname"><a href="ecp__BLS48_8h.html#a3917e09a55585c3e0dc3317be205eeab">CURVE_A_BLS48</a></div><div class="ttdeci">const int CURVE_A_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aa0bd83cc19752cd941d6bb6df821b6a1"><div class="ttname"><a href="ecp__BLS48_8h.html#aa0bd83cc19752cd941d6bb6df821b6a1">CURVE_Pybba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pybba_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_af032815e4b100f1f5504d88c8512d607"><div class="ttname"><a href="ecp__BLS48_8h.html#af032815e4b100f1f5504d88c8512d607">CURVE_Pxbba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxbba_BLS48</div></div>
 <div class="ttc" id="structECP8__BLS48_html_a7ac275f21e2c7c5e7d65d7b9a27b2b3a"><div class="ttname"><a href="structECP8__BLS48.html#a7ac275f21e2c7c5e7d65d7b9a27b2b3a">ECP8_BLS48::x</a></div><div class="ttdeci">FP8_BLS48 x</div><div class="ttdef"><b>Definition:</b> ecp8_BLS48.h:38</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a19928ac15635fbc87ecbcafc6da79c4f"><div class="ttname"><a href="ecp__BLS48_8h.html#a19928ac15635fbc87ecbcafc6da79c4f">CURVE_Pybbb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pybbb_BLS48</div></div>
 <div class="ttc" id="structECP8__BLS48_html_aef25439754713d83926310f1baaa870f"><div class="ttname"><a href="structECP8__BLS48.html#aef25439754713d83926310f1baaa870f">ECP8_BLS48::y</a></div><div class="ttdeci">FP8_BLS48 y</div><div class="ttdef"><b>Definition:</b> ecp8_BLS48.h:39</div></div>
-<div class="ttc" id="structECP8__BLS48_html"><div class="ttname"><a href="structECP8__BLS48.html">ECP8_BLS48</a></div><div class="ttdoc">ECP8 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp8_BLS48.h:35</div></div>
+<div class="ttc" id="structECP8__BLS48_html"><div class="ttname"><a href="structECP8__BLS48.html">ECP8_BLS48</a></div><div class="ttdoc">ECP8 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp8_BLS48.h:35</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ade0ccccb67ffdd9a91c275b68adc7eef"><div class="ttname"><a href="ecp__BLS48_8h.html#ade0ccccb67ffdd9a91c275b68adc7eef">CURVE_Pyabb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyabb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ace880a2d3a39350cf0c3dc54a4fbb4f9"><div class="ttname"><a href="ecp__BLS48_8h.html#ace880a2d3a39350cf0c3dc54a4fbb4f9">CURVE_Pxaba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxaba_BLS48</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="ecp__BLS48_8h_html_a3b746fcf1d5a148b2570eb85f950bcd8"><div class="ttname"><a href="ecp__BLS48_8h.html#a3b746fcf1d5a148b2570eb85f950bcd8">CURVE_B_I_BLS48</a></div><div class="ttdeci">const int CURVE_B_I_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a93bf4c71a6093999ba8e5a84de936a5d"><div class="ttname"><a href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a></div><div class="ttdeci">const BIG_560_58 Frb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a416e27b4a1c553eb9f43f14de2b29e69"><div class="ttname"><a href="ecp__BLS48_8h.html#a416e27b4a1c553eb9f43f14de2b29e69">CURVE_Pxbbb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxbbb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_af58e7ac25c14ec7b6f7b46c4a2034a2b"><div class="ttname"><a href="ecp__BLS48_8h.html#af58e7ac25c14ec7b6f7b46c4a2034a2b">CURVE_Pxaab_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxaab_BLS48</div></div>
-<div class="ttc" id="structFP8__BLS48_html"><div class="ttname"><a href="structFP8__BLS48.html">FP8_BLS48</a></div><div class="ttdoc">FP8 Structure - towered over two FP4.</div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:31</div></div>
+<div class="ttc" id="structFP8__BLS48_html"><div class="ttname"><a href="structFP8__BLS48.html">FP8_BLS48</a></div><div class="ttdoc">FP8 Structure - towered over two FP4. </div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:31</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aa2f84b8ba9625ad4617db4dfb8c84194"><div class="ttname"><a href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a></div><div class="ttdeci">const BIG_560_58 Fra_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a3dd5c0f4dbe4a88c9eb60d7a79a3bef0"><div class="ttname"><a href="ecp__BLS48_8h.html#a3dd5c0f4dbe4a88c9eb60d7a79a3bef0">CURVE_Pxabb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxabb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a650d4e749a405f948be20b14a7c055f8"><div class="ttname"><a href="ecp__BLS48_8h.html#a650d4e749a405f948be20b14a7c055f8">CURVE_Order_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Order_BLS48</div></div>
@@ -94,7 +97,7 @@
 <div class="ttc" id="ecp__BLS48_8h_html_a1a09fcdee43807fb24f1265b5fffd56b"><div class="ttname"><a href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Bnx_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a5048f309ad7888cca5cf18aa44d25af5"><div class="ttname"><a href="ecp__BLS48_8h.html#a5048f309ad7888cca5cf18aa44d25af5">CURVE_B_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_B_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a99040006d680b4052da88d4ae233aef6"><div class="ttname"><a href="ecp__BLS48_8h.html#a99040006d680b4052da88d4ae233aef6">CURVE_Pxaaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxaaa_BLS48</div></div>
-<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
+<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aee83aec0bc1e27f01d5ef97ed623447f"><div class="ttname"><a href="ecp__BLS48_8h.html#aee83aec0bc1e27f01d5ef97ed623447f">CURVE_Pybaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pybaa_BLS48</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aabda97b93f0e7b24e5686de2abac4f19"><div class="ttname"><a href="ecp__BLS48_8h.html#aabda97b93f0e7b24e5686de2abac4f19">CURVE_Pyaba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyaba_BLS48</div></div>
@@ -106,7 +109,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/ecp__ANSSI_8h.html b/website/static/cdocs/ecp__ANSSI_8h.html
index c1471c4..a1ba5c6 100644
--- a/website/static/cdocs/ecp__ANSSI_8h.html
+++ b/website/static/cdocs/ecp__ANSSI_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: ecp_ANSSI.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"
@@ -1705,7 +1708,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/ecp__ANSSI_8h_source.html b/website/static/cdocs/ecp__ANSSI_8h_source.html
index a95e9db..8bf1cce 100644
--- a/website/static/cdocs/ecp__ANSSI_8h_source.html
+++ b/website/static/cdocs/ecp__ANSSI_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: ecp_ANSSI.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,33 +72,33 @@
 <div class="title">ecp_ANSSI.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__ANSSI_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 ECP_ANSSI_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_ANSSI_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 &quot;<a class="code" href="fp__ANSSI_8h.html">fp_ANSSI.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_ANSSI.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#aa79e62d7f00e17e33e041eabea4f8107">CURVE_A_ANSSI</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#ab8ca364427205bccbaff4dcbcbb84458">CURVE_Cof_I_ANSSI</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a76a3f2a61c7839f10c39e5d8de7414a9">CURVE_B_I_ANSSI</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aab92831db3f57bea7d71fc018027f120">CURVE_B_ANSSI</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aaf78446ff829f6f93d1dc3aaa6bbc989">CURVE_Order_ANSSI</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a433b9e32352d2161c2f95455355d2203">CURVE_Cof_ANSSI</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a82556c887d89785e27a7b77aac7fbe23">CURVE_Gx_ANSSI</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aee63d2dd7ef5cdb629ca9c805a7c7e30">CURVE_Gy_ANSSI</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a33c5b3570de3d153edf6c3e837ba3ccd">CURVE_Pxa_ANSSI</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#af11be28d151b594d860c6c627b2045a7">CURVE_Pxb_ANSSI</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a70c1c7a703218a2f40d51d695a8016cc">CURVE_Pya_ANSSI</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a254b2f332230fe2b8d41f7b1cf159e21">CURVE_Pyb_ANSSI</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a2d150f1e03674a7ba4877eb6e2fc4656">CURVE_Pxaa_ANSSI</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a7dc2126c4a8658a4ad6b86a6691ea801">CURVE_Pxab_ANSSI</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aa8d218184a427f6f01d650097d05c74f">CURVE_Pxba_ANSSI</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aff0924d6ba9881b0e7fc931235a2e45d">CURVE_Pxbb_ANSSI</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#adbab29d08a6a56910c46ac25be687f1e">CURVE_Pyaa_ANSSI</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a4dac869f7d83f7091cc3052c50bed447">CURVE_Pyab_ANSSI</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a883f9a7aa7a4e51d06f9cf35ce0d24d7">CURVE_Pyba_ANSSI</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a074c3c77025c4b997a1ad2eb6f931b6b">CURVE_Pybb_ANSSI</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ac8d03fee8bd26b5f053504d4340723c5">CURVE_Pxaaa_ANSSI</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a7372b51b265e4fe75985c2bb7bbd7b34">CURVE_Pxaab_ANSSI</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aa89fc806ae4cc3028101ae64fe405b70">CURVE_Pxaba_ANSSI</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a079581eabcc21a3d1df05f60888deaa5">CURVE_Pxabb_ANSSI</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a44c8ff3c343fcf4b84147f321c34f208">CURVE_Pxbaa_ANSSI</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a3189d5e6053ef3aa9410a7b5c763cfe4">CURVE_Pxbab_ANSSI</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a4cb1808d29fc2634380e1ee1f892288d">CURVE_Pxbba_ANSSI</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a562bbd52b3eb7c69931d895f3d584e5c">CURVE_Pxbbb_ANSSI</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a8ae00102d06e3af18c7ee8b03327e1f8">CURVE_Pyaaa_ANSSI</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a0cc4b55738c317fe070e47dac159e0e8">CURVE_Pyaab_ANSSI</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a37dfd533d9ab75a085c16d33c23176c0">CURVE_Pyaba_ANSSI</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a3d1cd0f1ad5ed88cb95753236e2b21d4">CURVE_Pyabb_ANSSI</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a2bf6588803cda7724f77f32a5660c1a0">CURVE_Pybaa_ANSSI</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ad3f0b4c35800a66a4f918e908c583b7c">CURVE_Pybab_ANSSI</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a90221ca73526c2ce779effc773a5fcaf">CURVE_Pybba_ANSSI</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a1e6314cadb46cba83abe51ad7be62c27">CURVE_Pybbb_ANSSI</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ae20b6402833e880d2bcc298f75b05360">CURVE_Bnx_ANSSI</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a8b7774a711a587edd2cc93df8793a49e">CURVE_Cru_ANSSI</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a7e31ca5c45630c5af66f4b67c80d1a00">Fra_ANSSI</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a0cffb63c00de8c0a58b24f3dda24b160">Frb_ANSSI</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a1a1d85782c1cd3fb0cbb800457efd7b3">CURVE_W_ANSSI</a>[2];        </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ad83df5e534007e9865fdb87f264dc844">CURVE_SB_ANSSI</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ab935bd53227dbaacd8e07bea6da14482">CURVE_WB_ANSSI</a>[4];       </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a945437014a96861e01e09217a337120e">CURVE_BB_ANSSI</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html#ac61016ec16a2157faf6e90ae11bf25bb">  109</a></span>&#160;    <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> <a class="code" href="structECP__ANSSI.html#ac61016ec16a2157faf6e90ae11bf25bb">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_ANSSI!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html#ac1bd22b8ac199955a95ff32b1c3da0ca">  111</a></span>&#160;    <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> <a class="code" href="structECP__ANSSI.html#ac1bd22b8ac199955a95ff32b1c3da0ca">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html#a6482007d6cb593703f0714e46f7f5d90">  113</a></span>&#160;    <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> <a class="code" href="structECP__ANSSI.html#a6482007d6cb593703f0714e46f7f5d90">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a30bfe1abc74dd5d987d1e174e2e9c0a1">ECP_ANSSI_isinf</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a3aab91113b1fa8e725630aea9c02529a">ECP_ANSSI_equals</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a4afa6bc009ce83fc9ff173882e8adcce">ECP_ANSSI_copy</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</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="ecp__ANSSI_8h.html#abc78f0f803fba0d4ac9924fc0b32daa3">ECP_ANSSI_neg</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</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="ecp__ANSSI_8h.html#a5118c8b353e8c56812829ef5811f62a2">ECP_ANSSI_inf</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ab0f5556042bdf78b27ce54e7f65d9a03">ECP_ANSSI_rhs</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *r,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_ANSSI==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a9a33a1496566e4bb89f75df5f749628a">ECP_ANSSI_set</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a7c8453dc3b9592f130beecbd4a69534d">ECP_ANSSI_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad7dec7be20b573278323bd279619e4aa">ECP_ANSSI_add</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a9a33a1496566e4bb89f75df5f749628a">ECP_ANSSI_set</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a7c8453dc3b9592f130beecbd4a69534d">ECP_ANSSI_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad7dec7be20b573278323bd279619e4aa">ECP_ANSSI_add</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</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="ecp__ANSSI_8h.html#acc245a1013de8773e9c676ed176b11ce">ECP_ANSSI_sub</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a6cb72561d12563f6f45614f726dd22db">ECP_ANSSI_setx</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a02abd3a009fe2323d13888f41cfde922">ECP_ANSSI_cfp</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad15c7272c63ce32908f94f554cc7ad7f">ECP_ANSSI_mapit</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a0c1b914671f4f42244ec46295a31a77f">ECP_ANSSI_affine</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a7d70a7aa0b60589e4eff493b2b89d19d">ECP_ANSSI_outputxyz</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</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="ecp__ANSSI_8h.html#ad3a89e47c85b0df636d7374c1800307e">ECP_ANSSI_output</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#acfea0b61d68996b3634ccb70e4bc14bc">ECP_ANSSI_rawoutput</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a2ddd828cb6bae3eb3e338b0a21f81f03">ECP_ANSSI_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#ae2ceed8dc778b4d0d454bdf9c320127b">ECP_ANSSI_fromOctet</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad016c83dc374db3139d9d000fe8fe8d6">ECP_ANSSI_dbl</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a43284c629b65d37fb85007f7a25fa2bf">ECP_ANSSI_pinmul</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#aff353f9a5b79d0436f1cd05256fe37fc">ECP_ANSSI_mul</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a8636bc1845ddca55b37decec5cc7abd7">ECP_ANSSI_mul2</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a09ea02373da3cfd0606fec285b7ff6ef">ECP_ANSSI_generator</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__ANSSI_8h_html_a9a33a1496566e4bb89f75df5f749628a"><div class="ttname"><a href="ecp__ANSSI_8h.html#a9a33a1496566e4bb89f75df5f749628a">ECP_ANSSI_set</a></div><div class="ttdeci">int ECP_ANSSI_set(ECP_ANSSI *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<a href="ecp__ANSSI_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 ECP_ANSSI_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_ANSSI_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 &quot;<a class="code" href="fp__ANSSI_8h.html">fp_ANSSI.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_ANSSI.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#aa79e62d7f00e17e33e041eabea4f8107">CURVE_A_ANSSI</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#ab8ca364427205bccbaff4dcbcbb84458">CURVE_Cof_I_ANSSI</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a76a3f2a61c7839f10c39e5d8de7414a9">CURVE_B_I_ANSSI</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aab92831db3f57bea7d71fc018027f120">CURVE_B_ANSSI</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aaf78446ff829f6f93d1dc3aaa6bbc989">CURVE_Order_ANSSI</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a433b9e32352d2161c2f95455355d2203">CURVE_Cof_ANSSI</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a82556c887d89785e27a7b77aac7fbe23">CURVE_Gx_ANSSI</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aee63d2dd7ef5cdb629ca9c805a7c7e30">CURVE_Gy_ANSSI</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a33c5b3570de3d153edf6c3e837ba3ccd">CURVE_Pxa_ANSSI</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#af11be28d151b594d860c6c627b2045a7">CURVE_Pxb_ANSSI</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a70c1c7a703218a2f40d51d695a8016cc">CURVE_Pya_ANSSI</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a254b2f332230fe2b8d41f7b1cf159e21">CURVE_Pyb_ANSSI</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a2d150f1e03674a7ba4877eb6e2fc4656">CURVE_Pxaa_ANSSI</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a7dc2126c4a8658a4ad6b86a6691ea801">CURVE_Pxab_ANSSI</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aa8d218184a427f6f01d650097d05c74f">CURVE_Pxba_ANSSI</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aff0924d6ba9881b0e7fc931235a2e45d">CURVE_Pxbb_ANSSI</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#adbab29d08a6a56910c46ac25be687f1e">CURVE_Pyaa_ANSSI</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a4dac869f7d83f7091cc3052c50bed447">CURVE_Pyab_ANSSI</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a883f9a7aa7a4e51d06f9cf35ce0d24d7">CURVE_Pyba_ANSSI</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a074c3c77025c4b997a1ad2eb6f931b6b">CURVE_Pybb_ANSSI</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ac8d03fee8bd26b5f053504d4340723c5">CURVE_Pxaaa_ANSSI</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a7372b51b265e4fe75985c2bb7bbd7b34">CURVE_Pxaab_ANSSI</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#aa89fc806ae4cc3028101ae64fe405b70">CURVE_Pxaba_ANSSI</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a079581eabcc21a3d1df05f60888deaa5">CURVE_Pxabb_ANSSI</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a44c8ff3c343fcf4b84147f321c34f208">CURVE_Pxbaa_ANSSI</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a3189d5e6053ef3aa9410a7b5c763cfe4">CURVE_Pxbab_ANSSI</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a4cb1808d29fc2634380e1ee1f892288d">CURVE_Pxbba_ANSSI</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a562bbd52b3eb7c69931d895f3d584e5c">CURVE_Pxbbb_ANSSI</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a8ae00102d06e3af18c7ee8b03327e1f8">CURVE_Pyaaa_ANSSI</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a0cc4b55738c317fe070e47dac159e0e8">CURVE_Pyaab_ANSSI</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a37dfd533d9ab75a085c16d33c23176c0">CURVE_Pyaba_ANSSI</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a3d1cd0f1ad5ed88cb95753236e2b21d4">CURVE_Pyabb_ANSSI</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a2bf6588803cda7724f77f32a5660c1a0">CURVE_Pybaa_ANSSI</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ad3f0b4c35800a66a4f918e908c583b7c">CURVE_Pybab_ANSSI</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a90221ca73526c2ce779effc773a5fcaf">CURVE_Pybba_ANSSI</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a1e6314cadb46cba83abe51ad7be62c27">CURVE_Pybbb_ANSSI</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ae20b6402833e880d2bcc298f75b05360">CURVE_Bnx_ANSSI</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a8b7774a711a587edd2cc93df8793a49e">CURVE_Cru_ANSSI</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a7e31ca5c45630c5af66f4b67c80d1a00">Fra_ANSSI</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a0cffb63c00de8c0a58b24f3dda24b160">Frb_ANSSI</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a1a1d85782c1cd3fb0cbb800457efd7b3">CURVE_W_ANSSI</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ad83df5e534007e9865fdb87f264dc844">CURVE_SB_ANSSI</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#ab935bd53227dbaacd8e07bea6da14482">CURVE_WB_ANSSI</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ANSSI_8h.html#a945437014a96861e01e09217a337120e">CURVE_BB_ANSSI</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html#ac61016ec16a2157faf6e90ae11bf25bb">  109</a></span>&#160;    <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> <a class="code" href="structECP__ANSSI.html#ac61016ec16a2157faf6e90ae11bf25bb">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_ANSSI!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html#ac1bd22b8ac199955a95ff32b1c3da0ca">  111</a></span>&#160;    <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> <a class="code" href="structECP__ANSSI.html#ac1bd22b8ac199955a95ff32b1c3da0ca">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__ANSSI.html#a6482007d6cb593703f0714e46f7f5d90">  113</a></span>&#160;    <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> <a class="code" href="structECP__ANSSI.html#a6482007d6cb593703f0714e46f7f5d90">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a30bfe1abc74dd5d987d1e174e2e9c0a1">ECP_ANSSI_isinf</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a3aab91113b1fa8e725630aea9c02529a">ECP_ANSSI_equals</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a4afa6bc009ce83fc9ff173882e8adcce">ECP_ANSSI_copy</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</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="ecp__ANSSI_8h.html#abc78f0f803fba0d4ac9924fc0b32daa3">ECP_ANSSI_neg</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</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="ecp__ANSSI_8h.html#a5118c8b353e8c56812829ef5811f62a2">ECP_ANSSI_inf</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ab0f5556042bdf78b27ce54e7f65d9a03">ECP_ANSSI_rhs</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *r,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_ANSSI==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a9a33a1496566e4bb89f75df5f749628a">ECP_ANSSI_set</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a7c8453dc3b9592f130beecbd4a69534d">ECP_ANSSI_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad7dec7be20b573278323bd279619e4aa">ECP_ANSSI_add</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a9a33a1496566e4bb89f75df5f749628a">ECP_ANSSI_set</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a7c8453dc3b9592f130beecbd4a69534d">ECP_ANSSI_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad7dec7be20b573278323bd279619e4aa">ECP_ANSSI_add</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</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="ecp__ANSSI_8h.html#acc245a1013de8773e9c676ed176b11ce">ECP_ANSSI_sub</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#a6cb72561d12563f6f45614f726dd22db">ECP_ANSSI_setx</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a02abd3a009fe2323d13888f41cfde922">ECP_ANSSI_cfp</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad15c7272c63ce32908f94f554cc7ad7f">ECP_ANSSI_mapit</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a0c1b914671f4f42244ec46295a31a77f">ECP_ANSSI_affine</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a7d70a7aa0b60589e4eff493b2b89d19d">ECP_ANSSI_outputxyz</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</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="ecp__ANSSI_8h.html#ad3a89e47c85b0df636d7374c1800307e">ECP_ANSSI_output</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#acfea0b61d68996b3634ccb70e4bc14bc">ECP_ANSSI_rawoutput</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a2ddd828cb6bae3eb3e338b0a21f81f03">ECP_ANSSI_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ANSSI_8h.html#ae2ceed8dc778b4d0d454bdf9c320127b">ECP_ANSSI_fromOctet</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#ad016c83dc374db3139d9d000fe8fe8d6">ECP_ANSSI_dbl</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a43284c629b65d37fb85007f7a25fa2bf">ECP_ANSSI_pinmul</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#aff353f9a5b79d0436f1cd05256fe37fc">ECP_ANSSI_mul</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a8636bc1845ddca55b37decec5cc7abd7">ECP_ANSSI_mul2</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *P,<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ANSSI_8h.html#a09ea02373da3cfd0606fec285b7ff6ef">ECP_ANSSI_generator</a>(<a class="code" href="structECP__ANSSI.html">ECP_ANSSI</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__ANSSI_8h_html_a9a33a1496566e4bb89f75df5f749628a"><div class="ttname"><a href="ecp__ANSSI_8h.html#a9a33a1496566e4bb89f75df5f749628a">ECP_ANSSI_set</a></div><div class="ttdeci">int ECP_ANSSI_set(ECP_ANSSI *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_aff0924d6ba9881b0e7fc931235a2e45d"><div class="ttname"><a href="ecp__ANSSI_8h.html#aff0924d6ba9881b0e7fc931235a2e45d">CURVE_Pxbb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a7e31ca5c45630c5af66f4b67c80d1a00"><div class="ttname"><a href="ecp__ANSSI_8h.html#a7e31ca5c45630c5af66f4b67c80d1a00">Fra_ANSSI</a></div><div class="ttdeci">const BIG_256_56 Fra_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a0cffb63c00de8c0a58b24f3dda24b160"><div class="ttname"><a href="ecp__ANSSI_8h.html#a0cffb63c00de8c0a58b24f3dda24b160">Frb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 Frb_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a4afa6bc009ce83fc9ff173882e8adcce"><div class="ttname"><a href="ecp__ANSSI_8h.html#a4afa6bc009ce83fc9ff173882e8adcce">ECP_ANSSI_copy</a></div><div class="ttdeci">void ECP_ANSSI_copy(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:120</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a4afa6bc009ce83fc9ff173882e8adcce"><div class="ttname"><a href="ecp__ANSSI_8h.html#a4afa6bc009ce83fc9ff173882e8adcce">ECP_ANSSI_copy</a></div><div class="ttdeci">void ECP_ANSSI_copy(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:120</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_adbab29d08a6a56910c46ac25be687f1e"><div class="ttname"><a href="ecp__ANSSI_8h.html#adbab29d08a6a56910c46ac25be687f1e">CURVE_Pyaa_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_ANSSI</div></div>
-<div class="ttc" id="structFP__ANSSI_html"><div class="ttname"><a href="structFP__ANSSI.html">FP_ANSSI</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.h:38</div></div>
+<div class="ttc" id="structFP__ANSSI_html"><div class="ttname"><a href="structFP__ANSSI.html">FP_ANSSI</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.h:38</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a074c3c77025c4b997a1ad2eb6f931b6b"><div class="ttname"><a href="ecp__ANSSI_8h.html#a074c3c77025c4b997a1ad2eb6f931b6b">CURVE_Pybb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_aa79e62d7f00e17e33e041eabea4f8107"><div class="ttname"><a href="ecp__ANSSI_8h.html#aa79e62d7f00e17e33e041eabea4f8107">CURVE_A_ANSSI</a></div><div class="ttdeci">const int CURVE_A_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a43284c629b65d37fb85007f7a25fa2bf"><div class="ttname"><a href="ecp__ANSSI_8h.html#a43284c629b65d37fb85007f7a25fa2bf">ECP_ANSSI_pinmul</a></div><div class="ttdeci">void ECP_ANSSI_pinmul(ECP_ANSSI *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a43284c629b65d37fb85007f7a25fa2bf"><div class="ttname"><a href="ecp__ANSSI_8h.html#a43284c629b65d37fb85007f7a25fa2bf">ECP_ANSSI_pinmul</a></div><div class="ttdeci">void ECP_ANSSI_pinmul(ECP_ANSSI *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a1a1d85782c1cd3fb0cbb800457efd7b3"><div class="ttname"><a href="ecp__ANSSI_8h.html#a1a1d85782c1cd3fb0cbb800457efd7b3">CURVE_W_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_ANSSI[2]</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a33c5b3570de3d153edf6c3e837ba3ccd"><div class="ttname"><a href="ecp__ANSSI_8h.html#a33c5b3570de3d153edf6c3e837ba3ccd">CURVE_Pxa_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_ad15c7272c63ce32908f94f554cc7ad7f"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad15c7272c63ce32908f94f554cc7ad7f">ECP_ANSSI_mapit</a></div><div class="ttdeci">void ECP_ANSSI_mapit(ECP_ANSSI *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:365</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_ad15c7272c63ce32908f94f554cc7ad7f"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad15c7272c63ce32908f94f554cc7ad7f">ECP_ANSSI_mapit</a></div><div class="ttdeci">void ECP_ANSSI_mapit(ECP_ANSSI *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:365</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a1e6314cadb46cba83abe51ad7be62c27"><div class="ttname"><a href="ecp__ANSSI_8h.html#a1e6314cadb46cba83abe51ad7be62c27">CURVE_Pybbb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_ae20b6402833e880d2bcc298f75b05360"><div class="ttname"><a href="ecp__ANSSI_8h.html#ae20b6402833e880d2bcc298f75b05360">CURVE_Bnx_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_aa89fc806ae4cc3028101ae64fe405b70"><div class="ttname"><a href="ecp__ANSSI_8h.html#aa89fc806ae4cc3028101ae64fe405b70">CURVE_Pxaba_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_aaf78446ff829f6f93d1dc3aaa6bbc989"><div class="ttname"><a href="ecp__ANSSI_8h.html#aaf78446ff829f6f93d1dc3aaa6bbc989">CURVE_Order_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_ANSSI</div></div>
-<div class="ttc" id="structECP__ANSSI_html"><div class="ttname"><a href="structECP__ANSSI.html">ECP_ANSSI</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.h:105</div></div>
+<div class="ttc" id="structECP__ANSSI_html"><div class="ttname"><a href="structECP__ANSSI.html">ECP_ANSSI</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.h:105</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_aa8d218184a427f6f01d650097d05c74f"><div class="ttname"><a href="ecp__ANSSI_8h.html#aa8d218184a427f6f01d650097d05c74f">CURVE_Pxba_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_acc245a1013de8773e9c676ed176b11ce"><div class="ttname"><a href="ecp__ANSSI_8h.html#acc245a1013de8773e9c676ed176b11ce">ECP_ANSSI_sub</a></div><div class="ttdeci">void ECP_ANSSI_sub(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_acfea0b61d68996b3634ccb70e4bc14bc"><div class="ttname"><a href="ecp__ANSSI_8h.html#acfea0b61d68996b3634ccb70e4bc14bc">ECP_ANSSI_rawoutput</a></div><div class="ttdeci">void ECP_ANSSI_rawoutput(ECP_ANSSI *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:478</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a8636bc1845ddca55b37decec5cc7abd7"><div class="ttname"><a href="ecp__ANSSI_8h.html#a8636bc1845ddca55b37decec5cc7abd7">ECP_ANSSI_mul2</a></div><div class="ttdeci">void ECP_ANSSI_mul2(ECP_ANSSI *P, ECP_ANSSI *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_acc245a1013de8773e9c676ed176b11ce"><div class="ttname"><a href="ecp__ANSSI_8h.html#acc245a1013de8773e9c676ed176b11ce">ECP_ANSSI_sub</a></div><div class="ttdeci">void ECP_ANSSI_sub(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_acfea0b61d68996b3634ccb70e4bc14bc"><div class="ttname"><a href="ecp__ANSSI_8h.html#acfea0b61d68996b3634ccb70e4bc14bc">ECP_ANSSI_rawoutput</a></div><div class="ttdeci">void ECP_ANSSI_rawoutput(ECP_ANSSI *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:478</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a8636bc1845ddca55b37decec5cc7abd7"><div class="ttname"><a href="ecp__ANSSI_8h.html#a8636bc1845ddca55b37decec5cc7abd7">ECP_ANSSI_mul2</a></div><div class="ttdeci">void ECP_ANSSI_mul2(ECP_ANSSI *P, ECP_ANSSI *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a76a3f2a61c7839f10c39e5d8de7414a9"><div class="ttname"><a href="ecp__ANSSI_8h.html#a76a3f2a61c7839f10c39e5d8de7414a9">CURVE_B_I_ANSSI</a></div><div class="ttdeci">const int CURVE_B_I_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_ad7dec7be20b573278323bd279619e4aa"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad7dec7be20b573278323bd279619e4aa">ECP_ANSSI_add</a></div><div class="ttdeci">void ECP_ANSSI_add(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</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="ecp__ANSSI_8h_html_ad7dec7be20b573278323bd279619e4aa"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad7dec7be20b573278323bd279619e4aa">ECP_ANSSI_add</a></div><div class="ttdeci">void ECP_ANSSI_add(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </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="structECP__ANSSI_html_a6482007d6cb593703f0714e46f7f5d90"><div class="ttname"><a href="structECP__ANSSI.html#a6482007d6cb593703f0714e46f7f5d90">ECP_ANSSI::z</a></div><div class="ttdeci">FP_ANSSI z</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.h:113</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html"><div class="ttname"><a href="fp__ANSSI_8h.html">fp_ANSSI.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html"><div class="ttname"><a href="fp__ANSSI_8h.html">fp_ANSSI.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a4dac869f7d83f7091cc3052c50bed447"><div class="ttname"><a href="ecp__ANSSI_8h.html#a4dac869f7d83f7091cc3052c50bed447">CURVE_Pyab_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_ad3f0b4c35800a66a4f918e908c583b7c"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad3f0b4c35800a66a4f918e908c583b7c">CURVE_Pybab_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_aab92831db3f57bea7d71fc018027f120"><div class="ttname"><a href="ecp__ANSSI_8h.html#aab92831db3f57bea7d71fc018027f120">CURVE_B_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_ANSSI</div></div>
@@ -104,38 +107,38 @@
 <div class="ttc" id="ecp__ANSSI_8h_html_a3189d5e6053ef3aa9410a7b5c763cfe4"><div class="ttname"><a href="ecp__ANSSI_8h.html#a3189d5e6053ef3aa9410a7b5c763cfe4">CURVE_Pxbab_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a2bf6588803cda7724f77f32a5660c1a0"><div class="ttname"><a href="ecp__ANSSI_8h.html#a2bf6588803cda7724f77f32a5660c1a0">CURVE_Pybaa_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a90221ca73526c2ce779effc773a5fcaf"><div class="ttname"><a href="ecp__ANSSI_8h.html#a90221ca73526c2ce779effc773a5fcaf">CURVE_Pybba_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_abc78f0f803fba0d4ac9924fc0b32daa3"><div class="ttname"><a href="ecp__ANSSI_8h.html#abc78f0f803fba0d4ac9924fc0b32daa3">ECP_ANSSI_neg</a></div><div class="ttdeci">void ECP_ANSSI_neg(ECP_ANSSI *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a3aab91113b1fa8e725630aea9c02529a"><div class="ttname"><a href="ecp__ANSSI_8h.html#a3aab91113b1fa8e725630aea9c02529a">ECP_ANSSI_equals</a></div><div class="ttdeci">int ECP_ANSSI_equals(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:100</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a5118c8b353e8c56812829ef5811f62a2"><div class="ttname"><a href="ecp__ANSSI_8h.html#a5118c8b353e8c56812829ef5811f62a2">ECP_ANSSI_inf</a></div><div class="ttdeci">void ECP_ANSSI_inf(ECP_ANSSI *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:146</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_abc78f0f803fba0d4ac9924fc0b32daa3"><div class="ttname"><a href="ecp__ANSSI_8h.html#abc78f0f803fba0d4ac9924fc0b32daa3">ECP_ANSSI_neg</a></div><div class="ttdeci">void ECP_ANSSI_neg(ECP_ANSSI *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a3aab91113b1fa8e725630aea9c02529a"><div class="ttname"><a href="ecp__ANSSI_8h.html#a3aab91113b1fa8e725630aea9c02529a">ECP_ANSSI_equals</a></div><div class="ttdeci">int ECP_ANSSI_equals(ECP_ANSSI *P, ECP_ANSSI *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:100</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a5118c8b353e8c56812829ef5811f62a2"><div class="ttname"><a href="ecp__ANSSI_8h.html#a5118c8b353e8c56812829ef5811f62a2">ECP_ANSSI_inf</a></div><div class="ttdeci">void ECP_ANSSI_inf(ECP_ANSSI *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:146</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a8b7774a711a587edd2cc93df8793a49e"><div class="ttname"><a href="ecp__ANSSI_8h.html#a8b7774a711a587edd2cc93df8793a49e">CURVE_Cru_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a4cb1808d29fc2634380e1ee1f892288d"><div class="ttname"><a href="ecp__ANSSI_8h.html#a4cb1808d29fc2634380e1ee1f892288d">CURVE_Pxbba_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a7d70a7aa0b60589e4eff493b2b89d19d"><div class="ttname"><a href="ecp__ANSSI_8h.html#a7d70a7aa0b60589e4eff493b2b89d19d">ECP_ANSSI_outputxyz</a></div><div class="ttdeci">void ECP_ANSSI_outputxyz(ECP_ANSSI *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:414</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a7d70a7aa0b60589e4eff493b2b89d19d"><div class="ttname"><a href="ecp__ANSSI_8h.html#a7d70a7aa0b60589e4eff493b2b89d19d">ECP_ANSSI_outputxyz</a></div><div class="ttdeci">void ECP_ANSSI_outputxyz(ECP_ANSSI *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:414</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a2ddd828cb6bae3eb3e338b0a21f81f03"><div class="ttname"><a href="ecp__ANSSI_8h.html#a2ddd828cb6bae3eb3e338b0a21f81f03">ECP_ANSSI_toOctet</a></div><div class="ttdeci">void ECP_ANSSI_toOctet(octet *S, ECP_ANSSI *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:507</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_ad83df5e534007e9865fdb87f264dc844"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad83df5e534007e9865fdb87f264dc844">CURVE_SB_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_ANSSI[2][2]</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a433b9e32352d2161c2f95455355d2203"><div class="ttname"><a href="ecp__ANSSI_8h.html#a433b9e32352d2161c2f95455355d2203">CURVE_Cof_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a09ea02373da3cfd0606fec285b7ff6ef"><div class="ttname"><a href="ecp__ANSSI_8h.html#a09ea02373da3cfd0606fec285b7ff6ef">ECP_ANSSI_generator</a></div><div class="ttdeci">void ECP_ANSSI_generator(ECP_ANSSI *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:1221</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_ad3a89e47c85b0df636d7374c1800307e"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad3a89e47c85b0df636d7374c1800307e">ECP_ANSSI_output</a></div><div class="ttdeci">void ECP_ANSSI_output(ECP_ANSSI *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:450</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a09ea02373da3cfd0606fec285b7ff6ef"><div class="ttname"><a href="ecp__ANSSI_8h.html#a09ea02373da3cfd0606fec285b7ff6ef">ECP_ANSSI_generator</a></div><div class="ttdeci">void ECP_ANSSI_generator(ECP_ANSSI *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:1221</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_ad3a89e47c85b0df636d7374c1800307e"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad3a89e47c85b0df636d7374c1800307e">ECP_ANSSI_output</a></div><div class="ttdeci">void ECP_ANSSI_output(ECP_ANSSI *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:450</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a70c1c7a703218a2f40d51d695a8016cc"><div class="ttname"><a href="ecp__ANSSI_8h.html#a70c1c7a703218a2f40d51d695a8016cc">CURVE_Pya_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a7c8453dc3b9592f130beecbd4a69534d"><div class="ttname"><a href="ecp__ANSSI_8h.html#a7c8453dc3b9592f130beecbd4a69534d">ECP_ANSSI_get</a></div><div class="ttdeci">int ECP_ANSSI_get(BIG_256_56 x, BIG_256_56 y, ECP_ANSSI *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a7c8453dc3b9592f130beecbd4a69534d"><div class="ttname"><a href="ecp__ANSSI_8h.html#a7c8453dc3b9592f130beecbd4a69534d">ECP_ANSSI_get</a></div><div class="ttdeci">int ECP_ANSSI_get(BIG_256_56 x, BIG_256_56 y, ECP_ANSSI *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="structECP__ANSSI_html_ac1bd22b8ac199955a95ff32b1c3da0ca"><div class="ttname"><a href="structECP__ANSSI.html#ac1bd22b8ac199955a95ff32b1c3da0ca">ECP_ANSSI::y</a></div><div class="ttdeci">FP_ANSSI y</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.h:111</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a7372b51b265e4fe75985c2bb7bbd7b34"><div class="ttname"><a href="ecp__ANSSI_8h.html#a7372b51b265e4fe75985c2bb7bbd7b34">CURVE_Pxaab_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a945437014a96861e01e09217a337120e"><div class="ttname"><a href="ecp__ANSSI_8h.html#a945437014a96861e01e09217a337120e">CURVE_BB_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_ANSSI[4][4]</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a254b2f332230fe2b8d41f7b1cf159e21"><div class="ttname"><a href="ecp__ANSSI_8h.html#a254b2f332230fe2b8d41f7b1cf159e21">CURVE_Pyb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_ad016c83dc374db3139d9d000fe8fe8d6"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad016c83dc374db3139d9d000fe8fe8d6">ECP_ANSSI_dbl</a></div><div class="ttdeci">void ECP_ANSSI_dbl(ECP_ANSSI *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:564</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a02abd3a009fe2323d13888f41cfde922"><div class="ttname"><a href="ecp__ANSSI_8h.html#a02abd3a009fe2323d13888f41cfde922">ECP_ANSSI_cfp</a></div><div class="ttdeci">void ECP_ANSSI_cfp(ECP_ANSSI *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:338</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_ab0f5556042bdf78b27ce54e7f65d9a03"><div class="ttname"><a href="ecp__ANSSI_8h.html#ab0f5556042bdf78b27ce54e7f65d9a03">ECP_ANSSI_rhs</a></div><div class="ttdeci">void ECP_ANSSI_rhs(FP_ANSSI *r, FP_ANSSI *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:161</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a6cb72561d12563f6f45614f726dd22db"><div class="ttname"><a href="ecp__ANSSI_8h.html#a6cb72561d12563f6f45614f726dd22db">ECP_ANSSI_setx</a></div><div class="ttdeci">int ECP_ANSSI_setx(ECP_ANSSI *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_ad016c83dc374db3139d9d000fe8fe8d6"><div class="ttname"><a href="ecp__ANSSI_8h.html#ad016c83dc374db3139d9d000fe8fe8d6">ECP_ANSSI_dbl</a></div><div class="ttdeci">void ECP_ANSSI_dbl(ECP_ANSSI *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:564</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a02abd3a009fe2323d13888f41cfde922"><div class="ttname"><a href="ecp__ANSSI_8h.html#a02abd3a009fe2323d13888f41cfde922">ECP_ANSSI_cfp</a></div><div class="ttdeci">void ECP_ANSSI_cfp(ECP_ANSSI *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:338</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_ab0f5556042bdf78b27ce54e7f65d9a03"><div class="ttname"><a href="ecp__ANSSI_8h.html#ab0f5556042bdf78b27ce54e7f65d9a03">ECP_ANSSI_rhs</a></div><div class="ttdeci">void ECP_ANSSI_rhs(FP_ANSSI *r, FP_ANSSI *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:161</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a6cb72561d12563f6f45614f726dd22db"><div class="ttname"><a href="ecp__ANSSI_8h.html#a6cb72561d12563f6f45614f726dd22db">ECP_ANSSI_setx</a></div><div class="ttdeci">int ECP_ANSSI_setx(ECP_ANSSI *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a44c8ff3c343fcf4b84147f321c34f208"><div class="ttname"><a href="ecp__ANSSI_8h.html#a44c8ff3c343fcf4b84147f321c34f208">CURVE_Pxbaa_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a883f9a7aa7a4e51d06f9cf35ce0d24d7"><div class="ttname"><a href="ecp__ANSSI_8h.html#a883f9a7aa7a4e51d06f9cf35ce0d24d7">CURVE_Pyba_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_aff353f9a5b79d0436f1cd05256fe37fc"><div class="ttname"><a href="ecp__ANSSI_8h.html#aff353f9a5b79d0436f1cd05256fe37fc">ECP_ANSSI_mul</a></div><div class="ttdeci">void ECP_ANSSI_mul(ECP_ANSSI *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:1021</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_aff353f9a5b79d0436f1cd05256fe37fc"><div class="ttname"><a href="ecp__ANSSI_8h.html#aff353f9a5b79d0436f1cd05256fe37fc">ECP_ANSSI_mul</a></div><div class="ttdeci">void ECP_ANSSI_mul(ECP_ANSSI *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:1021</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a079581eabcc21a3d1df05f60888deaa5"><div class="ttname"><a href="ecp__ANSSI_8h.html#a079581eabcc21a3d1df05f60888deaa5">CURVE_Pxabb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_ANSSI</div></div>
 <div class="ttc" id="structECP__ANSSI_html_ac61016ec16a2157faf6e90ae11bf25bb"><div class="ttname"><a href="structECP__ANSSI.html#ac61016ec16a2157faf6e90ae11bf25bb">ECP_ANSSI::x</a></div><div class="ttdeci">FP_ANSSI x</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.h:109</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a0c1b914671f4f42244ec46295a31a77f"><div class="ttname"><a href="ecp__ANSSI_8h.html#a0c1b914671f4f42244ec46295a31a77f">ECP_ANSSI_affine</a></div><div class="ttdeci">void ECP_ANSSI_affine(ECP_ANSSI *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:392</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a0c1b914671f4f42244ec46295a31a77f"><div class="ttname"><a href="ecp__ANSSI_8h.html#a0c1b914671f4f42244ec46295a31a77f">ECP_ANSSI_affine</a></div><div class="ttdeci">void ECP_ANSSI_affine(ECP_ANSSI *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:392</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_ab935bd53227dbaacd8e07bea6da14482"><div class="ttname"><a href="ecp__ANSSI_8h.html#ab935bd53227dbaacd8e07bea6da14482">CURVE_WB_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_ANSSI[4]</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a37dfd533d9ab75a085c16d33c23176c0"><div class="ttname"><a href="ecp__ANSSI_8h.html#a37dfd533d9ab75a085c16d33c23176c0">CURVE_Pyaba_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_ac8d03fee8bd26b5f053504d4340723c5"><div class="ttname"><a href="ecp__ANSSI_8h.html#ac8d03fee8bd26b5f053504d4340723c5">CURVE_Pxaaa_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a7dc2126c4a8658a4ad6b86a6691ea801"><div class="ttname"><a href="ecp__ANSSI_8h.html#a7dc2126c4a8658a4ad6b86a6691ea801">CURVE_Pxab_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_ae2ceed8dc778b4d0d454bdf9c320127b"><div class="ttname"><a href="ecp__ANSSI_8h.html#ae2ceed8dc778b4d0d454bdf9c320127b">ECP_ANSSI_fromOctet</a></div><div class="ttdeci">int ECP_ANSSI_fromOctet(ECP_ANSSI *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:537</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_ae2ceed8dc778b4d0d454bdf9c320127b"><div class="ttname"><a href="ecp__ANSSI_8h.html#ae2ceed8dc778b4d0d454bdf9c320127b">ECP_ANSSI_fromOctet</a></div><div class="ttdeci">int ECP_ANSSI_fromOctet(ECP_ANSSI *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:537</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_aee63d2dd7ef5cdb629ca9c805a7c7e30"><div class="ttname"><a href="ecp__ANSSI_8h.html#aee63d2dd7ef5cdb629ca9c805a7c7e30">CURVE_Gy_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_ANSSI</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a8ae00102d06e3af18c7ee8b03327e1f8"><div class="ttname"><a href="ecp__ANSSI_8h.html#a8ae00102d06e3af18c7ee8b03327e1f8">CURVE_Pyaaa_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_ANSSI</div></div>
@@ -143,14 +146,14 @@
 <div class="ttc" id="ecp__ANSSI_8h_html_a82556c887d89785e27a7b77aac7fbe23"><div class="ttname"><a href="ecp__ANSSI_8h.html#a82556c887d89785e27a7b77aac7fbe23">CURVE_Gx_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a562bbd52b3eb7c69931d895f3d584e5c"><div class="ttname"><a href="ecp__ANSSI_8h.html#a562bbd52b3eb7c69931d895f3d584e5c">CURVE_Pxbbb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_ANSSI</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_a2d150f1e03674a7ba4877eb6e2fc4656"><div class="ttname"><a href="ecp__ANSSI_8h.html#a2d150f1e03674a7ba4877eb6e2fc4656">CURVE_Pxaa_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_ANSSI</div></div>
-<div class="ttc" id="ecp__ANSSI_8h_html_a30bfe1abc74dd5d987d1e174e2e9c0a1"><div class="ttname"><a href="ecp__ANSSI_8h.html#a30bfe1abc74dd5d987d1e174e2e9c0a1">ECP_ANSSI_isinf</a></div><div class="ttdeci">int ECP_ANSSI_isinf(ECP_ANSSI *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:28</div></div>
+<div class="ttc" id="ecp__ANSSI_8h_html_a30bfe1abc74dd5d987d1e174e2e9c0a1"><div class="ttname"><a href="ecp__ANSSI_8h.html#a30bfe1abc74dd5d987d1e174e2e9c0a1">ECP_ANSSI_isinf</a></div><div class="ttdeci">int ECP_ANSSI_isinf(ECP_ANSSI *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_ANSSI.c:28</div></div>
 <div class="ttc" id="ecp__ANSSI_8h_html_af11be28d151b594d860c6c627b2045a7"><div class="ttname"><a href="ecp__ANSSI_8h.html#af11be28d151b594d860c6c627b2045a7">CURVE_Pxb_ANSSI</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_ANSSI</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/ecp__BLS24_8h.html b/website/static/cdocs/ecp__BLS24_8h.html
index c624b28..5a0895f 100644
--- a/website/static/cdocs/ecp__BLS24_8h.html
+++ b/website/static/cdocs/ecp__BLS24_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: ecp_BLS24.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"
@@ -1705,7 +1708,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/ecp__BLS24_8h_source.html b/website/static/cdocs/ecp__BLS24_8h_source.html
index 838c301..61f0e2d 100644
--- a/website/static/cdocs/ecp__BLS24_8h_source.html
+++ b/website/static/cdocs/ecp__BLS24_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: ecp_BLS24.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,34 +72,34 @@
 <div class="title">ecp_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BLS24_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 ECP_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS24_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 &quot;<a class="code" href="fp__BLS24_8h.html">fp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#a59c72befb1fca5876fb98faf4890a2f5">CURVE_A_BLS24</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ad32bfe98e1b2eb651ac81180654217fc">CURVE_Cof_I_BLS24</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ab4c72c21dc0f96af5977a03449602e18">CURVE_B_I_BLS24</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac074a4af9cafd14c99d7c4e6aa217902">CURVE_B_BLS24</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae7c4dab2fcc38267ee55e8486353e6bb">CURVE_Order_BLS24</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a6dcb8975059fc77c530eaec5985600a1">CURVE_Cof_BLS24</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ab8a474f3e45150b683267a5aa22f2da7">CURVE_Gx_BLS24</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#adfd87f5cf903318fad6f098a646b239e">CURVE_Gy_BLS24</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ad915d8cb1c6f4d52151b8caa68e8f4cb">CURVE_Pxa_BLS24</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a55cfd9fd2ad71884570fb6b964382e7a">CURVE_Pxb_BLS24</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ab72bc552a48088af54ef704d023e94ac">CURVE_Pya_BLS24</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a0f573e35dbf132046aa5d213adab41c1">CURVE_Pyb_BLS24</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#abcd2ae9ef4c96498779ed3c6d654638a">CURVE_Pxaa_BLS24</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac75cd9cc63ab25493e17dfdcb3b0a640">CURVE_Pxab_BLS24</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a672f62e0179d358ade10d46964bf6c7b">CURVE_Pxba_BLS24</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aaac3bea0ed3847436687290427482a9a">CURVE_Pxbb_BLS24</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a81999fd7288b0ab7e3c2bedaa6ca6bc2">CURVE_Pyaa_BLS24</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a00a6eb80b9ceba018c4fa426d73d2cc3">CURVE_Pyab_BLS24</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa7878b56c09aea820d68e12b2c8bcff0">CURVE_Pyba_BLS24</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae8bac523c5499b15a52f345fe8588c60">CURVE_Pybb_BLS24</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#abbe4910594ef217672ab14dd782e355b">CURVE_Pxaaa_BLS24</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a8d9400eddc76c24f57e1c798e3a28a6c">CURVE_Pxaab_BLS24</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a6af90e5414c59c169145d614126eb9bc">CURVE_Pxaba_BLS24</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ad59c42150cf5835df571f6ac54c172fa">CURVE_Pxabb_BLS24</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a1758d3b2026b8c768ad64e9549c82feb">CURVE_Pxbaa_BLS24</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aaaa08d2e95536b250150ff2c07e878a2">CURVE_Pxbab_BLS24</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a16b4a3f18bccf18eb305d397b37d463a">CURVE_Pxbba_BLS24</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aeb5645c4e4f8d139e525a2fbd07ca43c">CURVE_Pxbbb_BLS24</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a036f205aa0b34bdd685ad38e1a3ffeba">CURVE_Pyaaa_BLS24</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a12fe143fde7704ec2ad437d127b8c7b5">CURVE_Pyaab_BLS24</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a3fb3fcb3edd4d44da0ebf1bbb30852a8">CURVE_Pyaba_BLS24</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a515a929c23b52cb4e00fd4fa4fd3460f">CURVE_Pyabb_BLS24</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a1b94620ba3cb014a96f1f9c34b9b915b">CURVE_Pybaa_BLS24</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aeb479fec83b1eca5f43cda880e0e472f">CURVE_Pybab_BLS24</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ad7f805067e9744140fdb8ac612e9a8be">CURVE_Pybba_BLS24</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#acafdebda0b87bcfba346c273bcc29fcc">CURVE_Pybbb_BLS24</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a13fecb13cb8be0789f4127fa9609b51c">CURVE_Cru_BLS24</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a14b20db943ac625e4172097b165e4331">CURVE_W_BLS24</a>[2];        </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a5bad3855136bb896a772bd83fad01e6c">CURVE_SB_BLS24</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a37ff0d9d4122324cb4b436812b4ab93d">CURVE_WB_BLS24</a>[4];       </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa58915d10b48e5bbf4bb2c7428b36a92">CURVE_BB_BLS24</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS24.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS24.html#af4e9f0990bc5a7139094de43f0e2bc32">  109</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structECP__BLS24.html#af4e9f0990bc5a7139094de43f0e2bc32">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS24!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS24.html#af7f9f1dee13f6c228e76e6f3d9be97ab">  111</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structECP__BLS24.html#af7f9f1dee13f6c228e76e6f3d9be97ab">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS24.html#aebdde6337534b356abd9020c878537a6">  113</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structECP__BLS24.html#aebdde6337534b356abd9020c878537a6">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS24.html">ECP_BLS24</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ae7cb030fd1364f8604af3f5988d5bd16">ECP_BLS24_isinf</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#a95d472a72ab7840b207f421f70a849da">ECP_BLS24_equals</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a453c1327f1a32b5e2a7d544ba81b752c">ECP_BLS24_copy</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</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="ecp__BLS24_8h.html#a14fd9bfe43e3554859ee04eb66cbe7db">ECP_BLS24_neg</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</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="ecp__BLS24_8h.html#ac2779d5d271c1ef82e3485279f75aad7">ECP_BLS24_inf</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a3a8408ebfa5460ffbd686f507bf4d1b0">ECP_BLS24_rhs</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *r,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS24==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aaaafbd72e017ea59da464dd87cea97a9">ECP_BLS24_set</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aac1fbca5fe9a348fe7b156786adb5486">ECP_BLS24_get</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a4f4187e6e6ee657bdd364720b40fbe13">ECP_BLS24_add</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aaaafbd72e017ea59da464dd87cea97a9">ECP_BLS24_set</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aac1fbca5fe9a348fe7b156786adb5486">ECP_BLS24_get</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a4f4187e6e6ee657bdd364720b40fbe13">ECP_BLS24_add</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</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="ecp__BLS24_8h.html#a6ff5cddc529aee0c19bf7403678b95f3">ECP_BLS24_sub</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#abedcd21ebcf5230b65796d270ad38a94">ECP_BLS24_setx</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a887b280bc014cb907011852ff01dcfaf">ECP_BLS24_cfp</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a91811ce5f6b0667424cc08c7473a1f05">ECP_BLS24_mapit</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a36595dab34b602cf72e8583ebe150cff">ECP_BLS24_affine</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a4db9b67cc7d13672cdf6701493a9ae07">ECP_BLS24_outputxyz</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</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="ecp__BLS24_8h.html#a37ee0bd5128bdbeeefc60ad302acd05f">ECP_BLS24_output</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a92c89f2f8c29ad82d6920f0f2aa74560">ECP_BLS24_rawoutput</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a609d428400ef28d71b8bbf581a7c1bb8">ECP_BLS24_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#abfce9ed3a562bcd8037713303a05e747">ECP_BLS24_fromOctet</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a460e4305d0b2a269336796eb95700d80">ECP_BLS24_dbl</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a36802cd3b70d007a018bde4dea7ccdfc">ECP_BLS24_pinmul</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a399e1d934eef373142f8798cf34650e2">ECP_BLS24_mul</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a9293e6141fc01896daccfdd6f7627de3">ECP_BLS24_mul2</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> e,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a3dd991a3400e3cebccd75aa7071cf799">ECP_BLS24_generator</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS24_8h_html_a3dd991a3400e3cebccd75aa7071cf799"><div class="ttname"><a href="ecp__BLS24_8h.html#a3dd991a3400e3cebccd75aa7071cf799">ECP_BLS24_generator</a></div><div class="ttdeci">void ECP_BLS24_generator(ECP_BLS24 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:1221</div></div>
+<a href="ecp__BLS24_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 ECP_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS24_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 &quot;<a class="code" href="fp__BLS24_8h.html">fp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#a59c72befb1fca5876fb98faf4890a2f5">CURVE_A_BLS24</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ad32bfe98e1b2eb651ac81180654217fc">CURVE_Cof_I_BLS24</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ab4c72c21dc0f96af5977a03449602e18">CURVE_B_I_BLS24</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac074a4af9cafd14c99d7c4e6aa217902">CURVE_B_BLS24</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae7c4dab2fcc38267ee55e8486353e6bb">CURVE_Order_BLS24</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a6dcb8975059fc77c530eaec5985600a1">CURVE_Cof_BLS24</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ab8a474f3e45150b683267a5aa22f2da7">CURVE_Gx_BLS24</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#adfd87f5cf903318fad6f098a646b239e">CURVE_Gy_BLS24</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ad915d8cb1c6f4d52151b8caa68e8f4cb">CURVE_Pxa_BLS24</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a55cfd9fd2ad71884570fb6b964382e7a">CURVE_Pxb_BLS24</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ab72bc552a48088af54ef704d023e94ac">CURVE_Pya_BLS24</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a0f573e35dbf132046aa5d213adab41c1">CURVE_Pyb_BLS24</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#abcd2ae9ef4c96498779ed3c6d654638a">CURVE_Pxaa_BLS24</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ac75cd9cc63ab25493e17dfdcb3b0a640">CURVE_Pxab_BLS24</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a672f62e0179d358ade10d46964bf6c7b">CURVE_Pxba_BLS24</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aaac3bea0ed3847436687290427482a9a">CURVE_Pxbb_BLS24</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a81999fd7288b0ab7e3c2bedaa6ca6bc2">CURVE_Pyaa_BLS24</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a00a6eb80b9ceba018c4fa426d73d2cc3">CURVE_Pyab_BLS24</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa7878b56c09aea820d68e12b2c8bcff0">CURVE_Pyba_BLS24</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae8bac523c5499b15a52f345fe8588c60">CURVE_Pybb_BLS24</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#abbe4910594ef217672ab14dd782e355b">CURVE_Pxaaa_BLS24</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a8d9400eddc76c24f57e1c798e3a28a6c">CURVE_Pxaab_BLS24</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a6af90e5414c59c169145d614126eb9bc">CURVE_Pxaba_BLS24</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ad59c42150cf5835df571f6ac54c172fa">CURVE_Pxabb_BLS24</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a1758d3b2026b8c768ad64e9549c82feb">CURVE_Pxbaa_BLS24</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aaaa08d2e95536b250150ff2c07e878a2">CURVE_Pxbab_BLS24</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a16b4a3f18bccf18eb305d397b37d463a">CURVE_Pxbba_BLS24</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aeb5645c4e4f8d139e525a2fbd07ca43c">CURVE_Pxbbb_BLS24</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a036f205aa0b34bdd685ad38e1a3ffeba">CURVE_Pyaaa_BLS24</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a12fe143fde7704ec2ad437d127b8c7b5">CURVE_Pyaab_BLS24</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a3fb3fcb3edd4d44da0ebf1bbb30852a8">CURVE_Pyaba_BLS24</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a515a929c23b52cb4e00fd4fa4fd3460f">CURVE_Pyabb_BLS24</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a1b94620ba3cb014a96f1f9c34b9b915b">CURVE_Pybaa_BLS24</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aeb479fec83b1eca5f43cda880e0e472f">CURVE_Pybab_BLS24</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ad7f805067e9744140fdb8ac612e9a8be">CURVE_Pybba_BLS24</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#acafdebda0b87bcfba346c273bcc29fcc">CURVE_Pybbb_BLS24</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a13fecb13cb8be0789f4127fa9609b51c">CURVE_Cru_BLS24</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a14b20db943ac625e4172097b165e4331">CURVE_W_BLS24</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a5bad3855136bb896a772bd83fad01e6c">CURVE_SB_BLS24</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a37ff0d9d4122324cb4b436812b4ab93d">CURVE_WB_BLS24</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa58915d10b48e5bbf4bb2c7428b36a92">CURVE_BB_BLS24</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS24.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS24.html#af4e9f0990bc5a7139094de43f0e2bc32">  109</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structECP__BLS24.html#af4e9f0990bc5a7139094de43f0e2bc32">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS24!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS24.html#af7f9f1dee13f6c228e76e6f3d9be97ab">  111</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structECP__BLS24.html#af7f9f1dee13f6c228e76e6f3d9be97ab">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS24.html#aebdde6337534b356abd9020c878537a6">  113</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structECP__BLS24.html#aebdde6337534b356abd9020c878537a6">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS24.html">ECP_BLS24</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#ae7cb030fd1364f8604af3f5988d5bd16">ECP_BLS24_isinf</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#a95d472a72ab7840b207f421f70a849da">ECP_BLS24_equals</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a453c1327f1a32b5e2a7d544ba81b752c">ECP_BLS24_copy</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</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="ecp__BLS24_8h.html#a14fd9bfe43e3554859ee04eb66cbe7db">ECP_BLS24_neg</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</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="ecp__BLS24_8h.html#ac2779d5d271c1ef82e3485279f75aad7">ECP_BLS24_inf</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a3a8408ebfa5460ffbd686f507bf4d1b0">ECP_BLS24_rhs</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *r,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS24==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aaaafbd72e017ea59da464dd87cea97a9">ECP_BLS24_set</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aac1fbca5fe9a348fe7b156786adb5486">ECP_BLS24_get</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a4f4187e6e6ee657bdd364720b40fbe13">ECP_BLS24_add</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aaaafbd72e017ea59da464dd87cea97a9">ECP_BLS24_set</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#aac1fbca5fe9a348fe7b156786adb5486">ECP_BLS24_get</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> y,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a4f4187e6e6ee657bdd364720b40fbe13">ECP_BLS24_add</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</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="ecp__BLS24_8h.html#a6ff5cddc529aee0c19bf7403678b95f3">ECP_BLS24_sub</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#abedcd21ebcf5230b65796d270ad38a94">ECP_BLS24_setx</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a887b280bc014cb907011852ff01dcfaf">ECP_BLS24_cfp</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a91811ce5f6b0667424cc08c7473a1f05">ECP_BLS24_mapit</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a36595dab34b602cf72e8583ebe150cff">ECP_BLS24_affine</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a4db9b67cc7d13672cdf6701493a9ae07">ECP_BLS24_outputxyz</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</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="ecp__BLS24_8h.html#a37ee0bd5128bdbeeefc60ad302acd05f">ECP_BLS24_output</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a92c89f2f8c29ad82d6920f0f2aa74560">ECP_BLS24_rawoutput</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a609d428400ef28d71b8bbf581a7c1bb8">ECP_BLS24_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS24_8h.html#abfce9ed3a562bcd8037713303a05e747">ECP_BLS24_fromOctet</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a460e4305d0b2a269336796eb95700d80">ECP_BLS24_dbl</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a36802cd3b70d007a018bde4dea7ccdfc">ECP_BLS24_pinmul</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a399e1d934eef373142f8798cf34650e2">ECP_BLS24_mul</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a9293e6141fc01896daccfdd6f7627de3">ECP_BLS24_mul2</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> e,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS24_8h.html#a3dd991a3400e3cebccd75aa7071cf799">ECP_BLS24_generator</a>(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS24_8h_html_a3dd991a3400e3cebccd75aa7071cf799"><div class="ttname"><a href="ecp__BLS24_8h.html#a3dd991a3400e3cebccd75aa7071cf799">ECP_BLS24_generator</a></div><div class="ttdeci">void ECP_BLS24_generator(ECP_BLS24 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:1221</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aeb479fec83b1eca5f43cda880e0e472f"><div class="ttname"><a href="ecp__BLS24_8h.html#aeb479fec83b1eca5f43cda880e0e472f">CURVE_Pybab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pybab_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a81999fd7288b0ab7e3c2bedaa6ca6bc2"><div class="ttname"><a href="ecp__BLS24_8h.html#a81999fd7288b0ab7e3c2bedaa6ca6bc2">CURVE_Pyaa_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyaa_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a4f4187e6e6ee657bdd364720b40fbe13"><div class="ttname"><a href="ecp__BLS24_8h.html#a4f4187e6e6ee657bdd364720b40fbe13">ECP_BLS24_add</a></div><div class="ttdeci">void ECP_BLS24_add(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a4f4187e6e6ee657bdd364720b40fbe13"><div class="ttname"><a href="ecp__BLS24_8h.html#a4f4187e6e6ee657bdd364720b40fbe13">ECP_BLS24_add</a></div><div class="ttdeci">void ECP_BLS24_add(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aeb5645c4e4f8d139e525a2fbd07ca43c"><div class="ttname"><a href="ecp__BLS24_8h.html#aeb5645c4e4f8d139e525a2fbd07ca43c">CURVE_Pxbbb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxbbb_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a14fd9bfe43e3554859ee04eb66cbe7db"><div class="ttname"><a href="ecp__BLS24_8h.html#a14fd9bfe43e3554859ee04eb66cbe7db">ECP_BLS24_neg</a></div><div class="ttdeci">void ECP_BLS24_neg(ECP_BLS24 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a14fd9bfe43e3554859ee04eb66cbe7db"><div class="ttname"><a href="ecp__BLS24_8h.html#a14fd9bfe43e3554859ee04eb66cbe7db">ECP_BLS24_neg</a></div><div class="ttdeci">void ECP_BLS24_neg(ECP_BLS24 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a672f62e0179d358ade10d46964bf6c7b"><div class="ttname"><a href="ecp__BLS24_8h.html#a672f62e0179d358ade10d46964bf6c7b">CURVE_Pxba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxba_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a453c1327f1a32b5e2a7d544ba81b752c"><div class="ttname"><a href="ecp__BLS24_8h.html#a453c1327f1a32b5e2a7d544ba81b752c">ECP_BLS24_copy</a></div><div class="ttdeci">void ECP_BLS24_copy(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:120</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a399e1d934eef373142f8798cf34650e2"><div class="ttname"><a href="ecp__BLS24_8h.html#a399e1d934eef373142f8798cf34650e2">ECP_BLS24_mul</a></div><div class="ttdeci">void ECP_BLS24_mul(ECP_BLS24 *P, BIG_480_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:1021</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a453c1327f1a32b5e2a7d544ba81b752c"><div class="ttname"><a href="ecp__BLS24_8h.html#a453c1327f1a32b5e2a7d544ba81b752c">ECP_BLS24_copy</a></div><div class="ttdeci">void ECP_BLS24_copy(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:120</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a399e1d934eef373142f8798cf34650e2"><div class="ttname"><a href="ecp__BLS24_8h.html#a399e1d934eef373142f8798cf34650e2">ECP_BLS24_mul</a></div><div class="ttdeci">void ECP_BLS24_mul(ECP_BLS24 *P, BIG_480_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:1021</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a00a6eb80b9ceba018c4fa426d73d2cc3"><div class="ttname"><a href="ecp__BLS24_8h.html#a00a6eb80b9ceba018c4fa426d73d2cc3">CURVE_Pyab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyab_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a9293e6141fc01896daccfdd6f7627de3"><div class="ttname"><a href="ecp__BLS24_8h.html#a9293e6141fc01896daccfdd6f7627de3">ECP_BLS24_mul2</a></div><div class="ttdeci">void ECP_BLS24_mul2(ECP_BLS24 *P, ECP_BLS24 *Q, BIG_480_56 e, BIG_480_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a9293e6141fc01896daccfdd6f7627de3"><div class="ttname"><a href="ecp__BLS24_8h.html#a9293e6141fc01896daccfdd6f7627de3">ECP_BLS24_mul2</a></div><div class="ttdeci">void ECP_BLS24_mul2(ECP_BLS24 *P, ECP_BLS24 *Q, BIG_480_56 e, BIG_480_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a14b20db943ac625e4172097b165e4331"><div class="ttname"><a href="ecp__BLS24_8h.html#a14b20db943ac625e4172097b165e4331">CURVE_W_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_W_BLS24[2]</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a460e4305d0b2a269336796eb95700d80"><div class="ttname"><a href="ecp__BLS24_8h.html#a460e4305d0b2a269336796eb95700d80">ECP_BLS24_dbl</a></div><div class="ttdeci">void ECP_BLS24_dbl(ECP_BLS24 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:564</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a460e4305d0b2a269336796eb95700d80"><div class="ttname"><a href="ecp__BLS24_8h.html#a460e4305d0b2a269336796eb95700d80">ECP_BLS24_dbl</a></div><div class="ttdeci">void ECP_BLS24_dbl(ECP_BLS24 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:564</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aa7878b56c09aea820d68e12b2c8bcff0"><div class="ttname"><a href="ecp__BLS24_8h.html#aa7878b56c09aea820d68e12b2c8bcff0">CURVE_Pyba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyba_BLS24</div></div>
 <div class="ttc" id="structECP__BLS24_html_af7f9f1dee13f6c228e76e6f3d9be97ab"><div class="ttname"><a href="structECP__BLS24.html#af7f9f1dee13f6c228e76e6f3d9be97ab">ECP_BLS24::y</a></div><div class="ttdeci">FP_BLS24 y</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.h:111</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a91811ce5f6b0667424cc08c7473a1f05"><div class="ttname"><a href="ecp__BLS24_8h.html#a91811ce5f6b0667424cc08c7473a1f05">ECP_BLS24_mapit</a></div><div class="ttdeci">void ECP_BLS24_mapit(ECP_BLS24 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:365</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a91811ce5f6b0667424cc08c7473a1f05"><div class="ttname"><a href="ecp__BLS24_8h.html#a91811ce5f6b0667424cc08c7473a1f05">ECP_BLS24_mapit</a></div><div class="ttdeci">void ECP_BLS24_mapit(ECP_BLS24 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:365</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ae8bac523c5499b15a52f345fe8588c60"><div class="ttname"><a href="ecp__BLS24_8h.html#ae8bac523c5499b15a52f345fe8588c60">CURVE_Pybb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pybb_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_acafdebda0b87bcfba346c273bcc29fcc"><div class="ttname"><a href="ecp__BLS24_8h.html#acafdebda0b87bcfba346c273bcc29fcc">CURVE_Pybbb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pybbb_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_aaaafbd72e017ea59da464dd87cea97a9"><div class="ttname"><a href="ecp__BLS24_8h.html#aaaafbd72e017ea59da464dd87cea97a9">ECP_BLS24_set</a></div><div class="ttdeci">int ECP_BLS24_set(ECP_BLS24 *P, BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_aaaafbd72e017ea59da464dd87cea97a9"><div class="ttname"><a href="ecp__BLS24_8h.html#aaaafbd72e017ea59da464dd87cea97a9">ECP_BLS24_set</a></div><div class="ttdeci">int ECP_BLS24_set(ECP_BLS24 *P, BIG_480_56 x, BIG_480_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a16b4a3f18bccf18eb305d397b37d463a"><div class="ttname"><a href="ecp__BLS24_8h.html#a16b4a3f18bccf18eb305d397b37d463a">CURVE_Pxbba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxbba_BLS24</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="ecp__BLS24_8h_html_a515a929c23b52cb4e00fd4fa4fd3460f"><div class="ttname"><a href="ecp__BLS24_8h.html#a515a929c23b52cb4e00fd4fa4fd3460f">CURVE_Pyabb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyabb_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_ae7cb030fd1364f8604af3f5988d5bd16"><div class="ttname"><a href="ecp__BLS24_8h.html#ae7cb030fd1364f8604af3f5988d5bd16">ECP_BLS24_isinf</a></div><div class="ttdeci">int ECP_BLS24_isinf(ECP_BLS24 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:28</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_ae7cb030fd1364f8604af3f5988d5bd16"><div class="ttname"><a href="ecp__BLS24_8h.html#ae7cb030fd1364f8604af3f5988d5bd16">ECP_BLS24_isinf</a></div><div class="ttdeci">int ECP_BLS24_isinf(ECP_BLS24 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:28</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ace1762644c051c9e3624407912507ae1"><div class="ttname"><a href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a></div><div class="ttdeci">const BIG_480_56 Fra_BLS24</div></div>
-<div class="ttc" id="fp__BLS24_8h_html"><div class="ttname"><a href="fp__BLS24_8h.html">fp_BLS24.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a4db9b67cc7d13672cdf6701493a9ae07"><div class="ttname"><a href="ecp__BLS24_8h.html#a4db9b67cc7d13672cdf6701493a9ae07">ECP_BLS24_outputxyz</a></div><div class="ttdeci">void ECP_BLS24_outputxyz(ECP_BLS24 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:414</div></div>
+<div class="ttc" id="fp__BLS24_8h_html"><div class="ttname"><a href="fp__BLS24_8h.html">fp_BLS24.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a4db9b67cc7d13672cdf6701493a9ae07"><div class="ttname"><a href="ecp__BLS24_8h.html#a4db9b67cc7d13672cdf6701493a9ae07">ECP_BLS24_outputxyz</a></div><div class="ttdeci">void ECP_BLS24_outputxyz(ECP_BLS24 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:414</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ac074a4af9cafd14c99d7c4e6aa217902"><div class="ttname"><a href="ecp__BLS24_8h.html#ac074a4af9cafd14c99d7c4e6aa217902">CURVE_B_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_B_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a36802cd3b70d007a018bde4dea7ccdfc"><div class="ttname"><a href="ecp__BLS24_8h.html#a36802cd3b70d007a018bde4dea7ccdfc">ECP_BLS24_pinmul</a></div><div class="ttdeci">void ECP_BLS24_pinmul(ECP_BLS24 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a36802cd3b70d007a018bde4dea7ccdfc"><div class="ttname"><a href="ecp__BLS24_8h.html#a36802cd3b70d007a018bde4dea7ccdfc">ECP_BLS24_pinmul</a></div><div class="ttdeci">void ECP_BLS24_pinmul(ECP_BLS24 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ad32bfe98e1b2eb651ac81180654217fc"><div class="ttname"><a href="ecp__BLS24_8h.html#ad32bfe98e1b2eb651ac81180654217fc">CURVE_Cof_I_BLS24</a></div><div class="ttdeci">const int CURVE_Cof_I_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ad915d8cb1c6f4d52151b8caa68e8f4cb"><div class="ttname"><a href="ecp__BLS24_8h.html#ad915d8cb1c6f4d52151b8caa68e8f4cb">CURVE_Pxa_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxa_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ae504594c892c33118948f80c86f4abae"><div class="ttname"><a href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a></div><div class="ttdeci">const BIG_480_56 Frb_BLS24</div></div>
@@ -107,50 +110,50 @@
 <div class="ttc" id="ecp__BLS24_8h_html_a5bad3855136bb896a772bd83fad01e6c"><div class="ttname"><a href="ecp__BLS24_8h.html#a5bad3855136bb896a772bd83fad01e6c">CURVE_SB_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_SB_BLS24[2][2]</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ad7f805067e9744140fdb8ac612e9a8be"><div class="ttname"><a href="ecp__BLS24_8h.html#ad7f805067e9744140fdb8ac612e9a8be">CURVE_Pybba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pybba_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_abcd2ae9ef4c96498779ed3c6d654638a"><div class="ttname"><a href="ecp__BLS24_8h.html#abcd2ae9ef4c96498779ed3c6d654638a">CURVE_Pxaa_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxaa_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a92c89f2f8c29ad82d6920f0f2aa74560"><div class="ttname"><a href="ecp__BLS24_8h.html#a92c89f2f8c29ad82d6920f0f2aa74560">ECP_BLS24_rawoutput</a></div><div class="ttdeci">void ECP_BLS24_rawoutput(ECP_BLS24 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:478</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a92c89f2f8c29ad82d6920f0f2aa74560"><div class="ttname"><a href="ecp__BLS24_8h.html#a92c89f2f8c29ad82d6920f0f2aa74560">ECP_BLS24_rawoutput</a></div><div class="ttdeci">void ECP_BLS24_rawoutput(ECP_BLS24 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:478</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a13fecb13cb8be0789f4127fa9609b51c"><div class="ttname"><a href="ecp__BLS24_8h.html#a13fecb13cb8be0789f4127fa9609b51c">CURVE_Cru_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Cru_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a37ee0bd5128bdbeeefc60ad302acd05f"><div class="ttname"><a href="ecp__BLS24_8h.html#a37ee0bd5128bdbeeefc60ad302acd05f">ECP_BLS24_output</a></div><div class="ttdeci">void ECP_BLS24_output(ECP_BLS24 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:450</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_ac2779d5d271c1ef82e3485279f75aad7"><div class="ttname"><a href="ecp__BLS24_8h.html#ac2779d5d271c1ef82e3485279f75aad7">ECP_BLS24_inf</a></div><div class="ttdeci">void ECP_BLS24_inf(ECP_BLS24 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:146</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a37ee0bd5128bdbeeefc60ad302acd05f"><div class="ttname"><a href="ecp__BLS24_8h.html#a37ee0bd5128bdbeeefc60ad302acd05f">ECP_BLS24_output</a></div><div class="ttdeci">void ECP_BLS24_output(ECP_BLS24 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:450</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_ac2779d5d271c1ef82e3485279f75aad7"><div class="ttname"><a href="ecp__BLS24_8h.html#ac2779d5d271c1ef82e3485279f75aad7">ECP_BLS24_inf</a></div><div class="ttdeci">void ECP_BLS24_inf(ECP_BLS24 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:146</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_adfd87f5cf903318fad6f098a646b239e"><div class="ttname"><a href="ecp__BLS24_8h.html#adfd87f5cf903318fad6f098a646b239e">CURVE_Gy_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Gy_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aaaa08d2e95536b250150ff2c07e878a2"><div class="ttname"><a href="ecp__BLS24_8h.html#aaaa08d2e95536b250150ff2c07e878a2">CURVE_Pxbab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxbab_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a709d65f7c1cf566606d66655cfc181b9"><div class="ttname"><a href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Bnx_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a55cfd9fd2ad71884570fb6b964382e7a"><div class="ttname"><a href="ecp__BLS24_8h.html#a55cfd9fd2ad71884570fb6b964382e7a">CURVE_Pxb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxb_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a6dcb8975059fc77c530eaec5985600a1"><div class="ttname"><a href="ecp__BLS24_8h.html#a6dcb8975059fc77c530eaec5985600a1">CURVE_Cof_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Cof_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a36595dab34b602cf72e8583ebe150cff"><div class="ttname"><a href="ecp__BLS24_8h.html#a36595dab34b602cf72e8583ebe150cff">ECP_BLS24_affine</a></div><div class="ttdeci">void ECP_BLS24_affine(ECP_BLS24 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:392</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a36595dab34b602cf72e8583ebe150cff"><div class="ttname"><a href="ecp__BLS24_8h.html#a36595dab34b602cf72e8583ebe150cff">ECP_BLS24_affine</a></div><div class="ttdeci">void ECP_BLS24_affine(ECP_BLS24 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:392</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ab8a474f3e45150b683267a5aa22f2da7"><div class="ttname"><a href="ecp__BLS24_8h.html#ab8a474f3e45150b683267a5aa22f2da7">CURVE_Gx_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Gx_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a12fe143fde7704ec2ad437d127b8c7b5"><div class="ttname"><a href="ecp__BLS24_8h.html#a12fe143fde7704ec2ad437d127b8c7b5">CURVE_Pyaab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyaab_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ad59c42150cf5835df571f6ac54c172fa"><div class="ttname"><a href="ecp__BLS24_8h.html#ad59c42150cf5835df571f6ac54c172fa">CURVE_Pxabb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxabb_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_abedcd21ebcf5230b65796d270ad38a94"><div class="ttname"><a href="ecp__BLS24_8h.html#abedcd21ebcf5230b65796d270ad38a94">ECP_BLS24_setx</a></div><div class="ttdeci">int ECP_BLS24_setx(ECP_BLS24 *P, BIG_480_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a6ff5cddc529aee0c19bf7403678b95f3"><div class="ttname"><a href="ecp__BLS24_8h.html#a6ff5cddc529aee0c19bf7403678b95f3">ECP_BLS24_sub</a></div><div class="ttdeci">void ECP_BLS24_sub(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
-<div class="ttc" id="structECP__BLS24_html"><div class="ttname"><a href="structECP__BLS24.html">ECP_BLS24</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.h:105</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_abedcd21ebcf5230b65796d270ad38a94"><div class="ttname"><a href="ecp__BLS24_8h.html#abedcd21ebcf5230b65796d270ad38a94">ECP_BLS24_setx</a></div><div class="ttdeci">int ECP_BLS24_setx(ECP_BLS24 *P, BIG_480_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a6ff5cddc529aee0c19bf7403678b95f3"><div class="ttname"><a href="ecp__BLS24_8h.html#a6ff5cddc529aee0c19bf7403678b95f3">ECP_BLS24_sub</a></div><div class="ttdeci">void ECP_BLS24_sub(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
+<div class="ttc" id="structECP__BLS24_html"><div class="ttname"><a href="structECP__BLS24.html">ECP_BLS24</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.h:105</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a0f573e35dbf132046aa5d213adab41c1"><div class="ttname"><a href="ecp__BLS24_8h.html#a0f573e35dbf132046aa5d213adab41c1">CURVE_Pyb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyb_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a609d428400ef28d71b8bbf581a7c1bb8"><div class="ttname"><a href="ecp__BLS24_8h.html#a609d428400ef28d71b8bbf581a7c1bb8">ECP_BLS24_toOctet</a></div><div class="ttdeci">void ECP_BLS24_toOctet(octet *S, ECP_BLS24 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:507</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ac75cd9cc63ab25493e17dfdcb3b0a640"><div class="ttname"><a href="ecp__BLS24_8h.html#ac75cd9cc63ab25493e17dfdcb3b0a640">CURVE_Pxab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxab_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_aac1fbca5fe9a348fe7b156786adb5486"><div class="ttname"><a href="ecp__BLS24_8h.html#aac1fbca5fe9a348fe7b156786adb5486">ECP_BLS24_get</a></div><div class="ttdeci">int ECP_BLS24_get(BIG_480_56 x, BIG_480_56 y, ECP_BLS24 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_aac1fbca5fe9a348fe7b156786adb5486"><div class="ttname"><a href="ecp__BLS24_8h.html#aac1fbca5fe9a348fe7b156786adb5486">ECP_BLS24_get</a></div><div class="ttdeci">int ECP_BLS24_get(BIG_480_56 x, BIG_480_56 y, ECP_BLS24 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aaac3bea0ed3847436687290427482a9a"><div class="ttname"><a href="ecp__BLS24_8h.html#aaac3bea0ed3847436687290427482a9a">CURVE_Pxbb_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxbb_BLS24</div></div>
 <div class="ttc" id="structECP__BLS24_html_af4e9f0990bc5a7139094de43f0e2bc32"><div class="ttname"><a href="structECP__BLS24.html#af4e9f0990bc5a7139094de43f0e2bc32">ECP_BLS24::x</a></div><div class="ttdeci">FP_BLS24 x</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.h:109</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a59c72befb1fca5876fb98faf4890a2f5"><div class="ttname"><a href="ecp__BLS24_8h.html#a59c72befb1fca5876fb98faf4890a2f5">CURVE_A_BLS24</a></div><div class="ttdeci">const int CURVE_A_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_abbe4910594ef217672ab14dd782e355b"><div class="ttname"><a href="ecp__BLS24_8h.html#abbe4910594ef217672ab14dd782e355b">CURVE_Pxaaa_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxaaa_BLS24</div></div>
-<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a887b280bc014cb907011852ff01dcfaf"><div class="ttname"><a href="ecp__BLS24_8h.html#a887b280bc014cb907011852ff01dcfaf">ECP_BLS24_cfp</a></div><div class="ttdeci">void ECP_BLS24_cfp(ECP_BLS24 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:338</div></div>
+<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a887b280bc014cb907011852ff01dcfaf"><div class="ttname"><a href="ecp__BLS24_8h.html#a887b280bc014cb907011852ff01dcfaf">ECP_BLS24_cfp</a></div><div class="ttdeci">void ECP_BLS24_cfp(ECP_BLS24 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:338</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a37ff0d9d4122324cb4b436812b4ab93d"><div class="ttname"><a href="ecp__BLS24_8h.html#a37ff0d9d4122324cb4b436812b4ab93d">CURVE_WB_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_WB_BLS24[4]</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ab72bc552a48088af54ef704d023e94ac"><div class="ttname"><a href="ecp__BLS24_8h.html#ab72bc552a48088af54ef704d023e94ac">CURVE_Pya_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pya_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ab4c72c21dc0f96af5977a03449602e18"><div class="ttname"><a href="ecp__BLS24_8h.html#ab4c72c21dc0f96af5977a03449602e18">CURVE_B_I_BLS24</a></div><div class="ttdeci">const int CURVE_B_I_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a3fb3fcb3edd4d44da0ebf1bbb30852a8"><div class="ttname"><a href="ecp__BLS24_8h.html#a3fb3fcb3edd4d44da0ebf1bbb30852a8">CURVE_Pyaba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pyaba_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a95d472a72ab7840b207f421f70a849da"><div class="ttname"><a href="ecp__BLS24_8h.html#a95d472a72ab7840b207f421f70a849da">ECP_BLS24_equals</a></div><div class="ttdeci">int ECP_BLS24_equals(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:100</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a95d472a72ab7840b207f421f70a849da"><div class="ttname"><a href="ecp__BLS24_8h.html#a95d472a72ab7840b207f421f70a849da">ECP_BLS24_equals</a></div><div class="ttdeci">int ECP_BLS24_equals(ECP_BLS24 *P, ECP_BLS24 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:100</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a6af90e5414c59c169145d614126eb9bc"><div class="ttname"><a href="ecp__BLS24_8h.html#a6af90e5414c59c169145d614126eb9bc">CURVE_Pxaba_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxaba_BLS24</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_abfce9ed3a562bcd8037713303a05e747"><div class="ttname"><a href="ecp__BLS24_8h.html#abfce9ed3a562bcd8037713303a05e747">ECP_BLS24_fromOctet</a></div><div class="ttdeci">int ECP_BLS24_fromOctet(ECP_BLS24 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:537</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_abfce9ed3a562bcd8037713303a05e747"><div class="ttname"><a href="ecp__BLS24_8h.html#abfce9ed3a562bcd8037713303a05e747">ECP_BLS24_fromOctet</a></div><div class="ttdeci">int ECP_BLS24_fromOctet(ECP_BLS24 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:537</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a1b94620ba3cb014a96f1f9c34b9b915b"><div class="ttname"><a href="ecp__BLS24_8h.html#a1b94620ba3cb014a96f1f9c34b9b915b">CURVE_Pybaa_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pybaa_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aa58915d10b48e5bbf4bb2c7428b36a92"><div class="ttname"><a href="ecp__BLS24_8h.html#aa58915d10b48e5bbf4bb2c7428b36a92">CURVE_BB_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_BB_BLS24[4][4]</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html_a3a8408ebfa5460ffbd686f507bf4d1b0"><div class="ttname"><a href="ecp__BLS24_8h.html#a3a8408ebfa5460ffbd686f507bf4d1b0">ECP_BLS24_rhs</a></div><div class="ttdeci">void ECP_BLS24_rhs(FP_BLS24 *r, FP_BLS24 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:161</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html_a3a8408ebfa5460ffbd686f507bf4d1b0"><div class="ttname"><a href="ecp__BLS24_8h.html#a3a8408ebfa5460ffbd686f507bf4d1b0">ECP_BLS24_rhs</a></div><div class="ttdeci">void ECP_BLS24_rhs(FP_BLS24 *r, FP_BLS24 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.c:161</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a8d9400eddc76c24f57e1c798e3a28a6c"><div class="ttname"><a href="ecp__BLS24_8h.html#a8d9400eddc76c24f57e1c798e3a28a6c">CURVE_Pxaab_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Pxaab_BLS24</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/ecp__BLS381_8h.html b/website/static/cdocs/ecp__BLS381_8h.html
index 447188e..93fb930 100644
--- a/website/static/cdocs/ecp__BLS381_8h.html
+++ b/website/static/cdocs/ecp__BLS381_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: ecp_BLS381.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"
@@ -1705,7 +1708,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/ecp__BLS381_8h_source.html b/website/static/cdocs/ecp__BLS381_8h_source.html
index 1d69526..7f80986 100644
--- a/website/static/cdocs/ecp__BLS381_8h_source.html
+++ b/website/static/cdocs/ecp__BLS381_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: ecp_BLS381.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,88 +72,88 @@
 <div class="title">ecp_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BLS381_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 ECP_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS381_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 &quot;<a class="code" href="fp__BLS381_8h.html">fp_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a8e691e13173dea68aa5c3f550e0fb130">CURVE_A_BLS381</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a6ec67a25369f28381cbc2a42ea414173">CURVE_Cof_I_BLS381</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#aef116dd1c5955c3e86fd9b22c39e3841">CURVE_B_I_BLS381</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a6cd99de9ded2845d418ca1c79fb95417">CURVE_B_BLS381</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ab0db0beafd90432eb12fb013f5466d68">CURVE_Order_BLS381</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a97ea26d6174e376a165ff28ea07cc2e6">CURVE_Cof_BLS381</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a4a7bbe17c22d85afe7ec7fe1a08aab4d">CURVE_Gx_BLS381</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a0ff01e0d2b4a0f06e9a8ac6c8346687c">CURVE_Gy_BLS381</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a6d14c89595a7ed214cd12c0148688d2c">CURVE_Pxa_BLS381</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aa3b577d06eb5c4ac47dea6f19de11e1f">CURVE_Pxb_BLS381</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a958833196ced4525eef425ae31c17931">CURVE_Pya_BLS381</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a035ac94764dc5dd600c2d57e599456d0">CURVE_Pyb_BLS381</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ab9e4131a341e0601812b206cfc4dc914">CURVE_Pxaa_BLS381</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#afdeaaea31113450030bbfe30f6b3bc0a">CURVE_Pxab_BLS381</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#adb3e1ca92ef4860087eca2e68b4027db">CURVE_Pxba_BLS381</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a45063e42095cb1dd55b88362c1053dd1">CURVE_Pxbb_BLS381</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aaa2d6e7474cd022229ed82a5c7bb9483">CURVE_Pyaa_BLS381</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a0d61b940d5950b70046339b9b9cc8e36">CURVE_Pyab_BLS381</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a6b1800feb74ef0e77fc892c065e0edb9">CURVE_Pyba_BLS381</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ab1b9371252fa99ce263d3b2c5b16bddd">CURVE_Pybb_BLS381</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a23b64da013ee1aeb28cfdef0936f6b67">CURVE_Pxaaa_BLS381</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a3e9ca0de5282aadac4fac393c4f22554">CURVE_Pxaab_BLS381</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#affaf4011df1673d6c83cc5b0aa1fb4e0">CURVE_Pxaba_BLS381</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aba9e14b5a09f337861b528978af5f2fa">CURVE_Pxabb_BLS381</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a89e11d97606793f91657261dc1446382">CURVE_Pxbaa_BLS381</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aa782d55127b67ef5dd6e3761d72e8e6f">CURVE_Pxbab_BLS381</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a4c60bf8db0f292ea5e106771a466b83c">CURVE_Pxbba_BLS381</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a81f36429b91793759cc7ebfb4a46c9ab">CURVE_Pxbbb_BLS381</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a7295db6eca49f752a33d588008184d25">CURVE_Pyaaa_BLS381</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a5b71020b71da602ab86522ee83146211">CURVE_Pyaab_BLS381</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a5511a6dd2e1acf46d281d6450d87bcfd">CURVE_Pyaba_BLS381</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a2cd65613276591694f26c34c72e87254">CURVE_Pyabb_BLS381</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a4bbaa097c2232cdb2fe21005fb906758">CURVE_Pybaa_BLS381</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ac36825e225df17be7b2528788f2cce91">CURVE_Pybab_BLS381</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a473bcea3069311c100511bb916058166">CURVE_Pybba_BLS381</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aad0431cca542da88db46273ddeefdd4d">CURVE_Pybbb_BLS381</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a633370fe9d1b0f30c7877879f7371908">CURVE_Cru_BLS381</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a>[2];       </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#adc31f7aafa529744e1417b7ad6c8dada">CURVE_SB_BLS381</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a569727714eda3247c43e488b37fbd272">CURVE_WB_BLS381</a>[4];      </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ae6a6e6a7e0cdd1fc2dc14b38da49893a">CURVE_BB_BLS381</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS381.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS381.html#afd5437f5c56405134c7044cfd091a98e">  109</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structECP__BLS381.html#afd5437f5c56405134c7044cfd091a98e">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS381!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS381.html#a1a9c649995a6aef7ce18576ba9b7e3fd">  111</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structECP__BLS381.html#a1a9c649995a6aef7ce18576ba9b7e3fd">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS381.html#af2d0930c4cc890faf9ea9c5bc1934ed6">  113</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structECP__BLS381.html#af2d0930c4cc890faf9ea9c5bc1934ed6">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS381.html">ECP_BLS381</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#aaf36eaea1befcf44311e018d31375d1e">ECP_BLS381_isinf</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a468446e88d537c5efc79ad0b3337ee35">ECP_BLS381_equals</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#aaf4f9d149de9737906f913a20f5c8832">ECP_BLS381_copy</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</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="ecp__BLS381_8h.html#ab5437939b996b9828f92f9d831f6cfc9">ECP_BLS381_neg</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</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="ecp__BLS381_8h.html#ad035a67b2727b173450313b837e879a4">ECP_BLS381_inf</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a88dd64181c90c4fa7aa55eb11dbe3bac">ECP_BLS381_rhs</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *r,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS381==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#ad306e1fcaca483834e9e06c40e28c9e4">ECP_BLS381_set</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a8056ede10051db0494e859008a0f2810">ECP_BLS381_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a8d06f4314e80a87bb3a1def74f7f7b93">ECP_BLS381_add</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#ad306e1fcaca483834e9e06c40e28c9e4">ECP_BLS381_set</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a8056ede10051db0494e859008a0f2810">ECP_BLS381_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a8d06f4314e80a87bb3a1def74f7f7b93">ECP_BLS381_add</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</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="ecp__BLS381_8h.html#ad99673e99815a5c60de2240f892eefe0">ECP_BLS381_sub</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a3918a62c465c91a927108c220fc03f59">ECP_BLS381_setx</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a280bd3a995318946be2fe9b9a0152217">ECP_BLS381_cfp</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#ae19e9ef2004c3a75a6b2a6e5deddf360">ECP_BLS381_mapit</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a01cc629659b81c889c83620da8c4abbe">ECP_BLS381_affine</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a5e634bab9a03b7f89a5498317f50db7f">ECP_BLS381_outputxyz</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</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="ecp__BLS381_8h.html#a03236cefc8c164e7efd70ded51ba4f51">ECP_BLS381_output</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a739ff123dab8663d953c2101466bfde6">ECP_BLS381_rawoutput</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a66b9e93766679b8a61e6c26eb2235db1">ECP_BLS381_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a12479ee8cdf2c3db7189fd1edff318c0">ECP_BLS381_fromOctet</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a7a1ef57b20b6d09ea101d40f616ba2d1">ECP_BLS381_dbl</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a7f6d7ae63f2426338e405d52286324c5">ECP_BLS381_pinmul</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#ae9976b984b96bc41f51e69d1e3d41ec0">ECP_BLS381_mul</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a1a228d0166312d91bf7aee25b69bf7ac">ECP_BLS381_mul2</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#acf128e73a9d48ace5ff849e30897e279">ECP_BLS381_generator</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS381_8h_html_a64af80fccbee15e68a18615680ebff58"><div class="ttname"><a href="ecp__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_W_BLS381[2]</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a5e634bab9a03b7f89a5498317f50db7f"><div class="ttname"><a href="ecp__BLS381_8h.html#a5e634bab9a03b7f89a5498317f50db7f">ECP_BLS381_outputxyz</a></div><div class="ttdeci">void ECP_BLS381_outputxyz(ECP_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:414</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a12479ee8cdf2c3db7189fd1edff318c0"><div class="ttname"><a href="ecp__BLS381_8h.html#a12479ee8cdf2c3db7189fd1edff318c0">ECP_BLS381_fromOctet</a></div><div class="ttdeci">int ECP_BLS381_fromOctet(ECP_BLS381 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:537</div></div>
+<a href="ecp__BLS381_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 ECP_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS381_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 &quot;<a class="code" href="fp__BLS381_8h.html">fp_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a8e691e13173dea68aa5c3f550e0fb130">CURVE_A_BLS381</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a6ec67a25369f28381cbc2a42ea414173">CURVE_Cof_I_BLS381</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#aef116dd1c5955c3e86fd9b22c39e3841">CURVE_B_I_BLS381</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a6cd99de9ded2845d418ca1c79fb95417">CURVE_B_BLS381</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ab0db0beafd90432eb12fb013f5466d68">CURVE_Order_BLS381</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a97ea26d6174e376a165ff28ea07cc2e6">CURVE_Cof_BLS381</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a4a7bbe17c22d85afe7ec7fe1a08aab4d">CURVE_Gx_BLS381</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a0ff01e0d2b4a0f06e9a8ac6c8346687c">CURVE_Gy_BLS381</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a6d14c89595a7ed214cd12c0148688d2c">CURVE_Pxa_BLS381</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aa3b577d06eb5c4ac47dea6f19de11e1f">CURVE_Pxb_BLS381</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a958833196ced4525eef425ae31c17931">CURVE_Pya_BLS381</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a035ac94764dc5dd600c2d57e599456d0">CURVE_Pyb_BLS381</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ab9e4131a341e0601812b206cfc4dc914">CURVE_Pxaa_BLS381</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#afdeaaea31113450030bbfe30f6b3bc0a">CURVE_Pxab_BLS381</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#adb3e1ca92ef4860087eca2e68b4027db">CURVE_Pxba_BLS381</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a45063e42095cb1dd55b88362c1053dd1">CURVE_Pxbb_BLS381</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aaa2d6e7474cd022229ed82a5c7bb9483">CURVE_Pyaa_BLS381</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a0d61b940d5950b70046339b9b9cc8e36">CURVE_Pyab_BLS381</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a6b1800feb74ef0e77fc892c065e0edb9">CURVE_Pyba_BLS381</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ab1b9371252fa99ce263d3b2c5b16bddd">CURVE_Pybb_BLS381</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a23b64da013ee1aeb28cfdef0936f6b67">CURVE_Pxaaa_BLS381</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a3e9ca0de5282aadac4fac393c4f22554">CURVE_Pxaab_BLS381</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#affaf4011df1673d6c83cc5b0aa1fb4e0">CURVE_Pxaba_BLS381</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aba9e14b5a09f337861b528978af5f2fa">CURVE_Pxabb_BLS381</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a89e11d97606793f91657261dc1446382">CURVE_Pxbaa_BLS381</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aa782d55127b67ef5dd6e3761d72e8e6f">CURVE_Pxbab_BLS381</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a4c60bf8db0f292ea5e106771a466b83c">CURVE_Pxbba_BLS381</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a81f36429b91793759cc7ebfb4a46c9ab">CURVE_Pxbbb_BLS381</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a7295db6eca49f752a33d588008184d25">CURVE_Pyaaa_BLS381</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a5b71020b71da602ab86522ee83146211">CURVE_Pyaab_BLS381</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a5511a6dd2e1acf46d281d6450d87bcfd">CURVE_Pyaba_BLS381</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a2cd65613276591694f26c34c72e87254">CURVE_Pyabb_BLS381</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a4bbaa097c2232cdb2fe21005fb906758">CURVE_Pybaa_BLS381</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ac36825e225df17be7b2528788f2cce91">CURVE_Pybab_BLS381</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a473bcea3069311c100511bb916058166">CURVE_Pybba_BLS381</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#aad0431cca542da88db46273ddeefdd4d">CURVE_Pybbb_BLS381</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a633370fe9d1b0f30c7877879f7371908">CURVE_Cru_BLS381</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#adc31f7aafa529744e1417b7ad6c8dada">CURVE_SB_BLS381</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#a569727714eda3247c43e488b37fbd272">CURVE_WB_BLS381</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS381_8h.html#ae6a6e6a7e0cdd1fc2dc14b38da49893a">CURVE_BB_BLS381</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS381.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS381.html#afd5437f5c56405134c7044cfd091a98e">  109</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structECP__BLS381.html#afd5437f5c56405134c7044cfd091a98e">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS381!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS381.html#a1a9c649995a6aef7ce18576ba9b7e3fd">  111</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structECP__BLS381.html#a1a9c649995a6aef7ce18576ba9b7e3fd">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS381.html#af2d0930c4cc890faf9ea9c5bc1934ed6">  113</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structECP__BLS381.html#af2d0930c4cc890faf9ea9c5bc1934ed6">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS381.html">ECP_BLS381</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#aaf36eaea1befcf44311e018d31375d1e">ECP_BLS381_isinf</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a468446e88d537c5efc79ad0b3337ee35">ECP_BLS381_equals</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#aaf4f9d149de9737906f913a20f5c8832">ECP_BLS381_copy</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</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="ecp__BLS381_8h.html#ab5437939b996b9828f92f9d831f6cfc9">ECP_BLS381_neg</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</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="ecp__BLS381_8h.html#ad035a67b2727b173450313b837e879a4">ECP_BLS381_inf</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a88dd64181c90c4fa7aa55eb11dbe3bac">ECP_BLS381_rhs</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *r,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS381==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#ad306e1fcaca483834e9e06c40e28c9e4">ECP_BLS381_set</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a8056ede10051db0494e859008a0f2810">ECP_BLS381_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a8d06f4314e80a87bb3a1def74f7f7b93">ECP_BLS381_add</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#ad306e1fcaca483834e9e06c40e28c9e4">ECP_BLS381_set</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a8056ede10051db0494e859008a0f2810">ECP_BLS381_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a8d06f4314e80a87bb3a1def74f7f7b93">ECP_BLS381_add</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</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="ecp__BLS381_8h.html#ad99673e99815a5c60de2240f892eefe0">ECP_BLS381_sub</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a3918a62c465c91a927108c220fc03f59">ECP_BLS381_setx</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a280bd3a995318946be2fe9b9a0152217">ECP_BLS381_cfp</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#ae19e9ef2004c3a75a6b2a6e5deddf360">ECP_BLS381_mapit</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a01cc629659b81c889c83620da8c4abbe">ECP_BLS381_affine</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a5e634bab9a03b7f89a5498317f50db7f">ECP_BLS381_outputxyz</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</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="ecp__BLS381_8h.html#a03236cefc8c164e7efd70ded51ba4f51">ECP_BLS381_output</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a739ff123dab8663d953c2101466bfde6">ECP_BLS381_rawoutput</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a66b9e93766679b8a61e6c26eb2235db1">ECP_BLS381_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS381_8h.html#a12479ee8cdf2c3db7189fd1edff318c0">ECP_BLS381_fromOctet</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a7a1ef57b20b6d09ea101d40f616ba2d1">ECP_BLS381_dbl</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a7f6d7ae63f2426338e405d52286324c5">ECP_BLS381_pinmul</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#ae9976b984b96bc41f51e69d1e3d41ec0">ECP_BLS381_mul</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#a1a228d0166312d91bf7aee25b69bf7ac">ECP_BLS381_mul2</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS381_8h.html#acf128e73a9d48ace5ff849e30897e279">ECP_BLS381_generator</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS381_8h_html_a64af80fccbee15e68a18615680ebff58"><div class="ttname"><a href="ecp__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_W_BLS381[2]</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a5e634bab9a03b7f89a5498317f50db7f"><div class="ttname"><a href="ecp__BLS381_8h.html#a5e634bab9a03b7f89a5498317f50db7f">ECP_BLS381_outputxyz</a></div><div class="ttdeci">void ECP_BLS381_outputxyz(ECP_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:414</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a12479ee8cdf2c3db7189fd1edff318c0"><div class="ttname"><a href="ecp__BLS381_8h.html#a12479ee8cdf2c3db7189fd1edff318c0">ECP_BLS381_fromOctet</a></div><div class="ttdeci">int ECP_BLS381_fromOctet(ECP_BLS381 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:537</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a473bcea3069311c100511bb916058166"><div class="ttname"><a href="ecp__BLS381_8h.html#a473bcea3069311c100511bb916058166">CURVE_Pybba_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybba_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a4c60bf8db0f292ea5e106771a466b83c"><div class="ttname"><a href="ecp__BLS381_8h.html#a4c60bf8db0f292ea5e106771a466b83c">CURVE_Pxbba_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbba_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a4a7bbe17c22d85afe7ec7fe1a08aab4d"><div class="ttname"><a href="ecp__BLS381_8h.html#a4a7bbe17c22d85afe7ec7fe1a08aab4d">CURVE_Gx_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gx_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a1a228d0166312d91bf7aee25b69bf7ac"><div class="ttname"><a href="ecp__BLS381_8h.html#a1a228d0166312d91bf7aee25b69bf7ac">ECP_BLS381_mul2</a></div><div class="ttdeci">void ECP_BLS381_mul2(ECP_BLS381 *P, ECP_BLS381 *Q, BIG_384_58 e, BIG_384_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a1a228d0166312d91bf7aee25b69bf7ac"><div class="ttname"><a href="ecp__BLS381_8h.html#a1a228d0166312d91bf7aee25b69bf7ac">ECP_BLS381_mul2</a></div><div class="ttdeci">void ECP_BLS381_mul2(ECP_BLS381 *P, ECP_BLS381 *Q, BIG_384_58 e, BIG_384_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a0d61b940d5950b70046339b9b9cc8e36"><div class="ttname"><a href="ecp__BLS381_8h.html#a0d61b940d5950b70046339b9b9cc8e36">CURVE_Pyab_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyab_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a0ff01e0d2b4a0f06e9a8ac6c8346687c"><div class="ttname"><a href="ecp__BLS381_8h.html#a0ff01e0d2b4a0f06e9a8ac6c8346687c">CURVE_Gy_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gy_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a739ff123dab8663d953c2101466bfde6"><div class="ttname"><a href="ecp__BLS381_8h.html#a739ff123dab8663d953c2101466bfde6">ECP_BLS381_rawoutput</a></div><div class="ttdeci">void ECP_BLS381_rawoutput(ECP_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:478</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a739ff123dab8663d953c2101466bfde6"><div class="ttname"><a href="ecp__BLS381_8h.html#a739ff123dab8663d953c2101466bfde6">ECP_BLS381_rawoutput</a></div><div class="ttdeci">void ECP_BLS381_rawoutput(ECP_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:478</div></div>
 <div class="ttc" id="structECP__BLS381_html_af2d0930c4cc890faf9ea9c5bc1934ed6"><div class="ttname"><a href="structECP__BLS381.html#af2d0930c4cc890faf9ea9c5bc1934ed6">ECP_BLS381::z</a></div><div class="ttdeci">FP_BLS381 z</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.h:113</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a633370fe9d1b0f30c7877879f7371908"><div class="ttname"><a href="ecp__BLS381_8h.html#a633370fe9d1b0f30c7877879f7371908">CURVE_Cru_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cru_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a280bd3a995318946be2fe9b9a0152217"><div class="ttname"><a href="ecp__BLS381_8h.html#a280bd3a995318946be2fe9b9a0152217">ECP_BLS381_cfp</a></div><div class="ttdeci">void ECP_BLS381_cfp(ECP_BLS381 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:338</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a280bd3a995318946be2fe9b9a0152217"><div class="ttname"><a href="ecp__BLS381_8h.html#a280bd3a995318946be2fe9b9a0152217">ECP_BLS381_cfp</a></div><div class="ttdeci">void ECP_BLS381_cfp(ECP_BLS381 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:338</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a4bbaa097c2232cdb2fe21005fb906758"><div class="ttname"><a href="ecp__BLS381_8h.html#a4bbaa097c2232cdb2fe21005fb906758">CURVE_Pybaa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybaa_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a3918a62c465c91a927108c220fc03f59"><div class="ttname"><a href="ecp__BLS381_8h.html#a3918a62c465c91a927108c220fc03f59">ECP_BLS381_setx</a></div><div class="ttdeci">int ECP_BLS381_setx(ECP_BLS381 *P, BIG_384_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_acf128e73a9d48ace5ff849e30897e279"><div class="ttname"><a href="ecp__BLS381_8h.html#acf128e73a9d48ace5ff849e30897e279">ECP_BLS381_generator</a></div><div class="ttdeci">void ECP_BLS381_generator(ECP_BLS381 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:1221</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a3918a62c465c91a927108c220fc03f59"><div class="ttname"><a href="ecp__BLS381_8h.html#a3918a62c465c91a927108c220fc03f59">ECP_BLS381_setx</a></div><div class="ttdeci">int ECP_BLS381_setx(ECP_BLS381 *P, BIG_384_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_acf128e73a9d48ace5ff849e30897e279"><div class="ttname"><a href="ecp__BLS381_8h.html#acf128e73a9d48ace5ff849e30897e279">ECP_BLS381_generator</a></div><div class="ttdeci">void ECP_BLS381_generator(ECP_BLS381 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:1221</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a5b71020b71da602ab86522ee83146211"><div class="ttname"><a href="ecp__BLS381_8h.html#a5b71020b71da602ab86522ee83146211">CURVE_Pyaab_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyaab_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_afdeaaea31113450030bbfe30f6b3bc0a"><div class="ttname"><a href="ecp__BLS381_8h.html#afdeaaea31113450030bbfe30f6b3bc0a">CURVE_Pxab_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxab_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_aaf4f9d149de9737906f913a20f5c8832"><div class="ttname"><a href="ecp__BLS381_8h.html#aaf4f9d149de9737906f913a20f5c8832">ECP_BLS381_copy</a></div><div class="ttdeci">void ECP_BLS381_copy(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:120</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_aaf4f9d149de9737906f913a20f5c8832"><div class="ttname"><a href="ecp__BLS381_8h.html#aaf4f9d149de9737906f913a20f5c8832">ECP_BLS381_copy</a></div><div class="ttdeci">void ECP_BLS381_copy(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:120</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_affaf4011df1673d6c83cc5b0aa1fb4e0"><div class="ttname"><a href="ecp__BLS381_8h.html#affaf4011df1673d6c83cc5b0aa1fb4e0">CURVE_Pxaba_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaba_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a6ec67a25369f28381cbc2a42ea414173"><div class="ttname"><a href="ecp__BLS381_8h.html#a6ec67a25369f28381cbc2a42ea414173">CURVE_Cof_I_BLS381</a></div><div class="ttdeci">const int CURVE_Cof_I_BLS381</div></div>
 <div class="ttc" id="structECP__BLS381_html_afd5437f5c56405134c7044cfd091a98e"><div class="ttname"><a href="structECP__BLS381.html#afd5437f5c56405134c7044cfd091a98e">ECP_BLS381::x</a></div><div class="ttdeci">FP_BLS381 x</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.h:109</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="ecp__BLS381_8h_html_a97ea26d6174e376a165ff28ea07cc2e6"><div class="ttname"><a href="ecp__BLS381_8h.html#a97ea26d6174e376a165ff28ea07cc2e6">CURVE_Cof_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cof_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_aaf36eaea1befcf44311e018d31375d1e"><div class="ttname"><a href="ecp__BLS381_8h.html#aaf36eaea1befcf44311e018d31375d1e">ECP_BLS381_isinf</a></div><div class="ttdeci">int ECP_BLS381_isinf(ECP_BLS381 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:28</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_ae19e9ef2004c3a75a6b2a6e5deddf360"><div class="ttname"><a href="ecp__BLS381_8h.html#ae19e9ef2004c3a75a6b2a6e5deddf360">ECP_BLS381_mapit</a></div><div class="ttdeci">void ECP_BLS381_mapit(ECP_BLS381 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:365</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_aaf36eaea1befcf44311e018d31375d1e"><div class="ttname"><a href="ecp__BLS381_8h.html#aaf36eaea1befcf44311e018d31375d1e">ECP_BLS381_isinf</a></div><div class="ttdeci">int ECP_BLS381_isinf(ECP_BLS381 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:28</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_ae19e9ef2004c3a75a6b2a6e5deddf360"><div class="ttname"><a href="ecp__BLS381_8h.html#ae19e9ef2004c3a75a6b2a6e5deddf360">ECP_BLS381_mapit</a></div><div class="ttdeci">void ECP_BLS381_mapit(ECP_BLS381 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:365</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a8e691e13173dea68aa5c3f550e0fb130"><div class="ttname"><a href="ecp__BLS381_8h.html#a8e691e13173dea68aa5c3f550e0fb130">CURVE_A_BLS381</a></div><div class="ttdeci">const int CURVE_A_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_ab9e4131a341e0601812b206cfc4dc914"><div class="ttname"><a href="ecp__BLS381_8h.html#ab9e4131a341e0601812b206cfc4dc914">CURVE_Pxaa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaa_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_adc31f7aafa529744e1417b7ad6c8dada"><div class="ttname"><a href="ecp__BLS381_8h.html#adc31f7aafa529744e1417b7ad6c8dada">CURVE_SB_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_SB_BLS381[2][2]</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a6cd99de9ded2845d418ca1c79fb95417"><div class="ttname"><a href="ecp__BLS381_8h.html#a6cd99de9ded2845d418ca1c79fb95417">CURVE_B_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_B_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_ab5437939b996b9828f92f9d831f6cfc9"><div class="ttname"><a href="ecp__BLS381_8h.html#ab5437939b996b9828f92f9d831f6cfc9">ECP_BLS381_neg</a></div><div class="ttdeci">void ECP_BLS381_neg(ECP_BLS381 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a03236cefc8c164e7efd70ded51ba4f51"><div class="ttname"><a href="ecp__BLS381_8h.html#a03236cefc8c164e7efd70ded51ba4f51">ECP_BLS381_output</a></div><div class="ttdeci">void ECP_BLS381_output(ECP_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:450</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_ab5437939b996b9828f92f9d831f6cfc9"><div class="ttname"><a href="ecp__BLS381_8h.html#ab5437939b996b9828f92f9d831f6cfc9">ECP_BLS381_neg</a></div><div class="ttdeci">void ECP_BLS381_neg(ECP_BLS381 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a03236cefc8c164e7efd70ded51ba4f51"><div class="ttname"><a href="ecp__BLS381_8h.html#a03236cefc8c164e7efd70ded51ba4f51">ECP_BLS381_output</a></div><div class="ttdeci">void ECP_BLS381_output(ECP_BLS381 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:450</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_aa3b577d06eb5c4ac47dea6f19de11e1f"><div class="ttname"><a href="ecp__BLS381_8h.html#aa3b577d06eb5c4ac47dea6f19de11e1f">CURVE_Pxb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxb_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a6d14c89595a7ed214cd12c0148688d2c"><div class="ttname"><a href="ecp__BLS381_8h.html#a6d14c89595a7ed214cd12c0148688d2c">CURVE_Pxa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxa_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_ae9976b984b96bc41f51e69d1e3d41ec0"><div class="ttname"><a href="ecp__BLS381_8h.html#ae9976b984b96bc41f51e69d1e3d41ec0">ECP_BLS381_mul</a></div><div class="ttdeci">void ECP_BLS381_mul(ECP_BLS381 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:1021</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a468446e88d537c5efc79ad0b3337ee35"><div class="ttname"><a href="ecp__BLS381_8h.html#a468446e88d537c5efc79ad0b3337ee35">ECP_BLS381_equals</a></div><div class="ttdeci">int ECP_BLS381_equals(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:100</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_ae9976b984b96bc41f51e69d1e3d41ec0"><div class="ttname"><a href="ecp__BLS381_8h.html#ae9976b984b96bc41f51e69d1e3d41ec0">ECP_BLS381_mul</a></div><div class="ttdeci">void ECP_BLS381_mul(ECP_BLS381 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:1021</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a468446e88d537c5efc79ad0b3337ee35"><div class="ttname"><a href="ecp__BLS381_8h.html#a468446e88d537c5efc79ad0b3337ee35">ECP_BLS381_equals</a></div><div class="ttdeci">int ECP_BLS381_equals(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:100</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_ab1b9371252fa99ce263d3b2c5b16bddd"><div class="ttname"><a href="ecp__BLS381_8h.html#ab1b9371252fa99ce263d3b2c5b16bddd">CURVE_Pybb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybb_BLS381</div></div>
-<div class="ttc" id="structECP__BLS381_html"><div class="ttname"><a href="structECP__BLS381.html">ECP_BLS381</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.h:105</div></div>
+<div class="ttc" id="structECP__BLS381_html"><div class="ttname"><a href="structECP__BLS381.html">ECP_BLS381</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.h:105</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a5511a6dd2e1acf46d281d6450d87bcfd"><div class="ttname"><a href="ecp__BLS381_8h.html#a5511a6dd2e1acf46d281d6450d87bcfd">CURVE_Pyaba_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyaba_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_ac36825e225df17be7b2528788f2cce91"><div class="ttname"><a href="ecp__BLS381_8h.html#ac36825e225df17be7b2528788f2cce91">CURVE_Pybab_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybab_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a2cd65613276591694f26c34c72e87254"><div class="ttname"><a href="ecp__BLS381_8h.html#a2cd65613276591694f26c34c72e87254">CURVE_Pyabb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyabb_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_aaa2d6e7474cd022229ed82a5c7bb9483"><div class="ttname"><a href="ecp__BLS381_8h.html#aaa2d6e7474cd022229ed82a5c7bb9483">CURVE_Pyaa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyaa_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a8056ede10051db0494e859008a0f2810"><div class="ttname"><a href="ecp__BLS381_8h.html#a8056ede10051db0494e859008a0f2810">ECP_BLS381_get</a></div><div class="ttdeci">int ECP_BLS381_get(BIG_384_58 x, BIG_384_58 y, ECP_BLS381 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a8056ede10051db0494e859008a0f2810"><div class="ttname"><a href="ecp__BLS381_8h.html#a8056ede10051db0494e859008a0f2810">ECP_BLS381_get</a></div><div class="ttdeci">int ECP_BLS381_get(BIG_384_58 x, BIG_384_58 y, ECP_BLS381 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a569727714eda3247c43e488b37fbd272"><div class="ttname"><a href="ecp__BLS381_8h.html#a569727714eda3247c43e488b37fbd272">CURVE_WB_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_WB_BLS381[4]</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a7a1ef57b20b6d09ea101d40f616ba2d1"><div class="ttname"><a href="ecp__BLS381_8h.html#a7a1ef57b20b6d09ea101d40f616ba2d1">ECP_BLS381_dbl</a></div><div class="ttdeci">void ECP_BLS381_dbl(ECP_BLS381 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:564</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a7a1ef57b20b6d09ea101d40f616ba2d1"><div class="ttname"><a href="ecp__BLS381_8h.html#a7a1ef57b20b6d09ea101d40f616ba2d1">ECP_BLS381_dbl</a></div><div class="ttdeci">void ECP_BLS381_dbl(ECP_BLS381 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:564</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a81f36429b91793759cc7ebfb4a46c9ab"><div class="ttname"><a href="ecp__BLS381_8h.html#a81f36429b91793759cc7ebfb4a46c9ab">CURVE_Pxbbb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbbb_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_ae6a6e6a7e0cdd1fc2dc14b38da49893a"><div class="ttname"><a href="ecp__BLS381_8h.html#ae6a6e6a7e0cdd1fc2dc14b38da49893a">CURVE_BB_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_BB_BLS381[4][4]</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a01cc629659b81c889c83620da8c4abbe"><div class="ttname"><a href="ecp__BLS381_8h.html#a01cc629659b81c889c83620da8c4abbe">ECP_BLS381_affine</a></div><div class="ttdeci">void ECP_BLS381_affine(ECP_BLS381 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:392</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a01cc629659b81c889c83620da8c4abbe"><div class="ttname"><a href="ecp__BLS381_8h.html#a01cc629659b81c889c83620da8c4abbe">ECP_BLS381_affine</a></div><div class="ttdeci">void ECP_BLS381_affine(ECP_BLS381 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:392</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a7295db6eca49f752a33d588008184d25"><div class="ttname"><a href="ecp__BLS381_8h.html#a7295db6eca49f752a33d588008184d25">CURVE_Pyaaa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyaaa_BLS381</div></div>
-<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
+<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a035ac94764dc5dd600c2d57e599456d0"><div class="ttname"><a href="ecp__BLS381_8h.html#a035ac94764dc5dd600c2d57e599456d0">CURVE_Pyb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyb_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_ab0db0beafd90432eb12fb013f5466d68"><div class="ttname"><a href="ecp__BLS381_8h.html#ab0db0beafd90432eb12fb013f5466d68">CURVE_Order_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Order_BLS381</div></div>
 <div class="ttc" id="structECP__BLS381_html_a1a9c649995a6aef7ce18576ba9b7e3fd"><div class="ttname"><a href="structECP__BLS381.html#a1a9c649995a6aef7ce18576ba9b7e3fd">ECP_BLS381::y</a></div><div class="ttdeci">FP_BLS381 y</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.h:111</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a1214b4014ddfebcc990efe1f496d0698"><div class="ttname"><a href="ecp__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a></div><div class="ttdeci">const BIG_384_58 Fra_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_ae6e182a64e658ae2f24b4ce059dc1a7c"><div class="ttname"><a href="ecp__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Bnx_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a6b1800feb74ef0e77fc892c065e0edb9"><div class="ttname"><a href="ecp__BLS381_8h.html#a6b1800feb74ef0e77fc892c065e0edb9">CURVE_Pyba_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyba_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_ad306e1fcaca483834e9e06c40e28c9e4"><div class="ttname"><a href="ecp__BLS381_8h.html#ad306e1fcaca483834e9e06c40e28c9e4">ECP_BLS381_set</a></div><div class="ttdeci">int ECP_BLS381_set(ECP_BLS381 *P, BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_ad306e1fcaca483834e9e06c40e28c9e4"><div class="ttname"><a href="ecp__BLS381_8h.html#ad306e1fcaca483834e9e06c40e28c9e4">ECP_BLS381_set</a></div><div class="ttdeci">int ECP_BLS381_set(ECP_BLS381 *P, BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a45063e42095cb1dd55b88362c1053dd1"><div class="ttname"><a href="ecp__BLS381_8h.html#a45063e42095cb1dd55b88362c1053dd1">CURVE_Pxbb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbb_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a8d06f4314e80a87bb3a1def74f7f7b93"><div class="ttname"><a href="ecp__BLS381_8h.html#a8d06f4314e80a87bb3a1def74f7f7b93">ECP_BLS381_add</a></div><div class="ttdeci">void ECP_BLS381_add(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a8d06f4314e80a87bb3a1def74f7f7b93"><div class="ttname"><a href="ecp__BLS381_8h.html#a8d06f4314e80a87bb3a1def74f7f7b93">ECP_BLS381_add</a></div><div class="ttdeci">void ECP_BLS381_add(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_aef116dd1c5955c3e86fd9b22c39e3841"><div class="ttname"><a href="ecp__BLS381_8h.html#aef116dd1c5955c3e86fd9b22c39e3841">CURVE_B_I_BLS381</a></div><div class="ttdeci">const int CURVE_B_I_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_aa782d55127b67ef5dd6e3761d72e8e6f"><div class="ttname"><a href="ecp__BLS381_8h.html#aa782d55127b67ef5dd6e3761d72e8e6f">CURVE_Pxbab_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbab_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_ad99673e99815a5c60de2240f892eefe0"><div class="ttname"><a href="ecp__BLS381_8h.html#ad99673e99815a5c60de2240f892eefe0">ECP_BLS381_sub</a></div><div class="ttdeci">void ECP_BLS381_sub(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_ad99673e99815a5c60de2240f892eefe0"><div class="ttname"><a href="ecp__BLS381_8h.html#ad99673e99815a5c60de2240f892eefe0">ECP_BLS381_sub</a></div><div class="ttdeci">void ECP_BLS381_sub(ECP_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a80db75c3cbe43f3353897b39d21e4f34"><div class="ttname"><a href="ecp__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a></div><div class="ttdeci">const BIG_384_58 Frb_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a3e9ca0de5282aadac4fac393c4f22554"><div class="ttname"><a href="ecp__BLS381_8h.html#a3e9ca0de5282aadac4fac393c4f22554">CURVE_Pxaab_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaab_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a958833196ced4525eef425ae31c17931"><div class="ttname"><a href="ecp__BLS381_8h.html#a958833196ced4525eef425ae31c17931">CURVE_Pya_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pya_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_aba9e14b5a09f337861b528978af5f2fa"><div class="ttname"><a href="ecp__BLS381_8h.html#aba9e14b5a09f337861b528978af5f2fa">CURVE_Pxabb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxabb_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a88dd64181c90c4fa7aa55eb11dbe3bac"><div class="ttname"><a href="ecp__BLS381_8h.html#a88dd64181c90c4fa7aa55eb11dbe3bac">ECP_BLS381_rhs</a></div><div class="ttdeci">void ECP_BLS381_rhs(FP_BLS381 *r, FP_BLS381 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:161</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_a7f6d7ae63f2426338e405d52286324c5"><div class="ttname"><a href="ecp__BLS381_8h.html#a7f6d7ae63f2426338e405d52286324c5">ECP_BLS381_pinmul</a></div><div class="ttdeci">void ECP_BLS381_pinmul(ECP_BLS381 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a88dd64181c90c4fa7aa55eb11dbe3bac"><div class="ttname"><a href="ecp__BLS381_8h.html#a88dd64181c90c4fa7aa55eb11dbe3bac">ECP_BLS381_rhs</a></div><div class="ttdeci">void ECP_BLS381_rhs(FP_BLS381 *r, FP_BLS381 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:161</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_a7f6d7ae63f2426338e405d52286324c5"><div class="ttname"><a href="ecp__BLS381_8h.html#a7f6d7ae63f2426338e405d52286324c5">ECP_BLS381_pinmul</a></div><div class="ttdeci">void ECP_BLS381_pinmul(ECP_BLS381 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_aad0431cca542da88db46273ddeefdd4d"><div class="ttname"><a href="ecp__BLS381_8h.html#aad0431cca542da88db46273ddeefdd4d">CURVE_Pybbb_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybbb_BLS381</div></div>
-<div class="ttc" id="fp__BLS381_8h_html"><div class="ttname"><a href="fp__BLS381_8h.html">fp_BLS381.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__BLS381_8h_html"><div class="ttname"><a href="fp__BLS381_8h.html">fp_BLS381.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_adb3e1ca92ef4860087eca2e68b4027db"><div class="ttname"><a href="ecp__BLS381_8h.html#adb3e1ca92ef4860087eca2e68b4027db">CURVE_Pxba_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxba_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a89e11d97606793f91657261dc1446382"><div class="ttname"><a href="ecp__BLS381_8h.html#a89e11d97606793f91657261dc1446382">CURVE_Pxbaa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbaa_BLS381</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a23b64da013ee1aeb28cfdef0936f6b67"><div class="ttname"><a href="ecp__BLS381_8h.html#a23b64da013ee1aeb28cfdef0936f6b67">CURVE_Pxaaa_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaaa_BLS381</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html_ad035a67b2727b173450313b837e879a4"><div class="ttname"><a href="ecp__BLS381_8h.html#ad035a67b2727b173450313b837e879a4">ECP_BLS381_inf</a></div><div class="ttdeci">void ECP_BLS381_inf(ECP_BLS381 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:146</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html_ad035a67b2727b173450313b837e879a4"><div class="ttname"><a href="ecp__BLS381_8h.html#ad035a67b2727b173450313b837e879a4">ECP_BLS381_inf</a></div><div class="ttdeci">void ECP_BLS381_inf(ECP_BLS381 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:146</div></div>
 <div class="ttc" id="ecp__BLS381_8h_html_a66b9e93766679b8a61e6c26eb2235db1"><div class="ttname"><a href="ecp__BLS381_8h.html#a66b9e93766679b8a61e6c26eb2235db1">ECP_BLS381_toOctet</a></div><div class="ttdeci">void ECP_BLS381_toOctet(octet *S, ECP_BLS381 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.c:507</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/ecp__BLS383_8h.html b/website/static/cdocs/ecp__BLS383_8h.html
index 79c55b5..f673786 100644
--- a/website/static/cdocs/ecp__BLS383_8h.html
+++ b/website/static/cdocs/ecp__BLS383_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: ecp_BLS383.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"
@@ -1705,7 +1708,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/ecp__BLS383_8h_source.html b/website/static/cdocs/ecp__BLS383_8h_source.html
index 8b2a54f..8aa7cca 100644
--- a/website/static/cdocs/ecp__BLS383_8h_source.html
+++ b/website/static/cdocs/ecp__BLS383_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: ecp_BLS383.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,9 +72,9 @@
 <div class="title">ecp_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BLS383_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 ECP_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS383_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 &quot;<a class="code" href="fp__BLS383_8h.html">fp_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a8552848bf7e3647ede309693e9fa9e2d">CURVE_A_BLS383</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a636dde6654b88b8c446bde3b6c96ce2e">CURVE_Cof_I_BLS383</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a14ba4b2ca939da2039cc7ac1963be07a">CURVE_B_I_BLS383</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#af01bc25892c1f0bc589f04a1ea3278b8">CURVE_B_BLS383</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aaeb4da84f0c3380e2283bc68984d54ca">CURVE_Order_BLS383</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ac8df206ff52872c148d4377101432757">CURVE_Cof_BLS383</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a9182e9e573f672366c863427bfcbe86f">CURVE_Gx_BLS383</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a4d98980f5ce2f84f1a578387355b9a2d">CURVE_Gy_BLS383</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a96d085ca027eba7644fe60030e9b0703">CURVE_Pxa_BLS383</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ae3d9ae9abdec9fb92df8e6bcf72641fb">CURVE_Pxb_BLS383</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a07420456f7b0874fcda4d036a0227e77">CURVE_Pya_BLS383</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a927d030da4529135fb92a3ca745aa3e1">CURVE_Pyb_BLS383</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ab2f65237afa897644371ea1b5f713ccd">CURVE_Pxaa_BLS383</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a60cbd0794c351d9e1408392f8c653cac">CURVE_Pxab_BLS383</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a5afbee5f68c5b823b53adeec98fee0cf">CURVE_Pxba_BLS383</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a3e464f16bbc1bc593117ece8a66b43bf">CURVE_Pxbb_BLS383</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a931934ea12d063c492bac67fb2e98c41">CURVE_Pyaa_BLS383</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a0242ab10343805e0f4cd914112b2b8f4">CURVE_Pyab_BLS383</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aaa4d9c718f2411ca34f138c10f2b2064">CURVE_Pyba_BLS383</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a52487dea0c4552bcb6ac62f22091da12">CURVE_Pybb_BLS383</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aafd9067c8be07e44acc477ae7db62ff5">CURVE_Pxaaa_BLS383</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a5db397c797f37e13e24c2272fa1c74f5">CURVE_Pxaab_BLS383</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a31005fb62cec4c83a9377f00fd73af8a">CURVE_Pxaba_BLS383</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a2ae89be0d32ec2d55156ebfb4f0cbc18">CURVE_Pxabb_BLS383</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a6ee935e585bb82e931fdfd4aa33c950e">CURVE_Pxbaa_BLS383</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a952fa55894d5be5b27a3ccf42634e744">CURVE_Pxbab_BLS383</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a9ff9536ba704195884b41fa0e9392511">CURVE_Pxbba_BLS383</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a349ad8882725a2efc553c710dcd7718c">CURVE_Pxbbb_BLS383</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#abf8d71218a1d84dfee601707eb32a8a0">CURVE_Pyaaa_BLS383</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aa3e985eb845762057d6d988bcf3563b9">CURVE_Pyaab_BLS383</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a8950030492dc3b01da93fe29651bd428">CURVE_Pyaba_BLS383</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a860f24007cd6c14586cb20ecde72999e">CURVE_Pyabb_BLS383</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a163cfaca6b9cdb20bbd734268e7d1b83">CURVE_Pybaa_BLS383</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a5cf93c4f90d647a2b7fddeb9d65d0bfb">CURVE_Pybab_BLS383</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a58a300b3ca2f72e812a41af776f70ce0">CURVE_Pybba_BLS383</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#af0501469b91cb539467a0ebeb0b77c92">CURVE_Pybbb_BLS383</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#af264d94469f96df653876035cabbeff6">CURVE_Cru_BLS383</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#acfbd6d74f94e57d1460a01c7a29375a1">CURVE_W_BLS383</a>[2];       </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aa161ba561e6e819ffe09927244502e25">CURVE_SB_BLS383</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a18de889be7822e7c66cdc0d6b4dea71b">CURVE_WB_BLS383</a>[4];      </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ace4a1c29ae245f9ce4a1a4cd44f30157">CURVE_BB_BLS383</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS383.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS383.html#a957a7597f93d472b6681a67edc77aacc">  109</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structECP__BLS383.html#a957a7597f93d472b6681a67edc77aacc">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS383!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS383.html#a1fb2fb18190287d95fff8e4beb8b3ae8">  111</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structECP__BLS383.html#a1fb2fb18190287d95fff8e4beb8b3ae8">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS383.html#a586055b3fb53d23e1bd51a3623418fd2">  113</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structECP__BLS383.html#a586055b3fb53d23e1bd51a3623418fd2">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS383.html">ECP_BLS383</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#aa2497f3529d0ca0cdd7f9e86e70bd584">ECP_BLS383_isinf</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a97fcc6cd94618c2497e558f0921d7a1b">ECP_BLS383_equals</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a1d2223890670889056af56e04992226a">ECP_BLS383_copy</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</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="ecp__BLS383_8h.html#a70cc2821be4a78f050e63038475422f3">ECP_BLS383_neg</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</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="ecp__BLS383_8h.html#a9ccd91e7424440dd154d1e90b96a24f2">ECP_BLS383_inf</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ab921b007d9bf6b2ebc09b4baccc49aa6">ECP_BLS383_rhs</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *r,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS383==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#ae86e8a7e9492c9a9aa23f4b5ac05f968">ECP_BLS383_set</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a5ffba7074106c7e8a6bca82482228527">ECP_BLS383_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ae70ae1f095c984b59932c61b0a9bdf2c">ECP_BLS383_add</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#ae86e8a7e9492c9a9aa23f4b5ac05f968">ECP_BLS383_set</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a5ffba7074106c7e8a6bca82482228527">ECP_BLS383_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ae70ae1f095c984b59932c61b0a9bdf2c">ECP_BLS383_add</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</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="ecp__BLS383_8h.html#ad5f991ea3c55d793c0c7dff113e7a516">ECP_BLS383_sub</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a69689902d5a9b16600a7d8291731cde3">ECP_BLS383_setx</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ab332c3b171cc1d8e5097974f8a923509">ECP_BLS383_cfp</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a00ea8cfaeee95663caf18a145b470b0c">ECP_BLS383_mapit</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ad78c4e49d0e6eba3ebd328484f589bb1">ECP_BLS383_affine</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a7fd2910239498b47d9b8bc4a7bf8b5d0">ECP_BLS383_outputxyz</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</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="ecp__BLS383_8h.html#a3b63b81a9c9d44df25091ff37ebc47dd">ECP_BLS383_output</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#aae3f3aa1a105320528db646da2730bba">ECP_BLS383_rawoutput</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a3e75f52cf5c0ace3c1d94c63f651430c">ECP_BLS383_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a55b969c827af9c4566b61d38dc5fa1eb">ECP_BLS383_fromOctet</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a7f4ae5639d39e6aafcf5e0ff407b9821">ECP_BLS383_dbl</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a2f9e6d5f7e1e38b551aca1502d12dcd8">ECP_BLS383_pinmul</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a2fecd742905de825212df73c000ab024">ECP_BLS383_mul</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#adca4e4a1b08879f0df2458fbc3e0bb47">ECP_BLS383_mul2</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a6ef81cd695bf362b98f33350c609c990">ECP_BLS383_generator</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS383_8h_html_ae70ae1f095c984b59932c61b0a9bdf2c"><div class="ttname"><a href="ecp__BLS383_8h.html#ae70ae1f095c984b59932c61b0a9bdf2c">ECP_BLS383_add</a></div><div class="ttdeci">void ECP_BLS383_add(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<a href="ecp__BLS383_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 ECP_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS383_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 &quot;<a class="code" href="fp__BLS383_8h.html">fp_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a8552848bf7e3647ede309693e9fa9e2d">CURVE_A_BLS383</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a636dde6654b88b8c446bde3b6c96ce2e">CURVE_Cof_I_BLS383</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a14ba4b2ca939da2039cc7ac1963be07a">CURVE_B_I_BLS383</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#af01bc25892c1f0bc589f04a1ea3278b8">CURVE_B_BLS383</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aaeb4da84f0c3380e2283bc68984d54ca">CURVE_Order_BLS383</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ac8df206ff52872c148d4377101432757">CURVE_Cof_BLS383</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a9182e9e573f672366c863427bfcbe86f">CURVE_Gx_BLS383</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a4d98980f5ce2f84f1a578387355b9a2d">CURVE_Gy_BLS383</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a96d085ca027eba7644fe60030e9b0703">CURVE_Pxa_BLS383</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ae3d9ae9abdec9fb92df8e6bcf72641fb">CURVE_Pxb_BLS383</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a07420456f7b0874fcda4d036a0227e77">CURVE_Pya_BLS383</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a927d030da4529135fb92a3ca745aa3e1">CURVE_Pyb_BLS383</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ab2f65237afa897644371ea1b5f713ccd">CURVE_Pxaa_BLS383</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a60cbd0794c351d9e1408392f8c653cac">CURVE_Pxab_BLS383</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a5afbee5f68c5b823b53adeec98fee0cf">CURVE_Pxba_BLS383</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a3e464f16bbc1bc593117ece8a66b43bf">CURVE_Pxbb_BLS383</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a931934ea12d063c492bac67fb2e98c41">CURVE_Pyaa_BLS383</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a0242ab10343805e0f4cd914112b2b8f4">CURVE_Pyab_BLS383</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aaa4d9c718f2411ca34f138c10f2b2064">CURVE_Pyba_BLS383</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a52487dea0c4552bcb6ac62f22091da12">CURVE_Pybb_BLS383</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aafd9067c8be07e44acc477ae7db62ff5">CURVE_Pxaaa_BLS383</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a5db397c797f37e13e24c2272fa1c74f5">CURVE_Pxaab_BLS383</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a31005fb62cec4c83a9377f00fd73af8a">CURVE_Pxaba_BLS383</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a2ae89be0d32ec2d55156ebfb4f0cbc18">CURVE_Pxabb_BLS383</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a6ee935e585bb82e931fdfd4aa33c950e">CURVE_Pxbaa_BLS383</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a952fa55894d5be5b27a3ccf42634e744">CURVE_Pxbab_BLS383</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a9ff9536ba704195884b41fa0e9392511">CURVE_Pxbba_BLS383</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a349ad8882725a2efc553c710dcd7718c">CURVE_Pxbbb_BLS383</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#abf8d71218a1d84dfee601707eb32a8a0">CURVE_Pyaaa_BLS383</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aa3e985eb845762057d6d988bcf3563b9">CURVE_Pyaab_BLS383</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a8950030492dc3b01da93fe29651bd428">CURVE_Pyaba_BLS383</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a860f24007cd6c14586cb20ecde72999e">CURVE_Pyabb_BLS383</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a163cfaca6b9cdb20bbd734268e7d1b83">CURVE_Pybaa_BLS383</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a5cf93c4f90d647a2b7fddeb9d65d0bfb">CURVE_Pybab_BLS383</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a58a300b3ca2f72e812a41af776f70ce0">CURVE_Pybba_BLS383</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#af0501469b91cb539467a0ebeb0b77c92">CURVE_Pybbb_BLS383</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#af264d94469f96df653876035cabbeff6">CURVE_Cru_BLS383</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#acfbd6d74f94e57d1460a01c7a29375a1">CURVE_W_BLS383</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#aa161ba561e6e819ffe09927244502e25">CURVE_SB_BLS383</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#a18de889be7822e7c66cdc0d6b4dea71b">CURVE_WB_BLS383</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="ecp__BLS383_8h.html#ace4a1c29ae245f9ce4a1a4cd44f30157">CURVE_BB_BLS383</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS383.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS383.html#a957a7597f93d472b6681a67edc77aacc">  109</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structECP__BLS383.html#a957a7597f93d472b6681a67edc77aacc">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS383!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS383.html#a1fb2fb18190287d95fff8e4beb8b3ae8">  111</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structECP__BLS383.html#a1fb2fb18190287d95fff8e4beb8b3ae8">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS383.html#a586055b3fb53d23e1bd51a3623418fd2">  113</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structECP__BLS383.html#a586055b3fb53d23e1bd51a3623418fd2">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS383.html">ECP_BLS383</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#aa2497f3529d0ca0cdd7f9e86e70bd584">ECP_BLS383_isinf</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a97fcc6cd94618c2497e558f0921d7a1b">ECP_BLS383_equals</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a1d2223890670889056af56e04992226a">ECP_BLS383_copy</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</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="ecp__BLS383_8h.html#a70cc2821be4a78f050e63038475422f3">ECP_BLS383_neg</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</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="ecp__BLS383_8h.html#a9ccd91e7424440dd154d1e90b96a24f2">ECP_BLS383_inf</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ab921b007d9bf6b2ebc09b4baccc49aa6">ECP_BLS383_rhs</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *r,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS383==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#ae86e8a7e9492c9a9aa23f4b5ac05f968">ECP_BLS383_set</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a5ffba7074106c7e8a6bca82482228527">ECP_BLS383_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ae70ae1f095c984b59932c61b0a9bdf2c">ECP_BLS383_add</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#ae86e8a7e9492c9a9aa23f4b5ac05f968">ECP_BLS383_set</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a5ffba7074106c7e8a6bca82482228527">ECP_BLS383_get</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ae70ae1f095c984b59932c61b0a9bdf2c">ECP_BLS383_add</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</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="ecp__BLS383_8h.html#ad5f991ea3c55d793c0c7dff113e7a516">ECP_BLS383_sub</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a69689902d5a9b16600a7d8291731cde3">ECP_BLS383_setx</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ab332c3b171cc1d8e5097974f8a923509">ECP_BLS383_cfp</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a00ea8cfaeee95663caf18a145b470b0c">ECP_BLS383_mapit</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#ad78c4e49d0e6eba3ebd328484f589bb1">ECP_BLS383_affine</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a7fd2910239498b47d9b8bc4a7bf8b5d0">ECP_BLS383_outputxyz</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</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="ecp__BLS383_8h.html#a3b63b81a9c9d44df25091ff37ebc47dd">ECP_BLS383_output</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#aae3f3aa1a105320528db646da2730bba">ECP_BLS383_rawoutput</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a3e75f52cf5c0ace3c1d94c63f651430c">ECP_BLS383_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS383_8h.html#a55b969c827af9c4566b61d38dc5fa1eb">ECP_BLS383_fromOctet</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a7f4ae5639d39e6aafcf5e0ff407b9821">ECP_BLS383_dbl</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a2f9e6d5f7e1e38b551aca1502d12dcd8">ECP_BLS383_pinmul</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a2fecd742905de825212df73c000ab024">ECP_BLS383_mul</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#adca4e4a1b08879f0df2458fbc3e0bb47">ECP_BLS383_mul2</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS383_8h.html#a6ef81cd695bf362b98f33350c609c990">ECP_BLS383_generator</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS383_8h_html_ae70ae1f095c984b59932c61b0a9bdf2c"><div class="ttname"><a href="ecp__BLS383_8h.html#ae70ae1f095c984b59932c61b0a9bdf2c">ECP_BLS383_add</a></div><div class="ttdeci">void ECP_BLS383_add(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="structECP__BLS383_html_a1fb2fb18190287d95fff8e4beb8b3ae8"><div class="ttname"><a href="structECP__BLS383.html#a1fb2fb18190287d95fff8e4beb8b3ae8">ECP_BLS383::y</a></div><div class="ttdeci">FP_BLS383 y</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.h:111</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a5ffba7074106c7e8a6bca82482228527"><div class="ttname"><a href="ecp__BLS383_8h.html#a5ffba7074106c7e8a6bca82482228527">ECP_BLS383_get</a></div><div class="ttdeci">int ECP_BLS383_get(BIG_384_58 x, BIG_384_58 y, ECP_BLS383 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a5ffba7074106c7e8a6bca82482228527"><div class="ttname"><a href="ecp__BLS383_8h.html#a5ffba7074106c7e8a6bca82482228527">ECP_BLS383_get</a></div><div class="ttdeci">int ECP_BLS383_get(BIG_384_58 x, BIG_384_58 y, ECP_BLS383 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="structECP__BLS383_html_a586055b3fb53d23e1bd51a3623418fd2"><div class="ttname"><a href="structECP__BLS383.html#a586055b3fb53d23e1bd51a3623418fd2">ECP_BLS383::z</a></div><div class="ttdeci">FP_BLS383 z</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.h:113</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a14ba4b2ca939da2039cc7ac1963be07a"><div class="ttname"><a href="ecp__BLS383_8h.html#a14ba4b2ca939da2039cc7ac1963be07a">CURVE_B_I_BLS383</a></div><div class="ttdeci">const int CURVE_B_I_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a31005fb62cec4c83a9377f00fd73af8a"><div class="ttname"><a href="ecp__BLS383_8h.html#a31005fb62cec4c83a9377f00fd73af8a">CURVE_Pxaba_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaba_BLS383</div></div>
@@ -82,75 +85,75 @@
 <div class="ttc" id="ecp__BLS383_8h_html_aaeb4da84f0c3380e2283bc68984d54ca"><div class="ttname"><a href="ecp__BLS383_8h.html#aaeb4da84f0c3380e2283bc68984d54ca">CURVE_Order_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Order_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a60cbd0794c351d9e1408392f8c653cac"><div class="ttname"><a href="ecp__BLS383_8h.html#a60cbd0794c351d9e1408392f8c653cac">CURVE_Pxab_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxab_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_aaa4d9c718f2411ca34f138c10f2b2064"><div class="ttname"><a href="ecp__BLS383_8h.html#aaa4d9c718f2411ca34f138c10f2b2064">CURVE_Pyba_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyba_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a2f9e6d5f7e1e38b551aca1502d12dcd8"><div class="ttname"><a href="ecp__BLS383_8h.html#a2f9e6d5f7e1e38b551aca1502d12dcd8">ECP_BLS383_pinmul</a></div><div class="ttdeci">void ECP_BLS383_pinmul(ECP_BLS383 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a69689902d5a9b16600a7d8291731cde3"><div class="ttname"><a href="ecp__BLS383_8h.html#a69689902d5a9b16600a7d8291731cde3">ECP_BLS383_setx</a></div><div class="ttdeci">int ECP_BLS383_setx(ECP_BLS383 *P, BIG_384_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a2f9e6d5f7e1e38b551aca1502d12dcd8"><div class="ttname"><a href="ecp__BLS383_8h.html#a2f9e6d5f7e1e38b551aca1502d12dcd8">ECP_BLS383_pinmul</a></div><div class="ttdeci">void ECP_BLS383_pinmul(ECP_BLS383 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a69689902d5a9b16600a7d8291731cde3"><div class="ttname"><a href="ecp__BLS383_8h.html#a69689902d5a9b16600a7d8291731cde3">ECP_BLS383_setx</a></div><div class="ttdeci">int ECP_BLS383_setx(ECP_BLS383 *P, BIG_384_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a18de889be7822e7c66cdc0d6b4dea71b"><div class="ttname"><a href="ecp__BLS383_8h.html#a18de889be7822e7c66cdc0d6b4dea71b">CURVE_WB_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_WB_BLS383[4]</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a7fd2910239498b47d9b8bc4a7bf8b5d0"><div class="ttname"><a href="ecp__BLS383_8h.html#a7fd2910239498b47d9b8bc4a7bf8b5d0">ECP_BLS383_outputxyz</a></div><div class="ttdeci">void ECP_BLS383_outputxyz(ECP_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:414</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a7fd2910239498b47d9b8bc4a7bf8b5d0"><div class="ttname"><a href="ecp__BLS383_8h.html#a7fd2910239498b47d9b8bc4a7bf8b5d0">ECP_BLS383_outputxyz</a></div><div class="ttdeci">void ECP_BLS383_outputxyz(ECP_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:414</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a6ee935e585bb82e931fdfd4aa33c950e"><div class="ttname"><a href="ecp__BLS383_8h.html#a6ee935e585bb82e931fdfd4aa33c950e">CURVE_Pxbaa_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbaa_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a52487dea0c4552bcb6ac62f22091da12"><div class="ttname"><a href="ecp__BLS383_8h.html#a52487dea0c4552bcb6ac62f22091da12">CURVE_Pybb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybb_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_ac8df206ff52872c148d4377101432757"><div class="ttname"><a href="ecp__BLS383_8h.html#ac8df206ff52872c148d4377101432757">CURVE_Cof_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cof_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a00ea8cfaeee95663caf18a145b470b0c"><div class="ttname"><a href="ecp__BLS383_8h.html#a00ea8cfaeee95663caf18a145b470b0c">ECP_BLS383_mapit</a></div><div class="ttdeci">void ECP_BLS383_mapit(ECP_BLS383 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:365</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_adca4e4a1b08879f0df2458fbc3e0bb47"><div class="ttname"><a href="ecp__BLS383_8h.html#adca4e4a1b08879f0df2458fbc3e0bb47">ECP_BLS383_mul2</a></div><div class="ttdeci">void ECP_BLS383_mul2(ECP_BLS383 *P, ECP_BLS383 *Q, BIG_384_58 e, BIG_384_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a70cc2821be4a78f050e63038475422f3"><div class="ttname"><a href="ecp__BLS383_8h.html#a70cc2821be4a78f050e63038475422f3">ECP_BLS383_neg</a></div><div class="ttdeci">void ECP_BLS383_neg(ECP_BLS383 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a97fcc6cd94618c2497e558f0921d7a1b"><div class="ttname"><a href="ecp__BLS383_8h.html#a97fcc6cd94618c2497e558f0921d7a1b">ECP_BLS383_equals</a></div><div class="ttdeci">int ECP_BLS383_equals(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:100</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a00ea8cfaeee95663caf18a145b470b0c"><div class="ttname"><a href="ecp__BLS383_8h.html#a00ea8cfaeee95663caf18a145b470b0c">ECP_BLS383_mapit</a></div><div class="ttdeci">void ECP_BLS383_mapit(ECP_BLS383 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:365</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_adca4e4a1b08879f0df2458fbc3e0bb47"><div class="ttname"><a href="ecp__BLS383_8h.html#adca4e4a1b08879f0df2458fbc3e0bb47">ECP_BLS383_mul2</a></div><div class="ttdeci">void ECP_BLS383_mul2(ECP_BLS383 *P, ECP_BLS383 *Q, BIG_384_58 e, BIG_384_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a70cc2821be4a78f050e63038475422f3"><div class="ttname"><a href="ecp__BLS383_8h.html#a70cc2821be4a78f050e63038475422f3">ECP_BLS383_neg</a></div><div class="ttdeci">void ECP_BLS383_neg(ECP_BLS383 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a97fcc6cd94618c2497e558f0921d7a1b"><div class="ttname"><a href="ecp__BLS383_8h.html#a97fcc6cd94618c2497e558f0921d7a1b">ECP_BLS383_equals</a></div><div class="ttdeci">int ECP_BLS383_equals(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:100</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a2ae89be0d32ec2d55156ebfb4f0cbc18"><div class="ttname"><a href="ecp__BLS383_8h.html#a2ae89be0d32ec2d55156ebfb4f0cbc18">CURVE_Pxabb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxabb_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a4d98980f5ce2f84f1a578387355b9a2d"><div class="ttname"><a href="ecp__BLS383_8h.html#a4d98980f5ce2f84f1a578387355b9a2d">CURVE_Gy_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gy_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a07420456f7b0874fcda4d036a0227e77"><div class="ttname"><a href="ecp__BLS383_8h.html#a07420456f7b0874fcda4d036a0227e77">CURVE_Pya_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pya_BLS383</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="ecp__BLS383_8h_html_a3e464f16bbc1bc593117ece8a66b43bf"><div class="ttname"><a href="ecp__BLS383_8h.html#a3e464f16bbc1bc593117ece8a66b43bf">CURVE_Pxbb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbb_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a5cf93c4f90d647a2b7fddeb9d65d0bfb"><div class="ttname"><a href="ecp__BLS383_8h.html#a5cf93c4f90d647a2b7fddeb9d65d0bfb">CURVE_Pybab_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybab_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_af01bc25892c1f0bc589f04a1ea3278b8"><div class="ttname"><a href="ecp__BLS383_8h.html#af01bc25892c1f0bc589f04a1ea3278b8">CURVE_B_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_B_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a636dde6654b88b8c446bde3b6c96ce2e"><div class="ttname"><a href="ecp__BLS383_8h.html#a636dde6654b88b8c446bde3b6c96ce2e">CURVE_Cof_I_BLS383</a></div><div class="ttdeci">const int CURVE_Cof_I_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a5db397c797f37e13e24c2272fa1c74f5"><div class="ttname"><a href="ecp__BLS383_8h.html#a5db397c797f37e13e24c2272fa1c74f5">CURVE_Pxaab_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaab_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a9041fc9e3d96a065c02c2b919582cd4a"><div class="ttname"><a href="ecp__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Bnx_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a6ef81cd695bf362b98f33350c609c990"><div class="ttname"><a href="ecp__BLS383_8h.html#a6ef81cd695bf362b98f33350c609c990">ECP_BLS383_generator</a></div><div class="ttdeci">void ECP_BLS383_generator(ECP_BLS383 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:1221</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a6ef81cd695bf362b98f33350c609c990"><div class="ttname"><a href="ecp__BLS383_8h.html#a6ef81cd695bf362b98f33350c609c990">ECP_BLS383_generator</a></div><div class="ttdeci">void ECP_BLS383_generator(ECP_BLS383 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:1221</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_af0501469b91cb539467a0ebeb0b77c92"><div class="ttname"><a href="ecp__BLS383_8h.html#af0501469b91cb539467a0ebeb0b77c92">CURVE_Pybbb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybbb_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_aae3f3aa1a105320528db646da2730bba"><div class="ttname"><a href="ecp__BLS383_8h.html#aae3f3aa1a105320528db646da2730bba">ECP_BLS383_rawoutput</a></div><div class="ttdeci">void ECP_BLS383_rawoutput(ECP_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:478</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_aae3f3aa1a105320528db646da2730bba"><div class="ttname"><a href="ecp__BLS383_8h.html#aae3f3aa1a105320528db646da2730bba">ECP_BLS383_rawoutput</a></div><div class="ttdeci">void ECP_BLS383_rawoutput(ECP_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:478</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_ace4a1c29ae245f9ce4a1a4cd44f30157"><div class="ttname"><a href="ecp__BLS383_8h.html#ace4a1c29ae245f9ce4a1a4cd44f30157">CURVE_BB_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_BB_BLS383[4][4]</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_ad78c4e49d0e6eba3ebd328484f589bb1"><div class="ttname"><a href="ecp__BLS383_8h.html#ad78c4e49d0e6eba3ebd328484f589bb1">ECP_BLS383_affine</a></div><div class="ttdeci">void ECP_BLS383_affine(ECP_BLS383 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:392</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a1d2223890670889056af56e04992226a"><div class="ttname"><a href="ecp__BLS383_8h.html#a1d2223890670889056af56e04992226a">ECP_BLS383_copy</a></div><div class="ttdeci">void ECP_BLS383_copy(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:120</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_ad78c4e49d0e6eba3ebd328484f589bb1"><div class="ttname"><a href="ecp__BLS383_8h.html#ad78c4e49d0e6eba3ebd328484f589bb1">ECP_BLS383_affine</a></div><div class="ttdeci">void ECP_BLS383_affine(ECP_BLS383 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:392</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a1d2223890670889056af56e04992226a"><div class="ttname"><a href="ecp__BLS383_8h.html#a1d2223890670889056af56e04992226a">ECP_BLS383_copy</a></div><div class="ttdeci">void ECP_BLS383_copy(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:120</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a163cfaca6b9cdb20bbd734268e7d1b83"><div class="ttname"><a href="ecp__BLS383_8h.html#a163cfaca6b9cdb20bbd734268e7d1b83">CURVE_Pybaa_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybaa_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a58a300b3ca2f72e812a41af776f70ce0"><div class="ttname"><a href="ecp__BLS383_8h.html#a58a300b3ca2f72e812a41af776f70ce0">CURVE_Pybba_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pybba_BLS383</div></div>
-<div class="ttc" id="structECP__BLS383_html"><div class="ttname"><a href="structECP__BLS383.html">ECP_BLS383</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.h:105</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a55b969c827af9c4566b61d38dc5fa1eb"><div class="ttname"><a href="ecp__BLS383_8h.html#a55b969c827af9c4566b61d38dc5fa1eb">ECP_BLS383_fromOctet</a></div><div class="ttdeci">int ECP_BLS383_fromOctet(ECP_BLS383 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:537</div></div>
+<div class="ttc" id="structECP__BLS383_html"><div class="ttname"><a href="structECP__BLS383.html">ECP_BLS383</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.h:105</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a55b969c827af9c4566b61d38dc5fa1eb"><div class="ttname"><a href="ecp__BLS383_8h.html#a55b969c827af9c4566b61d38dc5fa1eb">ECP_BLS383_fromOctet</a></div><div class="ttdeci">int ECP_BLS383_fromOctet(ECP_BLS383 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:537</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a5afbee5f68c5b823b53adeec98fee0cf"><div class="ttname"><a href="ecp__BLS383_8h.html#a5afbee5f68c5b823b53adeec98fee0cf">CURVE_Pxba_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxba_BLS383</div></div>
 <div class="ttc" id="structECP__BLS383_html_a957a7597f93d472b6681a67edc77aacc"><div class="ttname"><a href="structECP__BLS383.html#a957a7597f93d472b6681a67edc77aacc">ECP_BLS383::x</a></div><div class="ttdeci">FP_BLS383 x</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.h:109</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_ad5f991ea3c55d793c0c7dff113e7a516"><div class="ttname"><a href="ecp__BLS383_8h.html#ad5f991ea3c55d793c0c7dff113e7a516">ECP_BLS383_sub</a></div><div class="ttdeci">void ECP_BLS383_sub(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_ad5f991ea3c55d793c0c7dff113e7a516"><div class="ttname"><a href="ecp__BLS383_8h.html#ad5f991ea3c55d793c0c7dff113e7a516">ECP_BLS383_sub</a></div><div class="ttdeci">void ECP_BLS383_sub(ECP_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a931934ea12d063c492bac67fb2e98c41"><div class="ttname"><a href="ecp__BLS383_8h.html#a931934ea12d063c492bac67fb2e98c41">CURVE_Pyaa_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyaa_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a860f24007cd6c14586cb20ecde72999e"><div class="ttname"><a href="ecp__BLS383_8h.html#a860f24007cd6c14586cb20ecde72999e">CURVE_Pyabb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyabb_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a927d030da4529135fb92a3ca745aa3e1"><div class="ttname"><a href="ecp__BLS383_8h.html#a927d030da4529135fb92a3ca745aa3e1">CURVE_Pyb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyb_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a9182e9e573f672366c863427bfcbe86f"><div class="ttname"><a href="ecp__BLS383_8h.html#a9182e9e573f672366c863427bfcbe86f">CURVE_Gx_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Gx_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a9ccd91e7424440dd154d1e90b96a24f2"><div class="ttname"><a href="ecp__BLS383_8h.html#a9ccd91e7424440dd154d1e90b96a24f2">ECP_BLS383_inf</a></div><div class="ttdeci">void ECP_BLS383_inf(ECP_BLS383 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:146</div></div>
-<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a9ccd91e7424440dd154d1e90b96a24f2"><div class="ttname"><a href="ecp__BLS383_8h.html#a9ccd91e7424440dd154d1e90b96a24f2">ECP_BLS383_inf</a></div><div class="ttdeci">void ECP_BLS383_inf(ECP_BLS383 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:146</div></div>
+<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_af264d94469f96df653876035cabbeff6"><div class="ttname"><a href="ecp__BLS383_8h.html#af264d94469f96df653876035cabbeff6">CURVE_Cru_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cru_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a952fa55894d5be5b27a3ccf42634e744"><div class="ttname"><a href="ecp__BLS383_8h.html#a952fa55894d5be5b27a3ccf42634e744">CURVE_Pxbab_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbab_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a8552848bf7e3647ede309693e9fa9e2d"><div class="ttname"><a href="ecp__BLS383_8h.html#a8552848bf7e3647ede309693e9fa9e2d">CURVE_A_BLS383</a></div><div class="ttdeci">const int CURVE_A_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a9ff9536ba704195884b41fa0e9392511"><div class="ttname"><a href="ecp__BLS383_8h.html#a9ff9536ba704195884b41fa0e9392511">CURVE_Pxbba_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbba_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_aafd9067c8be07e44acc477ae7db62ff5"><div class="ttname"><a href="ecp__BLS383_8h.html#aafd9067c8be07e44acc477ae7db62ff5">CURVE_Pxaaa_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaaa_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a2fecd742905de825212df73c000ab024"><div class="ttname"><a href="ecp__BLS383_8h.html#a2fecd742905de825212df73c000ab024">ECP_BLS383_mul</a></div><div class="ttdeci">void ECP_BLS383_mul(ECP_BLS383 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:1021</div></div>
-<div class="ttc" id="fp__BLS383_8h_html"><div class="ttname"><a href="fp__BLS383_8h.html">fp_BLS383.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a7f4ae5639d39e6aafcf5e0ff407b9821"><div class="ttname"><a href="ecp__BLS383_8h.html#a7f4ae5639d39e6aafcf5e0ff407b9821">ECP_BLS383_dbl</a></div><div class="ttdeci">void ECP_BLS383_dbl(ECP_BLS383 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:564</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a2fecd742905de825212df73c000ab024"><div class="ttname"><a href="ecp__BLS383_8h.html#a2fecd742905de825212df73c000ab024">ECP_BLS383_mul</a></div><div class="ttdeci">void ECP_BLS383_mul(ECP_BLS383 *P, BIG_384_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:1021</div></div>
+<div class="ttc" id="fp__BLS383_8h_html"><div class="ttname"><a href="fp__BLS383_8h.html">fp_BLS383.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a7f4ae5639d39e6aafcf5e0ff407b9821"><div class="ttname"><a href="ecp__BLS383_8h.html#a7f4ae5639d39e6aafcf5e0ff407b9821">ECP_BLS383_dbl</a></div><div class="ttdeci">void ECP_BLS383_dbl(ECP_BLS383 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:564</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_aa3e985eb845762057d6d988bcf3563b9"><div class="ttname"><a href="ecp__BLS383_8h.html#aa3e985eb845762057d6d988bcf3563b9">CURVE_Pyaab_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyaab_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_aa2a080445c52be753695d6abd26a6f0f"><div class="ttname"><a href="ecp__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a></div><div class="ttdeci">const BIG_384_58 Frb_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_acc6ace24c297f3d1bbd70c10f12c8f40"><div class="ttname"><a href="ecp__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a></div><div class="ttdeci">const BIG_384_58 Fra_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_ab921b007d9bf6b2ebc09b4baccc49aa6"><div class="ttname"><a href="ecp__BLS383_8h.html#ab921b007d9bf6b2ebc09b4baccc49aa6">ECP_BLS383_rhs</a></div><div class="ttdeci">void ECP_BLS383_rhs(FP_BLS383 *r, FP_BLS383 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:161</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_ab921b007d9bf6b2ebc09b4baccc49aa6"><div class="ttname"><a href="ecp__BLS383_8h.html#ab921b007d9bf6b2ebc09b4baccc49aa6">ECP_BLS383_rhs</a></div><div class="ttdeci">void ECP_BLS383_rhs(FP_BLS383 *r, FP_BLS383 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:161</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_ae3d9ae9abdec9fb92df8e6bcf72641fb"><div class="ttname"><a href="ecp__BLS383_8h.html#ae3d9ae9abdec9fb92df8e6bcf72641fb">CURVE_Pxb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxb_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_ae86e8a7e9492c9a9aa23f4b5ac05f968"><div class="ttname"><a href="ecp__BLS383_8h.html#ae86e8a7e9492c9a9aa23f4b5ac05f968">ECP_BLS383_set</a></div><div class="ttdeci">int ECP_BLS383_set(ECP_BLS383 *P, BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_ae86e8a7e9492c9a9aa23f4b5ac05f968"><div class="ttname"><a href="ecp__BLS383_8h.html#ae86e8a7e9492c9a9aa23f4b5ac05f968">ECP_BLS383_set</a></div><div class="ttdeci">int ECP_BLS383_set(ECP_BLS383 *P, BIG_384_58 x, BIG_384_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a0242ab10343805e0f4cd914112b2b8f4"><div class="ttname"><a href="ecp__BLS383_8h.html#a0242ab10343805e0f4cd914112b2b8f4">CURVE_Pyab_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyab_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a349ad8882725a2efc553c710dcd7718c"><div class="ttname"><a href="ecp__BLS383_8h.html#a349ad8882725a2efc553c710dcd7718c">CURVE_Pxbbb_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxbbb_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a8950030492dc3b01da93fe29651bd428"><div class="ttname"><a href="ecp__BLS383_8h.html#a8950030492dc3b01da93fe29651bd428">CURVE_Pyaba_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pyaba_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_a3b63b81a9c9d44df25091ff37ebc47dd"><div class="ttname"><a href="ecp__BLS383_8h.html#a3b63b81a9c9d44df25091ff37ebc47dd">ECP_BLS383_output</a></div><div class="ttdeci">void ECP_BLS383_output(ECP_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:450</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_ab332c3b171cc1d8e5097974f8a923509"><div class="ttname"><a href="ecp__BLS383_8h.html#ab332c3b171cc1d8e5097974f8a923509">ECP_BLS383_cfp</a></div><div class="ttdeci">void ECP_BLS383_cfp(ECP_BLS383 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:338</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_a3b63b81a9c9d44df25091ff37ebc47dd"><div class="ttname"><a href="ecp__BLS383_8h.html#a3b63b81a9c9d44df25091ff37ebc47dd">ECP_BLS383_output</a></div><div class="ttdeci">void ECP_BLS383_output(ECP_BLS383 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:450</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_ab332c3b171cc1d8e5097974f8a923509"><div class="ttname"><a href="ecp__BLS383_8h.html#ab332c3b171cc1d8e5097974f8a923509">ECP_BLS383_cfp</a></div><div class="ttdeci">void ECP_BLS383_cfp(ECP_BLS383 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:338</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_acfbd6d74f94e57d1460a01c7a29375a1"><div class="ttname"><a href="ecp__BLS383_8h.html#acfbd6d74f94e57d1460a01c7a29375a1">CURVE_W_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_W_BLS383[2]</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_ab2f65237afa897644371ea1b5f713ccd"><div class="ttname"><a href="ecp__BLS383_8h.html#ab2f65237afa897644371ea1b5f713ccd">CURVE_Pxaa_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxaa_BLS383</div></div>
 <div class="ttc" id="ecp__BLS383_8h_html_a96d085ca027eba7644fe60030e9b0703"><div class="ttname"><a href="ecp__BLS383_8h.html#a96d085ca027eba7644fe60030e9b0703">CURVE_Pxa_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Pxa_BLS383</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html_aa2497f3529d0ca0cdd7f9e86e70bd584"><div class="ttname"><a href="ecp__BLS383_8h.html#aa2497f3529d0ca0cdd7f9e86e70bd584">ECP_BLS383_isinf</a></div><div class="ttdeci">int ECP_BLS383_isinf(ECP_BLS383 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:28</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html_aa2497f3529d0ca0cdd7f9e86e70bd584"><div class="ttname"><a href="ecp__BLS383_8h.html#aa2497f3529d0ca0cdd7f9e86e70bd584">ECP_BLS383_isinf</a></div><div class="ttdeci">int ECP_BLS383_isinf(ECP_BLS383 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.c:28</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/ecp__BLS461_8h.html b/website/static/cdocs/ecp__BLS461_8h.html
index d79d7d7..754e38c 100644
--- a/website/static/cdocs/ecp__BLS461_8h.html
+++ b/website/static/cdocs/ecp__BLS461_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: ecp_BLS461.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"
@@ -1705,7 +1708,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/ecp__BLS461_8h_source.html b/website/static/cdocs/ecp__BLS461_8h_source.html
index 62f13c0..184a34c 100644
--- a/website/static/cdocs/ecp__BLS461_8h_source.html
+++ b/website/static/cdocs/ecp__BLS461_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: ecp_BLS461.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,78 +72,78 @@
 <div class="title">ecp_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BLS461_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 ECP_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS461_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 &quot;<a class="code" href="fp__BLS461_8h.html">fp_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a3c43db1e735a7786002108e9a53f87c8">CURVE_A_BLS461</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a2b67358c4c0d1b6b62c5c1d8fb9d46e2">CURVE_Cof_I_BLS461</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a6978f940161cb2acdb940f28e41fdaf0">CURVE_B_I_BLS461</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a5fe6bdd9dc9449caf69a032d924d87c9">CURVE_B_BLS461</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a94e3e42dceef6461f9475c34c7500f58">CURVE_Order_BLS461</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a8aae1a46a9cdda79fbf2208d636de2d1">CURVE_Cof_BLS461</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ae55f50d582536146a3ab4b0f4c9b0c6a">CURVE_Gx_BLS461</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af277428d8286a249f3fc652439e4836e">CURVE_Gy_BLS461</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a84c3df395966e7486a23a134db654dd1">CURVE_Pxa_BLS461</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aeccbc91e6d35b6d6039822f25691069d">CURVE_Pxb_BLS461</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ad4a9183cc2636710005799279fec9c62">CURVE_Pya_BLS461</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a670b449161243c447ca5885c584506bf">CURVE_Pyb_BLS461</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a46181230cadf2fcba1d83d1439dc0082">CURVE_Pxaa_BLS461</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aac5eb42b6fe525e337349fdf04229544">CURVE_Pxab_BLS461</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a7af5d96df2d9a7fad84e0ec5e1d5a5f9">CURVE_Pxba_BLS461</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a38aac2d6655f764dbc02f28ac24b258c">CURVE_Pxbb_BLS461</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a9824feb75e53c6882f17e507e877ccc1">CURVE_Pyaa_BLS461</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ae99fba5bd4d6de6d08cdecafd332cc7f">CURVE_Pyab_BLS461</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aaea4127e02f4d8c8f29fbb2a52b976b1">CURVE_Pyba_BLS461</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a29a8fe847a36d893185611258441cf20">CURVE_Pybb_BLS461</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a4755d9c19c6a978c03027e5e23de6f16">CURVE_Pxaaa_BLS461</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a5d6080fdc1a4baf9ac98a7fd3e840d0f">CURVE_Pxaab_BLS461</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a1108d55b02a24cd4d5b5674b052c6b4f">CURVE_Pxaba_BLS461</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a16a7f6d9a48ca4cf9eccece0e84fa6b8">CURVE_Pxabb_BLS461</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a1b0957867ae331895f6f4315fb378105">CURVE_Pxbaa_BLS461</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a303567249f92d7ad007fda7a36ed5959">CURVE_Pxbab_BLS461</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af5d96f9d29ce7b7d3b1d34d6b5e862f9">CURVE_Pxbba_BLS461</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a35baa358d3731d633334c48bfed1af8a">CURVE_Pxbbb_BLS461</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aa76aa8a03416bee4beca6e441314fc40">CURVE_Pyaaa_BLS461</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a5c7519d1c5d0291eb3b62e049640afda">CURVE_Pyaab_BLS461</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a370128787e5fa5567a75adf6a88f10b3">CURVE_Pyaba_BLS461</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a33230e64c334dcc41631598a2e6fb536">CURVE_Pyabb_BLS461</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a0883df85eb571dacd4b0dc6d745f598d">CURVE_Pybaa_BLS461</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a6d5f2d39f87e8ca44adfec2a36c093f8">CURVE_Pybab_BLS461</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af5a21a6d1b5a4d36777708a8eb8b7fa3">CURVE_Pybba_BLS461</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ad29651334247634825ef3ab2ba98ace5">CURVE_Pybbb_BLS461</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#afe7e0fd0c39ff0b4b1b8de3099ce81f0">CURVE_Cru_BLS461</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ad2d861f32f2716548769bce77467bf5b">CURVE_W_BLS461</a>[2];       </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af67e6f3e94e26dceea58d9c96581bef5">CURVE_SB_BLS461</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a49c91ef078471fdb5370cc6c8f8f9c1b">CURVE_WB_BLS461</a>[4];      </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a30e9ae647c0f01230bedc414e4c8955a">CURVE_BB_BLS461</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS461.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS461.html#ad1bdba9c7ed8609a9a0e2a759b8cd9a2">  109</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structECP__BLS461.html#ad1bdba9c7ed8609a9a0e2a759b8cd9a2">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS461!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS461.html#a17237d367ef794ea15cbe97798ab02d2">  111</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structECP__BLS461.html#a17237d367ef794ea15cbe97798ab02d2">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS461.html#a93521a980194d8c67e7dd53c8e43fb83">  113</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structECP__BLS461.html#a93521a980194d8c67e7dd53c8e43fb83">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS461.html">ECP_BLS461</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a5a73dcc08b7d0a2d7137d5c499fb03a9">ECP_BLS461_isinf</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a8d5f33164bc50105cee8f74fcd86ad1d">ECP_BLS461_equals</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a7b04952e2a28b8e843d8efc8839c1c48">ECP_BLS461_copy</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</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="ecp__BLS461_8h.html#a1fc3d1f294ee53bd23e3e2ddaec376ed">ECP_BLS461_neg</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</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="ecp__BLS461_8h.html#aaea61df65d54c29a4b4f1507223c8010">ECP_BLS461_inf</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a0883a2939c9e14848a79e7840fbd33a5">ECP_BLS461_rhs</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *r,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS461==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a4622ae6d312f66fe58a2237a126ff76e">ECP_BLS461_set</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a83751a574650148174537dd8c576e2f6">ECP_BLS461_get</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a8e3374181c23d4538b91909568ef5a48">ECP_BLS461_add</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a4622ae6d312f66fe58a2237a126ff76e">ECP_BLS461_set</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a83751a574650148174537dd8c576e2f6">ECP_BLS461_get</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a8e3374181c23d4538b91909568ef5a48">ECP_BLS461_add</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</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="ecp__BLS461_8h.html#abe73db4f9ad44728570b68509dd5d9d3">ECP_BLS461_sub</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#ae544fc1c68eefdafaf6057d006b47182">ECP_BLS461_setx</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#ab4f115c5b95a3e4799a0c061b475d625">ECP_BLS461_cfp</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a3a6737d0e6eb2150a21ce9405fee0d28">ECP_BLS461_mapit</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#ab975481798846a66ee495340844e267f">ECP_BLS461_affine</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#ae22cb93d7339ef13102412c359240a30">ECP_BLS461_outputxyz</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</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="ecp__BLS461_8h.html#acec04057a345f311fa39b4943577013a">ECP_BLS461_output</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a293ede09e4b864f518b9111ef1b791d0">ECP_BLS461_rawoutput</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a17d4bba0c0af5fb6ab520857b132076b">ECP_BLS461_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a9b8596b05af785becaf4606e046a7b15">ECP_BLS461_fromOctet</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a226a2518ea561963de450a750064f6a5">ECP_BLS461_dbl</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#aafe657512094a149fe14004b17205824">ECP_BLS461_pinmul</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#adca2944e1a7ca2a4db87bb8df070def5">ECP_BLS461_mul</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#af33b343bbc0f97b9d605e769f60ed1ee">ECP_BLS461_mul2</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> e,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a7f3767f26b0b41c50284921e5e751d89">ECP_BLS461_generator</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS461_8h_html_a370128787e5fa5567a75adf6a88f10b3"><div class="ttname"><a href="ecp__BLS461_8h.html#a370128787e5fa5567a75adf6a88f10b3">CURVE_Pyaba_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyaba_BLS461</div></div>
+<a href="ecp__BLS461_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 ECP_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS461_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 &quot;<a class="code" href="fp__BLS461_8h.html">fp_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a3c43db1e735a7786002108e9a53f87c8">CURVE_A_BLS461</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a2b67358c4c0d1b6b62c5c1d8fb9d46e2">CURVE_Cof_I_BLS461</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a6978f940161cb2acdb940f28e41fdaf0">CURVE_B_I_BLS461</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a5fe6bdd9dc9449caf69a032d924d87c9">CURVE_B_BLS461</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a94e3e42dceef6461f9475c34c7500f58">CURVE_Order_BLS461</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a8aae1a46a9cdda79fbf2208d636de2d1">CURVE_Cof_BLS461</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ae55f50d582536146a3ab4b0f4c9b0c6a">CURVE_Gx_BLS461</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af277428d8286a249f3fc652439e4836e">CURVE_Gy_BLS461</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a84c3df395966e7486a23a134db654dd1">CURVE_Pxa_BLS461</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aeccbc91e6d35b6d6039822f25691069d">CURVE_Pxb_BLS461</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ad4a9183cc2636710005799279fec9c62">CURVE_Pya_BLS461</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a670b449161243c447ca5885c584506bf">CURVE_Pyb_BLS461</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a46181230cadf2fcba1d83d1439dc0082">CURVE_Pxaa_BLS461</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aac5eb42b6fe525e337349fdf04229544">CURVE_Pxab_BLS461</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a7af5d96df2d9a7fad84e0ec5e1d5a5f9">CURVE_Pxba_BLS461</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a38aac2d6655f764dbc02f28ac24b258c">CURVE_Pxbb_BLS461</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a9824feb75e53c6882f17e507e877ccc1">CURVE_Pyaa_BLS461</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ae99fba5bd4d6de6d08cdecafd332cc7f">CURVE_Pyab_BLS461</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aaea4127e02f4d8c8f29fbb2a52b976b1">CURVE_Pyba_BLS461</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a29a8fe847a36d893185611258441cf20">CURVE_Pybb_BLS461</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a4755d9c19c6a978c03027e5e23de6f16">CURVE_Pxaaa_BLS461</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a5d6080fdc1a4baf9ac98a7fd3e840d0f">CURVE_Pxaab_BLS461</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a1108d55b02a24cd4d5b5674b052c6b4f">CURVE_Pxaba_BLS461</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a16a7f6d9a48ca4cf9eccece0e84fa6b8">CURVE_Pxabb_BLS461</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a1b0957867ae331895f6f4315fb378105">CURVE_Pxbaa_BLS461</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a303567249f92d7ad007fda7a36ed5959">CURVE_Pxbab_BLS461</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af5d96f9d29ce7b7d3b1d34d6b5e862f9">CURVE_Pxbba_BLS461</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a35baa358d3731d633334c48bfed1af8a">CURVE_Pxbbb_BLS461</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#aa76aa8a03416bee4beca6e441314fc40">CURVE_Pyaaa_BLS461</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a5c7519d1c5d0291eb3b62e049640afda">CURVE_Pyaab_BLS461</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a370128787e5fa5567a75adf6a88f10b3">CURVE_Pyaba_BLS461</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a33230e64c334dcc41631598a2e6fb536">CURVE_Pyabb_BLS461</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a0883df85eb571dacd4b0dc6d745f598d">CURVE_Pybaa_BLS461</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a6d5f2d39f87e8ca44adfec2a36c093f8">CURVE_Pybab_BLS461</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af5a21a6d1b5a4d36777708a8eb8b7fa3">CURVE_Pybba_BLS461</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ad29651334247634825ef3ab2ba98ace5">CURVE_Pybbb_BLS461</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#afe7e0fd0c39ff0b4b1b8de3099ce81f0">CURVE_Cru_BLS461</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#ad2d861f32f2716548769bce77467bf5b">CURVE_W_BLS461</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#af67e6f3e94e26dceea58d9c96581bef5">CURVE_SB_BLS461</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a49c91ef078471fdb5370cc6c8f8f9c1b">CURVE_WB_BLS461</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="ecp__BLS461_8h.html#a30e9ae647c0f01230bedc414e4c8955a">CURVE_BB_BLS461</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS461.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS461.html#ad1bdba9c7ed8609a9a0e2a759b8cd9a2">  109</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structECP__BLS461.html#ad1bdba9c7ed8609a9a0e2a759b8cd9a2">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS461!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS461.html#a17237d367ef794ea15cbe97798ab02d2">  111</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structECP__BLS461.html#a17237d367ef794ea15cbe97798ab02d2">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS461.html#a93521a980194d8c67e7dd53c8e43fb83">  113</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structECP__BLS461.html#a93521a980194d8c67e7dd53c8e43fb83">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS461.html">ECP_BLS461</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a5a73dcc08b7d0a2d7137d5c499fb03a9">ECP_BLS461_isinf</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a8d5f33164bc50105cee8f74fcd86ad1d">ECP_BLS461_equals</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a7b04952e2a28b8e843d8efc8839c1c48">ECP_BLS461_copy</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</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="ecp__BLS461_8h.html#a1fc3d1f294ee53bd23e3e2ddaec376ed">ECP_BLS461_neg</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</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="ecp__BLS461_8h.html#aaea61df65d54c29a4b4f1507223c8010">ECP_BLS461_inf</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a0883a2939c9e14848a79e7840fbd33a5">ECP_BLS461_rhs</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *r,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS461==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a4622ae6d312f66fe58a2237a126ff76e">ECP_BLS461_set</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a83751a574650148174537dd8c576e2f6">ECP_BLS461_get</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a8e3374181c23d4538b91909568ef5a48">ECP_BLS461_add</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a4622ae6d312f66fe58a2237a126ff76e">ECP_BLS461_set</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a83751a574650148174537dd8c576e2f6">ECP_BLS461_get</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> y,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a8e3374181c23d4538b91909568ef5a48">ECP_BLS461_add</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</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="ecp__BLS461_8h.html#abe73db4f9ad44728570b68509dd5d9d3">ECP_BLS461_sub</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#ae544fc1c68eefdafaf6057d006b47182">ECP_BLS461_setx</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#ab4f115c5b95a3e4799a0c061b475d625">ECP_BLS461_cfp</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a3a6737d0e6eb2150a21ce9405fee0d28">ECP_BLS461_mapit</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#ab975481798846a66ee495340844e267f">ECP_BLS461_affine</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#ae22cb93d7339ef13102412c359240a30">ECP_BLS461_outputxyz</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</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="ecp__BLS461_8h.html#acec04057a345f311fa39b4943577013a">ECP_BLS461_output</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a293ede09e4b864f518b9111ef1b791d0">ECP_BLS461_rawoutput</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a17d4bba0c0af5fb6ab520857b132076b">ECP_BLS461_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS461_8h.html#a9b8596b05af785becaf4606e046a7b15">ECP_BLS461_fromOctet</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a226a2518ea561963de450a750064f6a5">ECP_BLS461_dbl</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#aafe657512094a149fe14004b17205824">ECP_BLS461_pinmul</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#adca2944e1a7ca2a4db87bb8df070def5">ECP_BLS461_mul</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#af33b343bbc0f97b9d605e769f60ed1ee">ECP_BLS461_mul2</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> e,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS461_8h.html#a7f3767f26b0b41c50284921e5e751d89">ECP_BLS461_generator</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS461_8h_html_a370128787e5fa5567a75adf6a88f10b3"><div class="ttname"><a href="ecp__BLS461_8h.html#a370128787e5fa5567a75adf6a88f10b3">CURVE_Pyaba_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyaba_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_ae99fba5bd4d6de6d08cdecafd332cc7f"><div class="ttname"><a href="ecp__BLS461_8h.html#ae99fba5bd4d6de6d08cdecafd332cc7f">CURVE_Pyab_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyab_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a0883a2939c9e14848a79e7840fbd33a5"><div class="ttname"><a href="ecp__BLS461_8h.html#a0883a2939c9e14848a79e7840fbd33a5">ECP_BLS461_rhs</a></div><div class="ttdeci">void ECP_BLS461_rhs(FP_BLS461 *r, FP_BLS461 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:161</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a0883a2939c9e14848a79e7840fbd33a5"><div class="ttname"><a href="ecp__BLS461_8h.html#a0883a2939c9e14848a79e7840fbd33a5">ECP_BLS461_rhs</a></div><div class="ttdeci">void ECP_BLS461_rhs(FP_BLS461 *r, FP_BLS461 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:161</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a17d4bba0c0af5fb6ab520857b132076b"><div class="ttname"><a href="ecp__BLS461_8h.html#a17d4bba0c0af5fb6ab520857b132076b">ECP_BLS461_toOctet</a></div><div class="ttdeci">void ECP_BLS461_toOctet(octet *S, ECP_BLS461 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:507</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_afe7e0fd0c39ff0b4b1b8de3099ce81f0"><div class="ttname"><a href="ecp__BLS461_8h.html#afe7e0fd0c39ff0b4b1b8de3099ce81f0">CURVE_Cru_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Cru_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_af5d96f9d29ce7b7d3b1d34d6b5e862f9"><div class="ttname"><a href="ecp__BLS461_8h.html#af5d96f9d29ce7b7d3b1d34d6b5e862f9">CURVE_Pxbba_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxbba_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a5a73dcc08b7d0a2d7137d5c499fb03a9"><div class="ttname"><a href="ecp__BLS461_8h.html#a5a73dcc08b7d0a2d7137d5c499fb03a9">ECP_BLS461_isinf</a></div><div class="ttdeci">int ECP_BLS461_isinf(ECP_BLS461 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:28</div></div>
-<div class="ttc" id="fp__BLS461_8h_html"><div class="ttname"><a href="fp__BLS461_8h.html">fp_BLS461.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a5a73dcc08b7d0a2d7137d5c499fb03a9"><div class="ttname"><a href="ecp__BLS461_8h.html#a5a73dcc08b7d0a2d7137d5c499fb03a9">ECP_BLS461_isinf</a></div><div class="ttdeci">int ECP_BLS461_isinf(ECP_BLS461 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:28</div></div>
+<div class="ttc" id="fp__BLS461_8h_html"><div class="ttname"><a href="fp__BLS461_8h.html">fp_BLS461.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a6d2edb8dfee22d664e4ce1c6f107c3ae"><div class="ttname"><a href="ecp__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a></div><div class="ttdeci">const BIG_464_60 Fra_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a33230e64c334dcc41631598a2e6fb536"><div class="ttname"><a href="ecp__BLS461_8h.html#a33230e64c334dcc41631598a2e6fb536">CURVE_Pyabb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyabb_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a3c43db1e735a7786002108e9a53f87c8"><div class="ttname"><a href="ecp__BLS461_8h.html#a3c43db1e735a7786002108e9a53f87c8">CURVE_A_BLS461</a></div><div class="ttdeci">const int CURVE_A_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a49c91ef078471fdb5370cc6c8f8f9c1b"><div class="ttname"><a href="ecp__BLS461_8h.html#a49c91ef078471fdb5370cc6c8f8f9c1b">CURVE_WB_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_WB_BLS461[4]</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a4755d9c19c6a978c03027e5e23de6f16"><div class="ttname"><a href="ecp__BLS461_8h.html#a4755d9c19c6a978c03027e5e23de6f16">CURVE_Pxaaa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxaaa_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_af277428d8286a249f3fc652439e4836e"><div class="ttname"><a href="ecp__BLS461_8h.html#af277428d8286a249f3fc652439e4836e">CURVE_Gy_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Gy_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_aaea61df65d54c29a4b4f1507223c8010"><div class="ttname"><a href="ecp__BLS461_8h.html#aaea61df65d54c29a4b4f1507223c8010">ECP_BLS461_inf</a></div><div class="ttdeci">void ECP_BLS461_inf(ECP_BLS461 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:146</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_aaea61df65d54c29a4b4f1507223c8010"><div class="ttname"><a href="ecp__BLS461_8h.html#aaea61df65d54c29a4b4f1507223c8010">ECP_BLS461_inf</a></div><div class="ttdeci">void ECP_BLS461_inf(ECP_BLS461 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:146</div></div>
 <div class="ttc" id="structECP__BLS461_html_ad1bdba9c7ed8609a9a0e2a759b8cd9a2"><div class="ttname"><a href="structECP__BLS461.html#ad1bdba9c7ed8609a9a0e2a759b8cd9a2">ECP_BLS461::x</a></div><div class="ttdeci">FP_BLS461 x</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.h:109</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_af33b343bbc0f97b9d605e769f60ed1ee"><div class="ttname"><a href="ecp__BLS461_8h.html#af33b343bbc0f97b9d605e769f60ed1ee">ECP_BLS461_mul2</a></div><div class="ttdeci">void ECP_BLS461_mul2(ECP_BLS461 *P, ECP_BLS461 *Q, BIG_464_60 e, BIG_464_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_af33b343bbc0f97b9d605e769f60ed1ee"><div class="ttname"><a href="ecp__BLS461_8h.html#af33b343bbc0f97b9d605e769f60ed1ee">ECP_BLS461_mul2</a></div><div class="ttdeci">void ECP_BLS461_mul2(ECP_BLS461 *P, ECP_BLS461 *Q, BIG_464_60 e, BIG_464_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a46181230cadf2fcba1d83d1439dc0082"><div class="ttname"><a href="ecp__BLS461_8h.html#a46181230cadf2fcba1d83d1439dc0082">CURVE_Pxaa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxaa_BLS461</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="ecp__BLS461_8h_html_a2b67358c4c0d1b6b62c5c1d8fb9d46e2"><div class="ttname"><a href="ecp__BLS461_8h.html#a2b67358c4c0d1b6b62c5c1d8fb9d46e2">CURVE_Cof_I_BLS461</a></div><div class="ttdeci">const int CURVE_Cof_I_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a5c7519d1c5d0291eb3b62e049640afda"><div class="ttname"><a href="ecp__BLS461_8h.html#a5c7519d1c5d0291eb3b62e049640afda">CURVE_Pyaab_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyaab_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_aa76aa8a03416bee4beca6e441314fc40"><div class="ttname"><a href="ecp__BLS461_8h.html#aa76aa8a03416bee4beca6e441314fc40">CURVE_Pyaaa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyaaa_BLS461</div></div>
 <div class="ttc" id="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
-<div class="ttc" id="structECP__BLS461_html"><div class="ttname"><a href="structECP__BLS461.html">ECP_BLS461</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.h:105</div></div>
+<div class="ttc" id="structECP__BLS461_html"><div class="ttname"><a href="structECP__BLS461.html">ECP_BLS461</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.h:105</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a30e9ae647c0f01230bedc414e4c8955a"><div class="ttname"><a href="ecp__BLS461_8h.html#a30e9ae647c0f01230bedc414e4c8955a">CURVE_BB_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_BB_BLS461[4][4]</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_ab4f115c5b95a3e4799a0c061b475d625"><div class="ttname"><a href="ecp__BLS461_8h.html#ab4f115c5b95a3e4799a0c061b475d625">ECP_BLS461_cfp</a></div><div class="ttdeci">void ECP_BLS461_cfp(ECP_BLS461 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:338</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_ab4f115c5b95a3e4799a0c061b475d625"><div class="ttname"><a href="ecp__BLS461_8h.html#ab4f115c5b95a3e4799a0c061b475d625">ECP_BLS461_cfp</a></div><div class="ttdeci">void ECP_BLS461_cfp(ECP_BLS461 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:338</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_ae55f50d582536146a3ab4b0f4c9b0c6a"><div class="ttname"><a href="ecp__BLS461_8h.html#ae55f50d582536146a3ab4b0f4c9b0c6a">CURVE_Gx_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Gx_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a1b0957867ae331895f6f4315fb378105"><div class="ttname"><a href="ecp__BLS461_8h.html#a1b0957867ae331895f6f4315fb378105">CURVE_Pxbaa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxbaa_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_ae544fc1c68eefdafaf6057d006b47182"><div class="ttname"><a href="ecp__BLS461_8h.html#ae544fc1c68eefdafaf6057d006b47182">ECP_BLS461_setx</a></div><div class="ttdeci">int ECP_BLS461_setx(ECP_BLS461 *P, BIG_464_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a8e3374181c23d4538b91909568ef5a48"><div class="ttname"><a href="ecp__BLS461_8h.html#a8e3374181c23d4538b91909568ef5a48">ECP_BLS461_add</a></div><div class="ttdeci">void ECP_BLS461_add(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_ae544fc1c68eefdafaf6057d006b47182"><div class="ttname"><a href="ecp__BLS461_8h.html#ae544fc1c68eefdafaf6057d006b47182">ECP_BLS461_setx</a></div><div class="ttdeci">int ECP_BLS461_setx(ECP_BLS461 *P, BIG_464_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a8e3374181c23d4538b91909568ef5a48"><div class="ttname"><a href="ecp__BLS461_8h.html#a8e3374181c23d4538b91909568ef5a48">ECP_BLS461_add</a></div><div class="ttdeci">void ECP_BLS461_add(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_aaea4127e02f4d8c8f29fbb2a52b976b1"><div class="ttname"><a href="ecp__BLS461_8h.html#aaea4127e02f4d8c8f29fbb2a52b976b1">CURVE_Pyba_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyba_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a7b04952e2a28b8e843d8efc8839c1c48"><div class="ttname"><a href="ecp__BLS461_8h.html#a7b04952e2a28b8e843d8efc8839c1c48">ECP_BLS461_copy</a></div><div class="ttdeci">void ECP_BLS461_copy(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:120</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a7b04952e2a28b8e843d8efc8839c1c48"><div class="ttname"><a href="ecp__BLS461_8h.html#a7b04952e2a28b8e843d8efc8839c1c48">ECP_BLS461_copy</a></div><div class="ttdeci">void ECP_BLS461_copy(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:120</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_af67e6f3e94e26dceea58d9c96581bef5"><div class="ttname"><a href="ecp__BLS461_8h.html#af67e6f3e94e26dceea58d9c96581bef5">CURVE_SB_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_SB_BLS461[2][2]</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a8d5f33164bc50105cee8f74fcd86ad1d"><div class="ttname"><a href="ecp__BLS461_8h.html#a8d5f33164bc50105cee8f74fcd86ad1d">ECP_BLS461_equals</a></div><div class="ttdeci">int ECP_BLS461_equals(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:100</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a9b8596b05af785becaf4606e046a7b15"><div class="ttname"><a href="ecp__BLS461_8h.html#a9b8596b05af785becaf4606e046a7b15">ECP_BLS461_fromOctet</a></div><div class="ttdeci">int ECP_BLS461_fromOctet(ECP_BLS461 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:537</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a8d5f33164bc50105cee8f74fcd86ad1d"><div class="ttname"><a href="ecp__BLS461_8h.html#a8d5f33164bc50105cee8f74fcd86ad1d">ECP_BLS461_equals</a></div><div class="ttdeci">int ECP_BLS461_equals(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:100</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a9b8596b05af785becaf4606e046a7b15"><div class="ttname"><a href="ecp__BLS461_8h.html#a9b8596b05af785becaf4606e046a7b15">ECP_BLS461_fromOctet</a></div><div class="ttdeci">int ECP_BLS461_fromOctet(ECP_BLS461 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:537</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a35baa358d3731d633334c48bfed1af8a"><div class="ttname"><a href="ecp__BLS461_8h.html#a35baa358d3731d633334c48bfed1af8a">CURVE_Pxbbb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxbbb_BLS461</div></div>
 <div class="ttc" id="structECP__BLS461_html_a17237d367ef794ea15cbe97798ab02d2"><div class="ttname"><a href="structECP__BLS461.html#a17237d367ef794ea15cbe97798ab02d2">ECP_BLS461::y</a></div><div class="ttdeci">FP_BLS461 y</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.h:111</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a83751a574650148174537dd8c576e2f6"><div class="ttname"><a href="ecp__BLS461_8h.html#a83751a574650148174537dd8c576e2f6">ECP_BLS461_get</a></div><div class="ttdeci">int ECP_BLS461_get(BIG_464_60 x, BIG_464_60 y, ECP_BLS461 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a83751a574650148174537dd8c576e2f6"><div class="ttname"><a href="ecp__BLS461_8h.html#a83751a574650148174537dd8c576e2f6">ECP_BLS461_get</a></div><div class="ttdeci">int ECP_BLS461_get(BIG_464_60 x, BIG_464_60 y, ECP_BLS461 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_ad2d861f32f2716548769bce77467bf5b"><div class="ttname"><a href="ecp__BLS461_8h.html#ad2d861f32f2716548769bce77467bf5b">CURVE_W_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_W_BLS461[2]</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_aeccbc91e6d35b6d6039822f25691069d"><div class="ttname"><a href="ecp__BLS461_8h.html#aeccbc91e6d35b6d6039822f25691069d">CURVE_Pxb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxb_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_ab975481798846a66ee495340844e267f"><div class="ttname"><a href="ecp__BLS461_8h.html#ab975481798846a66ee495340844e267f">ECP_BLS461_affine</a></div><div class="ttdeci">void ECP_BLS461_affine(ECP_BLS461 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:392</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_ab975481798846a66ee495340844e267f"><div class="ttname"><a href="ecp__BLS461_8h.html#ab975481798846a66ee495340844e267f">ECP_BLS461_affine</a></div><div class="ttdeci">void ECP_BLS461_affine(ECP_BLS461 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:392</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a9824feb75e53c6882f17e507e877ccc1"><div class="ttname"><a href="ecp__BLS461_8h.html#a9824feb75e53c6882f17e507e877ccc1">CURVE_Pyaa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyaa_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_acec04057a345f311fa39b4943577013a"><div class="ttname"><a href="ecp__BLS461_8h.html#acec04057a345f311fa39b4943577013a">ECP_BLS461_output</a></div><div class="ttdeci">void ECP_BLS461_output(ECP_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:450</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_acec04057a345f311fa39b4943577013a"><div class="ttname"><a href="ecp__BLS461_8h.html#acec04057a345f311fa39b4943577013a">ECP_BLS461_output</a></div><div class="ttdeci">void ECP_BLS461_output(ECP_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:450</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a8aae1a46a9cdda79fbf2208d636de2d1"><div class="ttname"><a href="ecp__BLS461_8h.html#a8aae1a46a9cdda79fbf2208d636de2d1">CURVE_Cof_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Cof_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a7af5d96df2d9a7fad84e0ec5e1d5a5f9"><div class="ttname"><a href="ecp__BLS461_8h.html#a7af5d96df2d9a7fad84e0ec5e1d5a5f9">CURVE_Pxba_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxba_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_ad4a9183cc2636710005799279fec9c62"><div class="ttname"><a href="ecp__BLS461_8h.html#ad4a9183cc2636710005799279fec9c62">CURVE_Pya_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pya_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a226a2518ea561963de450a750064f6a5"><div class="ttname"><a href="ecp__BLS461_8h.html#a226a2518ea561963de450a750064f6a5">ECP_BLS461_dbl</a></div><div class="ttdeci">void ECP_BLS461_dbl(ECP_BLS461 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:564</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a226a2518ea561963de450a750064f6a5"><div class="ttname"><a href="ecp__BLS461_8h.html#a226a2518ea561963de450a750064f6a5">ECP_BLS461_dbl</a></div><div class="ttdeci">void ECP_BLS461_dbl(ECP_BLS461 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:564</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a16a7f6d9a48ca4cf9eccece0e84fa6b8"><div class="ttname"><a href="ecp__BLS461_8h.html#a16a7f6d9a48ca4cf9eccece0e84fa6b8">CURVE_Pxabb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxabb_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a303567249f92d7ad007fda7a36ed5959"><div class="ttname"><a href="ecp__BLS461_8h.html#a303567249f92d7ad007fda7a36ed5959">CURVE_Pxbab_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxbab_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a7f3767f26b0b41c50284921e5e751d89"><div class="ttname"><a href="ecp__BLS461_8h.html#a7f3767f26b0b41c50284921e5e751d89">ECP_BLS461_generator</a></div><div class="ttdeci">void ECP_BLS461_generator(ECP_BLS461 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:1221</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a7f3767f26b0b41c50284921e5e751d89"><div class="ttname"><a href="ecp__BLS461_8h.html#a7f3767f26b0b41c50284921e5e751d89">ECP_BLS461_generator</a></div><div class="ttdeci">void ECP_BLS461_generator(ECP_BLS461 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:1221</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_ad29651334247634825ef3ab2ba98ace5"><div class="ttname"><a href="ecp__BLS461_8h.html#ad29651334247634825ef3ab2ba98ace5">CURVE_Pybbb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pybbb_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a1fc3d1f294ee53bd23e3e2ddaec376ed"><div class="ttname"><a href="ecp__BLS461_8h.html#a1fc3d1f294ee53bd23e3e2ddaec376ed">ECP_BLS461_neg</a></div><div class="ttdeci">void ECP_BLS461_neg(ECP_BLS461 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a1fc3d1f294ee53bd23e3e2ddaec376ed"><div class="ttname"><a href="ecp__BLS461_8h.html#a1fc3d1f294ee53bd23e3e2ddaec376ed">ECP_BLS461_neg</a></div><div class="ttdeci">void ECP_BLS461_neg(ECP_BLS461 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a1108d55b02a24cd4d5b5674b052c6b4f"><div class="ttname"><a href="ecp__BLS461_8h.html#a1108d55b02a24cd4d5b5674b052c6b4f">CURVE_Pxaba_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxaba_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a6d5f2d39f87e8ca44adfec2a36c093f8"><div class="ttname"><a href="ecp__BLS461_8h.html#a6d5f2d39f87e8ca44adfec2a36c093f8">CURVE_Pybab_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pybab_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_af5a21a6d1b5a4d36777708a8eb8b7fa3"><div class="ttname"><a href="ecp__BLS461_8h.html#af5a21a6d1b5a4d36777708a8eb8b7fa3">CURVE_Pybba_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pybba_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a3a6737d0e6eb2150a21ce9405fee0d28"><div class="ttname"><a href="ecp__BLS461_8h.html#a3a6737d0e6eb2150a21ce9405fee0d28">ECP_BLS461_mapit</a></div><div class="ttdeci">void ECP_BLS461_mapit(ECP_BLS461 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:365</div></div>
-<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a4622ae6d312f66fe58a2237a126ff76e"><div class="ttname"><a href="ecp__BLS461_8h.html#a4622ae6d312f66fe58a2237a126ff76e">ECP_BLS461_set</a></div><div class="ttdeci">int ECP_BLS461_set(ECP_BLS461 *P, BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a3a6737d0e6eb2150a21ce9405fee0d28"><div class="ttname"><a href="ecp__BLS461_8h.html#a3a6737d0e6eb2150a21ce9405fee0d28">ECP_BLS461_mapit</a></div><div class="ttdeci">void ECP_BLS461_mapit(ECP_BLS461 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:365</div></div>
+<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a4622ae6d312f66fe58a2237a126ff76e"><div class="ttname"><a href="ecp__BLS461_8h.html#a4622ae6d312f66fe58a2237a126ff76e">ECP_BLS461_set</a></div><div class="ttdeci">int ECP_BLS461_set(ECP_BLS461 *P, BIG_464_60 x, BIG_464_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="structECP__BLS461_html_a93521a980194d8c67e7dd53c8e43fb83"><div class="ttname"><a href="structECP__BLS461.html#a93521a980194d8c67e7dd53c8e43fb83">ECP_BLS461::z</a></div><div class="ttdeci">FP_BLS461 z</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.h:113</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a6978f940161cb2acdb940f28e41fdaf0"><div class="ttname"><a href="ecp__BLS461_8h.html#a6978f940161cb2acdb940f28e41fdaf0">CURVE_B_I_BLS461</a></div><div class="ttdeci">const int CURVE_B_I_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_adca2944e1a7ca2a4db87bb8df070def5"><div class="ttname"><a href="ecp__BLS461_8h.html#adca2944e1a7ca2a4db87bb8df070def5">ECP_BLS461_mul</a></div><div class="ttdeci">void ECP_BLS461_mul(ECP_BLS461 *P, BIG_464_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:1021</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_adca2944e1a7ca2a4db87bb8df070def5"><div class="ttname"><a href="ecp__BLS461_8h.html#adca2944e1a7ca2a4db87bb8df070def5">ECP_BLS461_mul</a></div><div class="ttdeci">void ECP_BLS461_mul(ECP_BLS461 *P, BIG_464_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:1021</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_aac5eb42b6fe525e337349fdf04229544"><div class="ttname"><a href="ecp__BLS461_8h.html#aac5eb42b6fe525e337349fdf04229544">CURVE_Pxab_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxab_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a29a8fe847a36d893185611258441cf20"><div class="ttname"><a href="ecp__BLS461_8h.html#a29a8fe847a36d893185611258441cf20">CURVE_Pybb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pybb_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_abe73db4f9ad44728570b68509dd5d9d3"><div class="ttname"><a href="ecp__BLS461_8h.html#abe73db4f9ad44728570b68509dd5d9d3">ECP_BLS461_sub</a></div><div class="ttdeci">void ECP_BLS461_sub(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_ae22cb93d7339ef13102412c359240a30"><div class="ttname"><a href="ecp__BLS461_8h.html#ae22cb93d7339ef13102412c359240a30">ECP_BLS461_outputxyz</a></div><div class="ttdeci">void ECP_BLS461_outputxyz(ECP_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:414</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_abe73db4f9ad44728570b68509dd5d9d3"><div class="ttname"><a href="ecp__BLS461_8h.html#abe73db4f9ad44728570b68509dd5d9d3">ECP_BLS461_sub</a></div><div class="ttdeci">void ECP_BLS461_sub(ECP_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_ae22cb93d7339ef13102412c359240a30"><div class="ttname"><a href="ecp__BLS461_8h.html#ae22cb93d7339ef13102412c359240a30">ECP_BLS461_outputxyz</a></div><div class="ttdeci">void ECP_BLS461_outputxyz(ECP_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:414</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a164b6ff6a3e68d61d3423da98df47959"><div class="ttname"><a href="ecp__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Bnx_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_aafe657512094a149fe14004b17205824"><div class="ttname"><a href="ecp__BLS461_8h.html#aafe657512094a149fe14004b17205824">ECP_BLS461_pinmul</a></div><div class="ttdeci">void ECP_BLS461_pinmul(ECP_BLS461 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_aafe657512094a149fe14004b17205824"><div class="ttname"><a href="ecp__BLS461_8h.html#aafe657512094a149fe14004b17205824">ECP_BLS461_pinmul</a></div><div class="ttdeci">void ECP_BLS461_pinmul(ECP_BLS461 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a0883df85eb571dacd4b0dc6d745f598d"><div class="ttname"><a href="ecp__BLS461_8h.html#a0883df85eb571dacd4b0dc6d745f598d">CURVE_Pybaa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pybaa_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a5fe6bdd9dc9449caf69a032d924d87c9"><div class="ttname"><a href="ecp__BLS461_8h.html#a5fe6bdd9dc9449caf69a032d924d87c9">CURVE_B_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_B_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a38aac2d6655f764dbc02f28ac24b258c"><div class="ttname"><a href="ecp__BLS461_8h.html#a38aac2d6655f764dbc02f28ac24b258c">CURVE_Pxbb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxbb_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a84c3df395966e7486a23a134db654dd1"><div class="ttname"><a href="ecp__BLS461_8h.html#a84c3df395966e7486a23a134db654dd1">CURVE_Pxa_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pxa_BLS461</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html_a293ede09e4b864f518b9111ef1b791d0"><div class="ttname"><a href="ecp__BLS461_8h.html#a293ede09e4b864f518b9111ef1b791d0">ECP_BLS461_rawoutput</a></div><div class="ttdeci">void ECP_BLS461_rawoutput(ECP_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:478</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html_a293ede09e4b864f518b9111ef1b791d0"><div class="ttname"><a href="ecp__BLS461_8h.html#a293ede09e4b864f518b9111ef1b791d0">ECP_BLS461_rawoutput</a></div><div class="ttdeci">void ECP_BLS461_rawoutput(ECP_BLS461 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.c:478</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a670b449161243c447ca5885c584506bf"><div class="ttname"><a href="ecp__BLS461_8h.html#a670b449161243c447ca5885c584506bf">CURVE_Pyb_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Pyb_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a94e3e42dceef6461f9475c34c7500f58"><div class="ttname"><a href="ecp__BLS461_8h.html#a94e3e42dceef6461f9475c34c7500f58">CURVE_Order_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Order_BLS461</div></div>
 <div class="ttc" id="ecp__BLS461_8h_html_a852f1f5013cc1c12386c59d7cb7e626b"><div class="ttname"><a href="ecp__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a></div><div class="ttdeci">const BIG_464_60 Frb_BLS461</div></div>
@@ -150,7 +153,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/ecp__BLS48_8h.html b/website/static/cdocs/ecp__BLS48_8h.html
index 00a58fa..bb3a0ab 100644
--- a/website/static/cdocs/ecp__BLS48_8h.html
+++ b/website/static/cdocs/ecp__BLS48_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: ecp_BLS48.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"
@@ -1705,7 +1708,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/ecp__BLS48_8h_source.html b/website/static/cdocs/ecp__BLS48_8h_source.html
index 11d81a3..04a99b8 100644
--- a/website/static/cdocs/ecp__BLS48_8h_source.html
+++ b/website/static/cdocs/ecp__BLS48_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: ecp_BLS48.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,48 +72,48 @@
 <div class="title">ecp_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BLS48_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 ECP_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS48_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 &quot;<a class="code" href="fp__BLS48_8h.html">fp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3917e09a55585c3e0dc3317be205eeab">CURVE_A_BLS48</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a4bb49a68ef04098b064b997cf1e031ef">CURVE_Cof_I_BLS48</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3b746fcf1d5a148b2570eb85f950bcd8">CURVE_B_I_BLS48</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5048f309ad7888cca5cf18aa44d25af5">CURVE_B_BLS48</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a650d4e749a405f948be20b14a7c055f8">CURVE_Order_BLS48</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7f3cd43c6bf74c06d854f7342838b961">CURVE_Cof_BLS48</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1cdc82d71bc028c0a162ea818fa3b46d">CURVE_Gx_BLS48</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ae940a6674bc7563fe9b59c2b33954dde">CURVE_Gy_BLS48</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1378a0ede545fae3d5d5cb28d82d8ef7">CURVE_Pxa_BLS48</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ad64a3a6b035f4917a2cfeb919ee5c7bf">CURVE_Pxb_BLS48</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7d4d0dd755c44853505c98c17c6ef641">CURVE_Pya_BLS48</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a29db2e1c2448ee4f48b42fcbd9ddcbf9">CURVE_Pyb_BLS48</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac5faed0bc309b7c555a71cfece7e5788">CURVE_Pxaa_BLS48</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7c1dafa9bbd72af5e1cf661d58252902">CURVE_Pxab_BLS48</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7b752a48ceca2115935fc5360aea17fc">CURVE_Pxba_BLS48</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#afa8a4b210032f6e4ca34d6bc89f8bf04">CURVE_Pxbb_BLS48</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a12ca95da31f59d07eb39e3f5076a3f95">CURVE_Pyaa_BLS48</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac0e1a516ac9da1c2f4c0cc0747a8f7a9">CURVE_Pyab_BLS48</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ad7eb1263360b9edaa1e3ab05559c4abb">CURVE_Pyba_BLS48</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a34e58591de7be861b90110a65a1e619c">CURVE_Pybb_BLS48</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a99040006d680b4052da88d4ae233aef6">CURVE_Pxaaa_BLS48</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af58e7ac25c14ec7b6f7b46c4a2034a2b">CURVE_Pxaab_BLS48</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ace880a2d3a39350cf0c3dc54a4fbb4f9">CURVE_Pxaba_BLS48</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3dd5c0f4dbe4a88c9eb60d7a79a3bef0">CURVE_Pxabb_BLS48</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3fbf5fc9c00722793a98eeefb12b345a">CURVE_Pxbaa_BLS48</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1ef348b577814b70c6d28ab20be0f3f1">CURVE_Pxbab_BLS48</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af032815e4b100f1f5504d88c8512d607">CURVE_Pxbba_BLS48</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a416e27b4a1c553eb9f43f14de2b29e69">CURVE_Pxbbb_BLS48</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6e07d91c9849aa0faa8d406edc201fc3">CURVE_Pyaaa_BLS48</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a4ff8df2608f406dbb0f7b493c82c0b34">CURVE_Pyaab_BLS48</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aabda97b93f0e7b24e5686de2abac4f19">CURVE_Pyaba_BLS48</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ade0ccccb67ffdd9a91c275b68adc7eef">CURVE_Pyabb_BLS48</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aee83aec0bc1e27f01d5ef97ed623447f">CURVE_Pybaa_BLS48</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6618fe8236c13970f32fdd8d32fe22d4">CURVE_Pybab_BLS48</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa0bd83cc19752cd941d6bb6df821b6a1">CURVE_Pybba_BLS48</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a19928ac15635fbc87ecbcafc6da79c4f">CURVE_Pybbb_BLS48</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac0d02388d5a9ae47636cae925af9e9c4">CURVE_Cru_BLS48</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5706495c30b1e31626ac53bf46bb7f01">CURVE_W_BLS48</a>[2];        </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a764bb08e4d5be373c2e250d5480805be">CURVE_SB_BLS48</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a40668810415ea1a1385010871050dc2f">CURVE_WB_BLS48</a>[4];       </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6ce6af013412b72e4ca615905c2b447f">CURVE_BB_BLS48</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS48.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS48.html#a0e89b35afd13f8424faa16ee4183100c">  109</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structECP__BLS48.html#a0e89b35afd13f8424faa16ee4183100c">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS48!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS48.html#ac4052dd744d15bb8f7b41b371aaeaeb4">  111</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structECP__BLS48.html#ac4052dd744d15bb8f7b41b371aaeaeb4">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS48.html#ac16016b981e0f426ff081fa8493b61af">  113</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structECP__BLS48.html#ac16016b981e0f426ff081fa8493b61af">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS48.html">ECP_BLS48</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#ac637a0454bc40c7b679b81d0988bb02f">ECP_BLS48_isinf</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#aa818303b5c7c5c47ca3e540da00e1574">ECP_BLS48_equals</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a7956722970f6804a37c4e5ab168a1f82">ECP_BLS48_copy</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</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="ecp__BLS48_8h.html#aa2efb650c3655c92f7537e7b3b71d45e">ECP_BLS48_neg</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</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="ecp__BLS48_8h.html#a5177345c8139a8a0e778711c12b7b7d3">ECP_BLS48_inf</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#ae1aafc34efaa45dad8c803b16bedacb4">ECP_BLS48_rhs</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *r,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS48==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a49f38c11e4a4245e14b3852b5364b042">ECP_BLS48_set</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a469c3b06ece5b88feefcc4ce7f9d9ff4">ECP_BLS48_get</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a3d92f863518da56d164e24e1b2aba842">ECP_BLS48_add</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a49f38c11e4a4245e14b3852b5364b042">ECP_BLS48_set</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a469c3b06ece5b88feefcc4ce7f9d9ff4">ECP_BLS48_get</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a3d92f863518da56d164e24e1b2aba842">ECP_BLS48_add</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</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="ecp__BLS48_8h.html#a84efba6f8bdb0016afa2a8e970b5de70">ECP_BLS48_sub</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#aa8cf966c62c795191a69610ff495b89e">ECP_BLS48_setx</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#aeec58840b9b90893154acfe0e66cdef1">ECP_BLS48_cfp</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a824b1a82216446086608fffbd5575f7d">ECP_BLS48_mapit</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a1cf4b7500756c0d52144824e2a42882e">ECP_BLS48_affine</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#abab6ec1dc09cfd2f0644a26c15a928ae">ECP_BLS48_outputxyz</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</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="ecp__BLS48_8h.html#acd28614d2cb541e848a0faf8f688a360">ECP_BLS48_output</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a67d192773b2422d4bd7150716eb4beb5">ECP_BLS48_rawoutput</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#af2d55dc1453925abf7a5d29fb7340219">ECP_BLS48_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a0bbef2472830feede74e4e8246bb964e">ECP_BLS48_fromOctet</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#ab6ce743cb2b89b67c7244d7dbed2b38e">ECP_BLS48_dbl</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a216e8b9784de22193c0cbba967bff388">ECP_BLS48_pinmul</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a7c426b55b75e48c0f8284f6d1ed89198">ECP_BLS48_mul</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#aac2721d5bef4f8184248b5b52ee95da0">ECP_BLS48_mul2</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> e,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a264c236b1966a3d5dc727abbd907502a">ECP_BLS48_generator</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS48_8h_html_ad64a3a6b035f4917a2cfeb919ee5c7bf"><div class="ttname"><a href="ecp__BLS48_8h.html#ad64a3a6b035f4917a2cfeb919ee5c7bf">CURVE_Pxb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxb_BLS48</div></div>
+<a href="ecp__BLS48_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 ECP_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BLS48_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 &quot;<a class="code" href="fp__BLS48_8h.html">fp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3917e09a55585c3e0dc3317be205eeab">CURVE_A_BLS48</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a4bb49a68ef04098b064b997cf1e031ef">CURVE_Cof_I_BLS48</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a3b746fcf1d5a148b2570eb85f950bcd8">CURVE_B_I_BLS48</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5048f309ad7888cca5cf18aa44d25af5">CURVE_B_BLS48</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a650d4e749a405f948be20b14a7c055f8">CURVE_Order_BLS48</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7f3cd43c6bf74c06d854f7342838b961">CURVE_Cof_BLS48</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1cdc82d71bc028c0a162ea818fa3b46d">CURVE_Gx_BLS48</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ae940a6674bc7563fe9b59c2b33954dde">CURVE_Gy_BLS48</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1378a0ede545fae3d5d5cb28d82d8ef7">CURVE_Pxa_BLS48</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ad64a3a6b035f4917a2cfeb919ee5c7bf">CURVE_Pxb_BLS48</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7d4d0dd755c44853505c98c17c6ef641">CURVE_Pya_BLS48</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a29db2e1c2448ee4f48b42fcbd9ddcbf9">CURVE_Pyb_BLS48</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac5faed0bc309b7c555a71cfece7e5788">CURVE_Pxaa_BLS48</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7c1dafa9bbd72af5e1cf661d58252902">CURVE_Pxab_BLS48</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a7b752a48ceca2115935fc5360aea17fc">CURVE_Pxba_BLS48</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#afa8a4b210032f6e4ca34d6bc89f8bf04">CURVE_Pxbb_BLS48</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a12ca95da31f59d07eb39e3f5076a3f95">CURVE_Pyaa_BLS48</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac0e1a516ac9da1c2f4c0cc0747a8f7a9">CURVE_Pyab_BLS48</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ad7eb1263360b9edaa1e3ab05559c4abb">CURVE_Pyba_BLS48</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a34e58591de7be861b90110a65a1e619c">CURVE_Pybb_BLS48</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a99040006d680b4052da88d4ae233aef6">CURVE_Pxaaa_BLS48</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af58e7ac25c14ec7b6f7b46c4a2034a2b">CURVE_Pxaab_BLS48</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ace880a2d3a39350cf0c3dc54a4fbb4f9">CURVE_Pxaba_BLS48</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3dd5c0f4dbe4a88c9eb60d7a79a3bef0">CURVE_Pxabb_BLS48</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a3fbf5fc9c00722793a98eeefb12b345a">CURVE_Pxbaa_BLS48</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1ef348b577814b70c6d28ab20be0f3f1">CURVE_Pxbab_BLS48</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#af032815e4b100f1f5504d88c8512d607">CURVE_Pxbba_BLS48</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a416e27b4a1c553eb9f43f14de2b29e69">CURVE_Pxbbb_BLS48</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6e07d91c9849aa0faa8d406edc201fc3">CURVE_Pyaaa_BLS48</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a4ff8df2608f406dbb0f7b493c82c0b34">CURVE_Pyaab_BLS48</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aabda97b93f0e7b24e5686de2abac4f19">CURVE_Pyaba_BLS48</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ade0ccccb67ffdd9a91c275b68adc7eef">CURVE_Pyabb_BLS48</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aee83aec0bc1e27f01d5ef97ed623447f">CURVE_Pybaa_BLS48</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6618fe8236c13970f32fdd8d32fe22d4">CURVE_Pybab_BLS48</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa0bd83cc19752cd941d6bb6df821b6a1">CURVE_Pybba_BLS48</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a19928ac15635fbc87ecbcafc6da79c4f">CURVE_Pybbb_BLS48</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac0d02388d5a9ae47636cae925af9e9c4">CURVE_Cru_BLS48</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5706495c30b1e31626ac53bf46bb7f01">CURVE_W_BLS48</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a764bb08e4d5be373c2e250d5480805be">CURVE_SB_BLS48</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a40668810415ea1a1385010871050dc2f">CURVE_WB_BLS48</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6ce6af013412b72e4ca615905c2b447f">CURVE_BB_BLS48</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BLS48.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BLS48.html#a0e89b35afd13f8424faa16ee4183100c">  109</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structECP__BLS48.html#a0e89b35afd13f8424faa16ee4183100c">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS48!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BLS48.html#ac4052dd744d15bb8f7b41b371aaeaeb4">  111</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structECP__BLS48.html#ac4052dd744d15bb8f7b41b371aaeaeb4">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BLS48.html#ac16016b981e0f426ff081fa8493b61af">  113</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structECP__BLS48.html#ac16016b981e0f426ff081fa8493b61af">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BLS48.html">ECP_BLS48</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#ac637a0454bc40c7b679b81d0988bb02f">ECP_BLS48_isinf</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#aa818303b5c7c5c47ca3e540da00e1574">ECP_BLS48_equals</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a7956722970f6804a37c4e5ab168a1f82">ECP_BLS48_copy</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</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="ecp__BLS48_8h.html#aa2efb650c3655c92f7537e7b3b71d45e">ECP_BLS48_neg</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</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="ecp__BLS48_8h.html#a5177345c8139a8a0e778711c12b7b7d3">ECP_BLS48_inf</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#ae1aafc34efaa45dad8c803b16bedacb4">ECP_BLS48_rhs</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *r,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BLS48==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a49f38c11e4a4245e14b3852b5364b042">ECP_BLS48_set</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a469c3b06ece5b88feefcc4ce7f9d9ff4">ECP_BLS48_get</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a3d92f863518da56d164e24e1b2aba842">ECP_BLS48_add</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a49f38c11e4a4245e14b3852b5364b042">ECP_BLS48_set</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a469c3b06ece5b88feefcc4ce7f9d9ff4">ECP_BLS48_get</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> y,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a3d92f863518da56d164e24e1b2aba842">ECP_BLS48_add</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</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="ecp__BLS48_8h.html#a84efba6f8bdb0016afa2a8e970b5de70">ECP_BLS48_sub</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#aa8cf966c62c795191a69610ff495b89e">ECP_BLS48_setx</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#aeec58840b9b90893154acfe0e66cdef1">ECP_BLS48_cfp</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a824b1a82216446086608fffbd5575f7d">ECP_BLS48_mapit</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a1cf4b7500756c0d52144824e2a42882e">ECP_BLS48_affine</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#abab6ec1dc09cfd2f0644a26c15a928ae">ECP_BLS48_outputxyz</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</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="ecp__BLS48_8h.html#acd28614d2cb541e848a0faf8f688a360">ECP_BLS48_output</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a67d192773b2422d4bd7150716eb4beb5">ECP_BLS48_rawoutput</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#af2d55dc1453925abf7a5d29fb7340219">ECP_BLS48_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BLS48_8h.html#a0bbef2472830feede74e4e8246bb964e">ECP_BLS48_fromOctet</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#ab6ce743cb2b89b67c7244d7dbed2b38e">ECP_BLS48_dbl</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a216e8b9784de22193c0cbba967bff388">ECP_BLS48_pinmul</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a7c426b55b75e48c0f8284f6d1ed89198">ECP_BLS48_mul</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#aac2721d5bef4f8184248b5b52ee95da0">ECP_BLS48_mul2</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> e,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BLS48_8h.html#a264c236b1966a3d5dc727abbd907502a">ECP_BLS48_generator</a>(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS48_8h_html_ad64a3a6b035f4917a2cfeb919ee5c7bf"><div class="ttname"><a href="ecp__BLS48_8h.html#ad64a3a6b035f4917a2cfeb919ee5c7bf">CURVE_Pxb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a4bb49a68ef04098b064b997cf1e031ef"><div class="ttname"><a href="ecp__BLS48_8h.html#a4bb49a68ef04098b064b997cf1e031ef">CURVE_Cof_I_BLS48</a></div><div class="ttdeci">const int CURVE_Cof_I_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_aeec58840b9b90893154acfe0e66cdef1"><div class="ttname"><a href="ecp__BLS48_8h.html#aeec58840b9b90893154acfe0e66cdef1">ECP_BLS48_cfp</a></div><div class="ttdeci">void ECP_BLS48_cfp(ECP_BLS48 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:338</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_aeec58840b9b90893154acfe0e66cdef1"><div class="ttname"><a href="ecp__BLS48_8h.html#aeec58840b9b90893154acfe0e66cdef1">ECP_BLS48_cfp</a></div><div class="ttdeci">void ECP_BLS48_cfp(ECP_BLS48 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:338</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a3917e09a55585c3e0dc3317be205eeab"><div class="ttname"><a href="ecp__BLS48_8h.html#a3917e09a55585c3e0dc3317be205eeab">CURVE_A_BLS48</a></div><div class="ttdeci">const int CURVE_A_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aa0bd83cc19752cd941d6bb6df821b6a1"><div class="ttname"><a href="ecp__BLS48_8h.html#aa0bd83cc19752cd941d6bb6df821b6a1">CURVE_Pybba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pybba_BLS48</div></div>
-<div class="ttc" id="fp__BLS48_8h_html"><div class="ttname"><a href="fp__BLS48_8h.html">fp_BLS48.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__BLS48_8h_html"><div class="ttname"><a href="fp__BLS48_8h.html">fp_BLS48.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_af2d55dc1453925abf7a5d29fb7340219"><div class="ttname"><a href="ecp__BLS48_8h.html#af2d55dc1453925abf7a5d29fb7340219">ECP_BLS48_toOctet</a></div><div class="ttdeci">void ECP_BLS48_toOctet(octet *S, ECP_BLS48 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:507</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a84efba6f8bdb0016afa2a8e970b5de70"><div class="ttname"><a href="ecp__BLS48_8h.html#a84efba6f8bdb0016afa2a8e970b5de70">ECP_BLS48_sub</a></div><div class="ttdeci">void ECP_BLS48_sub(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a84efba6f8bdb0016afa2a8e970b5de70"><div class="ttname"><a href="ecp__BLS48_8h.html#a84efba6f8bdb0016afa2a8e970b5de70">ECP_BLS48_sub</a></div><div class="ttdeci">void ECP_BLS48_sub(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_af032815e4b100f1f5504d88c8512d607"><div class="ttname"><a href="ecp__BLS48_8h.html#af032815e4b100f1f5504d88c8512d607">CURVE_Pxbba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxbba_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ac5faed0bc309b7c555a71cfece7e5788"><div class="ttname"><a href="ecp__BLS48_8h.html#ac5faed0bc309b7c555a71cfece7e5788">CURVE_Pxaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxaa_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_ab6ce743cb2b89b67c7244d7dbed2b38e"><div class="ttname"><a href="ecp__BLS48_8h.html#ab6ce743cb2b89b67c7244d7dbed2b38e">ECP_BLS48_dbl</a></div><div class="ttdeci">void ECP_BLS48_dbl(ECP_BLS48 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:564</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_ab6ce743cb2b89b67c7244d7dbed2b38e"><div class="ttname"><a href="ecp__BLS48_8h.html#ab6ce743cb2b89b67c7244d7dbed2b38e">ECP_BLS48_dbl</a></div><div class="ttdeci">void ECP_BLS48_dbl(ECP_BLS48 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:564</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a12ca95da31f59d07eb39e3f5076a3f95"><div class="ttname"><a href="ecp__BLS48_8h.html#a12ca95da31f59d07eb39e3f5076a3f95">CURVE_Pyaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyaa_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_acd28614d2cb541e848a0faf8f688a360"><div class="ttname"><a href="ecp__BLS48_8h.html#acd28614d2cb541e848a0faf8f688a360">ECP_BLS48_output</a></div><div class="ttdeci">void ECP_BLS48_output(ECP_BLS48 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:450</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_acd28614d2cb541e848a0faf8f688a360"><div class="ttname"><a href="ecp__BLS48_8h.html#acd28614d2cb541e848a0faf8f688a360">ECP_BLS48_output</a></div><div class="ttdeci">void ECP_BLS48_output(ECP_BLS48 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:450</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a1cdc82d71bc028c0a162ea818fa3b46d"><div class="ttname"><a href="ecp__BLS48_8h.html#a1cdc82d71bc028c0a162ea818fa3b46d">CURVE_Gx_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Gx_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a19928ac15635fbc87ecbcafc6da79c4f"><div class="ttname"><a href="ecp__BLS48_8h.html#a19928ac15635fbc87ecbcafc6da79c4f">CURVE_Pybbb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pybbb_BLS48</div></div>
 <div class="ttc" id="structECP__BLS48_html_a0e89b35afd13f8424faa16ee4183100c"><div class="ttname"><a href="structECP__BLS48.html#a0e89b35afd13f8424faa16ee4183100c">ECP_BLS48::x</a></div><div class="ttdeci">FP_BLS48 x</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.h:109</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_aa2efb650c3655c92f7537e7b3b71d45e"><div class="ttname"><a href="ecp__BLS48_8h.html#aa2efb650c3655c92f7537e7b3b71d45e">ECP_BLS48_neg</a></div><div class="ttdeci">void ECP_BLS48_neg(ECP_BLS48 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_ac637a0454bc40c7b679b81d0988bb02f"><div class="ttname"><a href="ecp__BLS48_8h.html#ac637a0454bc40c7b679b81d0988bb02f">ECP_BLS48_isinf</a></div><div class="ttdeci">int ECP_BLS48_isinf(ECP_BLS48 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:28</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_aa2efb650c3655c92f7537e7b3b71d45e"><div class="ttname"><a href="ecp__BLS48_8h.html#aa2efb650c3655c92f7537e7b3b71d45e">ECP_BLS48_neg</a></div><div class="ttdeci">void ECP_BLS48_neg(ECP_BLS48 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_ac637a0454bc40c7b679b81d0988bb02f"><div class="ttname"><a href="ecp__BLS48_8h.html#ac637a0454bc40c7b679b81d0988bb02f">ECP_BLS48_isinf</a></div><div class="ttdeci">int ECP_BLS48_isinf(ECP_BLS48 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:28</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ade0ccccb67ffdd9a91c275b68adc7eef"><div class="ttname"><a href="ecp__BLS48_8h.html#ade0ccccb67ffdd9a91c275b68adc7eef">CURVE_Pyabb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyabb_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a7c426b55b75e48c0f8284f6d1ed89198"><div class="ttname"><a href="ecp__BLS48_8h.html#a7c426b55b75e48c0f8284f6d1ed89198">ECP_BLS48_mul</a></div><div class="ttdeci">void ECP_BLS48_mul(ECP_BLS48 *P, BIG_560_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:1021</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a7c426b55b75e48c0f8284f6d1ed89198"><div class="ttname"><a href="ecp__BLS48_8h.html#a7c426b55b75e48c0f8284f6d1ed89198">ECP_BLS48_mul</a></div><div class="ttdeci">void ECP_BLS48_mul(ECP_BLS48 *P, BIG_560_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:1021</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ace880a2d3a39350cf0c3dc54a4fbb4f9"><div class="ttname"><a href="ecp__BLS48_8h.html#ace880a2d3a39350cf0c3dc54a4fbb4f9">CURVE_Pxaba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxaba_BLS48</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="ecp__BLS48_8h_html_a49f38c11e4a4245e14b3852b5364b042"><div class="ttname"><a href="ecp__BLS48_8h.html#a49f38c11e4a4245e14b3852b5364b042">ECP_BLS48_set</a></div><div class="ttdeci">int ECP_BLS48_set(ECP_BLS48 *P, BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a0bbef2472830feede74e4e8246bb964e"><div class="ttname"><a href="ecp__BLS48_8h.html#a0bbef2472830feede74e4e8246bb964e">ECP_BLS48_fromOctet</a></div><div class="ttdeci">int ECP_BLS48_fromOctet(ECP_BLS48 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:537</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="ecp__BLS48_8h_html_a49f38c11e4a4245e14b3852b5364b042"><div class="ttname"><a href="ecp__BLS48_8h.html#a49f38c11e4a4245e14b3852b5364b042">ECP_BLS48_set</a></div><div class="ttdeci">int ECP_BLS48_set(ECP_BLS48 *P, BIG_560_58 x, BIG_560_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a0bbef2472830feede74e4e8246bb964e"><div class="ttname"><a href="ecp__BLS48_8h.html#a0bbef2472830feede74e4e8246bb964e">ECP_BLS48_fromOctet</a></div><div class="ttdeci">int ECP_BLS48_fromOctet(ECP_BLS48 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:537</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a7c1dafa9bbd72af5e1cf661d58252902"><div class="ttname"><a href="ecp__BLS48_8h.html#a7c1dafa9bbd72af5e1cf661d58252902">CURVE_Pxab_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxab_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a3b746fcf1d5a148b2570eb85f950bcd8"><div class="ttname"><a href="ecp__BLS48_8h.html#a3b746fcf1d5a148b2570eb85f950bcd8">CURVE_B_I_BLS48</a></div><div class="ttdeci">const int CURVE_B_I_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a6ce6af013412b72e4ca615905c2b447f"><div class="ttname"><a href="ecp__BLS48_8h.html#a6ce6af013412b72e4ca615905c2b447f">CURVE_BB_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_BB_BLS48[4][4]</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a93bf4c71a6093999ba8e5a84de936a5d"><div class="ttname"><a href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a></div><div class="ttdeci">const BIG_560_58 Frb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ac0e1a516ac9da1c2f4c0cc0747a8f7a9"><div class="ttname"><a href="ecp__BLS48_8h.html#ac0e1a516ac9da1c2f4c0cc0747a8f7a9">CURVE_Pyab_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyab_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_ae1aafc34efaa45dad8c803b16bedacb4"><div class="ttname"><a href="ecp__BLS48_8h.html#ae1aafc34efaa45dad8c803b16bedacb4">ECP_BLS48_rhs</a></div><div class="ttdeci">void ECP_BLS48_rhs(FP_BLS48 *r, FP_BLS48 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:161</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a1cf4b7500756c0d52144824e2a42882e"><div class="ttname"><a href="ecp__BLS48_8h.html#a1cf4b7500756c0d52144824e2a42882e">ECP_BLS48_affine</a></div><div class="ttdeci">void ECP_BLS48_affine(ECP_BLS48 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:392</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a216e8b9784de22193c0cbba967bff388"><div class="ttname"><a href="ecp__BLS48_8h.html#a216e8b9784de22193c0cbba967bff388">ECP_BLS48_pinmul</a></div><div class="ttdeci">void ECP_BLS48_pinmul(ECP_BLS48 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_ae1aafc34efaa45dad8c803b16bedacb4"><div class="ttname"><a href="ecp__BLS48_8h.html#ae1aafc34efaa45dad8c803b16bedacb4">ECP_BLS48_rhs</a></div><div class="ttdeci">void ECP_BLS48_rhs(FP_BLS48 *r, FP_BLS48 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:161</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a1cf4b7500756c0d52144824e2a42882e"><div class="ttname"><a href="ecp__BLS48_8h.html#a1cf4b7500756c0d52144824e2a42882e">ECP_BLS48_affine</a></div><div class="ttdeci">void ECP_BLS48_affine(ECP_BLS48 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:392</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a216e8b9784de22193c0cbba967bff388"><div class="ttname"><a href="ecp__BLS48_8h.html#a216e8b9784de22193c0cbba967bff388">ECP_BLS48_pinmul</a></div><div class="ttdeci">void ECP_BLS48_pinmul(ECP_BLS48 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a416e27b4a1c553eb9f43f14de2b29e69"><div class="ttname"><a href="ecp__BLS48_8h.html#a416e27b4a1c553eb9f43f14de2b29e69">CURVE_Pxbbb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxbbb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_af58e7ac25c14ec7b6f7b46c4a2034a2b"><div class="ttname"><a href="ecp__BLS48_8h.html#af58e7ac25c14ec7b6f7b46c4a2034a2b">CURVE_Pxaab_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxaab_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_aa818303b5c7c5c47ca3e540da00e1574"><div class="ttname"><a href="ecp__BLS48_8h.html#aa818303b5c7c5c47ca3e540da00e1574">ECP_BLS48_equals</a></div><div class="ttdeci">int ECP_BLS48_equals(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:100</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_aa818303b5c7c5c47ca3e540da00e1574"><div class="ttname"><a href="ecp__BLS48_8h.html#aa818303b5c7c5c47ca3e540da00e1574">ECP_BLS48_equals</a></div><div class="ttdeci">int ECP_BLS48_equals(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:100</div></div>
 <div class="ttc" id="structECP__BLS48_html_ac4052dd744d15bb8f7b41b371aaeaeb4"><div class="ttname"><a href="structECP__BLS48.html#ac4052dd744d15bb8f7b41b371aaeaeb4">ECP_BLS48::y</a></div><div class="ttdeci">FP_BLS48 y</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.h:111</div></div>
 <div class="ttc" id="structECP__BLS48_html_ac16016b981e0f426ff081fa8493b61af"><div class="ttname"><a href="structECP__BLS48.html#ac16016b981e0f426ff081fa8493b61af">ECP_BLS48::z</a></div><div class="ttdeci">FP_BLS48 z</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.h:113</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ac0d02388d5a9ae47636cae925af9e9c4"><div class="ttname"><a href="ecp__BLS48_8h.html#ac0d02388d5a9ae47636cae925af9e9c4">CURVE_Cru_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Cru_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_aa8cf966c62c795191a69610ff495b89e"><div class="ttname"><a href="ecp__BLS48_8h.html#aa8cf966c62c795191a69610ff495b89e">ECP_BLS48_setx</a></div><div class="ttdeci">int ECP_BLS48_setx(ECP_BLS48 *P, BIG_560_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_aa8cf966c62c795191a69610ff495b89e"><div class="ttname"><a href="ecp__BLS48_8h.html#aa8cf966c62c795191a69610ff495b89e">ECP_BLS48_setx</a></div><div class="ttdeci">int ECP_BLS48_setx(ECP_BLS48 *P, BIG_560_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aa2f84b8ba9625ad4617db4dfb8c84194"><div class="ttname"><a href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a></div><div class="ttdeci">const BIG_560_58 Fra_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a3dd5c0f4dbe4a88c9eb60d7a79a3bef0"><div class="ttname"><a href="ecp__BLS48_8h.html#a3dd5c0f4dbe4a88c9eb60d7a79a3bef0">CURVE_Pxabb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxabb_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a3d92f863518da56d164e24e1b2aba842"><div class="ttname"><a href="ecp__BLS48_8h.html#a3d92f863518da56d164e24e1b2aba842">ECP_BLS48_add</a></div><div class="ttdeci">void ECP_BLS48_add(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a3d92f863518da56d164e24e1b2aba842"><div class="ttname"><a href="ecp__BLS48_8h.html#a3d92f863518da56d164e24e1b2aba842">ECP_BLS48_add</a></div><div class="ttdeci">void ECP_BLS48_add(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a650d4e749a405f948be20b14a7c055f8"><div class="ttname"><a href="ecp__BLS48_8h.html#a650d4e749a405f948be20b14a7c055f8">CURVE_Order_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Order_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a1ef348b577814b70c6d28ab20be0f3f1"><div class="ttname"><a href="ecp__BLS48_8h.html#a1ef348b577814b70c6d28ab20be0f3f1">CURVE_Pxbab_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxbab_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a29db2e1c2448ee4f48b42fcbd9ddcbf9"><div class="ttname"><a href="ecp__BLS48_8h.html#a29db2e1c2448ee4f48b42fcbd9ddcbf9">CURVE_Pyb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyb_BLS48</div></div>
@@ -118,30 +121,30 @@
 <div class="ttc" id="ecp__BLS48_8h_html_a40668810415ea1a1385010871050dc2f"><div class="ttname"><a href="ecp__BLS48_8h.html#a40668810415ea1a1385010871050dc2f">CURVE_WB_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_WB_BLS48[4]</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a7f3cd43c6bf74c06d854f7342838b961"><div class="ttname"><a href="ecp__BLS48_8h.html#a7f3cd43c6bf74c06d854f7342838b961">CURVE_Cof_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Cof_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a7d4d0dd755c44853505c98c17c6ef641"><div class="ttname"><a href="ecp__BLS48_8h.html#a7d4d0dd755c44853505c98c17c6ef641">CURVE_Pya_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pya_BLS48</div></div>
-<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
+<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a764bb08e4d5be373c2e250d5480805be"><div class="ttname"><a href="ecp__BLS48_8h.html#a764bb08e4d5be373c2e250d5480805be">CURVE_SB_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_SB_BLS48[2][2]</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a6618fe8236c13970f32fdd8d32fe22d4"><div class="ttname"><a href="ecp__BLS48_8h.html#a6618fe8236c13970f32fdd8d32fe22d4">CURVE_Pybab_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pybab_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a7b752a48ceca2115935fc5360aea17fc"><div class="ttname"><a href="ecp__BLS48_8h.html#a7b752a48ceca2115935fc5360aea17fc">CURVE_Pxba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxba_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a1a09fcdee43807fb24f1265b5fffd56b"><div class="ttname"><a href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Bnx_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a5048f309ad7888cca5cf18aa44d25af5"><div class="ttname"><a href="ecp__BLS48_8h.html#a5048f309ad7888cca5cf18aa44d25af5">CURVE_B_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_B_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a7956722970f6804a37c4e5ab168a1f82"><div class="ttname"><a href="ecp__BLS48_8h.html#a7956722970f6804a37c4e5ab168a1f82">ECP_BLS48_copy</a></div><div class="ttdeci">void ECP_BLS48_copy(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:120</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_abab6ec1dc09cfd2f0644a26c15a928ae"><div class="ttname"><a href="ecp__BLS48_8h.html#abab6ec1dc09cfd2f0644a26c15a928ae">ECP_BLS48_outputxyz</a></div><div class="ttdeci">void ECP_BLS48_outputxyz(ECP_BLS48 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:414</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a7956722970f6804a37c4e5ab168a1f82"><div class="ttname"><a href="ecp__BLS48_8h.html#a7956722970f6804a37c4e5ab168a1f82">ECP_BLS48_copy</a></div><div class="ttdeci">void ECP_BLS48_copy(ECP_BLS48 *P, ECP_BLS48 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:120</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_abab6ec1dc09cfd2f0644a26c15a928ae"><div class="ttname"><a href="ecp__BLS48_8h.html#abab6ec1dc09cfd2f0644a26c15a928ae">ECP_BLS48_outputxyz</a></div><div class="ttdeci">void ECP_BLS48_outputxyz(ECP_BLS48 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:414</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a99040006d680b4052da88d4ae233aef6"><div class="ttname"><a href="ecp__BLS48_8h.html#a99040006d680b4052da88d4ae233aef6">CURVE_Pxaaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxaaa_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a5177345c8139a8a0e778711c12b7b7d3"><div class="ttname"><a href="ecp__BLS48_8h.html#a5177345c8139a8a0e778711c12b7b7d3">ECP_BLS48_inf</a></div><div class="ttdeci">void ECP_BLS48_inf(ECP_BLS48 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:146</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a67d192773b2422d4bd7150716eb4beb5"><div class="ttname"><a href="ecp__BLS48_8h.html#a67d192773b2422d4bd7150716eb4beb5">ECP_BLS48_rawoutput</a></div><div class="ttdeci">void ECP_BLS48_rawoutput(ECP_BLS48 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:478</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a469c3b06ece5b88feefcc4ce7f9d9ff4"><div class="ttname"><a href="ecp__BLS48_8h.html#a469c3b06ece5b88feefcc4ce7f9d9ff4">ECP_BLS48_get</a></div><div class="ttdeci">int ECP_BLS48_get(BIG_560_58 x, BIG_560_58 y, ECP_BLS48 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a5177345c8139a8a0e778711c12b7b7d3"><div class="ttname"><a href="ecp__BLS48_8h.html#a5177345c8139a8a0e778711c12b7b7d3">ECP_BLS48_inf</a></div><div class="ttdeci">void ECP_BLS48_inf(ECP_BLS48 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:146</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a67d192773b2422d4bd7150716eb4beb5"><div class="ttname"><a href="ecp__BLS48_8h.html#a67d192773b2422d4bd7150716eb4beb5">ECP_BLS48_rawoutput</a></div><div class="ttdeci">void ECP_BLS48_rawoutput(ECP_BLS48 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:478</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a469c3b06ece5b88feefcc4ce7f9d9ff4"><div class="ttname"><a href="ecp__BLS48_8h.html#a469c3b06ece5b88feefcc4ce7f9d9ff4">ECP_BLS48_get</a></div><div class="ttdeci">int ECP_BLS48_get(BIG_560_58 x, BIG_560_58 y, ECP_BLS48 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aee83aec0bc1e27f01d5ef97ed623447f"><div class="ttname"><a href="ecp__BLS48_8h.html#aee83aec0bc1e27f01d5ef97ed623447f">CURVE_Pybaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pybaa_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a1378a0ede545fae3d5d5cb28d82d8ef7"><div class="ttname"><a href="ecp__BLS48_8h.html#a1378a0ede545fae3d5d5cb28d82d8ef7">CURVE_Pxa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxa_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a824b1a82216446086608fffbd5575f7d"><div class="ttname"><a href="ecp__BLS48_8h.html#a824b1a82216446086608fffbd5575f7d">ECP_BLS48_mapit</a></div><div class="ttdeci">void ECP_BLS48_mapit(ECP_BLS48 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:365</div></div>
-<div class="ttc" id="structECP__BLS48_html"><div class="ttname"><a href="structECP__BLS48.html">ECP_BLS48</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.h:105</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a824b1a82216446086608fffbd5575f7d"><div class="ttname"><a href="ecp__BLS48_8h.html#a824b1a82216446086608fffbd5575f7d">ECP_BLS48_mapit</a></div><div class="ttdeci">void ECP_BLS48_mapit(ECP_BLS48 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:365</div></div>
+<div class="ttc" id="structECP__BLS48_html"><div class="ttname"><a href="structECP__BLS48.html">ECP_BLS48</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.h:105</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_aac2721d5bef4f8184248b5b52ee95da0"><div class="ttname"><a href="ecp__BLS48_8h.html#aac2721d5bef4f8184248b5b52ee95da0">ECP_BLS48_mul2</a></div><div class="ttdeci">void ECP_BLS48_mul2(ECP_BLS48 *P, ECP_BLS48 *Q, BIG_560_58 e, BIG_560_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_aac2721d5bef4f8184248b5b52ee95da0"><div class="ttname"><a href="ecp__BLS48_8h.html#aac2721d5bef4f8184248b5b52ee95da0">ECP_BLS48_mul2</a></div><div class="ttdeci">void ECP_BLS48_mul2(ECP_BLS48 *P, ECP_BLS48 *Q, BIG_560_58 e, BIG_560_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aabda97b93f0e7b24e5686de2abac4f19"><div class="ttname"><a href="ecp__BLS48_8h.html#aabda97b93f0e7b24e5686de2abac4f19">CURVE_Pyaba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyaba_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_afa8a4b210032f6e4ca34d6bc89f8bf04"><div class="ttname"><a href="ecp__BLS48_8h.html#afa8a4b210032f6e4ca34d6bc89f8bf04">CURVE_Pxbb_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxbb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a3fbf5fc9c00722793a98eeefb12b345a"><div class="ttname"><a href="ecp__BLS48_8h.html#a3fbf5fc9c00722793a98eeefb12b345a">CURVE_Pxbaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pxbaa_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a5706495c30b1e31626ac53bf46bb7f01"><div class="ttname"><a href="ecp__BLS48_8h.html#a5706495c30b1e31626ac53bf46bb7f01">CURVE_W_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_W_BLS48[2]</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ae940a6674bc7563fe9b59c2b33954dde"><div class="ttname"><a href="ecp__BLS48_8h.html#ae940a6674bc7563fe9b59c2b33954dde">CURVE_Gy_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Gy_BLS48</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html_a264c236b1966a3d5dc727abbd907502a"><div class="ttname"><a href="ecp__BLS48_8h.html#a264c236b1966a3d5dc727abbd907502a">ECP_BLS48_generator</a></div><div class="ttdeci">void ECP_BLS48_generator(ECP_BLS48 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:1221</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html_a264c236b1966a3d5dc727abbd907502a"><div class="ttname"><a href="ecp__BLS48_8h.html#a264c236b1966a3d5dc727abbd907502a">ECP_BLS48_generator</a></div><div class="ttdeci">void ECP_BLS48_generator(ECP_BLS48 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.c:1221</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a4ff8df2608f406dbb0f7b493c82c0b34"><div class="ttname"><a href="ecp__BLS48_8h.html#a4ff8df2608f406dbb0f7b493c82c0b34">CURVE_Pyaab_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyaab_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ad7eb1263360b9edaa1e3ab05559c4abb"><div class="ttname"><a href="ecp__BLS48_8h.html#ad7eb1263360b9edaa1e3ab05559c4abb">CURVE_Pyba_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyba_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a6e07d91c9849aa0faa8d406edc201fc3"><div class="ttname"><a href="ecp__BLS48_8h.html#a6e07d91c9849aa0faa8d406edc201fc3">CURVE_Pyaaa_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Pyaaa_BLS48</div></div>
@@ -150,7 +153,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/ecp__BN254CX_8h.html b/website/static/cdocs/ecp__BN254CX_8h.html
index abc18ce..d1a4612 100644
--- a/website/static/cdocs/ecp__BN254CX_8h.html
+++ b/website/static/cdocs/ecp__BN254CX_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: ecp_BN254CX.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"
@@ -1705,7 +1708,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/ecp__BN254CX_8h_source.html b/website/static/cdocs/ecp__BN254CX_8h_source.html
index 0a1c528..3cda298 100644
--- a/website/static/cdocs/ecp__BN254CX_8h_source.html
+++ b/website/static/cdocs/ecp__BN254CX_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: ecp_BN254CX.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,19 +72,19 @@
 <div class="title">ecp_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BN254CX_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 ECP_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BN254CX_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 &quot;<a class="code" href="fp__BN254CX_8h.html">fp_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#afac5736c431d7fe10767546c82144cab">CURVE_A_BN254CX</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a29a2dbf355978a79d9e713e546baadde">CURVE_Cof_I_BN254CX</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#ada76eb3346ca4c61d0f0a579ebc200c1">CURVE_B_I_BN254CX</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#acc1122309d3b865c8b2c583ef2bc8cf6">CURVE_B_BN254CX</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a24e56e7627aedba9f52dce21f1e46104">CURVE_Order_BN254CX</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a3bacf661cb5035efdbb89ec6d0681d61">CURVE_Cof_BN254CX</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a7cbfa3f292d2e2a7855b9b5193fad43f">CURVE_Gx_BN254CX</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#afd5a19ef23281b022305b38cfc575743">CURVE_Gy_BN254CX</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a5b91d313e6708f319d9ae1afdc808f17">CURVE_Pxa_BN254CX</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a8597fc07af6bff2c2e1c4c1df18c78d4">CURVE_Pxb_BN254CX</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a373e2c6b7a96714624d46dcba44d2175">CURVE_Pya_BN254CX</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a94d683888f5b67525ec1117f9e7896e7">CURVE_Pyb_BN254CX</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a488cc41a73b2a66ad304d29dc27df774">CURVE_Pxaa_BN254CX</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#af970395b76d7a939d7288687d6feb828">CURVE_Pxab_BN254CX</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a500e41fab0ddf25dc8bdeacef427e29e">CURVE_Pxba_BN254CX</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aefc421a85dd4a236321f9f12fc84a513">CURVE_Pxbb_BN254CX</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae0bf5cdf9d79ad1921ec1d667bf7c911">CURVE_Pyaa_BN254CX</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a9564fd4bf8e10c1faa8efc053a19a605">CURVE_Pyab_BN254CX</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aa71367822c77c761d4ee6b97a30b8018">CURVE_Pyba_BN254CX</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a81fc6f98c6375c0c84d595590f3d18da">CURVE_Pybb_BN254CX</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a86aadc78cdaf3dc427b3dfa78d5eebff">CURVE_Pxaaa_BN254CX</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a7d06882b853865469744f1c1248e815c">CURVE_Pxaab_BN254CX</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a6d88ea1b87bb088a3ca6b667e94dab7f">CURVE_Pxaba_BN254CX</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#adf0e6e0eb8fe4010b970538b03cf7546">CURVE_Pxabb_BN254CX</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ad4410ede67c411e6993f127da7306e12">CURVE_Pxbaa_BN254CX</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aae4d1c4650247358ad486af88bc8e393">CURVE_Pxbab_BN254CX</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a21d0c582569b5aa66760259995b59c7a">CURVE_Pxbba_BN254CX</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae1c63f902621d592f94324ac7be960f1">CURVE_Pxbbb_BN254CX</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ac82e4353943afe6bdbbf02c0803ecfdd">CURVE_Pyaaa_BN254CX</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aeabafb0b0b18be7e38ba667072dbeb69">CURVE_Pyaab_BN254CX</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a06a4021f5962165fd731b9e7c28f94b7">CURVE_Pyaba_BN254CX</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a4dd64a385256e0613697055621afb1f2">CURVE_Pyabb_BN254CX</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#abf9815b37fe14d893632a40a987df46d">CURVE_Pybaa_BN254CX</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a80e0bb17ddcc69465c0549d62fcbd543">CURVE_Pybab_BN254CX</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a52407f686bd76933e54cc1eabe38b994">CURVE_Pybba_BN254CX</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a1f7c051fb4c6226047fd43acf2c494c1">CURVE_Pybbb_BN254CX</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae96e4bddc2c2e24813b3a5f90cb4d80d">CURVE_Cru_BN254CX</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aa9e422e0ac192a2dec3263d0e08d25a7">CURVE_W_BN254CX</a>[2];      </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae7511c37ed68f07cfeb3709d28e139f0">CURVE_SB_BN254CX</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a424f1e4a7a66eea1edee443fc306f673">CURVE_WB_BN254CX</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a0c995862d7d0aa82d7fa5a59605628db">CURVE_BB_BN254CX</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html#a8c168a2e9e551a77e7a138b4f2da9f07">  109</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structECP__BN254CX.html#a8c168a2e9e551a77e7a138b4f2da9f07">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254CX!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html#a477806d9e94aff9d204f9045b2912ffc">  111</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structECP__BN254CX.html#a477806d9e94aff9d204f9045b2912ffc">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html#a3a16cd6f248b7a5feb177ee8d8c4998e">  113</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structECP__BN254CX.html#a3a16cd6f248b7a5feb177ee8d8c4998e">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#addabc12d6b2aed7bd213b5939126d6a8">ECP_BN254CX_isinf</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#ae215b87b296736dbfb3f255452622631">ECP_BN254CX_equals</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ad69117cf9b674879650e169c59fc6cb4">ECP_BN254CX_copy</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</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="ecp__BN254CX_8h.html#aec377cb6729cf1440cb847fd48eb8415">ECP_BN254CX_neg</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</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="ecp__BN254CX_8h.html#a8446006bacab5961c1205c18f7ec0d99">ECP_BN254CX_inf</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a7c97b06352aa0d95c1d4b55b415420c5">ECP_BN254CX_rhs</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *r,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254CX==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a7ef536cace9cb03512739076d5978901">ECP_BN254CX_set</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a693c08c4397951961b8a20232aa9596d">ECP_BN254CX_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ab2b419c6c8756abf968b37c29b618d51">ECP_BN254CX_add</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a7ef536cace9cb03512739076d5978901">ECP_BN254CX_set</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a693c08c4397951961b8a20232aa9596d">ECP_BN254CX_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ab2b419c6c8756abf968b37c29b618d51">ECP_BN254CX_add</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</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="ecp__BN254CX_8h.html#a201b7f5aacd6adeee635554d24a9ebdd">ECP_BN254CX_sub</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a008a27421015811640993934560215b5">ECP_BN254CX_setx</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a1f00a049cb0806a052e1e4cbe9745922">ECP_BN254CX_cfp</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ad3731413906a2e23b1134632233b0a75">ECP_BN254CX_mapit</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a4f519dc57ceb6e8a44d14d2664810349">ECP_BN254CX_affine</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#accb52fb1beb1fb2a6c3e31581a3ad65c">ECP_BN254CX_outputxyz</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</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="ecp__BN254CX_8h.html#a9faa3ee620a3f14610cd2fbc4f24c2bd">ECP_BN254CX_output</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a54fffcc36ce6fe9f8b9c6df9123e3e95">ECP_BN254CX_rawoutput</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#afa1f26fe829f6d73887f967b79f806fb">ECP_BN254CX_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a8fc5201ea3629ae5793e5e137c3ef377">ECP_BN254CX_fromOctet</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a55b4e870dcdda4ec5b34711120856a78">ECP_BN254CX_dbl</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#aa8b1a569b239d0f01ecd47f9ac093963">ECP_BN254CX_pinmul</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a977b0212e9d8f1233093f54db09937ee">ECP_BN254CX_mul</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a004f98fbbdb3e0d3ba5eab90cdf962da">ECP_BN254CX_mul2</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ae5b35e349db160ce1432edb043d692ef">ECP_BN254CX_generator</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BN254CX_8h_html_ad4410ede67c411e6993f127da7306e12"><div class="ttname"><a href="ecp__BN254CX_8h.html#ad4410ede67c411e6993f127da7306e12">CURVE_Pxbaa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_ab2b419c6c8756abf968b37c29b618d51"><div class="ttname"><a href="ecp__BN254CX_8h.html#ab2b419c6c8756abf968b37c29b618d51">ECP_BN254CX_add</a></div><div class="ttdeci">void ECP_BN254CX_add(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<a href="ecp__BN254CX_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 ECP_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BN254CX_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 &quot;<a class="code" href="fp__BN254CX_8h.html">fp_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#afac5736c431d7fe10767546c82144cab">CURVE_A_BN254CX</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a29a2dbf355978a79d9e713e546baadde">CURVE_Cof_I_BN254CX</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#ada76eb3346ca4c61d0f0a579ebc200c1">CURVE_B_I_BN254CX</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#acc1122309d3b865c8b2c583ef2bc8cf6">CURVE_B_BN254CX</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a24e56e7627aedba9f52dce21f1e46104">CURVE_Order_BN254CX</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a3bacf661cb5035efdbb89ec6d0681d61">CURVE_Cof_BN254CX</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a7cbfa3f292d2e2a7855b9b5193fad43f">CURVE_Gx_BN254CX</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#afd5a19ef23281b022305b38cfc575743">CURVE_Gy_BN254CX</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a5b91d313e6708f319d9ae1afdc808f17">CURVE_Pxa_BN254CX</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a8597fc07af6bff2c2e1c4c1df18c78d4">CURVE_Pxb_BN254CX</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a373e2c6b7a96714624d46dcba44d2175">CURVE_Pya_BN254CX</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a94d683888f5b67525ec1117f9e7896e7">CURVE_Pyb_BN254CX</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a488cc41a73b2a66ad304d29dc27df774">CURVE_Pxaa_BN254CX</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#af970395b76d7a939d7288687d6feb828">CURVE_Pxab_BN254CX</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a500e41fab0ddf25dc8bdeacef427e29e">CURVE_Pxba_BN254CX</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aefc421a85dd4a236321f9f12fc84a513">CURVE_Pxbb_BN254CX</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae0bf5cdf9d79ad1921ec1d667bf7c911">CURVE_Pyaa_BN254CX</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a9564fd4bf8e10c1faa8efc053a19a605">CURVE_Pyab_BN254CX</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aa71367822c77c761d4ee6b97a30b8018">CURVE_Pyba_BN254CX</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a81fc6f98c6375c0c84d595590f3d18da">CURVE_Pybb_BN254CX</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a86aadc78cdaf3dc427b3dfa78d5eebff">CURVE_Pxaaa_BN254CX</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a7d06882b853865469744f1c1248e815c">CURVE_Pxaab_BN254CX</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a6d88ea1b87bb088a3ca6b667e94dab7f">CURVE_Pxaba_BN254CX</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#adf0e6e0eb8fe4010b970538b03cf7546">CURVE_Pxabb_BN254CX</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ad4410ede67c411e6993f127da7306e12">CURVE_Pxbaa_BN254CX</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aae4d1c4650247358ad486af88bc8e393">CURVE_Pxbab_BN254CX</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a21d0c582569b5aa66760259995b59c7a">CURVE_Pxbba_BN254CX</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae1c63f902621d592f94324ac7be960f1">CURVE_Pxbbb_BN254CX</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ac82e4353943afe6bdbbf02c0803ecfdd">CURVE_Pyaaa_BN254CX</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aeabafb0b0b18be7e38ba667072dbeb69">CURVE_Pyaab_BN254CX</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a06a4021f5962165fd731b9e7c28f94b7">CURVE_Pyaba_BN254CX</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a4dd64a385256e0613697055621afb1f2">CURVE_Pyabb_BN254CX</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#abf9815b37fe14d893632a40a987df46d">CURVE_Pybaa_BN254CX</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a80e0bb17ddcc69465c0549d62fcbd543">CURVE_Pybab_BN254CX</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a52407f686bd76933e54cc1eabe38b994">CURVE_Pybba_BN254CX</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a1f7c051fb4c6226047fd43acf2c494c1">CURVE_Pybbb_BN254CX</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae96e4bddc2c2e24813b3a5f90cb4d80d">CURVE_Cru_BN254CX</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#aa9e422e0ac192a2dec3263d0e08d25a7">CURVE_W_BN254CX</a>[2];  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#ae7511c37ed68f07cfeb3709d28e139f0">CURVE_SB_BN254CX</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a424f1e4a7a66eea1edee443fc306f673">CURVE_WB_BN254CX</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254CX_8h.html#a0c995862d7d0aa82d7fa5a59605628db">CURVE_BB_BN254CX</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html#a8c168a2e9e551a77e7a138b4f2da9f07">  109</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structECP__BN254CX.html#a8c168a2e9e551a77e7a138b4f2da9f07">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254CX!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html#a477806d9e94aff9d204f9045b2912ffc">  111</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structECP__BN254CX.html#a477806d9e94aff9d204f9045b2912ffc">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BN254CX.html#a3a16cd6f248b7a5feb177ee8d8c4998e">  113</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structECP__BN254CX.html#a3a16cd6f248b7a5feb177ee8d8c4998e">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#addabc12d6b2aed7bd213b5939126d6a8">ECP_BN254CX_isinf</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#ae215b87b296736dbfb3f255452622631">ECP_BN254CX_equals</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ad69117cf9b674879650e169c59fc6cb4">ECP_BN254CX_copy</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</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="ecp__BN254CX_8h.html#aec377cb6729cf1440cb847fd48eb8415">ECP_BN254CX_neg</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</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="ecp__BN254CX_8h.html#a8446006bacab5961c1205c18f7ec0d99">ECP_BN254CX_inf</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a7c97b06352aa0d95c1d4b55b415420c5">ECP_BN254CX_rhs</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *r,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254CX==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a7ef536cace9cb03512739076d5978901">ECP_BN254CX_set</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a693c08c4397951961b8a20232aa9596d">ECP_BN254CX_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ab2b419c6c8756abf968b37c29b618d51">ECP_BN254CX_add</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a7ef536cace9cb03512739076d5978901">ECP_BN254CX_set</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a693c08c4397951961b8a20232aa9596d">ECP_BN254CX_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ab2b419c6c8756abf968b37c29b618d51">ECP_BN254CX_add</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</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="ecp__BN254CX_8h.html#a201b7f5aacd6adeee635554d24a9ebdd">ECP_BN254CX_sub</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a008a27421015811640993934560215b5">ECP_BN254CX_setx</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a1f00a049cb0806a052e1e4cbe9745922">ECP_BN254CX_cfp</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ad3731413906a2e23b1134632233b0a75">ECP_BN254CX_mapit</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a4f519dc57ceb6e8a44d14d2664810349">ECP_BN254CX_affine</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#accb52fb1beb1fb2a6c3e31581a3ad65c">ECP_BN254CX_outputxyz</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</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="ecp__BN254CX_8h.html#a9faa3ee620a3f14610cd2fbc4f24c2bd">ECP_BN254CX_output</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a54fffcc36ce6fe9f8b9c6df9123e3e95">ECP_BN254CX_rawoutput</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#afa1f26fe829f6d73887f967b79f806fb">ECP_BN254CX_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254CX_8h.html#a8fc5201ea3629ae5793e5e137c3ef377">ECP_BN254CX_fromOctet</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a55b4e870dcdda4ec5b34711120856a78">ECP_BN254CX_dbl</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#aa8b1a569b239d0f01ecd47f9ac093963">ECP_BN254CX_pinmul</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a977b0212e9d8f1233093f54db09937ee">ECP_BN254CX_mul</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#a004f98fbbdb3e0d3ba5eab90cdf962da">ECP_BN254CX_mul2</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254CX_8h.html#ae5b35e349db160ce1432edb043d692ef">ECP_BN254CX_generator</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BN254CX_8h_html_ad4410ede67c411e6993f127da7306e12"><div class="ttname"><a href="ecp__BN254CX_8h.html#ad4410ede67c411e6993f127da7306e12">CURVE_Pxbaa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_BN254CX</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_ab2b419c6c8756abf968b37c29b618d51"><div class="ttname"><a href="ecp__BN254CX_8h.html#ab2b419c6c8756abf968b37c29b618d51">ECP_BN254CX_add</a></div><div class="ttdeci">void ECP_BN254CX_add(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a424f1e4a7a66eea1edee443fc306f673"><div class="ttname"><a href="ecp__BN254CX_8h.html#a424f1e4a7a66eea1edee443fc306f673">CURVE_WB_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_BN254CX[4]</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_af970395b76d7a939d7288687d6feb828"><div class="ttname"><a href="ecp__BN254CX_8h.html#af970395b76d7a939d7288687d6feb828">CURVE_Pxab_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a008a27421015811640993934560215b5"><div class="ttname"><a href="ecp__BN254CX_8h.html#a008a27421015811640993934560215b5">ECP_BN254CX_setx</a></div><div class="ttdeci">int ECP_BN254CX_setx(ECP_BN254CX *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a008a27421015811640993934560215b5"><div class="ttname"><a href="ecp__BN254CX_8h.html#a008a27421015811640993934560215b5">ECP_BN254CX_setx</a></div><div class="ttdeci">int ECP_BN254CX_setx(ECP_BN254CX *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_ae1c63f902621d592f94324ac7be960f1"><div class="ttname"><a href="ecp__BN254CX_8h.html#ae1c63f902621d592f94324ac7be960f1">CURVE_Pxbbb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a7d06882b853865469744f1c1248e815c"><div class="ttname"><a href="ecp__BN254CX_8h.html#a7d06882b853865469744f1c1248e815c">CURVE_Pxaab_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a81fc6f98c6375c0c84d595590f3d18da"><div class="ttname"><a href="ecp__BN254CX_8h.html#a81fc6f98c6375c0c84d595590f3d18da">CURVE_Pybb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a3bacf661cb5035efdbb89ec6d0681d61"><div class="ttname"><a href="ecp__BN254CX_8h.html#a3bacf661cb5035efdbb89ec6d0681d61">CURVE_Cof_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_abf9815b37fe14d893632a40a987df46d"><div class="ttname"><a href="ecp__BN254CX_8h.html#abf9815b37fe14d893632a40a987df46d">CURVE_Pybaa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a94d683888f5b67525ec1117f9e7896e7"><div class="ttname"><a href="ecp__BN254CX_8h.html#a94d683888f5b67525ec1117f9e7896e7">CURVE_Pyb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a693c08c4397951961b8a20232aa9596d"><div class="ttname"><a href="ecp__BN254CX_8h.html#a693c08c4397951961b8a20232aa9596d">ECP_BN254CX_get</a></div><div class="ttdeci">int ECP_BN254CX_get(BIG_256_56 x, BIG_256_56 y, ECP_BN254CX *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a9faa3ee620a3f14610cd2fbc4f24c2bd"><div class="ttname"><a href="ecp__BN254CX_8h.html#a9faa3ee620a3f14610cd2fbc4f24c2bd">ECP_BN254CX_output</a></div><div class="ttdeci">void ECP_BN254CX_output(ECP_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:450</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a693c08c4397951961b8a20232aa9596d"><div class="ttname"><a href="ecp__BN254CX_8h.html#a693c08c4397951961b8a20232aa9596d">ECP_BN254CX_get</a></div><div class="ttdeci">int ECP_BN254CX_get(BIG_256_56 x, BIG_256_56 y, ECP_BN254CX *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a9faa3ee620a3f14610cd2fbc4f24c2bd"><div class="ttname"><a href="ecp__BN254CX_8h.html#a9faa3ee620a3f14610cd2fbc4f24c2bd">ECP_BN254CX_output</a></div><div class="ttdeci">void ECP_BN254CX_output(ECP_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:450</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_afd5a19ef23281b022305b38cfc575743"><div class="ttname"><a href="ecp__BN254CX_8h.html#afd5a19ef23281b022305b38cfc575743">CURVE_Gy_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a9564fd4bf8e10c1faa8efc053a19a605"><div class="ttname"><a href="ecp__BN254CX_8h.html#a9564fd4bf8e10c1faa8efc053a19a605">CURVE_Pyab_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a0c995862d7d0aa82d7fa5a59605628db"><div class="ttname"><a href="ecp__BN254CX_8h.html#a0c995862d7d0aa82d7fa5a59605628db">CURVE_BB_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_BN254CX[4][4]</div></div>
@@ -91,51 +94,51 @@
 <div class="ttc" id="ecp__BN254CX_8h_html_a17fa2a380fb640a2993fabf146be444b"><div class="ttname"><a href="ecp__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 Frb_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a6faf844be96d5ff48e3ae1d8b0c75830"><div class="ttname"><a href="ecp__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a></div><div class="ttdeci">const BIG_256_56 Fra_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a4dd64a385256e0613697055621afb1f2"><div class="ttname"><a href="ecp__BN254CX_8h.html#a4dd64a385256e0613697055621afb1f2">CURVE_Pyabb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_BN254CX</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="ecp__BN254CX_8h_html_a7deaf9d8c32aa462bc43f85a3a360c05"><div class="ttname"><a href="ecp__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_ada76eb3346ca4c61d0f0a579ebc200c1"><div class="ttname"><a href="ecp__BN254CX_8h.html#ada76eb3346ca4c61d0f0a579ebc200c1">CURVE_B_I_BN254CX</a></div><div class="ttdeci">const int CURVE_B_I_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_addabc12d6b2aed7bd213b5939126d6a8"><div class="ttname"><a href="ecp__BN254CX_8h.html#addabc12d6b2aed7bd213b5939126d6a8">ECP_BN254CX_isinf</a></div><div class="ttdeci">int ECP_BN254CX_isinf(ECP_BN254CX *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:28</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_addabc12d6b2aed7bd213b5939126d6a8"><div class="ttname"><a href="ecp__BN254CX_8h.html#addabc12d6b2aed7bd213b5939126d6a8">ECP_BN254CX_isinf</a></div><div class="ttdeci">int ECP_BN254CX_isinf(ECP_BN254CX *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:28</div></div>
 <div class="ttc" id="structECP__BN254CX_html_a8c168a2e9e551a77e7a138b4f2da9f07"><div class="ttname"><a href="structECP__BN254CX.html#a8c168a2e9e551a77e7a138b4f2da9f07">ECP_BN254CX::x</a></div><div class="ttdeci">FP_BN254CX x</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.h:109</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_afa1f26fe829f6d73887f967b79f806fb"><div class="ttname"><a href="ecp__BN254CX_8h.html#afa1f26fe829f6d73887f967b79f806fb">ECP_BN254CX_toOctet</a></div><div class="ttdeci">void ECP_BN254CX_toOctet(octet *S, ECP_BN254CX *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:507</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a5b91d313e6708f319d9ae1afdc808f17"><div class="ttname"><a href="ecp__BN254CX_8h.html#a5b91d313e6708f319d9ae1afdc808f17">CURVE_Pxa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a977b0212e9d8f1233093f54db09937ee"><div class="ttname"><a href="ecp__BN254CX_8h.html#a977b0212e9d8f1233093f54db09937ee">ECP_BN254CX_mul</a></div><div class="ttdeci">void ECP_BN254CX_mul(ECP_BN254CX *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:1021</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a7ef536cace9cb03512739076d5978901"><div class="ttname"><a href="ecp__BN254CX_8h.html#a7ef536cace9cb03512739076d5978901">ECP_BN254CX_set</a></div><div class="ttdeci">int ECP_BN254CX_set(ECP_BN254CX *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a977b0212e9d8f1233093f54db09937ee"><div class="ttname"><a href="ecp__BN254CX_8h.html#a977b0212e9d8f1233093f54db09937ee">ECP_BN254CX_mul</a></div><div class="ttdeci">void ECP_BN254CX_mul(ECP_BN254CX *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:1021</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a7ef536cace9cb03512739076d5978901"><div class="ttname"><a href="ecp__BN254CX_8h.html#a7ef536cace9cb03512739076d5978901">ECP_BN254CX_set</a></div><div class="ttdeci">int ECP_BN254CX_set(ECP_BN254CX *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_aa71367822c77c761d4ee6b97a30b8018"><div class="ttname"><a href="ecp__BN254CX_8h.html#aa71367822c77c761d4ee6b97a30b8018">CURVE_Pyba_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_aec377cb6729cf1440cb847fd48eb8415"><div class="ttname"><a href="ecp__BN254CX_8h.html#aec377cb6729cf1440cb847fd48eb8415">ECP_BN254CX_neg</a></div><div class="ttdeci">void ECP_BN254CX_neg(ECP_BN254CX *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_ad3731413906a2e23b1134632233b0a75"><div class="ttname"><a href="ecp__BN254CX_8h.html#ad3731413906a2e23b1134632233b0a75">ECP_BN254CX_mapit</a></div><div class="ttdeci">void ECP_BN254CX_mapit(ECP_BN254CX *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:365</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a7c97b06352aa0d95c1d4b55b415420c5"><div class="ttname"><a href="ecp__BN254CX_8h.html#a7c97b06352aa0d95c1d4b55b415420c5">ECP_BN254CX_rhs</a></div><div class="ttdeci">void ECP_BN254CX_rhs(FP_BN254CX *r, FP_BN254CX *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:161</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_ae5b35e349db160ce1432edb043d692ef"><div class="ttname"><a href="ecp__BN254CX_8h.html#ae5b35e349db160ce1432edb043d692ef">ECP_BN254CX_generator</a></div><div class="ttdeci">void ECP_BN254CX_generator(ECP_BN254CX *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:1221</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html"><div class="ttname"><a href="fp__BN254CX_8h.html">fp_BN254CX.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_aec377cb6729cf1440cb847fd48eb8415"><div class="ttname"><a href="ecp__BN254CX_8h.html#aec377cb6729cf1440cb847fd48eb8415">ECP_BN254CX_neg</a></div><div class="ttdeci">void ECP_BN254CX_neg(ECP_BN254CX *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_ad3731413906a2e23b1134632233b0a75"><div class="ttname"><a href="ecp__BN254CX_8h.html#ad3731413906a2e23b1134632233b0a75">ECP_BN254CX_mapit</a></div><div class="ttdeci">void ECP_BN254CX_mapit(ECP_BN254CX *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:365</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a7c97b06352aa0d95c1d4b55b415420c5"><div class="ttname"><a href="ecp__BN254CX_8h.html#a7c97b06352aa0d95c1d4b55b415420c5">ECP_BN254CX_rhs</a></div><div class="ttdeci">void ECP_BN254CX_rhs(FP_BN254CX *r, FP_BN254CX *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:161</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_ae5b35e349db160ce1432edb043d692ef"><div class="ttname"><a href="ecp__BN254CX_8h.html#ae5b35e349db160ce1432edb043d692ef">ECP_BN254CX_generator</a></div><div class="ttdeci">void ECP_BN254CX_generator(ECP_BN254CX *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:1221</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html"><div class="ttname"><a href="fp__BN254CX_8h.html">fp_BN254CX.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a7cbfa3f292d2e2a7855b9b5193fad43f"><div class="ttname"><a href="ecp__BN254CX_8h.html#a7cbfa3f292d2e2a7855b9b5193fad43f">CURVE_Gx_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_aa8b1a569b239d0f01ecd47f9ac093963"><div class="ttname"><a href="ecp__BN254CX_8h.html#aa8b1a569b239d0f01ecd47f9ac093963">ECP_BN254CX_pinmul</a></div><div class="ttdeci">void ECP_BN254CX_pinmul(ECP_BN254CX *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_aa8b1a569b239d0f01ecd47f9ac093963"><div class="ttname"><a href="ecp__BN254CX_8h.html#aa8b1a569b239d0f01ecd47f9ac093963">ECP_BN254CX_pinmul</a></div><div class="ttdeci">void ECP_BN254CX_pinmul(ECP_BN254CX *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_adf0e6e0eb8fe4010b970538b03cf7546"><div class="ttname"><a href="ecp__BN254CX_8h.html#adf0e6e0eb8fe4010b970538b03cf7546">CURVE_Pxabb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_afac5736c431d7fe10767546c82144cab"><div class="ttname"><a href="ecp__BN254CX_8h.html#afac5736c431d7fe10767546c82144cab">CURVE_A_BN254CX</a></div><div class="ttdeci">const int CURVE_A_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a8446006bacab5961c1205c18f7ec0d99"><div class="ttname"><a href="ecp__BN254CX_8h.html#a8446006bacab5961c1205c18f7ec0d99">ECP_BN254CX_inf</a></div><div class="ttdeci">void ECP_BN254CX_inf(ECP_BN254CX *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:146</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a8446006bacab5961c1205c18f7ec0d99"><div class="ttname"><a href="ecp__BN254CX_8h.html#a8446006bacab5961c1205c18f7ec0d99">ECP_BN254CX_inf</a></div><div class="ttdeci">void ECP_BN254CX_inf(ECP_BN254CX *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:146</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a29a2dbf355978a79d9e713e546baadde"><div class="ttname"><a href="ecp__BN254CX_8h.html#a29a2dbf355978a79d9e713e546baadde">CURVE_Cof_I_BN254CX</a></div><div class="ttdeci">const int CURVE_Cof_I_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a8597fc07af6bff2c2e1c4c1df18c78d4"><div class="ttname"><a href="ecp__BN254CX_8h.html#a8597fc07af6bff2c2e1c4c1df18c78d4">CURVE_Pxb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a201b7f5aacd6adeee635554d24a9ebdd"><div class="ttname"><a href="ecp__BN254CX_8h.html#a201b7f5aacd6adeee635554d24a9ebdd">ECP_BN254CX_sub</a></div><div class="ttdeci">void ECP_BN254CX_sub(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a201b7f5aacd6adeee635554d24a9ebdd"><div class="ttname"><a href="ecp__BN254CX_8h.html#a201b7f5aacd6adeee635554d24a9ebdd">ECP_BN254CX_sub</a></div><div class="ttdeci">void ECP_BN254CX_sub(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a06a4021f5962165fd731b9e7c28f94b7"><div class="ttname"><a href="ecp__BN254CX_8h.html#a06a4021f5962165fd731b9e7c28f94b7">CURVE_Pyaba_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a1f7c051fb4c6226047fd43acf2c494c1"><div class="ttname"><a href="ecp__BN254CX_8h.html#a1f7c051fb4c6226047fd43acf2c494c1">CURVE_Pybbb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_aefc421a85dd4a236321f9f12fc84a513"><div class="ttname"><a href="ecp__BN254CX_8h.html#aefc421a85dd4a236321f9f12fc84a513">CURVE_Pxbb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_aeabafb0b0b18be7e38ba667072dbeb69"><div class="ttname"><a href="ecp__BN254CX_8h.html#aeabafb0b0b18be7e38ba667072dbeb69">CURVE_Pyaab_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a4f519dc57ceb6e8a44d14d2664810349"><div class="ttname"><a href="ecp__BN254CX_8h.html#a4f519dc57ceb6e8a44d14d2664810349">ECP_BN254CX_affine</a></div><div class="ttdeci">void ECP_BN254CX_affine(ECP_BN254CX *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:392</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a4f519dc57ceb6e8a44d14d2664810349"><div class="ttname"><a href="ecp__BN254CX_8h.html#a4f519dc57ceb6e8a44d14d2664810349">ECP_BN254CX_affine</a></div><div class="ttdeci">void ECP_BN254CX_affine(ECP_BN254CX *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:392</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_acc1122309d3b865c8b2c583ef2bc8cf6"><div class="ttname"><a href="ecp__BN254CX_8h.html#acc1122309d3b865c8b2c583ef2bc8cf6">CURVE_B_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_BN254CX</div></div>
-<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_ae215b87b296736dbfb3f255452622631"><div class="ttname"><a href="ecp__BN254CX_8h.html#ae215b87b296736dbfb3f255452622631">ECP_BN254CX_equals</a></div><div class="ttdeci">int ECP_BN254CX_equals(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:100</div></div>
-<div class="ttc" id="structECP__BN254CX_html"><div class="ttname"><a href="structECP__BN254CX.html">ECP_BN254CX</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.h:105</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a55b4e870dcdda4ec5b34711120856a78"><div class="ttname"><a href="ecp__BN254CX_8h.html#a55b4e870dcdda4ec5b34711120856a78">ECP_BN254CX_dbl</a></div><div class="ttdeci">void ECP_BN254CX_dbl(ECP_BN254CX *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:564</div></div>
+<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_ae215b87b296736dbfb3f255452622631"><div class="ttname"><a href="ecp__BN254CX_8h.html#ae215b87b296736dbfb3f255452622631">ECP_BN254CX_equals</a></div><div class="ttdeci">int ECP_BN254CX_equals(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:100</div></div>
+<div class="ttc" id="structECP__BN254CX_html"><div class="ttname"><a href="structECP__BN254CX.html">ECP_BN254CX</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.h:105</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a55b4e870dcdda4ec5b34711120856a78"><div class="ttname"><a href="ecp__BN254CX_8h.html#a55b4e870dcdda4ec5b34711120856a78">ECP_BN254CX_dbl</a></div><div class="ttdeci">void ECP_BN254CX_dbl(ECP_BN254CX *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:564</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a373e2c6b7a96714624d46dcba44d2175"><div class="ttname"><a href="ecp__BN254CX_8h.html#a373e2c6b7a96714624d46dcba44d2175">CURVE_Pya_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_ae0bf5cdf9d79ad1921ec1d667bf7c911"><div class="ttname"><a href="ecp__BN254CX_8h.html#ae0bf5cdf9d79ad1921ec1d667bf7c911">CURVE_Pyaa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_BN254CX</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a500e41fab0ddf25dc8bdeacef427e29e"><div class="ttname"><a href="ecp__BN254CX_8h.html#a500e41fab0ddf25dc8bdeacef427e29e">CURVE_Pxba_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_accb52fb1beb1fb2a6c3e31581a3ad65c"><div class="ttname"><a href="ecp__BN254CX_8h.html#accb52fb1beb1fb2a6c3e31581a3ad65c">ECP_BN254CX_outputxyz</a></div><div class="ttdeci">void ECP_BN254CX_outputxyz(ECP_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:414</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_accb52fb1beb1fb2a6c3e31581a3ad65c"><div class="ttname"><a href="ecp__BN254CX_8h.html#accb52fb1beb1fb2a6c3e31581a3ad65c">ECP_BN254CX_outputxyz</a></div><div class="ttdeci">void ECP_BN254CX_outputxyz(ECP_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:414</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a488cc41a73b2a66ad304d29dc27df774"><div class="ttname"><a href="ecp__BN254CX_8h.html#a488cc41a73b2a66ad304d29dc27df774">CURVE_Pxaa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_BN254CX</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a6d88ea1b87bb088a3ca6b667e94dab7f"><div class="ttname"><a href="ecp__BN254CX_8h.html#a6d88ea1b87bb088a3ca6b667e94dab7f">CURVE_Pxaba_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_BN254CX</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a1f00a049cb0806a052e1e4cbe9745922"><div class="ttname"><a href="ecp__BN254CX_8h.html#a1f00a049cb0806a052e1e4cbe9745922">ECP_BN254CX_cfp</a></div><div class="ttdeci">void ECP_BN254CX_cfp(ECP_BN254CX *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:338</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a004f98fbbdb3e0d3ba5eab90cdf962da"><div class="ttname"><a href="ecp__BN254CX_8h.html#a004f98fbbdb3e0d3ba5eab90cdf962da">ECP_BN254CX_mul2</a></div><div class="ttdeci">void ECP_BN254CX_mul2(ECP_BN254CX *P, ECP_BN254CX *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a54fffcc36ce6fe9f8b9c6df9123e3e95"><div class="ttname"><a href="ecp__BN254CX_8h.html#a54fffcc36ce6fe9f8b9c6df9123e3e95">ECP_BN254CX_rawoutput</a></div><div class="ttdeci">void ECP_BN254CX_rawoutput(ECP_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:478</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_ad69117cf9b674879650e169c59fc6cb4"><div class="ttname"><a href="ecp__BN254CX_8h.html#ad69117cf9b674879650e169c59fc6cb4">ECP_BN254CX_copy</a></div><div class="ttdeci">void ECP_BN254CX_copy(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:120</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html_a8fc5201ea3629ae5793e5e137c3ef377"><div class="ttname"><a href="ecp__BN254CX_8h.html#a8fc5201ea3629ae5793e5e137c3ef377">ECP_BN254CX_fromOctet</a></div><div class="ttdeci">int ECP_BN254CX_fromOctet(ECP_BN254CX *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:537</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a1f00a049cb0806a052e1e4cbe9745922"><div class="ttname"><a href="ecp__BN254CX_8h.html#a1f00a049cb0806a052e1e4cbe9745922">ECP_BN254CX_cfp</a></div><div class="ttdeci">void ECP_BN254CX_cfp(ECP_BN254CX *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:338</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a004f98fbbdb3e0d3ba5eab90cdf962da"><div class="ttname"><a href="ecp__BN254CX_8h.html#a004f98fbbdb3e0d3ba5eab90cdf962da">ECP_BN254CX_mul2</a></div><div class="ttdeci">void ECP_BN254CX_mul2(ECP_BN254CX *P, ECP_BN254CX *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a54fffcc36ce6fe9f8b9c6df9123e3e95"><div class="ttname"><a href="ecp__BN254CX_8h.html#a54fffcc36ce6fe9f8b9c6df9123e3e95">ECP_BN254CX_rawoutput</a></div><div class="ttdeci">void ECP_BN254CX_rawoutput(ECP_BN254CX *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:478</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_ad69117cf9b674879650e169c59fc6cb4"><div class="ttname"><a href="ecp__BN254CX_8h.html#ad69117cf9b674879650e169c59fc6cb4">ECP_BN254CX_copy</a></div><div class="ttdeci">void ECP_BN254CX_copy(ECP_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:120</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html_a8fc5201ea3629ae5793e5e137c3ef377"><div class="ttname"><a href="ecp__BN254CX_8h.html#a8fc5201ea3629ae5793e5e137c3ef377">ECP_BN254CX_fromOctet</a></div><div class="ttdeci">int ECP_BN254CX_fromOctet(ECP_BN254CX *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.c:537</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_a80e0bb17ddcc69465c0549d62fcbd543"><div class="ttname"><a href="ecp__BN254CX_8h.html#a80e0bb17ddcc69465c0549d62fcbd543">CURVE_Pybab_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_BN254CX</div></div>
 <div class="ttc" id="structECP__BN254CX_html_a3a16cd6f248b7a5feb177ee8d8c4998e"><div class="ttname"><a href="structECP__BN254CX.html#a3a16cd6f248b7a5feb177ee8d8c4998e">ECP_BN254CX::z</a></div><div class="ttdeci">FP_BN254CX z</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.h:113</div></div>
 <div class="ttc" id="ecp__BN254CX_8h_html_ac82e4353943afe6bdbbf02c0803ecfdd"><div class="ttname"><a href="ecp__BN254CX_8h.html#ac82e4353943afe6bdbbf02c0803ecfdd">CURVE_Pyaaa_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_BN254CX</div></div>
@@ -150,7 +153,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/ecp__BN254_8h.html b/website/static/cdocs/ecp__BN254_8h.html
index e718937..6e9edec 100644
--- a/website/static/cdocs/ecp__BN254_8h.html
+++ b/website/static/cdocs/ecp__BN254_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: ecp_BN254.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"
@@ -1705,7 +1708,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/ecp__BN254_8h_source.html b/website/static/cdocs/ecp__BN254_8h_source.html
index 1623e86..303aba2 100644
--- a/website/static/cdocs/ecp__BN254_8h_source.html
+++ b/website/static/cdocs/ecp__BN254_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: ecp_BN254.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,40 +72,40 @@
 <div class="title">ecp_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BN254_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 ECP_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BN254_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 &quot;<a class="code" href="fp__BN254_8h.html">fp_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a17e7d485f5ec421e3f67ff3b94788479">CURVE_A_BN254</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a16f4e77ea1e8391eb2fa36aa67622105">CURVE_Cof_I_BN254</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#ae9fb62302ecdbc0e758515f5eb949ab4">CURVE_B_I_BN254</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a74273c1fde193ac042ae38d12554ea22">CURVE_B_BN254</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#abb2d701c7552c970f25f8047c105d25b">CURVE_Order_BN254</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ab4efa5228d54f90b5476fa92e1548538">CURVE_Cof_BN254</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a17a02d1c46592b601745f60eee50305f">CURVE_Gx_BN254</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a952fba8aa78ec6c68fbfa44ad59f330c">CURVE_Gy_BN254</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1c193b9c65acb159adea021f1bb59e1d">CURVE_Pxa_BN254</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a836b37b410224115373eef28412171d1">CURVE_Pxb_BN254</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a564168fc10e24cad9f57bab976a0e3d4">CURVE_Pya_BN254</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a09da60900ce4878f1ddbe298cc77042f">CURVE_Pyb_BN254</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a27ebc7774bb0393abbe2ac28bfd08472">CURVE_Pxaa_BN254</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a511c741aa07acf93417aeb7c422ba128">CURVE_Pxab_BN254</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ad15532a5bb76888b542840b95f6d0f19">CURVE_Pxba_BN254</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a6e8eacc61e8936753790d3e8ffe290bd">CURVE_Pxbb_BN254</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a87dd378d296db71b9def0dcfc8cca509">CURVE_Pyaa_BN254</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1e5dbcfc43239c0de36508e7ea4d891b">CURVE_Pyab_BN254</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1479684d1704fda240898017345ae37a">CURVE_Pyba_BN254</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aba154cee8c5056f04c29314d91576d46">CURVE_Pybb_BN254</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a0ce3199d2239dc896bb87ba7b8c73bb4">CURVE_Pxaaa_BN254</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aca0c38779eaeac7db3bdeed90851f38e">CURVE_Pxaab_BN254</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aec7b7e3462fe366437e5ea4825e0b52e">CURVE_Pxaba_BN254</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#af134a100ea1eb4b0c0ced2b2c1c75d60">CURVE_Pxabb_BN254</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#af2ca75fc070e5dd8a238e5567820a355">CURVE_Pxbaa_BN254</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aa2bc15c95eb78427c2beba539913f6b1">CURVE_Pxbab_BN254</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ad61f03a5caa8d3bb8401c28411330646">CURVE_Pxbba_BN254</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a28fcf7ed98465677a43c289ff4bbff22">CURVE_Pxbbb_BN254</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a5af004d40e00ed4e97a6dd850cd70792">CURVE_Pyaaa_BN254</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a3d6f7c6ba498d9b298fd9d88ae032fe9">CURVE_Pyaab_BN254</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a70c623a22a241a2a47737b04ac0d40fe">CURVE_Pyaba_BN254</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#abc5390e5ce77a38b8e4123fac2742b17">CURVE_Pyabb_BN254</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a47f822a2da6c0a4a554db84a22468691">CURVE_Pybaa_BN254</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ac5dc6faae22e054275050c713213f5ff">CURVE_Pybab_BN254</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ac75c4ff67537283cc716ad80084f1fe7">CURVE_Pybba_BN254</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ab6d13790b6cb54e4c6371b91752fa522">CURVE_Pybbb_BN254</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a5f4fe1daf3cec6d41d1bee51d058c6c4">CURVE_Cru_BN254</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1547abe4b2c6ee56abc8d94be440b25f">CURVE_W_BN254</a>[2];        </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aceeeb86f794c7df551b3faea905b10bf">CURVE_SB_BN254</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a74aa353773228d6a21bd2b76f52ae9ea">CURVE_WB_BN254</a>[4];       </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a4206cf145c73ad24598227e8b63515fd">CURVE_BB_BN254</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BN254.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BN254.html#a3a710d6e8df9214827ac426ce2fc86d9">  109</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structECP__BN254.html#a3a710d6e8df9214827ac426ce2fc86d9">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BN254.html#a0ef0e686389b04a7b1c3596721a84d17">  111</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structECP__BN254.html#a0ef0e686389b04a7b1c3596721a84d17">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BN254.html#a02886f291594c1bf931ecab041e12ee1">  113</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structECP__BN254.html#a02886f291594c1bf931ecab041e12ee1">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BN254.html">ECP_BN254</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a1c2ffb5ec3ba29edcfbcd08184491de0">ECP_BN254_isinf</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#aeee64f5bb0a2f40e5cb0f920802b90c0">ECP_BN254_equals</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a589a57d31790a2d5a0fdab849b9a5a6b">ECP_BN254_copy</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</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="ecp__BN254_8h.html#ade65e2d411f961ee840e2017bda94280">ECP_BN254_neg</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</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="ecp__BN254_8h.html#acf9be5105c5b2bceee0151d8991f0c9b">ECP_BN254_inf</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a8cf810733c325cce3746fe02ff2c5bcf">ECP_BN254_rhs</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *r,<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a688b004f4e3efe9ddf7ea7e509aff9f5">ECP_BN254_set</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#aab4af96e5e02181d90bdfa837fba679b">ECP_BN254_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a8d2a1331b662cae957b55aefb7e493c4">ECP_BN254_add</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a688b004f4e3efe9ddf7ea7e509aff9f5">ECP_BN254_set</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#aab4af96e5e02181d90bdfa837fba679b">ECP_BN254_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a8d2a1331b662cae957b55aefb7e493c4">ECP_BN254_add</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</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="ecp__BN254_8h.html#a3c42b3ed62fd840fbd457ddde3564ae0">ECP_BN254_sub</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#adfd80f0deb09d696d56337dff76fac45">ECP_BN254_setx</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#aeadb3a5f6bc7c11bd123966559c087c7">ECP_BN254_cfp</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#aaa3cc6864acea88e1123247cbf9289e9">ECP_BN254_mapit</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a97cfbf5a676c8680e5fed603611d1cab">ECP_BN254_affine</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#af55fcfcdfdf1db5f80e2628893f72cfb">ECP_BN254_outputxyz</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</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="ecp__BN254_8h.html#abbc2a33c71dcd6edf9f689c4580d0898">ECP_BN254_output</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a6d1444e40c90d26518aca4fa469999c0">ECP_BN254_rawoutput</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a20b5c705daa84366807fd176da630fcf">ECP_BN254_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a40e1616c4ff03850264c90156cc2422c">ECP_BN254_fromOctet</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a741c62043d5f3fddb29ed87268eedbdd">ECP_BN254_dbl</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a88bb0348d1d07241225340474f3a9465">ECP_BN254_pinmul</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#ac9bf2f0af022b15f1668cba9502b41d7">ECP_BN254_mul</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#aec966e8ea1ff8f93718b361216838862">ECP_BN254_mul2</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a201fe6f1f01dbc9406fbc93b074327a1">ECP_BN254_generator</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP__BN254_html"><div class="ttname"><a href="structECP__BN254.html">ECP_BN254</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.h:105</div></div>
+<a href="ecp__BN254_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 ECP_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BN254_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 &quot;<a class="code" href="fp__BN254_8h.html">fp_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a17e7d485f5ec421e3f67ff3b94788479">CURVE_A_BN254</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a16f4e77ea1e8391eb2fa36aa67622105">CURVE_Cof_I_BN254</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#ae9fb62302ecdbc0e758515f5eb949ab4">CURVE_B_I_BN254</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a74273c1fde193ac042ae38d12554ea22">CURVE_B_BN254</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#abb2d701c7552c970f25f8047c105d25b">CURVE_Order_BN254</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ab4efa5228d54f90b5476fa92e1548538">CURVE_Cof_BN254</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a17a02d1c46592b601745f60eee50305f">CURVE_Gx_BN254</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a952fba8aa78ec6c68fbfa44ad59f330c">CURVE_Gy_BN254</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1c193b9c65acb159adea021f1bb59e1d">CURVE_Pxa_BN254</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a836b37b410224115373eef28412171d1">CURVE_Pxb_BN254</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a564168fc10e24cad9f57bab976a0e3d4">CURVE_Pya_BN254</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a09da60900ce4878f1ddbe298cc77042f">CURVE_Pyb_BN254</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a27ebc7774bb0393abbe2ac28bfd08472">CURVE_Pxaa_BN254</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a511c741aa07acf93417aeb7c422ba128">CURVE_Pxab_BN254</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ad15532a5bb76888b542840b95f6d0f19">CURVE_Pxba_BN254</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a6e8eacc61e8936753790d3e8ffe290bd">CURVE_Pxbb_BN254</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a87dd378d296db71b9def0dcfc8cca509">CURVE_Pyaa_BN254</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1e5dbcfc43239c0de36508e7ea4d891b">CURVE_Pyab_BN254</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1479684d1704fda240898017345ae37a">CURVE_Pyba_BN254</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aba154cee8c5056f04c29314d91576d46">CURVE_Pybb_BN254</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a0ce3199d2239dc896bb87ba7b8c73bb4">CURVE_Pxaaa_BN254</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aca0c38779eaeac7db3bdeed90851f38e">CURVE_Pxaab_BN254</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aec7b7e3462fe366437e5ea4825e0b52e">CURVE_Pxaba_BN254</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#af134a100ea1eb4b0c0ced2b2c1c75d60">CURVE_Pxabb_BN254</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#af2ca75fc070e5dd8a238e5567820a355">CURVE_Pxbaa_BN254</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aa2bc15c95eb78427c2beba539913f6b1">CURVE_Pxbab_BN254</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ad61f03a5caa8d3bb8401c28411330646">CURVE_Pxbba_BN254</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a28fcf7ed98465677a43c289ff4bbff22">CURVE_Pxbbb_BN254</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a5af004d40e00ed4e97a6dd850cd70792">CURVE_Pyaaa_BN254</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a3d6f7c6ba498d9b298fd9d88ae032fe9">CURVE_Pyaab_BN254</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a70c623a22a241a2a47737b04ac0d40fe">CURVE_Pyaba_BN254</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#abc5390e5ce77a38b8e4123fac2742b17">CURVE_Pyabb_BN254</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a47f822a2da6c0a4a554db84a22468691">CURVE_Pybaa_BN254</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ac5dc6faae22e054275050c713213f5ff">CURVE_Pybab_BN254</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ac75c4ff67537283cc716ad80084f1fe7">CURVE_Pybba_BN254</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#ab6d13790b6cb54e4c6371b91752fa522">CURVE_Pybbb_BN254</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a5f4fe1daf3cec6d41d1bee51d058c6c4">CURVE_Cru_BN254</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a1547abe4b2c6ee56abc8d94be440b25f">CURVE_W_BN254</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#aceeeb86f794c7df551b3faea905b10bf">CURVE_SB_BN254</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a74aa353773228d6a21bd2b76f52ae9ea">CURVE_WB_BN254</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BN254_8h.html#a4206cf145c73ad24598227e8b63515fd">CURVE_BB_BN254</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BN254.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BN254.html#a3a710d6e8df9214827ac426ce2fc86d9">  109</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structECP__BN254.html#a3a710d6e8df9214827ac426ce2fc86d9">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BN254.html#a0ef0e686389b04a7b1c3596721a84d17">  111</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structECP__BN254.html#a0ef0e686389b04a7b1c3596721a84d17">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BN254.html#a02886f291594c1bf931ecab041e12ee1">  113</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structECP__BN254.html#a02886f291594c1bf931ecab041e12ee1">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BN254.html">ECP_BN254</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a1c2ffb5ec3ba29edcfbcd08184491de0">ECP_BN254_isinf</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#aeee64f5bb0a2f40e5cb0f920802b90c0">ECP_BN254_equals</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a589a57d31790a2d5a0fdab849b9a5a6b">ECP_BN254_copy</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</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="ecp__BN254_8h.html#ade65e2d411f961ee840e2017bda94280">ECP_BN254_neg</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</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="ecp__BN254_8h.html#acf9be5105c5b2bceee0151d8991f0c9b">ECP_BN254_inf</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a8cf810733c325cce3746fe02ff2c5bcf">ECP_BN254_rhs</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *r,<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BN254==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a688b004f4e3efe9ddf7ea7e509aff9f5">ECP_BN254_set</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#aab4af96e5e02181d90bdfa837fba679b">ECP_BN254_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a8d2a1331b662cae957b55aefb7e493c4">ECP_BN254_add</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a688b004f4e3efe9ddf7ea7e509aff9f5">ECP_BN254_set</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#aab4af96e5e02181d90bdfa837fba679b">ECP_BN254_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a8d2a1331b662cae957b55aefb7e493c4">ECP_BN254_add</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</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="ecp__BN254_8h.html#a3c42b3ed62fd840fbd457ddde3564ae0">ECP_BN254_sub</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#adfd80f0deb09d696d56337dff76fac45">ECP_BN254_setx</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#aeadb3a5f6bc7c11bd123966559c087c7">ECP_BN254_cfp</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#aaa3cc6864acea88e1123247cbf9289e9">ECP_BN254_mapit</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a97cfbf5a676c8680e5fed603611d1cab">ECP_BN254_affine</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#af55fcfcdfdf1db5f80e2628893f72cfb">ECP_BN254_outputxyz</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</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="ecp__BN254_8h.html#abbc2a33c71dcd6edf9f689c4580d0898">ECP_BN254_output</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a6d1444e40c90d26518aca4fa469999c0">ECP_BN254_rawoutput</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a20b5c705daa84366807fd176da630fcf">ECP_BN254_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BN254_8h.html#a40e1616c4ff03850264c90156cc2422c">ECP_BN254_fromOctet</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a741c62043d5f3fddb29ed87268eedbdd">ECP_BN254_dbl</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a88bb0348d1d07241225340474f3a9465">ECP_BN254_pinmul</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#ac9bf2f0af022b15f1668cba9502b41d7">ECP_BN254_mul</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#aec966e8ea1ff8f93718b361216838862">ECP_BN254_mul2</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BN254_8h.html#a201fe6f1f01dbc9406fbc93b074327a1">ECP_BN254_generator</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP__BN254_html"><div class="ttname"><a href="structECP__BN254.html">ECP_BN254</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.h:105</div></div>
 <div class="ttc" id="structECP__BN254_html_a3a710d6e8df9214827ac426ce2fc86d9"><div class="ttname"><a href="structECP__BN254.html#a3a710d6e8df9214827ac426ce2fc86d9">ECP_BN254::x</a></div><div class="ttdeci">FP_BN254 x</div><div class="ttdef"><b>Definition:</b> ecp_BN254.h:109</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a27ebc7774bb0393abbe2ac28bfd08472"><div class="ttname"><a href="ecp__BN254_8h.html#a27ebc7774bb0393abbe2ac28bfd08472">CURVE_Pxaa_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_aab4af96e5e02181d90bdfa837fba679b"><div class="ttname"><a href="ecp__BN254_8h.html#aab4af96e5e02181d90bdfa837fba679b">ECP_BN254_get</a></div><div class="ttdeci">int ECP_BN254_get(BIG_256_56 x, BIG_256_56 y, ECP_BN254 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_aab4af96e5e02181d90bdfa837fba679b"><div class="ttname"><a href="ecp__BN254_8h.html#aab4af96e5e02181d90bdfa837fba679b">ECP_BN254_get</a></div><div class="ttdeci">int ECP_BN254_get(BIG_256_56 x, BIG_256_56 y, ECP_BN254 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a6e8eacc61e8936753790d3e8ffe290bd"><div class="ttname"><a href="ecp__BN254_8h.html#a6e8eacc61e8936753790d3e8ffe290bd">CURVE_Pxbb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_aca0c38779eaeac7db3bdeed90851f38e"><div class="ttname"><a href="ecp__BN254_8h.html#aca0c38779eaeac7db3bdeed90851f38e">CURVE_Pxaab_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a16f4e77ea1e8391eb2fa36aa67622105"><div class="ttname"><a href="ecp__BN254_8h.html#a16f4e77ea1e8391eb2fa36aa67622105">CURVE_Cof_I_BN254</a></div><div class="ttdeci">const int CURVE_Cof_I_BN254</div></div>
 <div class="ttc" id="structECP__BN254_html_a0ef0e686389b04a7b1c3596721a84d17"><div class="ttname"><a href="structECP__BN254.html#a0ef0e686389b04a7b1c3596721a84d17">ECP_BN254::y</a></div><div class="ttdeci">FP_BN254 y</div><div class="ttdef"><b>Definition:</b> ecp_BN254.h:111</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a6d1444e40c90d26518aca4fa469999c0"><div class="ttname"><a href="ecp__BN254_8h.html#a6d1444e40c90d26518aca4fa469999c0">ECP_BN254_rawoutput</a></div><div class="ttdeci">void ECP_BN254_rawoutput(ECP_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:478</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a6d1444e40c90d26518aca4fa469999c0"><div class="ttname"><a href="ecp__BN254_8h.html#a6d1444e40c90d26518aca4fa469999c0">ECP_BN254_rawoutput</a></div><div class="ttdeci">void ECP_BN254_rawoutput(ECP_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:478</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_ad15532a5bb76888b542840b95f6d0f19"><div class="ttname"><a href="ecp__BN254_8h.html#ad15532a5bb76888b542840b95f6d0f19">CURVE_Pxba_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a5f4fe1daf3cec6d41d1bee51d058c6c4"><div class="ttname"><a href="ecp__BN254_8h.html#a5f4fe1daf3cec6d41d1bee51d058c6c4">CURVE_Cru_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a891b9fda048e66408bd6d66bf41d67ea"><div class="ttname"><a href="ecp__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a511c741aa07acf93417aeb7c422ba128"><div class="ttname"><a href="ecp__BN254_8h.html#a511c741aa07acf93417aeb7c422ba128">CURVE_Pxab_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a3c42b3ed62fd840fbd457ddde3564ae0"><div class="ttname"><a href="ecp__BN254_8h.html#a3c42b3ed62fd840fbd457ddde3564ae0">ECP_BN254_sub</a></div><div class="ttdeci">void ECP_BN254_sub(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a201fe6f1f01dbc9406fbc93b074327a1"><div class="ttname"><a href="ecp__BN254_8h.html#a201fe6f1f01dbc9406fbc93b074327a1">ECP_BN254_generator</a></div><div class="ttdeci">void ECP_BN254_generator(ECP_BN254 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:1221</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a3c42b3ed62fd840fbd457ddde3564ae0"><div class="ttname"><a href="ecp__BN254_8h.html#a3c42b3ed62fd840fbd457ddde3564ae0">ECP_BN254_sub</a></div><div class="ttdeci">void ECP_BN254_sub(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a201fe6f1f01dbc9406fbc93b074327a1"><div class="ttname"><a href="ecp__BN254_8h.html#a201fe6f1f01dbc9406fbc93b074327a1">ECP_BN254_generator</a></div><div class="ttdeci">void ECP_BN254_generator(ECP_BN254 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:1221</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_aceeeb86f794c7df551b3faea905b10bf"><div class="ttname"><a href="ecp__BN254_8h.html#aceeeb86f794c7df551b3faea905b10bf">CURVE_SB_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_BN254[2][2]</div></div>
-<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_ade65e2d411f961ee840e2017bda94280"><div class="ttname"><a href="ecp__BN254_8h.html#ade65e2d411f961ee840e2017bda94280">ECP_BN254_neg</a></div><div class="ttdeci">void ECP_BN254_neg(ECP_BN254 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_ade65e2d411f961ee840e2017bda94280"><div class="ttname"><a href="ecp__BN254_8h.html#ade65e2d411f961ee840e2017bda94280">ECP_BN254_neg</a></div><div class="ttdeci">void ECP_BN254_neg(ECP_BN254 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a1e5dbcfc43239c0de36508e7ea4d891b"><div class="ttname"><a href="ecp__BN254_8h.html#a1e5dbcfc43239c0de36508e7ea4d891b">CURVE_Pyab_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_abf41342afa7230d0288d37a140d4ee9d"><div class="ttname"><a href="ecp__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a></div><div class="ttdeci">const BIG_256_56 Fra_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_abb2d701c7552c970f25f8047c105d25b"><div class="ttname"><a href="ecp__BN254_8h.html#abb2d701c7552c970f25f8047c105d25b">CURVE_Order_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a70c623a22a241a2a47737b04ac0d40fe"><div class="ttname"><a href="ecp__BN254_8h.html#a70c623a22a241a2a47737b04ac0d40fe">CURVE_Pyaba_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a1479684d1704fda240898017345ae37a"><div class="ttname"><a href="ecp__BN254_8h.html#a1479684d1704fda240898017345ae37a">CURVE_Pyba_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_BN254</div></div>
-<div class="ttc" id="fp__BN254_8h_html"><div class="ttname"><a href="fp__BN254_8h.html">fp_BN254.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_aeadb3a5f6bc7c11bd123966559c087c7"><div class="ttname"><a href="ecp__BN254_8h.html#aeadb3a5f6bc7c11bd123966559c087c7">ECP_BN254_cfp</a></div><div class="ttdeci">void ECP_BN254_cfp(ECP_BN254 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:338</div></div>
+<div class="ttc" id="fp__BN254_8h_html"><div class="ttname"><a href="fp__BN254_8h.html">fp_BN254.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="ecp__BN254_8h_html_aeadb3a5f6bc7c11bd123966559c087c7"><div class="ttname"><a href="ecp__BN254_8h.html#aeadb3a5f6bc7c11bd123966559c087c7">ECP_BN254_cfp</a></div><div class="ttdeci">void ECP_BN254_cfp(ECP_BN254 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:338</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a47f822a2da6c0a4a554db84a22468691"><div class="ttname"><a href="ecp__BN254_8h.html#a47f822a2da6c0a4a554db84a22468691">CURVE_Pybaa_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_BN254</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="ecp__BN254_8h_html_a836b37b410224115373eef28412171d1"><div class="ttname"><a href="ecp__BN254_8h.html#a836b37b410224115373eef28412171d1">CURVE_Pxb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_ac5dc6faae22e054275050c713213f5ff"><div class="ttname"><a href="ecp__BN254_8h.html#ac5dc6faae22e054275050c713213f5ff">CURVE_Pybab_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a1c2ffb5ec3ba29edcfbcd08184491de0"><div class="ttname"><a href="ecp__BN254_8h.html#a1c2ffb5ec3ba29edcfbcd08184491de0">ECP_BN254_isinf</a></div><div class="ttdeci">int ECP_BN254_isinf(ECP_BN254 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:28</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a1c2ffb5ec3ba29edcfbcd08184491de0"><div class="ttname"><a href="ecp__BN254_8h.html#a1c2ffb5ec3ba29edcfbcd08184491de0">ECP_BN254_isinf</a></div><div class="ttdeci">int ECP_BN254_isinf(ECP_BN254 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:28</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_aec7b7e3462fe366437e5ea4825e0b52e"><div class="ttname"><a href="ecp__BN254_8h.html#aec7b7e3462fe366437e5ea4825e0b52e">CURVE_Pxaba_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_aaa3cc6864acea88e1123247cbf9289e9"><div class="ttname"><a href="ecp__BN254_8h.html#aaa3cc6864acea88e1123247cbf9289e9">ECP_BN254_mapit</a></div><div class="ttdeci">void ECP_BN254_mapit(ECP_BN254 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:365</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_aaa3cc6864acea88e1123247cbf9289e9"><div class="ttname"><a href="ecp__BN254_8h.html#aaa3cc6864acea88e1123247cbf9289e9">ECP_BN254_mapit</a></div><div class="ttdeci">void ECP_BN254_mapit(ECP_BN254 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:365</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a09da60900ce4878f1ddbe298cc77042f"><div class="ttname"><a href="ecp__BN254_8h.html#a09da60900ce4878f1ddbe298cc77042f">CURVE_Pyb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a8d2a1331b662cae957b55aefb7e493c4"><div class="ttname"><a href="ecp__BN254_8h.html#a8d2a1331b662cae957b55aefb7e493c4">ECP_BN254_add</a></div><div class="ttdeci">void ECP_BN254_add(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a8d2a1331b662cae957b55aefb7e493c4"><div class="ttname"><a href="ecp__BN254_8h.html#a8d2a1331b662cae957b55aefb7e493c4">ECP_BN254_add</a></div><div class="ttdeci">void ECP_BN254_add(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="structECP__BN254_html_a02886f291594c1bf931ecab041e12ee1"><div class="ttname"><a href="structECP__BN254.html#a02886f291594c1bf931ecab041e12ee1">ECP_BN254::z</a></div><div class="ttdeci">FP_BN254 z</div><div class="ttdef"><b>Definition:</b> ecp_BN254.h:113</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a74aa353773228d6a21bd2b76f52ae9ea"><div class="ttname"><a href="ecp__BN254_8h.html#a74aa353773228d6a21bd2b76f52ae9ea">CURVE_WB_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_BN254[4]</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a952fba8aa78ec6c68fbfa44ad59f330c"><div class="ttname"><a href="ecp__BN254_8h.html#a952fba8aa78ec6c68fbfa44ad59f330c">CURVE_Gy_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_BN254</div></div>
@@ -120,37 +123,37 @@
 <div class="ttc" id="ecp__BN254_8h_html_a85fadba81a01e0c26213ed65cbbe7471"><div class="ttname"><a href="ecp__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a></div><div class="ttdeci">const BIG_256_56 Frb_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a20b5c705daa84366807fd176da630fcf"><div class="ttname"><a href="ecp__BN254_8h.html#a20b5c705daa84366807fd176da630fcf">ECP_BN254_toOctet</a></div><div class="ttdeci">void ECP_BN254_toOctet(octet *S, ECP_BN254 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:507</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_abc5390e5ce77a38b8e4123fac2742b17"><div class="ttname"><a href="ecp__BN254_8h.html#abc5390e5ce77a38b8e4123fac2742b17">CURVE_Pyabb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a88bb0348d1d07241225340474f3a9465"><div class="ttname"><a href="ecp__BN254_8h.html#a88bb0348d1d07241225340474f3a9465">ECP_BN254_pinmul</a></div><div class="ttdeci">void ECP_BN254_pinmul(ECP_BN254 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_aec966e8ea1ff8f93718b361216838862"><div class="ttname"><a href="ecp__BN254_8h.html#aec966e8ea1ff8f93718b361216838862">ECP_BN254_mul2</a></div><div class="ttdeci">void ECP_BN254_mul2(ECP_BN254 *P, ECP_BN254 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a8cf810733c325cce3746fe02ff2c5bcf"><div class="ttname"><a href="ecp__BN254_8h.html#a8cf810733c325cce3746fe02ff2c5bcf">ECP_BN254_rhs</a></div><div class="ttdeci">void ECP_BN254_rhs(FP_BN254 *r, FP_BN254 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:161</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a88bb0348d1d07241225340474f3a9465"><div class="ttname"><a href="ecp__BN254_8h.html#a88bb0348d1d07241225340474f3a9465">ECP_BN254_pinmul</a></div><div class="ttdeci">void ECP_BN254_pinmul(ECP_BN254 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__BN254_8h_html_aec966e8ea1ff8f93718b361216838862"><div class="ttname"><a href="ecp__BN254_8h.html#aec966e8ea1ff8f93718b361216838862">ECP_BN254_mul2</a></div><div class="ttdeci">void ECP_BN254_mul2(ECP_BN254 *P, ECP_BN254 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a8cf810733c325cce3746fe02ff2c5bcf"><div class="ttname"><a href="ecp__BN254_8h.html#a8cf810733c325cce3746fe02ff2c5bcf">ECP_BN254_rhs</a></div><div class="ttdeci">void ECP_BN254_rhs(FP_BN254 *r, FP_BN254 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:161</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a5af004d40e00ed4e97a6dd850cd70792"><div class="ttname"><a href="ecp__BN254_8h.html#a5af004d40e00ed4e97a6dd850cd70792">CURVE_Pyaaa_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a1547abe4b2c6ee56abc8d94be440b25f"><div class="ttname"><a href="ecp__BN254_8h.html#a1547abe4b2c6ee56abc8d94be440b25f">CURVE_W_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_BN254[2]</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_ac75c4ff67537283cc716ad80084f1fe7"><div class="ttname"><a href="ecp__BN254_8h.html#ac75c4ff67537283cc716ad80084f1fe7">CURVE_Pybba_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_abbc2a33c71dcd6edf9f689c4580d0898"><div class="ttname"><a href="ecp__BN254_8h.html#abbc2a33c71dcd6edf9f689c4580d0898">ECP_BN254_output</a></div><div class="ttdeci">void ECP_BN254_output(ECP_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:450</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a741c62043d5f3fddb29ed87268eedbdd"><div class="ttname"><a href="ecp__BN254_8h.html#a741c62043d5f3fddb29ed87268eedbdd">ECP_BN254_dbl</a></div><div class="ttdeci">void ECP_BN254_dbl(ECP_BN254 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:564</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_adfd80f0deb09d696d56337dff76fac45"><div class="ttname"><a href="ecp__BN254_8h.html#adfd80f0deb09d696d56337dff76fac45">ECP_BN254_setx</a></div><div class="ttdeci">int ECP_BN254_setx(ECP_BN254 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_af55fcfcdfdf1db5f80e2628893f72cfb"><div class="ttname"><a href="ecp__BN254_8h.html#af55fcfcdfdf1db5f80e2628893f72cfb">ECP_BN254_outputxyz</a></div><div class="ttdeci">void ECP_BN254_outputxyz(ECP_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:414</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_abbc2a33c71dcd6edf9f689c4580d0898"><div class="ttname"><a href="ecp__BN254_8h.html#abbc2a33c71dcd6edf9f689c4580d0898">ECP_BN254_output</a></div><div class="ttdeci">void ECP_BN254_output(ECP_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:450</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a741c62043d5f3fddb29ed87268eedbdd"><div class="ttname"><a href="ecp__BN254_8h.html#a741c62043d5f3fddb29ed87268eedbdd">ECP_BN254_dbl</a></div><div class="ttdeci">void ECP_BN254_dbl(ECP_BN254 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:564</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_adfd80f0deb09d696d56337dff76fac45"><div class="ttname"><a href="ecp__BN254_8h.html#adfd80f0deb09d696d56337dff76fac45">ECP_BN254_setx</a></div><div class="ttdeci">int ECP_BN254_setx(ECP_BN254 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__BN254_8h_html_af55fcfcdfdf1db5f80e2628893f72cfb"><div class="ttname"><a href="ecp__BN254_8h.html#af55fcfcdfdf1db5f80e2628893f72cfb">ECP_BN254_outputxyz</a></div><div class="ttdeci">void ECP_BN254_outputxyz(ECP_BN254 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:414</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a17e7d485f5ec421e3f67ff3b94788479"><div class="ttname"><a href="ecp__BN254_8h.html#a17e7d485f5ec421e3f67ff3b94788479">CURVE_A_BN254</a></div><div class="ttdeci">const int CURVE_A_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a28fcf7ed98465677a43c289ff4bbff22"><div class="ttname"><a href="ecp__BN254_8h.html#a28fcf7ed98465677a43c289ff4bbff22">CURVE_Pxbbb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_aba154cee8c5056f04c29314d91576d46"><div class="ttname"><a href="ecp__BN254_8h.html#aba154cee8c5056f04c29314d91576d46">CURVE_Pybb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_BN254</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_ab4efa5228d54f90b5476fa92e1548538"><div class="ttname"><a href="ecp__BN254_8h.html#ab4efa5228d54f90b5476fa92e1548538">CURVE_Cof_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_acf9be5105c5b2bceee0151d8991f0c9b"><div class="ttname"><a href="ecp__BN254_8h.html#acf9be5105c5b2bceee0151d8991f0c9b">ECP_BN254_inf</a></div><div class="ttdeci">void ECP_BN254_inf(ECP_BN254 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:146</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_acf9be5105c5b2bceee0151d8991f0c9b"><div class="ttname"><a href="ecp__BN254_8h.html#acf9be5105c5b2bceee0151d8991f0c9b">ECP_BN254_inf</a></div><div class="ttdeci">void ECP_BN254_inf(ECP_BN254 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:146</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a97cfbf5a676c8680e5fed603611d1cab"><div class="ttname"><a href="ecp__BN254_8h.html#a97cfbf5a676c8680e5fed603611d1cab">ECP_BN254_affine</a></div><div class="ttdeci">void ECP_BN254_affine(ECP_BN254 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:392</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a97cfbf5a676c8680e5fed603611d1cab"><div class="ttname"><a href="ecp__BN254_8h.html#a97cfbf5a676c8680e5fed603611d1cab">ECP_BN254_affine</a></div><div class="ttdeci">void ECP_BN254_affine(ECP_BN254 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:392</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a564168fc10e24cad9f57bab976a0e3d4"><div class="ttname"><a href="ecp__BN254_8h.html#a564168fc10e24cad9f57bab976a0e3d4">CURVE_Pya_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a40e1616c4ff03850264c90156cc2422c"><div class="ttname"><a href="ecp__BN254_8h.html#a40e1616c4ff03850264c90156cc2422c">ECP_BN254_fromOctet</a></div><div class="ttdeci">int ECP_BN254_fromOctet(ECP_BN254 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:537</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a40e1616c4ff03850264c90156cc2422c"><div class="ttname"><a href="ecp__BN254_8h.html#a40e1616c4ff03850264c90156cc2422c">ECP_BN254_fromOctet</a></div><div class="ttdeci">int ECP_BN254_fromOctet(ECP_BN254 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:537</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_a4206cf145c73ad24598227e8b63515fd"><div class="ttname"><a href="ecp__BN254_8h.html#a4206cf145c73ad24598227e8b63515fd">CURVE_BB_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_BN254[4][4]</div></div>
 <div class="ttc" id="ecp__BN254_8h_html_af134a100ea1eb4b0c0ced2b2c1c75d60"><div class="ttname"><a href="ecp__BN254_8h.html#af134a100ea1eb4b0c0ced2b2c1c75d60">CURVE_Pxabb_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_BN254</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_aeee64f5bb0a2f40e5cb0f920802b90c0"><div class="ttname"><a href="ecp__BN254_8h.html#aeee64f5bb0a2f40e5cb0f920802b90c0">ECP_BN254_equals</a></div><div class="ttdeci">int ECP_BN254_equals(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:100</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a589a57d31790a2d5a0fdab849b9a5a6b"><div class="ttname"><a href="ecp__BN254_8h.html#a589a57d31790a2d5a0fdab849b9a5a6b">ECP_BN254_copy</a></div><div class="ttdeci">void ECP_BN254_copy(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:120</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_ac9bf2f0af022b15f1668cba9502b41d7"><div class="ttname"><a href="ecp__BN254_8h.html#ac9bf2f0af022b15f1668cba9502b41d7">ECP_BN254_mul</a></div><div class="ttdeci">void ECP_BN254_mul(ECP_BN254 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:1021</div></div>
-<div class="ttc" id="ecp__BN254_8h_html_a688b004f4e3efe9ddf7ea7e509aff9f5"><div class="ttname"><a href="ecp__BN254_8h.html#a688b004f4e3efe9ddf7ea7e509aff9f5">ECP_BN254_set</a></div><div class="ttdeci">int ECP_BN254_set(ECP_BN254 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_aeee64f5bb0a2f40e5cb0f920802b90c0"><div class="ttname"><a href="ecp__BN254_8h.html#aeee64f5bb0a2f40e5cb0f920802b90c0">ECP_BN254_equals</a></div><div class="ttdeci">int ECP_BN254_equals(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:100</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a589a57d31790a2d5a0fdab849b9a5a6b"><div class="ttname"><a href="ecp__BN254_8h.html#a589a57d31790a2d5a0fdab849b9a5a6b">ECP_BN254_copy</a></div><div class="ttdeci">void ECP_BN254_copy(ECP_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:120</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_ac9bf2f0af022b15f1668cba9502b41d7"><div class="ttname"><a href="ecp__BN254_8h.html#ac9bf2f0af022b15f1668cba9502b41d7">ECP_BN254_mul</a></div><div class="ttdeci">void ECP_BN254_mul(ECP_BN254 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.c:1021</div></div>
+<div class="ttc" id="ecp__BN254_8h_html_a688b004f4e3efe9ddf7ea7e509aff9f5"><div class="ttname"><a href="ecp__BN254_8h.html#a688b004f4e3efe9ddf7ea7e509aff9f5">ECP_BN254_set</a></div><div class="ttdeci">int ECP_BN254_set(ECP_BN254 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </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/ecp__BRAINPOOL_8h.html b/website/static/cdocs/ecp__BRAINPOOL_8h.html
index f8dd227..b04d5c6 100644
--- a/website/static/cdocs/ecp__BRAINPOOL_8h.html
+++ b/website/static/cdocs/ecp__BRAINPOOL_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: ecp_BRAINPOOL.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"
@@ -1705,7 +1708,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/ecp__BRAINPOOL_8h_source.html b/website/static/cdocs/ecp__BRAINPOOL_8h_source.html
index 4058248..03e3b80 100644
--- a/website/static/cdocs/ecp__BRAINPOOL_8h_source.html
+++ b/website/static/cdocs/ecp__BRAINPOOL_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: ecp_BRAINPOOL.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,28 +72,28 @@
 <div class="title">ecp_BRAINPOOL.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__BRAINPOOL_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 ECP_BRAINPOOL_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BRAINPOOL_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 &quot;<a class="code" href="fp__BRAINPOOL_8h.html">fp_BRAINPOOL.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BRAINPOOL.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a8eeeea67fd204a77a536fcc3c852f740">CURVE_A_BRAINPOOL</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a6ec5e608f30eac4fd12ba4ba99b96183">CURVE_Cof_I_BRAINPOOL</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a40620acc1649d891fcb3b966150b77fa">CURVE_B_I_BRAINPOOL</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a62136a247dc847a268adc48e468f2ee9">CURVE_B_BRAINPOOL</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a77cee4acf2a494b1d9bec9f49d2d1a96">CURVE_Order_BRAINPOOL</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a94e3648e6c0b87f4e6038ebba72f7eb9">CURVE_Cof_BRAINPOOL</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#af3d9c8d060215fdde6c704e53d1f040e">CURVE_Gx_BRAINPOOL</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ab62c608bb324aadd367a3a65f0abb01d">CURVE_Gy_BRAINPOOL</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a188d5d2ec4631f237daa0b0e745c1fe6">CURVE_Pxa_BRAINPOOL</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a5ecc584b67d9f9ab8544dac0262736ea">CURVE_Pxb_BRAINPOOL</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ac5b2cb74820b3051b949c4f6917f960e">CURVE_Pya_BRAINPOOL</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aeccb9e7f3dc271566a3adde262d12ad7">CURVE_Pyb_BRAINPOOL</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aafe9d53a77475138a6c63cf6ee5fa47e">CURVE_Pxaa_BRAINPOOL</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a687ad0f90c0f890136e2261f3d9b08a4">CURVE_Pxab_BRAINPOOL</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a77b9411c50e6029e5a85e74d6a8e8a9f">CURVE_Pxba_BRAINPOOL</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a9c0f2dcb033e0c11d63e9efe5ec4840a">CURVE_Pxbb_BRAINPOOL</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a29de2b9d5226746b31f1b1b10573aee9">CURVE_Pyaa_BRAINPOOL</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#abe2741d6f91510fd3fed9e97bb44132b">CURVE_Pyab_BRAINPOOL</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#add3e248e3bd278c0bffdd2c5cc1f01f3">CURVE_Pyba_BRAINPOOL</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#af9c5888f6ff7ee5189115a93468095ce">CURVE_Pybb_BRAINPOOL</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ae8bea96a8dc09b37b20d96e8cd8a4ad8">CURVE_Pxaaa_BRAINPOOL</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a20c9063230058a93a767991fc52d8ef9">CURVE_Pxaab_BRAINPOOL</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a34f2760e81f30c2b876912af24ff95e6">CURVE_Pxaba_BRAINPOOL</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a89b40eb19e2ba049a28813278d40fea3">CURVE_Pxabb_BRAINPOOL</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a3356869c4464e0ab7dcd36c832385fd0">CURVE_Pxbaa_BRAINPOOL</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a0581a604982b1f484f5e079566f059c1">CURVE_Pxbab_BRAINPOOL</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ac50b019958c3e047dc815b4051f6f8e7">CURVE_Pxbba_BRAINPOOL</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ac7125851377f6ecd06cf7607da3fd625">CURVE_Pxbbb_BRAINPOOL</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a110d5e58e23b14b3db8d1150a2bcc673">CURVE_Pyaaa_BRAINPOOL</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ad709d8e749103c82d99c42c2c4b2843d">CURVE_Pyaab_BRAINPOOL</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a564c1b932aafd0b00b1722c650cae977">CURVE_Pyaba_BRAINPOOL</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a14bda95a511baee547aaa0a0e656cd59">CURVE_Pyabb_BRAINPOOL</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aec1d1a43b7f0eab3a515fd393fab9f58">CURVE_Pybaa_BRAINPOOL</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a961a20596b6814b6da43d96f361a23f8">CURVE_Pybab_BRAINPOOL</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a04b7ca35b662a31dbeb21bc59a3d1dc2">CURVE_Pybba_BRAINPOOL</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a64536b7a1bc4aa611fe6a9c6b777b7d0">CURVE_Pybbb_BRAINPOOL</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a54f31aa9e3c29fc4a888374a0df98fa7">CURVE_Bnx_BRAINPOOL</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a71b290867d71dad799a57f4b6b1b1d92">CURVE_Cru_BRAINPOOL</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#afb0d0a6c3a508093a2d0ca0a129a3553">Fra_BRAINPOOL</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a440cd5847de3d327667e27a9d5e65f5d">Frb_BRAINPOOL</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a72b8dd706cc7fb3944bb8dfcd60ff0bc">CURVE_W_BRAINPOOL</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a739b67176d2d8b5d94588edd24e71684">CURVE_SB_BRAINPOOL</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a3f3ed935e5f18ae68c54882be68a543b">CURVE_WB_BRAINPOOL</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aff7e0f5869cdc2237658d9302d47feca">CURVE_BB_BRAINPOOL</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html#a794453bb7ac144c451a9746f9a55aec6">  109</a></span>&#160;    <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> <a class="code" href="structECP__BRAINPOOL.html#a794453bb7ac144c451a9746f9a55aec6">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BRAINPOOL!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html#a910d4a13a583fb884912ed6404758e7a">  111</a></span>&#160;    <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> <a class="code" href="structECP__BRAINPOOL.html#a910d4a13a583fb884912ed6404758e7a">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html#a78f1c51622fbe527966b27020f73ca76">  113</a></span>&#160;    <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> <a class="code" href="structECP__BRAINPOOL.html#a78f1c51622fbe527966b27020f73ca76">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a13075a4db413e9536b97d9307fd9c416">ECP_BRAINPOOL_isinf</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a1c194e9bd36a8c113cda6bf62e789759">ECP_BRAINPOOL_equals</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a55bf763cd66f450afafa188aace73911">ECP_BRAINPOOL_copy</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</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="ecp__BRAINPOOL_8h.html#a9d8bd942a011da203c65e59ebe602fcf">ECP_BRAINPOOL_neg</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</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="ecp__BRAINPOOL_8h.html#a030bd33b8388a3244c401d5161f486c4">ECP_BRAINPOOL_inf</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a2a1a66d59b337197df8c3e19ee50350d">ECP_BRAINPOOL_rhs</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *r,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BRAINPOOL==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a78a708d424f7c45064eb1bf2c5d360e8">ECP_BRAINPOOL_set</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf587358f6ceb0e3723773c366a1dfbd">ECP_BRAINPOOL_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf7a80faf48e96396f5965e0d3cd1941">ECP_BRAINPOOL_add</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a78a708d424f7c45064eb1bf2c5d360e8">ECP_BRAINPOOL_set</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf587358f6ceb0e3723773c366a1dfbd">ECP_BRAINPOOL_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf7a80faf48e96396f5965e0d3cd1941">ECP_BRAINPOOL_add</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</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="ecp__BRAINPOOL_8h.html#a5f8336f5215097cdec9aad29ea67cc82">ECP_BRAINPOOL_sub</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#ab2784875c877b3da25ff775d4b96444f">ECP_BRAINPOOL_setx</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#ae78c8afaee2936abfe691b4cdfb8da2b">ECP_BRAINPOOL_cfp</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf807f33aa825266a4192b9ad6f5343c">ECP_BRAINPOOL_mapit</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a6715492ef78100576c2af6b74137a591">ECP_BRAINPOOL_affine</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#ac8f3b6f83939774f8f3566bc9cfffe17">ECP_BRAINPOOL_outputxyz</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</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="ecp__BRAINPOOL_8h.html#aa78d4e8b3a60db742114b528efade82b">ECP_BRAINPOOL_output</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a2203ba59522044559432d02718e083d5">ECP_BRAINPOOL_rawoutput</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a2fe926e1dd76483752fa1592e66996d9">ECP_BRAINPOOL_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a885b6a2ad52fcd178e6b6886a112c8a9">ECP_BRAINPOOL_fromOctet</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a3478f00ec0c0a4085c60e635298d2a40">ECP_BRAINPOOL_dbl</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a26e90a7611f9ddc58b7cca0516ab1321">ECP_BRAINPOOL_pinmul</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a3e6ff24d4ddaf6c2166dfb8628b015ac">ECP_BRAINPOOL_mul</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a6793dc6d9f458ad4f53ea8ae80ec018c">ECP_BRAINPOOL_mul2</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a0b2f5a9f328b0fc57dc77991693a619a">ECP_BRAINPOOL_generator</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BRAINPOOL_8h_html_ad709d8e749103c82d99c42c2c4b2843d"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ad709d8e749103c82d99c42c2c4b2843d">CURVE_Pyaab_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_BRAINPOOL</div></div>
+<a href="ecp__BRAINPOOL_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 ECP_BRAINPOOL_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_BRAINPOOL_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 &quot;<a class="code" href="fp__BRAINPOOL_8h.html">fp_BRAINPOOL.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BRAINPOOL.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a8eeeea67fd204a77a536fcc3c852f740">CURVE_A_BRAINPOOL</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a6ec5e608f30eac4fd12ba4ba99b96183">CURVE_Cof_I_BRAINPOOL</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a40620acc1649d891fcb3b966150b77fa">CURVE_B_I_BRAINPOOL</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a62136a247dc847a268adc48e468f2ee9">CURVE_B_BRAINPOOL</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a77cee4acf2a494b1d9bec9f49d2d1a96">CURVE_Order_BRAINPOOL</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a94e3648e6c0b87f4e6038ebba72f7eb9">CURVE_Cof_BRAINPOOL</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#af3d9c8d060215fdde6c704e53d1f040e">CURVE_Gx_BRAINPOOL</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ab62c608bb324aadd367a3a65f0abb01d">CURVE_Gy_BRAINPOOL</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a188d5d2ec4631f237daa0b0e745c1fe6">CURVE_Pxa_BRAINPOOL</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a5ecc584b67d9f9ab8544dac0262736ea">CURVE_Pxb_BRAINPOOL</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ac5b2cb74820b3051b949c4f6917f960e">CURVE_Pya_BRAINPOOL</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aeccb9e7f3dc271566a3adde262d12ad7">CURVE_Pyb_BRAINPOOL</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aafe9d53a77475138a6c63cf6ee5fa47e">CURVE_Pxaa_BRAINPOOL</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a687ad0f90c0f890136e2261f3d9b08a4">CURVE_Pxab_BRAINPOOL</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a77b9411c50e6029e5a85e74d6a8e8a9f">CURVE_Pxba_BRAINPOOL</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a9c0f2dcb033e0c11d63e9efe5ec4840a">CURVE_Pxbb_BRAINPOOL</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a29de2b9d5226746b31f1b1b10573aee9">CURVE_Pyaa_BRAINPOOL</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#abe2741d6f91510fd3fed9e97bb44132b">CURVE_Pyab_BRAINPOOL</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#add3e248e3bd278c0bffdd2c5cc1f01f3">CURVE_Pyba_BRAINPOOL</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#af9c5888f6ff7ee5189115a93468095ce">CURVE_Pybb_BRAINPOOL</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ae8bea96a8dc09b37b20d96e8cd8a4ad8">CURVE_Pxaaa_BRAINPOOL</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a20c9063230058a93a767991fc52d8ef9">CURVE_Pxaab_BRAINPOOL</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a34f2760e81f30c2b876912af24ff95e6">CURVE_Pxaba_BRAINPOOL</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a89b40eb19e2ba049a28813278d40fea3">CURVE_Pxabb_BRAINPOOL</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a3356869c4464e0ab7dcd36c832385fd0">CURVE_Pxbaa_BRAINPOOL</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a0581a604982b1f484f5e079566f059c1">CURVE_Pxbab_BRAINPOOL</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ac50b019958c3e047dc815b4051f6f8e7">CURVE_Pxbba_BRAINPOOL</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ac7125851377f6ecd06cf7607da3fd625">CURVE_Pxbbb_BRAINPOOL</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a110d5e58e23b14b3db8d1150a2bcc673">CURVE_Pyaaa_BRAINPOOL</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#ad709d8e749103c82d99c42c2c4b2843d">CURVE_Pyaab_BRAINPOOL</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a564c1b932aafd0b00b1722c650cae977">CURVE_Pyaba_BRAINPOOL</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a14bda95a511baee547aaa0a0e656cd59">CURVE_Pyabb_BRAINPOOL</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aec1d1a43b7f0eab3a515fd393fab9f58">CURVE_Pybaa_BRAINPOOL</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a961a20596b6814b6da43d96f361a23f8">CURVE_Pybab_BRAINPOOL</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a04b7ca35b662a31dbeb21bc59a3d1dc2">CURVE_Pybba_BRAINPOOL</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a64536b7a1bc4aa611fe6a9c6b777b7d0">CURVE_Pybbb_BRAINPOOL</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a54f31aa9e3c29fc4a888374a0df98fa7">CURVE_Bnx_BRAINPOOL</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a71b290867d71dad799a57f4b6b1b1d92">CURVE_Cru_BRAINPOOL</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#afb0d0a6c3a508093a2d0ca0a129a3553">Fra_BRAINPOOL</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a440cd5847de3d327667e27a9d5e65f5d">Frb_BRAINPOOL</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a72b8dd706cc7fb3944bb8dfcd60ff0bc">CURVE_W_BRAINPOOL</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a739b67176d2d8b5d94588edd24e71684">CURVE_SB_BRAINPOOL</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#a3f3ed935e5f18ae68c54882be68a543b">CURVE_WB_BRAINPOOL</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__BRAINPOOL_8h.html#aff7e0f5869cdc2237658d9302d47feca">CURVE_BB_BRAINPOOL</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html#a794453bb7ac144c451a9746f9a55aec6">  109</a></span>&#160;    <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> <a class="code" href="structECP__BRAINPOOL.html#a794453bb7ac144c451a9746f9a55aec6">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_BRAINPOOL!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html#a910d4a13a583fb884912ed6404758e7a">  111</a></span>&#160;    <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> <a class="code" href="structECP__BRAINPOOL.html#a910d4a13a583fb884912ed6404758e7a">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__BRAINPOOL.html#a78f1c51622fbe527966b27020f73ca76">  113</a></span>&#160;    <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> <a class="code" href="structECP__BRAINPOOL.html#a78f1c51622fbe527966b27020f73ca76">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a13075a4db413e9536b97d9307fd9c416">ECP_BRAINPOOL_isinf</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a1c194e9bd36a8c113cda6bf62e789759">ECP_BRAINPOOL_equals</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a55bf763cd66f450afafa188aace73911">ECP_BRAINPOOL_copy</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</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="ecp__BRAINPOOL_8h.html#a9d8bd942a011da203c65e59ebe602fcf">ECP_BRAINPOOL_neg</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</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="ecp__BRAINPOOL_8h.html#a030bd33b8388a3244c401d5161f486c4">ECP_BRAINPOOL_inf</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a2a1a66d59b337197df8c3e19ee50350d">ECP_BRAINPOOL_rhs</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *r,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_BRAINPOOL==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a78a708d424f7c45064eb1bf2c5d360e8">ECP_BRAINPOOL_set</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf587358f6ceb0e3723773c366a1dfbd">ECP_BRAINPOOL_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf7a80faf48e96396f5965e0d3cd1941">ECP_BRAINPOOL_add</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a78a708d424f7c45064eb1bf2c5d360e8">ECP_BRAINPOOL_set</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf587358f6ceb0e3723773c366a1dfbd">ECP_BRAINPOOL_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf7a80faf48e96396f5965e0d3cd1941">ECP_BRAINPOOL_add</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</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="ecp__BRAINPOOL_8h.html#a5f8336f5215097cdec9aad29ea67cc82">ECP_BRAINPOOL_sub</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#ab2784875c877b3da25ff775d4b96444f">ECP_BRAINPOOL_setx</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#ae78c8afaee2936abfe691b4cdfb8da2b">ECP_BRAINPOOL_cfp</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#aaf807f33aa825266a4192b9ad6f5343c">ECP_BRAINPOOL_mapit</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a6715492ef78100576c2af6b74137a591">ECP_BRAINPOOL_affine</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#ac8f3b6f83939774f8f3566bc9cfffe17">ECP_BRAINPOOL_outputxyz</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</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="ecp__BRAINPOOL_8h.html#aa78d4e8b3a60db742114b528efade82b">ECP_BRAINPOOL_output</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a2203ba59522044559432d02718e083d5">ECP_BRAINPOOL_rawoutput</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a2fe926e1dd76483752fa1592e66996d9">ECP_BRAINPOOL_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a885b6a2ad52fcd178e6b6886a112c8a9">ECP_BRAINPOOL_fromOctet</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a3478f00ec0c0a4085c60e635298d2a40">ECP_BRAINPOOL_dbl</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a26e90a7611f9ddc58b7cca0516ab1321">ECP_BRAINPOOL_pinmul</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a3e6ff24d4ddaf6c2166dfb8628b015ac">ECP_BRAINPOOL_mul</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a6793dc6d9f458ad4f53ea8ae80ec018c">ECP_BRAINPOOL_mul2</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *P,<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__BRAINPOOL_8h.html#a0b2f5a9f328b0fc57dc77991693a619a">ECP_BRAINPOOL_generator</a>(<a class="code" href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BRAINPOOL_8h_html_ad709d8e749103c82d99c42c2c4b2843d"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ad709d8e749103c82d99c42c2c4b2843d">CURVE_Pyaab_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_BRAINPOOL</div></div>
 <div class="ttc" id="structECP__BRAINPOOL_html_a794453bb7ac144c451a9746f9a55aec6"><div class="ttname"><a href="structECP__BRAINPOOL.html#a794453bb7ac144c451a9746f9a55aec6">ECP_BRAINPOOL::x</a></div><div class="ttdeci">FP_BRAINPOOL x</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.h:109</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a3e6ff24d4ddaf6c2166dfb8628b015ac"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a3e6ff24d4ddaf6c2166dfb8628b015ac">ECP_BRAINPOOL_mul</a></div><div class="ttdeci">void ECP_BRAINPOOL_mul(ECP_BRAINPOOL *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:1021</div></div>
-<div class="ttc" id="structFP__BRAINPOOL_html"><div class="ttname"><a href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.h:38</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a3e6ff24d4ddaf6c2166dfb8628b015ac"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a3e6ff24d4ddaf6c2166dfb8628b015ac">ECP_BRAINPOOL_mul</a></div><div class="ttdeci">void ECP_BRAINPOOL_mul(ECP_BRAINPOOL *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:1021</div></div>
+<div class="ttc" id="structFP__BRAINPOOL_html"><div class="ttname"><a href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.h:38</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a440cd5847de3d327667e27a9d5e65f5d"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a440cd5847de3d327667e27a9d5e65f5d">Frb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 Frb_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_afb0d0a6c3a508093a2d0ca0a129a3553"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#afb0d0a6c3a508093a2d0ca0a129a3553">Fra_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 Fra_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a0b2f5a9f328b0fc57dc77991693a619a"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a0b2f5a9f328b0fc57dc77991693a619a">ECP_BRAINPOOL_generator</a></div><div class="ttdeci">void ECP_BRAINPOOL_generator(ECP_BRAINPOOL *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:1221</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a0b2f5a9f328b0fc57dc77991693a619a"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a0b2f5a9f328b0fc57dc77991693a619a">ECP_BRAINPOOL_generator</a></div><div class="ttdeci">void ECP_BRAINPOOL_generator(ECP_BRAINPOOL *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:1221</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a564c1b932aafd0b00b1722c650cae977"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a564c1b932aafd0b00b1722c650cae977">CURVE_Pyaba_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a3478f00ec0c0a4085c60e635298d2a40"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a3478f00ec0c0a4085c60e635298d2a40">ECP_BRAINPOOL_dbl</a></div><div class="ttdeci">void ECP_BRAINPOOL_dbl(ECP_BRAINPOOL *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:564</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a3478f00ec0c0a4085c60e635298d2a40"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a3478f00ec0c0a4085c60e635298d2a40">ECP_BRAINPOOL_dbl</a></div><div class="ttdeci">void ECP_BRAINPOOL_dbl(ECP_BRAINPOOL *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:564</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a54f31aa9e3c29fc4a888374a0df98fa7"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a54f31aa9e3c29fc4a888374a0df98fa7">CURVE_Bnx_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a40620acc1649d891fcb3b966150b77fa"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a40620acc1649d891fcb3b966150b77fa">CURVE_B_I_BRAINPOOL</a></div><div class="ttdeci">const int CURVE_B_I_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a13075a4db413e9536b97d9307fd9c416"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a13075a4db413e9536b97d9307fd9c416">ECP_BRAINPOOL_isinf</a></div><div class="ttdeci">int ECP_BRAINPOOL_isinf(ECP_BRAINPOOL *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:28</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a13075a4db413e9536b97d9307fd9c416"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a13075a4db413e9536b97d9307fd9c416">ECP_BRAINPOOL_isinf</a></div><div class="ttdeci">int ECP_BRAINPOOL_isinf(ECP_BRAINPOOL *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:28</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a20c9063230058a93a767991fc52d8ef9"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a20c9063230058a93a767991fc52d8ef9">CURVE_Pxaab_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a6793dc6d9f458ad4f53ea8ae80ec018c"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a6793dc6d9f458ad4f53ea8ae80ec018c">ECP_BRAINPOOL_mul2</a></div><div class="ttdeci">void ECP_BRAINPOOL_mul2(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</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="ecp__BRAINPOOL_8h_html_a6793dc6d9f458ad4f53ea8ae80ec018c"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a6793dc6d9f458ad4f53ea8ae80ec018c">ECP_BRAINPOOL_mul2</a></div><div class="ttdeci">void ECP_BRAINPOOL_mul2(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </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="ecp__BRAINPOOL_8h_html_a34f2760e81f30c2b876912af24ff95e6"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a34f2760e81f30c2b876912af24ff95e6">CURVE_Pxaba_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a030bd33b8388a3244c401d5161f486c4"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a030bd33b8388a3244c401d5161f486c4">ECP_BRAINPOOL_inf</a></div><div class="ttdeci">void ECP_BRAINPOOL_inf(ECP_BRAINPOOL *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:146</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_aaf7a80faf48e96396f5965e0d3cd1941"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aaf7a80faf48e96396f5965e0d3cd1941">ECP_BRAINPOOL_add</a></div><div class="ttdeci">void ECP_BRAINPOOL_add(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a030bd33b8388a3244c401d5161f486c4"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a030bd33b8388a3244c401d5161f486c4">ECP_BRAINPOOL_inf</a></div><div class="ttdeci">void ECP_BRAINPOOL_inf(ECP_BRAINPOOL *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:146</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_aaf7a80faf48e96396f5965e0d3cd1941"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aaf7a80faf48e96396f5965e0d3cd1941">ECP_BRAINPOOL_add</a></div><div class="ttdeci">void ECP_BRAINPOOL_add(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a71b290867d71dad799a57f4b6b1b1d92"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a71b290867d71dad799a57f4b6b1b1d92">CURVE_Cru_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_ac5b2cb74820b3051b949c4f6917f960e"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ac5b2cb74820b3051b949c4f6917f960e">CURVE_Pya_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a9c0f2dcb033e0c11d63e9efe5ec4840a"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a9c0f2dcb033e0c11d63e9efe5ec4840a">CURVE_Pxbb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_ab2784875c877b3da25ff775d4b96444f"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ab2784875c877b3da25ff775d4b96444f">ECP_BRAINPOOL_setx</a></div><div class="ttdeci">int ECP_BRAINPOOL_setx(ECP_BRAINPOOL *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_ab2784875c877b3da25ff775d4b96444f"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ab2784875c877b3da25ff775d4b96444f">ECP_BRAINPOOL_setx</a></div><div class="ttdeci">int ECP_BRAINPOOL_setx(ECP_BRAINPOOL *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_add3e248e3bd278c0bffdd2c5cc1f01f3"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#add3e248e3bd278c0bffdd2c5cc1f01f3">CURVE_Pyba_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_ab62c608bb324aadd367a3a65f0abb01d"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ab62c608bb324aadd367a3a65f0abb01d">CURVE_Gy_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a94e3648e6c0b87f4e6038ebba72f7eb9"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a94e3648e6c0b87f4e6038ebba72f7eb9">CURVE_Cof_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_BRAINPOOL</div></div>
@@ -98,59 +101,59 @@
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a8eeeea67fd204a77a536fcc3c852f740"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a8eeeea67fd204a77a536fcc3c852f740">CURVE_A_BRAINPOOL</a></div><div class="ttdeci">const int CURVE_A_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a687ad0f90c0f890136e2261f3d9b08a4"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a687ad0f90c0f890136e2261f3d9b08a4">CURVE_Pxab_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a188d5d2ec4631f237daa0b0e745c1fe6"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a188d5d2ec4631f237daa0b0e745c1fe6">CURVE_Pxa_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_aa78d4e8b3a60db742114b528efade82b"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aa78d4e8b3a60db742114b528efade82b">ECP_BRAINPOOL_output</a></div><div class="ttdeci">void ECP_BRAINPOOL_output(ECP_BRAINPOOL *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:450</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a1c194e9bd36a8c113cda6bf62e789759"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a1c194e9bd36a8c113cda6bf62e789759">ECP_BRAINPOOL_equals</a></div><div class="ttdeci">int ECP_BRAINPOOL_equals(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:100</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_aa78d4e8b3a60db742114b528efade82b"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aa78d4e8b3a60db742114b528efade82b">ECP_BRAINPOOL_output</a></div><div class="ttdeci">void ECP_BRAINPOOL_output(ECP_BRAINPOOL *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:450</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a1c194e9bd36a8c113cda6bf62e789759"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a1c194e9bd36a8c113cda6bf62e789759">ECP_BRAINPOOL_equals</a></div><div class="ttdeci">int ECP_BRAINPOOL_equals(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:100</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a739b67176d2d8b5d94588edd24e71684"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a739b67176d2d8b5d94588edd24e71684">CURVE_SB_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_BRAINPOOL[2][2]</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a885b6a2ad52fcd178e6b6886a112c8a9"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a885b6a2ad52fcd178e6b6886a112c8a9">ECP_BRAINPOOL_fromOctet</a></div><div class="ttdeci">int ECP_BRAINPOOL_fromOctet(ECP_BRAINPOOL *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:537</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a885b6a2ad52fcd178e6b6886a112c8a9"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a885b6a2ad52fcd178e6b6886a112c8a9">ECP_BRAINPOOL_fromOctet</a></div><div class="ttdeci">int ECP_BRAINPOOL_fromOctet(ECP_BRAINPOOL *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:537</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_ae8bea96a8dc09b37b20d96e8cd8a4ad8"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ae8bea96a8dc09b37b20d96e8cd8a4ad8">CURVE_Pxaaa_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a55bf763cd66f450afafa188aace73911"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a55bf763cd66f450afafa188aace73911">ECP_BRAINPOOL_copy</a></div><div class="ttdeci">void ECP_BRAINPOOL_copy(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:120</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a55bf763cd66f450afafa188aace73911"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a55bf763cd66f450afafa188aace73911">ECP_BRAINPOOL_copy</a></div><div class="ttdeci">void ECP_BRAINPOOL_copy(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:120</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_af9c5888f6ff7ee5189115a93468095ce"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#af9c5888f6ff7ee5189115a93468095ce">CURVE_Pybb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a2a1a66d59b337197df8c3e19ee50350d"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a2a1a66d59b337197df8c3e19ee50350d">ECP_BRAINPOOL_rhs</a></div><div class="ttdeci">void ECP_BRAINPOOL_rhs(FP_BRAINPOOL *r, FP_BRAINPOOL *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:161</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a9d8bd942a011da203c65e59ebe602fcf"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a9d8bd942a011da203c65e59ebe602fcf">ECP_BRAINPOOL_neg</a></div><div class="ttdeci">void ECP_BRAINPOOL_neg(ECP_BRAINPOOL *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a2a1a66d59b337197df8c3e19ee50350d"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a2a1a66d59b337197df8c3e19ee50350d">ECP_BRAINPOOL_rhs</a></div><div class="ttdeci">void ECP_BRAINPOOL_rhs(FP_BRAINPOOL *r, FP_BRAINPOOL *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:161</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a9d8bd942a011da203c65e59ebe602fcf"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a9d8bd942a011da203c65e59ebe602fcf">ECP_BRAINPOOL_neg</a></div><div class="ttdeci">void ECP_BRAINPOOL_neg(ECP_BRAINPOOL *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_aeccb9e7f3dc271566a3adde262d12ad7"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aeccb9e7f3dc271566a3adde262d12ad7">CURVE_Pyb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a3f3ed935e5f18ae68c54882be68a543b"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a3f3ed935e5f18ae68c54882be68a543b">CURVE_WB_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_BRAINPOOL[4]</div></div>
 <div class="ttc" id="structECP__BRAINPOOL_html_a910d4a13a583fb884912ed6404758e7a"><div class="ttname"><a href="structECP__BRAINPOOL.html#a910d4a13a583fb884912ed6404758e7a">ECP_BRAINPOOL::y</a></div><div class="ttdeci">FP_BRAINPOOL y</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.h:111</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_aaf807f33aa825266a4192b9ad6f5343c"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aaf807f33aa825266a4192b9ad6f5343c">ECP_BRAINPOOL_mapit</a></div><div class="ttdeci">void ECP_BRAINPOOL_mapit(ECP_BRAINPOOL *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:365</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_aaf807f33aa825266a4192b9ad6f5343c"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aaf807f33aa825266a4192b9ad6f5343c">ECP_BRAINPOOL_mapit</a></div><div class="ttdeci">void ECP_BRAINPOOL_mapit(ECP_BRAINPOOL *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:365</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a77b9411c50e6029e5a85e74d6a8e8a9f"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a77b9411c50e6029e5a85e74d6a8e8a9f">CURVE_Pxba_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a14bda95a511baee547aaa0a0e656cd59"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a14bda95a511baee547aaa0a0e656cd59">CURVE_Pyabb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_BRAINPOOL</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html"><div class="ttname"><a href="fp__BRAINPOOL_8h.html">fp_BRAINPOOL.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html"><div class="ttname"><a href="fp__BRAINPOOL_8h.html">fp_BRAINPOOL.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_aff7e0f5869cdc2237658d9302d47feca"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aff7e0f5869cdc2237658d9302d47feca">CURVE_BB_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_BRAINPOOL[4][4]</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a2fe926e1dd76483752fa1592e66996d9"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a2fe926e1dd76483752fa1592e66996d9">ECP_BRAINPOOL_toOctet</a></div><div class="ttdeci">void ECP_BRAINPOOL_toOctet(octet *S, ECP_BRAINPOOL *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:507</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a6ec5e608f30eac4fd12ba4ba99b96183"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a6ec5e608f30eac4fd12ba4ba99b96183">CURVE_Cof_I_BRAINPOOL</a></div><div class="ttdeci">const int CURVE_Cof_I_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_ae78c8afaee2936abfe691b4cdfb8da2b"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ae78c8afaee2936abfe691b4cdfb8da2b">ECP_BRAINPOOL_cfp</a></div><div class="ttdeci">void ECP_BRAINPOOL_cfp(ECP_BRAINPOOL *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:338</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_ae78c8afaee2936abfe691b4cdfb8da2b"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ae78c8afaee2936abfe691b4cdfb8da2b">ECP_BRAINPOOL_cfp</a></div><div class="ttdeci">void ECP_BRAINPOOL_cfp(ECP_BRAINPOOL *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:338</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_aafe9d53a77475138a6c63cf6ee5fa47e"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aafe9d53a77475138a6c63cf6ee5fa47e">CURVE_Pxaa_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a62136a247dc847a268adc48e468f2ee9"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a62136a247dc847a268adc48e468f2ee9">CURVE_B_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_BRAINPOOL</div></div>
-<div class="ttc" id="structECP__BRAINPOOL_html"><div class="ttname"><a href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.h:105</div></div>
+<div class="ttc" id="structECP__BRAINPOOL_html"><div class="ttname"><a href="structECP__BRAINPOOL.html">ECP_BRAINPOOL</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.h:105</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a5ecc584b67d9f9ab8544dac0262736ea"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a5ecc584b67d9f9ab8544dac0262736ea">CURVE_Pxb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a89b40eb19e2ba049a28813278d40fea3"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a89b40eb19e2ba049a28813278d40fea3">CURVE_Pxabb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_BRAINPOOL</div></div>
 <div class="ttc" id="structECP__BRAINPOOL_html_a78f1c51622fbe527966b27020f73ca76"><div class="ttname"><a href="structECP__BRAINPOOL.html#a78f1c51622fbe527966b27020f73ca76">ECP_BRAINPOOL::z</a></div><div class="ttdeci">FP_BRAINPOOL z</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.h:113</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a72b8dd706cc7fb3944bb8dfcd60ff0bc"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a72b8dd706cc7fb3944bb8dfcd60ff0bc">CURVE_W_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_BRAINPOOL[2]</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a110d5e58e23b14b3db8d1150a2bcc673"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a110d5e58e23b14b3db8d1150a2bcc673">CURVE_Pyaaa_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a78a708d424f7c45064eb1bf2c5d360e8"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a78a708d424f7c45064eb1bf2c5d360e8">ECP_BRAINPOOL_set</a></div><div class="ttdeci">int ECP_BRAINPOOL_set(ECP_BRAINPOOL *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a78a708d424f7c45064eb1bf2c5d360e8"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a78a708d424f7c45064eb1bf2c5d360e8">ECP_BRAINPOOL_set</a></div><div class="ttdeci">int ECP_BRAINPOOL_set(ECP_BRAINPOOL *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_ac50b019958c3e047dc815b4051f6f8e7"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ac50b019958c3e047dc815b4051f6f8e7">CURVE_Pxbba_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_af3d9c8d060215fdde6c704e53d1f040e"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#af3d9c8d060215fdde6c704e53d1f040e">CURVE_Gx_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a6715492ef78100576c2af6b74137a591"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a6715492ef78100576c2af6b74137a591">ECP_BRAINPOOL_affine</a></div><div class="ttdeci">void ECP_BRAINPOOL_affine(ECP_BRAINPOOL *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:392</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a6715492ef78100576c2af6b74137a591"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a6715492ef78100576c2af6b74137a591">ECP_BRAINPOOL_affine</a></div><div class="ttdeci">void ECP_BRAINPOOL_affine(ECP_BRAINPOOL *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:392</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a04b7ca35b662a31dbeb21bc59a3d1dc2"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a04b7ca35b662a31dbeb21bc59a3d1dc2">CURVE_Pybba_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a3356869c4464e0ab7dcd36c832385fd0"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a3356869c4464e0ab7dcd36c832385fd0">CURVE_Pxbaa_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_abe2741d6f91510fd3fed9e97bb44132b"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#abe2741d6f91510fd3fed9e97bb44132b">CURVE_Pyab_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_BRAINPOOL</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a2203ba59522044559432d02718e083d5"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a2203ba59522044559432d02718e083d5">ECP_BRAINPOOL_rawoutput</a></div><div class="ttdeci">void ECP_BRAINPOOL_rawoutput(ECP_BRAINPOOL *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:478</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a2203ba59522044559432d02718e083d5"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a2203ba59522044559432d02718e083d5">ECP_BRAINPOOL_rawoutput</a></div><div class="ttdeci">void ECP_BRAINPOOL_rawoutput(ECP_BRAINPOOL *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:478</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a29de2b9d5226746b31f1b1b10573aee9"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a29de2b9d5226746b31f1b1b10573aee9">CURVE_Pyaa_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_aec1d1a43b7f0eab3a515fd393fab9f58"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aec1d1a43b7f0eab3a515fd393fab9f58">CURVE_Pybaa_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_aaf587358f6ceb0e3723773c366a1dfbd"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aaf587358f6ceb0e3723773c366a1dfbd">ECP_BRAINPOOL_get</a></div><div class="ttdeci">int ECP_BRAINPOOL_get(BIG_256_56 x, BIG_256_56 y, ECP_BRAINPOOL *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_ac8f3b6f83939774f8f3566bc9cfffe17"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ac8f3b6f83939774f8f3566bc9cfffe17">ECP_BRAINPOOL_outputxyz</a></div><div class="ttdeci">void ECP_BRAINPOOL_outputxyz(ECP_BRAINPOOL *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:414</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_aaf587358f6ceb0e3723773c366a1dfbd"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#aaf587358f6ceb0e3723773c366a1dfbd">ECP_BRAINPOOL_get</a></div><div class="ttdeci">int ECP_BRAINPOOL_get(BIG_256_56 x, BIG_256_56 y, ECP_BRAINPOOL *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_ac8f3b6f83939774f8f3566bc9cfffe17"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ac8f3b6f83939774f8f3566bc9cfffe17">ECP_BRAINPOOL_outputxyz</a></div><div class="ttdeci">void ECP_BRAINPOOL_outputxyz(ECP_BRAINPOOL *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_BRAINPOOL.c:414</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_ac7125851377f6ecd06cf7607da3fd625"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#ac7125851377f6ecd06cf7607da3fd625">CURVE_Pxbbb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a26e90a7611f9ddc58b7cca0516ab1321"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a26e90a7611f9ddc58b7cca0516ab1321">ECP_BRAINPOOL_pinmul</a></div><div class="ttdeci">void ECP_BRAINPOOL_pinmul(ECP_BRAINPOOL *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a26e90a7611f9ddc58b7cca0516ab1321"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a26e90a7611f9ddc58b7cca0516ab1321">ECP_BRAINPOOL_pinmul</a></div><div class="ttdeci">void ECP_BRAINPOOL_pinmul(ECP_BRAINPOOL *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a0581a604982b1f484f5e079566f059c1"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a0581a604982b1f484f5e079566f059c1">CURVE_Pxbab_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_BRAINPOOL</div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a77cee4acf2a494b1d9bec9f49d2d1a96"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a77cee4acf2a494b1d9bec9f49d2d1a96">CURVE_Order_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_BRAINPOOL</div></div>
-<div class="ttc" id="ecp__BRAINPOOL_8h_html_a5f8336f5215097cdec9aad29ea67cc82"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a5f8336f5215097cdec9aad29ea67cc82">ECP_BRAINPOOL_sub</a></div><div class="ttdeci">void ECP_BRAINPOOL_sub(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__BRAINPOOL_8h_html_a5f8336f5215097cdec9aad29ea67cc82"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a5f8336f5215097cdec9aad29ea67cc82">ECP_BRAINPOOL_sub</a></div><div class="ttdeci">void ECP_BRAINPOOL_sub(ECP_BRAINPOOL *P, ECP_BRAINPOOL *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__BRAINPOOL_8h_html_a64536b7a1bc4aa611fe6a9c6b777b7d0"><div class="ttname"><a href="ecp__BRAINPOOL_8h.html#a64536b7a1bc4aa611fe6a9c6b777b7d0">CURVE_Pybbb_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_BRAINPOOL</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/ecp__C25519_8h.html b/website/static/cdocs/ecp__C25519_8h.html
index b3c6bf7..2816f3d 100644
--- a/website/static/cdocs/ecp__C25519_8h.html
+++ b/website/static/cdocs/ecp__C25519_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: ecp_C25519.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"
@@ -1615,7 +1618,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/ecp__C25519_8h_source.html b/website/static/cdocs/ecp__C25519_8h_source.html
index 7b50de9..0ec8b7a 100644
--- a/website/static/cdocs/ecp__C25519_8h_source.html
+++ b/website/static/cdocs/ecp__C25519_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: ecp_C25519.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,31 +72,31 @@
 <div class="title">ecp_C25519.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__C25519_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 ECP_C25519_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_C25519_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 &quot;<a class="code" href="fp__25519_8h.html">fp_25519.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_C25519.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a7a34b2ea8b714d8afa66d7291f31808e">CURVE_A_C25519</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#ac6dda610e44a86ba4747f7b7c8f34c5e">CURVE_Cof_I_C25519</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a56301bc1471456e7d989e9eddfcf984e">CURVE_B_I_C25519</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#adfe90ebb70851c97eb754606617773c4">CURVE_B_C25519</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a21a0d6fe767f00924c3fc54cfbf53ee8">CURVE_Order_C25519</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#accf5b2c9ffdc419fb73ca7a2ca27ea4b">CURVE_Cof_C25519</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a4ef35746f132fc3def1d1f2ce55184e2">CURVE_Gx_C25519</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a1c1c53428013a888c59c2fdfebf538ef">CURVE_Gy_C25519</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a23bfa8ae51829e80f69ed041258964c4">CURVE_Pxa_C25519</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a467bb265d9c9b8d4651dd87e69a60ad9">CURVE_Pxb_C25519</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ae9cdde8e66099b7e90f09847482f3cdf">CURVE_Pya_C25519</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#aca269844936803e270ffa9f75a268e87">CURVE_Pyb_C25519</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a2d54ff55462de226d2b36a670e8ef1df">CURVE_Pxaa_C25519</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a1e28b0ce756f2ce1034914d818dc6d29">CURVE_Pxab_C25519</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ae63b0f6f89ed361ffa638ce8a2c5a879">CURVE_Pxba_C25519</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a5786ac52f0868c56170c464ad12b911b">CURVE_Pxbb_C25519</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a6da88b2fca9f0ca736bc6038e7efb8b9">CURVE_Pyaa_C25519</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a9c24f7567c5a4c35b0e5a61f29c57aab">CURVE_Pyab_C25519</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#aa1fb04963cad474f99209d05e6a11949">CURVE_Pyba_C25519</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a905bcd7aec2750fd721b1dca9aaf9933">CURVE_Pybb_C25519</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ab0c2e7125520260f43d418ade4da8417">CURVE_Pxaaa_C25519</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a6bc1db4f70fd85fe002621290d35f60c">CURVE_Pxaab_C25519</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ae24cfb3b86fab84ecd010ad5059d8eec">CURVE_Pxaba_C25519</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ab31e8529b83b02247f878b6e4853fc56">CURVE_Pxabb_C25519</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#aeaed19604fe98d09ee5bd33ce57892fe">CURVE_Pxbaa_C25519</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a89777757d82195e1398594fedb755581">CURVE_Pxbab_C25519</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a5c8f2c75a42630888a1ed2d21dbc5917">CURVE_Pxbba_C25519</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a0e08bbc248ad20ee0f5f541304169746">CURVE_Pxbbb_C25519</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a8d5127b600df20d497934c65632652c3">CURVE_Pyaaa_C25519</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a23ec013789e4404a7312793eaba355f9">CURVE_Pyaab_C25519</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a70620773efe2946a6cca19045ba682cf">CURVE_Pyaba_C25519</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a85904cbb6d07d587fded28de728a7b60">CURVE_Pyabb_C25519</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a41ae141c2e1fb8a8a03eae842497596b">CURVE_Pybaa_C25519</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ada55dca72a592e7a630cd2b9579e2a25">CURVE_Pybab_C25519</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ab52422b45fcb6e327212efd78cb28da5">CURVE_Pybba_C25519</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ad1d82d1dc9c879cba68c2851ed28edc2">CURVE_Pybbb_C25519</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#afecb0a4dbc9c6052fc1c444a343e4df9">CURVE_Bnx_C25519</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a6562f0c00df1719ae19efbd03d3ae905">CURVE_Cru_C25519</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">Fra_25519</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a18f544766d5428e6cff728a9acc9aa6a">Frb_25519</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#add4c4c3498436eb804c4620cc835a9b9">CURVE_W_C25519</a>[2];       </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a896c2b65944453457797eeb97b383141">CURVE_SB_C25519</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a81da8102fe53701184fda3b33d1a09a7">CURVE_WB_C25519</a>[4];      </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a7dab425d2c3df7d1b5e3b44d78f8f135">CURVE_BB_C25519</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__C25519.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__C25519.html#a70d8c8d5570312e54da64503a6b5e605">  109</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__C25519.html#a70d8c8d5570312e54da64503a6b5e605">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_C25519!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> y; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__C25519.html#abc8acabd37b17cba126258d8b42a98eb">  113</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__C25519.html#abc8acabd37b17cba126258d8b42a98eb">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__C25519.html">ECP_C25519</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a452ea2cedef4e23a9af4b4b4a107dcc6">ECP_C25519_isinf</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a4bcb8db18cc1e82ee3651aad8c1181e5">ECP_C25519_equals</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ab9b3a21fa4607842de9a1a28f434143c">ECP_C25519_copy</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</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="ecp__C25519_8h.html#a2d25171a43cabe733018f75112e4c63c">ECP_C25519_neg</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</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="ecp__C25519_8h.html#a77e67128bc887c0c2d6f4b541f021773">ECP_C25519_inf</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a69618f106783987feeb2617832b01ce0">ECP_C25519_rhs</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *r,<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_C25519==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0ddddeeea14fc83e2af3ca8d5a2557e3">ECP_C25519_set</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0e0f54abd5c44f2db28d15654dcff201">ECP_C25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae5db0537a834c381f8ddae3a8bb2b879">ECP_C25519_add</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0ddddeeea14fc83e2af3ca8d5a2557e3">ECP_C25519_set</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0e0f54abd5c44f2db28d15654dcff201">ECP_C25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae5db0537a834c381f8ddae3a8bb2b879">ECP_C25519_add</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP_C25519_sub(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP_C25519_setx(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a1a09208a6d7d73c7789abe9011d9a1f9">ECP_C25519_cfp</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a43519c1a2b7bcbe8c3aca7d4a3285947">ECP_C25519_mapit</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ad4f4a2649b5f79f2333a52acd5dce531">ECP_C25519_affine</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a09a30931e6c09c951c55922b782ce93f">ECP_C25519_outputxyz</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</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="ecp__C25519_8h.html#a1dedcaff9e9d7f4b30cc0535c59b554a">ECP_C25519_output</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae5accb675ecfef7053f0c289530b5537">ECP_C25519_rawoutput</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a77234637683d51ba8b9fffa89ec6a1b5">ECP_C25519_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a25855db99a4efd065941ae9196c2e866">ECP_C25519_fromOctet</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae7c4752d6e51d74b227a599ec5263dd1">ECP_C25519_dbl</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a0c717dadd5f929ea64bc17a2f2cf5ec6">ECP_C25519_pinmul</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a95b6cec8c825823418943079ef5a7be7">ECP_C25519_mul</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#afae5caf7c2e365b79dd53eb445cb6bd3">ECP_C25519_mul2</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a2c6fd4021eac766b4c2c00079a597df9">ECP_C25519_generator</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__C25519_8h_html_a0c717dadd5f929ea64bc17a2f2cf5ec6"><div class="ttname"><a href="ecp__C25519_8h.html#a0c717dadd5f929ea64bc17a2f2cf5ec6">ECP_C25519_pinmul</a></div><div class="ttdeci">void ECP_C25519_pinmul(ECP_C25519 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_ad4f4a2649b5f79f2333a52acd5dce531"><div class="ttname"><a href="ecp__C25519_8h.html#ad4f4a2649b5f79f2333a52acd5dce531">ECP_C25519_affine</a></div><div class="ttdeci">void ECP_C25519_affine(ECP_C25519 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:392</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a25855db99a4efd065941ae9196c2e866"><div class="ttname"><a href="ecp__C25519_8h.html#a25855db99a4efd065941ae9196c2e866">ECP_C25519_fromOctet</a></div><div class="ttdeci">int ECP_C25519_fromOctet(ECP_C25519 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:537</div></div>
+<a href="ecp__C25519_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 ECP_C25519_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_C25519_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 &quot;<a class="code" href="fp__25519_8h.html">fp_25519.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_C25519.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a7a34b2ea8b714d8afa66d7291f31808e">CURVE_A_C25519</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#ac6dda610e44a86ba4747f7b7c8f34c5e">CURVE_Cof_I_C25519</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a56301bc1471456e7d989e9eddfcf984e">CURVE_B_I_C25519</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#adfe90ebb70851c97eb754606617773c4">CURVE_B_C25519</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a21a0d6fe767f00924c3fc54cfbf53ee8">CURVE_Order_C25519</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#accf5b2c9ffdc419fb73ca7a2ca27ea4b">CURVE_Cof_C25519</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a4ef35746f132fc3def1d1f2ce55184e2">CURVE_Gx_C25519</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a1c1c53428013a888c59c2fdfebf538ef">CURVE_Gy_C25519</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a23bfa8ae51829e80f69ed041258964c4">CURVE_Pxa_C25519</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a467bb265d9c9b8d4651dd87e69a60ad9">CURVE_Pxb_C25519</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ae9cdde8e66099b7e90f09847482f3cdf">CURVE_Pya_C25519</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#aca269844936803e270ffa9f75a268e87">CURVE_Pyb_C25519</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a2d54ff55462de226d2b36a670e8ef1df">CURVE_Pxaa_C25519</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a1e28b0ce756f2ce1034914d818dc6d29">CURVE_Pxab_C25519</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ae63b0f6f89ed361ffa638ce8a2c5a879">CURVE_Pxba_C25519</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a5786ac52f0868c56170c464ad12b911b">CURVE_Pxbb_C25519</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a6da88b2fca9f0ca736bc6038e7efb8b9">CURVE_Pyaa_C25519</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a9c24f7567c5a4c35b0e5a61f29c57aab">CURVE_Pyab_C25519</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#aa1fb04963cad474f99209d05e6a11949">CURVE_Pyba_C25519</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a905bcd7aec2750fd721b1dca9aaf9933">CURVE_Pybb_C25519</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ab0c2e7125520260f43d418ade4da8417">CURVE_Pxaaa_C25519</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a6bc1db4f70fd85fe002621290d35f60c">CURVE_Pxaab_C25519</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ae24cfb3b86fab84ecd010ad5059d8eec">CURVE_Pxaba_C25519</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ab31e8529b83b02247f878b6e4853fc56">CURVE_Pxabb_C25519</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#aeaed19604fe98d09ee5bd33ce57892fe">CURVE_Pxbaa_C25519</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a89777757d82195e1398594fedb755581">CURVE_Pxbab_C25519</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a5c8f2c75a42630888a1ed2d21dbc5917">CURVE_Pxbba_C25519</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a0e08bbc248ad20ee0f5f541304169746">CURVE_Pxbbb_C25519</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a8d5127b600df20d497934c65632652c3">CURVE_Pyaaa_C25519</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a23ec013789e4404a7312793eaba355f9">CURVE_Pyaab_C25519</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a70620773efe2946a6cca19045ba682cf">CURVE_Pyaba_C25519</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a85904cbb6d07d587fded28de728a7b60">CURVE_Pyabb_C25519</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a41ae141c2e1fb8a8a03eae842497596b">CURVE_Pybaa_C25519</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ada55dca72a592e7a630cd2b9579e2a25">CURVE_Pybab_C25519</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ab52422b45fcb6e327212efd78cb28da5">CURVE_Pybba_C25519</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#ad1d82d1dc9c879cba68c2851ed28edc2">CURVE_Pybbb_C25519</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#afecb0a4dbc9c6052fc1c444a343e4df9">CURVE_Bnx_C25519</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a6562f0c00df1719ae19efbd03d3ae905">CURVE_Cru_C25519</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">Fra_25519</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a18f544766d5428e6cff728a9acc9aa6a">Frb_25519</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#add4c4c3498436eb804c4620cc835a9b9">CURVE_W_C25519</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a896c2b65944453457797eeb97b383141">CURVE_SB_C25519</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a81da8102fe53701184fda3b33d1a09a7">CURVE_WB_C25519</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__C25519_8h.html#a7dab425d2c3df7d1b5e3b44d78f8f135">CURVE_BB_C25519</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__C25519.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__C25519.html#a70d8c8d5570312e54da64503a6b5e605">  109</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__C25519.html#a70d8c8d5570312e54da64503a6b5e605">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_C25519!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> y; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__C25519.html#abc8acabd37b17cba126258d8b42a98eb">  113</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__C25519.html#abc8acabd37b17cba126258d8b42a98eb">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__C25519.html">ECP_C25519</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a452ea2cedef4e23a9af4b4b4a107dcc6">ECP_C25519_isinf</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a4bcb8db18cc1e82ee3651aad8c1181e5">ECP_C25519_equals</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ab9b3a21fa4607842de9a1a28f434143c">ECP_C25519_copy</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</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="ecp__C25519_8h.html#a2d25171a43cabe733018f75112e4c63c">ECP_C25519_neg</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</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="ecp__C25519_8h.html#a77e67128bc887c0c2d6f4b541f021773">ECP_C25519_inf</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a69618f106783987feeb2617832b01ce0">ECP_C25519_rhs</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *r,<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_C25519==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0ddddeeea14fc83e2af3ca8d5a2557e3">ECP_C25519_set</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0e0f54abd5c44f2db28d15654dcff201">ECP_C25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae5db0537a834c381f8ddae3a8bb2b879">ECP_C25519_add</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0ddddeeea14fc83e2af3ca8d5a2557e3">ECP_C25519_set</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a0e0f54abd5c44f2db28d15654dcff201">ECP_C25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae5db0537a834c381f8ddae3a8bb2b879">ECP_C25519_add</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> ECP_C25519_sub(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> ECP_C25519_setx(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a1a09208a6d7d73c7789abe9011d9a1f9">ECP_C25519_cfp</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a43519c1a2b7bcbe8c3aca7d4a3285947">ECP_C25519_mapit</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ad4f4a2649b5f79f2333a52acd5dce531">ECP_C25519_affine</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a09a30931e6c09c951c55922b782ce93f">ECP_C25519_outputxyz</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</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="ecp__C25519_8h.html#a1dedcaff9e9d7f4b30cc0535c59b554a">ECP_C25519_output</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae5accb675ecfef7053f0c289530b5537">ECP_C25519_rawoutput</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a77234637683d51ba8b9fffa89ec6a1b5">ECP_C25519_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C25519_8h.html#a25855db99a4efd065941ae9196c2e866">ECP_C25519_fromOctet</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#ae7c4752d6e51d74b227a599ec5263dd1">ECP_C25519_dbl</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a0c717dadd5f929ea64bc17a2f2cf5ec6">ECP_C25519_pinmul</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a95b6cec8c825823418943079ef5a7be7">ECP_C25519_mul</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#afae5caf7c2e365b79dd53eb445cb6bd3">ECP_C25519_mul2</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *P,<a class="code" href="structECP__C25519.html">ECP_C25519</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C25519_8h.html#a2c6fd4021eac766b4c2c00079a597df9">ECP_C25519_generator</a>(<a class="code" href="structECP__C25519.html">ECP_C25519</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__C25519_8h_html_a0c717dadd5f929ea64bc17a2f2cf5ec6"><div class="ttname"><a href="ecp__C25519_8h.html#a0c717dadd5f929ea64bc17a2f2cf5ec6">ECP_C25519_pinmul</a></div><div class="ttdeci">void ECP_C25519_pinmul(ECP_C25519 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__C25519_8h_html_ad4f4a2649b5f79f2333a52acd5dce531"><div class="ttname"><a href="ecp__C25519_8h.html#ad4f4a2649b5f79f2333a52acd5dce531">ECP_C25519_affine</a></div><div class="ttdeci">void ECP_C25519_affine(ECP_C25519 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:392</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a25855db99a4efd065941ae9196c2e866"><div class="ttname"><a href="ecp__C25519_8h.html#a25855db99a4efd065941ae9196c2e866">ECP_C25519_fromOctet</a></div><div class="ttdeci">int ECP_C25519_fromOctet(ECP_C25519 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:537</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a7a34b2ea8b714d8afa66d7291f31808e"><div class="ttname"><a href="ecp__C25519_8h.html#a7a34b2ea8b714d8afa66d7291f31808e">CURVE_A_C25519</a></div><div class="ttdeci">const int CURVE_A_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_aca269844936803e270ffa9f75a268e87"><div class="ttname"><a href="ecp__C25519_8h.html#aca269844936803e270ffa9f75a268e87">CURVE_Pyb_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a4bcb8db18cc1e82ee3651aad8c1181e5"><div class="ttname"><a href="ecp__C25519_8h.html#a4bcb8db18cc1e82ee3651aad8c1181e5">ECP_C25519_equals</a></div><div class="ttdeci">int ECP_C25519_equals(ECP_C25519 *P, ECP_C25519 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:100</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a43519c1a2b7bcbe8c3aca7d4a3285947"><div class="ttname"><a href="ecp__C25519_8h.html#a43519c1a2b7bcbe8c3aca7d4a3285947">ECP_C25519_mapit</a></div><div class="ttdeci">void ECP_C25519_mapit(ECP_C25519 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:365</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a4bcb8db18cc1e82ee3651aad8c1181e5"><div class="ttname"><a href="ecp__C25519_8h.html#a4bcb8db18cc1e82ee3651aad8c1181e5">ECP_C25519_equals</a></div><div class="ttdeci">int ECP_C25519_equals(ECP_C25519 *P, ECP_C25519 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:100</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a43519c1a2b7bcbe8c3aca7d4a3285947"><div class="ttname"><a href="ecp__C25519_8h.html#a43519c1a2b7bcbe8c3aca7d4a3285947">ECP_C25519_mapit</a></div><div class="ttdeci">void ECP_C25519_mapit(ECP_C25519 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:365</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a56301bc1471456e7d989e9eddfcf984e"><div class="ttname"><a href="ecp__C25519_8h.html#a56301bc1471456e7d989e9eddfcf984e">CURVE_B_I_C25519</a></div><div class="ttdeci">const int CURVE_B_I_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_afecb0a4dbc9c6052fc1c444a343e4df9"><div class="ttname"><a href="ecp__C25519_8h.html#afecb0a4dbc9c6052fc1c444a343e4df9">CURVE_Bnx_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_accf5b2c9ffdc419fb73ca7a2ca27ea4b"><div class="ttname"><a href="ecp__C25519_8h.html#accf5b2c9ffdc419fb73ca7a2ca27ea4b">CURVE_Cof_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_ac6dda610e44a86ba4747f7b7c8f34c5e"><div class="ttname"><a href="ecp__C25519_8h.html#ac6dda610e44a86ba4747f7b7c8f34c5e">CURVE_Cof_I_C25519</a></div><div class="ttdeci">const int CURVE_Cof_I_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_ae5accb675ecfef7053f0c289530b5537"><div class="ttname"><a href="ecp__C25519_8h.html#ae5accb675ecfef7053f0c289530b5537">ECP_C25519_rawoutput</a></div><div class="ttdeci">void ECP_C25519_rawoutput(ECP_C25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:478</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_ae7c4752d6e51d74b227a599ec5263dd1"><div class="ttname"><a href="ecp__C25519_8h.html#ae7c4752d6e51d74b227a599ec5263dd1">ECP_C25519_dbl</a></div><div class="ttdeci">void ECP_C25519_dbl(ECP_C25519 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:564</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_afae5caf7c2e365b79dd53eb445cb6bd3"><div class="ttname"><a href="ecp__C25519_8h.html#afae5caf7c2e365b79dd53eb445cb6bd3">ECP_C25519_mul2</a></div><div class="ttdeci">void ECP_C25519_mul2(ECP_C25519 *P, ECP_C25519 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_ae5accb675ecfef7053f0c289530b5537"><div class="ttname"><a href="ecp__C25519_8h.html#ae5accb675ecfef7053f0c289530b5537">ECP_C25519_rawoutput</a></div><div class="ttdeci">void ECP_C25519_rawoutput(ECP_C25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:478</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_ae7c4752d6e51d74b227a599ec5263dd1"><div class="ttname"><a href="ecp__C25519_8h.html#ae7c4752d6e51d74b227a599ec5263dd1">ECP_C25519_dbl</a></div><div class="ttdeci">void ECP_C25519_dbl(ECP_C25519 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:564</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_afae5caf7c2e365b79dd53eb445cb6bd3"><div class="ttname"><a href="ecp__C25519_8h.html#afae5caf7c2e365b79dd53eb445cb6bd3">ECP_C25519_mul2</a></div><div class="ttdeci">void ECP_C25519_mul2(ECP_C25519 *P, ECP_C25519 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="structECP__C25519_html_abc8acabd37b17cba126258d8b42a98eb"><div class="ttname"><a href="structECP__C25519.html#abc8acabd37b17cba126258d8b42a98eb">ECP_C25519::z</a></div><div class="ttdeci">FP_25519 z</div><div class="ttdef"><b>Definition:</b> ecp_C25519.h:113</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a95b6cec8c825823418943079ef5a7be7"><div class="ttname"><a href="ecp__C25519_8h.html#a95b6cec8c825823418943079ef5a7be7">ECP_C25519_mul</a></div><div class="ttdeci">void ECP_C25519_mul(ECP_C25519 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:1021</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a95b6cec8c825823418943079ef5a7be7"><div class="ttname"><a href="ecp__C25519_8h.html#a95b6cec8c825823418943079ef5a7be7">ECP_C25519_mul</a></div><div class="ttdeci">void ECP_C25519_mul(ECP_C25519 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:1021</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_ab52422b45fcb6e327212efd78cb28da5"><div class="ttname"><a href="ecp__C25519_8h.html#ab52422b45fcb6e327212efd78cb28da5">CURVE_Pybba_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_ae9cdde8e66099b7e90f09847482f3cdf"><div class="ttname"><a href="ecp__C25519_8h.html#ae9cdde8e66099b7e90f09847482f3cdf">CURVE_Pya_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a2c6fd4021eac766b4c2c00079a597df9"><div class="ttname"><a href="ecp__C25519_8h.html#a2c6fd4021eac766b4c2c00079a597df9">ECP_C25519_generator</a></div><div class="ttdeci">void ECP_C25519_generator(ECP_C25519 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:1221</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_ab9b3a21fa4607842de9a1a28f434143c"><div class="ttname"><a href="ecp__C25519_8h.html#ab9b3a21fa4607842de9a1a28f434143c">ECP_C25519_copy</a></div><div class="ttdeci">void ECP_C25519_copy(ECP_C25519 *P, ECP_C25519 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:120</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="ecp__C25519_8h_html_a2c6fd4021eac766b4c2c00079a597df9"><div class="ttname"><a href="ecp__C25519_8h.html#a2c6fd4021eac766b4c2c00079a597df9">ECP_C25519_generator</a></div><div class="ttdeci">void ECP_C25519_generator(ECP_C25519 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:1221</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_ab9b3a21fa4607842de9a1a28f434143c"><div class="ttname"><a href="ecp__C25519_8h.html#ab9b3a21fa4607842de9a1a28f434143c">ECP_C25519_copy</a></div><div class="ttdeci">void ECP_C25519_copy(ECP_C25519 *P, ECP_C25519 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:120</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="ecp__C25519_8h_html_a467bb265d9c9b8d4651dd87e69a60ad9"><div class="ttname"><a href="ecp__C25519_8h.html#a467bb265d9c9b8d4651dd87e69a60ad9">CURVE_Pxb_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a1dedcaff9e9d7f4b30cc0535c59b554a"><div class="ttname"><a href="ecp__C25519_8h.html#a1dedcaff9e9d7f4b30cc0535c59b554a">ECP_C25519_output</a></div><div class="ttdeci">void ECP_C25519_output(ECP_C25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:450</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a1dedcaff9e9d7f4b30cc0535c59b554a"><div class="ttname"><a href="ecp__C25519_8h.html#a1dedcaff9e9d7f4b30cc0535c59b554a">ECP_C25519_output</a></div><div class="ttdeci">void ECP_C25519_output(ECP_C25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:450</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a6bc1db4f70fd85fe002621290d35f60c"><div class="ttname"><a href="ecp__C25519_8h.html#a6bc1db4f70fd85fe002621290d35f60c">CURVE_Pxaab_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a0e0f54abd5c44f2db28d15654dcff201"><div class="ttname"><a href="ecp__C25519_8h.html#a0e0f54abd5c44f2db28d15654dcff201">ECP_C25519_get</a></div><div class="ttdeci">int ECP_C25519_get(BIG_256_56 x, ECP_C25519 *P)</div><div class="ttdoc">Extract x coordinate of an ECP point P.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:249</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a0e0f54abd5c44f2db28d15654dcff201"><div class="ttname"><a href="ecp__C25519_8h.html#a0e0f54abd5c44f2db28d15654dcff201">ECP_C25519_get</a></div><div class="ttdeci">int ECP_C25519_get(BIG_256_56 x, ECP_C25519 *P)</div><div class="ttdoc">Extract x coordinate of an ECP point P. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:249</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_ada55dca72a592e7a630cd2b9579e2a25"><div class="ttname"><a href="ecp__C25519_8h.html#ada55dca72a592e7a630cd2b9579e2a25">CURVE_Pybab_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a0e08bbc248ad20ee0f5f541304169746"><div class="ttname"><a href="ecp__C25519_8h.html#a0e08bbc248ad20ee0f5f541304169746">CURVE_Pxbbb_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a5c8f2c75a42630888a1ed2d21dbc5917"><div class="ttname"><a href="ecp__C25519_8h.html#a5c8f2c75a42630888a1ed2d21dbc5917">CURVE_Pxbba_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_C25519</div></div>
@@ -101,40 +104,40 @@
 <div class="ttc" id="ecp__C25519_8h_html_a1e28b0ce756f2ce1034914d818dc6d29"><div class="ttname"><a href="ecp__C25519_8h.html#a1e28b0ce756f2ce1034914d818dc6d29">CURVE_Pxab_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a6da88b2fca9f0ca736bc6038e7efb8b9"><div class="ttname"><a href="ecp__C25519_8h.html#a6da88b2fca9f0ca736bc6038e7efb8b9">CURVE_Pyaa_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a18f544766d5428e6cff728a9acc9aa6a"><div class="ttname"><a href="ecp__C25519_8h.html#a18f544766d5428e6cff728a9acc9aa6a">Frb_25519</a></div><div class="ttdeci">const BIG_256_56 Frb_25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a452ea2cedef4e23a9af4b4b4a107dcc6"><div class="ttname"><a href="ecp__C25519_8h.html#a452ea2cedef4e23a9af4b4b4a107dcc6">ECP_C25519_isinf</a></div><div class="ttdeci">int ECP_C25519_isinf(ECP_C25519 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:28</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a452ea2cedef4e23a9af4b4b4a107dcc6"><div class="ttname"><a href="ecp__C25519_8h.html#a452ea2cedef4e23a9af4b4b4a107dcc6">ECP_C25519_isinf</a></div><div class="ttdeci">int ECP_C25519_isinf(ECP_C25519 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:28</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a896c2b65944453457797eeb97b383141"><div class="ttname"><a href="ecp__C25519_8h.html#a896c2b65944453457797eeb97b383141">CURVE_SB_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_C25519[2][2]</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_aa1fb04963cad474f99209d05e6a11949"><div class="ttname"><a href="ecp__C25519_8h.html#aa1fb04963cad474f99209d05e6a11949">CURVE_Pyba_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_ad1d82d1dc9c879cba68c2851ed28edc2"><div class="ttname"><a href="ecp__C25519_8h.html#ad1d82d1dc9c879cba68c2851ed28edc2">CURVE_Pybbb_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a23bfa8ae51829e80f69ed041258964c4"><div class="ttname"><a href="ecp__C25519_8h.html#a23bfa8ae51829e80f69ed041258964c4">CURVE_Pxa_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_ab0c2e7125520260f43d418ade4da8417"><div class="ttname"><a href="ecp__C25519_8h.html#ab0c2e7125520260f43d418ade4da8417">CURVE_Pxaaa_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_ae5db0537a834c381f8ddae3a8bb2b879"><div class="ttname"><a href="ecp__C25519_8h.html#ae5db0537a834c381f8ddae3a8bb2b879">ECP_C25519_add</a></div><div class="ttdeci">void ECP_C25519_add(ECP_C25519 *P, ECP_C25519 *Q, ECP_C25519 *D)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P, given difference D=P-Q.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:735</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a09a30931e6c09c951c55922b782ce93f"><div class="ttname"><a href="ecp__C25519_8h.html#a09a30931e6c09c951c55922b782ce93f">ECP_C25519_outputxyz</a></div><div class="ttdeci">void ECP_C25519_outputxyz(ECP_C25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:414</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a2d25171a43cabe733018f75112e4c63c"><div class="ttname"><a href="ecp__C25519_8h.html#a2d25171a43cabe733018f75112e4c63c">ECP_C25519_neg</a></div><div class="ttdeci">void ECP_C25519_neg(ECP_C25519 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_ae5db0537a834c381f8ddae3a8bb2b879"><div class="ttname"><a href="ecp__C25519_8h.html#ae5db0537a834c381f8ddae3a8bb2b879">ECP_C25519_add</a></div><div class="ttdeci">void ECP_C25519_add(ECP_C25519 *P, ECP_C25519 *Q, ECP_C25519 *D)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P, given difference D=P-Q. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:735</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a09a30931e6c09c951c55922b782ce93f"><div class="ttname"><a href="ecp__C25519_8h.html#a09a30931e6c09c951c55922b782ce93f">ECP_C25519_outputxyz</a></div><div class="ttdeci">void ECP_C25519_outputxyz(ECP_C25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:414</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a2d25171a43cabe733018f75112e4c63c"><div class="ttname"><a href="ecp__C25519_8h.html#a2d25171a43cabe733018f75112e4c63c">ECP_C25519_neg</a></div><div class="ttdeci">void ECP_C25519_neg(ECP_C25519 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a905bcd7aec2750fd721b1dca9aaf9933"><div class="ttname"><a href="ecp__C25519_8h.html#a905bcd7aec2750fd721b1dca9aaf9933">CURVE_Pybb_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a81da8102fe53701184fda3b33d1a09a7"><div class="ttname"><a href="ecp__C25519_8h.html#a81da8102fe53701184fda3b33d1a09a7">CURVE_WB_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_C25519[4]</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_ae24cfb3b86fab84ecd010ad5059d8eec"><div class="ttname"><a href="ecp__C25519_8h.html#ae24cfb3b86fab84ecd010ad5059d8eec">CURVE_Pxaba_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a2d54ff55462de226d2b36a670e8ef1df"><div class="ttname"><a href="ecp__C25519_8h.html#a2d54ff55462de226d2b36a670e8ef1df">CURVE_Pxaa_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_C25519</div></div>
-<div class="ttc" id="fp__25519_8h_html"><div class="ttname"><a href="fp__25519_8h.html">fp_25519.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__25519_8h_html"><div class="ttname"><a href="fp__25519_8h.html">fp_25519.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a23ec013789e4404a7312793eaba355f9"><div class="ttname"><a href="ecp__C25519_8h.html#a23ec013789e4404a7312793eaba355f9">CURVE_Pyaab_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_add4c4c3498436eb804c4620cc835a9b9"><div class="ttname"><a href="ecp__C25519_8h.html#add4c4c3498436eb804c4620cc835a9b9">CURVE_W_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_C25519[2]</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a9c24f7567c5a4c35b0e5a61f29c57aab"><div class="ttname"><a href="ecp__C25519_8h.html#a9c24f7567c5a4c35b0e5a61f29c57aab">CURVE_Pyab_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a41ae141c2e1fb8a8a03eae842497596b"><div class="ttname"><a href="ecp__C25519_8h.html#a41ae141c2e1fb8a8a03eae842497596b">CURVE_Pybaa_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a21a0d6fe767f00924c3fc54cfbf53ee8"><div class="ttname"><a href="ecp__C25519_8h.html#a21a0d6fe767f00924c3fc54cfbf53ee8">CURVE_Order_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_C25519</div></div>
-<div class="ttc" id="structFP__25519_html"><div class="ttname"><a href="structFP__25519.html">FP_25519</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_25519.h:38</div></div>
+<div class="ttc" id="structFP__25519_html"><div class="ttname"><a href="structFP__25519.html">FP_25519</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_25519.h:38</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a4ef35746f132fc3def1d1f2ce55184e2"><div class="ttname"><a href="ecp__C25519_8h.html#a4ef35746f132fc3def1d1f2ce55184e2">CURVE_Gx_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_C25519</div></div>
 <div class="ttc" id="structECP__C25519_html_a70d8c8d5570312e54da64503a6b5e605"><div class="ttname"><a href="structECP__C25519.html#a70d8c8d5570312e54da64503a6b5e605">ECP_C25519::x</a></div><div class="ttdeci">FP_25519 x</div><div class="ttdef"><b>Definition:</b> ecp_C25519.h:109</div></div>
-<div class="ttc" id="structECP__C25519_html"><div class="ttname"><a href="structECP__C25519.html">ECP_C25519</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.h:105</div></div>
+<div class="ttc" id="structECP__C25519_html"><div class="ttname"><a href="structECP__C25519.html">ECP_C25519</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.h:105</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a70620773efe2946a6cca19045ba682cf"><div class="ttname"><a href="ecp__C25519_8h.html#a70620773efe2946a6cca19045ba682cf">CURVE_Pyaba_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a6562f0c00df1719ae19efbd03d3ae905"><div class="ttname"><a href="ecp__C25519_8h.html#a6562f0c00df1719ae19efbd03d3ae905">CURVE_Cru_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a69618f106783987feeb2617832b01ce0"><div class="ttname"><a href="ecp__C25519_8h.html#a69618f106783987feeb2617832b01ce0">ECP_C25519_rhs</a></div><div class="ttdeci">void ECP_C25519_rhs(FP_25519 *r, FP_25519 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:161</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a69618f106783987feeb2617832b01ce0"><div class="ttname"><a href="ecp__C25519_8h.html#a69618f106783987feeb2617832b01ce0">ECP_C25519_rhs</a></div><div class="ttdeci">void ECP_C25519_rhs(FP_25519 *r, FP_25519 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:161</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a77234637683d51ba8b9fffa89ec6a1b5"><div class="ttname"><a href="ecp__C25519_8h.html#a77234637683d51ba8b9fffa89ec6a1b5">ECP_C25519_toOctet</a></div><div class="ttdeci">void ECP_C25519_toOctet(octet *S, ECP_C25519 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:507</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a1a09208a6d7d73c7789abe9011d9a1f9"><div class="ttname"><a href="ecp__C25519_8h.html#a1a09208a6d7d73c7789abe9011d9a1f9">ECP_C25519_cfp</a></div><div class="ttdeci">void ECP_C25519_cfp(ECP_C25519 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:338</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a1a09208a6d7d73c7789abe9011d9a1f9"><div class="ttname"><a href="ecp__C25519_8h.html#a1a09208a6d7d73c7789abe9011d9a1f9">ECP_C25519_cfp</a></div><div class="ttdeci">void ECP_C25519_cfp(ECP_C25519 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:338</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a24bc14182cb7bd0a6ec8c87f05fdc91f"><div class="ttname"><a href="ecp__C25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">Fra_25519</a></div><div class="ttdeci">const BIG_256_56 Fra_25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a89777757d82195e1398594fedb755581"><div class="ttname"><a href="ecp__C25519_8h.html#a89777757d82195e1398594fedb755581">CURVE_Pxbab_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a8d5127b600df20d497934c65632652c3"><div class="ttname"><a href="ecp__C25519_8h.html#a8d5127b600df20d497934c65632652c3">CURVE_Pyaaa_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_C25519</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a0ddddeeea14fc83e2af3ca8d5a2557e3"><div class="ttname"><a href="ecp__C25519_8h.html#a0ddddeeea14fc83e2af3ca8d5a2557e3">ECP_C25519_set</a></div><div class="ttdeci">int ECP_C25519_set(ECP_C25519 *P, BIG_256_56 x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:226</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a0ddddeeea14fc83e2af3ca8d5a2557e3"><div class="ttname"><a href="ecp__C25519_8h.html#a0ddddeeea14fc83e2af3ca8d5a2557e3">ECP_C25519_set</a></div><div class="ttdeci">int ECP_C25519_set(ECP_C25519 *P, BIG_256_56 x)</div><div class="ttdoc">Set ECP to point(x,[y]) given x. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:226</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp__C25519_8h_html_a77e67128bc887c0c2d6f4b541f021773"><div class="ttname"><a href="ecp__C25519_8h.html#a77e67128bc887c0c2d6f4b541f021773">ECP_C25519_inf</a></div><div class="ttdeci">void ECP_C25519_inf(ECP_C25519 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:146</div></div>
+<div class="ttc" id="ecp__C25519_8h_html_a77e67128bc887c0c2d6f4b541f021773"><div class="ttname"><a href="ecp__C25519_8h.html#a77e67128bc887c0c2d6f4b541f021773">ECP_C25519_inf</a></div><div class="ttdeci">void ECP_C25519_inf(ECP_C25519 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_C25519.c:146</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_aeaed19604fe98d09ee5bd33ce57892fe"><div class="ttname"><a href="ecp__C25519_8h.html#aeaed19604fe98d09ee5bd33ce57892fe">CURVE_Pxbaa_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a5786ac52f0868c56170c464ad12b911b"><div class="ttname"><a href="ecp__C25519_8h.html#a5786ac52f0868c56170c464ad12b911b">CURVE_Pxbb_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_C25519</div></div>
 <div class="ttc" id="ecp__C25519_8h_html_a7dab425d2c3df7d1b5e3b44d78f8f135"><div class="ttname"><a href="ecp__C25519_8h.html#a7dab425d2c3df7d1b5e3b44d78f8f135">CURVE_BB_C25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_C25519[4][4]</div></div>
@@ -147,7 +150,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/ecp__C41417_8h.html b/website/static/cdocs/ecp__C41417_8h.html
index c22cc07..b11110b 100644
--- a/website/static/cdocs/ecp__C41417_8h.html
+++ b/website/static/cdocs/ecp__C41417_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: ecp_C41417.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"
@@ -1705,7 +1708,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/ecp__C41417_8h_source.html b/website/static/cdocs/ecp__C41417_8h_source.html
index 55b979b..1bc35e3 100644
--- a/website/static/cdocs/ecp__C41417_8h_source.html
+++ b/website/static/cdocs/ecp__C41417_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: ecp_C41417.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,59 +72,59 @@
 <div class="title">ecp_C41417.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__C41417_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 ECP_C41417_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_C41417_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 &quot;<a class="code" href="fp__C41417_8h.html">fp_C41417.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_C41417.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a91177161edf18940cb116f529a3a8ff6">CURVE_A_C41417</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a78e9300b112c0758b50aa6c9c742677a">CURVE_Cof_I_C41417</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#ab5583acfdd50e462741901bf1c36422e">CURVE_B_I_C41417</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a171c4574f9b6eccfc64e81f8361afb0b">CURVE_B_C41417</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a2685a00cae7e921f2b9396032795a57b">CURVE_Order_C41417</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a652b753b980750d7c03daae29059098e">CURVE_Cof_C41417</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a3460481bc02a0d58275cf9ef09242ef9">CURVE_Gx_C41417</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a289259196ac6893968d823389717897d">CURVE_Gy_C41417</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ad4a6480e5a5f05d505ff88e23d131744">CURVE_Pxa_C41417</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#af464d730b7374467b9dffec8654e4091">CURVE_Pxb_C41417</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aa33701acd0d8023f4802863cdd3cb8ee">CURVE_Pya_C41417</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a56a48e5132b4d0140548d3abca2ba013">CURVE_Pyb_C41417</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a908eb2ec8e1d4af99705c791a495bc10">CURVE_Pxaa_C41417</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a67f2b1bbb2ee3aa628107cd949119b00">CURVE_Pxab_C41417</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a370ddab1cea758348b3a07defe740725">CURVE_Pxba_C41417</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a8dd953765a4f27f5b0e18535b20f9e75">CURVE_Pxbb_C41417</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aed6edf82cfbf185056a7cae9ca0caba4">CURVE_Pyaa_C41417</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ad31a1de65e8f2f9e4bbd8c327ad47779">CURVE_Pyab_C41417</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a576d4cd2805d276b2d7c45f9137b575d">CURVE_Pyba_C41417</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ad9fbd37e112bf5c839c2a6bb0a788079">CURVE_Pybb_C41417</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a7854d5b1fe01be68341c2d4646a2294a">CURVE_Pxaaa_C41417</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a40628ea80e24a98c25cdb2a0adc83ef9">CURVE_Pxaab_C41417</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ac69e604c617d597a02a07a40aca56a27">CURVE_Pxaba_C41417</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a85703c9dbdd31566a59c4e1a56bc3599">CURVE_Pxabb_C41417</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#af9874be96f31bb0ff9c554801454eab4">CURVE_Pxbaa_C41417</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ab6e5bdcb626b34050b294ed4b978b420">CURVE_Pxbab_C41417</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a00f1ec7fde1eb6cc0d1e64bccd98ba60">CURVE_Pxbba_C41417</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#af29cb41073153adef39398e43eaf5787">CURVE_Pxbbb_C41417</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a5f2a5e768dd7280a086747bf96617158">CURVE_Pyaaa_C41417</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#abddf22badca5f01be77f1f4af520dbc4">CURVE_Pyaab_C41417</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a0ca107f75e960813f29fae97557783ca">CURVE_Pyaba_C41417</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a9057ecafea55f8b17af73b38ba08185a">CURVE_Pyabb_C41417</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a14757a0ccc99faf1327f8a53842aa742">CURVE_Pybaa_C41417</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a7315f73304bf88f3a64276a73a4c2008">CURVE_Pybab_C41417</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a9e1c9962b89c046bdfec8ae78f85f26c">CURVE_Pybba_C41417</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aa2585bdc03a058ef24354abb97ede6fa">CURVE_Pybbb_C41417</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a3f44b002a8e1e8109e0d73e3f983a557">CURVE_Bnx_C41417</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a31d1649c41751d9eb60192468ae9ad1d">CURVE_Cru_C41417</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a8085dda6341f7e05ab9a0d2bce9f3e5e">Fra_C41417</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a0c091ccd83a90654a559122d919646cc">Frb_C41417</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a52440437d3683bc2d87c4dc467b9da75">CURVE_W_C41417</a>[2];       </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aed611c5c71f4e6d449367e93940034ce">CURVE_SB_C41417</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a3ece30f35929011e319ab04a91dfeb52">CURVE_WB_C41417</a>[4];      </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a21f8efe92cbbe6505ae4ab5436e068b3">CURVE_BB_C41417</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__C41417.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__C41417.html#a2578ff27939476ed9e791e9a8679e0b4">  109</a></span>&#160;    <a class="code" href="structFP__C41417.html">FP_C41417</a> <a class="code" href="structECP__C41417.html#a2578ff27939476ed9e791e9a8679e0b4">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_C41417!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__C41417.html#a4be38d2f543f871520f7a79bd1b34b00">  111</a></span>&#160;    <a class="code" href="structFP__C41417.html">FP_C41417</a> <a class="code" href="structECP__C41417.html#a4be38d2f543f871520f7a79bd1b34b00">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__C41417.html#af64fe5623308d77cb539e2825a1a1d6b">  113</a></span>&#160;    <a class="code" href="structFP__C41417.html">FP_C41417</a> <a class="code" href="structECP__C41417.html#af64fe5623308d77cb539e2825a1a1d6b">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__C41417.html">ECP_C41417</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#ab22e18443858e61bb1b8e54746b2337b">ECP_C41417_isinf</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a2098ce1e4d012f86379c5fa37cd13b51">ECP_C41417_equals</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a83e6fc633085c5c5ce8b6703f190354c">ECP_C41417_copy</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</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="ecp__C41417_8h.html#ab7994a613f3c84adb32e4e7fde9b8d38">ECP_C41417_neg</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</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="ecp__C41417_8h.html#a64db4d948b7289317bd9edbdae29ab6f">ECP_C41417_inf</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a0f3d62b210e68df3c5b360cfeaad93d3">ECP_C41417_rhs</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *r,<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_C41417==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a7eaaa2fc35f293be9f8fd6ca998a0aee">ECP_C41417_set</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a8137fa3867bf8ade434fd11c11ffad57">ECP_C41417_get</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a1e00a71517be5e312e3b981249ceadd6">ECP_C41417_add</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a7eaaa2fc35f293be9f8fd6ca998a0aee">ECP_C41417_set</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a8137fa3867bf8ade434fd11c11ffad57">ECP_C41417_get</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a1e00a71517be5e312e3b981249ceadd6">ECP_C41417_add</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</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="ecp__C41417_8h.html#a200fbed434185e6df8374d6c7bfb7ee6">ECP_C41417_sub</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a6a991302580e44e12c16e7a310474b0f">ECP_C41417_setx</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a0c119d653a3b537834c8514223073dcc">ECP_C41417_cfp</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a68b214760cfad46413fae270122f399f">ECP_C41417_mapit</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#abb72b54a855a19726e6c889e603d5c94">ECP_C41417_affine</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a732732fd1b494fc16f92c00a28af223d">ECP_C41417_outputxyz</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</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="ecp__C41417_8h.html#aee59893066f97dc1211bd29b16d79b7c">ECP_C41417_output</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#ac45fa75db1c430370e733e9548d06981">ECP_C41417_rawoutput</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a8fb164f010415dd51c15840c9710731f">ECP_C41417_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#ad5c31ed989f7bfb58517cc7d6ce89bb9">ECP_C41417_fromOctet</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#aebeaf15c73775cc60f7f46fba66476ea">ECP_C41417_dbl</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#ae3e69914d6624f1287efa6b266776994">ECP_C41417_pinmul</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#af15073f7b07e5ed515ba1584b5196601">ECP_C41417_mul</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a9fd6591478b56cc4459ab36492bb940c">ECP_C41417_mul2</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> e,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a531392e0e6c84347ea32f4a6c87e4ac6">ECP_C41417_generator</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__C41417_8h_html_a3ece30f35929011e319ab04a91dfeb52"><div class="ttname"><a href="ecp__C41417_8h.html#a3ece30f35929011e319ab04a91dfeb52">CURVE_WB_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_WB_C41417[4]</div></div>
+<a href="ecp__C41417_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 ECP_C41417_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_C41417_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 &quot;<a class="code" href="fp__C41417_8h.html">fp_C41417.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_C41417.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a91177161edf18940cb116f529a3a8ff6">CURVE_A_C41417</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a78e9300b112c0758b50aa6c9c742677a">CURVE_Cof_I_C41417</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#ab5583acfdd50e462741901bf1c36422e">CURVE_B_I_C41417</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a171c4574f9b6eccfc64e81f8361afb0b">CURVE_B_C41417</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a2685a00cae7e921f2b9396032795a57b">CURVE_Order_C41417</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a652b753b980750d7c03daae29059098e">CURVE_Cof_C41417</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a3460481bc02a0d58275cf9ef09242ef9">CURVE_Gx_C41417</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a289259196ac6893968d823389717897d">CURVE_Gy_C41417</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ad4a6480e5a5f05d505ff88e23d131744">CURVE_Pxa_C41417</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#af464d730b7374467b9dffec8654e4091">CURVE_Pxb_C41417</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aa33701acd0d8023f4802863cdd3cb8ee">CURVE_Pya_C41417</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a56a48e5132b4d0140548d3abca2ba013">CURVE_Pyb_C41417</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a908eb2ec8e1d4af99705c791a495bc10">CURVE_Pxaa_C41417</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a67f2b1bbb2ee3aa628107cd949119b00">CURVE_Pxab_C41417</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a370ddab1cea758348b3a07defe740725">CURVE_Pxba_C41417</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a8dd953765a4f27f5b0e18535b20f9e75">CURVE_Pxbb_C41417</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aed6edf82cfbf185056a7cae9ca0caba4">CURVE_Pyaa_C41417</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ad31a1de65e8f2f9e4bbd8c327ad47779">CURVE_Pyab_C41417</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a576d4cd2805d276b2d7c45f9137b575d">CURVE_Pyba_C41417</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ad9fbd37e112bf5c839c2a6bb0a788079">CURVE_Pybb_C41417</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a7854d5b1fe01be68341c2d4646a2294a">CURVE_Pxaaa_C41417</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a40628ea80e24a98c25cdb2a0adc83ef9">CURVE_Pxaab_C41417</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ac69e604c617d597a02a07a40aca56a27">CURVE_Pxaba_C41417</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a85703c9dbdd31566a59c4e1a56bc3599">CURVE_Pxabb_C41417</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#af9874be96f31bb0ff9c554801454eab4">CURVE_Pxbaa_C41417</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#ab6e5bdcb626b34050b294ed4b978b420">CURVE_Pxbab_C41417</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a00f1ec7fde1eb6cc0d1e64bccd98ba60">CURVE_Pxbba_C41417</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#af29cb41073153adef39398e43eaf5787">CURVE_Pxbbb_C41417</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a5f2a5e768dd7280a086747bf96617158">CURVE_Pyaaa_C41417</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#abddf22badca5f01be77f1f4af520dbc4">CURVE_Pyaab_C41417</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a0ca107f75e960813f29fae97557783ca">CURVE_Pyaba_C41417</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a9057ecafea55f8b17af73b38ba08185a">CURVE_Pyabb_C41417</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a14757a0ccc99faf1327f8a53842aa742">CURVE_Pybaa_C41417</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a7315f73304bf88f3a64276a73a4c2008">CURVE_Pybab_C41417</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a9e1c9962b89c046bdfec8ae78f85f26c">CURVE_Pybba_C41417</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aa2585bdc03a058ef24354abb97ede6fa">CURVE_Pybbb_C41417</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a3f44b002a8e1e8109e0d73e3f983a557">CURVE_Bnx_C41417</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a31d1649c41751d9eb60192468ae9ad1d">CURVE_Cru_C41417</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a8085dda6341f7e05ab9a0d2bce9f3e5e">Fra_C41417</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a0c091ccd83a90654a559122d919646cc">Frb_C41417</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a52440437d3683bc2d87c4dc467b9da75">CURVE_W_C41417</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#aed611c5c71f4e6d449367e93940034ce">CURVE_SB_C41417</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a3ece30f35929011e319ab04a91dfeb52">CURVE_WB_C41417</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="ecp__C41417_8h.html#a21f8efe92cbbe6505ae4ab5436e068b3">CURVE_BB_C41417</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__C41417.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__C41417.html#a2578ff27939476ed9e791e9a8679e0b4">  109</a></span>&#160;    <a class="code" href="structFP__C41417.html">FP_C41417</a> <a class="code" href="structECP__C41417.html#a2578ff27939476ed9e791e9a8679e0b4">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_C41417!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__C41417.html#a4be38d2f543f871520f7a79bd1b34b00">  111</a></span>&#160;    <a class="code" href="structFP__C41417.html">FP_C41417</a> <a class="code" href="structECP__C41417.html#a4be38d2f543f871520f7a79bd1b34b00">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__C41417.html#af64fe5623308d77cb539e2825a1a1d6b">  113</a></span>&#160;    <a class="code" href="structFP__C41417.html">FP_C41417</a> <a class="code" href="structECP__C41417.html#af64fe5623308d77cb539e2825a1a1d6b">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__C41417.html">ECP_C41417</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#ab22e18443858e61bb1b8e54746b2337b">ECP_C41417_isinf</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a2098ce1e4d012f86379c5fa37cd13b51">ECP_C41417_equals</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a83e6fc633085c5c5ce8b6703f190354c">ECP_C41417_copy</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</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="ecp__C41417_8h.html#ab7994a613f3c84adb32e4e7fde9b8d38">ECP_C41417_neg</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</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="ecp__C41417_8h.html#a64db4d948b7289317bd9edbdae29ab6f">ECP_C41417_inf</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a0f3d62b210e68df3c5b360cfeaad93d3">ECP_C41417_rhs</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *r,<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_C41417==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a7eaaa2fc35f293be9f8fd6ca998a0aee">ECP_C41417_set</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a8137fa3867bf8ade434fd11c11ffad57">ECP_C41417_get</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a1e00a71517be5e312e3b981249ceadd6">ECP_C41417_add</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a7eaaa2fc35f293be9f8fd6ca998a0aee">ECP_C41417_set</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a8137fa3867bf8ade434fd11c11ffad57">ECP_C41417_get</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> y,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a1e00a71517be5e312e3b981249ceadd6">ECP_C41417_add</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</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="ecp__C41417_8h.html#a200fbed434185e6df8374d6c7bfb7ee6">ECP_C41417_sub</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#a6a991302580e44e12c16e7a310474b0f">ECP_C41417_setx</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a0c119d653a3b537834c8514223073dcc">ECP_C41417_cfp</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a68b214760cfad46413fae270122f399f">ECP_C41417_mapit</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#abb72b54a855a19726e6c889e603d5c94">ECP_C41417_affine</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a732732fd1b494fc16f92c00a28af223d">ECP_C41417_outputxyz</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</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="ecp__C41417_8h.html#aee59893066f97dc1211bd29b16d79b7c">ECP_C41417_output</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#ac45fa75db1c430370e733e9548d06981">ECP_C41417_rawoutput</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a8fb164f010415dd51c15840c9710731f">ECP_C41417_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__C41417_8h.html#ad5c31ed989f7bfb58517cc7d6ce89bb9">ECP_C41417_fromOctet</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#aebeaf15c73775cc60f7f46fba66476ea">ECP_C41417_dbl</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#ae3e69914d6624f1287efa6b266776994">ECP_C41417_pinmul</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#af15073f7b07e5ed515ba1584b5196601">ECP_C41417_mul</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a9fd6591478b56cc4459ab36492bb940c">ECP_C41417_mul2</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *P,<a class="code" href="structECP__C41417.html">ECP_C41417</a> *Q,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> e,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__C41417_8h.html#a531392e0e6c84347ea32f4a6c87e4ac6">ECP_C41417_generator</a>(<a class="code" href="structECP__C41417.html">ECP_C41417</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__C41417_8h_html_a3ece30f35929011e319ab04a91dfeb52"><div class="ttname"><a href="ecp__C41417_8h.html#a3ece30f35929011e319ab04a91dfeb52">CURVE_WB_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_WB_C41417[4]</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_af9874be96f31bb0ff9c554801454eab4"><div class="ttname"><a href="ecp__C41417_8h.html#af9874be96f31bb0ff9c554801454eab4">CURVE_Pxbaa_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxbaa_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a370ddab1cea758348b3a07defe740725"><div class="ttname"><a href="ecp__C41417_8h.html#a370ddab1cea758348b3a07defe740725">CURVE_Pxba_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxba_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a7315f73304bf88f3a64276a73a4c2008"><div class="ttname"><a href="ecp__C41417_8h.html#a7315f73304bf88f3a64276a73a4c2008">CURVE_Pybab_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pybab_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a8085dda6341f7e05ab9a0d2bce9f3e5e"><div class="ttname"><a href="ecp__C41417_8h.html#a8085dda6341f7e05ab9a0d2bce9f3e5e">Fra_C41417</a></div><div class="ttdeci">const BIG_416_60 Fra_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a200fbed434185e6df8374d6c7bfb7ee6"><div class="ttname"><a href="ecp__C41417_8h.html#a200fbed434185e6df8374d6c7bfb7ee6">ECP_C41417_sub</a></div><div class="ttdeci">void ECP_C41417_sub(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a200fbed434185e6df8374d6c7bfb7ee6"><div class="ttname"><a href="ecp__C41417_8h.html#a200fbed434185e6df8374d6c7bfb7ee6">ECP_C41417_sub</a></div><div class="ttdeci">void ECP_C41417_sub(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a78e9300b112c0758b50aa6c9c742677a"><div class="ttname"><a href="ecp__C41417_8h.html#a78e9300b112c0758b50aa6c9c742677a">CURVE_Cof_I_C41417</a></div><div class="ttdeci">const int CURVE_Cof_I_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a8137fa3867bf8ade434fd11c11ffad57"><div class="ttname"><a href="ecp__C41417_8h.html#a8137fa3867bf8ade434fd11c11ffad57">ECP_C41417_get</a></div><div class="ttdeci">int ECP_C41417_get(BIG_416_60 x, BIG_416_60 y, ECP_C41417 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a8137fa3867bf8ade434fd11c11ffad57"><div class="ttname"><a href="ecp__C41417_8h.html#a8137fa3867bf8ade434fd11c11ffad57">ECP_C41417_get</a></div><div class="ttdeci">int ECP_C41417_get(BIG_416_60 x, BIG_416_60 y, ECP_C41417 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a7854d5b1fe01be68341c2d4646a2294a"><div class="ttname"><a href="ecp__C41417_8h.html#a7854d5b1fe01be68341c2d4646a2294a">CURVE_Pxaaa_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxaaa_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a85703c9dbdd31566a59c4e1a56bc3599"><div class="ttname"><a href="ecp__C41417_8h.html#a85703c9dbdd31566a59c4e1a56bc3599">CURVE_Pxabb_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxabb_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_ab6e5bdcb626b34050b294ed4b978b420"><div class="ttname"><a href="ecp__C41417_8h.html#ab6e5bdcb626b34050b294ed4b978b420">CURVE_Pxbab_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxbab_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_ae3e69914d6624f1287efa6b266776994"><div class="ttname"><a href="ecp__C41417_8h.html#ae3e69914d6624f1287efa6b266776994">ECP_C41417_pinmul</a></div><div class="ttdeci">void ECP_C41417_pinmul(ECP_C41417 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_ae3e69914d6624f1287efa6b266776994"><div class="ttname"><a href="ecp__C41417_8h.html#ae3e69914d6624f1287efa6b266776994">ECP_C41417_pinmul</a></div><div class="ttdeci">void ECP_C41417_pinmul(ECP_C41417 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a52440437d3683bc2d87c4dc467b9da75"><div class="ttname"><a href="ecp__C41417_8h.html#a52440437d3683bc2d87c4dc467b9da75">CURVE_W_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_W_C41417[2]</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a576d4cd2805d276b2d7c45f9137b575d"><div class="ttname"><a href="ecp__C41417_8h.html#a576d4cd2805d276b2d7c45f9137b575d">CURVE_Pyba_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pyba_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a21f8efe92cbbe6505ae4ab5436e068b3"><div class="ttname"><a href="ecp__C41417_8h.html#a21f8efe92cbbe6505ae4ab5436e068b3">CURVE_BB_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_BB_C41417[4][4]</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a64db4d948b7289317bd9edbdae29ab6f"><div class="ttname"><a href="ecp__C41417_8h.html#a64db4d948b7289317bd9edbdae29ab6f">ECP_C41417_inf</a></div><div class="ttdeci">void ECP_C41417_inf(ECP_C41417 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:146</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a64db4d948b7289317bd9edbdae29ab6f"><div class="ttname"><a href="ecp__C41417_8h.html#a64db4d948b7289317bd9edbdae29ab6f">ECP_C41417_inf</a></div><div class="ttdeci">void ECP_C41417_inf(ECP_C41417 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:146</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_af29cb41073153adef39398e43eaf5787"><div class="ttname"><a href="ecp__C41417_8h.html#af29cb41073153adef39398e43eaf5787">CURVE_Pxbbb_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxbbb_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a1e00a71517be5e312e3b981249ceadd6"><div class="ttname"><a href="ecp__C41417_8h.html#a1e00a71517be5e312e3b981249ceadd6">ECP_C41417_add</a></div><div class="ttdeci">void ECP_C41417_add(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a7eaaa2fc35f293be9f8fd6ca998a0aee"><div class="ttname"><a href="ecp__C41417_8h.html#a7eaaa2fc35f293be9f8fd6ca998a0aee">ECP_C41417_set</a></div><div class="ttdeci">int ECP_C41417_set(ECP_C41417 *P, BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a1e00a71517be5e312e3b981249ceadd6"><div class="ttname"><a href="ecp__C41417_8h.html#a1e00a71517be5e312e3b981249ceadd6">ECP_C41417_add</a></div><div class="ttdeci">void ECP_C41417_add(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a7eaaa2fc35f293be9f8fd6ca998a0aee"><div class="ttname"><a href="ecp__C41417_8h.html#a7eaaa2fc35f293be9f8fd6ca998a0aee">ECP_C41417_set</a></div><div class="ttdeci">int ECP_C41417_set(ECP_C41417 *P, BIG_416_60 x, BIG_416_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_aa33701acd0d8023f4802863cdd3cb8ee"><div class="ttname"><a href="ecp__C41417_8h.html#aa33701acd0d8023f4802863cdd3cb8ee">CURVE_Pya_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pya_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a8fb164f010415dd51c15840c9710731f"><div class="ttname"><a href="ecp__C41417_8h.html#a8fb164f010415dd51c15840c9710731f">ECP_C41417_toOctet</a></div><div class="ttdeci">void ECP_C41417_toOctet(octet *S, ECP_C41417 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:507</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="ecp__C41417_8h_html_a9fd6591478b56cc4459ab36492bb940c"><div class="ttname"><a href="ecp__C41417_8h.html#a9fd6591478b56cc4459ab36492bb940c">ECP_C41417_mul2</a></div><div class="ttdeci">void ECP_C41417_mul2(ECP_C41417 *P, ECP_C41417 *Q, BIG_416_60 e, BIG_416_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</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="ecp__C41417_8h_html_a9fd6591478b56cc4459ab36492bb940c"><div class="ttname"><a href="ecp__C41417_8h.html#a9fd6591478b56cc4459ab36492bb940c">ECP_C41417_mul2</a></div><div class="ttdeci">void ECP_C41417_mul2(ECP_C41417 *P, ECP_C41417 *Q, BIG_416_60 e, BIG_416_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a171c4574f9b6eccfc64e81f8361afb0b"><div class="ttname"><a href="ecp__C41417_8h.html#a171c4574f9b6eccfc64e81f8361afb0b">CURVE_B_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_B_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a6a991302580e44e12c16e7a310474b0f"><div class="ttname"><a href="ecp__C41417_8h.html#a6a991302580e44e12c16e7a310474b0f">ECP_C41417_setx</a></div><div class="ttdeci">int ECP_C41417_setx(ECP_C41417 *P, BIG_416_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a6a991302580e44e12c16e7a310474b0f"><div class="ttname"><a href="ecp__C41417_8h.html#a6a991302580e44e12c16e7a310474b0f">ECP_C41417_setx</a></div><div class="ttdeci">int ECP_C41417_setx(ECP_C41417 *P, BIG_416_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a9057ecafea55f8b17af73b38ba08185a"><div class="ttname"><a href="ecp__C41417_8h.html#a9057ecafea55f8b17af73b38ba08185a">CURVE_Pyabb_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pyabb_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a56a48e5132b4d0140548d3abca2ba013"><div class="ttname"><a href="ecp__C41417_8h.html#a56a48e5132b4d0140548d3abca2ba013">CURVE_Pyb_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pyb_C41417</div></div>
-<div class="ttc" id="structECP__C41417_html"><div class="ttname"><a href="structECP__C41417.html">ECP_C41417</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.h:105</div></div>
+<div class="ttc" id="structECP__C41417_html"><div class="ttname"><a href="structECP__C41417.html">ECP_C41417</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.h:105</div></div>
 <div class="ttc" id="structECP__C41417_html_af64fe5623308d77cb539e2825a1a1d6b"><div class="ttname"><a href="structECP__C41417.html#af64fe5623308d77cb539e2825a1a1d6b">ECP_C41417::z</a></div><div class="ttdeci">FP_C41417 z</div><div class="ttdef"><b>Definition:</b> ecp_C41417.h:113</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a2098ce1e4d012f86379c5fa37cd13b51"><div class="ttname"><a href="ecp__C41417_8h.html#a2098ce1e4d012f86379c5fa37cd13b51">ECP_C41417_equals</a></div><div class="ttdeci">int ECP_C41417_equals(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:100</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_ab7994a613f3c84adb32e4e7fde9b8d38"><div class="ttname"><a href="ecp__C41417_8h.html#ab7994a613f3c84adb32e4e7fde9b8d38">ECP_C41417_neg</a></div><div class="ttdeci">void ECP_C41417_neg(ECP_C41417 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a2098ce1e4d012f86379c5fa37cd13b51"><div class="ttname"><a href="ecp__C41417_8h.html#a2098ce1e4d012f86379c5fa37cd13b51">ECP_C41417_equals</a></div><div class="ttdeci">int ECP_C41417_equals(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:100</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_ab7994a613f3c84adb32e4e7fde9b8d38"><div class="ttname"><a href="ecp__C41417_8h.html#ab7994a613f3c84adb32e4e7fde9b8d38">ECP_C41417_neg</a></div><div class="ttdeci">void ECP_C41417_neg(ECP_C41417 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_ad9fbd37e112bf5c839c2a6bb0a788079"><div class="ttname"><a href="ecp__C41417_8h.html#ad9fbd37e112bf5c839c2a6bb0a788079">CURVE_Pybb_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pybb_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_ad4a6480e5a5f05d505ff88e23d131744"><div class="ttname"><a href="ecp__C41417_8h.html#ad4a6480e5a5f05d505ff88e23d131744">CURVE_Pxa_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxa_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_ab5583acfdd50e462741901bf1c36422e"><div class="ttname"><a href="ecp__C41417_8h.html#ab5583acfdd50e462741901bf1c36422e">CURVE_B_I_C41417</a></div><div class="ttdeci">const int CURVE_B_I_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a68b214760cfad46413fae270122f399f"><div class="ttname"><a href="ecp__C41417_8h.html#a68b214760cfad46413fae270122f399f">ECP_C41417_mapit</a></div><div class="ttdeci">void ECP_C41417_mapit(ECP_C41417 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:365</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_aee59893066f97dc1211bd29b16d79b7c"><div class="ttname"><a href="ecp__C41417_8h.html#aee59893066f97dc1211bd29b16d79b7c">ECP_C41417_output</a></div><div class="ttdeci">void ECP_C41417_output(ECP_C41417 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:450</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a531392e0e6c84347ea32f4a6c87e4ac6"><div class="ttname"><a href="ecp__C41417_8h.html#a531392e0e6c84347ea32f4a6c87e4ac6">ECP_C41417_generator</a></div><div class="ttdeci">void ECP_C41417_generator(ECP_C41417 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:1221</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_abb72b54a855a19726e6c889e603d5c94"><div class="ttname"><a href="ecp__C41417_8h.html#abb72b54a855a19726e6c889e603d5c94">ECP_C41417_affine</a></div><div class="ttdeci">void ECP_C41417_affine(ECP_C41417 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:392</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a0c119d653a3b537834c8514223073dcc"><div class="ttname"><a href="ecp__C41417_8h.html#a0c119d653a3b537834c8514223073dcc">ECP_C41417_cfp</a></div><div class="ttdeci">void ECP_C41417_cfp(ECP_C41417 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:338</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a68b214760cfad46413fae270122f399f"><div class="ttname"><a href="ecp__C41417_8h.html#a68b214760cfad46413fae270122f399f">ECP_C41417_mapit</a></div><div class="ttdeci">void ECP_C41417_mapit(ECP_C41417 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:365</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_aee59893066f97dc1211bd29b16d79b7c"><div class="ttname"><a href="ecp__C41417_8h.html#aee59893066f97dc1211bd29b16d79b7c">ECP_C41417_output</a></div><div class="ttdeci">void ECP_C41417_output(ECP_C41417 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:450</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a531392e0e6c84347ea32f4a6c87e4ac6"><div class="ttname"><a href="ecp__C41417_8h.html#a531392e0e6c84347ea32f4a6c87e4ac6">ECP_C41417_generator</a></div><div class="ttdeci">void ECP_C41417_generator(ECP_C41417 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:1221</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_abb72b54a855a19726e6c889e603d5c94"><div class="ttname"><a href="ecp__C41417_8h.html#abb72b54a855a19726e6c889e603d5c94">ECP_C41417_affine</a></div><div class="ttdeci">void ECP_C41417_affine(ECP_C41417 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:392</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a0c119d653a3b537834c8514223073dcc"><div class="ttname"><a href="ecp__C41417_8h.html#a0c119d653a3b537834c8514223073dcc">ECP_C41417_cfp</a></div><div class="ttdeci">void ECP_C41417_cfp(ECP_C41417 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:338</div></div>
 <div class="ttc" id="big__416__60_8h_html_a44dd6638775981360035b72d63fa739b"><div class="ttname"><a href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a></div><div class="ttdeci">chunk BIG_416_60[NLEN_416_60]</div><div class="ttdef"><b>Definition:</b> big_416_60.h:58</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a31d1649c41751d9eb60192468ae9ad1d"><div class="ttname"><a href="ecp__C41417_8h.html#a31d1649c41751d9eb60192468ae9ad1d">CURVE_Cru_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Cru_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a0c091ccd83a90654a559122d919646cc"><div class="ttname"><a href="ecp__C41417_8h.html#a0c091ccd83a90654a559122d919646cc">Frb_C41417</a></div><div class="ttdeci">const BIG_416_60 Frb_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a289259196ac6893968d823389717897d"><div class="ttname"><a href="ecp__C41417_8h.html#a289259196ac6893968d823389717897d">CURVE_Gy_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Gy_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a83e6fc633085c5c5ce8b6703f190354c"><div class="ttname"><a href="ecp__C41417_8h.html#a83e6fc633085c5c5ce8b6703f190354c">ECP_C41417_copy</a></div><div class="ttdeci">void ECP_C41417_copy(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:120</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a0f3d62b210e68df3c5b360cfeaad93d3"><div class="ttname"><a href="ecp__C41417_8h.html#a0f3d62b210e68df3c5b360cfeaad93d3">ECP_C41417_rhs</a></div><div class="ttdeci">void ECP_C41417_rhs(FP_C41417 *r, FP_C41417 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:161</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a83e6fc633085c5c5ce8b6703f190354c"><div class="ttname"><a href="ecp__C41417_8h.html#a83e6fc633085c5c5ce8b6703f190354c">ECP_C41417_copy</a></div><div class="ttdeci">void ECP_C41417_copy(ECP_C41417 *P, ECP_C41417 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:120</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a0f3d62b210e68df3c5b360cfeaad93d3"><div class="ttname"><a href="ecp__C41417_8h.html#a0f3d62b210e68df3c5b360cfeaad93d3">ECP_C41417_rhs</a></div><div class="ttdeci">void ECP_C41417_rhs(FP_C41417 *r, FP_C41417 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:161</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a2685a00cae7e921f2b9396032795a57b"><div class="ttname"><a href="ecp__C41417_8h.html#a2685a00cae7e921f2b9396032795a57b">CURVE_Order_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Order_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a908eb2ec8e1d4af99705c791a495bc10"><div class="ttname"><a href="ecp__C41417_8h.html#a908eb2ec8e1d4af99705c791a495bc10">CURVE_Pxaa_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxaa_C41417</div></div>
-<div class="ttc" id="structFP__C41417_html"><div class="ttname"><a href="structFP__C41417.html">FP_C41417</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_C41417.h:38</div></div>
+<div class="ttc" id="structFP__C41417_html"><div class="ttname"><a href="structFP__C41417.html">FP_C41417</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_C41417.h:38</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a3460481bc02a0d58275cf9ef09242ef9"><div class="ttname"><a href="ecp__C41417_8h.html#a3460481bc02a0d58275cf9ef09242ef9">CURVE_Gx_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Gx_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_af15073f7b07e5ed515ba1584b5196601"><div class="ttname"><a href="ecp__C41417_8h.html#af15073f7b07e5ed515ba1584b5196601">ECP_C41417_mul</a></div><div class="ttdeci">void ECP_C41417_mul(ECP_C41417 *P, BIG_416_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:1021</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_a732732fd1b494fc16f92c00a28af223d"><div class="ttname"><a href="ecp__C41417_8h.html#a732732fd1b494fc16f92c00a28af223d">ECP_C41417_outputxyz</a></div><div class="ttdeci">void ECP_C41417_outputxyz(ECP_C41417 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:414</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_af15073f7b07e5ed515ba1584b5196601"><div class="ttname"><a href="ecp__C41417_8h.html#af15073f7b07e5ed515ba1584b5196601">ECP_C41417_mul</a></div><div class="ttdeci">void ECP_C41417_mul(ECP_C41417 *P, BIG_416_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:1021</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_a732732fd1b494fc16f92c00a28af223d"><div class="ttname"><a href="ecp__C41417_8h.html#a732732fd1b494fc16f92c00a28af223d">ECP_C41417_outputxyz</a></div><div class="ttdeci">void ECP_C41417_outputxyz(ECP_C41417 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:414</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a0ca107f75e960813f29fae97557783ca"><div class="ttname"><a href="ecp__C41417_8h.html#a0ca107f75e960813f29fae97557783ca">CURVE_Pyaba_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pyaba_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_ad5c31ed989f7bfb58517cc7d6ce89bb9"><div class="ttname"><a href="ecp__C41417_8h.html#ad5c31ed989f7bfb58517cc7d6ce89bb9">ECP_C41417_fromOctet</a></div><div class="ttdeci">int ECP_C41417_fromOctet(ECP_C41417 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:537</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_ad5c31ed989f7bfb58517cc7d6ce89bb9"><div class="ttname"><a href="ecp__C41417_8h.html#ad5c31ed989f7bfb58517cc7d6ce89bb9">ECP_C41417_fromOctet</a></div><div class="ttdeci">int ECP_C41417_fromOctet(ECP_C41417 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:537</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_abddf22badca5f01be77f1f4af520dbc4"><div class="ttname"><a href="ecp__C41417_8h.html#abddf22badca5f01be77f1f4af520dbc4">CURVE_Pyaab_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pyaab_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a8dd953765a4f27f5b0e18535b20f9e75"><div class="ttname"><a href="ecp__C41417_8h.html#a8dd953765a4f27f5b0e18535b20f9e75">CURVE_Pxbb_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxbb_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a3f44b002a8e1e8109e0d73e3f983a557"><div class="ttname"><a href="ecp__C41417_8h.html#a3f44b002a8e1e8109e0d73e3f983a557">CURVE_Bnx_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Bnx_C41417</div></div>
@@ -137,20 +140,20 @@
 <div class="ttc" id="ecp__C41417_8h_html_a14757a0ccc99faf1327f8a53842aa742"><div class="ttname"><a href="ecp__C41417_8h.html#a14757a0ccc99faf1327f8a53842aa742">CURVE_Pybaa_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pybaa_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_ad31a1de65e8f2f9e4bbd8c327ad47779"><div class="ttname"><a href="ecp__C41417_8h.html#ad31a1de65e8f2f9e4bbd8c327ad47779">CURVE_Pyab_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pyab_C41417</div></div>
 <div class="ttc" id="structECP__C41417_html_a2578ff27939476ed9e791e9a8679e0b4"><div class="ttname"><a href="structECP__C41417.html#a2578ff27939476ed9e791e9a8679e0b4">ECP_C41417::x</a></div><div class="ttdeci">FP_C41417 x</div><div class="ttdef"><b>Definition:</b> ecp_C41417.h:109</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_aebeaf15c73775cc60f7f46fba66476ea"><div class="ttname"><a href="ecp__C41417_8h.html#aebeaf15c73775cc60f7f46fba66476ea">ECP_C41417_dbl</a></div><div class="ttdeci">void ECP_C41417_dbl(ECP_C41417 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:564</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_aebeaf15c73775cc60f7f46fba66476ea"><div class="ttname"><a href="ecp__C41417_8h.html#aebeaf15c73775cc60f7f46fba66476ea">ECP_C41417_dbl</a></div><div class="ttdeci">void ECP_C41417_dbl(ECP_C41417 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:564</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_aed611c5c71f4e6d449367e93940034ce"><div class="ttname"><a href="ecp__C41417_8h.html#aed611c5c71f4e6d449367e93940034ce">CURVE_SB_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_SB_C41417[2][2]</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a00f1ec7fde1eb6cc0d1e64bccd98ba60"><div class="ttname"><a href="ecp__C41417_8h.html#a00f1ec7fde1eb6cc0d1e64bccd98ba60">CURVE_Pxbba_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxbba_C41417</div></div>
 <div class="ttc" id="ecp__C41417_8h_html_a5f2a5e768dd7280a086747bf96617158"><div class="ttname"><a href="ecp__C41417_8h.html#a5f2a5e768dd7280a086747bf96617158">CURVE_Pyaaa_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pyaaa_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_ab22e18443858e61bb1b8e54746b2337b"><div class="ttname"><a href="ecp__C41417_8h.html#ab22e18443858e61bb1b8e54746b2337b">ECP_C41417_isinf</a></div><div class="ttdeci">int ECP_C41417_isinf(ECP_C41417 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:28</div></div>
-<div class="ttc" id="fp__C41417_8h_html"><div class="ttname"><a href="fp__C41417_8h.html">fp_C41417.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_ab22e18443858e61bb1b8e54746b2337b"><div class="ttname"><a href="ecp__C41417_8h.html#ab22e18443858e61bb1b8e54746b2337b">ECP_C41417_isinf</a></div><div class="ttdeci">int ECP_C41417_isinf(ECP_C41417 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:28</div></div>
+<div class="ttc" id="fp__C41417_8h_html"><div class="ttname"><a href="fp__C41417_8h.html">fp_C41417.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__C41417_8h_html_af464d730b7374467b9dffec8654e4091"><div class="ttname"><a href="ecp__C41417_8h.html#af464d730b7374467b9dffec8654e4091">CURVE_Pxb_C41417</a></div><div class="ttdeci">const BIG_416_60 CURVE_Pxb_C41417</div></div>
-<div class="ttc" id="ecp__C41417_8h_html_ac45fa75db1c430370e733e9548d06981"><div class="ttname"><a href="ecp__C41417_8h.html#ac45fa75db1c430370e733e9548d06981">ECP_C41417_rawoutput</a></div><div class="ttdeci">void ECP_C41417_rawoutput(ECP_C41417 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:478</div></div>
+<div class="ttc" id="ecp__C41417_8h_html_ac45fa75db1c430370e733e9548d06981"><div class="ttname"><a href="ecp__C41417_8h.html#ac45fa75db1c430370e733e9548d06981">ECP_C41417_rawoutput</a></div><div class="ttdeci">void ECP_C41417_rawoutput(ECP_C41417 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_C41417.c:478</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/ecp__ED25519_8h.html b/website/static/cdocs/ecp__ED25519_8h.html
index e338fe2..c58b0c0 100644
--- a/website/static/cdocs/ecp__ED25519_8h.html
+++ b/website/static/cdocs/ecp__ED25519_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: ecp_ED25519.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"
@@ -1705,7 +1708,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/ecp__ED25519_8h_source.html b/website/static/cdocs/ecp__ED25519_8h_source.html
index 68e418a..275984c 100644
--- a/website/static/cdocs/ecp__ED25519_8h_source.html
+++ b/website/static/cdocs/ecp__ED25519_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: ecp_ED25519.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,18 +72,18 @@
 <div class="title">ecp_ED25519.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__ED25519_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 ECP_ED25519_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_ED25519_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 &quot;<a class="code" href="fp__25519_8h.html">fp_25519.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_ED25519.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a29d8d6759d1b5c8076c678f01fe5d50d">CURVE_A_ED25519</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a3bdca78cb7e0548496404ca3da8c0157">CURVE_Cof_I_ED25519</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a8b65bfe8c985d8b43902ae07836c0134">CURVE_B_I_ED25519</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a0f87cb1218770e681ca730701e06e16a">CURVE_B_ED25519</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ac90132e556982338e897c74f112edb28">CURVE_Order_ED25519</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aa7c9c68911f85746d6ecfefb750c431f">CURVE_Cof_ED25519</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#adeec5af250a725951b0da66554ef687f">CURVE_Gx_ED25519</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ae574bb7b69994b5758fe4ae297a2282a">CURVE_Gy_ED25519</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a250abff470e62b436d08aafdd5ce5a4c">CURVE_Pxa_ED25519</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a592ac08ae6874167631354ea3a39f272">CURVE_Pxb_ED25519</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a8ce89833f69eeedd36a26e798487b698">CURVE_Pya_ED25519</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a812f23f1af505906e4b4fc8c7b20233c">CURVE_Pyb_ED25519</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a481c6d1733e195064628f7b2cbee3486">CURVE_Pxaa_ED25519</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aab8cff46878b7ace8f1df92672981716">CURVE_Pxab_ED25519</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a6e26302f7b2ee39f94078fb3895e293c">CURVE_Pxba_ED25519</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a7b49f3ebaeb357f5f8c16fe7b1355cc4">CURVE_Pxbb_ED25519</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ae9d07c2fa4fa4ac04bdb18c18277d85d">CURVE_Pyaa_ED25519</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a2df23f1ad8375a2b015e4ff0c13dd84d">CURVE_Pyab_ED25519</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#af2e45d05f93ae4dc08195f390a3d5569">CURVE_Pyba_ED25519</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a55c4861bcf109ad56aad0d5d9508e12a">CURVE_Pybb_ED25519</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#abadb93b349cee5338521103a78260f4b">CURVE_Pxaaa_ED25519</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aa55bf105b93f5671677c8d30002c6ac3">CURVE_Pxaab_ED25519</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#abea7130b8b9e168182de24742549f2d5">CURVE_Pxaba_ED25519</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a42907883490e7632e9e4648252ece388">CURVE_Pxabb_ED25519</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#addf137c0ec5784917b7f294b72417c1a">CURVE_Pxbaa_ED25519</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a1605bcc36a9d4ac7947e7e84f202964a">CURVE_Pxbab_ED25519</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a0b7835df1df36eb3e95306569a951a26">CURVE_Pxbba_ED25519</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ac8cc85d549205352a08e9886fb3a9739">CURVE_Pxbbb_ED25519</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a7acfd5372c244174bbf731fc19619a4c">CURVE_Pyaaa_ED25519</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a88b9e2c81617b105f581b0a655d245e7">CURVE_Pyaab_ED25519</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a51dd94fd559a0c719b5d8d6ce76b37da">CURVE_Pyaba_ED25519</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a906b4bbb3793de7578b77e364b74712d">CURVE_Pyabb_ED25519</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a72850da2b3ae5eab6fb6f074087be17a">CURVE_Pybaa_ED25519</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#af3a1f558a1212241cbc731f11e5a5c98">CURVE_Pybab_ED25519</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a5636eff900b69a0db2dc90fda34d90f0">CURVE_Pybba_ED25519</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#afa765b1f01710cc8a39130589acdcd21">CURVE_Pybbb_ED25519</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a44e49854412f949174b0b1886054662d">CURVE_Bnx_ED25519</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aed7b4436152203c089e436eba102d53a">CURVE_Cru_ED25519</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">Fra_25519</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a18f544766d5428e6cff728a9acc9aa6a">Frb_25519</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a04ba069eed9a00bf53734e710d56b0e1">CURVE_W_ED25519</a>[2];      </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ab13985cdd9091efefd97edd75b23b54e">CURVE_SB_ED25519</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a02203c1667b10d9e9b5be4fdbb68b895">CURVE_WB_ED25519</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a7ab2107067ba5dd357bd4da86c51f429">CURVE_BB_ED25519</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__ED25519.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__ED25519.html#a19c0102250ef8dfcadbdf8008a4d7e83">  109</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__ED25519.html#a19c0102250ef8dfcadbdf8008a4d7e83">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_ED25519!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__ED25519.html#a7a3e2a9ada63586477b796193dd9c0ed">  111</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__ED25519.html#a7a3e2a9ada63586477b796193dd9c0ed">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__ED25519.html#a0f5becc7fa0a3a3d3f56767810c3462d">  113</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__ED25519.html#a0f5becc7fa0a3a3d3f56767810c3462d">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__ED25519.html">ECP_ED25519</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a4de1d599b1d3802a340bc60cfb6d108a">ECP_ED25519_isinf</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a9a2b1e8fed745020df4637d9efd729a7">ECP_ED25519_equals</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#ac6640e41d469caf79cc200c27cec2384">ECP_ED25519_copy</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</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="ecp__ED25519_8h.html#a7a7f790145d7769a5f67e10b181272aa">ECP_ED25519_neg</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</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="ecp__ED25519_8h.html#a0df1002ac8231c5c1fe00d72e2c1657c">ECP_ED25519_inf</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#aa4cf1c846864ebf5fe85e33c1186bbfa">ECP_ED25519_rhs</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *r,<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_ED25519==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#adab6ef3b264500cccf203bca306c47df">ECP_ED25519_set</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#ad457be4fc3f122fd62dacb29896afffb">ECP_ED25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#aea8123820758ddd11585c9c5f4a992cd">ECP_ED25519_add</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#adab6ef3b264500cccf203bca306c47df">ECP_ED25519_set</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#ad457be4fc3f122fd62dacb29896afffb">ECP_ED25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#aea8123820758ddd11585c9c5f4a992cd">ECP_ED25519_add</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</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="ecp__ED25519_8h.html#a018591e1766fec62e0e647e16ed93321">ECP_ED25519_sub</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a649da22f43cad176c39a66fc3d7f5d23">ECP_ED25519_setx</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#ac76f36390a9f328da1b6faddbdc7cabf">ECP_ED25519_cfp</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a5c2bfda5937d0f7d673772dae86b422b">ECP_ED25519_mapit</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a9fb4383693841ea99063437baaf62301">ECP_ED25519_affine</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#afd8ffcd2d9dc9e237f62f5081fd8a2b4">ECP_ED25519_outputxyz</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</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="ecp__ED25519_8h.html#ac4f4e21fb11999c1c7d8d2473b9e33dc">ECP_ED25519_output</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a5618ec7c8f0e083b70550130774fe45b">ECP_ED25519_rawoutput</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#ad6f7fce3fcbdf2adab55389794fc4391">ECP_ED25519_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#ab8a56298765e0a548d62c1cb7f04032c">ECP_ED25519_fromOctet</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a11de4b003a23cbee8e20b07688a2964c">ECP_ED25519_dbl</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a92692fe2e28f535a7b81cd3f43c780b0">ECP_ED25519_pinmul</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a398acebb88016c2b3b88837b94a7199c">ECP_ED25519_mul</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a5e4bd5a563075291abdc88db872e4e5b">ECP_ED25519_mul2</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a935e8cc161993402e3ed2392cbd922d5">ECP_ED25519_generator</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__ED25519_8h_html_a481c6d1733e195064628f7b2cbee3486"><div class="ttname"><a href="ecp__ED25519_8h.html#a481c6d1733e195064628f7b2cbee3486">CURVE_Pxaa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_ab8a56298765e0a548d62c1cb7f04032c"><div class="ttname"><a href="ecp__ED25519_8h.html#ab8a56298765e0a548d62c1cb7f04032c">ECP_ED25519_fromOctet</a></div><div class="ttdeci">int ECP_ED25519_fromOctet(ECP_ED25519 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:537</div></div>
+<a href="ecp__ED25519_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 ECP_ED25519_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_ED25519_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 &quot;<a class="code" href="fp__25519_8h.html">fp_25519.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_ED25519.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a29d8d6759d1b5c8076c678f01fe5d50d">CURVE_A_ED25519</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a3bdca78cb7e0548496404ca3da8c0157">CURVE_Cof_I_ED25519</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a8b65bfe8c985d8b43902ae07836c0134">CURVE_B_I_ED25519</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a0f87cb1218770e681ca730701e06e16a">CURVE_B_ED25519</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ac90132e556982338e897c74f112edb28">CURVE_Order_ED25519</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aa7c9c68911f85746d6ecfefb750c431f">CURVE_Cof_ED25519</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#adeec5af250a725951b0da66554ef687f">CURVE_Gx_ED25519</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ae574bb7b69994b5758fe4ae297a2282a">CURVE_Gy_ED25519</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a250abff470e62b436d08aafdd5ce5a4c">CURVE_Pxa_ED25519</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a592ac08ae6874167631354ea3a39f272">CURVE_Pxb_ED25519</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a8ce89833f69eeedd36a26e798487b698">CURVE_Pya_ED25519</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a812f23f1af505906e4b4fc8c7b20233c">CURVE_Pyb_ED25519</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a481c6d1733e195064628f7b2cbee3486">CURVE_Pxaa_ED25519</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aab8cff46878b7ace8f1df92672981716">CURVE_Pxab_ED25519</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a6e26302f7b2ee39f94078fb3895e293c">CURVE_Pxba_ED25519</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a7b49f3ebaeb357f5f8c16fe7b1355cc4">CURVE_Pxbb_ED25519</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ae9d07c2fa4fa4ac04bdb18c18277d85d">CURVE_Pyaa_ED25519</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a2df23f1ad8375a2b015e4ff0c13dd84d">CURVE_Pyab_ED25519</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#af2e45d05f93ae4dc08195f390a3d5569">CURVE_Pyba_ED25519</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a55c4861bcf109ad56aad0d5d9508e12a">CURVE_Pybb_ED25519</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#abadb93b349cee5338521103a78260f4b">CURVE_Pxaaa_ED25519</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aa55bf105b93f5671677c8d30002c6ac3">CURVE_Pxaab_ED25519</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#abea7130b8b9e168182de24742549f2d5">CURVE_Pxaba_ED25519</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a42907883490e7632e9e4648252ece388">CURVE_Pxabb_ED25519</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#addf137c0ec5784917b7f294b72417c1a">CURVE_Pxbaa_ED25519</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a1605bcc36a9d4ac7947e7e84f202964a">CURVE_Pxbab_ED25519</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a0b7835df1df36eb3e95306569a951a26">CURVE_Pxbba_ED25519</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ac8cc85d549205352a08e9886fb3a9739">CURVE_Pxbbb_ED25519</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a7acfd5372c244174bbf731fc19619a4c">CURVE_Pyaaa_ED25519</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a88b9e2c81617b105f581b0a655d245e7">CURVE_Pyaab_ED25519</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a51dd94fd559a0c719b5d8d6ce76b37da">CURVE_Pyaba_ED25519</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a906b4bbb3793de7578b77e364b74712d">CURVE_Pyabb_ED25519</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a72850da2b3ae5eab6fb6f074087be17a">CURVE_Pybaa_ED25519</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#af3a1f558a1212241cbc731f11e5a5c98">CURVE_Pybab_ED25519</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a5636eff900b69a0db2dc90fda34d90f0">CURVE_Pybba_ED25519</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#afa765b1f01710cc8a39130589acdcd21">CURVE_Pybbb_ED25519</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a44e49854412f949174b0b1886054662d">CURVE_Bnx_ED25519</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#aed7b4436152203c089e436eba102d53a">CURVE_Cru_ED25519</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">Fra_25519</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a18f544766d5428e6cff728a9acc9aa6a">Frb_25519</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a04ba069eed9a00bf53734e710d56b0e1">CURVE_W_ED25519</a>[2];  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#ab13985cdd9091efefd97edd75b23b54e">CURVE_SB_ED25519</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a02203c1667b10d9e9b5be4fdbb68b895">CURVE_WB_ED25519</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__ED25519_8h.html#a7ab2107067ba5dd357bd4da86c51f429">CURVE_BB_ED25519</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__ED25519.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__ED25519.html#a19c0102250ef8dfcadbdf8008a4d7e83">  109</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__ED25519.html#a19c0102250ef8dfcadbdf8008a4d7e83">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_ED25519!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__ED25519.html#a7a3e2a9ada63586477b796193dd9c0ed">  111</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__ED25519.html#a7a3e2a9ada63586477b796193dd9c0ed">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__ED25519.html#a0f5becc7fa0a3a3d3f56767810c3462d">  113</a></span>&#160;    <a class="code" href="structFP__25519.html">FP_25519</a> <a class="code" href="structECP__ED25519.html#a0f5becc7fa0a3a3d3f56767810c3462d">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__ED25519.html">ECP_ED25519</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a4de1d599b1d3802a340bc60cfb6d108a">ECP_ED25519_isinf</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a9a2b1e8fed745020df4637d9efd729a7">ECP_ED25519_equals</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#ac6640e41d469caf79cc200c27cec2384">ECP_ED25519_copy</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</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="ecp__ED25519_8h.html#a7a7f790145d7769a5f67e10b181272aa">ECP_ED25519_neg</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</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="ecp__ED25519_8h.html#a0df1002ac8231c5c1fe00d72e2c1657c">ECP_ED25519_inf</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#aa4cf1c846864ebf5fe85e33c1186bbfa">ECP_ED25519_rhs</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *r,<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_ED25519==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#adab6ef3b264500cccf203bca306c47df">ECP_ED25519_set</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#ad457be4fc3f122fd62dacb29896afffb">ECP_ED25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#aea8123820758ddd11585c9c5f4a992cd">ECP_ED25519_add</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#adab6ef3b264500cccf203bca306c47df">ECP_ED25519_set</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#ad457be4fc3f122fd62dacb29896afffb">ECP_ED25519_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#aea8123820758ddd11585c9c5f4a992cd">ECP_ED25519_add</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</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="ecp__ED25519_8h.html#a018591e1766fec62e0e647e16ed93321">ECP_ED25519_sub</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#a649da22f43cad176c39a66fc3d7f5d23">ECP_ED25519_setx</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#ac76f36390a9f328da1b6faddbdc7cabf">ECP_ED25519_cfp</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a5c2bfda5937d0f7d673772dae86b422b">ECP_ED25519_mapit</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a9fb4383693841ea99063437baaf62301">ECP_ED25519_affine</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#afd8ffcd2d9dc9e237f62f5081fd8a2b4">ECP_ED25519_outputxyz</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</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="ecp__ED25519_8h.html#ac4f4e21fb11999c1c7d8d2473b9e33dc">ECP_ED25519_output</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a5618ec7c8f0e083b70550130774fe45b">ECP_ED25519_rawoutput</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#ad6f7fce3fcbdf2adab55389794fc4391">ECP_ED25519_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__ED25519_8h.html#ab8a56298765e0a548d62c1cb7f04032c">ECP_ED25519_fromOctet</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a11de4b003a23cbee8e20b07688a2964c">ECP_ED25519_dbl</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a92692fe2e28f535a7b81cd3f43c780b0">ECP_ED25519_pinmul</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a398acebb88016c2b3b88837b94a7199c">ECP_ED25519_mul</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a5e4bd5a563075291abdc88db872e4e5b">ECP_ED25519_mul2</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *P,<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__ED25519_8h.html#a935e8cc161993402e3ed2392cbd922d5">ECP_ED25519_generator</a>(<a class="code" href="structECP__ED25519.html">ECP_ED25519</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__ED25519_8h_html_a481c6d1733e195064628f7b2cbee3486"><div class="ttname"><a href="ecp__ED25519_8h.html#a481c6d1733e195064628f7b2cbee3486">CURVE_Pxaa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_ED25519</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_ab8a56298765e0a548d62c1cb7f04032c"><div class="ttname"><a href="ecp__ED25519_8h.html#ab8a56298765e0a548d62c1cb7f04032c">ECP_ED25519_fromOctet</a></div><div class="ttdeci">int ECP_ED25519_fromOctet(ECP_ED25519 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:537</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a02203c1667b10d9e9b5be4fdbb68b895"><div class="ttname"><a href="ecp__ED25519_8h.html#a02203c1667b10d9e9b5be4fdbb68b895">CURVE_WB_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_ED25519[4]</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_af3a1f558a1212241cbc731f11e5a5c98"><div class="ttname"><a href="ecp__ED25519_8h.html#af3a1f558a1212241cbc731f11e5a5c98">CURVE_Pybab_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a1605bcc36a9d4ac7947e7e84f202964a"><div class="ttname"><a href="ecp__ED25519_8h.html#a1605bcc36a9d4ac7947e7e84f202964a">CURVE_Pxbab_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a92692fe2e28f535a7b81cd3f43c780b0"><div class="ttname"><a href="ecp__ED25519_8h.html#a92692fe2e28f535a7b81cd3f43c780b0">ECP_ED25519_pinmul</a></div><div class="ttdeci">void ECP_ED25519_pinmul(ECP_ED25519 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a92692fe2e28f535a7b81cd3f43c780b0"><div class="ttname"><a href="ecp__ED25519_8h.html#a92692fe2e28f535a7b81cd3f43c780b0">ECP_ED25519_pinmul</a></div><div class="ttdeci">void ECP_ED25519_pinmul(ECP_ED25519 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="structECP__ED25519_html_a0f5becc7fa0a3a3d3f56767810c3462d"><div class="ttname"><a href="structECP__ED25519.html#a0f5becc7fa0a3a3d3f56767810c3462d">ECP_ED25519::z</a></div><div class="ttdeci">FP_25519 z</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.h:113</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a906b4bbb3793de7578b77e364b74712d"><div class="ttname"><a href="ecp__ED25519_8h.html#a906b4bbb3793de7578b77e364b74712d">CURVE_Pyabb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a24bc14182cb7bd0a6ec8c87f05fdc91f"><div class="ttname"><a href="ecp__ED25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">Fra_25519</a></div><div class="ttdeci">const BIG_256_56 Fra_25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a04ba069eed9a00bf53734e710d56b0e1"><div class="ttname"><a href="ecp__ED25519_8h.html#a04ba069eed9a00bf53734e710d56b0e1">CURVE_W_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_ED25519[2]</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a72850da2b3ae5eab6fb6f074087be17a"><div class="ttname"><a href="ecp__ED25519_8h.html#a72850da2b3ae5eab6fb6f074087be17a">CURVE_Pybaa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a0df1002ac8231c5c1fe00d72e2c1657c"><div class="ttname"><a href="ecp__ED25519_8h.html#a0df1002ac8231c5c1fe00d72e2c1657c">ECP_ED25519_inf</a></div><div class="ttdeci">void ECP_ED25519_inf(ECP_ED25519 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:146</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a0df1002ac8231c5c1fe00d72e2c1657c"><div class="ttname"><a href="ecp__ED25519_8h.html#a0df1002ac8231c5c1fe00d72e2c1657c">ECP_ED25519_inf</a></div><div class="ttdeci">void ECP_ED25519_inf(ECP_ED25519 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:146</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a592ac08ae6874167631354ea3a39f272"><div class="ttname"><a href="ecp__ED25519_8h.html#a592ac08ae6874167631354ea3a39f272">CURVE_Pxb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a2df23f1ad8375a2b015e4ff0c13dd84d"><div class="ttname"><a href="ecp__ED25519_8h.html#a2df23f1ad8375a2b015e4ff0c13dd84d">CURVE_Pyab_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_ae9d07c2fa4fa4ac04bdb18c18277d85d"><div class="ttname"><a href="ecp__ED25519_8h.html#ae9d07c2fa4fa4ac04bdb18c18277d85d">CURVE_Pyaa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_ED25519</div></div>
@@ -88,55 +91,55 @@
 <div class="ttc" id="ecp__ED25519_8h_html_ae574bb7b69994b5758fe4ae297a2282a"><div class="ttname"><a href="ecp__ED25519_8h.html#ae574bb7b69994b5758fe4ae297a2282a">CURVE_Gy_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a6e26302f7b2ee39f94078fb3895e293c"><div class="ttname"><a href="ecp__ED25519_8h.html#a6e26302f7b2ee39f94078fb3895e293c">CURVE_Pxba_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a0f87cb1218770e681ca730701e06e16a"><div class="ttname"><a href="ecp__ED25519_8h.html#a0f87cb1218770e681ca730701e06e16a">CURVE_B_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_ac6640e41d469caf79cc200c27cec2384"><div class="ttname"><a href="ecp__ED25519_8h.html#ac6640e41d469caf79cc200c27cec2384">ECP_ED25519_copy</a></div><div class="ttdeci">void ECP_ED25519_copy(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:120</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a5e4bd5a563075291abdc88db872e4e5b"><div class="ttname"><a href="ecp__ED25519_8h.html#a5e4bd5a563075291abdc88db872e4e5b">ECP_ED25519_mul2</a></div><div class="ttdeci">void ECP_ED25519_mul2(ECP_ED25519 *P, ECP_ED25519 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_ac6640e41d469caf79cc200c27cec2384"><div class="ttname"><a href="ecp__ED25519_8h.html#ac6640e41d469caf79cc200c27cec2384">ECP_ED25519_copy</a></div><div class="ttdeci">void ECP_ED25519_copy(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:120</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a5e4bd5a563075291abdc88db872e4e5b"><div class="ttname"><a href="ecp__ED25519_8h.html#a5e4bd5a563075291abdc88db872e4e5b">ECP_ED25519_mul2</a></div><div class="ttdeci">void ECP_ED25519_mul2(ECP_ED25519 *P, ECP_ED25519 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a42907883490e7632e9e4648252ece388"><div class="ttname"><a href="ecp__ED25519_8h.html#a42907883490e7632e9e4648252ece388">CURVE_Pxabb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_ED25519</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="ecp__ED25519_8h_html_a398acebb88016c2b3b88837b94a7199c"><div class="ttname"><a href="ecp__ED25519_8h.html#a398acebb88016c2b3b88837b94a7199c">ECP_ED25519_mul</a></div><div class="ttdeci">void ECP_ED25519_mul(ECP_ED25519 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:1021</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a4de1d599b1d3802a340bc60cfb6d108a"><div class="ttname"><a href="ecp__ED25519_8h.html#a4de1d599b1d3802a340bc60cfb6d108a">ECP_ED25519_isinf</a></div><div class="ttdeci">int ECP_ED25519_isinf(ECP_ED25519 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:28</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="ecp__ED25519_8h_html_a398acebb88016c2b3b88837b94a7199c"><div class="ttname"><a href="ecp__ED25519_8h.html#a398acebb88016c2b3b88837b94a7199c">ECP_ED25519_mul</a></div><div class="ttdeci">void ECP_ED25519_mul(ECP_ED25519 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:1021</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a4de1d599b1d3802a340bc60cfb6d108a"><div class="ttname"><a href="ecp__ED25519_8h.html#a4de1d599b1d3802a340bc60cfb6d108a">ECP_ED25519_isinf</a></div><div class="ttdeci">int ECP_ED25519_isinf(ECP_ED25519 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:28</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a88b9e2c81617b105f581b0a655d245e7"><div class="ttname"><a href="ecp__ED25519_8h.html#a88b9e2c81617b105f581b0a655d245e7">CURVE_Pyaab_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a812f23f1af505906e4b4fc8c7b20233c"><div class="ttname"><a href="ecp__ED25519_8h.html#a812f23f1af505906e4b4fc8c7b20233c">CURVE_Pyb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a7ab2107067ba5dd357bd4da86c51f429"><div class="ttname"><a href="ecp__ED25519_8h.html#a7ab2107067ba5dd357bd4da86c51f429">CURVE_BB_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_ED25519[4][4]</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_abadb93b349cee5338521103a78260f4b"><div class="ttname"><a href="ecp__ED25519_8h.html#abadb93b349cee5338521103a78260f4b">CURVE_Pxaaa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a5636eff900b69a0db2dc90fda34d90f0"><div class="ttname"><a href="ecp__ED25519_8h.html#a5636eff900b69a0db2dc90fda34d90f0">CURVE_Pybba_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_ED25519</div></div>
 <div class="ttc" id="structECP__ED25519_html_a19c0102250ef8dfcadbdf8008a4d7e83"><div class="ttname"><a href="structECP__ED25519.html#a19c0102250ef8dfcadbdf8008a4d7e83">ECP_ED25519::x</a></div><div class="ttdeci">FP_25519 x</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.h:109</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_ac76f36390a9f328da1b6faddbdc7cabf"><div class="ttname"><a href="ecp__ED25519_8h.html#ac76f36390a9f328da1b6faddbdc7cabf">ECP_ED25519_cfp</a></div><div class="ttdeci">void ECP_ED25519_cfp(ECP_ED25519 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:338</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_ac76f36390a9f328da1b6faddbdc7cabf"><div class="ttname"><a href="ecp__ED25519_8h.html#ac76f36390a9f328da1b6faddbdc7cabf">ECP_ED25519_cfp</a></div><div class="ttdeci">void ECP_ED25519_cfp(ECP_ED25519 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:338</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_ac90132e556982338e897c74f112edb28"><div class="ttname"><a href="ecp__ED25519_8h.html#ac90132e556982338e897c74f112edb28">CURVE_Order_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_ac4f4e21fb11999c1c7d8d2473b9e33dc"><div class="ttname"><a href="ecp__ED25519_8h.html#ac4f4e21fb11999c1c7d8d2473b9e33dc">ECP_ED25519_output</a></div><div class="ttdeci">void ECP_ED25519_output(ECP_ED25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:450</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_aea8123820758ddd11585c9c5f4a992cd"><div class="ttname"><a href="ecp__ED25519_8h.html#aea8123820758ddd11585c9c5f4a992cd">ECP_ED25519_add</a></div><div class="ttdeci">void ECP_ED25519_add(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_ac4f4e21fb11999c1c7d8d2473b9e33dc"><div class="ttname"><a href="ecp__ED25519_8h.html#ac4f4e21fb11999c1c7d8d2473b9e33dc">ECP_ED25519_output</a></div><div class="ttdeci">void ECP_ED25519_output(ECP_ED25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:450</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_aea8123820758ddd11585c9c5f4a992cd"><div class="ttname"><a href="ecp__ED25519_8h.html#aea8123820758ddd11585c9c5f4a992cd">ECP_ED25519_add</a></div><div class="ttdeci">void ECP_ED25519_add(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a44e49854412f949174b0b1886054662d"><div class="ttname"><a href="ecp__ED25519_8h.html#a44e49854412f949174b0b1886054662d">CURVE_Bnx_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_ab13985cdd9091efefd97edd75b23b54e"><div class="ttname"><a href="ecp__ED25519_8h.html#ab13985cdd9091efefd97edd75b23b54e">CURVE_SB_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_ED25519[2][2]</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a51dd94fd559a0c719b5d8d6ce76b37da"><div class="ttname"><a href="ecp__ED25519_8h.html#a51dd94fd559a0c719b5d8d6ce76b37da">CURVE_Pyaba_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_afd8ffcd2d9dc9e237f62f5081fd8a2b4"><div class="ttname"><a href="ecp__ED25519_8h.html#afd8ffcd2d9dc9e237f62f5081fd8a2b4">ECP_ED25519_outputxyz</a></div><div class="ttdeci">void ECP_ED25519_outputxyz(ECP_ED25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:414</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_afd8ffcd2d9dc9e237f62f5081fd8a2b4"><div class="ttname"><a href="ecp__ED25519_8h.html#afd8ffcd2d9dc9e237f62f5081fd8a2b4">ECP_ED25519_outputxyz</a></div><div class="ttdeci">void ECP_ED25519_outputxyz(ECP_ED25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:414</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a55c4861bcf109ad56aad0d5d9508e12a"><div class="ttname"><a href="ecp__ED25519_8h.html#a55c4861bcf109ad56aad0d5d9508e12a">CURVE_Pybb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a5c2bfda5937d0f7d673772dae86b422b"><div class="ttname"><a href="ecp__ED25519_8h.html#a5c2bfda5937d0f7d673772dae86b422b">ECP_ED25519_mapit</a></div><div class="ttdeci">void ECP_ED25519_mapit(ECP_ED25519 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:365</div></div>
-<div class="ttc" id="fp__25519_8h_html"><div class="ttname"><a href="fp__25519_8h.html">fp_25519.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a5c2bfda5937d0f7d673772dae86b422b"><div class="ttname"><a href="ecp__ED25519_8h.html#a5c2bfda5937d0f7d673772dae86b422b">ECP_ED25519_mapit</a></div><div class="ttdeci">void ECP_ED25519_mapit(ECP_ED25519 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:365</div></div>
+<div class="ttc" id="fp__25519_8h_html"><div class="ttname"><a href="fp__25519_8h.html">fp_25519.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_af2e45d05f93ae4dc08195f390a3d5569"><div class="ttname"><a href="ecp__ED25519_8h.html#af2e45d05f93ae4dc08195f390a3d5569">CURVE_Pyba_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_aa7c9c68911f85746d6ecfefb750c431f"><div class="ttname"><a href="ecp__ED25519_8h.html#aa7c9c68911f85746d6ecfefb750c431f">CURVE_Cof_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a7b49f3ebaeb357f5f8c16fe7b1355cc4"><div class="ttname"><a href="ecp__ED25519_8h.html#a7b49f3ebaeb357f5f8c16fe7b1355cc4">CURVE_Pxbb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a0b7835df1df36eb3e95306569a951a26"><div class="ttname"><a href="ecp__ED25519_8h.html#a0b7835df1df36eb3e95306569a951a26">CURVE_Pxbba_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a018591e1766fec62e0e647e16ed93321"><div class="ttname"><a href="ecp__ED25519_8h.html#a018591e1766fec62e0e647e16ed93321">ECP_ED25519_sub</a></div><div class="ttdeci">void ECP_ED25519_sub(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a018591e1766fec62e0e647e16ed93321"><div class="ttname"><a href="ecp__ED25519_8h.html#a018591e1766fec62e0e647e16ed93321">ECP_ED25519_sub</a></div><div class="ttdeci">void ECP_ED25519_sub(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a7acfd5372c244174bbf731fc19619a4c"><div class="ttname"><a href="ecp__ED25519_8h.html#a7acfd5372c244174bbf731fc19619a4c">CURVE_Pyaaa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a9fb4383693841ea99063437baaf62301"><div class="ttname"><a href="ecp__ED25519_8h.html#a9fb4383693841ea99063437baaf62301">ECP_ED25519_affine</a></div><div class="ttdeci">void ECP_ED25519_affine(ECP_ED25519 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:392</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a9fb4383693841ea99063437baaf62301"><div class="ttname"><a href="ecp__ED25519_8h.html#a9fb4383693841ea99063437baaf62301">ECP_ED25519_affine</a></div><div class="ttdeci">void ECP_ED25519_affine(ECP_ED25519 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:392</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a8ce89833f69eeedd36a26e798487b698"><div class="ttname"><a href="ecp__ED25519_8h.html#a8ce89833f69eeedd36a26e798487b698">CURVE_Pya_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_ED25519</div></div>
-<div class="ttc" id="structECP__ED25519_html"><div class="ttname"><a href="structECP__ED25519.html">ECP_ED25519</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.h:105</div></div>
-<div class="ttc" id="structFP__25519_html"><div class="ttname"><a href="structFP__25519.html">FP_25519</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_25519.h:38</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_adab6ef3b264500cccf203bca306c47df"><div class="ttname"><a href="ecp__ED25519_8h.html#adab6ef3b264500cccf203bca306c47df">ECP_ED25519_set</a></div><div class="ttdeci">int ECP_ED25519_set(ECP_ED25519 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a5618ec7c8f0e083b70550130774fe45b"><div class="ttname"><a href="ecp__ED25519_8h.html#a5618ec7c8f0e083b70550130774fe45b">ECP_ED25519_rawoutput</a></div><div class="ttdeci">void ECP_ED25519_rawoutput(ECP_ED25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:478</div></div>
+<div class="ttc" id="structECP__ED25519_html"><div class="ttname"><a href="structECP__ED25519.html">ECP_ED25519</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.h:105</div></div>
+<div class="ttc" id="structFP__25519_html"><div class="ttname"><a href="structFP__25519.html">FP_25519</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_25519.h:38</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_adab6ef3b264500cccf203bca306c47df"><div class="ttname"><a href="ecp__ED25519_8h.html#adab6ef3b264500cccf203bca306c47df">ECP_ED25519_set</a></div><div class="ttdeci">int ECP_ED25519_set(ECP_ED25519 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a5618ec7c8f0e083b70550130774fe45b"><div class="ttname"><a href="ecp__ED25519_8h.html#a5618ec7c8f0e083b70550130774fe45b">ECP_ED25519_rawoutput</a></div><div class="ttdeci">void ECP_ED25519_rawoutput(ECP_ED25519 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:478</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a29d8d6759d1b5c8076c678f01fe5d50d"><div class="ttname"><a href="ecp__ED25519_8h.html#a29d8d6759d1b5c8076c678f01fe5d50d">CURVE_A_ED25519</a></div><div class="ttdeci">const int CURVE_A_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_afa765b1f01710cc8a39130589acdcd21"><div class="ttname"><a href="ecp__ED25519_8h.html#afa765b1f01710cc8a39130589acdcd21">CURVE_Pybbb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_aa55bf105b93f5671677c8d30002c6ac3"><div class="ttname"><a href="ecp__ED25519_8h.html#aa55bf105b93f5671677c8d30002c6ac3">CURVE_Pxaab_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_aa4cf1c846864ebf5fe85e33c1186bbfa"><div class="ttname"><a href="ecp__ED25519_8h.html#aa4cf1c846864ebf5fe85e33c1186bbfa">ECP_ED25519_rhs</a></div><div class="ttdeci">void ECP_ED25519_rhs(FP_25519 *r, FP_25519 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:161</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_aa4cf1c846864ebf5fe85e33c1186bbfa"><div class="ttname"><a href="ecp__ED25519_8h.html#aa4cf1c846864ebf5fe85e33c1186bbfa">ECP_ED25519_rhs</a></div><div class="ttdeci">void ECP_ED25519_rhs(FP_25519 *r, FP_25519 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:161</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a649da22f43cad176c39a66fc3d7f5d23"><div class="ttname"><a href="ecp__ED25519_8h.html#a649da22f43cad176c39a66fc3d7f5d23">ECP_ED25519_setx</a></div><div class="ttdeci">int ECP_ED25519_setx(ECP_ED25519 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a935e8cc161993402e3ed2392cbd922d5"><div class="ttname"><a href="ecp__ED25519_8h.html#a935e8cc161993402e3ed2392cbd922d5">ECP_ED25519_generator</a></div><div class="ttdeci">void ECP_ED25519_generator(ECP_ED25519 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:1221</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a9a2b1e8fed745020df4637d9efd729a7"><div class="ttname"><a href="ecp__ED25519_8h.html#a9a2b1e8fed745020df4637d9efd729a7">ECP_ED25519_equals</a></div><div class="ttdeci">int ECP_ED25519_equals(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:100</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a649da22f43cad176c39a66fc3d7f5d23"><div class="ttname"><a href="ecp__ED25519_8h.html#a649da22f43cad176c39a66fc3d7f5d23">ECP_ED25519_setx</a></div><div class="ttdeci">int ECP_ED25519_setx(ECP_ED25519 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a935e8cc161993402e3ed2392cbd922d5"><div class="ttname"><a href="ecp__ED25519_8h.html#a935e8cc161993402e3ed2392cbd922d5">ECP_ED25519_generator</a></div><div class="ttdeci">void ECP_ED25519_generator(ECP_ED25519 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:1221</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a9a2b1e8fed745020df4637d9efd729a7"><div class="ttname"><a href="ecp__ED25519_8h.html#a9a2b1e8fed745020df4637d9efd729a7">ECP_ED25519_equals</a></div><div class="ttdeci">int ECP_ED25519_equals(ECP_ED25519 *P, ECP_ED25519 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:100</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_addf137c0ec5784917b7f294b72417c1a"><div class="ttname"><a href="ecp__ED25519_8h.html#addf137c0ec5784917b7f294b72417c1a">CURVE_Pxbaa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_ED25519</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_ad457be4fc3f122fd62dacb29896afffb"><div class="ttname"><a href="ecp__ED25519_8h.html#ad457be4fc3f122fd62dacb29896afffb">ECP_ED25519_get</a></div><div class="ttdeci">int ECP_ED25519_get(BIG_256_56 x, BIG_256_56 y, ECP_ED25519 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_ad457be4fc3f122fd62dacb29896afffb"><div class="ttname"><a href="ecp__ED25519_8h.html#ad457be4fc3f122fd62dacb29896afffb">ECP_ED25519_get</a></div><div class="ttdeci">int ECP_ED25519_get(BIG_256_56 x, BIG_256_56 y, ECP_ED25519 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_aab8cff46878b7ace8f1df92672981716"><div class="ttname"><a href="ecp__ED25519_8h.html#aab8cff46878b7ace8f1df92672981716">CURVE_Pxab_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_ad6f7fce3fcbdf2adab55389794fc4391"><div class="ttname"><a href="ecp__ED25519_8h.html#ad6f7fce3fcbdf2adab55389794fc4391">ECP_ED25519_toOctet</a></div><div class="ttdeci">void ECP_ED25519_toOctet(octet *S, ECP_ED25519 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:507</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a11de4b003a23cbee8e20b07688a2964c"><div class="ttname"><a href="ecp__ED25519_8h.html#a11de4b003a23cbee8e20b07688a2964c">ECP_ED25519_dbl</a></div><div class="ttdeci">void ECP_ED25519_dbl(ECP_ED25519 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:564</div></div>
-<div class="ttc" id="ecp__ED25519_8h_html_a7a7f790145d7769a5f67e10b181272aa"><div class="ttname"><a href="ecp__ED25519_8h.html#a7a7f790145d7769a5f67e10b181272aa">ECP_ED25519_neg</a></div><div class="ttdeci">void ECP_ED25519_neg(ECP_ED25519 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a11de4b003a23cbee8e20b07688a2964c"><div class="ttname"><a href="ecp__ED25519_8h.html#a11de4b003a23cbee8e20b07688a2964c">ECP_ED25519_dbl</a></div><div class="ttdeci">void ECP_ED25519_dbl(ECP_ED25519 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_ED25519.c:564</div></div>
+<div class="ttc" id="ecp__ED25519_8h_html_a7a7f790145d7769a5f67e10b181272aa"><div class="ttname"><a href="ecp__ED25519_8h.html#a7a7f790145d7769a5f67e10b181272aa">ECP_ED25519_neg</a></div><div class="ttdeci">void ECP_ED25519_neg(ECP_ED25519 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_ac8cc85d549205352a08e9886fb3a9739"><div class="ttname"><a href="ecp__ED25519_8h.html#ac8cc85d549205352a08e9886fb3a9739">CURVE_Pxbbb_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_adeec5af250a725951b0da66554ef687f"><div class="ttname"><a href="ecp__ED25519_8h.html#adeec5af250a725951b0da66554ef687f">CURVE_Gx_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_ED25519</div></div>
 <div class="ttc" id="ecp__ED25519_8h_html_a250abff470e62b436d08aafdd5ce5a4c"><div class="ttname"><a href="ecp__ED25519_8h.html#a250abff470e62b436d08aafdd5ce5a4c">CURVE_Pxa_ED25519</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_ED25519</div></div>
@@ -150,7 +153,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/ecp__FP256BN_8h.html b/website/static/cdocs/ecp__FP256BN_8h.html
index 7de8170..b1f4261 100644
--- a/website/static/cdocs/ecp__FP256BN_8h.html
+++ b/website/static/cdocs/ecp__FP256BN_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: ecp_FP256BN.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"
@@ -1705,7 +1708,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/ecp__FP256BN_8h_source.html b/website/static/cdocs/ecp__FP256BN_8h_source.html
index 2b32c58..f0782aa 100644
--- a/website/static/cdocs/ecp__FP256BN_8h_source.html
+++ b/website/static/cdocs/ecp__FP256BN_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: ecp_FP256BN.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,47 +72,47 @@
 <div class="title">ecp_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__FP256BN_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 ECP_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_FP256BN_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 &quot;<a class="code" href="fp__FP256BN_8h.html">fp_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#ae247e96aa4eb1d756ba5e52c316b75cc">CURVE_A_FP256BN</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a60794e17f6923edd66cb369c80c2223c">CURVE_Cof_I_FP256BN</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a4092cb2a64eb8083d09b29ee07cc2b13">CURVE_B_I_FP256BN</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ad106cce2734c8881d568f9452aff52cf">CURVE_B_FP256BN</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a2a4f91b86727cc0667394283192a7852">CURVE_Order_FP256BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aa64d4803c2586aec2e4fea38c1138254">CURVE_Cof_FP256BN</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ae7a207801b2d735a0f08f6621d48b4bd">CURVE_Gx_FP256BN</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ada2d8d1adebfc3ab10a3ce9477a12f54">CURVE_Gy_FP256BN</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#adf5b16014f7adf318b84c5f8470a2345">CURVE_Pxa_FP256BN</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ae09e0d03e593a31cf88fd49332aeefbe">CURVE_Pxb_FP256BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a91227c63158baad43cb51826621ceb6d">CURVE_Pya_FP256BN</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a401cacde8cea25453122cffa6ae6ebc0">CURVE_Pyb_FP256BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a078be9ff9400806a44c018bc4733f454">CURVE_Pxaa_FP256BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aaebc6264cd0a4a78ebf3bdd42fe5a96a">CURVE_Pxab_FP256BN</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a47357a19d0d56cf369bc28362a9bc1ec">CURVE_Pxba_FP256BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1304ea5a0f80cdd1f2969b78a25cb0f9">CURVE_Pxbb_FP256BN</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a6b87fc382faf65a8fb1a29af1ba7bc2d">CURVE_Pyaa_FP256BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1f5877d34395b7571a149a9a44de918d">CURVE_Pyab_FP256BN</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a44c82926354a09e618fde90fcabc2fee">CURVE_Pyba_FP256BN</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a838ba6d4eed5ae169c3cfeac104d1c52">CURVE_Pybb_FP256BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a29a0ed28e7d72cee092839dbf1b62924">CURVE_Pxaaa_FP256BN</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a73d085e2fbea8e333fb80d93fb8a893b">CURVE_Pxaab_FP256BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a5059e1fd5c39d5d06dd8ed3f94755b74">CURVE_Pxaba_FP256BN</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a91edc4547f24093c8e64ac5b0740f33c">CURVE_Pxabb_FP256BN</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aa5ea1075797ecb59b1e39159bb1d1ba2">CURVE_Pxbaa_FP256BN</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aea663af2d712ca3cbc4ae6c147057165">CURVE_Pxbab_FP256BN</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aadb87a70e0ba2ef2a5cd84987c427a8f">CURVE_Pxbba_FP256BN</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1bbc1ef0e2ee7ee9a78f31d9c594a1d4">CURVE_Pxbbb_FP256BN</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aedd5b56298f6da3dee9b8983a00ff074">CURVE_Pyaaa_FP256BN</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#af94334b766ab7b7afdc4c587e0e852b9">CURVE_Pyaab_FP256BN</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ae8e965385541f64da43e147587898bca">CURVE_Pyaba_FP256BN</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a6a2e7de20ede08e2a54f4e14f930aad7">CURVE_Pyabb_FP256BN</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a3c51c612dcfdafa8a7a31cc3e74a0db6">CURVE_Pybaa_FP256BN</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aed03fe4e844ca40bd6aedbc8db130f71">CURVE_Pybab_FP256BN</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a7e453049df70c571d5fe48fdd9c1b670">CURVE_Pybba_FP256BN</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1b0d40f1755eb2f053713951d0cef41e">CURVE_Pybbb_FP256BN</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1e4a40fa73fb46a0226ee1252b6dd9f3">CURVE_Cru_FP256BN</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a4521adc0ede6afae5b82e75cd248484f">CURVE_W_FP256BN</a>[2];      </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a54a2be05e5e394ddd45d2a5b21509182">CURVE_SB_FP256BN</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a78a202e723161e392bf420fb413a293b">CURVE_WB_FP256BN</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a552cc467dca5ee3d00e51754c7d411c6">CURVE_BB_FP256BN</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html#ae41cb2a702e26d30cc6701f007491da9">  109</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structECP__FP256BN.html#ae41cb2a702e26d30cc6701f007491da9">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_FP256BN!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html#a9e21b748f6bbe020b4e08c2af8af5b16">  111</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structECP__FP256BN.html#a9e21b748f6bbe020b4e08c2af8af5b16">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html#a71a8693fa97688aa72a71768afcc900b">  113</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structECP__FP256BN.html#a71a8693fa97688aa72a71768afcc900b">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a9cde1831eaca9968275804d52b7460f8">ECP_FP256BN_isinf</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#aabb0c85309ba799e9172976a64e072bb">ECP_FP256BN_equals</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a0b82cf6de81143afa2cf9a2be20dede7">ECP_FP256BN_copy</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</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="ecp__FP256BN_8h.html#a1275153e4bac7b52ac712b34ecda9d05">ECP_FP256BN_neg</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</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="ecp__FP256BN_8h.html#ab6a1a7457ffc347358b77e00cbbe16ec">ECP_FP256BN_inf</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a95de8968bd8de768205b12dd9f775bfb">ECP_FP256BN_rhs</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *r,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_FP256BN==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a62464947b604689d333c310167509d2f">ECP_FP256BN_set</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a3e1619a48d7fb247b81316d23481a7f1">ECP_FP256BN_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a9afe2dfdc63ff513c4d09d85c168e757">ECP_FP256BN_add</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a62464947b604689d333c310167509d2f">ECP_FP256BN_set</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a3e1619a48d7fb247b81316d23481a7f1">ECP_FP256BN_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a9afe2dfdc63ff513c4d09d85c168e757">ECP_FP256BN_add</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</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="ecp__FP256BN_8h.html#a85328bbe09723f943e871dcaf43680c2">ECP_FP256BN_sub</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#aa9494fe999bad79ba094136bef9f2954">ECP_FP256BN_setx</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#af91bb13347587c3ba9b8803f118b0cbf">ECP_FP256BN_cfp</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ac3e8f32cabb64778c7313ea45669c596">ECP_FP256BN_mapit</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a4d47ace250d35a707c8dbabb131f44f8">ECP_FP256BN_affine</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ac4cd09347c05f5eba25be11389fcd98d">ECP_FP256BN_outputxyz</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</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="ecp__FP256BN_8h.html#a992ee9483f58a9dc434e8866d82670a6">ECP_FP256BN_output</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a8309f17687b169d357fe60269190b0fe">ECP_FP256BN_rawoutput</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a9bb350421058f67547b85dbe300bb9e3">ECP_FP256BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#af88dbe0a6d917c53979ffba0b1a665d3">ECP_FP256BN_fromOctet</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#af90a9657bde48f9d51951e12f460c47e">ECP_FP256BN_dbl</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#af72c562c123616683664947ed0faffff">ECP_FP256BN_pinmul</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a6451d82816423c9386b41aa22de82211">ECP_FP256BN_mul</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ac982f16d1b874f5ecb911dc52df84d92">ECP_FP256BN_mul2</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ae5d447e06d568efcff3f07a5f85be5b3">ECP_FP256BN_generator</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__FP256BN_8h_html_a6451d82816423c9386b41aa22de82211"><div class="ttname"><a href="ecp__FP256BN_8h.html#a6451d82816423c9386b41aa22de82211">ECP_FP256BN_mul</a></div><div class="ttdeci">void ECP_FP256BN_mul(ECP_FP256BN *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:1021</div></div>
-<div class="ttc" id="structECP__FP256BN_html"><div class="ttname"><a href="structECP__FP256BN.html">ECP_FP256BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.h:105</div></div>
+<a href="ecp__FP256BN_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 ECP_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_FP256BN_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 &quot;<a class="code" href="fp__FP256BN_8h.html">fp_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#ae247e96aa4eb1d756ba5e52c316b75cc">CURVE_A_FP256BN</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a60794e17f6923edd66cb369c80c2223c">CURVE_Cof_I_FP256BN</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a4092cb2a64eb8083d09b29ee07cc2b13">CURVE_B_I_FP256BN</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ad106cce2734c8881d568f9452aff52cf">CURVE_B_FP256BN</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a2a4f91b86727cc0667394283192a7852">CURVE_Order_FP256BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aa64d4803c2586aec2e4fea38c1138254">CURVE_Cof_FP256BN</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ae7a207801b2d735a0f08f6621d48b4bd">CURVE_Gx_FP256BN</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ada2d8d1adebfc3ab10a3ce9477a12f54">CURVE_Gy_FP256BN</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#adf5b16014f7adf318b84c5f8470a2345">CURVE_Pxa_FP256BN</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ae09e0d03e593a31cf88fd49332aeefbe">CURVE_Pxb_FP256BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a91227c63158baad43cb51826621ceb6d">CURVE_Pya_FP256BN</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a401cacde8cea25453122cffa6ae6ebc0">CURVE_Pyb_FP256BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a078be9ff9400806a44c018bc4733f454">CURVE_Pxaa_FP256BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aaebc6264cd0a4a78ebf3bdd42fe5a96a">CURVE_Pxab_FP256BN</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a47357a19d0d56cf369bc28362a9bc1ec">CURVE_Pxba_FP256BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1304ea5a0f80cdd1f2969b78a25cb0f9">CURVE_Pxbb_FP256BN</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a6b87fc382faf65a8fb1a29af1ba7bc2d">CURVE_Pyaa_FP256BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1f5877d34395b7571a149a9a44de918d">CURVE_Pyab_FP256BN</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a44c82926354a09e618fde90fcabc2fee">CURVE_Pyba_FP256BN</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a838ba6d4eed5ae169c3cfeac104d1c52">CURVE_Pybb_FP256BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a29a0ed28e7d72cee092839dbf1b62924">CURVE_Pxaaa_FP256BN</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a73d085e2fbea8e333fb80d93fb8a893b">CURVE_Pxaab_FP256BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a5059e1fd5c39d5d06dd8ed3f94755b74">CURVE_Pxaba_FP256BN</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a91edc4547f24093c8e64ac5b0740f33c">CURVE_Pxabb_FP256BN</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aa5ea1075797ecb59b1e39159bb1d1ba2">CURVE_Pxbaa_FP256BN</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aea663af2d712ca3cbc4ae6c147057165">CURVE_Pxbab_FP256BN</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aadb87a70e0ba2ef2a5cd84987c427a8f">CURVE_Pxbba_FP256BN</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1bbc1ef0e2ee7ee9a78f31d9c594a1d4">CURVE_Pxbbb_FP256BN</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aedd5b56298f6da3dee9b8983a00ff074">CURVE_Pyaaa_FP256BN</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#af94334b766ab7b7afdc4c587e0e852b9">CURVE_Pyaab_FP256BN</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ae8e965385541f64da43e147587898bca">CURVE_Pyaba_FP256BN</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a6a2e7de20ede08e2a54f4e14f930aad7">CURVE_Pyabb_FP256BN</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a3c51c612dcfdafa8a7a31cc3e74a0db6">CURVE_Pybaa_FP256BN</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#aed03fe4e844ca40bd6aedbc8db130f71">CURVE_Pybab_FP256BN</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a7e453049df70c571d5fe48fdd9c1b670">CURVE_Pybba_FP256BN</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1b0d40f1755eb2f053713951d0cef41e">CURVE_Pybbb_FP256BN</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a1e4a40fa73fb46a0226ee1252b6dd9f3">CURVE_Cru_FP256BN</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a4521adc0ede6afae5b82e75cd248484f">CURVE_W_FP256BN</a>[2];  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a54a2be05e5e394ddd45d2a5b21509182">CURVE_SB_FP256BN</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a78a202e723161e392bf420fb413a293b">CURVE_WB_FP256BN</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__FP256BN_8h.html#a552cc467dca5ee3d00e51754c7d411c6">CURVE_BB_FP256BN</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html#ae41cb2a702e26d30cc6701f007491da9">  109</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structECP__FP256BN.html#ae41cb2a702e26d30cc6701f007491da9">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_FP256BN!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html#a9e21b748f6bbe020b4e08c2af8af5b16">  111</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structECP__FP256BN.html#a9e21b748f6bbe020b4e08c2af8af5b16">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__FP256BN.html#a71a8693fa97688aa72a71768afcc900b">  113</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structECP__FP256BN.html#a71a8693fa97688aa72a71768afcc900b">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a9cde1831eaca9968275804d52b7460f8">ECP_FP256BN_isinf</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#aabb0c85309ba799e9172976a64e072bb">ECP_FP256BN_equals</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a0b82cf6de81143afa2cf9a2be20dede7">ECP_FP256BN_copy</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</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="ecp__FP256BN_8h.html#a1275153e4bac7b52ac712b34ecda9d05">ECP_FP256BN_neg</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</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="ecp__FP256BN_8h.html#ab6a1a7457ffc347358b77e00cbbe16ec">ECP_FP256BN_inf</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a95de8968bd8de768205b12dd9f775bfb">ECP_FP256BN_rhs</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *r,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_FP256BN==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a62464947b604689d333c310167509d2f">ECP_FP256BN_set</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a3e1619a48d7fb247b81316d23481a7f1">ECP_FP256BN_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a9afe2dfdc63ff513c4d09d85c168e757">ECP_FP256BN_add</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a62464947b604689d333c310167509d2f">ECP_FP256BN_set</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#a3e1619a48d7fb247b81316d23481a7f1">ECP_FP256BN_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a9afe2dfdc63ff513c4d09d85c168e757">ECP_FP256BN_add</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</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="ecp__FP256BN_8h.html#a85328bbe09723f943e871dcaf43680c2">ECP_FP256BN_sub</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#aa9494fe999bad79ba094136bef9f2954">ECP_FP256BN_setx</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#af91bb13347587c3ba9b8803f118b0cbf">ECP_FP256BN_cfp</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ac3e8f32cabb64778c7313ea45669c596">ECP_FP256BN_mapit</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a4d47ace250d35a707c8dbabb131f44f8">ECP_FP256BN_affine</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ac4cd09347c05f5eba25be11389fcd98d">ECP_FP256BN_outputxyz</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</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="ecp__FP256BN_8h.html#a992ee9483f58a9dc434e8866d82670a6">ECP_FP256BN_output</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a8309f17687b169d357fe60269190b0fe">ECP_FP256BN_rawoutput</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a9bb350421058f67547b85dbe300bb9e3">ECP_FP256BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP256BN_8h.html#af88dbe0a6d917c53979ffba0b1a665d3">ECP_FP256BN_fromOctet</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#af90a9657bde48f9d51951e12f460c47e">ECP_FP256BN_dbl</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#af72c562c123616683664947ed0faffff">ECP_FP256BN_pinmul</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#a6451d82816423c9386b41aa22de82211">ECP_FP256BN_mul</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ac982f16d1b874f5ecb911dc52df84d92">ECP_FP256BN_mul2</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP256BN_8h.html#ae5d447e06d568efcff3f07a5f85be5b3">ECP_FP256BN_generator</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__FP256BN_8h_html_a6451d82816423c9386b41aa22de82211"><div class="ttname"><a href="ecp__FP256BN_8h.html#a6451d82816423c9386b41aa22de82211">ECP_FP256BN_mul</a></div><div class="ttdeci">void ECP_FP256BN_mul(ECP_FP256BN *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:1021</div></div>
+<div class="ttc" id="structECP__FP256BN_html"><div class="ttname"><a href="structECP__FP256BN.html">ECP_FP256BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.h:105</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a47357a19d0d56cf369bc28362a9bc1ec"><div class="ttname"><a href="ecp__FP256BN_8h.html#a47357a19d0d56cf369bc28362a9bc1ec">CURVE_Pxba_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a7e453049df70c571d5fe48fdd9c1b670"><div class="ttname"><a href="ecp__FP256BN_8h.html#a7e453049df70c571d5fe48fdd9c1b670">CURVE_Pybba_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a682906829e5ad5c597e675693c5bd8e4"><div class="ttname"><a href="ecp__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a></div><div class="ttdeci">const BIG_256_56 Fra_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_af90a9657bde48f9d51951e12f460c47e"><div class="ttname"><a href="ecp__FP256BN_8h.html#af90a9657bde48f9d51951e12f460c47e">ECP_FP256BN_dbl</a></div><div class="ttdeci">void ECP_FP256BN_dbl(ECP_FP256BN *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:564</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_af90a9657bde48f9d51951e12f460c47e"><div class="ttname"><a href="ecp__FP256BN_8h.html#af90a9657bde48f9d51951e12f460c47e">ECP_FP256BN_dbl</a></div><div class="ttdeci">void ECP_FP256BN_dbl(ECP_FP256BN *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:564</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_af94334b766ab7b7afdc4c587e0e852b9"><div class="ttname"><a href="ecp__FP256BN_8h.html#af94334b766ab7b7afdc4c587e0e852b9">CURVE_Pyaab_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a838ba6d4eed5ae169c3cfeac104d1c52"><div class="ttname"><a href="ecp__FP256BN_8h.html#a838ba6d4eed5ae169c3cfeac104d1c52">CURVE_Pybb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_aaebc6264cd0a4a78ebf3bdd42fe5a96a"><div class="ttname"><a href="ecp__FP256BN_8h.html#aaebc6264cd0a4a78ebf3bdd42fe5a96a">CURVE_Pxab_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a32d6454dbe379414cbf371501bdfa14c"><div class="ttname"><a href="ecp__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_FP256BN</div></div>
 <div class="ttc" id="structECP__FP256BN_html_ae41cb2a702e26d30cc6701f007491da9"><div class="ttname"><a href="structECP__FP256BN.html#ae41cb2a702e26d30cc6701f007491da9">ECP_FP256BN::x</a></div><div class="ttdeci">FP_FP256BN x</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.h:109</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a4521adc0ede6afae5b82e75cd248484f"><div class="ttname"><a href="ecp__FP256BN_8h.html#a4521adc0ede6afae5b82e75cd248484f">CURVE_W_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_FP256BN[2]</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_af72c562c123616683664947ed0faffff"><div class="ttname"><a href="ecp__FP256BN_8h.html#af72c562c123616683664947ed0faffff">ECP_FP256BN_pinmul</a></div><div class="ttdeci">void ECP_FP256BN_pinmul(ECP_FP256BN *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_af72c562c123616683664947ed0faffff"><div class="ttname"><a href="ecp__FP256BN_8h.html#af72c562c123616683664947ed0faffff">ECP_FP256BN_pinmul</a></div><div class="ttdeci">void ECP_FP256BN_pinmul(ECP_FP256BN *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a6b87fc382faf65a8fb1a29af1ba7bc2d"><div class="ttname"><a href="ecp__FP256BN_8h.html#a6b87fc382faf65a8fb1a29af1ba7bc2d">CURVE_Pyaa_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a078be9ff9400806a44c018bc4733f454"><div class="ttname"><a href="ecp__FP256BN_8h.html#a078be9ff9400806a44c018bc4733f454">CURVE_Pxaa_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_aa64d4803c2586aec2e4fea38c1138254"><div class="ttname"><a href="ecp__FP256BN_8h.html#aa64d4803c2586aec2e4fea38c1138254">CURVE_Cof_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_ad8a72f4c35da61849fac206d83565394"><div class="ttname"><a href="ecp__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 Frb_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_ad106cce2734c8881d568f9452aff52cf"><div class="ttname"><a href="ecp__FP256BN_8h.html#ad106cce2734c8881d568f9452aff52cf">CURVE_B_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a1275153e4bac7b52ac712b34ecda9d05"><div class="ttname"><a href="ecp__FP256BN_8h.html#a1275153e4bac7b52ac712b34ecda9d05">ECP_FP256BN_neg</a></div><div class="ttdeci">void ECP_FP256BN_neg(ECP_FP256BN *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a85328bbe09723f943e871dcaf43680c2"><div class="ttname"><a href="ecp__FP256BN_8h.html#a85328bbe09723f943e871dcaf43680c2">ECP_FP256BN_sub</a></div><div class="ttdeci">void ECP_FP256BN_sub(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a1275153e4bac7b52ac712b34ecda9d05"><div class="ttname"><a href="ecp__FP256BN_8h.html#a1275153e4bac7b52ac712b34ecda9d05">ECP_FP256BN_neg</a></div><div class="ttdeci">void ECP_FP256BN_neg(ECP_FP256BN *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a85328bbe09723f943e871dcaf43680c2"><div class="ttname"><a href="ecp__FP256BN_8h.html#a85328bbe09723f943e871dcaf43680c2">ECP_FP256BN_sub</a></div><div class="ttdeci">void ECP_FP256BN_sub(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a4092cb2a64eb8083d09b29ee07cc2b13"><div class="ttname"><a href="ecp__FP256BN_8h.html#a4092cb2a64eb8083d09b29ee07cc2b13">CURVE_B_I_FP256BN</a></div><div class="ttdeci">const int CURVE_B_I_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_af88dbe0a6d917c53979ffba0b1a665d3"><div class="ttname"><a href="ecp__FP256BN_8h.html#af88dbe0a6d917c53979ffba0b1a665d3">ECP_FP256BN_fromOctet</a></div><div class="ttdeci">int ECP_FP256BN_fromOctet(ECP_FP256BN *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:537</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_af88dbe0a6d917c53979ffba0b1a665d3"><div class="ttname"><a href="ecp__FP256BN_8h.html#af88dbe0a6d917c53979ffba0b1a665d3">ECP_FP256BN_fromOctet</a></div><div class="ttdeci">int ECP_FP256BN_fromOctet(ECP_FP256BN *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:537</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a9bb350421058f67547b85dbe300bb9e3"><div class="ttname"><a href="ecp__FP256BN_8h.html#a9bb350421058f67547b85dbe300bb9e3">ECP_FP256BN_toOctet</a></div><div class="ttdeci">void ECP_FP256BN_toOctet(octet *S, ECP_FP256BN *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:507</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_ac3e8f32cabb64778c7313ea45669c596"><div class="ttname"><a href="ecp__FP256BN_8h.html#ac3e8f32cabb64778c7313ea45669c596">ECP_FP256BN_mapit</a></div><div class="ttdeci">void ECP_FP256BN_mapit(ECP_FP256BN *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:365</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="ecp__FP256BN_8h_html_ac3e8f32cabb64778c7313ea45669c596"><div class="ttname"><a href="ecp__FP256BN_8h.html#ac3e8f32cabb64778c7313ea45669c596">ECP_FP256BN_mapit</a></div><div class="ttdeci">void ECP_FP256BN_mapit(ECP_FP256BN *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:365</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="ecp__FP256BN_8h_html_a1304ea5a0f80cdd1f2969b78a25cb0f9"><div class="ttname"><a href="ecp__FP256BN_8h.html#a1304ea5a0f80cdd1f2969b78a25cb0f9">CURVE_Pxbb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_ada2d8d1adebfc3ab10a3ce9477a12f54"><div class="ttname"><a href="ecp__FP256BN_8h.html#ada2d8d1adebfc3ab10a3ce9477a12f54">CURVE_Gy_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_FP256BN</div></div>
-<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
+<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a5059e1fd5c39d5d06dd8ed3f94755b74"><div class="ttname"><a href="ecp__FP256BN_8h.html#a5059e1fd5c39d5d06dd8ed3f94755b74">CURVE_Pxaba_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a1b0d40f1755eb2f053713951d0cef41e"><div class="ttname"><a href="ecp__FP256BN_8h.html#a1b0d40f1755eb2f053713951d0cef41e">CURVE_Pybbb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a6a2e7de20ede08e2a54f4e14f930aad7"><div class="ttname"><a href="ecp__FP256BN_8h.html#a6a2e7de20ede08e2a54f4e14f930aad7">CURVE_Pyabb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_ab6a1a7457ffc347358b77e00cbbe16ec"><div class="ttname"><a href="ecp__FP256BN_8h.html#ab6a1a7457ffc347358b77e00cbbe16ec">ECP_FP256BN_inf</a></div><div class="ttdeci">void ECP_FP256BN_inf(ECP_FP256BN *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:146</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_ab6a1a7457ffc347358b77e00cbbe16ec"><div class="ttname"><a href="ecp__FP256BN_8h.html#ab6a1a7457ffc347358b77e00cbbe16ec">ECP_FP256BN_inf</a></div><div class="ttdeci">void ECP_FP256BN_inf(ECP_FP256BN *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:146</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a552cc467dca5ee3d00e51754c7d411c6"><div class="ttname"><a href="ecp__FP256BN_8h.html#a552cc467dca5ee3d00e51754c7d411c6">CURVE_BB_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_FP256BN[4][4]</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a3e1619a48d7fb247b81316d23481a7f1"><div class="ttname"><a href="ecp__FP256BN_8h.html#a3e1619a48d7fb247b81316d23481a7f1">ECP_FP256BN_get</a></div><div class="ttdeci">int ECP_FP256BN_get(BIG_256_56 x, BIG_256_56 y, ECP_FP256BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a95de8968bd8de768205b12dd9f775bfb"><div class="ttname"><a href="ecp__FP256BN_8h.html#a95de8968bd8de768205b12dd9f775bfb">ECP_FP256BN_rhs</a></div><div class="ttdeci">void ECP_FP256BN_rhs(FP_FP256BN *r, FP_FP256BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:161</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a3e1619a48d7fb247b81316d23481a7f1"><div class="ttname"><a href="ecp__FP256BN_8h.html#a3e1619a48d7fb247b81316d23481a7f1">ECP_FP256BN_get</a></div><div class="ttdeci">int ECP_FP256BN_get(BIG_256_56 x, BIG_256_56 y, ECP_FP256BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a95de8968bd8de768205b12dd9f775bfb"><div class="ttname"><a href="ecp__FP256BN_8h.html#a95de8968bd8de768205b12dd9f775bfb">ECP_FP256BN_rhs</a></div><div class="ttdeci">void ECP_FP256BN_rhs(FP_FP256BN *r, FP_FP256BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:161</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a91edc4547f24093c8e64ac5b0740f33c"><div class="ttname"><a href="ecp__FP256BN_8h.html#a91edc4547f24093c8e64ac5b0740f33c">CURVE_Pxabb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a1e4a40fa73fb46a0226ee1252b6dd9f3"><div class="ttname"><a href="ecp__FP256BN_8h.html#a1e4a40fa73fb46a0226ee1252b6dd9f3">CURVE_Cru_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a9cde1831eaca9968275804d52b7460f8"><div class="ttname"><a href="ecp__FP256BN_8h.html#a9cde1831eaca9968275804d52b7460f8">ECP_FP256BN_isinf</a></div><div class="ttdeci">int ECP_FP256BN_isinf(ECP_FP256BN *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:28</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a9cde1831eaca9968275804d52b7460f8"><div class="ttname"><a href="ecp__FP256BN_8h.html#a9cde1831eaca9968275804d52b7460f8">ECP_FP256BN_isinf</a></div><div class="ttdeci">int ECP_FP256BN_isinf(ECP_FP256BN *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:28</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_aadb87a70e0ba2ef2a5cd84987c427a8f"><div class="ttname"><a href="ecp__FP256BN_8h.html#aadb87a70e0ba2ef2a5cd84987c427a8f">CURVE_Pxbba_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_ae7a207801b2d735a0f08f6621d48b4bd"><div class="ttname"><a href="ecp__FP256BN_8h.html#ae7a207801b2d735a0f08f6621d48b4bd">CURVE_Gx_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_aa9494fe999bad79ba094136bef9f2954"><div class="ttname"><a href="ecp__FP256BN_8h.html#aa9494fe999bad79ba094136bef9f2954">ECP_FP256BN_setx</a></div><div class="ttdeci">int ECP_FP256BN_setx(ECP_FP256BN *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_aa9494fe999bad79ba094136bef9f2954"><div class="ttname"><a href="ecp__FP256BN_8h.html#aa9494fe999bad79ba094136bef9f2954">ECP_FP256BN_setx</a></div><div class="ttdeci">int ECP_FP256BN_setx(ECP_FP256BN *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a60794e17f6923edd66cb369c80c2223c"><div class="ttname"><a href="ecp__FP256BN_8h.html#a60794e17f6923edd66cb369c80c2223c">CURVE_Cof_I_FP256BN</a></div><div class="ttdeci">const int CURVE_Cof_I_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a78a202e723161e392bf420fb413a293b"><div class="ttname"><a href="ecp__FP256BN_8h.html#a78a202e723161e392bf420fb413a293b">CURVE_WB_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_FP256BN[4]</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_aedd5b56298f6da3dee9b8983a00ff074"><div class="ttname"><a href="ecp__FP256BN_8h.html#aedd5b56298f6da3dee9b8983a00ff074">CURVE_Pyaaa_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_FP256BN</div></div>
@@ -119,27 +122,27 @@
 <div class="ttc" id="structECP__FP256BN_html_a71a8693fa97688aa72a71768afcc900b"><div class="ttname"><a href="structECP__FP256BN.html#a71a8693fa97688aa72a71768afcc900b">ECP_FP256BN::z</a></div><div class="ttdeci">FP_FP256BN z</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.h:113</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_ae8e965385541f64da43e147587898bca"><div class="ttname"><a href="ecp__FP256BN_8h.html#ae8e965385541f64da43e147587898bca">CURVE_Pyaba_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_aa5ea1075797ecb59b1e39159bb1d1ba2"><div class="ttname"><a href="ecp__FP256BN_8h.html#aa5ea1075797ecb59b1e39159bb1d1ba2">CURVE_Pxbaa_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_ae5d447e06d568efcff3f07a5f85be5b3"><div class="ttname"><a href="ecp__FP256BN_8h.html#ae5d447e06d568efcff3f07a5f85be5b3">ECP_FP256BN_generator</a></div><div class="ttdeci">void ECP_FP256BN_generator(ECP_FP256BN *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:1221</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_ae5d447e06d568efcff3f07a5f85be5b3"><div class="ttname"><a href="ecp__FP256BN_8h.html#ae5d447e06d568efcff3f07a5f85be5b3">ECP_FP256BN_generator</a></div><div class="ttdeci">void ECP_FP256BN_generator(ECP_FP256BN *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:1221</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_ae247e96aa4eb1d756ba5e52c316b75cc"><div class="ttname"><a href="ecp__FP256BN_8h.html#ae247e96aa4eb1d756ba5e52c316b75cc">CURVE_A_FP256BN</a></div><div class="ttdeci">const int CURVE_A_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a62464947b604689d333c310167509d2f"><div class="ttname"><a href="ecp__FP256BN_8h.html#a62464947b604689d333c310167509d2f">ECP_FP256BN_set</a></div><div class="ttdeci">int ECP_FP256BN_set(ECP_FP256BN *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html"><div class="ttname"><a href="fp__FP256BN_8h.html">fp_FP256BN.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a62464947b604689d333c310167509d2f"><div class="ttname"><a href="ecp__FP256BN_8h.html#a62464947b604689d333c310167509d2f">ECP_FP256BN_set</a></div><div class="ttdeci">int ECP_FP256BN_set(ECP_FP256BN *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
+<div class="ttc" id="fp__FP256BN_8h_html"><div class="ttname"><a href="fp__FP256BN_8h.html">fp_FP256BN.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a2a4f91b86727cc0667394283192a7852"><div class="ttname"><a href="ecp__FP256BN_8h.html#a2a4f91b86727cc0667394283192a7852">CURVE_Order_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_aabb0c85309ba799e9172976a64e072bb"><div class="ttname"><a href="ecp__FP256BN_8h.html#aabb0c85309ba799e9172976a64e072bb">ECP_FP256BN_equals</a></div><div class="ttdeci">int ECP_FP256BN_equals(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:100</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_af91bb13347587c3ba9b8803f118b0cbf"><div class="ttname"><a href="ecp__FP256BN_8h.html#af91bb13347587c3ba9b8803f118b0cbf">ECP_FP256BN_cfp</a></div><div class="ttdeci">void ECP_FP256BN_cfp(ECP_FP256BN *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:338</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a992ee9483f58a9dc434e8866d82670a6"><div class="ttname"><a href="ecp__FP256BN_8h.html#a992ee9483f58a9dc434e8866d82670a6">ECP_FP256BN_output</a></div><div class="ttdeci">void ECP_FP256BN_output(ECP_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:450</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_aabb0c85309ba799e9172976a64e072bb"><div class="ttname"><a href="ecp__FP256BN_8h.html#aabb0c85309ba799e9172976a64e072bb">ECP_FP256BN_equals</a></div><div class="ttdeci">int ECP_FP256BN_equals(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:100</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_af91bb13347587c3ba9b8803f118b0cbf"><div class="ttname"><a href="ecp__FP256BN_8h.html#af91bb13347587c3ba9b8803f118b0cbf">ECP_FP256BN_cfp</a></div><div class="ttdeci">void ECP_FP256BN_cfp(ECP_FP256BN *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:338</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a992ee9483f58a9dc434e8866d82670a6"><div class="ttname"><a href="ecp__FP256BN_8h.html#a992ee9483f58a9dc434e8866d82670a6">ECP_FP256BN_output</a></div><div class="ttdeci">void ECP_FP256BN_output(ECP_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:450</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a44c82926354a09e618fde90fcabc2fee"><div class="ttname"><a href="ecp__FP256BN_8h.html#a44c82926354a09e618fde90fcabc2fee">CURVE_Pyba_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_ac982f16d1b874f5ecb911dc52df84d92"><div class="ttname"><a href="ecp__FP256BN_8h.html#ac982f16d1b874f5ecb911dc52df84d92">ECP_FP256BN_mul2</a></div><div class="ttdeci">void ECP_FP256BN_mul2(ECP_FP256BN *P, ECP_FP256BN *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_ac982f16d1b874f5ecb911dc52df84d92"><div class="ttname"><a href="ecp__FP256BN_8h.html#ac982f16d1b874f5ecb911dc52df84d92">ECP_FP256BN_mul2</a></div><div class="ttdeci">void ECP_FP256BN_mul2(ECP_FP256BN *P, ECP_FP256BN *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_ae09e0d03e593a31cf88fd49332aeefbe"><div class="ttname"><a href="ecp__FP256BN_8h.html#ae09e0d03e593a31cf88fd49332aeefbe">CURVE_Pxb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a0b82cf6de81143afa2cf9a2be20dede7"><div class="ttname"><a href="ecp__FP256BN_8h.html#a0b82cf6de81143afa2cf9a2be20dede7">ECP_FP256BN_copy</a></div><div class="ttdeci">void ECP_FP256BN_copy(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:120</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a0b82cf6de81143afa2cf9a2be20dede7"><div class="ttname"><a href="ecp__FP256BN_8h.html#a0b82cf6de81143afa2cf9a2be20dede7">ECP_FP256BN_copy</a></div><div class="ttdeci">void ECP_FP256BN_copy(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:120</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a8309f17687b169d357fe60269190b0fe"><div class="ttname"><a href="ecp__FP256BN_8h.html#a8309f17687b169d357fe60269190b0fe">ECP_FP256BN_rawoutput</a></div><div class="ttdeci">void ECP_FP256BN_rawoutput(ECP_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:478</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a4d47ace250d35a707c8dbabb131f44f8"><div class="ttname"><a href="ecp__FP256BN_8h.html#a4d47ace250d35a707c8dbabb131f44f8">ECP_FP256BN_affine</a></div><div class="ttdeci">void ECP_FP256BN_affine(ECP_FP256BN *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:392</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a8309f17687b169d357fe60269190b0fe"><div class="ttname"><a href="ecp__FP256BN_8h.html#a8309f17687b169d357fe60269190b0fe">ECP_FP256BN_rawoutput</a></div><div class="ttdeci">void ECP_FP256BN_rawoutput(ECP_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:478</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a4d47ace250d35a707c8dbabb131f44f8"><div class="ttname"><a href="ecp__FP256BN_8h.html#a4d47ace250d35a707c8dbabb131f44f8">ECP_FP256BN_affine</a></div><div class="ttdeci">void ECP_FP256BN_affine(ECP_FP256BN *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:392</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a54a2be05e5e394ddd45d2a5b21509182"><div class="ttname"><a href="ecp__FP256BN_8h.html#a54a2be05e5e394ddd45d2a5b21509182">CURVE_SB_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_FP256BN[2][2]</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a73d085e2fbea8e333fb80d93fb8a893b"><div class="ttname"><a href="ecp__FP256BN_8h.html#a73d085e2fbea8e333fb80d93fb8a893b">CURVE_Pxaab_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_a9afe2dfdc63ff513c4d09d85c168e757"><div class="ttname"><a href="ecp__FP256BN_8h.html#a9afe2dfdc63ff513c4d09d85c168e757">ECP_FP256BN_add</a></div><div class="ttdeci">void ECP_FP256BN_add(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_a9afe2dfdc63ff513c4d09d85c168e757"><div class="ttname"><a href="ecp__FP256BN_8h.html#a9afe2dfdc63ff513c4d09d85c168e757">ECP_FP256BN_add</a></div><div class="ttdeci">void ECP_FP256BN_add(ECP_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_adf5b16014f7adf318b84c5f8470a2345"><div class="ttname"><a href="ecp__FP256BN_8h.html#adf5b16014f7adf318b84c5f8470a2345">CURVE_Pxa_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_aea663af2d712ca3cbc4ae6c147057165"><div class="ttname"><a href="ecp__FP256BN_8h.html#aea663af2d712ca3cbc4ae6c147057165">CURVE_Pxbab_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_FP256BN</div></div>
-<div class="ttc" id="ecp__FP256BN_8h_html_ac4cd09347c05f5eba25be11389fcd98d"><div class="ttname"><a href="ecp__FP256BN_8h.html#ac4cd09347c05f5eba25be11389fcd98d">ECP_FP256BN_outputxyz</a></div><div class="ttdeci">void ECP_FP256BN_outputxyz(ECP_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:414</div></div>
+<div class="ttc" id="ecp__FP256BN_8h_html_ac4cd09347c05f5eba25be11389fcd98d"><div class="ttname"><a href="ecp__FP256BN_8h.html#ac4cd09347c05f5eba25be11389fcd98d">ECP_FP256BN_outputxyz</a></div><div class="ttdeci">void ECP_FP256BN_outputxyz(ECP_FP256BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.c:414</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a1f5877d34395b7571a149a9a44de918d"><div class="ttname"><a href="ecp__FP256BN_8h.html#a1f5877d34395b7571a149a9a44de918d">CURVE_Pyab_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_a29a0ed28e7d72cee092839dbf1b62924"><div class="ttname"><a href="ecp__FP256BN_8h.html#a29a0ed28e7d72cee092839dbf1b62924">CURVE_Pxaaa_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_FP256BN</div></div>
 <div class="ttc" id="ecp__FP256BN_8h_html_aed03fe4e844ca40bd6aedbc8db130f71"><div class="ttname"><a href="ecp__FP256BN_8h.html#aed03fe4e844ca40bd6aedbc8db130f71">CURVE_Pybab_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_FP256BN</div></div>
@@ -150,7 +153,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/ecp__FP512BN_8h.html b/website/static/cdocs/ecp__FP512BN_8h.html
index 597d9b0..9353304 100644
--- a/website/static/cdocs/ecp__FP512BN_8h.html
+++ b/website/static/cdocs/ecp__FP512BN_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: ecp_FP512BN.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"
@@ -1705,7 +1708,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/ecp__FP512BN_8h_source.html b/website/static/cdocs/ecp__FP512BN_8h_source.html
index b509e88..a2fb20c 100644
--- a/website/static/cdocs/ecp__FP512BN_8h_source.html
+++ b/website/static/cdocs/ecp__FP512BN_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: ecp_FP512BN.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,25 +72,25 @@
 <div class="title">ecp_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__FP512BN_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 ECP_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_FP512BN_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 &quot;<a class="code" href="fp__FP512BN_8h.html">fp_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a4712f5352d0e860010296c377ae7e076">CURVE_A_FP512BN</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#ab326829886a3cf3acce946cf3efb617f">CURVE_Cof_I_FP512BN</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a9348e4fe11f9eb709d9ff5a98fe79b79">CURVE_B_I_FP512BN</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a16ad72e0e49a871bc5f86c961059b311">CURVE_B_FP512BN</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a8a8490489ecf4446120a8a639e2af905">CURVE_Order_FP512BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a31a1587c43860daf99d5368937031e11">CURVE_Cof_FP512BN</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#afb6a62adbfafd8483b1e40d4b87ae572">CURVE_Gx_FP512BN</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ae5c726c4f9da421d2e2004f10c7823e0">CURVE_Gy_FP512BN</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ae6545c64b0523a9f2301a3a2fefa681d">CURVE_Pxa_FP512BN</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ac77516eb52afb1d460d0aaba919ca15f">CURVE_Pxb_FP512BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ad0faaed4a8c1e3ea2112f7db93c18517">CURVE_Pya_FP512BN</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a5fca0bb96e9cf70e32f78f1f11f94312">CURVE_Pyb_FP512BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a92a1272010bbe273b1c265aaf100396b">CURVE_Pxaa_FP512BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a2ba6d09974eb66d58545982c9f6604b8">CURVE_Pxab_FP512BN</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a1c94ad41f2580aabc8a5a6f9d2efd723">CURVE_Pxba_FP512BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aeeba1921ff8be7bb0162ff206943a7fb">CURVE_Pxbb_FP512BN</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a5b78823567197bd104b9129ca9d0467a">CURVE_Pyaa_FP512BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aeaf9b1e54847a3fe69a3bf7b7a238a63">CURVE_Pyab_FP512BN</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ab11234f9395f62eda6200aa0d6398630">CURVE_Pyba_FP512BN</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a7779bd614969b839e744e377802bdcd0">CURVE_Pybb_FP512BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ab2dc563df0c69946d23eb1291ed6c8fa">CURVE_Pxaaa_FP512BN</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a906c0103e97e813fe6ab0c6007b6bc36">CURVE_Pxaab_FP512BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a30e78c9709b6ec51568a86fa72c12c7c">CURVE_Pxaba_FP512BN</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a134b983217e67117e44527f4de98b6c2">CURVE_Pxabb_FP512BN</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ad629cbab8cb7b5ae1339ca522630eb83">CURVE_Pxbaa_FP512BN</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a40aad466ccb5c230cdb67e20e376b8b4">CURVE_Pxbab_FP512BN</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a39eec873c083c496d291330450e26bf7">CURVE_Pxbba_FP512BN</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a2ed09e31af6646cd18598bb18dfac7f1">CURVE_Pxbbb_FP512BN</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#af5d2966b84d15ada9abbb52d04553c89">CURVE_Pyaaa_FP512BN</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ab82f59d669e32a8c8e06064c4d209a45">CURVE_Pyaab_FP512BN</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a4ed7a07305530bfd4d19a8cbcf302707">CURVE_Pyaba_FP512BN</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a61c07ca31b633a3725194cb93efd3bb9">CURVE_Pyabb_FP512BN</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a769d818158ce7aa4b173ae423d65e482">CURVE_Pybaa_FP512BN</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#abf56829a9feaabe3cc49a4a28c4319f8">CURVE_Pybab_FP512BN</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a87f6a1bfad641ef51dac1982fa78c2d5">CURVE_Pybba_FP512BN</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa658d569369c1186b6d77133caab1d3a">CURVE_Pybbb_FP512BN</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a2cbeec7c489096de65a000f9f0b96ca0">CURVE_Cru_FP512BN</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa30bd494d22b536ca5d247674c394bea">CURVE_W_FP512BN</a>[2];      </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa9c96b7b8f982ae7ae594218d6aee2f6">CURVE_SB_FP512BN</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a71f89bc43d50f3f3f3161c5d9337fd49">CURVE_WB_FP512BN</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa4b8d3bf44351f475ba69561eaac3a1b">CURVE_BB_FP512BN</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html#a8d2e0b92b8ba15e6aeaca32b38e4ca98">  109</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structECP__FP512BN.html#a8d2e0b92b8ba15e6aeaca32b38e4ca98">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_FP512BN!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html#af77c2077fb71e255266f27b60e242f5b">  111</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structECP__FP512BN.html#af77c2077fb71e255266f27b60e242f5b">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html#a5ff94a5d36716c69d73e2204e8c363e1">  113</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structECP__FP512BN.html#a5ff94a5d36716c69d73e2204e8c363e1">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a34fb1207032d8f2a297e2159a66d198a">ECP_FP512BN_isinf</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#aaecf109e253c9c64cb1b1923566c2dd5">ECP_FP512BN_equals</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a0f8527d85bef7eeca00bcfe2cefec94f">ECP_FP512BN_copy</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</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="ecp__FP512BN_8h.html#a39b4dcd2824e1645f07d6b37f73a1eef">ECP_FP512BN_neg</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</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="ecp__FP512BN_8h.html#ad4d0392f7216e693ec703c4d1fd98f47">ECP_FP512BN_inf</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a8b38a0f47cee6a90e1f766a84989c072">ECP_FP512BN_rhs</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *r,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_FP512BN==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a9872783c48c008ff2e13869e57096f76">ECP_FP512BN_set</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a29ca0e3399adda5a8ddaff5adc3e92e5">ECP_FP512BN_get</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a31e1c5abbff246fd88d02c15cf1b7d5a">ECP_FP512BN_add</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a9872783c48c008ff2e13869e57096f76">ECP_FP512BN_set</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a29ca0e3399adda5a8ddaff5adc3e92e5">ECP_FP512BN_get</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a31e1c5abbff246fd88d02c15cf1b7d5a">ECP_FP512BN_add</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</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="ecp__FP512BN_8h.html#a7b2616ce5c06b304cde04f74d42658fe">ECP_FP512BN_sub</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a19a4cb1416e8067736826c8c3fe0904d">ECP_FP512BN_setx</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#af4c942fa9d1f3bf950a4de726224c46d">ECP_FP512BN_cfp</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a5ed2a486a0a486c6447d1fbc595eda5d">ECP_FP512BN_mapit</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a9dec0101a72901fa1e2a8682cd8fb9d5">ECP_FP512BN_affine</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#ac2c49c90634b072611a576c98c84146c">ECP_FP512BN_outputxyz</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</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="ecp__FP512BN_8h.html#aeef8961efa8ea91f7b4d1fba495f2e00">ECP_FP512BN_output</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#af3df0642a3f4a692574109ab258002f6">ECP_FP512BN_rawoutput</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a4853a81f0d4e6e2a3003a1ea6f49706a">ECP_FP512BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#ab7a6e9964ff2d138c687229b17e5baf9">ECP_FP512BN_fromOctet</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#abb7bfd5a781ea46fdd6556769d39d523">ECP_FP512BN_dbl</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a3908d4212db65770e63ecd1caa6bfe34">ECP_FP512BN_pinmul</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a5a71e0181db077c3adfb655d509892c0">ECP_FP512BN_mul</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a2efc2836f2518230f9b4eafe381f3447">ECP_FP512BN_mul2</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a7198d72b21c90c270241f9326c4e3d2e">ECP_FP512BN_generator</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__FP512BN_8h_html_a19a4cb1416e8067736826c8c3fe0904d"><div class="ttname"><a href="ecp__FP512BN_8h.html#a19a4cb1416e8067736826c8c3fe0904d">ECP_FP512BN_setx</a></div><div class="ttdeci">int ECP_FP512BN_setx(ECP_FP512BN *P, BIG_512_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<a href="ecp__FP512BN_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 ECP_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_FP512BN_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 &quot;<a class="code" href="fp__FP512BN_8h.html">fp_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a4712f5352d0e860010296c377ae7e076">CURVE_A_FP512BN</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#ab326829886a3cf3acce946cf3efb617f">CURVE_Cof_I_FP512BN</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a9348e4fe11f9eb709d9ff5a98fe79b79">CURVE_B_I_FP512BN</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a16ad72e0e49a871bc5f86c961059b311">CURVE_B_FP512BN</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a8a8490489ecf4446120a8a639e2af905">CURVE_Order_FP512BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a31a1587c43860daf99d5368937031e11">CURVE_Cof_FP512BN</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#afb6a62adbfafd8483b1e40d4b87ae572">CURVE_Gx_FP512BN</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ae5c726c4f9da421d2e2004f10c7823e0">CURVE_Gy_FP512BN</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ae6545c64b0523a9f2301a3a2fefa681d">CURVE_Pxa_FP512BN</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ac77516eb52afb1d460d0aaba919ca15f">CURVE_Pxb_FP512BN</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ad0faaed4a8c1e3ea2112f7db93c18517">CURVE_Pya_FP512BN</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a5fca0bb96e9cf70e32f78f1f11f94312">CURVE_Pyb_FP512BN</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a92a1272010bbe273b1c265aaf100396b">CURVE_Pxaa_FP512BN</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a2ba6d09974eb66d58545982c9f6604b8">CURVE_Pxab_FP512BN</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a1c94ad41f2580aabc8a5a6f9d2efd723">CURVE_Pxba_FP512BN</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aeeba1921ff8be7bb0162ff206943a7fb">CURVE_Pxbb_FP512BN</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a5b78823567197bd104b9129ca9d0467a">CURVE_Pyaa_FP512BN</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aeaf9b1e54847a3fe69a3bf7b7a238a63">CURVE_Pyab_FP512BN</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ab11234f9395f62eda6200aa0d6398630">CURVE_Pyba_FP512BN</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a7779bd614969b839e744e377802bdcd0">CURVE_Pybb_FP512BN</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ab2dc563df0c69946d23eb1291ed6c8fa">CURVE_Pxaaa_FP512BN</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a906c0103e97e813fe6ab0c6007b6bc36">CURVE_Pxaab_FP512BN</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a30e78c9709b6ec51568a86fa72c12c7c">CURVE_Pxaba_FP512BN</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a134b983217e67117e44527f4de98b6c2">CURVE_Pxabb_FP512BN</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ad629cbab8cb7b5ae1339ca522630eb83">CURVE_Pxbaa_FP512BN</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a40aad466ccb5c230cdb67e20e376b8b4">CURVE_Pxbab_FP512BN</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a39eec873c083c496d291330450e26bf7">CURVE_Pxbba_FP512BN</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a2ed09e31af6646cd18598bb18dfac7f1">CURVE_Pxbbb_FP512BN</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#af5d2966b84d15ada9abbb52d04553c89">CURVE_Pyaaa_FP512BN</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ab82f59d669e32a8c8e06064c4d209a45">CURVE_Pyaab_FP512BN</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a4ed7a07305530bfd4d19a8cbcf302707">CURVE_Pyaba_FP512BN</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a61c07ca31b633a3725194cb93efd3bb9">CURVE_Pyabb_FP512BN</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a769d818158ce7aa4b173ae423d65e482">CURVE_Pybaa_FP512BN</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#abf56829a9feaabe3cc49a4a28c4319f8">CURVE_Pybab_FP512BN</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a87f6a1bfad641ef51dac1982fa78c2d5">CURVE_Pybba_FP512BN</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa658d569369c1186b6d77133caab1d3a">CURVE_Pybbb_FP512BN</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a2cbeec7c489096de65a000f9f0b96ca0">CURVE_Cru_FP512BN</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa30bd494d22b536ca5d247674c394bea">CURVE_W_FP512BN</a>[2];  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa9c96b7b8f982ae7ae594218d6aee2f6">CURVE_SB_FP512BN</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#a71f89bc43d50f3f3f3161c5d9337fd49">CURVE_WB_FP512BN</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="ecp__FP512BN_8h.html#aa4b8d3bf44351f475ba69561eaac3a1b">CURVE_BB_FP512BN</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html#a8d2e0b92b8ba15e6aeaca32b38e4ca98">  109</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structECP__FP512BN.html#a8d2e0b92b8ba15e6aeaca32b38e4ca98">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_FP512BN!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html#af77c2077fb71e255266f27b60e242f5b">  111</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structECP__FP512BN.html#af77c2077fb71e255266f27b60e242f5b">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__FP512BN.html#a5ff94a5d36716c69d73e2204e8c363e1">  113</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structECP__FP512BN.html#a5ff94a5d36716c69d73e2204e8c363e1">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a34fb1207032d8f2a297e2159a66d198a">ECP_FP512BN_isinf</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#aaecf109e253c9c64cb1b1923566c2dd5">ECP_FP512BN_equals</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a0f8527d85bef7eeca00bcfe2cefec94f">ECP_FP512BN_copy</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</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="ecp__FP512BN_8h.html#a39b4dcd2824e1645f07d6b37f73a1eef">ECP_FP512BN_neg</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</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="ecp__FP512BN_8h.html#ad4d0392f7216e693ec703c4d1fd98f47">ECP_FP512BN_inf</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a8b38a0f47cee6a90e1f766a84989c072">ECP_FP512BN_rhs</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *r,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_FP512BN==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a9872783c48c008ff2e13869e57096f76">ECP_FP512BN_set</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a29ca0e3399adda5a8ddaff5adc3e92e5">ECP_FP512BN_get</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a31e1c5abbff246fd88d02c15cf1b7d5a">ECP_FP512BN_add</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a9872783c48c008ff2e13869e57096f76">ECP_FP512BN_set</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a29ca0e3399adda5a8ddaff5adc3e92e5">ECP_FP512BN_get</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> y,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a31e1c5abbff246fd88d02c15cf1b7d5a">ECP_FP512BN_add</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</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="ecp__FP512BN_8h.html#a7b2616ce5c06b304cde04f74d42658fe">ECP_FP512BN_sub</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#a19a4cb1416e8067736826c8c3fe0904d">ECP_FP512BN_setx</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#af4c942fa9d1f3bf950a4de726224c46d">ECP_FP512BN_cfp</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a5ed2a486a0a486c6447d1fbc595eda5d">ECP_FP512BN_mapit</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a9dec0101a72901fa1e2a8682cd8fb9d5">ECP_FP512BN_affine</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#ac2c49c90634b072611a576c98c84146c">ECP_FP512BN_outputxyz</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</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="ecp__FP512BN_8h.html#aeef8961efa8ea91f7b4d1fba495f2e00">ECP_FP512BN_output</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#af3df0642a3f4a692574109ab258002f6">ECP_FP512BN_rawoutput</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a4853a81f0d4e6e2a3003a1ea6f49706a">ECP_FP512BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__FP512BN_8h.html#ab7a6e9964ff2d138c687229b17e5baf9">ECP_FP512BN_fromOctet</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#abb7bfd5a781ea46fdd6556769d39d523">ECP_FP512BN_dbl</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a3908d4212db65770e63ecd1caa6bfe34">ECP_FP512BN_pinmul</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a5a71e0181db077c3adfb655d509892c0">ECP_FP512BN_mul</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a2efc2836f2518230f9b4eafe381f3447">ECP_FP512BN_mul2</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__FP512BN_8h.html#a7198d72b21c90c270241f9326c4e3d2e">ECP_FP512BN_generator</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__FP512BN_8h_html_a19a4cb1416e8067736826c8c3fe0904d"><div class="ttname"><a href="ecp__FP512BN_8h.html#a19a4cb1416e8067736826c8c3fe0904d">ECP_FP512BN_setx</a></div><div class="ttdeci">int ECP_FP512BN_setx(ECP_FP512BN *P, BIG_512_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ab11234f9395f62eda6200aa0d6398630"><div class="ttname"><a href="ecp__FP512BN_8h.html#ab11234f9395f62eda6200aa0d6398630">CURVE_Pyba_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyba_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a31e1c5abbff246fd88d02c15cf1b7d5a"><div class="ttname"><a href="ecp__FP512BN_8h.html#a31e1c5abbff246fd88d02c15cf1b7d5a">ECP_FP512BN_add</a></div><div class="ttdeci">void ECP_FP512BN_add(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a31e1c5abbff246fd88d02c15cf1b7d5a"><div class="ttname"><a href="ecp__FP512BN_8h.html#a31e1c5abbff246fd88d02c15cf1b7d5a">ECP_FP512BN_add</a></div><div class="ttdeci">void ECP_FP512BN_add(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="structECP__FP512BN_html_a8d2e0b92b8ba15e6aeaca32b38e4ca98"><div class="ttname"><a href="structECP__FP512BN.html#a8d2e0b92b8ba15e6aeaca32b38e4ca98">ECP_FP512BN::x</a></div><div class="ttdeci">FP_FP512BN x</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.h:109</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a4ed7a07305530bfd4d19a8cbcf302707"><div class="ttname"><a href="ecp__FP512BN_8h.html#a4ed7a07305530bfd4d19a8cbcf302707">CURVE_Pyaba_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyaba_FP512BN</div></div>
-<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
+<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ab2dc563df0c69946d23eb1291ed6c8fa"><div class="ttname"><a href="ecp__FP512BN_8h.html#ab2dc563df0c69946d23eb1291ed6c8fa">CURVE_Pxaaa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxaaa_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_af4c942fa9d1f3bf950a4de726224c46d"><div class="ttname"><a href="ecp__FP512BN_8h.html#af4c942fa9d1f3bf950a4de726224c46d">ECP_FP512BN_cfp</a></div><div class="ttdeci">void ECP_FP512BN_cfp(ECP_FP512BN *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:338</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_af4c942fa9d1f3bf950a4de726224c46d"><div class="ttname"><a href="ecp__FP512BN_8h.html#af4c942fa9d1f3bf950a4de726224c46d">ECP_FP512BN_cfp</a></div><div class="ttdeci">void ECP_FP512BN_cfp(ECP_FP512BN *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:338</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ad7da3c3186a66323a2cd55968808f253"><div class="ttname"><a href="ecp__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a></div><div class="ttdeci">const BIG_512_60 Fra_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a34fb1207032d8f2a297e2159a66d198a"><div class="ttname"><a href="ecp__FP512BN_8h.html#a34fb1207032d8f2a297e2159a66d198a">ECP_FP512BN_isinf</a></div><div class="ttdeci">int ECP_FP512BN_isinf(ECP_FP512BN *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:28</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_abb7bfd5a781ea46fdd6556769d39d523"><div class="ttname"><a href="ecp__FP512BN_8h.html#abb7bfd5a781ea46fdd6556769d39d523">ECP_FP512BN_dbl</a></div><div class="ttdeci">void ECP_FP512BN_dbl(ECP_FP512BN *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:564</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a34fb1207032d8f2a297e2159a66d198a"><div class="ttname"><a href="ecp__FP512BN_8h.html#a34fb1207032d8f2a297e2159a66d198a">ECP_FP512BN_isinf</a></div><div class="ttdeci">int ECP_FP512BN_isinf(ECP_FP512BN *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:28</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_abb7bfd5a781ea46fdd6556769d39d523"><div class="ttname"><a href="ecp__FP512BN_8h.html#abb7bfd5a781ea46fdd6556769d39d523">ECP_FP512BN_dbl</a></div><div class="ttdeci">void ECP_FP512BN_dbl(ECP_FP512BN *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:564</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a2ba6d09974eb66d58545982c9f6604b8"><div class="ttname"><a href="ecp__FP512BN_8h.html#a2ba6d09974eb66d58545982c9f6604b8">CURVE_Pxab_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxab_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ae6545c64b0523a9f2301a3a2fefa681d"><div class="ttname"><a href="ecp__FP512BN_8h.html#ae6545c64b0523a9f2301a3a2fefa681d">CURVE_Pxa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxa_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a5a71e0181db077c3adfb655d509892c0"><div class="ttname"><a href="ecp__FP512BN_8h.html#a5a71e0181db077c3adfb655d509892c0">ECP_FP512BN_mul</a></div><div class="ttdeci">void ECP_FP512BN_mul(ECP_FP512BN *P, BIG_512_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:1021</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a5a71e0181db077c3adfb655d509892c0"><div class="ttname"><a href="ecp__FP512BN_8h.html#a5a71e0181db077c3adfb655d509892c0">ECP_FP512BN_mul</a></div><div class="ttdeci">void ECP_FP512BN_mul(ECP_FP512BN *P, BIG_512_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:1021</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_aeaf9b1e54847a3fe69a3bf7b7a238a63"><div class="ttname"><a href="ecp__FP512BN_8h.html#aeaf9b1e54847a3fe69a3bf7b7a238a63">CURVE_Pyab_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyab_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ae5c726c4f9da421d2e2004f10c7823e0"><div class="ttname"><a href="ecp__FP512BN_8h.html#ae5c726c4f9da421d2e2004f10c7823e0">CURVE_Gy_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Gy_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ab326829886a3cf3acce946cf3efb617f"><div class="ttname"><a href="ecp__FP512BN_8h.html#ab326829886a3cf3acce946cf3efb617f">CURVE_Cof_I_FP512BN</a></div><div class="ttdeci">const int CURVE_Cof_I_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_ac2c49c90634b072611a576c98c84146c"><div class="ttname"><a href="ecp__FP512BN_8h.html#ac2c49c90634b072611a576c98c84146c">ECP_FP512BN_outputxyz</a></div><div class="ttdeci">void ECP_FP512BN_outputxyz(ECP_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:414</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_ac2c49c90634b072611a576c98c84146c"><div class="ttname"><a href="ecp__FP512BN_8h.html#ac2c49c90634b072611a576c98c84146c">ECP_FP512BN_outputxyz</a></div><div class="ttdeci">void ECP_FP512BN_outputxyz(ECP_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:414</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a30e78c9709b6ec51568a86fa72c12c7c"><div class="ttname"><a href="ecp__FP512BN_8h.html#a30e78c9709b6ec51568a86fa72c12c7c">CURVE_Pxaba_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxaba_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ad629cbab8cb7b5ae1339ca522630eb83"><div class="ttname"><a href="ecp__FP512BN_8h.html#ad629cbab8cb7b5ae1339ca522630eb83">CURVE_Pxbaa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxbaa_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a9348e4fe11f9eb709d9ff5a98fe79b79"><div class="ttname"><a href="ecp__FP512BN_8h.html#a9348e4fe11f9eb709d9ff5a98fe79b79">CURVE_B_I_FP512BN</a></div><div class="ttdeci">const int CURVE_B_I_FP512BN</div></div>
@@ -95,62 +98,62 @@
 <div class="ttc" id="ecp__FP512BN_8h_html_a769d818158ce7aa4b173ae423d65e482"><div class="ttname"><a href="ecp__FP512BN_8h.html#a769d818158ce7aa4b173ae423d65e482">CURVE_Pybaa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pybaa_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a2cbeec7c489096de65a000f9f0b96ca0"><div class="ttname"><a href="ecp__FP512BN_8h.html#a2cbeec7c489096de65a000f9f0b96ca0">CURVE_Cru_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Cru_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_aeeba1921ff8be7bb0162ff206943a7fb"><div class="ttname"><a href="ecp__FP512BN_8h.html#aeeba1921ff8be7bb0162ff206943a7fb">CURVE_Pxbb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxbb_FP512BN</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="ecp__FP512BN_8h_html_a5fca0bb96e9cf70e32f78f1f11f94312"><div class="ttname"><a href="ecp__FP512BN_8h.html#a5fca0bb96e9cf70e32f78f1f11f94312">CURVE_Pyb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyb_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a5b78823567197bd104b9129ca9d0467a"><div class="ttname"><a href="ecp__FP512BN_8h.html#a5b78823567197bd104b9129ca9d0467a">CURVE_Pyaa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyaa_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_af5d2966b84d15ada9abbb52d04553c89"><div class="ttname"><a href="ecp__FP512BN_8h.html#af5d2966b84d15ada9abbb52d04553c89">CURVE_Pyaaa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyaaa_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a61c07ca31b633a3725194cb93efd3bb9"><div class="ttname"><a href="ecp__FP512BN_8h.html#a61c07ca31b633a3725194cb93efd3bb9">CURVE_Pyabb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyabb_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a16ad72e0e49a871bc5f86c961059b311"><div class="ttname"><a href="ecp__FP512BN_8h.html#a16ad72e0e49a871bc5f86c961059b311">CURVE_B_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_B_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a8b38a0f47cee6a90e1f766a84989c072"><div class="ttname"><a href="ecp__FP512BN_8h.html#a8b38a0f47cee6a90e1f766a84989c072">ECP_FP512BN_rhs</a></div><div class="ttdeci">void ECP_FP512BN_rhs(FP_FP512BN *r, FP_FP512BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:161</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a29ca0e3399adda5a8ddaff5adc3e92e5"><div class="ttname"><a href="ecp__FP512BN_8h.html#a29ca0e3399adda5a8ddaff5adc3e92e5">ECP_FP512BN_get</a></div><div class="ttdeci">int ECP_FP512BN_get(BIG_512_60 x, BIG_512_60 y, ECP_FP512BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a8b38a0f47cee6a90e1f766a84989c072"><div class="ttname"><a href="ecp__FP512BN_8h.html#a8b38a0f47cee6a90e1f766a84989c072">ECP_FP512BN_rhs</a></div><div class="ttdeci">void ECP_FP512BN_rhs(FP_FP512BN *r, FP_FP512BN *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:161</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a29ca0e3399adda5a8ddaff5adc3e92e5"><div class="ttname"><a href="ecp__FP512BN_8h.html#a29ca0e3399adda5a8ddaff5adc3e92e5">ECP_FP512BN_get</a></div><div class="ttdeci">int ECP_FP512BN_get(BIG_512_60 x, BIG_512_60 y, ECP_FP512BN *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a71f89bc43d50f3f3f3161c5d9337fd49"><div class="ttname"><a href="ecp__FP512BN_8h.html#a71f89bc43d50f3f3f3161c5d9337fd49">CURVE_WB_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_WB_FP512BN[4]</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a39eec873c083c496d291330450e26bf7"><div class="ttname"><a href="ecp__FP512BN_8h.html#a39eec873c083c496d291330450e26bf7">CURVE_Pxbba_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxbba_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_ad4d0392f7216e693ec703c4d1fd98f47"><div class="ttname"><a href="ecp__FP512BN_8h.html#ad4d0392f7216e693ec703c4d1fd98f47">ECP_FP512BN_inf</a></div><div class="ttdeci">void ECP_FP512BN_inf(ECP_FP512BN *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:146</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_ad4d0392f7216e693ec703c4d1fd98f47"><div class="ttname"><a href="ecp__FP512BN_8h.html#ad4d0392f7216e693ec703c4d1fd98f47">ECP_FP512BN_inf</a></div><div class="ttdeci">void ECP_FP512BN_inf(ECP_FP512BN *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:146</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a7779bd614969b839e744e377802bdcd0"><div class="ttname"><a href="ecp__FP512BN_8h.html#a7779bd614969b839e744e377802bdcd0">CURVE_Pybb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pybb_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a31a1587c43860daf99d5368937031e11"><div class="ttname"><a href="ecp__FP512BN_8h.html#a31a1587c43860daf99d5368937031e11">CURVE_Cof_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Cof_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_afb6a62adbfafd8483b1e40d4b87ae572"><div class="ttname"><a href="ecp__FP512BN_8h.html#afb6a62adbfafd8483b1e40d4b87ae572">CURVE_Gx_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Gx_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_aaecf109e253c9c64cb1b1923566c2dd5"><div class="ttname"><a href="ecp__FP512BN_8h.html#aaecf109e253c9c64cb1b1923566c2dd5">ECP_FP512BN_equals</a></div><div class="ttdeci">int ECP_FP512BN_equals(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:100</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_aaecf109e253c9c64cb1b1923566c2dd5"><div class="ttname"><a href="ecp__FP512BN_8h.html#aaecf109e253c9c64cb1b1923566c2dd5">ECP_FP512BN_equals</a></div><div class="ttdeci">int ECP_FP512BN_equals(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:100</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a1c94ad41f2580aabc8a5a6f9d2efd723"><div class="ttname"><a href="ecp__FP512BN_8h.html#a1c94ad41f2580aabc8a5a6f9d2efd723">CURVE_Pxba_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxba_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a7b2616ce5c06b304cde04f74d42658fe"><div class="ttname"><a href="ecp__FP512BN_8h.html#a7b2616ce5c06b304cde04f74d42658fe">ECP_FP512BN_sub</a></div><div class="ttdeci">void ECP_FP512BN_sub(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a7b2616ce5c06b304cde04f74d42658fe"><div class="ttname"><a href="ecp__FP512BN_8h.html#a7b2616ce5c06b304cde04f74d42658fe">ECP_FP512BN_sub</a></div><div class="ttdeci">void ECP_FP512BN_sub(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_abf56829a9feaabe3cc49a4a28c4319f8"><div class="ttname"><a href="ecp__FP512BN_8h.html#abf56829a9feaabe3cc49a4a28c4319f8">CURVE_Pybab_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pybab_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a87f6a1bfad641ef51dac1982fa78c2d5"><div class="ttname"><a href="ecp__FP512BN_8h.html#a87f6a1bfad641ef51dac1982fa78c2d5">CURVE_Pybba_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pybba_FP512BN</div></div>
 <div class="ttc" id="structECP__FP512BN_html_af77c2077fb71e255266f27b60e242f5b"><div class="ttname"><a href="structECP__FP512BN.html#af77c2077fb71e255266f27b60e242f5b">ECP_FP512BN::y</a></div><div class="ttdeci">FP_FP512BN y</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.h:111</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_af3df0642a3f4a692574109ab258002f6"><div class="ttname"><a href="ecp__FP512BN_8h.html#af3df0642a3f4a692574109ab258002f6">ECP_FP512BN_rawoutput</a></div><div class="ttdeci">void ECP_FP512BN_rawoutput(ECP_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:478</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html"><div class="ttname"><a href="fp__FP512BN_8h.html">fp_FP512BN.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_af3df0642a3f4a692574109ab258002f6"><div class="ttname"><a href="ecp__FP512BN_8h.html#af3df0642a3f4a692574109ab258002f6">ECP_FP512BN_rawoutput</a></div><div class="ttdeci">void ECP_FP512BN_rawoutput(ECP_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:478</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html"><div class="ttname"><a href="fp__FP512BN_8h.html">fp_FP512BN.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_aa4b8d3bf44351f475ba69561eaac3a1b"><div class="ttname"><a href="ecp__FP512BN_8h.html#aa4b8d3bf44351f475ba69561eaac3a1b">CURVE_BB_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_BB_FP512BN[4][4]</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ab82f59d669e32a8c8e06064c4d209a45"><div class="ttname"><a href="ecp__FP512BN_8h.html#ab82f59d669e32a8c8e06064c4d209a45">CURVE_Pyaab_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pyaab_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ac77516eb52afb1d460d0aaba919ca15f"><div class="ttname"><a href="ecp__FP512BN_8h.html#ac77516eb52afb1d460d0aaba919ca15f">CURVE_Pxb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxb_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a9872783c48c008ff2e13869e57096f76"><div class="ttname"><a href="ecp__FP512BN_8h.html#a9872783c48c008ff2e13869e57096f76">ECP_FP512BN_set</a></div><div class="ttdeci">int ECP_FP512BN_set(ECP_FP512BN *P, BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a9872783c48c008ff2e13869e57096f76"><div class="ttname"><a href="ecp__FP512BN_8h.html#a9872783c48c008ff2e13869e57096f76">ECP_FP512BN_set</a></div><div class="ttdeci">int ECP_FP512BN_set(ECP_FP512BN *P, BIG_512_60 x, BIG_512_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_aa9c96b7b8f982ae7ae594218d6aee2f6"><div class="ttname"><a href="ecp__FP512BN_8h.html#aa9c96b7b8f982ae7ae594218d6aee2f6">CURVE_SB_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_SB_FP512BN[2][2]</div></div>
-<div class="ttc" id="structECP__FP512BN_html"><div class="ttname"><a href="structECP__FP512BN.html">ECP_FP512BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.h:105</div></div>
+<div class="ttc" id="structECP__FP512BN_html"><div class="ttname"><a href="structECP__FP512BN.html">ECP_FP512BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.h:105</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a92a1272010bbe273b1c265aaf100396b"><div class="ttname"><a href="ecp__FP512BN_8h.html#a92a1272010bbe273b1c265aaf100396b">CURVE_Pxaa_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxaa_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a2ed09e31af6646cd18598bb18dfac7f1"><div class="ttname"><a href="ecp__FP512BN_8h.html#a2ed09e31af6646cd18598bb18dfac7f1">CURVE_Pxbbb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxbbb_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a906c0103e97e813fe6ab0c6007b6bc36"><div class="ttname"><a href="ecp__FP512BN_8h.html#a906c0103e97e813fe6ab0c6007b6bc36">CURVE_Pxaab_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxaab_FP512BN</div></div>
 <div class="ttc" id="structECP__FP512BN_html_a5ff94a5d36716c69d73e2204e8c363e1"><div class="ttname"><a href="structECP__FP512BN.html#a5ff94a5d36716c69d73e2204e8c363e1">ECP_FP512BN::z</a></div><div class="ttdeci">FP_FP512BN z</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.h:113</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a134b983217e67117e44527f4de98b6c2"><div class="ttname"><a href="ecp__FP512BN_8h.html#a134b983217e67117e44527f4de98b6c2">CURVE_Pxabb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxabb_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a8a8490489ecf4446120a8a639e2af905"><div class="ttname"><a href="ecp__FP512BN_8h.html#a8a8490489ecf4446120a8a639e2af905">CURVE_Order_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Order_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_aeef8961efa8ea91f7b4d1fba495f2e00"><div class="ttname"><a href="ecp__FP512BN_8h.html#aeef8961efa8ea91f7b4d1fba495f2e00">ECP_FP512BN_output</a></div><div class="ttdeci">void ECP_FP512BN_output(ECP_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:450</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_aeef8961efa8ea91f7b4d1fba495f2e00"><div class="ttname"><a href="ecp__FP512BN_8h.html#aeef8961efa8ea91f7b4d1fba495f2e00">ECP_FP512BN_output</a></div><div class="ttdeci">void ECP_FP512BN_output(ECP_FP512BN *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:450</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_aa30bd494d22b536ca5d247674c394bea"><div class="ttname"><a href="ecp__FP512BN_8h.html#aa30bd494d22b536ca5d247674c394bea">CURVE_W_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_W_FP512BN[2]</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a3908d4212db65770e63ecd1caa6bfe34"><div class="ttname"><a href="ecp__FP512BN_8h.html#a3908d4212db65770e63ecd1caa6bfe34">ECP_FP512BN_pinmul</a></div><div class="ttdeci">void ECP_FP512BN_pinmul(ECP_FP512BN *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a3908d4212db65770e63ecd1caa6bfe34"><div class="ttname"><a href="ecp__FP512BN_8h.html#a3908d4212db65770e63ecd1caa6bfe34">ECP_FP512BN_pinmul</a></div><div class="ttdeci">void ECP_FP512BN_pinmul(ECP_FP512BN *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a4712f5352d0e860010296c377ae7e076"><div class="ttname"><a href="ecp__FP512BN_8h.html#a4712f5352d0e860010296c377ae7e076">CURVE_A_FP512BN</a></div><div class="ttdeci">const int CURVE_A_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a7198d72b21c90c270241f9326c4e3d2e"><div class="ttname"><a href="ecp__FP512BN_8h.html#a7198d72b21c90c270241f9326c4e3d2e">ECP_FP512BN_generator</a></div><div class="ttdeci">void ECP_FP512BN_generator(ECP_FP512BN *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:1221</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a0f8527d85bef7eeca00bcfe2cefec94f"><div class="ttname"><a href="ecp__FP512BN_8h.html#a0f8527d85bef7eeca00bcfe2cefec94f">ECP_FP512BN_copy</a></div><div class="ttdeci">void ECP_FP512BN_copy(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:120</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a2efc2836f2518230f9b4eafe381f3447"><div class="ttname"><a href="ecp__FP512BN_8h.html#a2efc2836f2518230f9b4eafe381f3447">ECP_FP512BN_mul2</a></div><div class="ttdeci">void ECP_FP512BN_mul2(ECP_FP512BN *P, ECP_FP512BN *Q, BIG_512_60 e, BIG_512_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a7198d72b21c90c270241f9326c4e3d2e"><div class="ttname"><a href="ecp__FP512BN_8h.html#a7198d72b21c90c270241f9326c4e3d2e">ECP_FP512BN_generator</a></div><div class="ttdeci">void ECP_FP512BN_generator(ECP_FP512BN *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:1221</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a0f8527d85bef7eeca00bcfe2cefec94f"><div class="ttname"><a href="ecp__FP512BN_8h.html#a0f8527d85bef7eeca00bcfe2cefec94f">ECP_FP512BN_copy</a></div><div class="ttdeci">void ECP_FP512BN_copy(ECP_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:120</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a2efc2836f2518230f9b4eafe381f3447"><div class="ttname"><a href="ecp__FP512BN_8h.html#a2efc2836f2518230f9b4eafe381f3447">ECP_FP512BN_mul2</a></div><div class="ttdeci">void ECP_FP512BN_mul2(ECP_FP512BN *P, ECP_FP512BN *Q, BIG_512_60 e, BIG_512_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a40aad466ccb5c230cdb67e20e376b8b4"><div class="ttname"><a href="ecp__FP512BN_8h.html#a40aad466ccb5c230cdb67e20e376b8b4">CURVE_Pxbab_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pxbab_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a9dec0101a72901fa1e2a8682cd8fb9d5"><div class="ttname"><a href="ecp__FP512BN_8h.html#a9dec0101a72901fa1e2a8682cd8fb9d5">ECP_FP512BN_affine</a></div><div class="ttdeci">void ECP_FP512BN_affine(ECP_FP512BN *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:392</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_ab7a6e9964ff2d138c687229b17e5baf9"><div class="ttname"><a href="ecp__FP512BN_8h.html#ab7a6e9964ff2d138c687229b17e5baf9">ECP_FP512BN_fromOctet</a></div><div class="ttdeci">int ECP_FP512BN_fromOctet(ECP_FP512BN *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:537</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a9dec0101a72901fa1e2a8682cd8fb9d5"><div class="ttname"><a href="ecp__FP512BN_8h.html#a9dec0101a72901fa1e2a8682cd8fb9d5">ECP_FP512BN_affine</a></div><div class="ttdeci">void ECP_FP512BN_affine(ECP_FP512BN *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:392</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_ab7a6e9964ff2d138c687229b17e5baf9"><div class="ttname"><a href="ecp__FP512BN_8h.html#ab7a6e9964ff2d138c687229b17e5baf9">ECP_FP512BN_fromOctet</a></div><div class="ttdeci">int ECP_FP512BN_fromOctet(ECP_FP512BN *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:537</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_ad0faaed4a8c1e3ea2112f7db93c18517"><div class="ttname"><a href="ecp__FP512BN_8h.html#ad0faaed4a8c1e3ea2112f7db93c18517">CURVE_Pya_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pya_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_aa658d569369c1186b6d77133caab1d3a"><div class="ttname"><a href="ecp__FP512BN_8h.html#aa658d569369c1186b6d77133caab1d3a">CURVE_Pybbb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Pybbb_FP512BN</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a99f0e0c6148339ac0862403fdc477991"><div class="ttname"><a href="ecp__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 Frb_FP512BN</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a39b4dcd2824e1645f07d6b37f73a1eef"><div class="ttname"><a href="ecp__FP512BN_8h.html#a39b4dcd2824e1645f07d6b37f73a1eef">ECP_FP512BN_neg</a></div><div class="ttdeci">void ECP_FP512BN_neg(ECP_FP512BN *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html_a5ed2a486a0a486c6447d1fbc595eda5d"><div class="ttname"><a href="ecp__FP512BN_8h.html#a5ed2a486a0a486c6447d1fbc595eda5d">ECP_FP512BN_mapit</a></div><div class="ttdeci">void ECP_FP512BN_mapit(ECP_FP512BN *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:365</div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a39b4dcd2824e1645f07d6b37f73a1eef"><div class="ttname"><a href="ecp__FP512BN_8h.html#a39b4dcd2824e1645f07d6b37f73a1eef">ECP_FP512BN_neg</a></div><div class="ttdeci">void ECP_FP512BN_neg(ECP_FP512BN *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html_a5ed2a486a0a486c6447d1fbc595eda5d"><div class="ttname"><a href="ecp__FP512BN_8h.html#a5ed2a486a0a486c6447d1fbc595eda5d">ECP_FP512BN_mapit</a></div><div class="ttdeci">void ECP_FP512BN_mapit(ECP_FP512BN *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:365</div></div>
 <div class="ttc" id="ecp__FP512BN_8h_html_a4853a81f0d4e6e2a3003a1ea6f49706a"><div class="ttname"><a href="ecp__FP512BN_8h.html#a4853a81f0d4e6e2a3003a1ea6f49706a">ECP_FP512BN_toOctet</a></div><div class="ttdeci">void ECP_FP512BN_toOctet(octet *S, ECP_FP512BN *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.c:507</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/ecp__GOLDILOCKS_8h.html b/website/static/cdocs/ecp__GOLDILOCKS_8h.html
index ec732d0..430e2ff 100644
--- a/website/static/cdocs/ecp__GOLDILOCKS_8h.html
+++ b/website/static/cdocs/ecp__GOLDILOCKS_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: ecp_GOLDILOCKS.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"
@@ -1705,7 +1708,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/ecp__GOLDILOCKS_8h_source.html b/website/static/cdocs/ecp__GOLDILOCKS_8h_source.html
index c5bc478..77422fa 100644
--- a/website/static/cdocs/ecp__GOLDILOCKS_8h_source.html
+++ b/website/static/cdocs/ecp__GOLDILOCKS_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: ecp_GOLDILOCKS.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,7 +72,7 @@
 <div class="title">ecp_GOLDILOCKS.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__GOLDILOCKS_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 ECP_GOLDILOCKS_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_GOLDILOCKS_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 &quot;<a class="code" href="fp__GOLDILOCKS_8h.html">fp_GOLDILOCKS.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_GOLDILOCKS.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9901cc56d7ffc0572c687cfe10b3a589">CURVE_A_GOLDILOCKS</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a5a68b8b95fc27d08628b4197773c5e27">CURVE_Cof_I_GOLDILOCKS</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a1c220fb208e0266693a33f6f068f0a07">CURVE_B_I_GOLDILOCKS</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aaa997d46a61bb22f5ada3c7aabda66c4">CURVE_B_GOLDILOCKS</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a99a315bd5a42e855ed5334d43d314812">CURVE_Order_GOLDILOCKS</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a2d948d21390f2df3abad2bfd5f157814">CURVE_Cof_GOLDILOCKS</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a8a68b941ac861c9a7f4b9d95f00d59d4">CURVE_Gx_GOLDILOCKS</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ac60e934e12c80e06116e9da5f480e4ca">CURVE_Gy_GOLDILOCKS</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aabc76324f9798f4dab6fc6810d2860f2">CURVE_Pxa_GOLDILOCKS</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a1d596bf966ae6bc857665ece0c146e80">CURVE_Pxb_GOLDILOCKS</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab33e82c0cfeed6646902e29f8bc7d409">CURVE_Pya_GOLDILOCKS</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae0d34d6435b69e8f599b5267bba1dfc5">CURVE_Pyb_GOLDILOCKS</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a0acdd6483b25aeb109af80dc9f258cd3">CURVE_Pxaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab0222ce3c847cc32abb98ce1bd315919">CURVE_Pxab_GOLDILOCKS</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a63214e38d863f70786e7f4bbfaaec4d3">CURVE_Pxba_GOLDILOCKS</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aac20ea244dfa4ec8ede594da2ab02422">CURVE_Pxbb_GOLDILOCKS</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae3556428f4da80b91c0458ce2f5e0240">CURVE_Pyaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9135fc585894892046afc6dd0d938bf1">CURVE_Pyab_GOLDILOCKS</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aec1a1b17bf27ffadc5792cedc7ffb402">CURVE_Pyba_GOLDILOCKS</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a695a8c3cafbff3fc41482c0ba80292ea">CURVE_Pybb_GOLDILOCKS</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a02f4477f9df334f5b1d7276434bb8d08">CURVE_Pxaaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#abe8052e32ce40a5cb99573d21dc324f4">CURVE_Pxaab_GOLDILOCKS</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aca47c868a21cf08055bcc17dca4f0e93">CURVE_Pxaba_GOLDILOCKS</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae81ab30d8804927c50db79bb05a8b1ef">CURVE_Pxabb_GOLDILOCKS</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a17502d4d88d7614ad59826549613b45f">CURVE_Pxbaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad1a1946e79dac014e5ee752229b8a47f">CURVE_Pxbab_GOLDILOCKS</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aacf8e4cde945a0d686ec369fda4c49b7">CURVE_Pxbba_GOLDILOCKS</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a5af1861f8a85ac083ac9acb9e35b85ad">CURVE_Pxbbb_GOLDILOCKS</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9fb1b4ca09377212abada4a22fbcaa1d">CURVE_Pyaaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#af827e5953714015d2da1b44744240e05">CURVE_Pyaab_GOLDILOCKS</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aa8f63d87996d96fc537743fff88ad036">CURVE_Pyaba_GOLDILOCKS</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aea20d7db9ff1218994aa8426eb8fb935">CURVE_Pyabb_GOLDILOCKS</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad5aa59dba567f3d7484041fc7a37452b">CURVE_Pybaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aa37692da44832503c8a01b18543357f6">CURVE_Pybab_GOLDILOCKS</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a6bdb5b829864ea1763f162ea1bfb8f2c">CURVE_Pybba_GOLDILOCKS</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a95fec22c2dce5ccac766771dd155b8a4">CURVE_Pybbb_GOLDILOCKS</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#af46232168924a2e0958c14722262ee53">CURVE_Bnx_GOLDILOCKS</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a2f99538e9a564c4f921a98582081f4f2">CURVE_Cru_GOLDILOCKS</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#afc84e9d69d03ecd6ddbadf37d31cfdcc">Fra_GOLDILOCKS</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a3ca5c7ba9b34de2cfdc8860381a4ab9f">Frb_GOLDILOCKS</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9241ea5ed59254b377f1e1b21248a865">CURVE_W_GOLDILOCKS</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a7bfbcf747bf3b5efef2dbae198cb15ef">CURVE_SB_GOLDILOCKS</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#acb777e9c4d7d24ac7eb7daa2aada9965">CURVE_WB_GOLDILOCKS</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a1dec80e6aae56db82bddff6abff584f4">CURVE_BB_GOLDILOCKS</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html#aaac875d4a8e758787b9f876cda5a849e">  109</a></span>&#160;    <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> <a class="code" href="structECP__GOLDILOCKS.html#aaac875d4a8e758787b9f876cda5a849e">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_GOLDILOCKS!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html#ae9ed1c1e25fa1dca989e5629faac9571">  111</a></span>&#160;    <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> <a class="code" href="structECP__GOLDILOCKS.html#ae9ed1c1e25fa1dca989e5629faac9571">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html#a8080dd2499336c58a9a719986fa30a8c">  113</a></span>&#160;    <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> <a class="code" href="structECP__GOLDILOCKS.html#a8080dd2499336c58a9a719986fa30a8c">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a478b9cf6c68d677a8eb93c119c942e0f">ECP_GOLDILOCKS_isinf</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab04eb46a7e7831168089ec42ad2b3b35">ECP_GOLDILOCKS_equals</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a8fdd5416243c3cf17fe050579f83b11d">ECP_GOLDILOCKS_copy</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</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="ecp__GOLDILOCKS_8h.html#a5522b513e59ac7d715966ae289064fcb">ECP_GOLDILOCKS_neg</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</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="ecp__GOLDILOCKS_8h.html#a21e218c3748e924ea45c93b2d4c16043">ECP_GOLDILOCKS_inf</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9b71a9ccdafb905e359888d9df70bec5">ECP_GOLDILOCKS_rhs</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *r,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_GOLDILOCKS==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a604d03809ddebfce4b725b737d4498d3">ECP_GOLDILOCKS_set</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a10e00b229f290703bc3574f51b04c169">ECP_GOLDILOCKS_get</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad17cfd6dc30ef54b31917434c61adc6d">ECP_GOLDILOCKS_add</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a604d03809ddebfce4b725b737d4498d3">ECP_GOLDILOCKS_set</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a10e00b229f290703bc3574f51b04c169">ECP_GOLDILOCKS_get</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad17cfd6dc30ef54b31917434c61adc6d">ECP_GOLDILOCKS_add</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</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="ecp__GOLDILOCKS_8h.html#a4723e21cd3e7f8d664ad1007f7b2fd48">ECP_GOLDILOCKS_sub</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a57f89cbab0bb1e74d8eb01ad0182e7c2">ECP_GOLDILOCKS_setx</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ac8cf0cbb5440d84e04c3fe808966923f">ECP_GOLDILOCKS_cfp</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab71f7be4acccf20edc38a00e9c5ae9a2">ECP_GOLDILOCKS_mapit</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a8db7a96bbbd29a7b253bd2733e468c9c">ECP_GOLDILOCKS_affine</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aa9cac9f1f4b6402a825b2f4acb380eb0">ECP_GOLDILOCKS_outputxyz</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</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="ecp__GOLDILOCKS_8h.html#a19e423e41a8124040dcb4f4cc131782a">ECP_GOLDILOCKS_output</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#acdbc63fd4ddd8cade01f579048a01a99">ECP_GOLDILOCKS_rawoutput</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aaac23a269d3e072512b8792f3a0eb29a">ECP_GOLDILOCKS_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aaf933c25f2c9ae830f94b620ca3f5952">ECP_GOLDILOCKS_fromOctet</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a2c5a1557dccd9b28dec001686212fab3">ECP_GOLDILOCKS_dbl</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae566b76d6c85b340c55fd9195ada6af3">ECP_GOLDILOCKS_pinmul</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a14082230bba2ab85ac5e9968160e4e2e">ECP_GOLDILOCKS_mul</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aad367bc816862479ba1559d2cfe8819a">ECP_GOLDILOCKS_mul2</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> e,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a243e1fef9f12583827f57c470eb06568">ECP_GOLDILOCKS_generator</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__GOLDILOCKS_8h_html_a19e423e41a8124040dcb4f4cc131782a"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a19e423e41a8124040dcb4f4cc131782a">ECP_GOLDILOCKS_output</a></div><div class="ttdeci">void ECP_GOLDILOCKS_output(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:450</div></div>
+<a href="ecp__GOLDILOCKS_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 ECP_GOLDILOCKS_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_GOLDILOCKS_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 &quot;<a class="code" href="fp__GOLDILOCKS_8h.html">fp_GOLDILOCKS.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_GOLDILOCKS.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9901cc56d7ffc0572c687cfe10b3a589">CURVE_A_GOLDILOCKS</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a5a68b8b95fc27d08628b4197773c5e27">CURVE_Cof_I_GOLDILOCKS</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a1c220fb208e0266693a33f6f068f0a07">CURVE_B_I_GOLDILOCKS</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aaa997d46a61bb22f5ada3c7aabda66c4">CURVE_B_GOLDILOCKS</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a99a315bd5a42e855ed5334d43d314812">CURVE_Order_GOLDILOCKS</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a2d948d21390f2df3abad2bfd5f157814">CURVE_Cof_GOLDILOCKS</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a8a68b941ac861c9a7f4b9d95f00d59d4">CURVE_Gx_GOLDILOCKS</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ac60e934e12c80e06116e9da5f480e4ca">CURVE_Gy_GOLDILOCKS</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aabc76324f9798f4dab6fc6810d2860f2">CURVE_Pxa_GOLDILOCKS</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a1d596bf966ae6bc857665ece0c146e80">CURVE_Pxb_GOLDILOCKS</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab33e82c0cfeed6646902e29f8bc7d409">CURVE_Pya_GOLDILOCKS</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae0d34d6435b69e8f599b5267bba1dfc5">CURVE_Pyb_GOLDILOCKS</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a0acdd6483b25aeb109af80dc9f258cd3">CURVE_Pxaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab0222ce3c847cc32abb98ce1bd315919">CURVE_Pxab_GOLDILOCKS</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a63214e38d863f70786e7f4bbfaaec4d3">CURVE_Pxba_GOLDILOCKS</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aac20ea244dfa4ec8ede594da2ab02422">CURVE_Pxbb_GOLDILOCKS</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae3556428f4da80b91c0458ce2f5e0240">CURVE_Pyaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9135fc585894892046afc6dd0d938bf1">CURVE_Pyab_GOLDILOCKS</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aec1a1b17bf27ffadc5792cedc7ffb402">CURVE_Pyba_GOLDILOCKS</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a695a8c3cafbff3fc41482c0ba80292ea">CURVE_Pybb_GOLDILOCKS</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a02f4477f9df334f5b1d7276434bb8d08">CURVE_Pxaaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#abe8052e32ce40a5cb99573d21dc324f4">CURVE_Pxaab_GOLDILOCKS</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aca47c868a21cf08055bcc17dca4f0e93">CURVE_Pxaba_GOLDILOCKS</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae81ab30d8804927c50db79bb05a8b1ef">CURVE_Pxabb_GOLDILOCKS</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a17502d4d88d7614ad59826549613b45f">CURVE_Pxbaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad1a1946e79dac014e5ee752229b8a47f">CURVE_Pxbab_GOLDILOCKS</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aacf8e4cde945a0d686ec369fda4c49b7">CURVE_Pxbba_GOLDILOCKS</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a5af1861f8a85ac083ac9acb9e35b85ad">CURVE_Pxbbb_GOLDILOCKS</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9fb1b4ca09377212abada4a22fbcaa1d">CURVE_Pyaaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#af827e5953714015d2da1b44744240e05">CURVE_Pyaab_GOLDILOCKS</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aa8f63d87996d96fc537743fff88ad036">CURVE_Pyaba_GOLDILOCKS</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aea20d7db9ff1218994aa8426eb8fb935">CURVE_Pyabb_GOLDILOCKS</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad5aa59dba567f3d7484041fc7a37452b">CURVE_Pybaa_GOLDILOCKS</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#aa37692da44832503c8a01b18543357f6">CURVE_Pybab_GOLDILOCKS</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a6bdb5b829864ea1763f162ea1bfb8f2c">CURVE_Pybba_GOLDILOCKS</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a95fec22c2dce5ccac766771dd155b8a4">CURVE_Pybbb_GOLDILOCKS</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#af46232168924a2e0958c14722262ee53">CURVE_Bnx_GOLDILOCKS</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a2f99538e9a564c4f921a98582081f4f2">CURVE_Cru_GOLDILOCKS</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#afc84e9d69d03ecd6ddbadf37d31cfdcc">Fra_GOLDILOCKS</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a3ca5c7ba9b34de2cfdc8860381a4ab9f">Frb_GOLDILOCKS</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9241ea5ed59254b377f1e1b21248a865">CURVE_W_GOLDILOCKS</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a7bfbcf747bf3b5efef2dbae198cb15ef">CURVE_SB_GOLDILOCKS</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#acb777e9c4d7d24ac7eb7daa2aada9965">CURVE_WB_GOLDILOCKS</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="ecp__GOLDILOCKS_8h.html#a1dec80e6aae56db82bddff6abff584f4">CURVE_BB_GOLDILOCKS</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html#aaac875d4a8e758787b9f876cda5a849e">  109</a></span>&#160;    <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> <a class="code" href="structECP__GOLDILOCKS.html#aaac875d4a8e758787b9f876cda5a849e">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_GOLDILOCKS!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html#ae9ed1c1e25fa1dca989e5629faac9571">  111</a></span>&#160;    <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> <a class="code" href="structECP__GOLDILOCKS.html#ae9ed1c1e25fa1dca989e5629faac9571">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__GOLDILOCKS.html#a8080dd2499336c58a9a719986fa30a8c">  113</a></span>&#160;    <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> <a class="code" href="structECP__GOLDILOCKS.html#a8080dd2499336c58a9a719986fa30a8c">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a478b9cf6c68d677a8eb93c119c942e0f">ECP_GOLDILOCKS_isinf</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab04eb46a7e7831168089ec42ad2b3b35">ECP_GOLDILOCKS_equals</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a8fdd5416243c3cf17fe050579f83b11d">ECP_GOLDILOCKS_copy</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</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="ecp__GOLDILOCKS_8h.html#a5522b513e59ac7d715966ae289064fcb">ECP_GOLDILOCKS_neg</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</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="ecp__GOLDILOCKS_8h.html#a21e218c3748e924ea45c93b2d4c16043">ECP_GOLDILOCKS_inf</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a9b71a9ccdafb905e359888d9df70bec5">ECP_GOLDILOCKS_rhs</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *r,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_GOLDILOCKS==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a604d03809ddebfce4b725b737d4498d3">ECP_GOLDILOCKS_set</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a10e00b229f290703bc3574f51b04c169">ECP_GOLDILOCKS_get</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad17cfd6dc30ef54b31917434c61adc6d">ECP_GOLDILOCKS_add</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a604d03809ddebfce4b725b737d4498d3">ECP_GOLDILOCKS_set</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a10e00b229f290703bc3574f51b04c169">ECP_GOLDILOCKS_get</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> y,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ad17cfd6dc30ef54b31917434c61adc6d">ECP_GOLDILOCKS_add</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</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="ecp__GOLDILOCKS_8h.html#a4723e21cd3e7f8d664ad1007f7b2fd48">ECP_GOLDILOCKS_sub</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a57f89cbab0bb1e74d8eb01ad0182e7c2">ECP_GOLDILOCKS_setx</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ac8cf0cbb5440d84e04c3fe808966923f">ECP_GOLDILOCKS_cfp</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ab71f7be4acccf20edc38a00e9c5ae9a2">ECP_GOLDILOCKS_mapit</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a8db7a96bbbd29a7b253bd2733e468c9c">ECP_GOLDILOCKS_affine</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aa9cac9f1f4b6402a825b2f4acb380eb0">ECP_GOLDILOCKS_outputxyz</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</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="ecp__GOLDILOCKS_8h.html#a19e423e41a8124040dcb4f4cc131782a">ECP_GOLDILOCKS_output</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#acdbc63fd4ddd8cade01f579048a01a99">ECP_GOLDILOCKS_rawoutput</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aaac23a269d3e072512b8792f3a0eb29a">ECP_GOLDILOCKS_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aaf933c25f2c9ae830f94b620ca3f5952">ECP_GOLDILOCKS_fromOctet</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a2c5a1557dccd9b28dec001686212fab3">ECP_GOLDILOCKS_dbl</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#ae566b76d6c85b340c55fd9195ada6af3">ECP_GOLDILOCKS_pinmul</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a14082230bba2ab85ac5e9968160e4e2e">ECP_GOLDILOCKS_mul</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#aad367bc816862479ba1559d2cfe8819a">ECP_GOLDILOCKS_mul2</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *P,<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *Q,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> e,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__GOLDILOCKS_8h.html#a243e1fef9f12583827f57c470eb06568">ECP_GOLDILOCKS_generator</a>(<a class="code" href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__GOLDILOCKS_8h_html_a19e423e41a8124040dcb4f4cc131782a"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a19e423e41a8124040dcb4f4cc131782a">ECP_GOLDILOCKS_output</a></div><div class="ttdeci">void ECP_GOLDILOCKS_output(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:450</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_ab33e82c0cfeed6646902e29f8bc7d409"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ab33e82c0cfeed6646902e29f8bc7d409">CURVE_Pya_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pya_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aacf8e4cde945a0d686ec369fda4c49b7"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aacf8e4cde945a0d686ec369fda4c49b7">CURVE_Pxbba_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxbba_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a95fec22c2dce5ccac766771dd155b8a4"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a95fec22c2dce5ccac766771dd155b8a4">CURVE_Pybbb_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pybbb_GOLDILOCKS</div></div>
@@ -82,66 +85,66 @@
 <div class="ttc" id="structECP__GOLDILOCKS_html_aaac875d4a8e758787b9f876cda5a849e"><div class="ttname"><a href="structECP__GOLDILOCKS.html#aaac875d4a8e758787b9f876cda5a849e">ECP_GOLDILOCKS::x</a></div><div class="ttdeci">FP_GOLDILOCKS x</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.h:109</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a0acdd6483b25aeb109af80dc9f258cd3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a0acdd6483b25aeb109af80dc9f258cd3">CURVE_Pxaa_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxaa_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_ae0d34d6435b69e8f599b5267bba1dfc5"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ae0d34d6435b69e8f599b5267bba1dfc5">CURVE_Pyb_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pyb_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a10e00b229f290703bc3574f51b04c169"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a10e00b229f290703bc3574f51b04c169">ECP_GOLDILOCKS_get</a></div><div class="ttdeci">int ECP_GOLDILOCKS_get(BIG_448_58 x, BIG_448_58 y, ECP_GOLDILOCKS *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a10e00b229f290703bc3574f51b04c169"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a10e00b229f290703bc3574f51b04c169">ECP_GOLDILOCKS_get</a></div><div class="ttdeci">int ECP_GOLDILOCKS_get(BIG_448_58 x, BIG_448_58 y, ECP_GOLDILOCKS *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a9fb1b4ca09377212abada4a22fbcaa1d"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a9fb1b4ca09377212abada4a22fbcaa1d">CURVE_Pyaaa_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pyaaa_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a63214e38d863f70786e7f4bbfaaec4d3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a63214e38d863f70786e7f4bbfaaec4d3">CURVE_Pxba_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxba_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_af46232168924a2e0958c14722262ee53"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#af46232168924a2e0958c14722262ee53">CURVE_Bnx_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Bnx_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a9901cc56d7ffc0572c687cfe10b3a589"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a9901cc56d7ffc0572c687cfe10b3a589">CURVE_A_GOLDILOCKS</a></div><div class="ttdeci">const int CURVE_A_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a478b9cf6c68d677a8eb93c119c942e0f"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a478b9cf6c68d677a8eb93c119c942e0f">ECP_GOLDILOCKS_isinf</a></div><div class="ttdeci">int ECP_GOLDILOCKS_isinf(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:28</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ab71f7be4acccf20edc38a00e9c5ae9a2"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ab71f7be4acccf20edc38a00e9c5ae9a2">ECP_GOLDILOCKS_mapit</a></div><div class="ttdeci">void ECP_GOLDILOCKS_mapit(ECP_GOLDILOCKS *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:365</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a8fdd5416243c3cf17fe050579f83b11d"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a8fdd5416243c3cf17fe050579f83b11d">ECP_GOLDILOCKS_copy</a></div><div class="ttdeci">void ECP_GOLDILOCKS_copy(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:120</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a8db7a96bbbd29a7b253bd2733e468c9c"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a8db7a96bbbd29a7b253bd2733e468c9c">ECP_GOLDILOCKS_affine</a></div><div class="ttdeci">void ECP_GOLDILOCKS_affine(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:392</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a478b9cf6c68d677a8eb93c119c942e0f"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a478b9cf6c68d677a8eb93c119c942e0f">ECP_GOLDILOCKS_isinf</a></div><div class="ttdeci">int ECP_GOLDILOCKS_isinf(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:28</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ab71f7be4acccf20edc38a00e9c5ae9a2"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ab71f7be4acccf20edc38a00e9c5ae9a2">ECP_GOLDILOCKS_mapit</a></div><div class="ttdeci">void ECP_GOLDILOCKS_mapit(ECP_GOLDILOCKS *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:365</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a8fdd5416243c3cf17fe050579f83b11d"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a8fdd5416243c3cf17fe050579f83b11d">ECP_GOLDILOCKS_copy</a></div><div class="ttdeci">void ECP_GOLDILOCKS_copy(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:120</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a8db7a96bbbd29a7b253bd2733e468c9c"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a8db7a96bbbd29a7b253bd2733e468c9c">ECP_GOLDILOCKS_affine</a></div><div class="ttdeci">void ECP_GOLDILOCKS_affine(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:392</div></div>
 <div class="ttc" id="structECP__GOLDILOCKS_html_ae9ed1c1e25fa1dca989e5629faac9571"><div class="ttname"><a href="structECP__GOLDILOCKS.html#ae9ed1c1e25fa1dca989e5629faac9571">ECP_GOLDILOCKS::y</a></div><div class="ttdeci">FP_GOLDILOCKS y</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.h:111</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a8a68b941ac861c9a7f4b9d95f00d59d4"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a8a68b941ac861c9a7f4b9d95f00d59d4">CURVE_Gx_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Gx_GOLDILOCKS</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="ecp__GOLDILOCKS_8h_html_ac60e934e12c80e06116e9da5f480e4ca"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ac60e934e12c80e06116e9da5f480e4ca">CURVE_Gy_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Gy_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ac8cf0cbb5440d84e04c3fe808966923f"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ac8cf0cbb5440d84e04c3fe808966923f">ECP_GOLDILOCKS_cfp</a></div><div class="ttdeci">void ECP_GOLDILOCKS_cfp(ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:338</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ac8cf0cbb5440d84e04c3fe808966923f"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ac8cf0cbb5440d84e04c3fe808966923f">ECP_GOLDILOCKS_cfp</a></div><div class="ttdeci">void ECP_GOLDILOCKS_cfp(ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:338</div></div>
 <div class="ttc" id="big__448__58_8h_html_a0ff733902d2a77fd164b5e6f7917da0e"><div class="ttname"><a href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a></div><div class="ttdeci">chunk BIG_448_58[NLEN_448_58]</div><div class="ttdef"><b>Definition:</b> big_448_58.h:58</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a695a8c3cafbff3fc41482c0ba80292ea"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a695a8c3cafbff3fc41482c0ba80292ea">CURVE_Pybb_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pybb_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aabc76324f9798f4dab6fc6810d2860f2"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aabc76324f9798f4dab6fc6810d2860f2">CURVE_Pxa_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxa_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aa8f63d87996d96fc537743fff88ad036"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aa8f63d87996d96fc537743fff88ad036">CURVE_Pyaba_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pyaba_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a1dec80e6aae56db82bddff6abff584f4"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a1dec80e6aae56db82bddff6abff584f4">CURVE_BB_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_BB_GOLDILOCKS[4][4]</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a2c5a1557dccd9b28dec001686212fab3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a2c5a1557dccd9b28dec001686212fab3">ECP_GOLDILOCKS_dbl</a></div><div class="ttdeci">void ECP_GOLDILOCKS_dbl(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:564</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_aa9cac9f1f4b6402a825b2f4acb380eb0"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aa9cac9f1f4b6402a825b2f4acb380eb0">ECP_GOLDILOCKS_outputxyz</a></div><div class="ttdeci">void ECP_GOLDILOCKS_outputxyz(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:414</div></div>
-<div class="ttc" id="structFP__GOLDILOCKS_html"><div class="ttname"><a href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.h:38</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a2c5a1557dccd9b28dec001686212fab3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a2c5a1557dccd9b28dec001686212fab3">ECP_GOLDILOCKS_dbl</a></div><div class="ttdeci">void ECP_GOLDILOCKS_dbl(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:564</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_aa9cac9f1f4b6402a825b2f4acb380eb0"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aa9cac9f1f4b6402a825b2f4acb380eb0">ECP_GOLDILOCKS_outputxyz</a></div><div class="ttdeci">void ECP_GOLDILOCKS_outputxyz(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:414</div></div>
+<div class="ttc" id="structFP__GOLDILOCKS_html"><div class="ttname"><a href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.h:38</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a9135fc585894892046afc6dd0d938bf1"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a9135fc585894892046afc6dd0d938bf1">CURVE_Pyab_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pyab_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a57f89cbab0bb1e74d8eb01ad0182e7c2"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a57f89cbab0bb1e74d8eb01ad0182e7c2">ECP_GOLDILOCKS_setx</a></div><div class="ttdeci">int ECP_GOLDILOCKS_setx(ECP_GOLDILOCKS *P, BIG_448_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_aaf933c25f2c9ae830f94b620ca3f5952"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aaf933c25f2c9ae830f94b620ca3f5952">ECP_GOLDILOCKS_fromOctet</a></div><div class="ttdeci">int ECP_GOLDILOCKS_fromOctet(ECP_GOLDILOCKS *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:537</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a57f89cbab0bb1e74d8eb01ad0182e7c2"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a57f89cbab0bb1e74d8eb01ad0182e7c2">ECP_GOLDILOCKS_setx</a></div><div class="ttdeci">int ECP_GOLDILOCKS_setx(ECP_GOLDILOCKS *P, BIG_448_58 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_aaf933c25f2c9ae830f94b620ca3f5952"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aaf933c25f2c9ae830f94b620ca3f5952">ECP_GOLDILOCKS_fromOctet</a></div><div class="ttdeci">int ECP_GOLDILOCKS_fromOctet(ECP_GOLDILOCKS *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:537</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a17502d4d88d7614ad59826549613b45f"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a17502d4d88d7614ad59826549613b45f">CURVE_Pxbaa_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxbaa_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a2f99538e9a564c4f921a98582081f4f2"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a2f99538e9a564c4f921a98582081f4f2">CURVE_Cru_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Cru_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a02f4477f9df334f5b1d7276434bb8d08"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a02f4477f9df334f5b1d7276434bb8d08">CURVE_Pxaaa_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxaaa_GOLDILOCKS</div></div>
 <div class="ttc" id="structECP__GOLDILOCKS_html_a8080dd2499336c58a9a719986fa30a8c"><div class="ttname"><a href="structECP__GOLDILOCKS.html#a8080dd2499336c58a9a719986fa30a8c">ECP_GOLDILOCKS::z</a></div><div class="ttdeci">FP_GOLDILOCKS z</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.h:113</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a1c220fb208e0266693a33f6f068f0a07"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a1c220fb208e0266693a33f6f068f0a07">CURVE_B_I_GOLDILOCKS</a></div><div class="ttdeci">const int CURVE_B_I_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_ae81ab30d8804927c50db79bb05a8b1ef"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ae81ab30d8804927c50db79bb05a8b1ef">CURVE_Pxabb_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxabb_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_acdbc63fd4ddd8cade01f579048a01a99"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#acdbc63fd4ddd8cade01f579048a01a99">ECP_GOLDILOCKS_rawoutput</a></div><div class="ttdeci">void ECP_GOLDILOCKS_rawoutput(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:478</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ab04eb46a7e7831168089ec42ad2b3b35"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ab04eb46a7e7831168089ec42ad2b3b35">ECP_GOLDILOCKS_equals</a></div><div class="ttdeci">int ECP_GOLDILOCKS_equals(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:100</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_acdbc63fd4ddd8cade01f579048a01a99"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#acdbc63fd4ddd8cade01f579048a01a99">ECP_GOLDILOCKS_rawoutput</a></div><div class="ttdeci">void ECP_GOLDILOCKS_rawoutput(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:478</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ab04eb46a7e7831168089ec42ad2b3b35"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ab04eb46a7e7831168089ec42ad2b3b35">ECP_GOLDILOCKS_equals</a></div><div class="ttdeci">int ECP_GOLDILOCKS_equals(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:100</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a5af1861f8a85ac083ac9acb9e35b85ad"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a5af1861f8a85ac083ac9acb9e35b85ad">CURVE_Pxbbb_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxbbb_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a99a315bd5a42e855ed5334d43d314812"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a99a315bd5a42e855ed5334d43d314812">CURVE_Order_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Order_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ae566b76d6c85b340c55fd9195ada6af3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ae566b76d6c85b340c55fd9195ada6af3">ECP_GOLDILOCKS_pinmul</a></div><div class="ttdeci">void ECP_GOLDILOCKS_pinmul(ECP_GOLDILOCKS *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ae566b76d6c85b340c55fd9195ada6af3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ae566b76d6c85b340c55fd9195ada6af3">ECP_GOLDILOCKS_pinmul</a></div><div class="ttdeci">void ECP_GOLDILOCKS_pinmul(ECP_GOLDILOCKS *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aec1a1b17bf27ffadc5792cedc7ffb402"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aec1a1b17bf27ffadc5792cedc7ffb402">CURVE_Pyba_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pyba_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_aad367bc816862479ba1559d2cfe8819a"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aad367bc816862479ba1559d2cfe8819a">ECP_GOLDILOCKS_mul2</a></div><div class="ttdeci">void ECP_GOLDILOCKS_mul2(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q, BIG_448_58 e, BIG_448_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_aad367bc816862479ba1559d2cfe8819a"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aad367bc816862479ba1559d2cfe8819a">ECP_GOLDILOCKS_mul2</a></div><div class="ttdeci">void ECP_GOLDILOCKS_mul2(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q, BIG_448_58 e, BIG_448_58 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_abe8052e32ce40a5cb99573d21dc324f4"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#abe8052e32ce40a5cb99573d21dc324f4">CURVE_Pxaab_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxaab_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a2d948d21390f2df3abad2bfd5f157814"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a2d948d21390f2df3abad2bfd5f157814">CURVE_Cof_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Cof_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aca47c868a21cf08055bcc17dca4f0e93"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aca47c868a21cf08055bcc17dca4f0e93">CURVE_Pxaba_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxaba_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a7bfbcf747bf3b5efef2dbae198cb15ef"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a7bfbcf747bf3b5efef2dbae198cb15ef">CURVE_SB_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_SB_GOLDILOCKS[2][2]</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a4723e21cd3e7f8d664ad1007f7b2fd48"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a4723e21cd3e7f8d664ad1007f7b2fd48">ECP_GOLDILOCKS_sub</a></div><div class="ttdeci">void ECP_GOLDILOCKS_sub(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a4723e21cd3e7f8d664ad1007f7b2fd48"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a4723e21cd3e7f8d664ad1007f7b2fd48">ECP_GOLDILOCKS_sub</a></div><div class="ttdeci">void ECP_GOLDILOCKS_sub(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aaac23a269d3e072512b8792f3a0eb29a"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aaac23a269d3e072512b8792f3a0eb29a">ECP_GOLDILOCKS_toOctet</a></div><div class="ttdeci">void ECP_GOLDILOCKS_toOctet(octet *S, ECP_GOLDILOCKS *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:507</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_ad1a1946e79dac014e5ee752229b8a47f"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ad1a1946e79dac014e5ee752229b8a47f">CURVE_Pxbab_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxbab_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ad17cfd6dc30ef54b31917434c61adc6d"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ad17cfd6dc30ef54b31917434c61adc6d">ECP_GOLDILOCKS_add</a></div><div class="ttdeci">void ECP_GOLDILOCKS_add(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
-<div class="ttc" id="structECP__GOLDILOCKS_html"><div class="ttname"><a href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.h:105</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_ad17cfd6dc30ef54b31917434c61adc6d"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ad17cfd6dc30ef54b31917434c61adc6d">ECP_GOLDILOCKS_add</a></div><div class="ttdeci">void ECP_GOLDILOCKS_add(ECP_GOLDILOCKS *P, ECP_GOLDILOCKS *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
+<div class="ttc" id="structECP__GOLDILOCKS_html"><div class="ttname"><a href="structECP__GOLDILOCKS.html">ECP_GOLDILOCKS</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.h:105</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_ad5aa59dba567f3d7484041fc7a37452b"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#ad5aa59dba567f3d7484041fc7a37452b">CURVE_Pybaa_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pybaa_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a1d596bf966ae6bc857665ece0c146e80"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a1d596bf966ae6bc857665ece0c146e80">CURVE_Pxb_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxb_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_afc84e9d69d03ecd6ddbadf37d31cfdcc"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#afc84e9d69d03ecd6ddbadf37d31cfdcc">Fra_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 Fra_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a9b71a9ccdafb905e359888d9df70bec5"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a9b71a9ccdafb905e359888d9df70bec5">ECP_GOLDILOCKS_rhs</a></div><div class="ttdeci">void ECP_GOLDILOCKS_rhs(FP_GOLDILOCKS *r, FP_GOLDILOCKS *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:161</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html">fp_GOLDILOCKS.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a21e218c3748e924ea45c93b2d4c16043"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a21e218c3748e924ea45c93b2d4c16043">ECP_GOLDILOCKS_inf</a></div><div class="ttdeci">void ECP_GOLDILOCKS_inf(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:146</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a604d03809ddebfce4b725b737d4498d3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a604d03809ddebfce4b725b737d4498d3">ECP_GOLDILOCKS_set</a></div><div class="ttdeci">int ECP_GOLDILOCKS_set(ECP_GOLDILOCKS *P, BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a9b71a9ccdafb905e359888d9df70bec5"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a9b71a9ccdafb905e359888d9df70bec5">ECP_GOLDILOCKS_rhs</a></div><div class="ttdeci">void ECP_GOLDILOCKS_rhs(FP_GOLDILOCKS *r, FP_GOLDILOCKS *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:161</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html">fp_GOLDILOCKS.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a21e218c3748e924ea45c93b2d4c16043"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a21e218c3748e924ea45c93b2d4c16043">ECP_GOLDILOCKS_inf</a></div><div class="ttdeci">void ECP_GOLDILOCKS_inf(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:146</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a604d03809ddebfce4b725b737d4498d3"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a604d03809ddebfce4b725b737d4498d3">ECP_GOLDILOCKS_set</a></div><div class="ttdeci">int ECP_GOLDILOCKS_set(ECP_GOLDILOCKS *P, BIG_448_58 x, BIG_448_58 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aac20ea244dfa4ec8ede594da2ab02422"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aac20ea244dfa4ec8ede594da2ab02422">CURVE_Pxbb_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pxbb_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a5522b513e59ac7d715966ae289064fcb"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a5522b513e59ac7d715966ae289064fcb">ECP_GOLDILOCKS_neg</a></div><div class="ttdeci">void ECP_GOLDILOCKS_neg(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a5522b513e59ac7d715966ae289064fcb"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a5522b513e59ac7d715966ae289064fcb">ECP_GOLDILOCKS_neg</a></div><div class="ttdeci">void ECP_GOLDILOCKS_neg(ECP_GOLDILOCKS *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a9241ea5ed59254b377f1e1b21248a865"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a9241ea5ed59254b377f1e1b21248a865">CURVE_W_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_W_GOLDILOCKS[2]</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a243e1fef9f12583827f57c470eb06568"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a243e1fef9f12583827f57c470eb06568">ECP_GOLDILOCKS_generator</a></div><div class="ttdeci">void ECP_GOLDILOCKS_generator(ECP_GOLDILOCKS *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:1221</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a243e1fef9f12583827f57c470eb06568"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a243e1fef9f12583827f57c470eb06568">ECP_GOLDILOCKS_generator</a></div><div class="ttdeci">void ECP_GOLDILOCKS_generator(ECP_GOLDILOCKS *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:1221</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_aaa997d46a61bb22f5ada3c7aabda66c4"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#aaa997d46a61bb22f5ada3c7aabda66c4">CURVE_B_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_B_GOLDILOCKS</div></div>
-<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a14082230bba2ab85ac5e9968160e4e2e"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a14082230bba2ab85ac5e9968160e4e2e">ECP_GOLDILOCKS_mul</a></div><div class="ttdeci">void ECP_GOLDILOCKS_mul(ECP_GOLDILOCKS *P, BIG_448_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:1021</div></div>
+<div class="ttc" id="ecp__GOLDILOCKS_8h_html_a14082230bba2ab85ac5e9968160e4e2e"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a14082230bba2ab85ac5e9968160e4e2e">ECP_GOLDILOCKS_mul</a></div><div class="ttdeci">void ECP_GOLDILOCKS_mul(ECP_GOLDILOCKS *P, BIG_448_58 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_GOLDILOCKS.c:1021</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a5a68b8b95fc27d08628b4197773c5e27"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a5a68b8b95fc27d08628b4197773c5e27">CURVE_Cof_I_GOLDILOCKS</a></div><div class="ttdeci">const int CURVE_Cof_I_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_af827e5953714015d2da1b44744240e05"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#af827e5953714015d2da1b44744240e05">CURVE_Pyaab_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pyaab_GOLDILOCKS</div></div>
 <div class="ttc" id="ecp__GOLDILOCKS_8h_html_a6bdb5b829864ea1763f162ea1bfb8f2c"><div class="ttname"><a href="ecp__GOLDILOCKS_8h.html#a6bdb5b829864ea1763f162ea1bfb8f2c">CURVE_Pybba_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 CURVE_Pybba_GOLDILOCKS</div></div>
@@ -150,7 +153,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/ecp__HIFIVE_8h.html b/website/static/cdocs/ecp__HIFIVE_8h.html
index a308cc3..1a7da81 100644
--- a/website/static/cdocs/ecp__HIFIVE_8h.html
+++ b/website/static/cdocs/ecp__HIFIVE_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: ecp_HIFIVE.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"
@@ -1705,7 +1708,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/ecp__HIFIVE_8h_source.html b/website/static/cdocs/ecp__HIFIVE_8h_source.html
index 626c3f0..6199103 100644
--- a/website/static/cdocs/ecp__HIFIVE_8h_source.html
+++ b/website/static/cdocs/ecp__HIFIVE_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: ecp_HIFIVE.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,7 +72,7 @@
 <div class="title">ecp_HIFIVE.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__HIFIVE_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 ECP_HIFIVE_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_HIFIVE_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 &quot;<a class="code" href="fp__HIFIVE_8h.html">fp_HIFIVE.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_HIFIVE.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#ae620c16ddb209aa82bc0f319e2ed708e">CURVE_A_HIFIVE</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a8762609bc82d433fe57c6f4051866919">CURVE_Cof_I_HIFIVE</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#ad63f36eaac33cc323b85647d90ae1a81">CURVE_B_I_HIFIVE</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a21f4a879c61e792648bdcde8ab3c52af">CURVE_B_HIFIVE</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ad1dc9e181294d176676efbddd43db295">CURVE_Order_HIFIVE</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ab0bcdc5403d7100b029fefc09ebed33e">CURVE_Cof_HIFIVE</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4850c3c6a65abf270f9ca3304efdbb56">CURVE_Gx_HIFIVE</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a5c11ec6fa23ca04ef0476fb8bce7835c">CURVE_Gy_HIFIVE</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a422f2011630d73e0d96911c714643438">CURVE_Pxa_HIFIVE</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a05a75633390b287e5bb467cdf87a1c6c">CURVE_Pxb_HIFIVE</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a091efa01b77c6174ec332c30a8c9835b">CURVE_Pya_HIFIVE</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a87135593f86851ea9eb43282a89221a1">CURVE_Pyb_HIFIVE</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a7db564db8b731dcf79f0dc0f52321902">CURVE_Pxaa_HIFIVE</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a5377a2e6f55301bcd55b65b44ccf89c3">CURVE_Pxab_HIFIVE</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a7d3541b5bd13411557e0f05158eadbe7">CURVE_Pxba_HIFIVE</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#adb3d0325ce3047847f3c998b39622cd1">CURVE_Pxbb_HIFIVE</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a7dd8f24607c4cd3521026f94676369fd">CURVE_Pyaa_HIFIVE</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a8392919afca421f7d8cf6144591e8072">CURVE_Pyab_HIFIVE</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ab482fd6cf91d98bfb3cfd96966206a95">CURVE_Pyba_HIFIVE</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#aacc3f63e392a854d2c4e2e300146e2d5">CURVE_Pybb_HIFIVE</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#afffb5603ae41877535be7fd320205751">CURVE_Pxaaa_HIFIVE</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a33c7560c667dd5f09f91ee72855f121f">CURVE_Pxaab_HIFIVE</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4b04f68fe5e5a53987d6cfa5601194d3">CURVE_Pxaba_HIFIVE</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#adbda249241c4ad90404a35d0320fe74b">CURVE_Pxabb_HIFIVE</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a77e65fa2342406ef44606478156c79be">CURVE_Pxbaa_HIFIVE</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a77377da01bebd9a1fd0e15c04fcad3b8">CURVE_Pxbab_HIFIVE</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ac5fdd8685f337c7fd76e4cd46752caaa">CURVE_Pxbba_HIFIVE</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4af897d7bdf2900af95f2dce5a93e1bf">CURVE_Pxbbb_HIFIVE</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a71cfe2594508f44f00e274c2e1253a77">CURVE_Pyaaa_HIFIVE</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4329aff753b5af29395f4c3c56f618a4">CURVE_Pyaab_HIFIVE</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ae5ac79dc920d00f4e270a4bd7705da44">CURVE_Pyaba_HIFIVE</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ad777db96604e1c58440a0bd9b67556b1">CURVE_Pyabb_HIFIVE</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a2dffcb3d7101ebbcc7d72997844f7aa0">CURVE_Pybaa_HIFIVE</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a2a559f89cfb04b300d92fe01a184bc30">CURVE_Pybab_HIFIVE</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a52c7d8854fa476b22bcdf767227a6a7a">CURVE_Pybba_HIFIVE</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a442203cbcaff4fd9680f2b53ef478de3">CURVE_Pybbb_HIFIVE</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a2652b262d0ad51718a808b215842f3ff">CURVE_Bnx_HIFIVE</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a04200098611b2accbd7887999f6b3aae">CURVE_Cru_HIFIVE</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4e08590457946990faedde13bdeb66c6">Fra_HIFIVE</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a0283670d2c6ff13b2855b7c692966222">Frb_HIFIVE</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#aad9912664fa37db8efab7842ba9105c1">CURVE_W_HIFIVE</a>[2];       </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a096cae2d374f876bda8dd2ae4dc84754">CURVE_SB_HIFIVE</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ab2b27b1453706b46b5a93f19ac62761f">CURVE_WB_HIFIVE</a>[4];      </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a70ace3235321f12a5455d0fc72a8d543">CURVE_BB_HIFIVE</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html#ae0f1aa355c35d6bb3a8c9fc5fd3e617f">  109</a></span>&#160;    <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> <a class="code" href="structECP__HIFIVE.html#ae0f1aa355c35d6bb3a8c9fc5fd3e617f">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_HIFIVE!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html#a778a9f7241940c1fe3dde7b9d4fc2e26">  111</a></span>&#160;    <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> <a class="code" href="structECP__HIFIVE.html#a778a9f7241940c1fe3dde7b9d4fc2e26">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html#a70e1f555918de6cefee6cda4b1435549">  113</a></span>&#160;    <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> <a class="code" href="structECP__HIFIVE.html#a70e1f555918de6cefee6cda4b1435549">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#afa8b83cb09ad101bcf9c3ed370fd2b9d">ECP_HIFIVE_isinf</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#aa4c48ae9b9285371ca1afb282b8f0d10">ECP_HIFIVE_equals</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a55e6c595e26bc0928af5e9f73fc4c7ee">ECP_HIFIVE_copy</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</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="ecp__HIFIVE_8h.html#ac4be6c91460d3f8d91827abb8ba8f492">ECP_HIFIVE_neg</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</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="ecp__HIFIVE_8h.html#a8fe29b6e84b0898efef60cd11a9f55d7">ECP_HIFIVE_inf</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a290923ff427e5a8c1268f550a3d2d079">ECP_HIFIVE_rhs</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *r,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_HIFIVE==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a18bb0427419f55a4ccbc2e439d4bc9ff">ECP_HIFIVE_set</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#acff39fe3c485bb95400ac17adc0ae921">ECP_HIFIVE_get</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a2ca220e4a2b670d9e7373abf4713a16e">ECP_HIFIVE_add</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a18bb0427419f55a4ccbc2e439d4bc9ff">ECP_HIFIVE_set</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#acff39fe3c485bb95400ac17adc0ae921">ECP_HIFIVE_get</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a2ca220e4a2b670d9e7373abf4713a16e">ECP_HIFIVE_add</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</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="ecp__HIFIVE_8h.html#ab2191fc8b76127ddca3a3f44f258217b">ECP_HIFIVE_sub</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a24f495ae0894910212e136f298185f6d">ECP_HIFIVE_setx</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#ae6ccb26b7d3ee9493002059c72eb5509">ECP_HIFIVE_cfp</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#aebec3e18218639d85bf4e18e79b6e2e7">ECP_HIFIVE_mapit</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a221832402b27cdbead56091132d764c9">ECP_HIFIVE_affine</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a6a829e28318f6137c5885ce26e95b4e0">ECP_HIFIVE_outputxyz</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</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="ecp__HIFIVE_8h.html#a8fbbf22c54925b75dfb1294e721bdc26">ECP_HIFIVE_output</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a879eff59992ff736aeeb77f6c18d8d73">ECP_HIFIVE_rawoutput</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a030a05c90904d40cd6cedd12ccb929f7">ECP_HIFIVE_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a1ab725076a380f3ef544be3297910f7d">ECP_HIFIVE_fromOctet</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#ac4fda84a3c5cd7496897523fd082f48c">ECP_HIFIVE_dbl</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a5ea39d86187fd3a798f187f9755ba358">ECP_HIFIVE_pinmul</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a6d129b7127737c9d6d9be032c35ef4fe">ECP_HIFIVE_mul</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a36f197304b2c2f7417b57c951a6417c7">ECP_HIFIVE_mul2</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> e,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a776dd8b8cd10fda34d36ba1d513b98d8">ECP_HIFIVE_generator</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__HIFIVE_8h_html_a18bb0427419f55a4ccbc2e439d4bc9ff"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a18bb0427419f55a4ccbc2e439d4bc9ff">ECP_HIFIVE_set</a></div><div class="ttdeci">int ECP_HIFIVE_set(ECP_HIFIVE *P, BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<a href="ecp__HIFIVE_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 ECP_HIFIVE_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_HIFIVE_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 &quot;<a class="code" href="fp__HIFIVE_8h.html">fp_HIFIVE.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_HIFIVE.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#ae620c16ddb209aa82bc0f319e2ed708e">CURVE_A_HIFIVE</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a8762609bc82d433fe57c6f4051866919">CURVE_Cof_I_HIFIVE</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#ad63f36eaac33cc323b85647d90ae1a81">CURVE_B_I_HIFIVE</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a21f4a879c61e792648bdcde8ab3c52af">CURVE_B_HIFIVE</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ad1dc9e181294d176676efbddd43db295">CURVE_Order_HIFIVE</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ab0bcdc5403d7100b029fefc09ebed33e">CURVE_Cof_HIFIVE</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4850c3c6a65abf270f9ca3304efdbb56">CURVE_Gx_HIFIVE</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a5c11ec6fa23ca04ef0476fb8bce7835c">CURVE_Gy_HIFIVE</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a422f2011630d73e0d96911c714643438">CURVE_Pxa_HIFIVE</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a05a75633390b287e5bb467cdf87a1c6c">CURVE_Pxb_HIFIVE</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a091efa01b77c6174ec332c30a8c9835b">CURVE_Pya_HIFIVE</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a87135593f86851ea9eb43282a89221a1">CURVE_Pyb_HIFIVE</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a7db564db8b731dcf79f0dc0f52321902">CURVE_Pxaa_HIFIVE</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a5377a2e6f55301bcd55b65b44ccf89c3">CURVE_Pxab_HIFIVE</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a7d3541b5bd13411557e0f05158eadbe7">CURVE_Pxba_HIFIVE</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#adb3d0325ce3047847f3c998b39622cd1">CURVE_Pxbb_HIFIVE</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a7dd8f24607c4cd3521026f94676369fd">CURVE_Pyaa_HIFIVE</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a8392919afca421f7d8cf6144591e8072">CURVE_Pyab_HIFIVE</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ab482fd6cf91d98bfb3cfd96966206a95">CURVE_Pyba_HIFIVE</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#aacc3f63e392a854d2c4e2e300146e2d5">CURVE_Pybb_HIFIVE</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#afffb5603ae41877535be7fd320205751">CURVE_Pxaaa_HIFIVE</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a33c7560c667dd5f09f91ee72855f121f">CURVE_Pxaab_HIFIVE</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4b04f68fe5e5a53987d6cfa5601194d3">CURVE_Pxaba_HIFIVE</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#adbda249241c4ad90404a35d0320fe74b">CURVE_Pxabb_HIFIVE</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a77e65fa2342406ef44606478156c79be">CURVE_Pxbaa_HIFIVE</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a77377da01bebd9a1fd0e15c04fcad3b8">CURVE_Pxbab_HIFIVE</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ac5fdd8685f337c7fd76e4cd46752caaa">CURVE_Pxbba_HIFIVE</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4af897d7bdf2900af95f2dce5a93e1bf">CURVE_Pxbbb_HIFIVE</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a71cfe2594508f44f00e274c2e1253a77">CURVE_Pyaaa_HIFIVE</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4329aff753b5af29395f4c3c56f618a4">CURVE_Pyaab_HIFIVE</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ae5ac79dc920d00f4e270a4bd7705da44">CURVE_Pyaba_HIFIVE</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ad777db96604e1c58440a0bd9b67556b1">CURVE_Pyabb_HIFIVE</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a2dffcb3d7101ebbcc7d72997844f7aa0">CURVE_Pybaa_HIFIVE</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a2a559f89cfb04b300d92fe01a184bc30">CURVE_Pybab_HIFIVE</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a52c7d8854fa476b22bcdf767227a6a7a">CURVE_Pybba_HIFIVE</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a442203cbcaff4fd9680f2b53ef478de3">CURVE_Pybbb_HIFIVE</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a2652b262d0ad51718a808b215842f3ff">CURVE_Bnx_HIFIVE</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a04200098611b2accbd7887999f6b3aae">CURVE_Cru_HIFIVE</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a4e08590457946990faedde13bdeb66c6">Fra_HIFIVE</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a0283670d2c6ff13b2855b7c692966222">Frb_HIFIVE</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#aad9912664fa37db8efab7842ba9105c1">CURVE_W_HIFIVE</a>[2];   </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a096cae2d374f876bda8dd2ae4dc84754">CURVE_SB_HIFIVE</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#ab2b27b1453706b46b5a93f19ac62761f">CURVE_WB_HIFIVE</a>[4];  </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="ecp__HIFIVE_8h.html#a70ace3235321f12a5455d0fc72a8d543">CURVE_BB_HIFIVE</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html#ae0f1aa355c35d6bb3a8c9fc5fd3e617f">  109</a></span>&#160;    <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> <a class="code" href="structECP__HIFIVE.html#ae0f1aa355c35d6bb3a8c9fc5fd3e617f">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_HIFIVE!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html#a778a9f7241940c1fe3dde7b9d4fc2e26">  111</a></span>&#160;    <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> <a class="code" href="structECP__HIFIVE.html#a778a9f7241940c1fe3dde7b9d4fc2e26">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__HIFIVE.html#a70e1f555918de6cefee6cda4b1435549">  113</a></span>&#160;    <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> <a class="code" href="structECP__HIFIVE.html#a70e1f555918de6cefee6cda4b1435549">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#afa8b83cb09ad101bcf9c3ed370fd2b9d">ECP_HIFIVE_isinf</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#aa4c48ae9b9285371ca1afb282b8f0d10">ECP_HIFIVE_equals</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a55e6c595e26bc0928af5e9f73fc4c7ee">ECP_HIFIVE_copy</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</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="ecp__HIFIVE_8h.html#ac4be6c91460d3f8d91827abb8ba8f492">ECP_HIFIVE_neg</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</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="ecp__HIFIVE_8h.html#a8fe29b6e84b0898efef60cd11a9f55d7">ECP_HIFIVE_inf</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a290923ff427e5a8c1268f550a3d2d079">ECP_HIFIVE_rhs</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *r,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_HIFIVE==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a18bb0427419f55a4ccbc2e439d4bc9ff">ECP_HIFIVE_set</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#acff39fe3c485bb95400ac17adc0ae921">ECP_HIFIVE_get</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a2ca220e4a2b670d9e7373abf4713a16e">ECP_HIFIVE_add</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a18bb0427419f55a4ccbc2e439d4bc9ff">ECP_HIFIVE_set</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#acff39fe3c485bb95400ac17adc0ae921">ECP_HIFIVE_get</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> y,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a2ca220e4a2b670d9e7373abf4713a16e">ECP_HIFIVE_add</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</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="ecp__HIFIVE_8h.html#ab2191fc8b76127ddca3a3f44f258217b">ECP_HIFIVE_sub</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a24f495ae0894910212e136f298185f6d">ECP_HIFIVE_setx</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#ae6ccb26b7d3ee9493002059c72eb5509">ECP_HIFIVE_cfp</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#aebec3e18218639d85bf4e18e79b6e2e7">ECP_HIFIVE_mapit</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a221832402b27cdbead56091132d764c9">ECP_HIFIVE_affine</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a6a829e28318f6137c5885ce26e95b4e0">ECP_HIFIVE_outputxyz</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</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="ecp__HIFIVE_8h.html#a8fbbf22c54925b75dfb1294e721bdc26">ECP_HIFIVE_output</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a879eff59992ff736aeeb77f6c18d8d73">ECP_HIFIVE_rawoutput</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a030a05c90904d40cd6cedd12ccb929f7">ECP_HIFIVE_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__HIFIVE_8h.html#a1ab725076a380f3ef544be3297910f7d">ECP_HIFIVE_fromOctet</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#ac4fda84a3c5cd7496897523fd082f48c">ECP_HIFIVE_dbl</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a5ea39d86187fd3a798f187f9755ba358">ECP_HIFIVE_pinmul</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a6d129b7127737c9d6d9be032c35ef4fe">ECP_HIFIVE_mul</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a36f197304b2c2f7417b57c951a6417c7">ECP_HIFIVE_mul2</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *P,<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *Q,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> e,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__HIFIVE_8h.html#a776dd8b8cd10fda34d36ba1d513b98d8">ECP_HIFIVE_generator</a>(<a class="code" href="structECP__HIFIVE.html">ECP_HIFIVE</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__HIFIVE_8h_html_a18bb0427419f55a4ccbc2e439d4bc9ff"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a18bb0427419f55a4ccbc2e439d4bc9ff">ECP_HIFIVE_set</a></div><div class="ttdeci">int ECP_HIFIVE_set(ECP_HIFIVE *P, BIG_336_60 x, BIG_336_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a096cae2d374f876bda8dd2ae4dc84754"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a096cae2d374f876bda8dd2ae4dc84754">CURVE_SB_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_SB_HIFIVE[2][2]</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a52c7d8854fa476b22bcdf767227a6a7a"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a52c7d8854fa476b22bcdf767227a6a7a">CURVE_Pybba_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pybba_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_aacc3f63e392a854d2c4e2e300146e2d5"><div class="ttname"><a href="ecp__HIFIVE_8h.html#aacc3f63e392a854d2c4e2e300146e2d5">CURVE_Pybb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pybb_HIFIVE</div></div>
@@ -80,42 +83,42 @@
 <div class="ttc" id="ecp__HIFIVE_8h_html_ad1dc9e181294d176676efbddd43db295"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ad1dc9e181294d176676efbddd43db295">CURVE_Order_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Order_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_ad777db96604e1c58440a0bd9b67556b1"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ad777db96604e1c58440a0bd9b67556b1">CURVE_Pyabb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyabb_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_adb3d0325ce3047847f3c998b39622cd1"><div class="ttname"><a href="ecp__HIFIVE_8h.html#adb3d0325ce3047847f3c998b39622cd1">CURVE_Pxbb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxbb_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_ab2191fc8b76127ddca3a3f44f258217b"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ab2191fc8b76127ddca3a3f44f258217b">ECP_HIFIVE_sub</a></div><div class="ttdeci">void ECP_HIFIVE_sub(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_ab2191fc8b76127ddca3a3f44f258217b"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ab2191fc8b76127ddca3a3f44f258217b">ECP_HIFIVE_sub</a></div><div class="ttdeci">void ECP_HIFIVE_sub(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_adbda249241c4ad90404a35d0320fe74b"><div class="ttname"><a href="ecp__HIFIVE_8h.html#adbda249241c4ad90404a35d0320fe74b">CURVE_Pxabb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxabb_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_ac4fda84a3c5cd7496897523fd082f48c"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ac4fda84a3c5cd7496897523fd082f48c">ECP_HIFIVE_dbl</a></div><div class="ttdeci">void ECP_HIFIVE_dbl(ECP_HIFIVE *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:564</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_ac4be6c91460d3f8d91827abb8ba8f492"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ac4be6c91460d3f8d91827abb8ba8f492">ECP_HIFIVE_neg</a></div><div class="ttdeci">void ECP_HIFIVE_neg(ECP_HIFIVE *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_acff39fe3c485bb95400ac17adc0ae921"><div class="ttname"><a href="ecp__HIFIVE_8h.html#acff39fe3c485bb95400ac17adc0ae921">ECP_HIFIVE_get</a></div><div class="ttdeci">int ECP_HIFIVE_get(BIG_336_60 x, BIG_336_60 y, ECP_HIFIVE *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_ac4fda84a3c5cd7496897523fd082f48c"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ac4fda84a3c5cd7496897523fd082f48c">ECP_HIFIVE_dbl</a></div><div class="ttdeci">void ECP_HIFIVE_dbl(ECP_HIFIVE *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:564</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_ac4be6c91460d3f8d91827abb8ba8f492"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ac4be6c91460d3f8d91827abb8ba8f492">ECP_HIFIVE_neg</a></div><div class="ttdeci">void ECP_HIFIVE_neg(ECP_HIFIVE *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_acff39fe3c485bb95400ac17adc0ae921"><div class="ttname"><a href="ecp__HIFIVE_8h.html#acff39fe3c485bb95400ac17adc0ae921">ECP_HIFIVE_get</a></div><div class="ttdeci">int ECP_HIFIVE_get(BIG_336_60 x, BIG_336_60 y, ECP_HIFIVE *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="structECP__HIFIVE_html_a70e1f555918de6cefee6cda4b1435549"><div class="ttname"><a href="structECP__HIFIVE.html#a70e1f555918de6cefee6cda4b1435549">ECP_HIFIVE::z</a></div><div class="ttdeci">FP_HIFIVE z</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.h:113</div></div>
 <div class="ttc" id="big__336__60_8h_html_a43cd5984d14e5bce79a1dd36a17ec7e1"><div class="ttname"><a href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a></div><div class="ttdeci">chunk BIG_336_60[NLEN_336_60]</div><div class="ttdef"><b>Definition:</b> big_336_60.h:58</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a8fe29b6e84b0898efef60cd11a9f55d7"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a8fe29b6e84b0898efef60cd11a9f55d7">ECP_HIFIVE_inf</a></div><div class="ttdeci">void ECP_HIFIVE_inf(ECP_HIFIVE *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:146</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a8fe29b6e84b0898efef60cd11a9f55d7"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a8fe29b6e84b0898efef60cd11a9f55d7">ECP_HIFIVE_inf</a></div><div class="ttdeci">void ECP_HIFIVE_inf(ECP_HIFIVE *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:146</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a4af897d7bdf2900af95f2dce5a93e1bf"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a4af897d7bdf2900af95f2dce5a93e1bf">CURVE_Pxbbb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxbbb_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a879eff59992ff736aeeb77f6c18d8d73"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a879eff59992ff736aeeb77f6c18d8d73">ECP_HIFIVE_rawoutput</a></div><div class="ttdeci">void ECP_HIFIVE_rawoutput(ECP_HIFIVE *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:478</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a879eff59992ff736aeeb77f6c18d8d73"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a879eff59992ff736aeeb77f6c18d8d73">ECP_HIFIVE_rawoutput</a></div><div class="ttdeci">void ECP_HIFIVE_rawoutput(ECP_HIFIVE *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:478</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a2652b262d0ad51718a808b215842f3ff"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a2652b262d0ad51718a808b215842f3ff">CURVE_Bnx_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Bnx_HIFIVE</div></div>
 <div class="ttc" id="structECP__HIFIVE_html_ae0f1aa355c35d6bb3a8c9fc5fd3e617f"><div class="ttname"><a href="structECP__HIFIVE.html#ae0f1aa355c35d6bb3a8c9fc5fd3e617f">ECP_HIFIVE::x</a></div><div class="ttdeci">FP_HIFIVE x</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.h:109</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a04200098611b2accbd7887999f6b3aae"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a04200098611b2accbd7887999f6b3aae">CURVE_Cru_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Cru_HIFIVE</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="ecp__HIFIVE_8h_html_a776dd8b8cd10fda34d36ba1d513b98d8"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a776dd8b8cd10fda34d36ba1d513b98d8">ECP_HIFIVE_generator</a></div><div class="ttdeci">void ECP_HIFIVE_generator(ECP_HIFIVE *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:1221</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="ecp__HIFIVE_8h_html_a776dd8b8cd10fda34d36ba1d513b98d8"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a776dd8b8cd10fda34d36ba1d513b98d8">ECP_HIFIVE_generator</a></div><div class="ttdeci">void ECP_HIFIVE_generator(ECP_HIFIVE *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:1221</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a2a559f89cfb04b300d92fe01a184bc30"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a2a559f89cfb04b300d92fe01a184bc30">CURVE_Pybab_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pybab_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a290923ff427e5a8c1268f550a3d2d079"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a290923ff427e5a8c1268f550a3d2d079">ECP_HIFIVE_rhs</a></div><div class="ttdeci">void ECP_HIFIVE_rhs(FP_HIFIVE *r, FP_HIFIVE *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:161</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a2ca220e4a2b670d9e7373abf4713a16e"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a2ca220e4a2b670d9e7373abf4713a16e">ECP_HIFIVE_add</a></div><div class="ttdeci">void ECP_HIFIVE_add(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a290923ff427e5a8c1268f550a3d2d079"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a290923ff427e5a8c1268f550a3d2d079">ECP_HIFIVE_rhs</a></div><div class="ttdeci">void ECP_HIFIVE_rhs(FP_HIFIVE *r, FP_HIFIVE *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:161</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a2ca220e4a2b670d9e7373abf4713a16e"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a2ca220e4a2b670d9e7373abf4713a16e">ECP_HIFIVE_add</a></div><div class="ttdeci">void ECP_HIFIVE_add(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a4329aff753b5af29395f4c3c56f618a4"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a4329aff753b5af29395f4c3c56f618a4">CURVE_Pyaab_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyaab_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a5ea39d86187fd3a798f187f9755ba358"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a5ea39d86187fd3a798f187f9755ba358">ECP_HIFIVE_pinmul</a></div><div class="ttdeci">void ECP_HIFIVE_pinmul(ECP_HIFIVE *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a5ea39d86187fd3a798f187f9755ba358"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a5ea39d86187fd3a798f187f9755ba358">ECP_HIFIVE_pinmul</a></div><div class="ttdeci">void ECP_HIFIVE_pinmul(ECP_HIFIVE *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a091efa01b77c6174ec332c30a8c9835b"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a091efa01b77c6174ec332c30a8c9835b">CURVE_Pya_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pya_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_aebec3e18218639d85bf4e18e79b6e2e7"><div class="ttname"><a href="ecp__HIFIVE_8h.html#aebec3e18218639d85bf4e18e79b6e2e7">ECP_HIFIVE_mapit</a></div><div class="ttdeci">void ECP_HIFIVE_mapit(ECP_HIFIVE *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:365</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_aebec3e18218639d85bf4e18e79b6e2e7"><div class="ttname"><a href="ecp__HIFIVE_8h.html#aebec3e18218639d85bf4e18e79b6e2e7">ECP_HIFIVE_mapit</a></div><div class="ttdeci">void ECP_HIFIVE_mapit(ECP_HIFIVE *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:365</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a5c11ec6fa23ca04ef0476fb8bce7835c"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a5c11ec6fa23ca04ef0476fb8bce7835c">CURVE_Gy_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Gy_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a24f495ae0894910212e136f298185f6d"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a24f495ae0894910212e136f298185f6d">ECP_HIFIVE_setx</a></div><div class="ttdeci">int ECP_HIFIVE_setx(ECP_HIFIVE *P, BIG_336_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="structECP__HIFIVE_html"><div class="ttname"><a href="structECP__HIFIVE.html">ECP_HIFIVE</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.h:105</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a24f495ae0894910212e136f298185f6d"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a24f495ae0894910212e136f298185f6d">ECP_HIFIVE_setx</a></div><div class="ttdeci">int ECP_HIFIVE_setx(ECP_HIFIVE *P, BIG_336_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="structECP__HIFIVE_html"><div class="ttname"><a href="structECP__HIFIVE.html">ECP_HIFIVE</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.h:105</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_ad63f36eaac33cc323b85647d90ae1a81"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ad63f36eaac33cc323b85647d90ae1a81">CURVE_B_I_HIFIVE</a></div><div class="ttdeci">const int CURVE_B_I_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a1ab725076a380f3ef544be3297910f7d"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a1ab725076a380f3ef544be3297910f7d">ECP_HIFIVE_fromOctet</a></div><div class="ttdeci">int ECP_HIFIVE_fromOctet(ECP_HIFIVE *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:537</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_aa4c48ae9b9285371ca1afb282b8f0d10"><div class="ttname"><a href="ecp__HIFIVE_8h.html#aa4c48ae9b9285371ca1afb282b8f0d10">ECP_HIFIVE_equals</a></div><div class="ttdeci">int ECP_HIFIVE_equals(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:100</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a1ab725076a380f3ef544be3297910f7d"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a1ab725076a380f3ef544be3297910f7d">ECP_HIFIVE_fromOctet</a></div><div class="ttdeci">int ECP_HIFIVE_fromOctet(ECP_HIFIVE *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:537</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_aa4c48ae9b9285371ca1afb282b8f0d10"><div class="ttname"><a href="ecp__HIFIVE_8h.html#aa4c48ae9b9285371ca1afb282b8f0d10">ECP_HIFIVE_equals</a></div><div class="ttdeci">int ECP_HIFIVE_equals(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:100</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a87135593f86851ea9eb43282a89221a1"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a87135593f86851ea9eb43282a89221a1">CURVE_Pyb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyb_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a422f2011630d73e0d96911c714643438"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a422f2011630d73e0d96911c714643438">CURVE_Pxa_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxa_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a6d129b7127737c9d6d9be032c35ef4fe"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a6d129b7127737c9d6d9be032c35ef4fe">ECP_HIFIVE_mul</a></div><div class="ttdeci">void ECP_HIFIVE_mul(ECP_HIFIVE *P, BIG_336_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:1021</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a6d129b7127737c9d6d9be032c35ef4fe"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a6d129b7127737c9d6d9be032c35ef4fe">ECP_HIFIVE_mul</a></div><div class="ttdeci">void ECP_HIFIVE_mul(ECP_HIFIVE *P, BIG_336_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:1021</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a77e65fa2342406ef44606478156c79be"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a77e65fa2342406ef44606478156c79be">CURVE_Pxbaa_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxbaa_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a36f197304b2c2f7417b57c951a6417c7"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a36f197304b2c2f7417b57c951a6417c7">ECP_HIFIVE_mul2</a></div><div class="ttdeci">void ECP_HIFIVE_mul2(ECP_HIFIVE *P, ECP_HIFIVE *Q, BIG_336_60 e, BIG_336_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html"><div class="ttname"><a href="fp__HIFIVE_8h.html">fp_HIFIVE.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a36f197304b2c2f7417b57c951a6417c7"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a36f197304b2c2f7417b57c951a6417c7">ECP_HIFIVE_mul2</a></div><div class="ttdeci">void ECP_HIFIVE_mul2(ECP_HIFIVE *P, ECP_HIFIVE *Q, BIG_336_60 e, BIG_336_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html"><div class="ttname"><a href="fp__HIFIVE_8h.html">fp_HIFIVE.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a2dffcb3d7101ebbcc7d72997844f7aa0"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a2dffcb3d7101ebbcc7d72997844f7aa0">CURVE_Pybaa_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pybaa_HIFIVE</div></div>
-<div class="ttc" id="structFP__HIFIVE_html"><div class="ttname"><a href="structFP__HIFIVE.html">FP_HIFIVE</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.h:38</div></div>
+<div class="ttc" id="structFP__HIFIVE_html"><div class="ttname"><a href="structFP__HIFIVE.html">FP_HIFIVE</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.h:38</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_ae620c16ddb209aa82bc0f319e2ed708e"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ae620c16ddb209aa82bc0f319e2ed708e">CURVE_A_HIFIVE</a></div><div class="ttdeci">const int CURVE_A_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a70ace3235321f12a5455d0fc72a8d543"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a70ace3235321f12a5455d0fc72a8d543">CURVE_BB_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_BB_HIFIVE[4][4]</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a77377da01bebd9a1fd0e15c04fcad3b8"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a77377da01bebd9a1fd0e15c04fcad3b8">CURVE_Pxbab_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxbab_HIFIVE</div></div>
@@ -123,7 +126,7 @@
 <div class="ttc" id="ecp__HIFIVE_8h_html_a8762609bc82d433fe57c6f4051866919"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a8762609bc82d433fe57c6f4051866919">CURVE_Cof_I_HIFIVE</a></div><div class="ttdeci">const int CURVE_Cof_I_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a0283670d2c6ff13b2855b7c692966222"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a0283670d2c6ff13b2855b7c692966222">Frb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 Frb_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a5377a2e6f55301bcd55b65b44ccf89c3"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a5377a2e6f55301bcd55b65b44ccf89c3">CURVE_Pxab_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxab_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a55e6c595e26bc0928af5e9f73fc4c7ee"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a55e6c595e26bc0928af5e9f73fc4c7ee">ECP_HIFIVE_copy</a></div><div class="ttdeci">void ECP_HIFIVE_copy(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:120</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a55e6c595e26bc0928af5e9f73fc4c7ee"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a55e6c595e26bc0928af5e9f73fc4c7ee">ECP_HIFIVE_copy</a></div><div class="ttdeci">void ECP_HIFIVE_copy(ECP_HIFIVE *P, ECP_HIFIVE *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:120</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_ac5fdd8685f337c7fd76e4cd46752caaa"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ac5fdd8685f337c7fd76e4cd46752caaa">CURVE_Pxbba_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxbba_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a4b04f68fe5e5a53987d6cfa5601194d3"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a4b04f68fe5e5a53987d6cfa5601194d3">CURVE_Pxaba_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxaba_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a4e08590457946990faedde13bdeb66c6"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a4e08590457946990faedde13bdeb66c6">Fra_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 Fra_HIFIVE</div></div>
@@ -131,18 +134,18 @@
 <div class="ttc" id="ecp__HIFIVE_8h_html_a7d3541b5bd13411557e0f05158eadbe7"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a7d3541b5bd13411557e0f05158eadbe7">CURVE_Pxba_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxba_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a7dd8f24607c4cd3521026f94676369fd"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a7dd8f24607c4cd3521026f94676369fd">CURVE_Pyaa_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyaa_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_ab482fd6cf91d98bfb3cfd96966206a95"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ab482fd6cf91d98bfb3cfd96966206a95">CURVE_Pyba_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyba_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a8fbbf22c54925b75dfb1294e721bdc26"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a8fbbf22c54925b75dfb1294e721bdc26">ECP_HIFIVE_output</a></div><div class="ttdeci">void ECP_HIFIVE_output(ECP_HIFIVE *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:450</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a8fbbf22c54925b75dfb1294e721bdc26"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a8fbbf22c54925b75dfb1294e721bdc26">ECP_HIFIVE_output</a></div><div class="ttdeci">void ECP_HIFIVE_output(ECP_HIFIVE *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:450</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a8392919afca421f7d8cf6144591e8072"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a8392919afca421f7d8cf6144591e8072">CURVE_Pyab_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyab_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_ae6ccb26b7d3ee9493002059c72eb5509"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ae6ccb26b7d3ee9493002059c72eb5509">ECP_HIFIVE_cfp</a></div><div class="ttdeci">void ECP_HIFIVE_cfp(ECP_HIFIVE *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:338</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_ae6ccb26b7d3ee9493002059c72eb5509"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ae6ccb26b7d3ee9493002059c72eb5509">ECP_HIFIVE_cfp</a></div><div class="ttdeci">void ECP_HIFIVE_cfp(ECP_HIFIVE *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:338</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_ae5ac79dc920d00f4e270a4bd7705da44"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ae5ac79dc920d00f4e270a4bd7705da44">CURVE_Pyaba_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyaba_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a4850c3c6a65abf270f9ca3304efdbb56"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a4850c3c6a65abf270f9ca3304efdbb56">CURVE_Gx_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Gx_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a7db564db8b731dcf79f0dc0f52321902"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a7db564db8b731dcf79f0dc0f52321902">CURVE_Pxaa_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxaa_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a71cfe2594508f44f00e274c2e1253a77"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a71cfe2594508f44f00e274c2e1253a77">CURVE_Pyaaa_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pyaaa_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a442203cbcaff4fd9680f2b53ef478de3"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a442203cbcaff4fd9680f2b53ef478de3">CURVE_Pybbb_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pybbb_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_ab0bcdc5403d7100b029fefc09ebed33e"><div class="ttname"><a href="ecp__HIFIVE_8h.html#ab0bcdc5403d7100b029fefc09ebed33e">CURVE_Cof_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Cof_HIFIVE</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a6a829e28318f6137c5885ce26e95b4e0"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a6a829e28318f6137c5885ce26e95b4e0">ECP_HIFIVE_outputxyz</a></div><div class="ttdeci">void ECP_HIFIVE_outputxyz(ECP_HIFIVE *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:414</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_a221832402b27cdbead56091132d764c9"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a221832402b27cdbead56091132d764c9">ECP_HIFIVE_affine</a></div><div class="ttdeci">void ECP_HIFIVE_affine(ECP_HIFIVE *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:392</div></div>
-<div class="ttc" id="ecp__HIFIVE_8h_html_afa8b83cb09ad101bcf9c3ed370fd2b9d"><div class="ttname"><a href="ecp__HIFIVE_8h.html#afa8b83cb09ad101bcf9c3ed370fd2b9d">ECP_HIFIVE_isinf</a></div><div class="ttdeci">int ECP_HIFIVE_isinf(ECP_HIFIVE *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:28</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a6a829e28318f6137c5885ce26e95b4e0"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a6a829e28318f6137c5885ce26e95b4e0">ECP_HIFIVE_outputxyz</a></div><div class="ttdeci">void ECP_HIFIVE_outputxyz(ECP_HIFIVE *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:414</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_a221832402b27cdbead56091132d764c9"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a221832402b27cdbead56091132d764c9">ECP_HIFIVE_affine</a></div><div class="ttdeci">void ECP_HIFIVE_affine(ECP_HIFIVE *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:392</div></div>
+<div class="ttc" id="ecp__HIFIVE_8h_html_afa8b83cb09ad101bcf9c3ed370fd2b9d"><div class="ttname"><a href="ecp__HIFIVE_8h.html#afa8b83cb09ad101bcf9c3ed370fd2b9d">ECP_HIFIVE_isinf</a></div><div class="ttdeci">int ECP_HIFIVE_isinf(ECP_HIFIVE *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_HIFIVE.c:28</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_afffb5603ae41877535be7fd320205751"><div class="ttname"><a href="ecp__HIFIVE_8h.html#afffb5603ae41877535be7fd320205751">CURVE_Pxaaa_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_Pxaaa_HIFIVE</div></div>
 <div class="ttc" id="ecp__HIFIVE_8h_html_a21f4a879c61e792648bdcde8ab3c52af"><div class="ttname"><a href="ecp__HIFIVE_8h.html#a21f4a879c61e792648bdcde8ab3c52af">CURVE_B_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 CURVE_B_HIFIVE</div></div>
 </div><!-- fragment --></div><!-- contents -->
@@ -150,7 +153,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/ecp__NIST256_8h.html b/website/static/cdocs/ecp__NIST256_8h.html
index 15c1ee8..f9d9ac7 100644
--- a/website/static/cdocs/ecp__NIST256_8h.html
+++ b/website/static/cdocs/ecp__NIST256_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: ecp_NIST256.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"
@@ -1705,7 +1708,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/ecp__NIST256_8h_source.html b/website/static/cdocs/ecp__NIST256_8h_source.html
index dd7a519..5e0decc 100644
--- a/website/static/cdocs/ecp__NIST256_8h_source.html
+++ b/website/static/cdocs/ecp__NIST256_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: ecp_NIST256.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,88 +72,88 @@
 <div class="title">ecp_NIST256.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NIST256_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 ECP_NIST256_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NIST256_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 &quot;<a class="code" href="fp__NIST256_8h.html">fp_NIST256.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NIST256.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#af3180286508b0b8383be20e0a704c2f0">CURVE_A_NIST256</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ac2240a6d6f64804cb05f60171e6f2d5b">CURVE_Cof_I_NIST256</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a996a8dcb5ebdd097257eb04b45873d20">CURVE_B_I_NIST256</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a2c81f172828b011577ae6860ccb1e798">CURVE_B_NIST256</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a39fcd7a1b1a603c5bedd9e362df589b3">CURVE_Order_NIST256</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a2d9e7cf0b0f793c6701119fbf9646b42">CURVE_Cof_NIST256</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9c7f4b135cfb8bb8654c1feeeba168a5">CURVE_Gx_NIST256</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a20281530801570800ebbd659b8dc5d98">CURVE_Gy_NIST256</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a11a684b6ef69cee92d24301b8d2df885">CURVE_Pxa_NIST256</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9e95b16f4c522edf0430acb05315e18f">CURVE_Pxb_NIST256</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a0d70c89acde1926ef8ebaf1f9bc30324">CURVE_Pya_NIST256</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a937b02ccd137acf6ac3e1239b419828f">CURVE_Pyb_NIST256</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ad092f461538a861e61748ff26d2d9055">CURVE_Pxaa_NIST256</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#af8d6d71579d10ded461e6d7332c5ceeb">CURVE_Pxab_NIST256</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#acfdd6baf696642201d2c51453608f159">CURVE_Pxba_NIST256</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#afcf79b0fc7d8e9e8ea53751476503481">CURVE_Pxbb_NIST256</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a20d6ddb495f724afc6bac2749af6f0f7">CURVE_Pyaa_NIST256</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#abd19f4313b8e48a9f26ec11f5a54a6b7">CURVE_Pyab_NIST256</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a8029d5d0282c2dcdb8c29142150224a0">CURVE_Pyba_NIST256</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a787e9e4d041bfe100855ac09d4f1b018">CURVE_Pybb_NIST256</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a3aea8fa270966e52396257de0201fd9e">CURVE_Pxaaa_NIST256</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a512f8038b48187191a1157d1fac13123">CURVE_Pxaab_NIST256</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#af31291d2424ce132f90be44d8b38c755">CURVE_Pxaba_NIST256</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#aa9f1d1ab788848466a9cb37b9ab174b5">CURVE_Pxabb_NIST256</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9cac26468b169438e2ca6a2a1eec596c">CURVE_Pxbaa_NIST256</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ac6cf9f81d494099f1eae0b6fcefad8fe">CURVE_Pxbab_NIST256</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ab6f86c4b24283deefd72991e3681e5f1">CURVE_Pxbba_NIST256</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a048893909994ca0a7cc60fcdb861c99b">CURVE_Pxbbb_NIST256</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a5f99a6c543f2d70a72e284bd58c0f2bf">CURVE_Pyaaa_NIST256</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a208a91906331448136ef603e74da3c81">CURVE_Pyaab_NIST256</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#af72e907efcf1e844418d19d55db41034">CURVE_Pyaba_NIST256</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9065518eaeca5e25340579f47ec27cde">CURVE_Pyabb_NIST256</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9a6adbcbe71447e4dcedb53f1c39716d">CURVE_Pybaa_NIST256</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#aec24ac6bec739997a079a35e92489301">CURVE_Pybab_NIST256</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a81b3a0a64c54ab62bf788283751928f6">CURVE_Pybba_NIST256</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a53343c19c4e4663c090be4f21fd391d9">CURVE_Pybbb_NIST256</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a53f49edcb2c80da12ef5a9792f47800d">CURVE_Bnx_NIST256</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ab3066a72d2ed735588b243583f1c6d1e">CURVE_Cru_NIST256</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ace6793d53d8302b7540365354bc7e690">Fra_NIST256</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a502fbbec16cb32b370d7897f343b4e4a">Frb_NIST256</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a6bec6274c2666bdb572279d9cb3f4808">CURVE_W_NIST256</a>[2];      </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a261c681797a92c3db03a5e3102aed230">CURVE_SB_NIST256</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a2d8aab679ff853b3fab7944f2a7ad76a">CURVE_WB_NIST256</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a440378a4f8e3f231b61194ac54975541">CURVE_BB_NIST256</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NIST256.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NIST256.html#aa27703a71c20daf93fb11a26055e09e5">  109</a></span>&#160;    <a class="code" href="structFP__NIST256.html">FP_NIST256</a> <a class="code" href="structECP__NIST256.html#aa27703a71c20daf93fb11a26055e09e5">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST256!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NIST256.html#ac71e2a54c7a45d9eae5ffe7c1268ad53">  111</a></span>&#160;    <a class="code" href="structFP__NIST256.html">FP_NIST256</a> <a class="code" href="structECP__NIST256.html#ac71e2a54c7a45d9eae5ffe7c1268ad53">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NIST256.html#a22b6ce2219b31595cdbb3c22e293e901">  113</a></span>&#160;    <a class="code" href="structFP__NIST256.html">FP_NIST256</a> <a class="code" href="structECP__NIST256.html#a22b6ce2219b31595cdbb3c22e293e901">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NIST256.html">ECP_NIST256</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a459267b711bd99e9cb973e2861ec4caa">ECP_NIST256_isinf</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ad764254f38f884ac42d5ca4334841d31">ECP_NIST256_equals</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a4b0730cc1fce37e97bb08f86671871e6">ECP_NIST256_copy</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</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="ecp__NIST256_8h.html#a27613f51ba3b123fe87f9fe5c910140f">ECP_NIST256_neg</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</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="ecp__NIST256_8h.html#aaa02206f536112dee12de69a07cd9972">ECP_NIST256_inf</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#ab20531ea7d9723b2257c60ff4698e7be">ECP_NIST256_rhs</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *r,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST256==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ad2e7cea16130c5fa9e64e6ff1c82e8f2">ECP_NIST256_set</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a77e45b040ce116fa349efa9db57711c0">ECP_NIST256_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a05162f9f16e86a8525a45986664cfe3b">ECP_NIST256_add</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ad2e7cea16130c5fa9e64e6ff1c82e8f2">ECP_NIST256_set</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a77e45b040ce116fa349efa9db57711c0">ECP_NIST256_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a05162f9f16e86a8525a45986664cfe3b">ECP_NIST256_add</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</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="ecp__NIST256_8h.html#a48bb2eeafcfaab887786f00aa9662b9d">ECP_NIST256_sub</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a3c9b5dec5f486a97b6eee7fce4b5b651">ECP_NIST256_setx</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a8f2f5329fd568467ad0b3d15c4002502">ECP_NIST256_cfp</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a7092b707bdd3b30d2e80048cb3a1bae8">ECP_NIST256_mapit</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a69de41ce7f9fcc46c40dabb40e656091">ECP_NIST256_affine</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a83e04f1b2472817eaa983a67f4b94663">ECP_NIST256_outputxyz</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</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="ecp__NIST256_8h.html#a5528a27ba4dc62a03ce973237a1e8962">ECP_NIST256_output</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#ad7cf6cea043f9a5885f36c8579d43342">ECP_NIST256_rawoutput</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a27b7345cfe655b26cefe16443ab88e02">ECP_NIST256_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#aea5f76e76752d0cddb1c93b9f951fd74">ECP_NIST256_fromOctet</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#abc884ba275a80d8bf3a3091783b7a601">ECP_NIST256_dbl</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#ad01bcc5d861591151aa475a0be6d6cf4">ECP_NIST256_pinmul</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#afafc1cdfe1b97e3d0bbda36ab94e9067">ECP_NIST256_mul</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a243043a260f7497bdc7eafb9f0178c5d">ECP_NIST256_mul2</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a5e7d144e63a243df71cd4bb990f2d050">ECP_NIST256_generator</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NIST256_8h_html_af72e907efcf1e844418d19d55db41034"><div class="ttname"><a href="ecp__NIST256_8h.html#af72e907efcf1e844418d19d55db41034">CURVE_Pyaba_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_NIST256</div></div>
+<a href="ecp__NIST256_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 ECP_NIST256_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NIST256_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 &quot;<a class="code" href="fp__NIST256_8h.html">fp_NIST256.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NIST256.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#af3180286508b0b8383be20e0a704c2f0">CURVE_A_NIST256</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ac2240a6d6f64804cb05f60171e6f2d5b">CURVE_Cof_I_NIST256</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a996a8dcb5ebdd097257eb04b45873d20">CURVE_B_I_NIST256</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a2c81f172828b011577ae6860ccb1e798">CURVE_B_NIST256</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a39fcd7a1b1a603c5bedd9e362df589b3">CURVE_Order_NIST256</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a2d9e7cf0b0f793c6701119fbf9646b42">CURVE_Cof_NIST256</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9c7f4b135cfb8bb8654c1feeeba168a5">CURVE_Gx_NIST256</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a20281530801570800ebbd659b8dc5d98">CURVE_Gy_NIST256</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a11a684b6ef69cee92d24301b8d2df885">CURVE_Pxa_NIST256</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9e95b16f4c522edf0430acb05315e18f">CURVE_Pxb_NIST256</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a0d70c89acde1926ef8ebaf1f9bc30324">CURVE_Pya_NIST256</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a937b02ccd137acf6ac3e1239b419828f">CURVE_Pyb_NIST256</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ad092f461538a861e61748ff26d2d9055">CURVE_Pxaa_NIST256</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#af8d6d71579d10ded461e6d7332c5ceeb">CURVE_Pxab_NIST256</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#acfdd6baf696642201d2c51453608f159">CURVE_Pxba_NIST256</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#afcf79b0fc7d8e9e8ea53751476503481">CURVE_Pxbb_NIST256</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a20d6ddb495f724afc6bac2749af6f0f7">CURVE_Pyaa_NIST256</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#abd19f4313b8e48a9f26ec11f5a54a6b7">CURVE_Pyab_NIST256</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a8029d5d0282c2dcdb8c29142150224a0">CURVE_Pyba_NIST256</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a787e9e4d041bfe100855ac09d4f1b018">CURVE_Pybb_NIST256</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a3aea8fa270966e52396257de0201fd9e">CURVE_Pxaaa_NIST256</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a512f8038b48187191a1157d1fac13123">CURVE_Pxaab_NIST256</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#af31291d2424ce132f90be44d8b38c755">CURVE_Pxaba_NIST256</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#aa9f1d1ab788848466a9cb37b9ab174b5">CURVE_Pxabb_NIST256</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9cac26468b169438e2ca6a2a1eec596c">CURVE_Pxbaa_NIST256</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ac6cf9f81d494099f1eae0b6fcefad8fe">CURVE_Pxbab_NIST256</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ab6f86c4b24283deefd72991e3681e5f1">CURVE_Pxbba_NIST256</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a048893909994ca0a7cc60fcdb861c99b">CURVE_Pxbbb_NIST256</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a5f99a6c543f2d70a72e284bd58c0f2bf">CURVE_Pyaaa_NIST256</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a208a91906331448136ef603e74da3c81">CURVE_Pyaab_NIST256</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#af72e907efcf1e844418d19d55db41034">CURVE_Pyaba_NIST256</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9065518eaeca5e25340579f47ec27cde">CURVE_Pyabb_NIST256</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a9a6adbcbe71447e4dcedb53f1c39716d">CURVE_Pybaa_NIST256</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#aec24ac6bec739997a079a35e92489301">CURVE_Pybab_NIST256</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a81b3a0a64c54ab62bf788283751928f6">CURVE_Pybba_NIST256</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a53343c19c4e4663c090be4f21fd391d9">CURVE_Pybbb_NIST256</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a53f49edcb2c80da12ef5a9792f47800d">CURVE_Bnx_NIST256</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ab3066a72d2ed735588b243583f1c6d1e">CURVE_Cru_NIST256</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#ace6793d53d8302b7540365354bc7e690">Fra_NIST256</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a502fbbec16cb32b370d7897f343b4e4a">Frb_NIST256</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a6bec6274c2666bdb572279d9cb3f4808">CURVE_W_NIST256</a>[2];  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a261c681797a92c3db03a5e3102aed230">CURVE_SB_NIST256</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a2d8aab679ff853b3fab7944f2a7ad76a">CURVE_WB_NIST256</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NIST256_8h.html#a440378a4f8e3f231b61194ac54975541">CURVE_BB_NIST256</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NIST256.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NIST256.html#aa27703a71c20daf93fb11a26055e09e5">  109</a></span>&#160;    <a class="code" href="structFP__NIST256.html">FP_NIST256</a> <a class="code" href="structECP__NIST256.html#aa27703a71c20daf93fb11a26055e09e5">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST256!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NIST256.html#ac71e2a54c7a45d9eae5ffe7c1268ad53">  111</a></span>&#160;    <a class="code" href="structFP__NIST256.html">FP_NIST256</a> <a class="code" href="structECP__NIST256.html#ac71e2a54c7a45d9eae5ffe7c1268ad53">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NIST256.html#a22b6ce2219b31595cdbb3c22e293e901">  113</a></span>&#160;    <a class="code" href="structFP__NIST256.html">FP_NIST256</a> <a class="code" href="structECP__NIST256.html#a22b6ce2219b31595cdbb3c22e293e901">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NIST256.html">ECP_NIST256</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a459267b711bd99e9cb973e2861ec4caa">ECP_NIST256_isinf</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ad764254f38f884ac42d5ca4334841d31">ECP_NIST256_equals</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a4b0730cc1fce37e97bb08f86671871e6">ECP_NIST256_copy</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</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="ecp__NIST256_8h.html#a27613f51ba3b123fe87f9fe5c910140f">ECP_NIST256_neg</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</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="ecp__NIST256_8h.html#aaa02206f536112dee12de69a07cd9972">ECP_NIST256_inf</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#ab20531ea7d9723b2257c60ff4698e7be">ECP_NIST256_rhs</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *r,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST256==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ad2e7cea16130c5fa9e64e6ff1c82e8f2">ECP_NIST256_set</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a77e45b040ce116fa349efa9db57711c0">ECP_NIST256_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a05162f9f16e86a8525a45986664cfe3b">ECP_NIST256_add</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#ad2e7cea16130c5fa9e64e6ff1c82e8f2">ECP_NIST256_set</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a77e45b040ce116fa349efa9db57711c0">ECP_NIST256_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a05162f9f16e86a8525a45986664cfe3b">ECP_NIST256_add</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</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="ecp__NIST256_8h.html#a48bb2eeafcfaab887786f00aa9662b9d">ECP_NIST256_sub</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#a3c9b5dec5f486a97b6eee7fce4b5b651">ECP_NIST256_setx</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a8f2f5329fd568467ad0b3d15c4002502">ECP_NIST256_cfp</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a7092b707bdd3b30d2e80048cb3a1bae8">ECP_NIST256_mapit</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a69de41ce7f9fcc46c40dabb40e656091">ECP_NIST256_affine</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a83e04f1b2472817eaa983a67f4b94663">ECP_NIST256_outputxyz</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</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="ecp__NIST256_8h.html#a5528a27ba4dc62a03ce973237a1e8962">ECP_NIST256_output</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#ad7cf6cea043f9a5885f36c8579d43342">ECP_NIST256_rawoutput</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a27b7345cfe655b26cefe16443ab88e02">ECP_NIST256_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST256_8h.html#aea5f76e76752d0cddb1c93b9f951fd74">ECP_NIST256_fromOctet</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#abc884ba275a80d8bf3a3091783b7a601">ECP_NIST256_dbl</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#ad01bcc5d861591151aa475a0be6d6cf4">ECP_NIST256_pinmul</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#afafc1cdfe1b97e3d0bbda36ab94e9067">ECP_NIST256_mul</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a243043a260f7497bdc7eafb9f0178c5d">ECP_NIST256_mul2</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *P,<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST256_8h.html#a5e7d144e63a243df71cd4bb990f2d050">ECP_NIST256_generator</a>(<a class="code" href="structECP__NIST256.html">ECP_NIST256</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NIST256_8h_html_af72e907efcf1e844418d19d55db41034"><div class="ttname"><a href="ecp__NIST256_8h.html#af72e907efcf1e844418d19d55db41034">CURVE_Pyaba_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a048893909994ca0a7cc60fcdb861c99b"><div class="ttname"><a href="ecp__NIST256_8h.html#a048893909994ca0a7cc60fcdb861c99b">CURVE_Pxbbb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a53343c19c4e4663c090be4f21fd391d9"><div class="ttname"><a href="ecp__NIST256_8h.html#a53343c19c4e4663c090be4f21fd391d9">CURVE_Pybbb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a208a91906331448136ef603e74da3c81"><div class="ttname"><a href="ecp__NIST256_8h.html#a208a91906331448136ef603e74da3c81">CURVE_Pyaab_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a05162f9f16e86a8525a45986664cfe3b"><div class="ttname"><a href="ecp__NIST256_8h.html#a05162f9f16e86a8525a45986664cfe3b">ECP_NIST256_add</a></div><div class="ttdeci">void ECP_NIST256_add(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_ad01bcc5d861591151aa475a0be6d6cf4"><div class="ttname"><a href="ecp__NIST256_8h.html#ad01bcc5d861591151aa475a0be6d6cf4">ECP_NIST256_pinmul</a></div><div class="ttdeci">void ECP_NIST256_pinmul(ECP_NIST256 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a05162f9f16e86a8525a45986664cfe3b"><div class="ttname"><a href="ecp__NIST256_8h.html#a05162f9f16e86a8525a45986664cfe3b">ECP_NIST256_add</a></div><div class="ttdeci">void ECP_NIST256_add(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_ad01bcc5d861591151aa475a0be6d6cf4"><div class="ttname"><a href="ecp__NIST256_8h.html#ad01bcc5d861591151aa475a0be6d6cf4">ECP_NIST256_pinmul</a></div><div class="ttdeci">void ECP_NIST256_pinmul(ECP_NIST256 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a6bec6274c2666bdb572279d9cb3f4808"><div class="ttname"><a href="ecp__NIST256_8h.html#a6bec6274c2666bdb572279d9cb3f4808">CURVE_W_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_NIST256[2]</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_ab20531ea7d9723b2257c60ff4698e7be"><div class="ttname"><a href="ecp__NIST256_8h.html#ab20531ea7d9723b2257c60ff4698e7be">ECP_NIST256_rhs</a></div><div class="ttdeci">void ECP_NIST256_rhs(FP_NIST256 *r, FP_NIST256 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:161</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a459267b711bd99e9cb973e2861ec4caa"><div class="ttname"><a href="ecp__NIST256_8h.html#a459267b711bd99e9cb973e2861ec4caa">ECP_NIST256_isinf</a></div><div class="ttdeci">int ECP_NIST256_isinf(ECP_NIST256 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:28</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_ab20531ea7d9723b2257c60ff4698e7be"><div class="ttname"><a href="ecp__NIST256_8h.html#ab20531ea7d9723b2257c60ff4698e7be">ECP_NIST256_rhs</a></div><div class="ttdeci">void ECP_NIST256_rhs(FP_NIST256 *r, FP_NIST256 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:161</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a459267b711bd99e9cb973e2861ec4caa"><div class="ttname"><a href="ecp__NIST256_8h.html#a459267b711bd99e9cb973e2861ec4caa">ECP_NIST256_isinf</a></div><div class="ttdeci">int ECP_NIST256_isinf(ECP_NIST256 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:28</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_ac2240a6d6f64804cb05f60171e6f2d5b"><div class="ttname"><a href="ecp__NIST256_8h.html#ac2240a6d6f64804cb05f60171e6f2d5b">CURVE_Cof_I_NIST256</a></div><div class="ttdeci">const int CURVE_Cof_I_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a5e7d144e63a243df71cd4bb990f2d050"><div class="ttname"><a href="ecp__NIST256_8h.html#a5e7d144e63a243df71cd4bb990f2d050">ECP_NIST256_generator</a></div><div class="ttdeci">void ECP_NIST256_generator(ECP_NIST256 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:1221</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a5e7d144e63a243df71cd4bb990f2d050"><div class="ttname"><a href="ecp__NIST256_8h.html#a5e7d144e63a243df71cd4bb990f2d050">ECP_NIST256_generator</a></div><div class="ttdeci">void ECP_NIST256_generator(ECP_NIST256 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:1221</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a81b3a0a64c54ab62bf788283751928f6"><div class="ttname"><a href="ecp__NIST256_8h.html#a81b3a0a64c54ab62bf788283751928f6">CURVE_Pybba_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_aa9f1d1ab788848466a9cb37b9ab174b5"><div class="ttname"><a href="ecp__NIST256_8h.html#aa9f1d1ab788848466a9cb37b9ab174b5">CURVE_Pxabb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a3c9b5dec5f486a97b6eee7fce4b5b651"><div class="ttname"><a href="ecp__NIST256_8h.html#a3c9b5dec5f486a97b6eee7fce4b5b651">ECP_NIST256_setx</a></div><div class="ttdeci">int ECP_NIST256_setx(ECP_NIST256 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a3c9b5dec5f486a97b6eee7fce4b5b651"><div class="ttname"><a href="ecp__NIST256_8h.html#a3c9b5dec5f486a97b6eee7fce4b5b651">ECP_NIST256_setx</a></div><div class="ttdeci">int ECP_NIST256_setx(ECP_NIST256 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_ab3066a72d2ed735588b243583f1c6d1e"><div class="ttname"><a href="ecp__NIST256_8h.html#ab3066a72d2ed735588b243583f1c6d1e">CURVE_Cru_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a243043a260f7497bdc7eafb9f0178c5d"><div class="ttname"><a href="ecp__NIST256_8h.html#a243043a260f7497bdc7eafb9f0178c5d">ECP_NIST256_mul2</a></div><div class="ttdeci">void ECP_NIST256_mul2(ECP_NIST256 *P, ECP_NIST256 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a243043a260f7497bdc7eafb9f0178c5d"><div class="ttname"><a href="ecp__NIST256_8h.html#a243043a260f7497bdc7eafb9f0178c5d">ECP_NIST256_mul2</a></div><div class="ttdeci">void ECP_NIST256_mul2(ECP_NIST256 *P, ECP_NIST256 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a39fcd7a1b1a603c5bedd9e362df589b3"><div class="ttname"><a href="ecp__NIST256_8h.html#a39fcd7a1b1a603c5bedd9e362df589b3">CURVE_Order_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a27b7345cfe655b26cefe16443ab88e02"><div class="ttname"><a href="ecp__NIST256_8h.html#a27b7345cfe655b26cefe16443ab88e02">ECP_NIST256_toOctet</a></div><div class="ttdeci">void ECP_NIST256_toOctet(octet *S, ECP_NIST256 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:507</div></div>
-<div class="ttc" id="fp__NIST256_8h_html"><div class="ttname"><a href="fp__NIST256_8h.html">fp_NIST256.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__NIST256_8h_html"><div class="ttname"><a href="fp__NIST256_8h.html">fp_NIST256.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_ac6cf9f81d494099f1eae0b6fcefad8fe"><div class="ttname"><a href="ecp__NIST256_8h.html#ac6cf9f81d494099f1eae0b6fcefad8fe">CURVE_Pxbab_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_afcf79b0fc7d8e9e8ea53751476503481"><div class="ttname"><a href="ecp__NIST256_8h.html#afcf79b0fc7d8e9e8ea53751476503481">CURVE_Pxbb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a2d8aab679ff853b3fab7944f2a7ad76a"><div class="ttname"><a href="ecp__NIST256_8h.html#a2d8aab679ff853b3fab7944f2a7ad76a">CURVE_WB_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_NIST256[4]</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a9e95b16f4c522edf0430acb05315e18f"><div class="ttname"><a href="ecp__NIST256_8h.html#a9e95b16f4c522edf0430acb05315e18f">CURVE_Pxb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a27613f51ba3b123fe87f9fe5c910140f"><div class="ttname"><a href="ecp__NIST256_8h.html#a27613f51ba3b123fe87f9fe5c910140f">ECP_NIST256_neg</a></div><div class="ttdeci">void ECP_NIST256_neg(ECP_NIST256 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a27613f51ba3b123fe87f9fe5c910140f"><div class="ttname"><a href="ecp__NIST256_8h.html#a27613f51ba3b123fe87f9fe5c910140f">ECP_NIST256_neg</a></div><div class="ttdeci">void ECP_NIST256_neg(ECP_NIST256 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_af8d6d71579d10ded461e6d7332c5ceeb"><div class="ttname"><a href="ecp__NIST256_8h.html#af8d6d71579d10ded461e6d7332c5ceeb">CURVE_Pxab_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a787e9e4d041bfe100855ac09d4f1b018"><div class="ttname"><a href="ecp__NIST256_8h.html#a787e9e4d041bfe100855ac09d4f1b018">CURVE_Pybb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_ab6f86c4b24283deefd72991e3681e5f1"><div class="ttname"><a href="ecp__NIST256_8h.html#ab6f86c4b24283deefd72991e3681e5f1">CURVE_Pxbba_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_NIST256</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="ecp__NIST256_8h_html_a20d6ddb495f724afc6bac2749af6f0f7"><div class="ttname"><a href="ecp__NIST256_8h.html#a20d6ddb495f724afc6bac2749af6f0f7">CURVE_Pyaa_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_NIST256</div></div>
 <div class="ttc" id="structECP__NIST256_html_a22b6ce2219b31595cdbb3c22e293e901"><div class="ttname"><a href="structECP__NIST256.html#a22b6ce2219b31595cdbb3c22e293e901">ECP_NIST256::z</a></div><div class="ttdeci">FP_NIST256 z</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.h:113</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a937b02ccd137acf6ac3e1239b419828f"><div class="ttname"><a href="ecp__NIST256_8h.html#a937b02ccd137acf6ac3e1239b419828f">CURVE_Pyb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a2c81f172828b011577ae6860ccb1e798"><div class="ttname"><a href="ecp__NIST256_8h.html#a2c81f172828b011577ae6860ccb1e798">CURVE_B_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_ad2e7cea16130c5fa9e64e6ff1c82e8f2"><div class="ttname"><a href="ecp__NIST256_8h.html#ad2e7cea16130c5fa9e64e6ff1c82e8f2">ECP_NIST256_set</a></div><div class="ttdeci">int ECP_NIST256_set(ECP_NIST256 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
-<div class="ttc" id="structFP__NIST256_html"><div class="ttname"><a href="structFP__NIST256.html">FP_NIST256</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.h:38</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_ad2e7cea16130c5fa9e64e6ff1c82e8f2"><div class="ttname"><a href="ecp__NIST256_8h.html#ad2e7cea16130c5fa9e64e6ff1c82e8f2">ECP_NIST256_set</a></div><div class="ttdeci">int ECP_NIST256_set(ECP_NIST256 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
+<div class="ttc" id="structFP__NIST256_html"><div class="ttname"><a href="structFP__NIST256.html">FP_NIST256</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.h:38</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_ace6793d53d8302b7540365354bc7e690"><div class="ttname"><a href="ecp__NIST256_8h.html#ace6793d53d8302b7540365354bc7e690">Fra_NIST256</a></div><div class="ttdeci">const BIG_256_56 Fra_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a512f8038b48187191a1157d1fac13123"><div class="ttname"><a href="ecp__NIST256_8h.html#a512f8038b48187191a1157d1fac13123">CURVE_Pxaab_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a2d9e7cf0b0f793c6701119fbf9646b42"><div class="ttname"><a href="ecp__NIST256_8h.html#a2d9e7cf0b0f793c6701119fbf9646b42">CURVE_Cof_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a0d70c89acde1926ef8ebaf1f9bc30324"><div class="ttname"><a href="ecp__NIST256_8h.html#a0d70c89acde1926ef8ebaf1f9bc30324">CURVE_Pya_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a502fbbec16cb32b370d7897f343b4e4a"><div class="ttname"><a href="ecp__NIST256_8h.html#a502fbbec16cb32b370d7897f343b4e4a">Frb_NIST256</a></div><div class="ttdeci">const BIG_256_56 Frb_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_af3180286508b0b8383be20e0a704c2f0"><div class="ttname"><a href="ecp__NIST256_8h.html#af3180286508b0b8383be20e0a704c2f0">CURVE_A_NIST256</a></div><div class="ttdeci">const int CURVE_A_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a5528a27ba4dc62a03ce973237a1e8962"><div class="ttname"><a href="ecp__NIST256_8h.html#a5528a27ba4dc62a03ce973237a1e8962">ECP_NIST256_output</a></div><div class="ttdeci">void ECP_NIST256_output(ECP_NIST256 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:450</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a5528a27ba4dc62a03ce973237a1e8962"><div class="ttname"><a href="ecp__NIST256_8h.html#a5528a27ba4dc62a03ce973237a1e8962">ECP_NIST256_output</a></div><div class="ttdeci">void ECP_NIST256_output(ECP_NIST256 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:450</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a9c7f4b135cfb8bb8654c1feeeba168a5"><div class="ttname"><a href="ecp__NIST256_8h.html#a9c7f4b135cfb8bb8654c1feeeba168a5">CURVE_Gx_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_af31291d2424ce132f90be44d8b38c755"><div class="ttname"><a href="ecp__NIST256_8h.html#af31291d2424ce132f90be44d8b38c755">CURVE_Pxaba_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a3aea8fa270966e52396257de0201fd9e"><div class="ttname"><a href="ecp__NIST256_8h.html#a3aea8fa270966e52396257de0201fd9e">CURVE_Pxaaa_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_aaa02206f536112dee12de69a07cd9972"><div class="ttname"><a href="ecp__NIST256_8h.html#aaa02206f536112dee12de69a07cd9972">ECP_NIST256_inf</a></div><div class="ttdeci">void ECP_NIST256_inf(ECP_NIST256 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:146</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_aaa02206f536112dee12de69a07cd9972"><div class="ttname"><a href="ecp__NIST256_8h.html#aaa02206f536112dee12de69a07cd9972">ECP_NIST256_inf</a></div><div class="ttdeci">void ECP_NIST256_inf(ECP_NIST256 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:146</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a440378a4f8e3f231b61194ac54975541"><div class="ttname"><a href="ecp__NIST256_8h.html#a440378a4f8e3f231b61194ac54975541">CURVE_BB_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_NIST256[4][4]</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_abd19f4313b8e48a9f26ec11f5a54a6b7"><div class="ttname"><a href="ecp__NIST256_8h.html#abd19f4313b8e48a9f26ec11f5a54a6b7">CURVE_Pyab_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a77e45b040ce116fa349efa9db57711c0"><div class="ttname"><a href="ecp__NIST256_8h.html#a77e45b040ce116fa349efa9db57711c0">ECP_NIST256_get</a></div><div class="ttdeci">int ECP_NIST256_get(BIG_256_56 x, BIG_256_56 y, ECP_NIST256 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a77e45b040ce116fa349efa9db57711c0"><div class="ttname"><a href="ecp__NIST256_8h.html#a77e45b040ce116fa349efa9db57711c0">ECP_NIST256_get</a></div><div class="ttdeci">int ECP_NIST256_get(BIG_256_56 x, BIG_256_56 y, ECP_NIST256 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a9a6adbcbe71447e4dcedb53f1c39716d"><div class="ttname"><a href="ecp__NIST256_8h.html#a9a6adbcbe71447e4dcedb53f1c39716d">CURVE_Pybaa_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a53f49edcb2c80da12ef5a9792f47800d"><div class="ttname"><a href="ecp__NIST256_8h.html#a53f49edcb2c80da12ef5a9792f47800d">CURVE_Bnx_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_abc884ba275a80d8bf3a3091783b7a601"><div class="ttname"><a href="ecp__NIST256_8h.html#abc884ba275a80d8bf3a3091783b7a601">ECP_NIST256_dbl</a></div><div class="ttdeci">void ECP_NIST256_dbl(ECP_NIST256 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:564</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_aea5f76e76752d0cddb1c93b9f951fd74"><div class="ttname"><a href="ecp__NIST256_8h.html#aea5f76e76752d0cddb1c93b9f951fd74">ECP_NIST256_fromOctet</a></div><div class="ttdeci">int ECP_NIST256_fromOctet(ECP_NIST256 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:537</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_abc884ba275a80d8bf3a3091783b7a601"><div class="ttname"><a href="ecp__NIST256_8h.html#abc884ba275a80d8bf3a3091783b7a601">ECP_NIST256_dbl</a></div><div class="ttdeci">void ECP_NIST256_dbl(ECP_NIST256 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:564</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_aea5f76e76752d0cddb1c93b9f951fd74"><div class="ttname"><a href="ecp__NIST256_8h.html#aea5f76e76752d0cddb1c93b9f951fd74">ECP_NIST256_fromOctet</a></div><div class="ttdeci">int ECP_NIST256_fromOctet(ECP_NIST256 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:537</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_ad092f461538a861e61748ff26d2d9055"><div class="ttname"><a href="ecp__NIST256_8h.html#ad092f461538a861e61748ff26d2d9055">CURVE_Pxaa_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a7092b707bdd3b30d2e80048cb3a1bae8"><div class="ttname"><a href="ecp__NIST256_8h.html#a7092b707bdd3b30d2e80048cb3a1bae8">ECP_NIST256_mapit</a></div><div class="ttdeci">void ECP_NIST256_mapit(ECP_NIST256 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:365</div></div>
-<div class="ttc" id="structECP__NIST256_html"><div class="ttname"><a href="structECP__NIST256.html">ECP_NIST256</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.h:105</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a7092b707bdd3b30d2e80048cb3a1bae8"><div class="ttname"><a href="ecp__NIST256_8h.html#a7092b707bdd3b30d2e80048cb3a1bae8">ECP_NIST256_mapit</a></div><div class="ttdeci">void ECP_NIST256_mapit(ECP_NIST256 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:365</div></div>
+<div class="ttc" id="structECP__NIST256_html"><div class="ttname"><a href="structECP__NIST256.html">ECP_NIST256</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.h:105</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a5f99a6c543f2d70a72e284bd58c0f2bf"><div class="ttname"><a href="ecp__NIST256_8h.html#a5f99a6c543f2d70a72e284bd58c0f2bf">CURVE_Pyaaa_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_aec24ac6bec739997a079a35e92489301"><div class="ttname"><a href="ecp__NIST256_8h.html#aec24ac6bec739997a079a35e92489301">CURVE_Pybab_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a11a684b6ef69cee92d24301b8d2df885"><div class="ttname"><a href="ecp__NIST256_8h.html#a11a684b6ef69cee92d24301b8d2df885">CURVE_Pxa_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a48bb2eeafcfaab887786f00aa9662b9d"><div class="ttname"><a href="ecp__NIST256_8h.html#a48bb2eeafcfaab887786f00aa9662b9d">ECP_NIST256_sub</a></div><div class="ttdeci">void ECP_NIST256_sub(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a48bb2eeafcfaab887786f00aa9662b9d"><div class="ttname"><a href="ecp__NIST256_8h.html#a48bb2eeafcfaab887786f00aa9662b9d">ECP_NIST256_sub</a></div><div class="ttdeci">void ECP_NIST256_sub(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a20281530801570800ebbd659b8dc5d98"><div class="ttname"><a href="ecp__NIST256_8h.html#a20281530801570800ebbd659b8dc5d98">CURVE_Gy_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a996a8dcb5ebdd097257eb04b45873d20"><div class="ttname"><a href="ecp__NIST256_8h.html#a996a8dcb5ebdd097257eb04b45873d20">CURVE_B_I_NIST256</a></div><div class="ttdeci">const int CURVE_B_I_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a8029d5d0282c2dcdb8c29142150224a0"><div class="ttname"><a href="ecp__NIST256_8h.html#a8029d5d0282c2dcdb8c29142150224a0">CURVE_Pyba_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_ad7cf6cea043f9a5885f36c8579d43342"><div class="ttname"><a href="ecp__NIST256_8h.html#ad7cf6cea043f9a5885f36c8579d43342">ECP_NIST256_rawoutput</a></div><div class="ttdeci">void ECP_NIST256_rawoutput(ECP_NIST256 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:478</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_ad7cf6cea043f9a5885f36c8579d43342"><div class="ttname"><a href="ecp__NIST256_8h.html#ad7cf6cea043f9a5885f36c8579d43342">ECP_NIST256_rawoutput</a></div><div class="ttdeci">void ECP_NIST256_rawoutput(ECP_NIST256 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:478</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a9cac26468b169438e2ca6a2a1eec596c"><div class="ttname"><a href="ecp__NIST256_8h.html#a9cac26468b169438e2ca6a2a1eec596c">CURVE_Pxbaa_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a261c681797a92c3db03a5e3102aed230"><div class="ttname"><a href="ecp__NIST256_8h.html#a261c681797a92c3db03a5e3102aed230">CURVE_SB_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_NIST256[2][2]</div></div>
 <div class="ttc" id="structECP__NIST256_html_ac71e2a54c7a45d9eae5ffe7c1268ad53"><div class="ttname"><a href="structECP__NIST256.html#ac71e2a54c7a45d9eae5ffe7c1268ad53">ECP_NIST256::y</a></div><div class="ttdeci">FP_NIST256 y</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.h:111</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a83e04f1b2472817eaa983a67f4b94663"><div class="ttname"><a href="ecp__NIST256_8h.html#a83e04f1b2472817eaa983a67f4b94663">ECP_NIST256_outputxyz</a></div><div class="ttdeci">void ECP_NIST256_outputxyz(ECP_NIST256 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:414</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a83e04f1b2472817eaa983a67f4b94663"><div class="ttname"><a href="ecp__NIST256_8h.html#a83e04f1b2472817eaa983a67f4b94663">ECP_NIST256_outputxyz</a></div><div class="ttdeci">void ECP_NIST256_outputxyz(ECP_NIST256 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:414</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a8f2f5329fd568467ad0b3d15c4002502"><div class="ttname"><a href="ecp__NIST256_8h.html#a8f2f5329fd568467ad0b3d15c4002502">ECP_NIST256_cfp</a></div><div class="ttdeci">void ECP_NIST256_cfp(ECP_NIST256 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:338</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_afafc1cdfe1b97e3d0bbda36ab94e9067"><div class="ttname"><a href="ecp__NIST256_8h.html#afafc1cdfe1b97e3d0bbda36ab94e9067">ECP_NIST256_mul</a></div><div class="ttdeci">void ECP_NIST256_mul(ECP_NIST256 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:1021</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a8f2f5329fd568467ad0b3d15c4002502"><div class="ttname"><a href="ecp__NIST256_8h.html#a8f2f5329fd568467ad0b3d15c4002502">ECP_NIST256_cfp</a></div><div class="ttdeci">void ECP_NIST256_cfp(ECP_NIST256 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:338</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_afafc1cdfe1b97e3d0bbda36ab94e9067"><div class="ttname"><a href="ecp__NIST256_8h.html#afafc1cdfe1b97e3d0bbda36ab94e9067">ECP_NIST256_mul</a></div><div class="ttdeci">void ECP_NIST256_mul(ECP_NIST256 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:1021</div></div>
 <div class="ttc" id="structECP__NIST256_html_aa27703a71c20daf93fb11a26055e09e5"><div class="ttname"><a href="structECP__NIST256.html#aa27703a71c20daf93fb11a26055e09e5">ECP_NIST256::x</a></div><div class="ttdeci">FP_NIST256 x</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.h:109</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_acfdd6baf696642201d2c51453608f159"><div class="ttname"><a href="ecp__NIST256_8h.html#acfdd6baf696642201d2c51453608f159">CURVE_Pxba_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_NIST256</div></div>
 <div class="ttc" id="ecp__NIST256_8h_html_a9065518eaeca5e25340579f47ec27cde"><div class="ttname"><a href="ecp__NIST256_8h.html#a9065518eaeca5e25340579f47ec27cde">CURVE_Pyabb_NIST256</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_NIST256</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a4b0730cc1fce37e97bb08f86671871e6"><div class="ttname"><a href="ecp__NIST256_8h.html#a4b0730cc1fce37e97bb08f86671871e6">ECP_NIST256_copy</a></div><div class="ttdeci">void ECP_NIST256_copy(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:120</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_ad764254f38f884ac42d5ca4334841d31"><div class="ttname"><a href="ecp__NIST256_8h.html#ad764254f38f884ac42d5ca4334841d31">ECP_NIST256_equals</a></div><div class="ttdeci">int ECP_NIST256_equals(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:100</div></div>
-<div class="ttc" id="ecp__NIST256_8h_html_a69de41ce7f9fcc46c40dabb40e656091"><div class="ttname"><a href="ecp__NIST256_8h.html#a69de41ce7f9fcc46c40dabb40e656091">ECP_NIST256_affine</a></div><div class="ttdeci">void ECP_NIST256_affine(ECP_NIST256 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:392</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a4b0730cc1fce37e97bb08f86671871e6"><div class="ttname"><a href="ecp__NIST256_8h.html#a4b0730cc1fce37e97bb08f86671871e6">ECP_NIST256_copy</a></div><div class="ttdeci">void ECP_NIST256_copy(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:120</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_ad764254f38f884ac42d5ca4334841d31"><div class="ttname"><a href="ecp__NIST256_8h.html#ad764254f38f884ac42d5ca4334841d31">ECP_NIST256_equals</a></div><div class="ttdeci">int ECP_NIST256_equals(ECP_NIST256 *P, ECP_NIST256 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:100</div></div>
+<div class="ttc" id="ecp__NIST256_8h_html_a69de41ce7f9fcc46c40dabb40e656091"><div class="ttname"><a href="ecp__NIST256_8h.html#a69de41ce7f9fcc46c40dabb40e656091">ECP_NIST256_affine</a></div><div class="ttdeci">void ECP_NIST256_affine(ECP_NIST256 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NIST256.c:392</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/ecp__NIST384_8h.html b/website/static/cdocs/ecp__NIST384_8h.html
index fbee15d..5651733 100644
--- a/website/static/cdocs/ecp__NIST384_8h.html
+++ b/website/static/cdocs/ecp__NIST384_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: ecp_NIST384.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"
@@ -1705,7 +1708,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/ecp__NIST384_8h_source.html b/website/static/cdocs/ecp__NIST384_8h_source.html
index 5e751f1..695bb1b 100644
--- a/website/static/cdocs/ecp__NIST384_8h_source.html
+++ b/website/static/cdocs/ecp__NIST384_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: ecp_NIST384.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,27 +72,27 @@
 <div class="title">ecp_NIST384.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NIST384_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 ECP_NIST384_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NIST384_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 &quot;<a class="code" href="fp__NIST384_8h.html">fp_NIST384.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NIST384.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#abaa00b67e9590584665677810a90531e">CURVE_A_NIST384</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a5e676ef5cdd68ba96e4f0e8ca2bbd9bb">CURVE_Cof_I_NIST384</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a86c46e1e6d826cb29549fe7c7232e3fc">CURVE_B_I_NIST384</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aff2b27a76dd52a9dcd1cdca12c2cdbbc">CURVE_B_NIST384</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a5e538961c2ccc6482685094798e7512d">CURVE_Order_NIST384</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a5bdbedc1efc1dff73cb964689d9bdab7">CURVE_Cof_NIST384</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a1b5ceda71000aa09508f6933ea7348da">CURVE_Gx_NIST384</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a0fa4fb865d0f3dd8ef878f9355a91559">CURVE_Gy_NIST384</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#af246263145707afbbd01b8f66cbd411d">CURVE_Pxa_NIST384</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a4fbe12293b65dd3c9512f9eb16be62ec">CURVE_Pxb_NIST384</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a87cc21192bb2365e2bb49bab72ec7806">CURVE_Pya_NIST384</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ab72db483ceec5cbc5bcf50fa4e9d6947">CURVE_Pyb_NIST384</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac34f92fd197529afecce2f09bed8ebfb">CURVE_Pxaa_NIST384</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a2dad3babcfce294bbbc83bb3ebc41bdf">CURVE_Pxab_NIST384</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac2d0eaa7df07f3e3c7c2bdf64e941a1d">CURVE_Pxba_NIST384</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a705782b0642ccc6f7aa3ebaf5498fa3f">CURVE_Pxbb_NIST384</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aba488e10813c71f8f7aca34069292adc">CURVE_Pyaa_NIST384</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a0c2d25ff17b164c23d7458cc5d8dfd6e">CURVE_Pyab_NIST384</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a382eef7f9b84944c93a1d647dce2ae5a">CURVE_Pyba_NIST384</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a4d289651fbee1daad460f248eb7b1122">CURVE_Pybb_NIST384</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a986dadc0c9524bf473df818151be1362">CURVE_Pxaaa_NIST384</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ab4ed16e55a83e974d572c5210304cee1">CURVE_Pxaab_NIST384</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a30fbbc68571f098d55670b841047a385">CURVE_Pxaba_NIST384</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ad2a825a23a5038b6bd1c44dc600592b3">CURVE_Pxabb_NIST384</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a7195597f9e19777af61755e31bcc8a45">CURVE_Pxbaa_NIST384</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a55c27cb5a0df47bb256c469e1c0e69a3">CURVE_Pxbab_NIST384</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ad20a174efa90842843799e22a7e2191e">CURVE_Pxbba_NIST384</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a7292ea81fc4be856c6bdc8eae3b419ad">CURVE_Pxbbb_NIST384</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aea12e7d593446a65f252f6d42bee2442">CURVE_Pyaaa_NIST384</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac9d15d7d8a0a01c2b4ca762622448a6a">CURVE_Pyaab_NIST384</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a24bcbecb4ccf48974f838b2d995c7652">CURVE_Pyaba_NIST384</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a1d88aba96b35e61e6fd9543ce7a81f84">CURVE_Pyabb_NIST384</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a93f785d11fff301f44334e29daebc7f5">CURVE_Pybaa_NIST384</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac494a6cae03fa91c201b7ba233d73aa8">CURVE_Pybab_NIST384</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a457e6eebd360efd28137da46324e9fcb">CURVE_Pybba_NIST384</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a22ef7f6611e8d3f1a02e44a30aafb014">CURVE_Pybbb_NIST384</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a6343ad8991713ff922c48bf6b613c9ff">CURVE_Bnx_NIST384</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ad8ba4459823ad2b5b3a212f011e902ee">CURVE_Cru_NIST384</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#acb4bd37229c4e84a431f93d4dcf6b875">Fra_NIST384</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a8636072befa83876c5fbc75164408c1d">Frb_NIST384</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aec077c98820168afaae14c918243ca13">CURVE_W_NIST384</a>[2];      </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a616caebce4d237336b57bde6d41eb412">CURVE_SB_NIST384</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a04ca25026ba46d9113732c3f84874bc6">CURVE_WB_NIST384</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a9e76f273771e012bcb951d58c9b9db68">CURVE_BB_NIST384</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NIST384.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NIST384.html#afb503852d3a12946bff6c08f87d637c6">  109</a></span>&#160;    <a class="code" href="structFP__NIST384.html">FP_NIST384</a> <a class="code" href="structECP__NIST384.html#afb503852d3a12946bff6c08f87d637c6">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST384!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NIST384.html#a1b5e3bcafcc0aca41fbc1ac6881184b0">  111</a></span>&#160;    <a class="code" href="structFP__NIST384.html">FP_NIST384</a> <a class="code" href="structECP__NIST384.html#a1b5e3bcafcc0aca41fbc1ac6881184b0">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NIST384.html#a55fd4f36bff91563d54fcc697808864d">  113</a></span>&#160;    <a class="code" href="structFP__NIST384.html">FP_NIST384</a> <a class="code" href="structECP__NIST384.html#a55fd4f36bff91563d54fcc697808864d">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NIST384.html">ECP_NIST384</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#af44bb07c16630da0243e22ead0a87d73">ECP_NIST384_isinf</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#af27716e214ebccb14cacb544d3b44d8c">ECP_NIST384_equals</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a166b530136c1698c60cdb74c65dba110">ECP_NIST384_copy</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</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="ecp__NIST384_8h.html#a4d2acb2371269263a17c0b8b4acfa9db">ECP_NIST384_neg</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</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="ecp__NIST384_8h.html#a35d83a6269a140f5c652c2c1ca63caa3">ECP_NIST384_inf</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ae81507dc48a9b38068c6783bb1dc4aa9">ECP_NIST384_rhs</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *r,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST384==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a414ddba613bd54e770e1c17afe3a67d9">ECP_NIST384_set</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a81f9416a447e4974e0049efacc339f50">ECP_NIST384_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a08cd20ade5a9ae7b89dcc0cde3c1ad97">ECP_NIST384_add</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a414ddba613bd54e770e1c17afe3a67d9">ECP_NIST384_set</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a81f9416a447e4974e0049efacc339f50">ECP_NIST384_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a08cd20ade5a9ae7b89dcc0cde3c1ad97">ECP_NIST384_add</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</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="ecp__NIST384_8h.html#aa47b1f64d58f9132adeca2adcaead4c2">ECP_NIST384_sub</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#aea1d642142e969a082be0cbda266e3c5">ECP_NIST384_setx</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a3ed3b0d2ec81d5914c367bafc7c043d1">ECP_NIST384_cfp</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ae080ca296f57d703ba3c75d330cfe788">ECP_NIST384_mapit</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a07f14f04732ae53890ee7b5e52d5b309">ECP_NIST384_affine</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a84829c6e496611bb3c2d7005b3e69156">ECP_NIST384_outputxyz</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</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="ecp__NIST384_8h.html#a40b81995794ddbc315a0dfe73e7815af">ECP_NIST384_output</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ae5cb2dd12fe835e0f3733df9e4aea0dc">ECP_NIST384_rawoutput</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a7540a4dc81b7a018e346e775fa11778a">ECP_NIST384_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a2e19457134ed6032e774d3e4a8c73b51">ECP_NIST384_fromOctet</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#aabd11a8ea767cc6390c7cc5ebf5bc27b">ECP_NIST384_dbl</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#aad6e4974ab0aa4804b95af7000599304">ECP_NIST384_pinmul</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a233effb75b16aad79ef5f7ebaead9934">ECP_NIST384_mul</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ac7468d89100f1a3dcc92ee36f39220fd">ECP_NIST384_mul2</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a53d5f510acf15eb18be00e0de0942573">ECP_NIST384_generator</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NIST384_8h_html_a07f14f04732ae53890ee7b5e52d5b309"><div class="ttname"><a href="ecp__NIST384_8h.html#a07f14f04732ae53890ee7b5e52d5b309">ECP_NIST384_affine</a></div><div class="ttdeci">void ECP_NIST384_affine(ECP_NIST384 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:392</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_ac7468d89100f1a3dcc92ee36f39220fd"><div class="ttname"><a href="ecp__NIST384_8h.html#ac7468d89100f1a3dcc92ee36f39220fd">ECP_NIST384_mul2</a></div><div class="ttdeci">void ECP_NIST384_mul2(ECP_NIST384 *P, ECP_NIST384 *Q, BIG_384_56 e, BIG_384_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<a href="ecp__NIST384_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 ECP_NIST384_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NIST384_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 &quot;<a class="code" href="fp__NIST384_8h.html">fp_NIST384.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NIST384.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#abaa00b67e9590584665677810a90531e">CURVE_A_NIST384</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a5e676ef5cdd68ba96e4f0e8ca2bbd9bb">CURVE_Cof_I_NIST384</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a86c46e1e6d826cb29549fe7c7232e3fc">CURVE_B_I_NIST384</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aff2b27a76dd52a9dcd1cdca12c2cdbbc">CURVE_B_NIST384</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a5e538961c2ccc6482685094798e7512d">CURVE_Order_NIST384</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a5bdbedc1efc1dff73cb964689d9bdab7">CURVE_Cof_NIST384</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a1b5ceda71000aa09508f6933ea7348da">CURVE_Gx_NIST384</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a0fa4fb865d0f3dd8ef878f9355a91559">CURVE_Gy_NIST384</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#af246263145707afbbd01b8f66cbd411d">CURVE_Pxa_NIST384</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a4fbe12293b65dd3c9512f9eb16be62ec">CURVE_Pxb_NIST384</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a87cc21192bb2365e2bb49bab72ec7806">CURVE_Pya_NIST384</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ab72db483ceec5cbc5bcf50fa4e9d6947">CURVE_Pyb_NIST384</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac34f92fd197529afecce2f09bed8ebfb">CURVE_Pxaa_NIST384</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a2dad3babcfce294bbbc83bb3ebc41bdf">CURVE_Pxab_NIST384</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac2d0eaa7df07f3e3c7c2bdf64e941a1d">CURVE_Pxba_NIST384</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a705782b0642ccc6f7aa3ebaf5498fa3f">CURVE_Pxbb_NIST384</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aba488e10813c71f8f7aca34069292adc">CURVE_Pyaa_NIST384</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a0c2d25ff17b164c23d7458cc5d8dfd6e">CURVE_Pyab_NIST384</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a382eef7f9b84944c93a1d647dce2ae5a">CURVE_Pyba_NIST384</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a4d289651fbee1daad460f248eb7b1122">CURVE_Pybb_NIST384</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a986dadc0c9524bf473df818151be1362">CURVE_Pxaaa_NIST384</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ab4ed16e55a83e974d572c5210304cee1">CURVE_Pxaab_NIST384</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a30fbbc68571f098d55670b841047a385">CURVE_Pxaba_NIST384</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ad2a825a23a5038b6bd1c44dc600592b3">CURVE_Pxabb_NIST384</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a7195597f9e19777af61755e31bcc8a45">CURVE_Pxbaa_NIST384</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a55c27cb5a0df47bb256c469e1c0e69a3">CURVE_Pxbab_NIST384</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ad20a174efa90842843799e22a7e2191e">CURVE_Pxbba_NIST384</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a7292ea81fc4be856c6bdc8eae3b419ad">CURVE_Pxbbb_NIST384</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aea12e7d593446a65f252f6d42bee2442">CURVE_Pyaaa_NIST384</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac9d15d7d8a0a01c2b4ca762622448a6a">CURVE_Pyaab_NIST384</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a24bcbecb4ccf48974f838b2d995c7652">CURVE_Pyaba_NIST384</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a1d88aba96b35e61e6fd9543ce7a81f84">CURVE_Pyabb_NIST384</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a93f785d11fff301f44334e29daebc7f5">CURVE_Pybaa_NIST384</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ac494a6cae03fa91c201b7ba233d73aa8">CURVE_Pybab_NIST384</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a457e6eebd360efd28137da46324e9fcb">CURVE_Pybba_NIST384</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a22ef7f6611e8d3f1a02e44a30aafb014">CURVE_Pybbb_NIST384</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a6343ad8991713ff922c48bf6b613c9ff">CURVE_Bnx_NIST384</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#ad8ba4459823ad2b5b3a212f011e902ee">CURVE_Cru_NIST384</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#acb4bd37229c4e84a431f93d4dcf6b875">Fra_NIST384</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a8636072befa83876c5fbc75164408c1d">Frb_NIST384</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#aec077c98820168afaae14c918243ca13">CURVE_W_NIST384</a>[2];  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a616caebce4d237336b57bde6d41eb412">CURVE_SB_NIST384</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a04ca25026ba46d9113732c3f84874bc6">CURVE_WB_NIST384</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NIST384_8h.html#a9e76f273771e012bcb951d58c9b9db68">CURVE_BB_NIST384</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NIST384.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NIST384.html#afb503852d3a12946bff6c08f87d637c6">  109</a></span>&#160;    <a class="code" href="structFP__NIST384.html">FP_NIST384</a> <a class="code" href="structECP__NIST384.html#afb503852d3a12946bff6c08f87d637c6">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST384!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NIST384.html#a1b5e3bcafcc0aca41fbc1ac6881184b0">  111</a></span>&#160;    <a class="code" href="structFP__NIST384.html">FP_NIST384</a> <a class="code" href="structECP__NIST384.html#a1b5e3bcafcc0aca41fbc1ac6881184b0">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NIST384.html#a55fd4f36bff91563d54fcc697808864d">  113</a></span>&#160;    <a class="code" href="structFP__NIST384.html">FP_NIST384</a> <a class="code" href="structECP__NIST384.html#a55fd4f36bff91563d54fcc697808864d">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NIST384.html">ECP_NIST384</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#af44bb07c16630da0243e22ead0a87d73">ECP_NIST384_isinf</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#af27716e214ebccb14cacb544d3b44d8c">ECP_NIST384_equals</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a166b530136c1698c60cdb74c65dba110">ECP_NIST384_copy</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</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="ecp__NIST384_8h.html#a4d2acb2371269263a17c0b8b4acfa9db">ECP_NIST384_neg</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</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="ecp__NIST384_8h.html#a35d83a6269a140f5c652c2c1ca63caa3">ECP_NIST384_inf</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ae81507dc48a9b38068c6783bb1dc4aa9">ECP_NIST384_rhs</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *r,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST384==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a414ddba613bd54e770e1c17afe3a67d9">ECP_NIST384_set</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a81f9416a447e4974e0049efacc339f50">ECP_NIST384_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a08cd20ade5a9ae7b89dcc0cde3c1ad97">ECP_NIST384_add</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a414ddba613bd54e770e1c17afe3a67d9">ECP_NIST384_set</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a81f9416a447e4974e0049efacc339f50">ECP_NIST384_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a08cd20ade5a9ae7b89dcc0cde3c1ad97">ECP_NIST384_add</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</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="ecp__NIST384_8h.html#aa47b1f64d58f9132adeca2adcaead4c2">ECP_NIST384_sub</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#aea1d642142e969a082be0cbda266e3c5">ECP_NIST384_setx</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a3ed3b0d2ec81d5914c367bafc7c043d1">ECP_NIST384_cfp</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ae080ca296f57d703ba3c75d330cfe788">ECP_NIST384_mapit</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a07f14f04732ae53890ee7b5e52d5b309">ECP_NIST384_affine</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a84829c6e496611bb3c2d7005b3e69156">ECP_NIST384_outputxyz</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</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="ecp__NIST384_8h.html#a40b81995794ddbc315a0dfe73e7815af">ECP_NIST384_output</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ae5cb2dd12fe835e0f3733df9e4aea0dc">ECP_NIST384_rawoutput</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a7540a4dc81b7a018e346e775fa11778a">ECP_NIST384_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST384_8h.html#a2e19457134ed6032e774d3e4a8c73b51">ECP_NIST384_fromOctet</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#aabd11a8ea767cc6390c7cc5ebf5bc27b">ECP_NIST384_dbl</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#aad6e4974ab0aa4804b95af7000599304">ECP_NIST384_pinmul</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a233effb75b16aad79ef5f7ebaead9934">ECP_NIST384_mul</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#ac7468d89100f1a3dcc92ee36f39220fd">ECP_NIST384_mul2</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *P,<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *Q,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST384_8h.html#a53d5f510acf15eb18be00e0de0942573">ECP_NIST384_generator</a>(<a class="code" href="structECP__NIST384.html">ECP_NIST384</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NIST384_8h_html_a07f14f04732ae53890ee7b5e52d5b309"><div class="ttname"><a href="ecp__NIST384_8h.html#a07f14f04732ae53890ee7b5e52d5b309">ECP_NIST384_affine</a></div><div class="ttdeci">void ECP_NIST384_affine(ECP_NIST384 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:392</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_ac7468d89100f1a3dcc92ee36f39220fd"><div class="ttname"><a href="ecp__NIST384_8h.html#ac7468d89100f1a3dcc92ee36f39220fd">ECP_NIST384_mul2</a></div><div class="ttdeci">void ECP_NIST384_mul2(ECP_NIST384 *P, ECP_NIST384 *Q, BIG_384_56 e, BIG_384_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a705782b0642ccc6f7aa3ebaf5498fa3f"><div class="ttname"><a href="ecp__NIST384_8h.html#a705782b0642ccc6f7aa3ebaf5498fa3f">CURVE_Pxbb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbb_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a40b81995794ddbc315a0dfe73e7815af"><div class="ttname"><a href="ecp__NIST384_8h.html#a40b81995794ddbc315a0dfe73e7815af">ECP_NIST384_output</a></div><div class="ttdeci">void ECP_NIST384_output(ECP_NIST384 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:450</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a4d2acb2371269263a17c0b8b4acfa9db"><div class="ttname"><a href="ecp__NIST384_8h.html#a4d2acb2371269263a17c0b8b4acfa9db">ECP_NIST384_neg</a></div><div class="ttdeci">void ECP_NIST384_neg(ECP_NIST384 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a414ddba613bd54e770e1c17afe3a67d9"><div class="ttname"><a href="ecp__NIST384_8h.html#a414ddba613bd54e770e1c17afe3a67d9">ECP_NIST384_set</a></div><div class="ttdeci">int ECP_NIST384_set(ECP_NIST384 *P, BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a3ed3b0d2ec81d5914c367bafc7c043d1"><div class="ttname"><a href="ecp__NIST384_8h.html#a3ed3b0d2ec81d5914c367bafc7c043d1">ECP_NIST384_cfp</a></div><div class="ttdeci">void ECP_NIST384_cfp(ECP_NIST384 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:338</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a40b81995794ddbc315a0dfe73e7815af"><div class="ttname"><a href="ecp__NIST384_8h.html#a40b81995794ddbc315a0dfe73e7815af">ECP_NIST384_output</a></div><div class="ttdeci">void ECP_NIST384_output(ECP_NIST384 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:450</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a4d2acb2371269263a17c0b8b4acfa9db"><div class="ttname"><a href="ecp__NIST384_8h.html#a4d2acb2371269263a17c0b8b4acfa9db">ECP_NIST384_neg</a></div><div class="ttdeci">void ECP_NIST384_neg(ECP_NIST384 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a414ddba613bd54e770e1c17afe3a67d9"><div class="ttname"><a href="ecp__NIST384_8h.html#a414ddba613bd54e770e1c17afe3a67d9">ECP_NIST384_set</a></div><div class="ttdeci">int ECP_NIST384_set(ECP_NIST384 *P, BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a3ed3b0d2ec81d5914c367bafc7c043d1"><div class="ttname"><a href="ecp__NIST384_8h.html#a3ed3b0d2ec81d5914c367bafc7c043d1">ECP_NIST384_cfp</a></div><div class="ttdeci">void ECP_NIST384_cfp(ECP_NIST384 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:338</div></div>
 <div class="ttc" id="structECP__NIST384_html_afb503852d3a12946bff6c08f87d637c6"><div class="ttname"><a href="structECP__NIST384.html#afb503852d3a12946bff6c08f87d637c6">ECP_NIST384::x</a></div><div class="ttdeci">FP_NIST384 x</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.h:109</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_ac494a6cae03fa91c201b7ba233d73aa8"><div class="ttname"><a href="ecp__NIST384_8h.html#ac494a6cae03fa91c201b7ba233d73aa8">CURVE_Pybab_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybab_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a81f9416a447e4974e0049efacc339f50"><div class="ttname"><a href="ecp__NIST384_8h.html#a81f9416a447e4974e0049efacc339f50">ECP_NIST384_get</a></div><div class="ttdeci">int ECP_NIST384_get(BIG_384_56 x, BIG_384_56 y, ECP_NIST384 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_af44bb07c16630da0243e22ead0a87d73"><div class="ttname"><a href="ecp__NIST384_8h.html#af44bb07c16630da0243e22ead0a87d73">ECP_NIST384_isinf</a></div><div class="ttdeci">int ECP_NIST384_isinf(ECP_NIST384 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:28</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a81f9416a447e4974e0049efacc339f50"><div class="ttname"><a href="ecp__NIST384_8h.html#a81f9416a447e4974e0049efacc339f50">ECP_NIST384_get</a></div><div class="ttdeci">int ECP_NIST384_get(BIG_384_56 x, BIG_384_56 y, ECP_NIST384 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_af44bb07c16630da0243e22ead0a87d73"><div class="ttname"><a href="ecp__NIST384_8h.html#af44bb07c16630da0243e22ead0a87d73">ECP_NIST384_isinf</a></div><div class="ttdeci">int ECP_NIST384_isinf(ECP_NIST384 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:28</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_acb4bd37229c4e84a431f93d4dcf6b875"><div class="ttname"><a href="ecp__NIST384_8h.html#acb4bd37229c4e84a431f93d4dcf6b875">Fra_NIST384</a></div><div class="ttdeci">const BIG_384_56 Fra_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_aec077c98820168afaae14c918243ca13"><div class="ttname"><a href="ecp__NIST384_8h.html#aec077c98820168afaae14c918243ca13">CURVE_W_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_W_NIST384[2]</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a7292ea81fc4be856c6bdc8eae3b419ad"><div class="ttname"><a href="ecp__NIST384_8h.html#a7292ea81fc4be856c6bdc8eae3b419ad">CURVE_Pxbbb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbbb_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a986dadc0c9524bf473df818151be1362"><div class="ttname"><a href="ecp__NIST384_8h.html#a986dadc0c9524bf473df818151be1362">CURVE_Pxaaa_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaaa_NIST384</div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a233effb75b16aad79ef5f7ebaead9934"><div class="ttname"><a href="ecp__NIST384_8h.html#a233effb75b16aad79ef5f7ebaead9934">ECP_NIST384_mul</a></div><div class="ttdeci">void ECP_NIST384_mul(ECP_NIST384 *P, BIG_384_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:1021</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a233effb75b16aad79ef5f7ebaead9934"><div class="ttname"><a href="ecp__NIST384_8h.html#a233effb75b16aad79ef5f7ebaead9934">ECP_NIST384_mul</a></div><div class="ttdeci">void ECP_NIST384_mul(ECP_NIST384 *P, BIG_384_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:1021</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_aff2b27a76dd52a9dcd1cdca12c2cdbbc"><div class="ttname"><a href="ecp__NIST384_8h.html#aff2b27a76dd52a9dcd1cdca12c2cdbbc">CURVE_B_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_B_NIST384</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="ecp__NIST384_8h_html_ab4ed16e55a83e974d572c5210304cee1"><div class="ttname"><a href="ecp__NIST384_8h.html#ab4ed16e55a83e974d572c5210304cee1">CURVE_Pxaab_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaab_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_af27716e214ebccb14cacb544d3b44d8c"><div class="ttname"><a href="ecp__NIST384_8h.html#af27716e214ebccb14cacb544d3b44d8c">ECP_NIST384_equals</a></div><div class="ttdeci">int ECP_NIST384_equals(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:100</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_af27716e214ebccb14cacb544d3b44d8c"><div class="ttname"><a href="ecp__NIST384_8h.html#af27716e214ebccb14cacb544d3b44d8c">ECP_NIST384_equals</a></div><div class="ttdeci">int ECP_NIST384_equals(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:100</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_aea12e7d593446a65f252f6d42bee2442"><div class="ttname"><a href="ecp__NIST384_8h.html#aea12e7d593446a65f252f6d42bee2442">CURVE_Pyaaa_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaaa_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a22ef7f6611e8d3f1a02e44a30aafb014"><div class="ttname"><a href="ecp__NIST384_8h.html#a22ef7f6611e8d3f1a02e44a30aafb014">CURVE_Pybbb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybbb_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_aba488e10813c71f8f7aca34069292adc"><div class="ttname"><a href="ecp__NIST384_8h.html#aba488e10813c71f8f7aca34069292adc">CURVE_Pyaa_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaa_NIST384</div></div>
@@ -98,59 +101,59 @@
 <div class="ttc" id="structECP__NIST384_html_a1b5e3bcafcc0aca41fbc1ac6881184b0"><div class="ttname"><a href="structECP__NIST384.html#a1b5e3bcafcc0aca41fbc1ac6881184b0">ECP_NIST384::y</a></div><div class="ttdeci">FP_NIST384 y</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.h:111</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a5bdbedc1efc1dff73cb964689d9bdab7"><div class="ttname"><a href="ecp__NIST384_8h.html#a5bdbedc1efc1dff73cb964689d9bdab7">CURVE_Cof_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Cof_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_af246263145707afbbd01b8f66cbd411d"><div class="ttname"><a href="ecp__NIST384_8h.html#af246263145707afbbd01b8f66cbd411d">CURVE_Pxa_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxa_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a53d5f510acf15eb18be00e0de0942573"><div class="ttname"><a href="ecp__NIST384_8h.html#a53d5f510acf15eb18be00e0de0942573">ECP_NIST384_generator</a></div><div class="ttdeci">void ECP_NIST384_generator(ECP_NIST384 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:1221</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a53d5f510acf15eb18be00e0de0942573"><div class="ttname"><a href="ecp__NIST384_8h.html#a53d5f510acf15eb18be00e0de0942573">ECP_NIST384_generator</a></div><div class="ttdeci">void ECP_NIST384_generator(ECP_NIST384 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:1221</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a6343ad8991713ff922c48bf6b613c9ff"><div class="ttname"><a href="ecp__NIST384_8h.html#a6343ad8991713ff922c48bf6b613c9ff">CURVE_Bnx_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Bnx_NIST384</div></div>
-<div class="ttc" id="structFP__NIST384_html"><div class="ttname"><a href="structFP__NIST384.html">FP_NIST384</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.h:38</div></div>
+<div class="ttc" id="structFP__NIST384_html"><div class="ttname"><a href="structFP__NIST384.html">FP_NIST384</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.h:38</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_ac34f92fd197529afecce2f09bed8ebfb"><div class="ttname"><a href="ecp__NIST384_8h.html#ac34f92fd197529afecce2f09bed8ebfb">CURVE_Pxaa_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaa_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a24bcbecb4ccf48974f838b2d995c7652"><div class="ttname"><a href="ecp__NIST384_8h.html#a24bcbecb4ccf48974f838b2d995c7652">CURVE_Pyaba_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaba_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a8636072befa83876c5fbc75164408c1d"><div class="ttname"><a href="ecp__NIST384_8h.html#a8636072befa83876c5fbc75164408c1d">Frb_NIST384</a></div><div class="ttdeci">const BIG_384_56 Frb_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_ad20a174efa90842843799e22a7e2191e"><div class="ttname"><a href="ecp__NIST384_8h.html#ad20a174efa90842843799e22a7e2191e">CURVE_Pxbba_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbba_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a08cd20ade5a9ae7b89dcc0cde3c1ad97"><div class="ttname"><a href="ecp__NIST384_8h.html#a08cd20ade5a9ae7b89dcc0cde3c1ad97">ECP_NIST384_add</a></div><div class="ttdeci">void ECP_NIST384_add(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a08cd20ade5a9ae7b89dcc0cde3c1ad97"><div class="ttname"><a href="ecp__NIST384_8h.html#a08cd20ade5a9ae7b89dcc0cde3c1ad97">ECP_NIST384_add</a></div><div class="ttdeci">void ECP_NIST384_add(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_ad2a825a23a5038b6bd1c44dc600592b3"><div class="ttname"><a href="ecp__NIST384_8h.html#ad2a825a23a5038b6bd1c44dc600592b3">CURVE_Pxabb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxabb_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a87cc21192bb2365e2bb49bab72ec7806"><div class="ttname"><a href="ecp__NIST384_8h.html#a87cc21192bb2365e2bb49bab72ec7806">CURVE_Pya_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pya_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a7540a4dc81b7a018e346e775fa11778a"><div class="ttname"><a href="ecp__NIST384_8h.html#a7540a4dc81b7a018e346e775fa11778a">ECP_NIST384_toOctet</a></div><div class="ttdeci">void ECP_NIST384_toOctet(octet *S, ECP_NIST384 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:507</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_aea1d642142e969a082be0cbda266e3c5"><div class="ttname"><a href="ecp__NIST384_8h.html#aea1d642142e969a082be0cbda266e3c5">ECP_NIST384_setx</a></div><div class="ttdeci">int ECP_NIST384_setx(ECP_NIST384 *P, BIG_384_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_aea1d642142e969a082be0cbda266e3c5"><div class="ttname"><a href="ecp__NIST384_8h.html#aea1d642142e969a082be0cbda266e3c5">ECP_NIST384_setx</a></div><div class="ttdeci">int ECP_NIST384_setx(ECP_NIST384 *P, BIG_384_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a1b5ceda71000aa09508f6933ea7348da"><div class="ttname"><a href="ecp__NIST384_8h.html#a1b5ceda71000aa09508f6933ea7348da">CURVE_Gx_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Gx_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a4fbe12293b65dd3c9512f9eb16be62ec"><div class="ttname"><a href="ecp__NIST384_8h.html#a4fbe12293b65dd3c9512f9eb16be62ec">CURVE_Pxb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxb_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_ac9d15d7d8a0a01c2b4ca762622448a6a"><div class="ttname"><a href="ecp__NIST384_8h.html#ac9d15d7d8a0a01c2b4ca762622448a6a">CURVE_Pyaab_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaab_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_ae080ca296f57d703ba3c75d330cfe788"><div class="ttname"><a href="ecp__NIST384_8h.html#ae080ca296f57d703ba3c75d330cfe788">ECP_NIST384_mapit</a></div><div class="ttdeci">void ECP_NIST384_mapit(ECP_NIST384 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:365</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_ae080ca296f57d703ba3c75d330cfe788"><div class="ttname"><a href="ecp__NIST384_8h.html#ae080ca296f57d703ba3c75d330cfe788">ECP_NIST384_mapit</a></div><div class="ttdeci">void ECP_NIST384_mapit(ECP_NIST384 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:365</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a55c27cb5a0df47bb256c469e1c0e69a3"><div class="ttname"><a href="ecp__NIST384_8h.html#a55c27cb5a0df47bb256c469e1c0e69a3">CURVE_Pxbab_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbab_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a0fa4fb865d0f3dd8ef878f9355a91559"><div class="ttname"><a href="ecp__NIST384_8h.html#a0fa4fb865d0f3dd8ef878f9355a91559">CURVE_Gy_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Gy_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a2dad3babcfce294bbbc83bb3ebc41bdf"><div class="ttname"><a href="ecp__NIST384_8h.html#a2dad3babcfce294bbbc83bb3ebc41bdf">CURVE_Pxab_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxab_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_ae81507dc48a9b38068c6783bb1dc4aa9"><div class="ttname"><a href="ecp__NIST384_8h.html#ae81507dc48a9b38068c6783bb1dc4aa9">ECP_NIST384_rhs</a></div><div class="ttdeci">void ECP_NIST384_rhs(FP_NIST384 *r, FP_NIST384 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:161</div></div>
-<div class="ttc" id="structECP__NIST384_html"><div class="ttname"><a href="structECP__NIST384.html">ECP_NIST384</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.h:105</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_ae81507dc48a9b38068c6783bb1dc4aa9"><div class="ttname"><a href="ecp__NIST384_8h.html#ae81507dc48a9b38068c6783bb1dc4aa9">ECP_NIST384_rhs</a></div><div class="ttdeci">void ECP_NIST384_rhs(FP_NIST384 *r, FP_NIST384 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:161</div></div>
+<div class="ttc" id="structECP__NIST384_html"><div class="ttname"><a href="structECP__NIST384.html">ECP_NIST384</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.h:105</div></div>
 <div class="ttc" id="structECP__NIST384_html_a55fd4f36bff91563d54fcc697808864d"><div class="ttname"><a href="structECP__NIST384.html#a55fd4f36bff91563d54fcc697808864d">ECP_NIST384::z</a></div><div class="ttdeci">FP_NIST384 z</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.h:113</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a382eef7f9b84944c93a1d647dce2ae5a"><div class="ttname"><a href="ecp__NIST384_8h.html#a382eef7f9b84944c93a1d647dce2ae5a">CURVE_Pyba_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyba_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_aabd11a8ea767cc6390c7cc5ebf5bc27b"><div class="ttname"><a href="ecp__NIST384_8h.html#aabd11a8ea767cc6390c7cc5ebf5bc27b">ECP_NIST384_dbl</a></div><div class="ttdeci">void ECP_NIST384_dbl(ECP_NIST384 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:564</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_aabd11a8ea767cc6390c7cc5ebf5bc27b"><div class="ttname"><a href="ecp__NIST384_8h.html#aabd11a8ea767cc6390c7cc5ebf5bc27b">ECP_NIST384_dbl</a></div><div class="ttdeci">void ECP_NIST384_dbl(ECP_NIST384 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:564</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_ad8ba4459823ad2b5b3a212f011e902ee"><div class="ttname"><a href="ecp__NIST384_8h.html#ad8ba4459823ad2b5b3a212f011e902ee">CURVE_Cru_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Cru_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a4d289651fbee1daad460f248eb7b1122"><div class="ttname"><a href="ecp__NIST384_8h.html#a4d289651fbee1daad460f248eb7b1122">CURVE_Pybb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybb_NIST384</div></div>
-<div class="ttc" id="fp__NIST384_8h_html"><div class="ttname"><a href="fp__NIST384_8h.html">fp_NIST384.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_aad6e4974ab0aa4804b95af7000599304"><div class="ttname"><a href="ecp__NIST384_8h.html#aad6e4974ab0aa4804b95af7000599304">ECP_NIST384_pinmul</a></div><div class="ttdeci">void ECP_NIST384_pinmul(ECP_NIST384 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_aa47b1f64d58f9132adeca2adcaead4c2"><div class="ttname"><a href="ecp__NIST384_8h.html#aa47b1f64d58f9132adeca2adcaead4c2">ECP_NIST384_sub</a></div><div class="ttdeci">void ECP_NIST384_sub(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="fp__NIST384_8h_html"><div class="ttname"><a href="fp__NIST384_8h.html">fp_NIST384.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_aad6e4974ab0aa4804b95af7000599304"><div class="ttname"><a href="ecp__NIST384_8h.html#aad6e4974ab0aa4804b95af7000599304">ECP_NIST384_pinmul</a></div><div class="ttdeci">void ECP_NIST384_pinmul(ECP_NIST384 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_aa47b1f64d58f9132adeca2adcaead4c2"><div class="ttname"><a href="ecp__NIST384_8h.html#aa47b1f64d58f9132adeca2adcaead4c2">ECP_NIST384_sub</a></div><div class="ttdeci">void ECP_NIST384_sub(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a0c2d25ff17b164c23d7458cc5d8dfd6e"><div class="ttname"><a href="ecp__NIST384_8h.html#a0c2d25ff17b164c23d7458cc5d8dfd6e">CURVE_Pyab_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyab_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a1d88aba96b35e61e6fd9543ce7a81f84"><div class="ttname"><a href="ecp__NIST384_8h.html#a1d88aba96b35e61e6fd9543ce7a81f84">CURVE_Pyabb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyabb_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a84829c6e496611bb3c2d7005b3e69156"><div class="ttname"><a href="ecp__NIST384_8h.html#a84829c6e496611bb3c2d7005b3e69156">ECP_NIST384_outputxyz</a></div><div class="ttdeci">void ECP_NIST384_outputxyz(ECP_NIST384 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:414</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a84829c6e496611bb3c2d7005b3e69156"><div class="ttname"><a href="ecp__NIST384_8h.html#a84829c6e496611bb3c2d7005b3e69156">ECP_NIST384_outputxyz</a></div><div class="ttdeci">void ECP_NIST384_outputxyz(ECP_NIST384 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:414</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a7195597f9e19777af61755e31bcc8a45"><div class="ttname"><a href="ecp__NIST384_8h.html#a7195597f9e19777af61755e31bcc8a45">CURVE_Pxbaa_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbaa_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a86c46e1e6d826cb29549fe7c7232e3fc"><div class="ttname"><a href="ecp__NIST384_8h.html#a86c46e1e6d826cb29549fe7c7232e3fc">CURVE_B_I_NIST384</a></div><div class="ttdeci">const int CURVE_B_I_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a04ca25026ba46d9113732c3f84874bc6"><div class="ttname"><a href="ecp__NIST384_8h.html#a04ca25026ba46d9113732c3f84874bc6">CURVE_WB_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_WB_NIST384[4]</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_abaa00b67e9590584665677810a90531e"><div class="ttname"><a href="ecp__NIST384_8h.html#abaa00b67e9590584665677810a90531e">CURVE_A_NIST384</a></div><div class="ttdeci">const int CURVE_A_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a2e19457134ed6032e774d3e4a8c73b51"><div class="ttname"><a href="ecp__NIST384_8h.html#a2e19457134ed6032e774d3e4a8c73b51">ECP_NIST384_fromOctet</a></div><div class="ttdeci">int ECP_NIST384_fromOctet(ECP_NIST384 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:537</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a2e19457134ed6032e774d3e4a8c73b51"><div class="ttname"><a href="ecp__NIST384_8h.html#a2e19457134ed6032e774d3e4a8c73b51">ECP_NIST384_fromOctet</a></div><div class="ttdeci">int ECP_NIST384_fromOctet(ECP_NIST384 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:537</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a93f785d11fff301f44334e29daebc7f5"><div class="ttname"><a href="ecp__NIST384_8h.html#a93f785d11fff301f44334e29daebc7f5">CURVE_Pybaa_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybaa_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a30fbbc68571f098d55670b841047a385"><div class="ttname"><a href="ecp__NIST384_8h.html#a30fbbc68571f098d55670b841047a385">CURVE_Pxaba_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaba_NIST384</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a457e6eebd360efd28137da46324e9fcb"><div class="ttname"><a href="ecp__NIST384_8h.html#a457e6eebd360efd28137da46324e9fcb">CURVE_Pybba_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybba_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a166b530136c1698c60cdb74c65dba110"><div class="ttname"><a href="ecp__NIST384_8h.html#a166b530136c1698c60cdb74c65dba110">ECP_NIST384_copy</a></div><div class="ttdeci">void ECP_NIST384_copy(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:120</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a166b530136c1698c60cdb74c65dba110"><div class="ttname"><a href="ecp__NIST384_8h.html#a166b530136c1698c60cdb74c65dba110">ECP_NIST384_copy</a></div><div class="ttdeci">void ECP_NIST384_copy(ECP_NIST384 *P, ECP_NIST384 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:120</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a9e76f273771e012bcb951d58c9b9db68"><div class="ttname"><a href="ecp__NIST384_8h.html#a9e76f273771e012bcb951d58c9b9db68">CURVE_BB_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_BB_NIST384[4][4]</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a616caebce4d237336b57bde6d41eb412"><div class="ttname"><a href="ecp__NIST384_8h.html#a616caebce4d237336b57bde6d41eb412">CURVE_SB_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_SB_NIST384[2][2]</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_a5e676ef5cdd68ba96e4f0e8ca2bbd9bb"><div class="ttname"><a href="ecp__NIST384_8h.html#a5e676ef5cdd68ba96e4f0e8ca2bbd9bb">CURVE_Cof_I_NIST384</a></div><div class="ttdeci">const int CURVE_Cof_I_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_a35d83a6269a140f5c652c2c1ca63caa3"><div class="ttname"><a href="ecp__NIST384_8h.html#a35d83a6269a140f5c652c2c1ca63caa3">ECP_NIST384_inf</a></div><div class="ttdeci">void ECP_NIST384_inf(ECP_NIST384 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:146</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_a35d83a6269a140f5c652c2c1ca63caa3"><div class="ttname"><a href="ecp__NIST384_8h.html#a35d83a6269a140f5c652c2c1ca63caa3">ECP_NIST384_inf</a></div><div class="ttdeci">void ECP_NIST384_inf(ECP_NIST384 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:146</div></div>
 <div class="ttc" id="ecp__NIST384_8h_html_ab72db483ceec5cbc5bcf50fa4e9d6947"><div class="ttname"><a href="ecp__NIST384_8h.html#ab72db483ceec5cbc5bcf50fa4e9d6947">CURVE_Pyb_NIST384</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyb_NIST384</div></div>
-<div class="ttc" id="ecp__NIST384_8h_html_ae5cb2dd12fe835e0f3733df9e4aea0dc"><div class="ttname"><a href="ecp__NIST384_8h.html#ae5cb2dd12fe835e0f3733df9e4aea0dc">ECP_NIST384_rawoutput</a></div><div class="ttdeci">void ECP_NIST384_rawoutput(ECP_NIST384 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:478</div></div>
+<div class="ttc" id="ecp__NIST384_8h_html_ae5cb2dd12fe835e0f3733df9e4aea0dc"><div class="ttname"><a href="ecp__NIST384_8h.html#ae5cb2dd12fe835e0f3733df9e4aea0dc">ECP_NIST384_rawoutput</a></div><div class="ttdeci">void ECP_NIST384_rawoutput(ECP_NIST384 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NIST384.c:478</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/ecp__NIST521_8h.html b/website/static/cdocs/ecp__NIST521_8h.html
index dbfbfb6..bd9e02f 100644
--- a/website/static/cdocs/ecp__NIST521_8h.html
+++ b/website/static/cdocs/ecp__NIST521_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: ecp_NIST521.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"
@@ -1705,7 +1708,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/ecp__NIST521_8h_source.html b/website/static/cdocs/ecp__NIST521_8h_source.html
index bceb00d..bebbd5a 100644
--- a/website/static/cdocs/ecp__NIST521_8h_source.html
+++ b/website/static/cdocs/ecp__NIST521_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: ecp_NIST521.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,68 +72,68 @@
 <div class="title">ecp_NIST521.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NIST521_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 ECP_NIST521_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NIST521_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 &quot;<a class="code" href="fp__NIST521_8h.html">fp_NIST521.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NIST521.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a70296fce28bcca2cb47169e2c465ffdc">CURVE_A_NIST521</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a3455849cbef2b398de23bcbbfafebcbc">CURVE_Cof_I_NIST521</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a190135d37952cb51709acb086c6c773f">CURVE_B_I_NIST521</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a7737af2dfc4e335be8632499573e439e">CURVE_B_NIST521</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a266d83aba788672faceaee48860bdb07">CURVE_Order_NIST521</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a8e2d5ef9f917d5d708e7ee9b60dc7b0b">CURVE_Cof_NIST521</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ad6ec5b8f37ff294347df4fc0e9d9fa3c">CURVE_Gx_NIST521</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a5b8d8451130c87252f06318a2c696e44">CURVE_Gy_NIST521</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#acc08675a008b6330c214f9177f32a458">CURVE_Pxa_NIST521</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#acdfd1ab101fdfa010be9bf2f71a81219">CURVE_Pxb_NIST521</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ab8a449bee36b89e361cece9f9c74031c">CURVE_Pya_NIST521</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a85fd0962ac108541abc86c7513b713b5">CURVE_Pyb_NIST521</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a7e5b102d136a0db53bd977e5be7f54a8">CURVE_Pxaa_NIST521</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aaf021e7b86d9d3e177435b08499cea84">CURVE_Pxab_NIST521</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#abe3906fd45ea58bc4e61b1b16ccabbba">CURVE_Pxba_NIST521</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a67a59fba69c1780e3150b58c0451cb27">CURVE_Pxbb_NIST521</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a62965f01dcb949fc8919bcdd9f6a51ba">CURVE_Pyaa_NIST521</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa64fe081778b070b92cfeb7238157614">CURVE_Pyab_NIST521</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ab47f2add388f86b1d675ec5dd8a947a4">CURVE_Pyba_NIST521</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ae01bc71dcaa43f73c9a3a6747ddffe19">CURVE_Pybb_NIST521</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a191c37f335f96674af1847ac099c9958">CURVE_Pxaaa_NIST521</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a98b886c1e5e50f5e44e29e61680db15d">CURVE_Pxaab_NIST521</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a1471ad6e4ec12cf86740e30bf70fae86">CURVE_Pxaba_NIST521</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a1810453d571259181f7dff0a1e30c421">CURVE_Pxabb_NIST521</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa202ea23b0e1d792e28f6d91d8bc13e4">CURVE_Pxbaa_NIST521</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#afd63b4ca48434abde07d3296a1fc1534">CURVE_Pxbab_NIST521</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a82493f510e0890ce8f0ad98f95a41b0b">CURVE_Pxbba_NIST521</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa207d9c764a17dfff99dfe3c04482c0a">CURVE_Pxbbb_NIST521</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a9cc133a5b594f1a4c39510244345567c">CURVE_Pyaaa_NIST521</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#afc36e4404d02ba57b6daf090d123f1d7">CURVE_Pyaab_NIST521</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aca9c089a09ebd87e8b1ec1515152afc4">CURVE_Pyaba_NIST521</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a4a005fb18fdabe287e04254e21bef777">CURVE_Pyabb_NIST521</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ab447ae23e6762ad8a9916a397f324f2a">CURVE_Pybaa_NIST521</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a840416416689d57a1635c718bae3c556">CURVE_Pybab_NIST521</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa6e0dbefaebd26fc9a6fa70c011cbfeb">CURVE_Pybba_NIST521</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a281ce39a87c4b1a3b12bb90d77a60794">CURVE_Pybbb_NIST521</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a6798c13c6493f32d3c99c5f85ca17c69">CURVE_Bnx_NIST521</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a4cf604b7cc0c3b478bbc32fd290799e4">CURVE_Cru_NIST521</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a782b123d8a081eef51ad97b0a219e5d7">Fra_NIST521</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a3dfe20dafe10798eeb90a3066258f1b5">Frb_NIST521</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a6464a9a953006ba81b77fc85346b8762">CURVE_W_NIST521</a>[2];      </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a372927748028a03d1ceab87e53a5aa8f">CURVE_SB_NIST521</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a8ffd26e5de11d5924c5f8c0279fda01b">CURVE_WB_NIST521</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a77ac849560dc782431c99dffc2a591da">CURVE_BB_NIST521</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NIST521.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NIST521.html#a08d5b74d9052a2881561e5a1aa2ce2c2">  109</a></span>&#160;    <a class="code" href="structFP__NIST521.html">FP_NIST521</a> <a class="code" href="structECP__NIST521.html#a08d5b74d9052a2881561e5a1aa2ce2c2">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST521!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NIST521.html#aa92a4fe2a315a3cd2444736665d267b0">  111</a></span>&#160;    <a class="code" href="structFP__NIST521.html">FP_NIST521</a> <a class="code" href="structECP__NIST521.html#aa92a4fe2a315a3cd2444736665d267b0">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NIST521.html#a74fb68b4dca4eb9d7758a127aa3dee15">  113</a></span>&#160;    <a class="code" href="structFP__NIST521.html">FP_NIST521</a> <a class="code" href="structECP__NIST521.html#a74fb68b4dca4eb9d7758a127aa3dee15">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NIST521.html">ECP_NIST521</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a5de1671cb693053cdfcedc9ff3486313">ECP_NIST521_isinf</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#ac6f76c3d57d09c5e9993277e70497450">ECP_NIST521_equals</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#ac781ef005ae6d48e9cb001fbf268aebc">ECP_NIST521_copy</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</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="ecp__NIST521_8h.html#a448dbf236e16581ab15e9cca4bd8d889">ECP_NIST521_neg</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</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="ecp__NIST521_8h.html#ad6ca58b618a5f0c4651051cd37117cac">ECP_NIST521_inf</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#ab6b3b4ae80a7d1bd3a3864522e3ec0b4">ECP_NIST521_rhs</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *r,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST521==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a6a77cf08bdf06c31e0ecab79b1f3d58c">ECP_NIST521_set</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a7c961624e39c752c6852de7d0061995e">ECP_NIST521_get</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a09c0d3171ecc4a7da7cea7dac74252f6">ECP_NIST521_add</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a6a77cf08bdf06c31e0ecab79b1f3d58c">ECP_NIST521_set</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a7c961624e39c752c6852de7d0061995e">ECP_NIST521_get</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a09c0d3171ecc4a7da7cea7dac74252f6">ECP_NIST521_add</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</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="ecp__NIST521_8h.html#a7a39334df1313d6919080072b3f9ef2a">ECP_NIST521_sub</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a332476cc89a28e6a13a8e2ae99fbdc21">ECP_NIST521_setx</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#af17e08fa0b407f44228c27ccc942a0b6">ECP_NIST521_cfp</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#acbdfe018aba772e0d4027019cf04b8b8">ECP_NIST521_mapit</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a12bd90818e6797bb1b701b44afc35b25">ECP_NIST521_affine</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a75b7ffc46973017d63fda173242ef2af">ECP_NIST521_outputxyz</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</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="ecp__NIST521_8h.html#a9d4396a5341a30902194b91e7007e633">ECP_NIST521_output</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#abef6cf72032e354d9e803a7698bbd5ce">ECP_NIST521_rawoutput</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#abbf1059840568641493c332f30157ed9">ECP_NIST521_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a725449a33b842fb752263569999beea7">ECP_NIST521_fromOctet</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a812fda3ae5f5176ce1e337e5a3938291">ECP_NIST521_dbl</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a78c5548c1dcc6726206112eede3787cc">ECP_NIST521_pinmul</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a54421726d0410e650bc284f8bb5229a2">ECP_NIST521_mul</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a91fb719b37c44007c7aaa09d9053f211">ECP_NIST521_mul2</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> e,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#aa70cbf67002f775f56d4fc055de9054c">ECP_NIST521_generator</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NIST521_8h_html_acbdfe018aba772e0d4027019cf04b8b8"><div class="ttname"><a href="ecp__NIST521_8h.html#acbdfe018aba772e0d4027019cf04b8b8">ECP_NIST521_mapit</a></div><div class="ttdeci">void ECP_NIST521_mapit(ECP_NIST521 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:365</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a75b7ffc46973017d63fda173242ef2af"><div class="ttname"><a href="ecp__NIST521_8h.html#a75b7ffc46973017d63fda173242ef2af">ECP_NIST521_outputxyz</a></div><div class="ttdeci">void ECP_NIST521_outputxyz(ECP_NIST521 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:414</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a9d4396a5341a30902194b91e7007e633"><div class="ttname"><a href="ecp__NIST521_8h.html#a9d4396a5341a30902194b91e7007e633">ECP_NIST521_output</a></div><div class="ttdeci">void ECP_NIST521_output(ECP_NIST521 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:450</div></div>
+<a href="ecp__NIST521_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 ECP_NIST521_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NIST521_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 &quot;<a class="code" href="fp__NIST521_8h.html">fp_NIST521.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NIST521.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a70296fce28bcca2cb47169e2c465ffdc">CURVE_A_NIST521</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a3455849cbef2b398de23bcbbfafebcbc">CURVE_Cof_I_NIST521</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a190135d37952cb51709acb086c6c773f">CURVE_B_I_NIST521</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a7737af2dfc4e335be8632499573e439e">CURVE_B_NIST521</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a266d83aba788672faceaee48860bdb07">CURVE_Order_NIST521</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a8e2d5ef9f917d5d708e7ee9b60dc7b0b">CURVE_Cof_NIST521</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ad6ec5b8f37ff294347df4fc0e9d9fa3c">CURVE_Gx_NIST521</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a5b8d8451130c87252f06318a2c696e44">CURVE_Gy_NIST521</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#acc08675a008b6330c214f9177f32a458">CURVE_Pxa_NIST521</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#acdfd1ab101fdfa010be9bf2f71a81219">CURVE_Pxb_NIST521</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ab8a449bee36b89e361cece9f9c74031c">CURVE_Pya_NIST521</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a85fd0962ac108541abc86c7513b713b5">CURVE_Pyb_NIST521</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a7e5b102d136a0db53bd977e5be7f54a8">CURVE_Pxaa_NIST521</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aaf021e7b86d9d3e177435b08499cea84">CURVE_Pxab_NIST521</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#abe3906fd45ea58bc4e61b1b16ccabbba">CURVE_Pxba_NIST521</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a67a59fba69c1780e3150b58c0451cb27">CURVE_Pxbb_NIST521</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a62965f01dcb949fc8919bcdd9f6a51ba">CURVE_Pyaa_NIST521</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa64fe081778b070b92cfeb7238157614">CURVE_Pyab_NIST521</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ab47f2add388f86b1d675ec5dd8a947a4">CURVE_Pyba_NIST521</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ae01bc71dcaa43f73c9a3a6747ddffe19">CURVE_Pybb_NIST521</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a191c37f335f96674af1847ac099c9958">CURVE_Pxaaa_NIST521</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a98b886c1e5e50f5e44e29e61680db15d">CURVE_Pxaab_NIST521</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a1471ad6e4ec12cf86740e30bf70fae86">CURVE_Pxaba_NIST521</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a1810453d571259181f7dff0a1e30c421">CURVE_Pxabb_NIST521</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa202ea23b0e1d792e28f6d91d8bc13e4">CURVE_Pxbaa_NIST521</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#afd63b4ca48434abde07d3296a1fc1534">CURVE_Pxbab_NIST521</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a82493f510e0890ce8f0ad98f95a41b0b">CURVE_Pxbba_NIST521</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa207d9c764a17dfff99dfe3c04482c0a">CURVE_Pxbbb_NIST521</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a9cc133a5b594f1a4c39510244345567c">CURVE_Pyaaa_NIST521</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#afc36e4404d02ba57b6daf090d123f1d7">CURVE_Pyaab_NIST521</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aca9c089a09ebd87e8b1ec1515152afc4">CURVE_Pyaba_NIST521</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a4a005fb18fdabe287e04254e21bef777">CURVE_Pyabb_NIST521</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#ab447ae23e6762ad8a9916a397f324f2a">CURVE_Pybaa_NIST521</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a840416416689d57a1635c718bae3c556">CURVE_Pybab_NIST521</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#aa6e0dbefaebd26fc9a6fa70c011cbfeb">CURVE_Pybba_NIST521</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a281ce39a87c4b1a3b12bb90d77a60794">CURVE_Pybbb_NIST521</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a6798c13c6493f32d3c99c5f85ca17c69">CURVE_Bnx_NIST521</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a4cf604b7cc0c3b478bbc32fd290799e4">CURVE_Cru_NIST521</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a782b123d8a081eef51ad97b0a219e5d7">Fra_NIST521</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a3dfe20dafe10798eeb90a3066258f1b5">Frb_NIST521</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a6464a9a953006ba81b77fc85346b8762">CURVE_W_NIST521</a>[2];  </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a372927748028a03d1ceab87e53a5aa8f">CURVE_SB_NIST521</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a8ffd26e5de11d5924c5f8c0279fda01b">CURVE_WB_NIST521</a>[4];     </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="ecp__NIST521_8h.html#a77ac849560dc782431c99dffc2a591da">CURVE_BB_NIST521</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NIST521.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NIST521.html#a08d5b74d9052a2881561e5a1aa2ce2c2">  109</a></span>&#160;    <a class="code" href="structFP__NIST521.html">FP_NIST521</a> <a class="code" href="structECP__NIST521.html#a08d5b74d9052a2881561e5a1aa2ce2c2">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST521!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NIST521.html#aa92a4fe2a315a3cd2444736665d267b0">  111</a></span>&#160;    <a class="code" href="structFP__NIST521.html">FP_NIST521</a> <a class="code" href="structECP__NIST521.html#aa92a4fe2a315a3cd2444736665d267b0">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NIST521.html#a74fb68b4dca4eb9d7758a127aa3dee15">  113</a></span>&#160;    <a class="code" href="structFP__NIST521.html">FP_NIST521</a> <a class="code" href="structECP__NIST521.html#a74fb68b4dca4eb9d7758a127aa3dee15">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NIST521.html">ECP_NIST521</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a5de1671cb693053cdfcedc9ff3486313">ECP_NIST521_isinf</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#ac6f76c3d57d09c5e9993277e70497450">ECP_NIST521_equals</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#ac781ef005ae6d48e9cb001fbf268aebc">ECP_NIST521_copy</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</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="ecp__NIST521_8h.html#a448dbf236e16581ab15e9cca4bd8d889">ECP_NIST521_neg</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</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="ecp__NIST521_8h.html#ad6ca58b618a5f0c4651051cd37117cac">ECP_NIST521_inf</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#ab6b3b4ae80a7d1bd3a3864522e3ec0b4">ECP_NIST521_rhs</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *r,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NIST521==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a6a77cf08bdf06c31e0ecab79b1f3d58c">ECP_NIST521_set</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a7c961624e39c752c6852de7d0061995e">ECP_NIST521_get</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a09c0d3171ecc4a7da7cea7dac74252f6">ECP_NIST521_add</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a6a77cf08bdf06c31e0ecab79b1f3d58c">ECP_NIST521_set</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a7c961624e39c752c6852de7d0061995e">ECP_NIST521_get</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> y,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a09c0d3171ecc4a7da7cea7dac74252f6">ECP_NIST521_add</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</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="ecp__NIST521_8h.html#a7a39334df1313d6919080072b3f9ef2a">ECP_NIST521_sub</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a332476cc89a28e6a13a8e2ae99fbdc21">ECP_NIST521_setx</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#af17e08fa0b407f44228c27ccc942a0b6">ECP_NIST521_cfp</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#acbdfe018aba772e0d4027019cf04b8b8">ECP_NIST521_mapit</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a12bd90818e6797bb1b701b44afc35b25">ECP_NIST521_affine</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a75b7ffc46973017d63fda173242ef2af">ECP_NIST521_outputxyz</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</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="ecp__NIST521_8h.html#a9d4396a5341a30902194b91e7007e633">ECP_NIST521_output</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#abef6cf72032e354d9e803a7698bbd5ce">ECP_NIST521_rawoutput</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#abbf1059840568641493c332f30157ed9">ECP_NIST521_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NIST521_8h.html#a725449a33b842fb752263569999beea7">ECP_NIST521_fromOctet</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a812fda3ae5f5176ce1e337e5a3938291">ECP_NIST521_dbl</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a78c5548c1dcc6726206112eede3787cc">ECP_NIST521_pinmul</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a54421726d0410e650bc284f8bb5229a2">ECP_NIST521_mul</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#a91fb719b37c44007c7aaa09d9053f211">ECP_NIST521_mul2</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *P,<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *Q,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> e,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NIST521_8h.html#aa70cbf67002f775f56d4fc055de9054c">ECP_NIST521_generator</a>(<a class="code" href="structECP__NIST521.html">ECP_NIST521</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NIST521_8h_html_acbdfe018aba772e0d4027019cf04b8b8"><div class="ttname"><a href="ecp__NIST521_8h.html#acbdfe018aba772e0d4027019cf04b8b8">ECP_NIST521_mapit</a></div><div class="ttdeci">void ECP_NIST521_mapit(ECP_NIST521 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:365</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a75b7ffc46973017d63fda173242ef2af"><div class="ttname"><a href="ecp__NIST521_8h.html#a75b7ffc46973017d63fda173242ef2af">ECP_NIST521_outputxyz</a></div><div class="ttdeci">void ECP_NIST521_outputxyz(ECP_NIST521 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:414</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a9d4396a5341a30902194b91e7007e633"><div class="ttname"><a href="ecp__NIST521_8h.html#a9d4396a5341a30902194b91e7007e633">ECP_NIST521_output</a></div><div class="ttdeci">void ECP_NIST521_output(ECP_NIST521 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:450</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_aa64fe081778b070b92cfeb7238157614"><div class="ttname"><a href="ecp__NIST521_8h.html#aa64fe081778b070b92cfeb7238157614">CURVE_Pyab_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pyab_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a8ffd26e5de11d5924c5f8c0279fda01b"><div class="ttname"><a href="ecp__NIST521_8h.html#a8ffd26e5de11d5924c5f8c0279fda01b">CURVE_WB_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_WB_NIST521[4]</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a67a59fba69c1780e3150b58c0451cb27"><div class="ttname"><a href="ecp__NIST521_8h.html#a67a59fba69c1780e3150b58c0451cb27">CURVE_Pxbb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxbb_NIST521</div></div>
-<div class="ttc" id="structFP__NIST521_html"><div class="ttname"><a href="structFP__NIST521.html">FP_NIST521</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.h:38</div></div>
+<div class="ttc" id="structFP__NIST521_html"><div class="ttname"><a href="structFP__NIST521.html">FP_NIST521</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.h:38</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_aa207d9c764a17dfff99dfe3c04482c0a"><div class="ttname"><a href="ecp__NIST521_8h.html#aa207d9c764a17dfff99dfe3c04482c0a">CURVE_Pxbbb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxbbb_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a77ac849560dc782431c99dffc2a591da"><div class="ttname"><a href="ecp__NIST521_8h.html#a77ac849560dc782431c99dffc2a591da">CURVE_BB_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_BB_NIST521[4][4]</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a7737af2dfc4e335be8632499573e439e"><div class="ttname"><a href="ecp__NIST521_8h.html#a7737af2dfc4e335be8632499573e439e">CURVE_B_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_B_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a62965f01dcb949fc8919bcdd9f6a51ba"><div class="ttname"><a href="ecp__NIST521_8h.html#a62965f01dcb949fc8919bcdd9f6a51ba">CURVE_Pyaa_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pyaa_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a5b8d8451130c87252f06318a2c696e44"><div class="ttname"><a href="ecp__NIST521_8h.html#a5b8d8451130c87252f06318a2c696e44">CURVE_Gy_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Gy_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_aaf021e7b86d9d3e177435b08499cea84"><div class="ttname"><a href="ecp__NIST521_8h.html#aaf021e7b86d9d3e177435b08499cea84">CURVE_Pxab_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxab_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a448dbf236e16581ab15e9cca4bd8d889"><div class="ttname"><a href="ecp__NIST521_8h.html#a448dbf236e16581ab15e9cca4bd8d889">ECP_NIST521_neg</a></div><div class="ttdeci">void ECP_NIST521_neg(ECP_NIST521 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a7c961624e39c752c6852de7d0061995e"><div class="ttname"><a href="ecp__NIST521_8h.html#a7c961624e39c752c6852de7d0061995e">ECP_NIST521_get</a></div><div class="ttdeci">int ECP_NIST521_get(BIG_528_60 x, BIG_528_60 y, ECP_NIST521 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a448dbf236e16581ab15e9cca4bd8d889"><div class="ttname"><a href="ecp__NIST521_8h.html#a448dbf236e16581ab15e9cca4bd8d889">ECP_NIST521_neg</a></div><div class="ttdeci">void ECP_NIST521_neg(ECP_NIST521 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a7c961624e39c752c6852de7d0061995e"><div class="ttname"><a href="ecp__NIST521_8h.html#a7c961624e39c752c6852de7d0061995e">ECP_NIST521_get</a></div><div class="ttdeci">int ECP_NIST521_get(BIG_528_60 x, BIG_528_60 y, ECP_NIST521 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a4cf604b7cc0c3b478bbc32fd290799e4"><div class="ttname"><a href="ecp__NIST521_8h.html#a4cf604b7cc0c3b478bbc32fd290799e4">CURVE_Cru_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Cru_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a09c0d3171ecc4a7da7cea7dac74252f6"><div class="ttname"><a href="ecp__NIST521_8h.html#a09c0d3171ecc4a7da7cea7dac74252f6">ECP_NIST521_add</a></div><div class="ttdeci">void ECP_NIST521_add(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a09c0d3171ecc4a7da7cea7dac74252f6"><div class="ttname"><a href="ecp__NIST521_8h.html#a09c0d3171ecc4a7da7cea7dac74252f6">ECP_NIST521_add</a></div><div class="ttdeci">void ECP_NIST521_add(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a4a005fb18fdabe287e04254e21bef777"><div class="ttname"><a href="ecp__NIST521_8h.html#a4a005fb18fdabe287e04254e21bef777">CURVE_Pyabb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pyabb_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_afc36e4404d02ba57b6daf090d123f1d7"><div class="ttname"><a href="ecp__NIST521_8h.html#afc36e4404d02ba57b6daf090d123f1d7">CURVE_Pyaab_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pyaab_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a281ce39a87c4b1a3b12bb90d77a60794"><div class="ttname"><a href="ecp__NIST521_8h.html#a281ce39a87c4b1a3b12bb90d77a60794">CURVE_Pybbb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pybbb_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_ac781ef005ae6d48e9cb001fbf268aebc"><div class="ttname"><a href="ecp__NIST521_8h.html#ac781ef005ae6d48e9cb001fbf268aebc">ECP_NIST521_copy</a></div><div class="ttdeci">void ECP_NIST521_copy(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:120</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_ac781ef005ae6d48e9cb001fbf268aebc"><div class="ttname"><a href="ecp__NIST521_8h.html#ac781ef005ae6d48e9cb001fbf268aebc">ECP_NIST521_copy</a></div><div class="ttdeci">void ECP_NIST521_copy(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:120</div></div>
 <div class="ttc" id="structECP__NIST521_html_a08d5b74d9052a2881561e5a1aa2ce2c2"><div class="ttname"><a href="structECP__NIST521.html#a08d5b74d9052a2881561e5a1aa2ce2c2">ECP_NIST521::x</a></div><div class="ttdeci">FP_NIST521 x</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.h:109</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a812fda3ae5f5176ce1e337e5a3938291"><div class="ttname"><a href="ecp__NIST521_8h.html#a812fda3ae5f5176ce1e337e5a3938291">ECP_NIST521_dbl</a></div><div class="ttdeci">void ECP_NIST521_dbl(ECP_NIST521 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:564</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a332476cc89a28e6a13a8e2ae99fbdc21"><div class="ttname"><a href="ecp__NIST521_8h.html#a332476cc89a28e6a13a8e2ae99fbdc21">ECP_NIST521_setx</a></div><div class="ttdeci">int ECP_NIST521_setx(ECP_NIST521 *P, BIG_528_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a812fda3ae5f5176ce1e337e5a3938291"><div class="ttname"><a href="ecp__NIST521_8h.html#a812fda3ae5f5176ce1e337e5a3938291">ECP_NIST521_dbl</a></div><div class="ttdeci">void ECP_NIST521_dbl(ECP_NIST521 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:564</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a332476cc89a28e6a13a8e2ae99fbdc21"><div class="ttname"><a href="ecp__NIST521_8h.html#a332476cc89a28e6a13a8e2ae99fbdc21">ECP_NIST521_setx</a></div><div class="ttdeci">int ECP_NIST521_setx(ECP_NIST521 *P, BIG_528_60 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_aa202ea23b0e1d792e28f6d91d8bc13e4"><div class="ttname"><a href="ecp__NIST521_8h.html#aa202ea23b0e1d792e28f6d91d8bc13e4">CURVE_Pxbaa_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxbaa_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a98b886c1e5e50f5e44e29e61680db15d"><div class="ttname"><a href="ecp__NIST521_8h.html#a98b886c1e5e50f5e44e29e61680db15d">CURVE_Pxaab_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxaab_NIST521</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="ecp__NIST521_8h_html_a7a39334df1313d6919080072b3f9ef2a"><div class="ttname"><a href="ecp__NIST521_8h.html#a7a39334df1313d6919080072b3f9ef2a">ECP_NIST521_sub</a></div><div class="ttdeci">void ECP_NIST521_sub(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</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="ecp__NIST521_8h_html_a7a39334df1313d6919080072b3f9ef2a"><div class="ttname"><a href="ecp__NIST521_8h.html#a7a39334df1313d6919080072b3f9ef2a">ECP_NIST521_sub</a></div><div class="ttdeci">void ECP_NIST521_sub(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a191c37f335f96674af1847ac099c9958"><div class="ttname"><a href="ecp__NIST521_8h.html#a191c37f335f96674af1847ac099c9958">CURVE_Pxaaa_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxaaa_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a3dfe20dafe10798eeb90a3066258f1b5"><div class="ttname"><a href="ecp__NIST521_8h.html#a3dfe20dafe10798eeb90a3066258f1b5">Frb_NIST521</a></div><div class="ttdeci">const BIG_528_60 Frb_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a5de1671cb693053cdfcedc9ff3486313"><div class="ttname"><a href="ecp__NIST521_8h.html#a5de1671cb693053cdfcedc9ff3486313">ECP_NIST521_isinf</a></div><div class="ttdeci">int ECP_NIST521_isinf(ECP_NIST521 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:28</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a91fb719b37c44007c7aaa09d9053f211"><div class="ttname"><a href="ecp__NIST521_8h.html#a91fb719b37c44007c7aaa09d9053f211">ECP_NIST521_mul2</a></div><div class="ttdeci">void ECP_NIST521_mul2(ECP_NIST521 *P, ECP_NIST521 *Q, BIG_528_60 e, BIG_528_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a5de1671cb693053cdfcedc9ff3486313"><div class="ttname"><a href="ecp__NIST521_8h.html#a5de1671cb693053cdfcedc9ff3486313">ECP_NIST521_isinf</a></div><div class="ttdeci">int ECP_NIST521_isinf(ECP_NIST521 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:28</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a91fb719b37c44007c7aaa09d9053f211"><div class="ttname"><a href="ecp__NIST521_8h.html#a91fb719b37c44007c7aaa09d9053f211">ECP_NIST521_mul2</a></div><div class="ttdeci">void ECP_NIST521_mul2(ECP_NIST521 *P, ECP_NIST521 *Q, BIG_528_60 e, BIG_528_60 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_ab447ae23e6762ad8a9916a397f324f2a"><div class="ttname"><a href="ecp__NIST521_8h.html#ab447ae23e6762ad8a9916a397f324f2a">CURVE_Pybaa_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pybaa_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_ab6b3b4ae80a7d1bd3a3864522e3ec0b4"><div class="ttname"><a href="ecp__NIST521_8h.html#ab6b3b4ae80a7d1bd3a3864522e3ec0b4">ECP_NIST521_rhs</a></div><div class="ttdeci">void ECP_NIST521_rhs(FP_NIST521 *r, FP_NIST521 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:161</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_ab6b3b4ae80a7d1bd3a3864522e3ec0b4"><div class="ttname"><a href="ecp__NIST521_8h.html#ab6b3b4ae80a7d1bd3a3864522e3ec0b4">ECP_NIST521_rhs</a></div><div class="ttdeci">void ECP_NIST521_rhs(FP_NIST521 *r, FP_NIST521 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:161</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_ad6ec5b8f37ff294347df4fc0e9d9fa3c"><div class="ttname"><a href="ecp__NIST521_8h.html#ad6ec5b8f37ff294347df4fc0e9d9fa3c">CURVE_Gx_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Gx_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a725449a33b842fb752263569999beea7"><div class="ttname"><a href="ecp__NIST521_8h.html#a725449a33b842fb752263569999beea7">ECP_NIST521_fromOctet</a></div><div class="ttdeci">int ECP_NIST521_fromOctet(ECP_NIST521 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:537</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a78c5548c1dcc6726206112eede3787cc"><div class="ttname"><a href="ecp__NIST521_8h.html#a78c5548c1dcc6726206112eede3787cc">ECP_NIST521_pinmul</a></div><div class="ttdeci">void ECP_NIST521_pinmul(ECP_NIST521 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a725449a33b842fb752263569999beea7"><div class="ttname"><a href="ecp__NIST521_8h.html#a725449a33b842fb752263569999beea7">ECP_NIST521_fromOctet</a></div><div class="ttdeci">int ECP_NIST521_fromOctet(ECP_NIST521 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:537</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a78c5548c1dcc6726206112eede3787cc"><div class="ttname"><a href="ecp__NIST521_8h.html#a78c5548c1dcc6726206112eede3787cc">ECP_NIST521_pinmul</a></div><div class="ttdeci">void ECP_NIST521_pinmul(ECP_NIST521 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a372927748028a03d1ceab87e53a5aa8f"><div class="ttname"><a href="ecp__NIST521_8h.html#a372927748028a03d1ceab87e53a5aa8f">CURVE_SB_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_SB_NIST521[2][2]</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_abef6cf72032e354d9e803a7698bbd5ce"><div class="ttname"><a href="ecp__NIST521_8h.html#abef6cf72032e354d9e803a7698bbd5ce">ECP_NIST521_rawoutput</a></div><div class="ttdeci">void ECP_NIST521_rawoutput(ECP_NIST521 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:478</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_abef6cf72032e354d9e803a7698bbd5ce"><div class="ttname"><a href="ecp__NIST521_8h.html#abef6cf72032e354d9e803a7698bbd5ce">ECP_NIST521_rawoutput</a></div><div class="ttdeci">void ECP_NIST521_rawoutput(ECP_NIST521 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:478</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_acdfd1ab101fdfa010be9bf2f71a81219"><div class="ttname"><a href="ecp__NIST521_8h.html#acdfd1ab101fdfa010be9bf2f71a81219">CURVE_Pxb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxb_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a85fd0962ac108541abc86c7513b713b5"><div class="ttname"><a href="ecp__NIST521_8h.html#a85fd0962ac108541abc86c7513b713b5">CURVE_Pyb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pyb_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_ad6ca58b618a5f0c4651051cd37117cac"><div class="ttname"><a href="ecp__NIST521_8h.html#ad6ca58b618a5f0c4651051cd37117cac">ECP_NIST521_inf</a></div><div class="ttdeci">void ECP_NIST521_inf(ECP_NIST521 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:146</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_ad6ca58b618a5f0c4651051cd37117cac"><div class="ttname"><a href="ecp__NIST521_8h.html#ad6ca58b618a5f0c4651051cd37117cac">ECP_NIST521_inf</a></div><div class="ttdeci">void ECP_NIST521_inf(ECP_NIST521 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:146</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a3455849cbef2b398de23bcbbfafebcbc"><div class="ttname"><a href="ecp__NIST521_8h.html#a3455849cbef2b398de23bcbbfafebcbc">CURVE_Cof_I_NIST521</a></div><div class="ttdeci">const int CURVE_Cof_I_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a7e5b102d136a0db53bd977e5be7f54a8"><div class="ttname"><a href="ecp__NIST521_8h.html#a7e5b102d136a0db53bd977e5be7f54a8">CURVE_Pxaa_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxaa_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a6464a9a953006ba81b77fc85346b8762"><div class="ttname"><a href="ecp__NIST521_8h.html#a6464a9a953006ba81b77fc85346b8762">CURVE_W_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_W_NIST521[2]</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_aca9c089a09ebd87e8b1ec1515152afc4"><div class="ttname"><a href="ecp__NIST521_8h.html#aca9c089a09ebd87e8b1ec1515152afc4">CURVE_Pyaba_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pyaba_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a70296fce28bcca2cb47169e2c465ffdc"><div class="ttname"><a href="ecp__NIST521_8h.html#a70296fce28bcca2cb47169e2c465ffdc">CURVE_A_NIST521</a></div><div class="ttdeci">const int CURVE_A_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_acc08675a008b6330c214f9177f32a458"><div class="ttname"><a href="ecp__NIST521_8h.html#acc08675a008b6330c214f9177f32a458">CURVE_Pxa_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxa_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_ac6f76c3d57d09c5e9993277e70497450"><div class="ttname"><a href="ecp__NIST521_8h.html#ac6f76c3d57d09c5e9993277e70497450">ECP_NIST521_equals</a></div><div class="ttdeci">int ECP_NIST521_equals(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:100</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a54421726d0410e650bc284f8bb5229a2"><div class="ttname"><a href="ecp__NIST521_8h.html#a54421726d0410e650bc284f8bb5229a2">ECP_NIST521_mul</a></div><div class="ttdeci">void ECP_NIST521_mul(ECP_NIST521 *P, BIG_528_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:1021</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_ac6f76c3d57d09c5e9993277e70497450"><div class="ttname"><a href="ecp__NIST521_8h.html#ac6f76c3d57d09c5e9993277e70497450">ECP_NIST521_equals</a></div><div class="ttdeci">int ECP_NIST521_equals(ECP_NIST521 *P, ECP_NIST521 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:100</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a54421726d0410e650bc284f8bb5229a2"><div class="ttname"><a href="ecp__NIST521_8h.html#a54421726d0410e650bc284f8bb5229a2">ECP_NIST521_mul</a></div><div class="ttdeci">void ECP_NIST521_mul(ECP_NIST521 *P, BIG_528_60 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:1021</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_afd63b4ca48434abde07d3296a1fc1534"><div class="ttname"><a href="ecp__NIST521_8h.html#afd63b4ca48434abde07d3296a1fc1534">CURVE_Pxbab_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxbab_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_aa70cbf67002f775f56d4fc055de9054c"><div class="ttname"><a href="ecp__NIST521_8h.html#aa70cbf67002f775f56d4fc055de9054c">ECP_NIST521_generator</a></div><div class="ttdeci">void ECP_NIST521_generator(ECP_NIST521 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:1221</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_aa70cbf67002f775f56d4fc055de9054c"><div class="ttname"><a href="ecp__NIST521_8h.html#aa70cbf67002f775f56d4fc055de9054c">ECP_NIST521_generator</a></div><div class="ttdeci">void ECP_NIST521_generator(ECP_NIST521 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:1221</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a1810453d571259181f7dff0a1e30c421"><div class="ttname"><a href="ecp__NIST521_8h.html#a1810453d571259181f7dff0a1e30c421">CURVE_Pxabb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxabb_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a12bd90818e6797bb1b701b44afc35b25"><div class="ttname"><a href="ecp__NIST521_8h.html#a12bd90818e6797bb1b701b44afc35b25">ECP_NIST521_affine</a></div><div class="ttdeci">void ECP_NIST521_affine(ECP_NIST521 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:392</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a12bd90818e6797bb1b701b44afc35b25"><div class="ttname"><a href="ecp__NIST521_8h.html#a12bd90818e6797bb1b701b44afc35b25">ECP_NIST521_affine</a></div><div class="ttdeci">void ECP_NIST521_affine(ECP_NIST521 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:392</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a782b123d8a081eef51ad97b0a219e5d7"><div class="ttname"><a href="ecp__NIST521_8h.html#a782b123d8a081eef51ad97b0a219e5d7">Fra_NIST521</a></div><div class="ttdeci">const BIG_528_60 Fra_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_aa6e0dbefaebd26fc9a6fa70c011cbfeb"><div class="ttname"><a href="ecp__NIST521_8h.html#aa6e0dbefaebd26fc9a6fa70c011cbfeb">CURVE_Pybba_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pybba_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_ab47f2add388f86b1d675ec5dd8a947a4"><div class="ttname"><a href="ecp__NIST521_8h.html#ab47f2add388f86b1d675ec5dd8a947a4">CURVE_Pyba_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pyba_NIST521</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_a6a77cf08bdf06c31e0ecab79b1f3d58c"><div class="ttname"><a href="ecp__NIST521_8h.html#a6a77cf08bdf06c31e0ecab79b1f3d58c">ECP_NIST521_set</a></div><div class="ttdeci">int ECP_NIST521_set(ECP_NIST521 *P, BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
-<div class="ttc" id="fp__NIST521_8h_html"><div class="ttname"><a href="fp__NIST521_8h.html">fp_NIST521.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_a6a77cf08bdf06c31e0ecab79b1f3d58c"><div class="ttname"><a href="ecp__NIST521_8h.html#a6a77cf08bdf06c31e0ecab79b1f3d58c">ECP_NIST521_set</a></div><div class="ttdeci">int ECP_NIST521_set(ECP_NIST521 *P, BIG_528_60 x, BIG_528_60 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
+<div class="ttc" id="fp__NIST521_8h_html"><div class="ttname"><a href="fp__NIST521_8h.html">fp_NIST521.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a1471ad6e4ec12cf86740e30bf70fae86"><div class="ttname"><a href="ecp__NIST521_8h.html#a1471ad6e4ec12cf86740e30bf70fae86">CURVE_Pxaba_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxaba_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a6798c13c6493f32d3c99c5f85ca17c69"><div class="ttname"><a href="ecp__NIST521_8h.html#a6798c13c6493f32d3c99c5f85ca17c69">CURVE_Bnx_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Bnx_NIST521</div></div>
-<div class="ttc" id="structECP__NIST521_html"><div class="ttname"><a href="structECP__NIST521.html">ECP_NIST521</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.h:105</div></div>
+<div class="ttc" id="structECP__NIST521_html"><div class="ttname"><a href="structECP__NIST521.html">ECP_NIST521</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.h:105</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_a266d83aba788672faceaee48860bdb07"><div class="ttname"><a href="ecp__NIST521_8h.html#a266d83aba788672faceaee48860bdb07">CURVE_Order_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Order_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_ab8a449bee36b89e361cece9f9c74031c"><div class="ttname"><a href="ecp__NIST521_8h.html#ab8a449bee36b89e361cece9f9c74031c">CURVE_Pya_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pya_NIST521</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_abbf1059840568641493c332f30157ed9"><div class="ttname"><a href="ecp__NIST521_8h.html#abbf1059840568641493c332f30157ed9">ECP_NIST521_toOctet</a></div><div class="ttdeci">void ECP_NIST521_toOctet(octet *S, ECP_NIST521 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:507</div></div>
@@ -142,7 +145,7 @@
 <div class="ttc" id="structECP__NIST521_html_aa92a4fe2a315a3cd2444736665d267b0"><div class="ttname"><a href="structECP__NIST521.html#aa92a4fe2a315a3cd2444736665d267b0">ECP_NIST521::y</a></div><div class="ttdeci">FP_NIST521 y</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.h:111</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_abe3906fd45ea58bc4e61b1b16ccabbba"><div class="ttname"><a href="ecp__NIST521_8h.html#abe3906fd45ea58bc4e61b1b16ccabbba">CURVE_Pxba_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pxba_NIST521</div></div>
 <div class="ttc" id="big__528__60_8h_html_a8354e859d13f81a1282d413ad9a00f45"><div class="ttname"><a href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a></div><div class="ttdeci">chunk BIG_528_60[NLEN_528_60]</div><div class="ttdef"><b>Definition:</b> big_528_60.h:58</div></div>
-<div class="ttc" id="ecp__NIST521_8h_html_af17e08fa0b407f44228c27ccc942a0b6"><div class="ttname"><a href="ecp__NIST521_8h.html#af17e08fa0b407f44228c27ccc942a0b6">ECP_NIST521_cfp</a></div><div class="ttdeci">void ECP_NIST521_cfp(ECP_NIST521 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:338</div></div>
+<div class="ttc" id="ecp__NIST521_8h_html_af17e08fa0b407f44228c27ccc942a0b6"><div class="ttname"><a href="ecp__NIST521_8h.html#af17e08fa0b407f44228c27ccc942a0b6">ECP_NIST521_cfp</a></div><div class="ttdeci">void ECP_NIST521_cfp(ECP_NIST521 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NIST521.c:338</div></div>
 <div class="ttc" id="ecp__NIST521_8h_html_ae01bc71dcaa43f73c9a3a6747ddffe19"><div class="ttname"><a href="ecp__NIST521_8h.html#ae01bc71dcaa43f73c9a3a6747ddffe19">CURVE_Pybb_NIST521</a></div><div class="ttdeci">const BIG_528_60 CURVE_Pybb_NIST521</div></div>
 <div class="ttc" id="structECP__NIST521_html_a74fb68b4dca4eb9d7758a127aa3dee15"><div class="ttname"><a href="structECP__NIST521.html#a74fb68b4dca4eb9d7758a127aa3dee15">ECP_NIST521::z</a></div><div class="ttdeci">FP_NIST521 z</div><div class="ttdef"><b>Definition:</b> ecp_NIST521.h:113</div></div>
 </div><!-- fragment --></div><!-- contents -->
@@ -150,7 +153,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/ecp__NUMS256E_8h.html b/website/static/cdocs/ecp__NUMS256E_8h.html
index fa9b8f0..aa23bc7 100644
--- a/website/static/cdocs/ecp__NUMS256E_8h.html
+++ b/website/static/cdocs/ecp__NUMS256E_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: ecp_NUMS256E.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"
@@ -1705,7 +1708,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/ecp__NUMS256E_8h_source.html b/website/static/cdocs/ecp__NUMS256E_8h_source.html
index 7a950fa..a0c0d15 100644
--- a/website/static/cdocs/ecp__NUMS256E_8h_source.html
+++ b/website/static/cdocs/ecp__NUMS256E_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: ecp_NUMS256E.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">ecp_NUMS256E.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NUMS256E_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 ECP_NUMS256E_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS256E_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 &quot;<a class="code" href="fp__256PME_8h.html">fp_256PME.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS256E.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#aadde3b0cd62e10c540c7558ea7a140db">CURVE_A_NUMS256E</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a98f18767ada9d71a8ad6a514ac3699bc">CURVE_Cof_I_NUMS256E</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a6af3f0e0b58d779dd5858cdcb76adffd">CURVE_B_I_NUMS256E</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a50712deca4867aa7a8fffc2a8105016a">CURVE_B_NUMS256E</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ac81ffee925d2e7eee29c94f7ad26b5b4">CURVE_Order_NUMS256E</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ae4b1d935f6587e169621552e1979a904">CURVE_Cof_NUMS256E</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#acb929444f736d5c84f90d71a967f2133">CURVE_Gx_NUMS256E</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a40eaac816780aaee5b781423e3f8e643">CURVE_Gy_NUMS256E</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a001f06b1c0ea85e56bdd5d5b58dfa156">CURVE_Pxa_NUMS256E</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#afdbb81a12c5171da3ec44dc519dad1c2">CURVE_Pxb_NUMS256E</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a2bae1a9edb5a1d4941c2bfadfe7ecca7">CURVE_Pya_NUMS256E</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a56fe77503d31de679cfeb7da64fbba92">CURVE_Pyb_NUMS256E</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a2fecf8f68f2322db0593196f5fdc3c66">CURVE_Pxaa_NUMS256E</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a39bc46d99f52ae83645771e0e4f54679">CURVE_Pxab_NUMS256E</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#abb00ffa61a2629b89f487f36187dc1fc">CURVE_Pxba_NUMS256E</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a519bc836055b9207473cf26c5f733a5a">CURVE_Pxbb_NUMS256E</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a4c0d0924aa928ce72adf6729831e916e">CURVE_Pyaa_NUMS256E</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#acad606a0f2749a8c782cc473e6917ca4">CURVE_Pyab_NUMS256E</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a1af683a05580b074d1d92ac6b9b5abad">CURVE_Pyba_NUMS256E</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a062cf15ed517fb7ef4126ae3aad3d382">CURVE_Pybb_NUMS256E</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a474ca29b36ae3b0667b973e9d17321af">CURVE_Pxaaa_NUMS256E</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a41c757f99bc7a5fb4430e413d9361556">CURVE_Pxaab_NUMS256E</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#afcebf0f3b350baa01e6daf2d55e5db44">CURVE_Pxaba_NUMS256E</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#aa69fa9b99471655137a756f3eba2a13d">CURVE_Pxabb_NUMS256E</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ad491d219226bd24c654be426f15505e6">CURVE_Pxbaa_NUMS256E</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ae11c3a5fd59bbb5ad4b5380cf79a41f2">CURVE_Pxbab_NUMS256E</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a3af7980a3d6a2f4a47ca94785f54d3c2">CURVE_Pxbba_NUMS256E</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a1838e0489d10e7239d6a5b47706821c4">CURVE_Pxbbb_NUMS256E</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#aa97e1860c2550d268253e85cee356aef">CURVE_Pyaaa_NUMS256E</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a1fc47f3bc76217587e3110d4384ff7aa">CURVE_Pyaab_NUMS256E</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a15d2863f50b6e3af15ca96b08e70f093">CURVE_Pyaba_NUMS256E</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a6c5f8f7f1bbe84e6e3ac4c9e6e928791">CURVE_Pyabb_NUMS256E</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a88b40bbe7617ed04ec8590f96a977f1f">CURVE_Pybaa_NUMS256E</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a89d56b4f55dcb582d7e3f32d61e39349">CURVE_Pybab_NUMS256E</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#aab34005afec1392c47e89401ec335d23">CURVE_Pybba_NUMS256E</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#adf05bb86e849e50be94cd2eeb8ad5255">CURVE_Pybbb_NUMS256E</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a2468289d34dacb677c06e0014e4f273d">CURVE_Bnx_NUMS256E</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a9d046e5eed7e709cd85785bfba1e42b7">CURVE_Cru_NUMS256E</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a968ba6316c6d66c70e3c4198000228d2">Fra_256PME</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a71adf4b69c26c113b3ca466e5cfccad2">Frb_256PME</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a3c4e8cbae980bb48932d9f6f47fb74bb">CURVE_W_NUMS256E</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a843e386201607f5bfe6f119bdaccee73">CURVE_SB_NUMS256E</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a767bb942ecd5589ef84f32ef365cfae9">CURVE_WB_NUMS256E</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#abd3633feb6a219a04ff484a895c138d5">CURVE_BB_NUMS256E</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html#a906a4fbefeef099646f10426ece7c09d">  109</a></span>&#160;    <a class="code" href="structFP__256PME.html">FP_256PME</a> <a class="code" href="structECP__NUMS256E.html#a906a4fbefeef099646f10426ece7c09d">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256E!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html#a56fa88e957f6c63b74df8b7c9eba0ce0">  111</a></span>&#160;    <a class="code" href="structFP__256PME.html">FP_256PME</a> <a class="code" href="structECP__NUMS256E.html#a56fa88e957f6c63b74df8b7c9eba0ce0">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html#afd91fe55332649ff0c79bc352dd58e1d">  113</a></span>&#160;    <a class="code" href="structFP__256PME.html">FP_256PME</a> <a class="code" href="structECP__NUMS256E.html#afd91fe55332649ff0c79bc352dd58e1d">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#aa960d932ef8ed8970d0dae9c9df9a4e9">ECP_NUMS256E_isinf</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#afd1a0f0dc235643da5d8ca8837802b23">ECP_NUMS256E_equals</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#aaf60ecbfccc109257d9647e402cfc8f2">ECP_NUMS256E_copy</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</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="ecp__NUMS256E_8h.html#ade8c93401008513294bb2f0bfcc4ef36">ECP_NUMS256E_neg</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</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="ecp__NUMS256E_8h.html#ad61a76d91da5bf3bbfe24b772d151f5d">ECP_NUMS256E_inf</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a7131922287c4b7fdf58baa13598a4677">ECP_NUMS256E_rhs</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *r,<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256E==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a9a5ce4e98b45ed650cfeebd606ac0b2e">ECP_NUMS256E_set</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a98c72474eef925131597746d8d4feefa">ECP_NUMS256E_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a8ba27a82b67f7781f31472a6f5b3722f">ECP_NUMS256E_add</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a9a5ce4e98b45ed650cfeebd606ac0b2e">ECP_NUMS256E_set</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a98c72474eef925131597746d8d4feefa">ECP_NUMS256E_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a8ba27a82b67f7781f31472a6f5b3722f">ECP_NUMS256E_add</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</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="ecp__NUMS256E_8h.html#a5930fb53187bbc0b2faed46d4624ac68">ECP_NUMS256E_sub</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a573573c38bddcef73f42c0d0cb7c596b">ECP_NUMS256E_setx</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a22d5ae3f90b82fe96809c507f063bc1b">ECP_NUMS256E_cfp</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a60115193c511c33c396af1d4f0f2dacd">ECP_NUMS256E_mapit</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a19677601e7c22861cad458ef3a2b430f">ECP_NUMS256E_affine</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a5c2b6a3db4970b094bcdcf358cd7658d">ECP_NUMS256E_outputxyz</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</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="ecp__NUMS256E_8h.html#a4c7bc5c9f2cba3e4441a9a66d138b919">ECP_NUMS256E_output</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#ad32dc8aacc3f58be708bc532f237b3b6">ECP_NUMS256E_rawoutput</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a877d2aeba81512bbbd259e70cb8dafe9">ECP_NUMS256E_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#ae37c5a817c2fb8cac20fe46cf878071f">ECP_NUMS256E_fromOctet</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a96ca43a8404e8614b612df052f5df4d7">ECP_NUMS256E_dbl</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#abd9458d7dcb9564ae502909e398ba610">ECP_NUMS256E_pinmul</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a4a52c598b1bd2cb1c1906a775c6abfbd">ECP_NUMS256E_mul</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#ab965f81c88a295efe11325b67919c177">ECP_NUMS256E_mul2</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a01107850ee1c231819c7afc5936fc826">ECP_NUMS256E_generator</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS256E_8h_html_aa69fa9b99471655137a756f3eba2a13d"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aa69fa9b99471655137a756f3eba2a13d">CURVE_Pxabb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_NUMS256E</div></div>
+<a href="ecp__NUMS256E_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 ECP_NUMS256E_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS256E_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 &quot;<a class="code" href="fp__256PME_8h.html">fp_256PME.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS256E.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#aadde3b0cd62e10c540c7558ea7a140db">CURVE_A_NUMS256E</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a98f18767ada9d71a8ad6a514ac3699bc">CURVE_Cof_I_NUMS256E</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a6af3f0e0b58d779dd5858cdcb76adffd">CURVE_B_I_NUMS256E</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a50712deca4867aa7a8fffc2a8105016a">CURVE_B_NUMS256E</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ac81ffee925d2e7eee29c94f7ad26b5b4">CURVE_Order_NUMS256E</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ae4b1d935f6587e169621552e1979a904">CURVE_Cof_NUMS256E</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#acb929444f736d5c84f90d71a967f2133">CURVE_Gx_NUMS256E</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a40eaac816780aaee5b781423e3f8e643">CURVE_Gy_NUMS256E</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a001f06b1c0ea85e56bdd5d5b58dfa156">CURVE_Pxa_NUMS256E</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#afdbb81a12c5171da3ec44dc519dad1c2">CURVE_Pxb_NUMS256E</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a2bae1a9edb5a1d4941c2bfadfe7ecca7">CURVE_Pya_NUMS256E</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a56fe77503d31de679cfeb7da64fbba92">CURVE_Pyb_NUMS256E</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a2fecf8f68f2322db0593196f5fdc3c66">CURVE_Pxaa_NUMS256E</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a39bc46d99f52ae83645771e0e4f54679">CURVE_Pxab_NUMS256E</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#abb00ffa61a2629b89f487f36187dc1fc">CURVE_Pxba_NUMS256E</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a519bc836055b9207473cf26c5f733a5a">CURVE_Pxbb_NUMS256E</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a4c0d0924aa928ce72adf6729831e916e">CURVE_Pyaa_NUMS256E</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#acad606a0f2749a8c782cc473e6917ca4">CURVE_Pyab_NUMS256E</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a1af683a05580b074d1d92ac6b9b5abad">CURVE_Pyba_NUMS256E</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a062cf15ed517fb7ef4126ae3aad3d382">CURVE_Pybb_NUMS256E</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a474ca29b36ae3b0667b973e9d17321af">CURVE_Pxaaa_NUMS256E</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a41c757f99bc7a5fb4430e413d9361556">CURVE_Pxaab_NUMS256E</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#afcebf0f3b350baa01e6daf2d55e5db44">CURVE_Pxaba_NUMS256E</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#aa69fa9b99471655137a756f3eba2a13d">CURVE_Pxabb_NUMS256E</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ad491d219226bd24c654be426f15505e6">CURVE_Pxbaa_NUMS256E</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#ae11c3a5fd59bbb5ad4b5380cf79a41f2">CURVE_Pxbab_NUMS256E</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a3af7980a3d6a2f4a47ca94785f54d3c2">CURVE_Pxbba_NUMS256E</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a1838e0489d10e7239d6a5b47706821c4">CURVE_Pxbbb_NUMS256E</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#aa97e1860c2550d268253e85cee356aef">CURVE_Pyaaa_NUMS256E</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a1fc47f3bc76217587e3110d4384ff7aa">CURVE_Pyaab_NUMS256E</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a15d2863f50b6e3af15ca96b08e70f093">CURVE_Pyaba_NUMS256E</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a6c5f8f7f1bbe84e6e3ac4c9e6e928791">CURVE_Pyabb_NUMS256E</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a88b40bbe7617ed04ec8590f96a977f1f">CURVE_Pybaa_NUMS256E</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a89d56b4f55dcb582d7e3f32d61e39349">CURVE_Pybab_NUMS256E</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#aab34005afec1392c47e89401ec335d23">CURVE_Pybba_NUMS256E</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#adf05bb86e849e50be94cd2eeb8ad5255">CURVE_Pybbb_NUMS256E</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a2468289d34dacb677c06e0014e4f273d">CURVE_Bnx_NUMS256E</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a9d046e5eed7e709cd85785bfba1e42b7">CURVE_Cru_NUMS256E</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a968ba6316c6d66c70e3c4198000228d2">Fra_256PME</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a71adf4b69c26c113b3ca466e5cfccad2">Frb_256PME</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a3c4e8cbae980bb48932d9f6f47fb74bb">CURVE_W_NUMS256E</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a843e386201607f5bfe6f119bdaccee73">CURVE_SB_NUMS256E</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#a767bb942ecd5589ef84f32ef365cfae9">CURVE_WB_NUMS256E</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256E_8h.html#abd3633feb6a219a04ff484a895c138d5">CURVE_BB_NUMS256E</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html#a906a4fbefeef099646f10426ece7c09d">  109</a></span>&#160;    <a class="code" href="structFP__256PME.html">FP_256PME</a> <a class="code" href="structECP__NUMS256E.html#a906a4fbefeef099646f10426ece7c09d">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256E!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html#a56fa88e957f6c63b74df8b7c9eba0ce0">  111</a></span>&#160;    <a class="code" href="structFP__256PME.html">FP_256PME</a> <a class="code" href="structECP__NUMS256E.html#a56fa88e957f6c63b74df8b7c9eba0ce0">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS256E.html#afd91fe55332649ff0c79bc352dd58e1d">  113</a></span>&#160;    <a class="code" href="structFP__256PME.html">FP_256PME</a> <a class="code" href="structECP__NUMS256E.html#afd91fe55332649ff0c79bc352dd58e1d">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#aa960d932ef8ed8970d0dae9c9df9a4e9">ECP_NUMS256E_isinf</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#afd1a0f0dc235643da5d8ca8837802b23">ECP_NUMS256E_equals</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#aaf60ecbfccc109257d9647e402cfc8f2">ECP_NUMS256E_copy</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</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="ecp__NUMS256E_8h.html#ade8c93401008513294bb2f0bfcc4ef36">ECP_NUMS256E_neg</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</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="ecp__NUMS256E_8h.html#ad61a76d91da5bf3bbfe24b772d151f5d">ECP_NUMS256E_inf</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a7131922287c4b7fdf58baa13598a4677">ECP_NUMS256E_rhs</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *r,<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256E==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a9a5ce4e98b45ed650cfeebd606ac0b2e">ECP_NUMS256E_set</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a98c72474eef925131597746d8d4feefa">ECP_NUMS256E_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a8ba27a82b67f7781f31472a6f5b3722f">ECP_NUMS256E_add</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a9a5ce4e98b45ed650cfeebd606ac0b2e">ECP_NUMS256E_set</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a98c72474eef925131597746d8d4feefa">ECP_NUMS256E_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a8ba27a82b67f7781f31472a6f5b3722f">ECP_NUMS256E_add</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</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="ecp__NUMS256E_8h.html#a5930fb53187bbc0b2faed46d4624ac68">ECP_NUMS256E_sub</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#a573573c38bddcef73f42c0d0cb7c596b">ECP_NUMS256E_setx</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a22d5ae3f90b82fe96809c507f063bc1b">ECP_NUMS256E_cfp</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a60115193c511c33c396af1d4f0f2dacd">ECP_NUMS256E_mapit</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a19677601e7c22861cad458ef3a2b430f">ECP_NUMS256E_affine</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a5c2b6a3db4970b094bcdcf358cd7658d">ECP_NUMS256E_outputxyz</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</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="ecp__NUMS256E_8h.html#a4c7bc5c9f2cba3e4441a9a66d138b919">ECP_NUMS256E_output</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#ad32dc8aacc3f58be708bc532f237b3b6">ECP_NUMS256E_rawoutput</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a877d2aeba81512bbbd259e70cb8dafe9">ECP_NUMS256E_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256E_8h.html#ae37c5a817c2fb8cac20fe46cf878071f">ECP_NUMS256E_fromOctet</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a96ca43a8404e8614b612df052f5df4d7">ECP_NUMS256E_dbl</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#abd9458d7dcb9564ae502909e398ba610">ECP_NUMS256E_pinmul</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a4a52c598b1bd2cb1c1906a775c6abfbd">ECP_NUMS256E_mul</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#ab965f81c88a295efe11325b67919c177">ECP_NUMS256E_mul2</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *P,<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256E_8h.html#a01107850ee1c231819c7afc5936fc826">ECP_NUMS256E_generator</a>(<a class="code" href="structECP__NUMS256E.html">ECP_NUMS256E</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS256E_8h_html_aa69fa9b99471655137a756f3eba2a13d"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aa69fa9b99471655137a756f3eba2a13d">CURVE_Pxabb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a767bb942ecd5589ef84f32ef365cfae9"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a767bb942ecd5589ef84f32ef365cfae9">CURVE_WB_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_NUMS256E[4]</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_aab34005afec1392c47e89401ec335d23"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aab34005afec1392c47e89401ec335d23">CURVE_Pybba_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_NUMS256E</div></div>
 <div class="ttc" id="structECP__NUMS256E_html_a906a4fbefeef099646f10426ece7c09d"><div class="ttname"><a href="structECP__NUMS256E.html#a906a4fbefeef099646f10426ece7c09d">ECP_NUMS256E::x</a></div><div class="ttdeci">FP_256PME x</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.h:109</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a50712deca4867aa7a8fffc2a8105016a"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a50712deca4867aa7a8fffc2a8105016a">CURVE_B_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a4c7bc5c9f2cba3e4441a9a66d138b919"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a4c7bc5c9f2cba3e4441a9a66d138b919">ECP_NUMS256E_output</a></div><div class="ttdeci">void ECP_NUMS256E_output(ECP_NUMS256E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:450</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_ade8c93401008513294bb2f0bfcc4ef36"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ade8c93401008513294bb2f0bfcc4ef36">ECP_NUMS256E_neg</a></div><div class="ttdeci">void ECP_NUMS256E_neg(ECP_NUMS256E *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a4c7bc5c9f2cba3e4441a9a66d138b919"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a4c7bc5c9f2cba3e4441a9a66d138b919">ECP_NUMS256E_output</a></div><div class="ttdeci">void ECP_NUMS256E_output(ECP_NUMS256E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:450</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_ade8c93401008513294bb2f0bfcc4ef36"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ade8c93401008513294bb2f0bfcc4ef36">ECP_NUMS256E_neg</a></div><div class="ttdeci">void ECP_NUMS256E_neg(ECP_NUMS256E *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_abb00ffa61a2629b89f487f36187dc1fc"><div class="ttname"><a href="ecp__NUMS256E_8h.html#abb00ffa61a2629b89f487f36187dc1fc">CURVE_Pxba_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a41c757f99bc7a5fb4430e413d9361556"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a41c757f99bc7a5fb4430e413d9361556">CURVE_Pxaab_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a001f06b1c0ea85e56bdd5d5b58dfa156"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a001f06b1c0ea85e56bdd5d5b58dfa156">CURVE_Pxa_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_NUMS256E</div></div>
@@ -83,74 +86,74 @@
 <div class="ttc" id="ecp__NUMS256E_8h_html_a56fe77503d31de679cfeb7da64fbba92"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a56fe77503d31de679cfeb7da64fbba92">CURVE_Pyb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a3af7980a3d6a2f4a47ca94785f54d3c2"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a3af7980a3d6a2f4a47ca94785f54d3c2">CURVE_Pxbba_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a2bae1a9edb5a1d4941c2bfadfe7ecca7"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a2bae1a9edb5a1d4941c2bfadfe7ecca7">CURVE_Pya_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_NUMS256E</div></div>
-<div class="ttc" id="structFP__256PME_html"><div class="ttname"><a href="structFP__256PME.html">FP_256PME</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_256PME.h:38</div></div>
+<div class="ttc" id="structFP__256PME_html"><div class="ttname"><a href="structFP__256PME.html">FP_256PME</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_256PME.h:38</div></div>
 <div class="ttc" id="structECP__NUMS256E_html_afd91fe55332649ff0c79bc352dd58e1d"><div class="ttname"><a href="structECP__NUMS256E.html#afd91fe55332649ff0c79bc352dd58e1d">ECP_NUMS256E::z</a></div><div class="ttdeci">FP_256PME z</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.h:113</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a5930fb53187bbc0b2faed46d4624ac68"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a5930fb53187bbc0b2faed46d4624ac68">ECP_NUMS256E_sub</a></div><div class="ttdeci">void ECP_NUMS256E_sub(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a5930fb53187bbc0b2faed46d4624ac68"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a5930fb53187bbc0b2faed46d4624ac68">ECP_NUMS256E_sub</a></div><div class="ttdeci">void ECP_NUMS256E_sub(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a88b40bbe7617ed04ec8590f96a977f1f"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a88b40bbe7617ed04ec8590f96a977f1f">CURVE_Pybaa_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a1838e0489d10e7239d6a5b47706821c4"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a1838e0489d10e7239d6a5b47706821c4">CURVE_Pxbbb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbbb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a98f18767ada9d71a8ad6a514ac3699bc"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a98f18767ada9d71a8ad6a514ac3699bc">CURVE_Cof_I_NUMS256E</a></div><div class="ttdeci">const int CURVE_Cof_I_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_abd9458d7dcb9564ae502909e398ba610"><div class="ttname"><a href="ecp__NUMS256E_8h.html#abd9458d7dcb9564ae502909e398ba610">ECP_NUMS256E_pinmul</a></div><div class="ttdeci">void ECP_NUMS256E_pinmul(ECP_NUMS256E *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a96ca43a8404e8614b612df052f5df4d7"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a96ca43a8404e8614b612df052f5df4d7">ECP_NUMS256E_dbl</a></div><div class="ttdeci">void ECP_NUMS256E_dbl(ECP_NUMS256E *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:564</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_abd9458d7dcb9564ae502909e398ba610"><div class="ttname"><a href="ecp__NUMS256E_8h.html#abd9458d7dcb9564ae502909e398ba610">ECP_NUMS256E_pinmul</a></div><div class="ttdeci">void ECP_NUMS256E_pinmul(ECP_NUMS256E *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a96ca43a8404e8614b612df052f5df4d7"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a96ca43a8404e8614b612df052f5df4d7">ECP_NUMS256E_dbl</a></div><div class="ttdeci">void ECP_NUMS256E_dbl(ECP_NUMS256E *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:564</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_aa97e1860c2550d268253e85cee356aef"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aa97e1860c2550d268253e85cee356aef">CURVE_Pyaaa_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a40eaac816780aaee5b781423e3f8e643"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a40eaac816780aaee5b781423e3f8e643">CURVE_Gy_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a062cf15ed517fb7ef4126ae3aad3d382"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a062cf15ed517fb7ef4126ae3aad3d382">CURVE_Pybb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a519bc836055b9207473cf26c5f733a5a"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a519bc836055b9207473cf26c5f733a5a">CURVE_Pxbb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_afcebf0f3b350baa01e6daf2d55e5db44"><div class="ttname"><a href="ecp__NUMS256E_8h.html#afcebf0f3b350baa01e6daf2d55e5db44">CURVE_Pxaba_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_NUMS256E</div></div>
-<div class="ttc" id="fp__256PME_8h_html"><div class="ttname"><a href="fp__256PME_8h.html">fp_256PME.h</a></div><div class="ttdoc">FP Header File.</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="structECP__NUMS256E_html"><div class="ttname"><a href="structECP__NUMS256E.html">ECP_NUMS256E</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.h:105</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a22d5ae3f90b82fe96809c507f063bc1b"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a22d5ae3f90b82fe96809c507f063bc1b">ECP_NUMS256E_cfp</a></div><div class="ttdeci">void ECP_NUMS256E_cfp(ECP_NUMS256E *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:338</div></div>
+<div class="ttc" id="fp__256PME_8h_html"><div class="ttname"><a href="fp__256PME_8h.html">fp_256PME.h</a></div><div class="ttdoc">FP Header File. </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="structECP__NUMS256E_html"><div class="ttname"><a href="structECP__NUMS256E.html">ECP_NUMS256E</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.h:105</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a22d5ae3f90b82fe96809c507f063bc1b"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a22d5ae3f90b82fe96809c507f063bc1b">ECP_NUMS256E_cfp</a></div><div class="ttdeci">void ECP_NUMS256E_cfp(ECP_NUMS256E *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:338</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a9d046e5eed7e709cd85785bfba1e42b7"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a9d046e5eed7e709cd85785bfba1e42b7">CURVE_Cru_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_ad32dc8aacc3f58be708bc532f237b3b6"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ad32dc8aacc3f58be708bc532f237b3b6">ECP_NUMS256E_rawoutput</a></div><div class="ttdeci">void ECP_NUMS256E_rawoutput(ECP_NUMS256E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:478</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_ad32dc8aacc3f58be708bc532f237b3b6"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ad32dc8aacc3f58be708bc532f237b3b6">ECP_NUMS256E_rawoutput</a></div><div class="ttdeci">void ECP_NUMS256E_rawoutput(ECP_NUMS256E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:478</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a968ba6316c6d66c70e3c4198000228d2"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a968ba6316c6d66c70e3c4198000228d2">Fra_256PME</a></div><div class="ttdeci">const BIG_256_56 Fra_256PME</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a877d2aeba81512bbbd259e70cb8dafe9"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a877d2aeba81512bbbd259e70cb8dafe9">ECP_NUMS256E_toOctet</a></div><div class="ttdeci">void ECP_NUMS256E_toOctet(octet *S, ECP_NUMS256E *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:507</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_acad606a0f2749a8c782cc473e6917ca4"><div class="ttname"><a href="ecp__NUMS256E_8h.html#acad606a0f2749a8c782cc473e6917ca4">CURVE_Pyab_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a01107850ee1c231819c7afc5936fc826"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a01107850ee1c231819c7afc5936fc826">ECP_NUMS256E_generator</a></div><div class="ttdeci">void ECP_NUMS256E_generator(ECP_NUMS256E *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:1221</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a01107850ee1c231819c7afc5936fc826"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a01107850ee1c231819c7afc5936fc826">ECP_NUMS256E_generator</a></div><div class="ttdeci">void ECP_NUMS256E_generator(ECP_NUMS256E *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:1221</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_ad491d219226bd24c654be426f15505e6"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ad491d219226bd24c654be426f15505e6">CURVE_Pxbaa_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a474ca29b36ae3b0667b973e9d17321af"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a474ca29b36ae3b0667b973e9d17321af">CURVE_Pxaaa_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_afdbb81a12c5171da3ec44dc519dad1c2"><div class="ttname"><a href="ecp__NUMS256E_8h.html#afdbb81a12c5171da3ec44dc519dad1c2">CURVE_Pxb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a6af3f0e0b58d779dd5858cdcb76adffd"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a6af3f0e0b58d779dd5858cdcb76adffd">CURVE_B_I_NUMS256E</a></div><div class="ttdeci">const int CURVE_B_I_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a9a5ce4e98b45ed650cfeebd606ac0b2e"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a9a5ce4e98b45ed650cfeebd606ac0b2e">ECP_NUMS256E_set</a></div><div class="ttdeci">int ECP_NUMS256E_set(ECP_NUMS256E *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a9a5ce4e98b45ed650cfeebd606ac0b2e"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a9a5ce4e98b45ed650cfeebd606ac0b2e">ECP_NUMS256E_set</a></div><div class="ttdeci">int ECP_NUMS256E_set(ECP_NUMS256E *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_ae4b1d935f6587e169621552e1979a904"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ae4b1d935f6587e169621552e1979a904">CURVE_Cof_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_ab965f81c88a295efe11325b67919c177"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ab965f81c88a295efe11325b67919c177">ECP_NUMS256E_mul2</a></div><div class="ttdeci">void ECP_NUMS256E_mul2(ECP_NUMS256E *P, ECP_NUMS256E *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_ab965f81c88a295efe11325b67919c177"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ab965f81c88a295efe11325b67919c177">ECP_NUMS256E_mul2</a></div><div class="ttdeci">void ECP_NUMS256E_mul2(ECP_NUMS256E *P, ECP_NUMS256E *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_abd3633feb6a219a04ff484a895c138d5"><div class="ttname"><a href="ecp__NUMS256E_8h.html#abd3633feb6a219a04ff484a895c138d5">CURVE_BB_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_NUMS256E[4][4]</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a19677601e7c22861cad458ef3a2b430f"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a19677601e7c22861cad458ef3a2b430f">ECP_NUMS256E_affine</a></div><div class="ttdeci">void ECP_NUMS256E_affine(ECP_NUMS256E *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:392</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a7131922287c4b7fdf58baa13598a4677"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a7131922287c4b7fdf58baa13598a4677">ECP_NUMS256E_rhs</a></div><div class="ttdeci">void ECP_NUMS256E_rhs(FP_256PME *r, FP_256PME *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:161</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_aa960d932ef8ed8970d0dae9c9df9a4e9"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aa960d932ef8ed8970d0dae9c9df9a4e9">ECP_NUMS256E_isinf</a></div><div class="ttdeci">int ECP_NUMS256E_isinf(ECP_NUMS256E *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:28</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a19677601e7c22861cad458ef3a2b430f"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a19677601e7c22861cad458ef3a2b430f">ECP_NUMS256E_affine</a></div><div class="ttdeci">void ECP_NUMS256E_affine(ECP_NUMS256E *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:392</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a7131922287c4b7fdf58baa13598a4677"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a7131922287c4b7fdf58baa13598a4677">ECP_NUMS256E_rhs</a></div><div class="ttdeci">void ECP_NUMS256E_rhs(FP_256PME *r, FP_256PME *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:161</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_aa960d932ef8ed8970d0dae9c9df9a4e9"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aa960d932ef8ed8970d0dae9c9df9a4e9">ECP_NUMS256E_isinf</a></div><div class="ttdeci">int ECP_NUMS256E_isinf(ECP_NUMS256E *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:28</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_ac81ffee925d2e7eee29c94f7ad26b5b4"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ac81ffee925d2e7eee29c94f7ad26b5b4">CURVE_Order_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_aaf60ecbfccc109257d9647e402cfc8f2"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aaf60ecbfccc109257d9647e402cfc8f2">ECP_NUMS256E_copy</a></div><div class="ttdeci">void ECP_NUMS256E_copy(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:120</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_aaf60ecbfccc109257d9647e402cfc8f2"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aaf60ecbfccc109257d9647e402cfc8f2">ECP_NUMS256E_copy</a></div><div class="ttdeci">void ECP_NUMS256E_copy(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:120</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a15d2863f50b6e3af15ca96b08e70f093"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a15d2863f50b6e3af15ca96b08e70f093">CURVE_Pyaba_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a89d56b4f55dcb582d7e3f32d61e39349"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a89d56b4f55dcb582d7e3f32d61e39349">CURVE_Pybab_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a4a52c598b1bd2cb1c1906a775c6abfbd"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a4a52c598b1bd2cb1c1906a775c6abfbd">ECP_NUMS256E_mul</a></div><div class="ttdeci">void ECP_NUMS256E_mul(ECP_NUMS256E *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:1021</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a60115193c511c33c396af1d4f0f2dacd"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a60115193c511c33c396af1d4f0f2dacd">ECP_NUMS256E_mapit</a></div><div class="ttdeci">void ECP_NUMS256E_mapit(ECP_NUMS256E *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:365</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a4a52c598b1bd2cb1c1906a775c6abfbd"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a4a52c598b1bd2cb1c1906a775c6abfbd">ECP_NUMS256E_mul</a></div><div class="ttdeci">void ECP_NUMS256E_mul(ECP_NUMS256E *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:1021</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a60115193c511c33c396af1d4f0f2dacd"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a60115193c511c33c396af1d4f0f2dacd">ECP_NUMS256E_mapit</a></div><div class="ttdeci">void ECP_NUMS256E_mapit(ECP_NUMS256E *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:365</div></div>
 <div class="ttc" id="structECP__NUMS256E_html_a56fa88e957f6c63b74df8b7c9eba0ce0"><div class="ttname"><a href="structECP__NUMS256E.html#a56fa88e957f6c63b74df8b7c9eba0ce0">ECP_NUMS256E::y</a></div><div class="ttdeci">FP_256PME y</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.h:111</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a71adf4b69c26c113b3ca466e5cfccad2"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a71adf4b69c26c113b3ca466e5cfccad2">Frb_256PME</a></div><div class="ttdeci">const BIG_256_56 Frb_256PME</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_aadde3b0cd62e10c540c7558ea7a140db"><div class="ttname"><a href="ecp__NUMS256E_8h.html#aadde3b0cd62e10c540c7558ea7a140db">CURVE_A_NUMS256E</a></div><div class="ttdeci">const int CURVE_A_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a2468289d34dacb677c06e0014e4f273d"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a2468289d34dacb677c06e0014e4f273d">CURVE_Bnx_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_ae11c3a5fd59bbb5ad4b5380cf79a41f2"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ae11c3a5fd59bbb5ad4b5380cf79a41f2">CURVE_Pxbab_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_afd1a0f0dc235643da5d8ca8837802b23"><div class="ttname"><a href="ecp__NUMS256E_8h.html#afd1a0f0dc235643da5d8ca8837802b23">ECP_NUMS256E_equals</a></div><div class="ttdeci">int ECP_NUMS256E_equals(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:100</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_afd1a0f0dc235643da5d8ca8837802b23"><div class="ttname"><a href="ecp__NUMS256E_8h.html#afd1a0f0dc235643da5d8ca8837802b23">ECP_NUMS256E_equals</a></div><div class="ttdeci">int ECP_NUMS256E_equals(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:100</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a39bc46d99f52ae83645771e0e4f54679"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a39bc46d99f52ae83645771e0e4f54679">CURVE_Pxab_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a1fc47f3bc76217587e3110d4384ff7aa"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a1fc47f3bc76217587e3110d4384ff7aa">CURVE_Pyaab_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a5c2b6a3db4970b094bcdcf358cd7658d"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a5c2b6a3db4970b094bcdcf358cd7658d">ECP_NUMS256E_outputxyz</a></div><div class="ttdeci">void ECP_NUMS256E_outputxyz(ECP_NUMS256E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:414</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a5c2b6a3db4970b094bcdcf358cd7658d"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a5c2b6a3db4970b094bcdcf358cd7658d">ECP_NUMS256E_outputxyz</a></div><div class="ttdeci">void ECP_NUMS256E_outputxyz(ECP_NUMS256E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:414</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a4c0d0924aa928ce72adf6729831e916e"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a4c0d0924aa928ce72adf6729831e916e">CURVE_Pyaa_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_ad61a76d91da5bf3bbfe24b772d151f5d"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ad61a76d91da5bf3bbfe24b772d151f5d">ECP_NUMS256E_inf</a></div><div class="ttdeci">void ECP_NUMS256E_inf(ECP_NUMS256E *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:146</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_ad61a76d91da5bf3bbfe24b772d151f5d"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ad61a76d91da5bf3bbfe24b772d151f5d">ECP_NUMS256E_inf</a></div><div class="ttdeci">void ECP_NUMS256E_inf(ECP_NUMS256E *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:146</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a6c5f8f7f1bbe84e6e3ac4c9e6e928791"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a6c5f8f7f1bbe84e6e3ac4c9e6e928791">CURVE_Pyabb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a2fecf8f68f2322db0593196f5fdc3c66"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a2fecf8f68f2322db0593196f5fdc3c66">CURVE_Pxaa_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_NUMS256E</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a98c72474eef925131597746d8d4feefa"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a98c72474eef925131597746d8d4feefa">ECP_NUMS256E_get</a></div><div class="ttdeci">int ECP_NUMS256E_get(BIG_256_56 x, BIG_256_56 y, ECP_NUMS256E *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a98c72474eef925131597746d8d4feefa"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a98c72474eef925131597746d8d4feefa">ECP_NUMS256E_get</a></div><div class="ttdeci">int ECP_NUMS256E_get(BIG_256_56 x, BIG_256_56 y, ECP_NUMS256E *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a843e386201607f5bfe6f119bdaccee73"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a843e386201607f5bfe6f119bdaccee73">CURVE_SB_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_NUMS256E[2][2]</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a8ba27a82b67f7781f31472a6f5b3722f"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a8ba27a82b67f7781f31472a6f5b3722f">ECP_NUMS256E_add</a></div><div class="ttdeci">void ECP_NUMS256E_add(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a8ba27a82b67f7781f31472a6f5b3722f"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a8ba27a82b67f7781f31472a6f5b3722f">ECP_NUMS256E_add</a></div><div class="ttdeci">void ECP_NUMS256E_add(ECP_NUMS256E *P, ECP_NUMS256E *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_adf05bb86e849e50be94cd2eeb8ad5255"><div class="ttname"><a href="ecp__NUMS256E_8h.html#adf05bb86e849e50be94cd2eeb8ad5255">CURVE_Pybbb_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_NUMS256E</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_a3c4e8cbae980bb48932d9f6f47fb74bb"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a3c4e8cbae980bb48932d9f6f47fb74bb">CURVE_W_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_NUMS256E[2]</div></div>
 <div class="ttc" id="ecp__NUMS256E_8h_html_acb929444f736d5c84f90d71a967f2133"><div class="ttname"><a href="ecp__NUMS256E_8h.html#acb929444f736d5c84f90d71a967f2133">CURVE_Gx_NUMS256E</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_NUMS256E</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_ae37c5a817c2fb8cac20fe46cf878071f"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ae37c5a817c2fb8cac20fe46cf878071f">ECP_NUMS256E_fromOctet</a></div><div class="ttdeci">int ECP_NUMS256E_fromOctet(ECP_NUMS256E *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:537</div></div>
-<div class="ttc" id="ecp__NUMS256E_8h_html_a573573c38bddcef73f42c0d0cb7c596b"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a573573c38bddcef73f42c0d0cb7c596b">ECP_NUMS256E_setx</a></div><div class="ttdeci">int ECP_NUMS256E_setx(ECP_NUMS256E *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_ae37c5a817c2fb8cac20fe46cf878071f"><div class="ttname"><a href="ecp__NUMS256E_8h.html#ae37c5a817c2fb8cac20fe46cf878071f">ECP_NUMS256E_fromOctet</a></div><div class="ttdeci">int ECP_NUMS256E_fromOctet(ECP_NUMS256E *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256E.c:537</div></div>
+<div class="ttc" id="ecp__NUMS256E_8h_html_a573573c38bddcef73f42c0d0cb7c596b"><div class="ttname"><a href="ecp__NUMS256E_8h.html#a573573c38bddcef73f42c0d0cb7c596b">ECP_NUMS256E_setx</a></div><div class="ttdeci">int ECP_NUMS256E_setx(ECP_NUMS256E *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </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/ecp__NUMS256W_8h.html b/website/static/cdocs/ecp__NUMS256W_8h.html
index faae899..e78fd03 100644
--- a/website/static/cdocs/ecp__NUMS256W_8h.html
+++ b/website/static/cdocs/ecp__NUMS256W_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: ecp_NUMS256W.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"
@@ -1705,7 +1708,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/ecp__NUMS256W_8h_source.html b/website/static/cdocs/ecp__NUMS256W_8h_source.html
index d7e7bfc..e5cbf1b 100644
--- a/website/static/cdocs/ecp__NUMS256W_8h_source.html
+++ b/website/static/cdocs/ecp__NUMS256W_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: ecp_NUMS256W.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,21 +72,21 @@
 <div class="title">ecp_NUMS256W.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NUMS256W_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 ECP_NUMS256W_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS256W_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 &quot;<a class="code" href="fp__256PMW_8h.html">fp_256PMW.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS256W.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a19e830f18d0ad7d1db87e550b0f0dd36">CURVE_A_NUMS256W</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ae8d83d3c9ab94c304d6edc68231a2289">CURVE_Cof_I_NUMS256W</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a550b41c1e104c4cf3aed713ccb8cf43f">CURVE_B_I_NUMS256W</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a3ba7e2f782ff04409670544f8dc73c00">CURVE_B_NUMS256W</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a58ceb62156d789c9dea00ff60876c711">CURVE_Order_NUMS256W</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a42d2a06c9a02fc5e21a6cc5f3ae9e002">CURVE_Cof_NUMS256W</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a245c0096fa6555da1f6002d72b3318c4">CURVE_Gx_NUMS256W</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a6d21a326b6804d9dcbb80685b8df6dbb">CURVE_Gy_NUMS256W</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a69f0f5f6925e54c9e17b1ddadeb47988">CURVE_Pxa_NUMS256W</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#af1a8725147a4e21e050d0c8a163688b6">CURVE_Pxb_NUMS256W</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a7ed321c89280b621c9a3256b0daa658d">CURVE_Pya_NUMS256W</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#abdd81bf81dc277f9935b44aea28cecd6">CURVE_Pyb_NUMS256W</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a677814ee87a47391ea778b793d3235f5">CURVE_Pxaa_NUMS256W</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a855552505be89f1adfcdda7a948e74c1">CURVE_Pxab_NUMS256W</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a1631e79a2e51044715779e6f6d832103">CURVE_Pxba_NUMS256W</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a8e27580d90bcc823f942a991fe0513b6">CURVE_Pxbb_NUMS256W</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a5b285591e8364d79edc0ea39361b461e">CURVE_Pyaa_NUMS256W</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a804b2f46f247ea82439b4f0e97907102">CURVE_Pyab_NUMS256W</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#ad64885a54ffc9243ccade829dc0886a6">CURVE_Pyba_NUMS256W</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#ae22ca2bcd57fc3c65524c49d1e087a47">CURVE_Pybb_NUMS256W</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a3d9cf21e21af37dd15b61ca7e7169d12">CURVE_Pxaaa_NUMS256W</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aa831f69a52005c95fa98ae543877b62f">CURVE_Pxaab_NUMS256W</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#abb44370650e5f55c588b18da6f6f3bce">CURVE_Pxaba_NUMS256W</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a191a74f74eac59575d9f6791deb49314">CURVE_Pxabb_NUMS256W</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a7cdb25e5e0359c333a32eb6bd81106b6">CURVE_Pxbaa_NUMS256W</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a92bb5146fef2c0b5394e1f6697779f0a">CURVE_Pxbab_NUMS256W</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a795f12c243427972ff53b18387dc42f6">CURVE_Pxbba_NUMS256W</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a5785e43734ac0522e248a744bd72adfd">CURVE_Pxbbb_NUMS256W</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aff1ceda6725206f763e1f6634410aaec">CURVE_Pyaaa_NUMS256W</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a5dc92362de927c63302f4540cbeaf84f">CURVE_Pyaab_NUMS256W</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aec6bcd0f343a92c68ca058b848ef19f9">CURVE_Pyaba_NUMS256W</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a6770ccb27f3f624547cced987fd4f6fc">CURVE_Pyabb_NUMS256W</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a64fbc8542f0cfc42fc5b7b21af438a3c">CURVE_Pybaa_NUMS256W</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a8ffd0b5671359396a84fc1b19c1c80ac">CURVE_Pybab_NUMS256W</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a727d63b2d0701d55bd859f992b164483">CURVE_Pybba_NUMS256W</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a359fd6b9b938abdb151c54e90f02b573">CURVE_Pybbb_NUMS256W</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a0510fee0f011c3c65683638a8bcb8ec2">CURVE_Bnx_NUMS256W</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a129fd2440c7f8cde3f7a83cef1ff7977">CURVE_Cru_NUMS256W</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aecf87a32e152ca6a6b45c54a948c3606">Fra_256PMW</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#ad3d8b51f66097eb05fce1aea04fcad73">Frb_256PMW</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#afb7e77d5c56fa0045a00e658699491fe">CURVE_W_NUMS256W</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a20f12a60d7e60cdfe7b5f8e6a629912e">CURVE_SB_NUMS256W</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a02ba98932e96a86e2d0d6e0e17266a5a">CURVE_WB_NUMS256W</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a14a88151777ed810ae0327f92e86a82b">CURVE_BB_NUMS256W</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html#a0719bf5f0fa427cecbfa37e2cd631045">  109</a></span>&#160;    <a class="code" href="structFP__256PMW.html">FP_256PMW</a> <a class="code" href="structECP__NUMS256W.html#a0719bf5f0fa427cecbfa37e2cd631045">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256W!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html#aac9ca24c2f5863117dbeb093fe87081a">  111</a></span>&#160;    <a class="code" href="structFP__256PMW.html">FP_256PMW</a> <a class="code" href="structECP__NUMS256W.html#aac9ca24c2f5863117dbeb093fe87081a">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html#a97b56a4867ad20a4e97c5bd0e50c06af">  113</a></span>&#160;    <a class="code" href="structFP__256PMW.html">FP_256PMW</a> <a class="code" href="structECP__NUMS256W.html#a97b56a4867ad20a4e97c5bd0e50c06af">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#abfc5b81cf981a75541cab279d8763321">ECP_NUMS256W_isinf</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a79e12667453337198cf66b1f98424fdd">ECP_NUMS256W_equals</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a8e1a20920e29871a88002469e1461733">ECP_NUMS256W_copy</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</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="ecp__NUMS256W_8h.html#af3a5afee491bad3ed8c4e893249d70e6">ECP_NUMS256W_neg</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</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="ecp__NUMS256W_8h.html#a2faa4ea85f4ecd1358574b9c5c7a41b2">ECP_NUMS256W_inf</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a40417c0d12e8aa84b47b5060c14c635f">ECP_NUMS256W_rhs</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *r,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256W==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ab023814043adc9cdbb9023d6fb630d3b">ECP_NUMS256W_set</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a0919ebe56e4dc88d34f48a6bdc6a28f3">ECP_NUMS256W_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a3a6d905ff9fb3659c4270341b9036394">ECP_NUMS256W_add</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ab023814043adc9cdbb9023d6fb630d3b">ECP_NUMS256W_set</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a0919ebe56e4dc88d34f48a6bdc6a28f3">ECP_NUMS256W_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a3a6d905ff9fb3659c4270341b9036394">ECP_NUMS256W_add</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</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="ecp__NUMS256W_8h.html#aca3ab8fcfc4fec0a8bd8044321b14350">ECP_NUMS256W_sub</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ab2513df76c418295fc536b7a81d84764">ECP_NUMS256W_setx</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#afbd0287ae3a8f827b3b3a22ceb6e10d5">ECP_NUMS256W_cfp</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a724dda20d4d0e438d095307701516883">ECP_NUMS256W_mapit</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#acbba8173bd702add96f95d7d038c5eb2">ECP_NUMS256W_affine</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#addcf4d22eb57e4ddc66cf94a5e9b8bd7">ECP_NUMS256W_outputxyz</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</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="ecp__NUMS256W_8h.html#a17e393500cd6ddf6a9aaabdd804297b0">ECP_NUMS256W_output</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a50877aa9cd7369e1a013d3df97925559">ECP_NUMS256W_rawoutput</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#aa79a7847b8ec5a7d6f4003c8aa266157">ECP_NUMS256W_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a51278db1af4095a519c220378e8a3237">ECP_NUMS256W_fromOctet</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#aae27dd996ce43b1011d5f14f8dbee93a">ECP_NUMS256W_dbl</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#af53ba68943534be131ac4876139265ed">ECP_NUMS256W_pinmul</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#aa00445ab4a12c1b7237dfe2c95f86955">ECP_NUMS256W_mul</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#abd619d71dc50233b70850f1f64ab361b">ECP_NUMS256W_mul2</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#ad0b74fb86f13e9c7139736ac74a2e3ac">ECP_NUMS256W_generator</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP__NUMS256W_html_a0719bf5f0fa427cecbfa37e2cd631045"><div class="ttname"><a href="structECP__NUMS256W.html#a0719bf5f0fa427cecbfa37e2cd631045">ECP_NUMS256W::x</a></div><div class="ttdeci">FP_256PMW x</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.h:109</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a17e393500cd6ddf6a9aaabdd804297b0"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a17e393500cd6ddf6a9aaabdd804297b0">ECP_NUMS256W_output</a></div><div class="ttdeci">void ECP_NUMS256W_output(ECP_NUMS256W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:450</div></div>
+<a href="ecp__NUMS256W_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 ECP_NUMS256W_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS256W_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 &quot;<a class="code" href="fp__256PMW_8h.html">fp_256PMW.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS256W.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a19e830f18d0ad7d1db87e550b0f0dd36">CURVE_A_NUMS256W</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ae8d83d3c9ab94c304d6edc68231a2289">CURVE_Cof_I_NUMS256W</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a550b41c1e104c4cf3aed713ccb8cf43f">CURVE_B_I_NUMS256W</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a3ba7e2f782ff04409670544f8dc73c00">CURVE_B_NUMS256W</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a58ceb62156d789c9dea00ff60876c711">CURVE_Order_NUMS256W</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a42d2a06c9a02fc5e21a6cc5f3ae9e002">CURVE_Cof_NUMS256W</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a245c0096fa6555da1f6002d72b3318c4">CURVE_Gx_NUMS256W</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a6d21a326b6804d9dcbb80685b8df6dbb">CURVE_Gy_NUMS256W</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a69f0f5f6925e54c9e17b1ddadeb47988">CURVE_Pxa_NUMS256W</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#af1a8725147a4e21e050d0c8a163688b6">CURVE_Pxb_NUMS256W</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a7ed321c89280b621c9a3256b0daa658d">CURVE_Pya_NUMS256W</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#abdd81bf81dc277f9935b44aea28cecd6">CURVE_Pyb_NUMS256W</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a677814ee87a47391ea778b793d3235f5">CURVE_Pxaa_NUMS256W</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a855552505be89f1adfcdda7a948e74c1">CURVE_Pxab_NUMS256W</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a1631e79a2e51044715779e6f6d832103">CURVE_Pxba_NUMS256W</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a8e27580d90bcc823f942a991fe0513b6">CURVE_Pxbb_NUMS256W</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a5b285591e8364d79edc0ea39361b461e">CURVE_Pyaa_NUMS256W</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a804b2f46f247ea82439b4f0e97907102">CURVE_Pyab_NUMS256W</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#ad64885a54ffc9243ccade829dc0886a6">CURVE_Pyba_NUMS256W</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#ae22ca2bcd57fc3c65524c49d1e087a47">CURVE_Pybb_NUMS256W</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a3d9cf21e21af37dd15b61ca7e7169d12">CURVE_Pxaaa_NUMS256W</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aa831f69a52005c95fa98ae543877b62f">CURVE_Pxaab_NUMS256W</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#abb44370650e5f55c588b18da6f6f3bce">CURVE_Pxaba_NUMS256W</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a191a74f74eac59575d9f6791deb49314">CURVE_Pxabb_NUMS256W</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a7cdb25e5e0359c333a32eb6bd81106b6">CURVE_Pxbaa_NUMS256W</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a92bb5146fef2c0b5394e1f6697779f0a">CURVE_Pxbab_NUMS256W</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a795f12c243427972ff53b18387dc42f6">CURVE_Pxbba_NUMS256W</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a5785e43734ac0522e248a744bd72adfd">CURVE_Pxbbb_NUMS256W</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aff1ceda6725206f763e1f6634410aaec">CURVE_Pyaaa_NUMS256W</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a5dc92362de927c63302f4540cbeaf84f">CURVE_Pyaab_NUMS256W</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aec6bcd0f343a92c68ca058b848ef19f9">CURVE_Pyaba_NUMS256W</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a6770ccb27f3f624547cced987fd4f6fc">CURVE_Pyabb_NUMS256W</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a64fbc8542f0cfc42fc5b7b21af438a3c">CURVE_Pybaa_NUMS256W</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a8ffd0b5671359396a84fc1b19c1c80ac">CURVE_Pybab_NUMS256W</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a727d63b2d0701d55bd859f992b164483">CURVE_Pybba_NUMS256W</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a359fd6b9b938abdb151c54e90f02b573">CURVE_Pybbb_NUMS256W</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a0510fee0f011c3c65683638a8bcb8ec2">CURVE_Bnx_NUMS256W</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a129fd2440c7f8cde3f7a83cef1ff7977">CURVE_Cru_NUMS256W</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#aecf87a32e152ca6a6b45c54a948c3606">Fra_256PMW</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#ad3d8b51f66097eb05fce1aea04fcad73">Frb_256PMW</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#afb7e77d5c56fa0045a00e658699491fe">CURVE_W_NUMS256W</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a20f12a60d7e60cdfe7b5f8e6a629912e">CURVE_SB_NUMS256W</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a02ba98932e96a86e2d0d6e0e17266a5a">CURVE_WB_NUMS256W</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__NUMS256W_8h.html#a14a88151777ed810ae0327f92e86a82b">CURVE_BB_NUMS256W</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html#a0719bf5f0fa427cecbfa37e2cd631045">  109</a></span>&#160;    <a class="code" href="structFP__256PMW.html">FP_256PMW</a> <a class="code" href="structECP__NUMS256W.html#a0719bf5f0fa427cecbfa37e2cd631045">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256W!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html#aac9ca24c2f5863117dbeb093fe87081a">  111</a></span>&#160;    <a class="code" href="structFP__256PMW.html">FP_256PMW</a> <a class="code" href="structECP__NUMS256W.html#aac9ca24c2f5863117dbeb093fe87081a">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS256W.html#a97b56a4867ad20a4e97c5bd0e50c06af">  113</a></span>&#160;    <a class="code" href="structFP__256PMW.html">FP_256PMW</a> <a class="code" href="structECP__NUMS256W.html#a97b56a4867ad20a4e97c5bd0e50c06af">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#abfc5b81cf981a75541cab279d8763321">ECP_NUMS256W_isinf</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a79e12667453337198cf66b1f98424fdd">ECP_NUMS256W_equals</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a8e1a20920e29871a88002469e1461733">ECP_NUMS256W_copy</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</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="ecp__NUMS256W_8h.html#af3a5afee491bad3ed8c4e893249d70e6">ECP_NUMS256W_neg</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</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="ecp__NUMS256W_8h.html#a2faa4ea85f4ecd1358574b9c5c7a41b2">ECP_NUMS256W_inf</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a40417c0d12e8aa84b47b5060c14c635f">ECP_NUMS256W_rhs</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *r,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS256W==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ab023814043adc9cdbb9023d6fb630d3b">ECP_NUMS256W_set</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a0919ebe56e4dc88d34f48a6bdc6a28f3">ECP_NUMS256W_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a3a6d905ff9fb3659c4270341b9036394">ECP_NUMS256W_add</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ab023814043adc9cdbb9023d6fb630d3b">ECP_NUMS256W_set</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a0919ebe56e4dc88d34f48a6bdc6a28f3">ECP_NUMS256W_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a3a6d905ff9fb3659c4270341b9036394">ECP_NUMS256W_add</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</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="ecp__NUMS256W_8h.html#aca3ab8fcfc4fec0a8bd8044321b14350">ECP_NUMS256W_sub</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#ab2513df76c418295fc536b7a81d84764">ECP_NUMS256W_setx</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#afbd0287ae3a8f827b3b3a22ceb6e10d5">ECP_NUMS256W_cfp</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a724dda20d4d0e438d095307701516883">ECP_NUMS256W_mapit</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#acbba8173bd702add96f95d7d038c5eb2">ECP_NUMS256W_affine</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#addcf4d22eb57e4ddc66cf94a5e9b8bd7">ECP_NUMS256W_outputxyz</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</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="ecp__NUMS256W_8h.html#a17e393500cd6ddf6a9aaabdd804297b0">ECP_NUMS256W_output</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#a50877aa9cd7369e1a013d3df97925559">ECP_NUMS256W_rawoutput</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#aa79a7847b8ec5a7d6f4003c8aa266157">ECP_NUMS256W_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS256W_8h.html#a51278db1af4095a519c220378e8a3237">ECP_NUMS256W_fromOctet</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#aae27dd996ce43b1011d5f14f8dbee93a">ECP_NUMS256W_dbl</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#af53ba68943534be131ac4876139265ed">ECP_NUMS256W_pinmul</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#aa00445ab4a12c1b7237dfe2c95f86955">ECP_NUMS256W_mul</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#abd619d71dc50233b70850f1f64ab361b">ECP_NUMS256W_mul2</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *P,<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS256W_8h.html#ad0b74fb86f13e9c7139736ac74a2e3ac">ECP_NUMS256W_generator</a>(<a class="code" href="structECP__NUMS256W.html">ECP_NUMS256W</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP__NUMS256W_html_a0719bf5f0fa427cecbfa37e2cd631045"><div class="ttname"><a href="structECP__NUMS256W.html#a0719bf5f0fa427cecbfa37e2cd631045">ECP_NUMS256W::x</a></div><div class="ttdeci">FP_256PMW x</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.h:109</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a17e393500cd6ddf6a9aaabdd804297b0"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a17e393500cd6ddf6a9aaabdd804297b0">ECP_NUMS256W_output</a></div><div class="ttdeci">void ECP_NUMS256W_output(ECP_NUMS256W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:450</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_afb7e77d5c56fa0045a00e658699491fe"><div class="ttname"><a href="ecp__NUMS256W_8h.html#afb7e77d5c56fa0045a00e658699491fe">CURVE_W_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_NUMS256W[2]</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a0510fee0f011c3c65683638a8bcb8ec2"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a0510fee0f011c3c65683638a8bcb8ec2">CURVE_Bnx_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_aa00445ab4a12c1b7237dfe2c95f86955"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aa00445ab4a12c1b7237dfe2c95f86955">ECP_NUMS256W_mul</a></div><div class="ttdeci">void ECP_NUMS256W_mul(ECP_NUMS256W *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:1021</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_aca3ab8fcfc4fec0a8bd8044321b14350"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aca3ab8fcfc4fec0a8bd8044321b14350">ECP_NUMS256W_sub</a></div><div class="ttdeci">void ECP_NUMS256W_sub(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_aa00445ab4a12c1b7237dfe2c95f86955"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aa00445ab4a12c1b7237dfe2c95f86955">ECP_NUMS256W_mul</a></div><div class="ttdeci">void ECP_NUMS256W_mul(ECP_NUMS256W *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:1021</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_aca3ab8fcfc4fec0a8bd8044321b14350"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aca3ab8fcfc4fec0a8bd8044321b14350">ECP_NUMS256W_sub</a></div><div class="ttdeci">void ECP_NUMS256W_sub(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a6770ccb27f3f624547cced987fd4f6fc"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a6770ccb27f3f624547cced987fd4f6fc">CURVE_Pyabb_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a02ba98932e96a86e2d0d6e0e17266a5a"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a02ba98932e96a86e2d0d6e0e17266a5a">CURVE_WB_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_NUMS256W[4]</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_abb44370650e5f55c588b18da6f6f3bce"><div class="ttname"><a href="ecp__NUMS256W_8h.html#abb44370650e5f55c588b18da6f6f3bce">CURVE_Pxaba_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a19e830f18d0ad7d1db87e550b0f0dd36"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a19e830f18d0ad7d1db87e550b0f0dd36">CURVE_A_NUMS256W</a></div><div class="ttdeci">const int CURVE_A_NUMS256W</div></div>
-<div class="ttc" id="structFP__256PMW_html"><div class="ttname"><a href="structFP__256PMW.html">FP_256PMW</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.h:38</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_ab023814043adc9cdbb9023d6fb630d3b"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ab023814043adc9cdbb9023d6fb630d3b">ECP_NUMS256W_set</a></div><div class="ttdeci">int ECP_NUMS256W_set(ECP_NUMS256W *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="structFP__256PMW_html"><div class="ttname"><a href="structFP__256PMW.html">FP_256PMW</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.h:38</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_ab023814043adc9cdbb9023d6fb630d3b"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ab023814043adc9cdbb9023d6fb630d3b">ECP_NUMS256W_set</a></div><div class="ttdeci">int ECP_NUMS256W_set(ECP_NUMS256W *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a191a74f74eac59575d9f6791deb49314"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a191a74f74eac59575d9f6791deb49314">CURVE_Pxabb_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_NUMS256W</div></div>
-<div class="ttc" id="fp__256PMW_8h_html"><div class="ttname"><a href="fp__256PMW_8h.html">fp_256PMW.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a2faa4ea85f4ecd1358574b9c5c7a41b2"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a2faa4ea85f4ecd1358574b9c5c7a41b2">ECP_NUMS256W_inf</a></div><div class="ttdeci">void ECP_NUMS256W_inf(ECP_NUMS256W *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:146</div></div>
+<div class="ttc" id="fp__256PMW_8h_html"><div class="ttname"><a href="fp__256PMW_8h.html">fp_256PMW.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a2faa4ea85f4ecd1358574b9c5c7a41b2"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a2faa4ea85f4ecd1358574b9c5c7a41b2">ECP_NUMS256W_inf</a></div><div class="ttdeci">void ECP_NUMS256W_inf(ECP_NUMS256W *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:146</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a727d63b2d0701d55bd859f992b164483"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a727d63b2d0701d55bd859f992b164483">CURVE_Pybba_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a20f12a60d7e60cdfe7b5f8e6a629912e"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a20f12a60d7e60cdfe7b5f8e6a629912e">CURVE_SB_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_NUMS256W[2][2]</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a8e27580d90bcc823f942a991fe0513b6"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a8e27580d90bcc823f942a991fe0513b6">CURVE_Pxbb_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbb_NUMS256W</div></div>
@@ -94,45 +97,45 @@
 <div class="ttc" id="ecp__NUMS256W_8h_html_a14a88151777ed810ae0327f92e86a82b"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a14a88151777ed810ae0327f92e86a82b">CURVE_BB_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_NUMS256W[4][4]</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_af1a8725147a4e21e050d0c8a163688b6"><div class="ttname"><a href="ecp__NUMS256W_8h.html#af1a8725147a4e21e050d0c8a163688b6">CURVE_Pxb_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxb_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a550b41c1e104c4cf3aed713ccb8cf43f"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a550b41c1e104c4cf3aed713ccb8cf43f">CURVE_B_I_NUMS256W</a></div><div class="ttdeci">const int CURVE_B_I_NUMS256W</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="ecp__NUMS256W_8h_html_a3ba7e2f782ff04409670544f8dc73c00"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a3ba7e2f782ff04409670544f8dc73c00">CURVE_B_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_abd619d71dc50233b70850f1f64ab361b"><div class="ttname"><a href="ecp__NUMS256W_8h.html#abd619d71dc50233b70850f1f64ab361b">ECP_NUMS256W_mul2</a></div><div class="ttdeci">void ECP_NUMS256W_mul2(ECP_NUMS256W *P, ECP_NUMS256W *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_aae27dd996ce43b1011d5f14f8dbee93a"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aae27dd996ce43b1011d5f14f8dbee93a">ECP_NUMS256W_dbl</a></div><div class="ttdeci">void ECP_NUMS256W_dbl(ECP_NUMS256W *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:564</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_abd619d71dc50233b70850f1f64ab361b"><div class="ttname"><a href="ecp__NUMS256W_8h.html#abd619d71dc50233b70850f1f64ab361b">ECP_NUMS256W_mul2</a></div><div class="ttdeci">void ECP_NUMS256W_mul2(ECP_NUMS256W *P, ECP_NUMS256W *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_aae27dd996ce43b1011d5f14f8dbee93a"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aae27dd996ce43b1011d5f14f8dbee93a">ECP_NUMS256W_dbl</a></div><div class="ttdeci">void ECP_NUMS256W_dbl(ECP_NUMS256W *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:564</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a855552505be89f1adfcdda7a948e74c1"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a855552505be89f1adfcdda7a948e74c1">CURVE_Pxab_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a7ed321c89280b621c9a3256b0daa658d"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a7ed321c89280b621c9a3256b0daa658d">CURVE_Pya_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_NUMS256W</div></div>
 <div class="ttc" id="structECP__NUMS256W_html_aac9ca24c2f5863117dbeb093fe87081a"><div class="ttname"><a href="structECP__NUMS256W.html#aac9ca24c2f5863117dbeb093fe87081a">ECP_NUMS256W::y</a></div><div class="ttdeci">FP_256PMW y</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.h:111</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a129fd2440c7f8cde3f7a83cef1ff7977"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a129fd2440c7f8cde3f7a83cef1ff7977">CURVE_Cru_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_abfc5b81cf981a75541cab279d8763321"><div class="ttname"><a href="ecp__NUMS256W_8h.html#abfc5b81cf981a75541cab279d8763321">ECP_NUMS256W_isinf</a></div><div class="ttdeci">int ECP_NUMS256W_isinf(ECP_NUMS256W *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:28</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_abfc5b81cf981a75541cab279d8763321"><div class="ttname"><a href="ecp__NUMS256W_8h.html#abfc5b81cf981a75541cab279d8763321">ECP_NUMS256W_isinf</a></div><div class="ttdeci">int ECP_NUMS256W_isinf(ECP_NUMS256W *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:28</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_abdd81bf81dc277f9935b44aea28cecd6"><div class="ttname"><a href="ecp__NUMS256W_8h.html#abdd81bf81dc277f9935b44aea28cecd6">CURVE_Pyb_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyb_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a8ffd0b5671359396a84fc1b19c1c80ac"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a8ffd0b5671359396a84fc1b19c1c80ac">CURVE_Pybab_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybab_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_ad3d8b51f66097eb05fce1aea04fcad73"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ad3d8b51f66097eb05fce1aea04fcad73">Frb_256PMW</a></div><div class="ttdeci">const BIG_256_56 Frb_256PMW</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a5b285591e8364d79edc0ea39361b461e"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a5b285591e8364d79edc0ea39361b461e">CURVE_Pyaa_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaa_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a40417c0d12e8aa84b47b5060c14c635f"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a40417c0d12e8aa84b47b5060c14c635f">ECP_NUMS256W_rhs</a></div><div class="ttdeci">void ECP_NUMS256W_rhs(FP_256PMW *r, FP_256PMW *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:161</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a40417c0d12e8aa84b47b5060c14c635f"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a40417c0d12e8aa84b47b5060c14c635f">ECP_NUMS256W_rhs</a></div><div class="ttdeci">void ECP_NUMS256W_rhs(FP_256PMW *r, FP_256PMW *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:161</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a5dc92362de927c63302f4540cbeaf84f"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a5dc92362de927c63302f4540cbeaf84f">CURVE_Pyaab_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_ae8d83d3c9ab94c304d6edc68231a2289"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ae8d83d3c9ab94c304d6edc68231a2289">CURVE_Cof_I_NUMS256W</a></div><div class="ttdeci">const int CURVE_Cof_I_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a51278db1af4095a519c220378e8a3237"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a51278db1af4095a519c220378e8a3237">ECP_NUMS256W_fromOctet</a></div><div class="ttdeci">int ECP_NUMS256W_fromOctet(ECP_NUMS256W *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:537</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a51278db1af4095a519c220378e8a3237"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a51278db1af4095a519c220378e8a3237">ECP_NUMS256W_fromOctet</a></div><div class="ttdeci">int ECP_NUMS256W_fromOctet(ECP_NUMS256W *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:537</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_ae22ca2bcd57fc3c65524c49d1e087a47"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ae22ca2bcd57fc3c65524c49d1e087a47">CURVE_Pybb_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_ab2513df76c418295fc536b7a81d84764"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ab2513df76c418295fc536b7a81d84764">ECP_NUMS256W_setx</a></div><div class="ttdeci">int ECP_NUMS256W_setx(ECP_NUMS256W *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_ad0b74fb86f13e9c7139736ac74a2e3ac"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ad0b74fb86f13e9c7139736ac74a2e3ac">ECP_NUMS256W_generator</a></div><div class="ttdeci">void ECP_NUMS256W_generator(ECP_NUMS256W *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:1221</div></div>
-<div class="ttc" id="structECP__NUMS256W_html"><div class="ttname"><a href="structECP__NUMS256W.html">ECP_NUMS256W</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.h:105</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_ab2513df76c418295fc536b7a81d84764"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ab2513df76c418295fc536b7a81d84764">ECP_NUMS256W_setx</a></div><div class="ttdeci">int ECP_NUMS256W_setx(ECP_NUMS256W *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_ad0b74fb86f13e9c7139736ac74a2e3ac"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ad0b74fb86f13e9c7139736ac74a2e3ac">ECP_NUMS256W_generator</a></div><div class="ttdeci">void ECP_NUMS256W_generator(ECP_NUMS256W *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:1221</div></div>
+<div class="ttc" id="structECP__NUMS256W_html"><div class="ttname"><a href="structECP__NUMS256W.html">ECP_NUMS256W</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.h:105</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a804b2f46f247ea82439b4f0e97907102"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a804b2f46f247ea82439b4f0e97907102">CURVE_Pyab_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a677814ee87a47391ea778b793d3235f5"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a677814ee87a47391ea778b793d3235f5">CURVE_Pxaa_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a6d21a326b6804d9dcbb80685b8df6dbb"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a6d21a326b6804d9dcbb80685b8df6dbb">CURVE_Gy_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a50877aa9cd7369e1a013d3df97925559"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a50877aa9cd7369e1a013d3df97925559">ECP_NUMS256W_rawoutput</a></div><div class="ttdeci">void ECP_NUMS256W_rawoutput(ECP_NUMS256W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:478</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a0919ebe56e4dc88d34f48a6bdc6a28f3"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a0919ebe56e4dc88d34f48a6bdc6a28f3">ECP_NUMS256W_get</a></div><div class="ttdeci">int ECP_NUMS256W_get(BIG_256_56 x, BIG_256_56 y, ECP_NUMS256W *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_af53ba68943534be131ac4876139265ed"><div class="ttname"><a href="ecp__NUMS256W_8h.html#af53ba68943534be131ac4876139265ed">ECP_NUMS256W_pinmul</a></div><div class="ttdeci">void ECP_NUMS256W_pinmul(ECP_NUMS256W *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a50877aa9cd7369e1a013d3df97925559"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a50877aa9cd7369e1a013d3df97925559">ECP_NUMS256W_rawoutput</a></div><div class="ttdeci">void ECP_NUMS256W_rawoutput(ECP_NUMS256W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:478</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a0919ebe56e4dc88d34f48a6bdc6a28f3"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a0919ebe56e4dc88d34f48a6bdc6a28f3">ECP_NUMS256W_get</a></div><div class="ttdeci">int ECP_NUMS256W_get(BIG_256_56 x, BIG_256_56 y, ECP_NUMS256W *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_af53ba68943534be131ac4876139265ed"><div class="ttname"><a href="ecp__NUMS256W_8h.html#af53ba68943534be131ac4876139265ed">ECP_NUMS256W_pinmul</a></div><div class="ttdeci">void ECP_NUMS256W_pinmul(ECP_NUMS256W *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="structECP__NUMS256W_html_a97b56a4867ad20a4e97c5bd0e50c06af"><div class="ttname"><a href="structECP__NUMS256W.html#a97b56a4867ad20a4e97c5bd0e50c06af">ECP_NUMS256W::z</a></div><div class="ttdeci">FP_256PMW z</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.h:113</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a3a6d905ff9fb3659c4270341b9036394"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a3a6d905ff9fb3659c4270341b9036394">ECP_NUMS256W_add</a></div><div class="ttdeci">void ECP_NUMS256W_add(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a3a6d905ff9fb3659c4270341b9036394"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a3a6d905ff9fb3659c4270341b9036394">ECP_NUMS256W_add</a></div><div class="ttdeci">void ECP_NUMS256W_add(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a92bb5146fef2c0b5394e1f6697779f0a"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a92bb5146fef2c0b5394e1f6697779f0a">CURVE_Pxbab_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a8e1a20920e29871a88002469e1461733"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a8e1a20920e29871a88002469e1461733">ECP_NUMS256W_copy</a></div><div class="ttdeci">void ECP_NUMS256W_copy(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:120</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a724dda20d4d0e438d095307701516883"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a724dda20d4d0e438d095307701516883">ECP_NUMS256W_mapit</a></div><div class="ttdeci">void ECP_NUMS256W_mapit(ECP_NUMS256W *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:365</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a8e1a20920e29871a88002469e1461733"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a8e1a20920e29871a88002469e1461733">ECP_NUMS256W_copy</a></div><div class="ttdeci">void ECP_NUMS256W_copy(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:120</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a724dda20d4d0e438d095307701516883"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a724dda20d4d0e438d095307701516883">ECP_NUMS256W_mapit</a></div><div class="ttdeci">void ECP_NUMS256W_mapit(ECP_NUMS256W *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:365</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_aff1ceda6725206f763e1f6634410aaec"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aff1ceda6725206f763e1f6634410aaec">CURVE_Pyaaa_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a58ceb62156d789c9dea00ff60876c711"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a58ceb62156d789c9dea00ff60876c711">CURVE_Order_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_afbd0287ae3a8f827b3b3a22ceb6e10d5"><div class="ttname"><a href="ecp__NUMS256W_8h.html#afbd0287ae3a8f827b3b3a22ceb6e10d5">ECP_NUMS256W_cfp</a></div><div class="ttdeci">void ECP_NUMS256W_cfp(ECP_NUMS256W *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:338</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_afbd0287ae3a8f827b3b3a22ceb6e10d5"><div class="ttname"><a href="ecp__NUMS256W_8h.html#afbd0287ae3a8f827b3b3a22ceb6e10d5">ECP_NUMS256W_cfp</a></div><div class="ttdeci">void ECP_NUMS256W_cfp(ECP_NUMS256W *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:338</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a69f0f5f6925e54c9e17b1ddadeb47988"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a69f0f5f6925e54c9e17b1ddadeb47988">CURVE_Pxa_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a3d9cf21e21af37dd15b61ca7e7169d12"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a3d9cf21e21af37dd15b61ca7e7169d12">CURVE_Pxaaa_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_a79e12667453337198cf66b1f98424fdd"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a79e12667453337198cf66b1f98424fdd">ECP_NUMS256W_equals</a></div><div class="ttdeci">int ECP_NUMS256W_equals(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:100</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_addcf4d22eb57e4ddc66cf94a5e9b8bd7"><div class="ttname"><a href="ecp__NUMS256W_8h.html#addcf4d22eb57e4ddc66cf94a5e9b8bd7">ECP_NUMS256W_outputxyz</a></div><div class="ttdeci">void ECP_NUMS256W_outputxyz(ECP_NUMS256W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:414</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_a79e12667453337198cf66b1f98424fdd"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a79e12667453337198cf66b1f98424fdd">ECP_NUMS256W_equals</a></div><div class="ttdeci">int ECP_NUMS256W_equals(ECP_NUMS256W *P, ECP_NUMS256W *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:100</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_addcf4d22eb57e4ddc66cf94a5e9b8bd7"><div class="ttname"><a href="ecp__NUMS256W_8h.html#addcf4d22eb57e4ddc66cf94a5e9b8bd7">ECP_NUMS256W_outputxyz</a></div><div class="ttdeci">void ECP_NUMS256W_outputxyz(ECP_NUMS256W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:414</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a64fbc8542f0cfc42fc5b7b21af438a3c"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a64fbc8542f0cfc42fc5b7b21af438a3c">CURVE_Pybaa_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_aecf87a32e152ca6a6b45c54a948c3606"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aecf87a32e152ca6a6b45c54a948c3606">Fra_256PMW</a></div><div class="ttdeci">const BIG_256_56 Fra_256PMW</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
@@ -141,16 +144,16 @@
 <div class="ttc" id="ecp__NUMS256W_8h_html_aec6bcd0f343a92c68ca058b848ef19f9"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aec6bcd0f343a92c68ca058b848ef19f9">CURVE_Pyaba_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_ad64885a54ffc9243ccade829dc0886a6"><div class="ttname"><a href="ecp__NUMS256W_8h.html#ad64885a54ffc9243ccade829dc0886a6">CURVE_Pyba_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_NUMS256W</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_aa831f69a52005c95fa98ae543877b62f"><div class="ttname"><a href="ecp__NUMS256W_8h.html#aa831f69a52005c95fa98ae543877b62f">CURVE_Pxaab_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_af3a5afee491bad3ed8c4e893249d70e6"><div class="ttname"><a href="ecp__NUMS256W_8h.html#af3a5afee491bad3ed8c4e893249d70e6">ECP_NUMS256W_neg</a></div><div class="ttdeci">void ECP_NUMS256W_neg(ECP_NUMS256W *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_af3a5afee491bad3ed8c4e893249d70e6"><div class="ttname"><a href="ecp__NUMS256W_8h.html#af3a5afee491bad3ed8c4e893249d70e6">ECP_NUMS256W_neg</a></div><div class="ttdeci">void ECP_NUMS256W_neg(ECP_NUMS256W *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a1631e79a2e51044715779e6f6d832103"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a1631e79a2e51044715779e6f6d832103">CURVE_Pxba_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_NUMS256W</div></div>
-<div class="ttc" id="ecp__NUMS256W_8h_html_acbba8173bd702add96f95d7d038c5eb2"><div class="ttname"><a href="ecp__NUMS256W_8h.html#acbba8173bd702add96f95d7d038c5eb2">ECP_NUMS256W_affine</a></div><div class="ttdeci">void ECP_NUMS256W_affine(ECP_NUMS256W *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:392</div></div>
+<div class="ttc" id="ecp__NUMS256W_8h_html_acbba8173bd702add96f95d7d038c5eb2"><div class="ttname"><a href="ecp__NUMS256W_8h.html#acbba8173bd702add96f95d7d038c5eb2">ECP_NUMS256W_affine</a></div><div class="ttdeci">void ECP_NUMS256W_affine(ECP_NUMS256W *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS256W.c:392</div></div>
 <div class="ttc" id="ecp__NUMS256W_8h_html_a42d2a06c9a02fc5e21a6cc5f3ae9e002"><div class="ttname"><a href="ecp__NUMS256W_8h.html#a42d2a06c9a02fc5e21a6cc5f3ae9e002">CURVE_Cof_NUMS256W</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_NUMS256W</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/ecp__NUMS384E_8h.html b/website/static/cdocs/ecp__NUMS384E_8h.html
index f440397..5ca5a0c 100644
--- a/website/static/cdocs/ecp__NUMS384E_8h.html
+++ b/website/static/cdocs/ecp__NUMS384E_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: ecp_NUMS384E.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"
@@ -1705,7 +1708,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/ecp__NUMS384E_8h_source.html b/website/static/cdocs/ecp__NUMS384E_8h_source.html
index aeefa23..54acf3b 100644
--- a/website/static/cdocs/ecp__NUMS384E_8h_source.html
+++ b/website/static/cdocs/ecp__NUMS384E_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: ecp_NUMS384E.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,42 +72,42 @@
 <div class="title">ecp_NUMS384E.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NUMS384E_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 ECP_NUMS384E_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS384E_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 &quot;<a class="code" href="fp__384PM_8h.html">fp_384PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS384E.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a78094b650c3bfb5f7b36627d08ea77fb">CURVE_A_NUMS384E</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aedc3af4bb82c50df6b92a6fa9d7b1e72">CURVE_Cof_I_NUMS384E</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a83b08a92916a040f046f7650205df366">CURVE_B_I_NUMS384E</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1a985b995ddedbe85678d71b6dce74b6">CURVE_B_NUMS384E</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#abefa8f3f10220b96c662b88156f30571">CURVE_Order_NUMS384E</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a99809dfb59ffca1a343a9a114a9ea114">CURVE_Cof_NUMS384E</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a3971340291af8522209a10c0acca1880">CURVE_Gx_NUMS384E</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a83a2f1de5e31c7aa209efc767c03f10e">CURVE_Gy_NUMS384E</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aabf7b955e8b63129c86fa1acb16daecb">CURVE_Pxa_NUMS384E</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a8a9825f44cd734e5d8ec4c07dfa56894">CURVE_Pxb_NUMS384E</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a36c3a22c83f0442699820bd1081f7ff1">CURVE_Pya_NUMS384E</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aa691b033f071126b3d495c18351f1ed9">CURVE_Pyb_NUMS384E</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab7ebffac539c06f2daba08af5a318b7a">CURVE_Pxaa_NUMS384E</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1e976c0fae7fbab8d018787106dba543">CURVE_Pxab_NUMS384E</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a33331d6095051c733866eb408a0cfb95">CURVE_Pxba_NUMS384E</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a2fe8ca559a26a35745dade32fd2d635e">CURVE_Pxbb_NUMS384E</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aa984372b8db1ad72fe5fb3bfca5ef86b">CURVE_Pyaa_NUMS384E</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a48f25d61f49026e4df7f8ca596a5d693">CURVE_Pyab_NUMS384E</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ada93248b2e7009dbb563eb7d860d3abd">CURVE_Pyba_NUMS384E</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a0be6d750cc6d1daa59ec3b2da9afd46f">CURVE_Pybb_NUMS384E</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a658dd81597939dc4e9fae48b5ba34af1">CURVE_Pxaaa_NUMS384E</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a5d689405693c52b492e70daf803dfb76">CURVE_Pxaab_NUMS384E</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a9e11106700f677861b75a4065a5f5773">CURVE_Pxaba_NUMS384E</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a56119282d33e376462a1185a567a3839">CURVE_Pxabb_NUMS384E</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a631e4f8d33d79920375a2c946b769e51">CURVE_Pxbaa_NUMS384E</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aed467d8a6b8867e57bc6ffde73541c6b">CURVE_Pxbab_NUMS384E</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab07a44fc349240bed207290cc3a552a8">CURVE_Pxbba_NUMS384E</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#afbdaa89b037d3281e4c60b75c573cb79">CURVE_Pxbbb_NUMS384E</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ad6c7d194efe873db4303bc591f67a120">CURVE_Pyaaa_NUMS384E</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ad88eac85e46913275c34896d4b412760">CURVE_Pyaab_NUMS384E</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a6108f1f7dad935e8d118dca45ebe4f1e">CURVE_Pyaba_NUMS384E</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#adb525103c49ab26215ddf11a2d91c79c">CURVE_Pyabb_NUMS384E</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a4ef83be4fb2305d03bb1bf00e2a57986">CURVE_Pybaa_NUMS384E</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a8daa9988c2a565bf3265e2eb44963d60">CURVE_Pybab_NUMS384E</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a7d50b9db5222e020374e561c14139369">CURVE_Pybba_NUMS384E</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a47071e8aae0af277b577f835ca7a8f74">CURVE_Pybbb_NUMS384E</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab36bf35213824484cb884c0c1315ec51">CURVE_Bnx_NUMS384E</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#afba5f29fab1cda69ba8c15bf96df7073">CURVE_Cru_NUMS384E</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1a0c501939bd902c7a5531b30971b662">Fra_384PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">Frb_384PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab0d9e1ee47416340686c9815f6cfda44">CURVE_W_NUMS384E</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1681bdeb2338f6546caba655534957ee">CURVE_SB_NUMS384E</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a5d444228da1225b3ea8d770eae8bc35a">CURVE_WB_NUMS384E</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab6781f8316322f6882f91545802f20f2">CURVE_BB_NUMS384E</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html#a2a38eb32917a0033c0718965682e22e3">  109</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384E.html#a2a38eb32917a0033c0718965682e22e3">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384E!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html#a51341b9fbd6d761fdc6eda99eb1e55af">  111</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384E.html#a51341b9fbd6d761fdc6eda99eb1e55af">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html#aab78b77f2ee0265660d1e7e258df6165">  113</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384E.html#aab78b77f2ee0265660d1e7e258df6165">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a975a7c0c87aab77d21d932b62b559e92">ECP_NUMS384E_isinf</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#ab0aee0eeea6041c006cfb75d5fa701ca">ECP_NUMS384E_equals</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#afc344325d709ab2c6e066a6ef4f09209">ECP_NUMS384E_copy</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</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="ecp__NUMS384E_8h.html#aed1d404deb1e3202361025830210f091">ECP_NUMS384E_neg</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</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="ecp__NUMS384E_8h.html#a95021491d81dcaed5660e7ff58869b82">ECP_NUMS384E_inf</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a1a248732f0261cf32a424610b0477263">ECP_NUMS384E_rhs</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *r,<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384E==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a5e062063cf6cf8707ac60753bca23246">ECP_NUMS384E_set</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aff28711815fd58860cb3f49be43ae16f">ECP_NUMS384E_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a0bd99516746645dd1cf6e30e481fe061">ECP_NUMS384E_add</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a5e062063cf6cf8707ac60753bca23246">ECP_NUMS384E_set</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aff28711815fd58860cb3f49be43ae16f">ECP_NUMS384E_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a0bd99516746645dd1cf6e30e481fe061">ECP_NUMS384E_add</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</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="ecp__NUMS384E_8h.html#a6e9bce2cb4d3f08bd7d1f746dfe36b3e">ECP_NUMS384E_sub</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a94ea5ea7ac7184f0077e417ce2d4f9ec">ECP_NUMS384E_setx</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#acb83e5d5a759998a9267fa5240005f81">ECP_NUMS384E_cfp</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a6f7b44b21566c0f0bdf0356c9769f2a4">ECP_NUMS384E_mapit</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#af71d377ba030495aacde26007378af7f">ECP_NUMS384E_affine</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#ad65414b570a0d2ab684ff8e6fe128bcb">ECP_NUMS384E_outputxyz</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</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="ecp__NUMS384E_8h.html#a19b9d55a68a500aaa3f58ae162f20945">ECP_NUMS384E_output</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#aea8191644d0943c8f4d6d096cce34efb">ECP_NUMS384E_rawoutput</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a58893c262f8d6267e26eee60b52a1bb6">ECP_NUMS384E_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aa39ad03c3c863a7ea91da8f8a00711c7">ECP_NUMS384E_fromOctet</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a6529c61b847c2da725006b483781f387">ECP_NUMS384E_dbl</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a6a3acb256b53d3e8cf1c1fef4787e77e">ECP_NUMS384E_pinmul</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a16bd48f40fa911c8e32f1a13e4071d5d">ECP_NUMS384E_mul</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a194ebcfd3060ce22a25ed4381373fa1c">ECP_NUMS384E_mul2</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a3d84d6dcc3cf815bc6be749eeaebdde3">ECP_NUMS384E_generator</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS384E_8h_html_abefa8f3f10220b96c662b88156f30571"><div class="ttname"><a href="ecp__NUMS384E_8h.html#abefa8f3f10220b96c662b88156f30571">CURVE_Order_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Order_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a0bd99516746645dd1cf6e30e481fe061"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a0bd99516746645dd1cf6e30e481fe061">ECP_NUMS384E_add</a></div><div class="ttdeci">void ECP_NUMS384E_add(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
+<a href="ecp__NUMS384E_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 ECP_NUMS384E_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS384E_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 &quot;<a class="code" href="fp__384PM_8h.html">fp_384PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS384E.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a78094b650c3bfb5f7b36627d08ea77fb">CURVE_A_NUMS384E</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aedc3af4bb82c50df6b92a6fa9d7b1e72">CURVE_Cof_I_NUMS384E</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a83b08a92916a040f046f7650205df366">CURVE_B_I_NUMS384E</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1a985b995ddedbe85678d71b6dce74b6">CURVE_B_NUMS384E</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#abefa8f3f10220b96c662b88156f30571">CURVE_Order_NUMS384E</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a99809dfb59ffca1a343a9a114a9ea114">CURVE_Cof_NUMS384E</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a3971340291af8522209a10c0acca1880">CURVE_Gx_NUMS384E</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a83a2f1de5e31c7aa209efc767c03f10e">CURVE_Gy_NUMS384E</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aabf7b955e8b63129c86fa1acb16daecb">CURVE_Pxa_NUMS384E</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a8a9825f44cd734e5d8ec4c07dfa56894">CURVE_Pxb_NUMS384E</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a36c3a22c83f0442699820bd1081f7ff1">CURVE_Pya_NUMS384E</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aa691b033f071126b3d495c18351f1ed9">CURVE_Pyb_NUMS384E</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab7ebffac539c06f2daba08af5a318b7a">CURVE_Pxaa_NUMS384E</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1e976c0fae7fbab8d018787106dba543">CURVE_Pxab_NUMS384E</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a33331d6095051c733866eb408a0cfb95">CURVE_Pxba_NUMS384E</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a2fe8ca559a26a35745dade32fd2d635e">CURVE_Pxbb_NUMS384E</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aa984372b8db1ad72fe5fb3bfca5ef86b">CURVE_Pyaa_NUMS384E</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a48f25d61f49026e4df7f8ca596a5d693">CURVE_Pyab_NUMS384E</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ada93248b2e7009dbb563eb7d860d3abd">CURVE_Pyba_NUMS384E</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a0be6d750cc6d1daa59ec3b2da9afd46f">CURVE_Pybb_NUMS384E</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a658dd81597939dc4e9fae48b5ba34af1">CURVE_Pxaaa_NUMS384E</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a5d689405693c52b492e70daf803dfb76">CURVE_Pxaab_NUMS384E</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a9e11106700f677861b75a4065a5f5773">CURVE_Pxaba_NUMS384E</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a56119282d33e376462a1185a567a3839">CURVE_Pxabb_NUMS384E</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a631e4f8d33d79920375a2c946b769e51">CURVE_Pxbaa_NUMS384E</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#aed467d8a6b8867e57bc6ffde73541c6b">CURVE_Pxbab_NUMS384E</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab07a44fc349240bed207290cc3a552a8">CURVE_Pxbba_NUMS384E</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#afbdaa89b037d3281e4c60b75c573cb79">CURVE_Pxbbb_NUMS384E</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ad6c7d194efe873db4303bc591f67a120">CURVE_Pyaaa_NUMS384E</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ad88eac85e46913275c34896d4b412760">CURVE_Pyaab_NUMS384E</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a6108f1f7dad935e8d118dca45ebe4f1e">CURVE_Pyaba_NUMS384E</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#adb525103c49ab26215ddf11a2d91c79c">CURVE_Pyabb_NUMS384E</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a4ef83be4fb2305d03bb1bf00e2a57986">CURVE_Pybaa_NUMS384E</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a8daa9988c2a565bf3265e2eb44963d60">CURVE_Pybab_NUMS384E</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a7d50b9db5222e020374e561c14139369">CURVE_Pybba_NUMS384E</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a47071e8aae0af277b577f835ca7a8f74">CURVE_Pybbb_NUMS384E</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab36bf35213824484cb884c0c1315ec51">CURVE_Bnx_NUMS384E</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#afba5f29fab1cda69ba8c15bf96df7073">CURVE_Cru_NUMS384E</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1a0c501939bd902c7a5531b30971b662">Fra_384PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">Frb_384PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab0d9e1ee47416340686c9815f6cfda44">CURVE_W_NUMS384E</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a1681bdeb2338f6546caba655534957ee">CURVE_SB_NUMS384E</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#a5d444228da1225b3ea8d770eae8bc35a">CURVE_WB_NUMS384E</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384E_8h.html#ab6781f8316322f6882f91545802f20f2">CURVE_BB_NUMS384E</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html#a2a38eb32917a0033c0718965682e22e3">  109</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384E.html#a2a38eb32917a0033c0718965682e22e3">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384E!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html#a51341b9fbd6d761fdc6eda99eb1e55af">  111</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384E.html#a51341b9fbd6d761fdc6eda99eb1e55af">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS384E.html#aab78b77f2ee0265660d1e7e258df6165">  113</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384E.html#aab78b77f2ee0265660d1e7e258df6165">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a975a7c0c87aab77d21d932b62b559e92">ECP_NUMS384E_isinf</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#ab0aee0eeea6041c006cfb75d5fa701ca">ECP_NUMS384E_equals</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#afc344325d709ab2c6e066a6ef4f09209">ECP_NUMS384E_copy</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</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="ecp__NUMS384E_8h.html#aed1d404deb1e3202361025830210f091">ECP_NUMS384E_neg</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</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="ecp__NUMS384E_8h.html#a95021491d81dcaed5660e7ff58869b82">ECP_NUMS384E_inf</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a1a248732f0261cf32a424610b0477263">ECP_NUMS384E_rhs</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *r,<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384E==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a5e062063cf6cf8707ac60753bca23246">ECP_NUMS384E_set</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aff28711815fd58860cb3f49be43ae16f">ECP_NUMS384E_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a0bd99516746645dd1cf6e30e481fe061">ECP_NUMS384E_add</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a5e062063cf6cf8707ac60753bca23246">ECP_NUMS384E_set</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aff28711815fd58860cb3f49be43ae16f">ECP_NUMS384E_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a0bd99516746645dd1cf6e30e481fe061">ECP_NUMS384E_add</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</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="ecp__NUMS384E_8h.html#a6e9bce2cb4d3f08bd7d1f746dfe36b3e">ECP_NUMS384E_sub</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#a94ea5ea7ac7184f0077e417ce2d4f9ec">ECP_NUMS384E_setx</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#acb83e5d5a759998a9267fa5240005f81">ECP_NUMS384E_cfp</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a6f7b44b21566c0f0bdf0356c9769f2a4">ECP_NUMS384E_mapit</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#af71d377ba030495aacde26007378af7f">ECP_NUMS384E_affine</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#ad65414b570a0d2ab684ff8e6fe128bcb">ECP_NUMS384E_outputxyz</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</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="ecp__NUMS384E_8h.html#a19b9d55a68a500aaa3f58ae162f20945">ECP_NUMS384E_output</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#aea8191644d0943c8f4d6d096cce34efb">ECP_NUMS384E_rawoutput</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a58893c262f8d6267e26eee60b52a1bb6">ECP_NUMS384E_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384E_8h.html#aa39ad03c3c863a7ea91da8f8a00711c7">ECP_NUMS384E_fromOctet</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a6529c61b847c2da725006b483781f387">ECP_NUMS384E_dbl</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a6a3acb256b53d3e8cf1c1fef4787e77e">ECP_NUMS384E_pinmul</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a16bd48f40fa911c8e32f1a13e4071d5d">ECP_NUMS384E_mul</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a194ebcfd3060ce22a25ed4381373fa1c">ECP_NUMS384E_mul2</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *P,<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *Q,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384E_8h.html#a3d84d6dcc3cf815bc6be749eeaebdde3">ECP_NUMS384E_generator</a>(<a class="code" href="structECP__NUMS384E.html">ECP_NUMS384E</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS384E_8h_html_abefa8f3f10220b96c662b88156f30571"><div class="ttname"><a href="ecp__NUMS384E_8h.html#abefa8f3f10220b96c662b88156f30571">CURVE_Order_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Order_NUMS384E</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a0bd99516746645dd1cf6e30e481fe061"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a0bd99516746645dd1cf6e30e481fe061">ECP_NUMS384E_add</a></div><div class="ttdeci">void ECP_NUMS384E_add(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a1e976c0fae7fbab8d018787106dba543"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a1e976c0fae7fbab8d018787106dba543">CURVE_Pxab_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxab_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a194ebcfd3060ce22a25ed4381373fa1c"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a194ebcfd3060ce22a25ed4381373fa1c">ECP_NUMS384E_mul2</a></div><div class="ttdeci">void ECP_NUMS384E_mul2(ECP_NUMS384E *P, ECP_NUMS384E *Q, BIG_384_56 e, BIG_384_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a975a7c0c87aab77d21d932b62b559e92"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a975a7c0c87aab77d21d932b62b559e92">ECP_NUMS384E_isinf</a></div><div class="ttdeci">int ECP_NUMS384E_isinf(ECP_NUMS384E *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:28</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a194ebcfd3060ce22a25ed4381373fa1c"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a194ebcfd3060ce22a25ed4381373fa1c">ECP_NUMS384E_mul2</a></div><div class="ttdeci">void ECP_NUMS384E_mul2(ECP_NUMS384E *P, ECP_NUMS384E *Q, BIG_384_56 e, BIG_384_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a975a7c0c87aab77d21d932b62b559e92"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a975a7c0c87aab77d21d932b62b559e92">ECP_NUMS384E_isinf</a></div><div class="ttdeci">int ECP_NUMS384E_isinf(ECP_NUMS384E *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:28</div></div>
 <div class="ttc" id="structECP__NUMS384E_html_aab78b77f2ee0265660d1e7e258df6165"><div class="ttname"><a href="structECP__NUMS384E.html#aab78b77f2ee0265660d1e7e258df6165">ECP_NUMS384E::z</a></div><div class="ttdeci">FP_384PM z</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.h:113</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_af71d377ba030495aacde26007378af7f"><div class="ttname"><a href="ecp__NUMS384E_8h.html#af71d377ba030495aacde26007378af7f">ECP_NUMS384E_affine</a></div><div class="ttdeci">void ECP_NUMS384E_affine(ECP_NUMS384E *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:392</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_af71d377ba030495aacde26007378af7f"><div class="ttname"><a href="ecp__NUMS384E_8h.html#af71d377ba030495aacde26007378af7f">ECP_NUMS384E_affine</a></div><div class="ttdeci">void ECP_NUMS384E_affine(ECP_NUMS384E *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:392</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ab2c91372f29cbf8b6d44ec4bc2e387b1"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">Frb_384PM</a></div><div class="ttdeci">const BIG_384_56 Frb_384PM</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a94ea5ea7ac7184f0077e417ce2d4f9ec"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a94ea5ea7ac7184f0077e417ce2d4f9ec">ECP_NUMS384E_setx</a></div><div class="ttdeci">int ECP_NUMS384E_setx(ECP_NUMS384E *P, BIG_384_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_aed1d404deb1e3202361025830210f091"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aed1d404deb1e3202361025830210f091">ECP_NUMS384E_neg</a></div><div class="ttdeci">void ECP_NUMS384E_neg(ECP_NUMS384E *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a16bd48f40fa911c8e32f1a13e4071d5d"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a16bd48f40fa911c8e32f1a13e4071d5d">ECP_NUMS384E_mul</a></div><div class="ttdeci">void ECP_NUMS384E_mul(ECP_NUMS384E *P, BIG_384_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:1021</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a19b9d55a68a500aaa3f58ae162f20945"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a19b9d55a68a500aaa3f58ae162f20945">ECP_NUMS384E_output</a></div><div class="ttdeci">void ECP_NUMS384E_output(ECP_NUMS384E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:450</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a94ea5ea7ac7184f0077e417ce2d4f9ec"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a94ea5ea7ac7184f0077e417ce2d4f9ec">ECP_NUMS384E_setx</a></div><div class="ttdeci">int ECP_NUMS384E_setx(ECP_NUMS384E *P, BIG_384_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_aed1d404deb1e3202361025830210f091"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aed1d404deb1e3202361025830210f091">ECP_NUMS384E_neg</a></div><div class="ttdeci">void ECP_NUMS384E_neg(ECP_NUMS384E *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a16bd48f40fa911c8e32f1a13e4071d5d"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a16bd48f40fa911c8e32f1a13e4071d5d">ECP_NUMS384E_mul</a></div><div class="ttdeci">void ECP_NUMS384E_mul(ECP_NUMS384E *P, BIG_384_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:1021</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a19b9d55a68a500aaa3f58ae162f20945"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a19b9d55a68a500aaa3f58ae162f20945">ECP_NUMS384E_output</a></div><div class="ttdeci">void ECP_NUMS384E_output(ECP_NUMS384E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:450</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a58893c262f8d6267e26eee60b52a1bb6"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a58893c262f8d6267e26eee60b52a1bb6">ECP_NUMS384E_toOctet</a></div><div class="ttdeci">void ECP_NUMS384E_toOctet(octet *S, ECP_NUMS384E *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:507</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a78094b650c3bfb5f7b36627d08ea77fb"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a78094b650c3bfb5f7b36627d08ea77fb">CURVE_A_NUMS384E</a></div><div class="ttdeci">const int CURVE_A_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a6529c61b847c2da725006b483781f387"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6529c61b847c2da725006b483781f387">ECP_NUMS384E_dbl</a></div><div class="ttdeci">void ECP_NUMS384E_dbl(ECP_NUMS384E *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:564</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a6529c61b847c2da725006b483781f387"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6529c61b847c2da725006b483781f387">ECP_NUMS384E_dbl</a></div><div class="ttdeci">void ECP_NUMS384E_dbl(ECP_NUMS384E *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:564</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_aa691b033f071126b3d495c18351f1ed9"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aa691b033f071126b3d495c18351f1ed9">CURVE_Pyb_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyb_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ad6c7d194efe873db4303bc591f67a120"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ad6c7d194efe873db4303bc591f67a120">CURVE_Pyaaa_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaaa_NUMS384E</div></div>
-<div class="ttc" id="structECP__NUMS384E_html"><div class="ttname"><a href="structECP__NUMS384E.html">ECP_NUMS384E</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.h:105</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_acb83e5d5a759998a9267fa5240005f81"><div class="ttname"><a href="ecp__NUMS384E_8h.html#acb83e5d5a759998a9267fa5240005f81">ECP_NUMS384E_cfp</a></div><div class="ttdeci">void ECP_NUMS384E_cfp(ECP_NUMS384E *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:338</div></div>
+<div class="ttc" id="structECP__NUMS384E_html"><div class="ttname"><a href="structECP__NUMS384E.html">ECP_NUMS384E</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.h:105</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_acb83e5d5a759998a9267fa5240005f81"><div class="ttname"><a href="ecp__NUMS384E_8h.html#acb83e5d5a759998a9267fa5240005f81">ECP_NUMS384E_cfp</a></div><div class="ttdeci">void ECP_NUMS384E_cfp(ECP_NUMS384E *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:338</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a4ef83be4fb2305d03bb1bf00e2a57986"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a4ef83be4fb2305d03bb1bf00e2a57986">CURVE_Pybaa_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybaa_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_afbdaa89b037d3281e4c60b75c573cb79"><div class="ttname"><a href="ecp__NUMS384E_8h.html#afbdaa89b037d3281e4c60b75c573cb79">CURVE_Pxbbb_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbbb_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a56119282d33e376462a1185a567a3839"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a56119282d33e376462a1185a567a3839">CURVE_Pxabb_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxabb_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a6e9bce2cb4d3f08bd7d1f746dfe36b3e"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6e9bce2cb4d3f08bd7d1f746dfe36b3e">ECP_NUMS384E_sub</a></div><div class="ttdeci">void ECP_NUMS384E_sub(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a6e9bce2cb4d3f08bd7d1f746dfe36b3e"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6e9bce2cb4d3f08bd7d1f746dfe36b3e">ECP_NUMS384E_sub</a></div><div class="ttdeci">void ECP_NUMS384E_sub(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ab36bf35213824484cb884c0c1315ec51"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab36bf35213824484cb884c0c1315ec51">CURVE_Bnx_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Bnx_NUMS384E</div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a0be6d750cc6d1daa59ec3b2da9afd46f"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a0be6d750cc6d1daa59ec3b2da9afd46f">CURVE_Pybb_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybb_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a658dd81597939dc4e9fae48b5ba34af1"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a658dd81597939dc4e9fae48b5ba34af1">CURVE_Pxaaa_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaaa_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_aedc3af4bb82c50df6b92a6fa9d7b1e72"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aedc3af4bb82c50df6b92a6fa9d7b1e72">CURVE_Cof_I_NUMS384E</a></div><div class="ttdeci">const int CURVE_Cof_I_NUMS384E</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="ecp__NUMS384E_8h_html_ab0d9e1ee47416340686c9815f6cfda44"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab0d9e1ee47416340686c9815f6cfda44">CURVE_W_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_W_NUMS384E[2]</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ad88eac85e46913275c34896d4b412760"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ad88eac85e46913275c34896d4b412760">CURVE_Pyaab_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaab_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ada93248b2e7009dbb563eb7d860d3abd"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ada93248b2e7009dbb563eb7d860d3abd">CURVE_Pyba_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyba_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a2fe8ca559a26a35745dade32fd2d635e"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a2fe8ca559a26a35745dade32fd2d635e">CURVE_Pxbb_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbb_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a5e062063cf6cf8707ac60753bca23246"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a5e062063cf6cf8707ac60753bca23246">ECP_NUMS384E_set</a></div><div class="ttdeci">int ECP_NUMS384E_set(ECP_NUMS384E *P, BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a5e062063cf6cf8707ac60753bca23246"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a5e062063cf6cf8707ac60753bca23246">ECP_NUMS384E_set</a></div><div class="ttdeci">int ECP_NUMS384E_set(ECP_NUMS384E *P, BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ab7ebffac539c06f2daba08af5a318b7a"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab7ebffac539c06f2daba08af5a318b7a">CURVE_Pxaa_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaa_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_afc344325d709ab2c6e066a6ef4f09209"><div class="ttname"><a href="ecp__NUMS384E_8h.html#afc344325d709ab2c6e066a6ef4f09209">ECP_NUMS384E_copy</a></div><div class="ttdeci">void ECP_NUMS384E_copy(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:120</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_afc344325d709ab2c6e066a6ef4f09209"><div class="ttname"><a href="ecp__NUMS384E_8h.html#afc344325d709ab2c6e066a6ef4f09209">ECP_NUMS384E_copy</a></div><div class="ttdeci">void ECP_NUMS384E_copy(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:120</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a83b08a92916a040f046f7650205df366"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a83b08a92916a040f046f7650205df366">CURVE_B_I_NUMS384E</a></div><div class="ttdeci">const int CURVE_B_I_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a5d444228da1225b3ea8d770eae8bc35a"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a5d444228da1225b3ea8d770eae8bc35a">CURVE_WB_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_WB_NUMS384E[4]</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a631e4f8d33d79920375a2c946b769e51"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a631e4f8d33d79920375a2c946b769e51">CURVE_Pxbaa_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbaa_NUMS384E</div></div>
@@ -118,39 +121,39 @@
 <div class="ttc" id="ecp__NUMS384E_8h_html_afba5f29fab1cda69ba8c15bf96df7073"><div class="ttname"><a href="ecp__NUMS384E_8h.html#afba5f29fab1cda69ba8c15bf96df7073">CURVE_Cru_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Cru_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a5d689405693c52b492e70daf803dfb76"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a5d689405693c52b492e70daf803dfb76">CURVE_Pxaab_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaab_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a6108f1f7dad935e8d118dca45ebe4f1e"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6108f1f7dad935e8d118dca45ebe4f1e">CURVE_Pyaba_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaba_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_ad65414b570a0d2ab684ff8e6fe128bcb"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ad65414b570a0d2ab684ff8e6fe128bcb">ECP_NUMS384E_outputxyz</a></div><div class="ttdeci">void ECP_NUMS384E_outputxyz(ECP_NUMS384E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:414</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_ad65414b570a0d2ab684ff8e6fe128bcb"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ad65414b570a0d2ab684ff8e6fe128bcb">ECP_NUMS384E_outputxyz</a></div><div class="ttdeci">void ECP_NUMS384E_outputxyz(ECP_NUMS384E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:414</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a1a0c501939bd902c7a5531b30971b662"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a1a0c501939bd902c7a5531b30971b662">Fra_384PM</a></div><div class="ttdeci">const BIG_384_56 Fra_384PM</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_aff28711815fd58860cb3f49be43ae16f"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aff28711815fd58860cb3f49be43ae16f">ECP_NUMS384E_get</a></div><div class="ttdeci">int ECP_NUMS384E_get(BIG_384_56 x, BIG_384_56 y, ECP_NUMS384E *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_aff28711815fd58860cb3f49be43ae16f"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aff28711815fd58860cb3f49be43ae16f">ECP_NUMS384E_get</a></div><div class="ttdeci">int ECP_NUMS384E_get(BIG_384_56 x, BIG_384_56 y, ECP_NUMS384E *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ab07a44fc349240bed207290cc3a552a8"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab07a44fc349240bed207290cc3a552a8">CURVE_Pxbba_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbba_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_aabf7b955e8b63129c86fa1acb16daecb"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aabf7b955e8b63129c86fa1acb16daecb">CURVE_Pxa_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxa_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a83a2f1de5e31c7aa209efc767c03f10e"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a83a2f1de5e31c7aa209efc767c03f10e">CURVE_Gy_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Gy_NUMS384E</div></div>
-<div class="ttc" id="fp__384PM_8h_html"><div class="ttname"><a href="fp__384PM_8h.html">fp_384PM.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__384PM_8h_html"><div class="ttname"><a href="fp__384PM_8h.html">fp_384PM.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="structECP__NUMS384E_html_a51341b9fbd6d761fdc6eda99eb1e55af"><div class="ttname"><a href="structECP__NUMS384E.html#a51341b9fbd6d761fdc6eda99eb1e55af">ECP_NUMS384E::y</a></div><div class="ttdeci">FP_384PM y</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.h:111</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_ab0aee0eeea6041c006cfb75d5fa701ca"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab0aee0eeea6041c006cfb75d5fa701ca">ECP_NUMS384E_equals</a></div><div class="ttdeci">int ECP_NUMS384E_equals(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:100</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_aea8191644d0943c8f4d6d096cce34efb"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aea8191644d0943c8f4d6d096cce34efb">ECP_NUMS384E_rawoutput</a></div><div class="ttdeci">void ECP_NUMS384E_rawoutput(ECP_NUMS384E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:478</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a1a248732f0261cf32a424610b0477263"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a1a248732f0261cf32a424610b0477263">ECP_NUMS384E_rhs</a></div><div class="ttdeci">void ECP_NUMS384E_rhs(FP_384PM *r, FP_384PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:161</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_ab0aee0eeea6041c006cfb75d5fa701ca"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab0aee0eeea6041c006cfb75d5fa701ca">ECP_NUMS384E_equals</a></div><div class="ttdeci">int ECP_NUMS384E_equals(ECP_NUMS384E *P, ECP_NUMS384E *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:100</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_aea8191644d0943c8f4d6d096cce34efb"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aea8191644d0943c8f4d6d096cce34efb">ECP_NUMS384E_rawoutput</a></div><div class="ttdeci">void ECP_NUMS384E_rawoutput(ECP_NUMS384E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:478</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a1a248732f0261cf32a424610b0477263"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a1a248732f0261cf32a424610b0477263">ECP_NUMS384E_rhs</a></div><div class="ttdeci">void ECP_NUMS384E_rhs(FP_384PM *r, FP_384PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:161</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a99809dfb59ffca1a343a9a114a9ea114"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a99809dfb59ffca1a343a9a114a9ea114">CURVE_Cof_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Cof_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a36c3a22c83f0442699820bd1081f7ff1"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a36c3a22c83f0442699820bd1081f7ff1">CURVE_Pya_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pya_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a48f25d61f49026e4df7f8ca596a5d693"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a48f25d61f49026e4df7f8ca596a5d693">CURVE_Pyab_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyab_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a95021491d81dcaed5660e7ff58869b82"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a95021491d81dcaed5660e7ff58869b82">ECP_NUMS384E_inf</a></div><div class="ttdeci">void ECP_NUMS384E_inf(ECP_NUMS384E *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:146</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a95021491d81dcaed5660e7ff58869b82"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a95021491d81dcaed5660e7ff58869b82">ECP_NUMS384E_inf</a></div><div class="ttdeci">void ECP_NUMS384E_inf(ECP_NUMS384E *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:146</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_ab6781f8316322f6882f91545802f20f2"><div class="ttname"><a href="ecp__NUMS384E_8h.html#ab6781f8316322f6882f91545802f20f2">CURVE_BB_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_BB_NUMS384E[4][4]</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a8daa9988c2a565bf3265e2eb44963d60"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a8daa9988c2a565bf3265e2eb44963d60">CURVE_Pybab_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybab_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a8a9825f44cd734e5d8ec4c07dfa56894"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a8a9825f44cd734e5d8ec4c07dfa56894">CURVE_Pxb_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxb_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a3d84d6dcc3cf815bc6be749eeaebdde3"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a3d84d6dcc3cf815bc6be749eeaebdde3">ECP_NUMS384E_generator</a></div><div class="ttdeci">void ECP_NUMS384E_generator(ECP_NUMS384E *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:1221</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a6f7b44b21566c0f0bdf0356c9769f2a4"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6f7b44b21566c0f0bdf0356c9769f2a4">ECP_NUMS384E_mapit</a></div><div class="ttdeci">void ECP_NUMS384E_mapit(ECP_NUMS384E *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:365</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a3d84d6dcc3cf815bc6be749eeaebdde3"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a3d84d6dcc3cf815bc6be749eeaebdde3">ECP_NUMS384E_generator</a></div><div class="ttdeci">void ECP_NUMS384E_generator(ECP_NUMS384E *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:1221</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a6f7b44b21566c0f0bdf0356c9769f2a4"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6f7b44b21566c0f0bdf0356c9769f2a4">ECP_NUMS384E_mapit</a></div><div class="ttdeci">void ECP_NUMS384E_mapit(ECP_NUMS384E *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:365</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a1a985b995ddedbe85678d71b6dce74b6"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a1a985b995ddedbe85678d71b6dce74b6">CURVE_B_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_B_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a9e11106700f677861b75a4065a5f5773"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a9e11106700f677861b75a4065a5f5773">CURVE_Pxaba_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaba_NUMS384E</div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a33331d6095051c733866eb408a0cfb95"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a33331d6095051c733866eb408a0cfb95">CURVE_Pxba_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxba_NUMS384E</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_aa39ad03c3c863a7ea91da8f8a00711c7"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aa39ad03c3c863a7ea91da8f8a00711c7">ECP_NUMS384E_fromOctet</a></div><div class="ttdeci">int ECP_NUMS384E_fromOctet(ECP_NUMS384E *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:537</div></div>
-<div class="ttc" id="ecp__NUMS384E_8h_html_a6a3acb256b53d3e8cf1c1fef4787e77e"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6a3acb256b53d3e8cf1c1fef4787e77e">ECP_NUMS384E_pinmul</a></div><div class="ttdeci">void ECP_NUMS384E_pinmul(ECP_NUMS384E *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_aa39ad03c3c863a7ea91da8f8a00711c7"><div class="ttname"><a href="ecp__NUMS384E_8h.html#aa39ad03c3c863a7ea91da8f8a00711c7">ECP_NUMS384E_fromOctet</a></div><div class="ttdeci">int ECP_NUMS384E_fromOctet(ECP_NUMS384E *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384E.c:537</div></div>
+<div class="ttc" id="ecp__NUMS384E_8h_html_a6a3acb256b53d3e8cf1c1fef4787e77e"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a6a3acb256b53d3e8cf1c1fef4787e77e">ECP_NUMS384E_pinmul</a></div><div class="ttdeci">void ECP_NUMS384E_pinmul(ECP_NUMS384E *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NUMS384E_8h_html_a7d50b9db5222e020374e561c14139369"><div class="ttname"><a href="ecp__NUMS384E_8h.html#a7d50b9db5222e020374e561c14139369">CURVE_Pybba_NUMS384E</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybba_NUMS384E</div></div>
-<div class="ttc" id="structFP__384PM_html"><div class="ttname"><a href="structFP__384PM.html">FP_384PM</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_384PM.h:38</div></div>
+<div class="ttc" id="structFP__384PM_html"><div class="ttname"><a href="structFP__384PM.html">FP_384PM</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_384PM.h:38</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/ecp__NUMS384W_8h.html b/website/static/cdocs/ecp__NUMS384W_8h.html
index 5c1528b..2ff9360 100644
--- a/website/static/cdocs/ecp__NUMS384W_8h.html
+++ b/website/static/cdocs/ecp__NUMS384W_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: ecp_NUMS384W.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"
@@ -1705,7 +1708,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/ecp__NUMS384W_8h_source.html b/website/static/cdocs/ecp__NUMS384W_8h_source.html
index b438fd7..e6691a3 100644
--- a/website/static/cdocs/ecp__NUMS384W_8h_source.html
+++ b/website/static/cdocs/ecp__NUMS384W_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: ecp_NUMS384W.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,10 +72,10 @@
 <div class="title">ecp_NUMS384W.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NUMS384W_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 ECP_NUMS384W_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS384W_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 &quot;<a class="code" href="fp__384PM_8h.html">fp_384PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS384W.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a8c2e0e300f8933b0c80675e290830df3">CURVE_A_NUMS384W</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aeb2c2dc0644adad50fa920cbea42e10e">CURVE_Cof_I_NUMS384W</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aad8842ff4db4ee15dbf72573cf9994bf">CURVE_B_I_NUMS384W</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a571a805b550af66a9f3b255bed07f7bf">CURVE_B_NUMS384W</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a5ff1bb783c6feaf01ddf0eb1d06793a6">CURVE_Order_NUMS384W</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ac9ad4e3b73c104eb2be0a0054c2d26e2">CURVE_Cof_NUMS384W</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#acf91e3ff5f250dc8eff09a5b7b497729">CURVE_Gx_NUMS384W</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a19d690748f8904edb6c21d24d925a23f">CURVE_Gy_NUMS384W</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#acfb26a6e1257a7a22ea77758fdf67ca7">CURVE_Pxa_NUMS384W</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a3e6f6eb142f9f9b547fccee4686ad274">CURVE_Pxb_NUMS384W</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a04f05337019f1124e9b91cb33336b985">CURVE_Pya_NUMS384W</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ad6b6195d9c635aa0d883eb3090e45b30">CURVE_Pyb_NUMS384W</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ad6a1d8ab8556651018f18f1687491005">CURVE_Pxaa_NUMS384W</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#af1a18d61ef9a2dd4b2a1dba1b61254cc">CURVE_Pxab_NUMS384W</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a7a80f0b481ae69c5e0610cd368a53364">CURVE_Pxba_NUMS384W</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#afa1457c4e6c6e19b5d1ab9d486f86d0e">CURVE_Pxbb_NUMS384W</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ab8617f4f9f264e0f31f5ff5154af5b1c">CURVE_Pyaa_NUMS384W</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a77a231caff8f3310c3c1a7b23728054c">CURVE_Pyab_NUMS384W</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a056ee4fd9a2652c714dc8782e897c314">CURVE_Pyba_NUMS384W</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a13b7cfd551b71dd8720e89da26bdb912">CURVE_Pybb_NUMS384W</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a3ba11480d1821d9a2c18e94ea04f00a7">CURVE_Pxaaa_NUMS384W</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a1a36c2e43d7e77af286b3791a26b467f">CURVE_Pxaab_NUMS384W</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#af28992f099912669b9106f2fa8252c1d">CURVE_Pxaba_NUMS384W</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ae07366e319397529455be1a3b462fe41">CURVE_Pxabb_NUMS384W</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#aa797a6815ab72a36c0a75a56bd9fdb57">CURVE_Pxbaa_NUMS384W</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a5417ecd74a83a0d72f6406d886ed490b">CURVE_Pxbab_NUMS384W</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ae1158a954d986a4cb7157de83df73ae4">CURVE_Pxbba_NUMS384W</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a1decf7a40c851759b56208eb88b12d85">CURVE_Pxbbb_NUMS384W</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a220816fec1957064b090d6cf0f1034d1">CURVE_Pyaaa_NUMS384W</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#aaa2dceea1607b8287013a45060f54d46">CURVE_Pyaab_NUMS384W</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a3dfb3e8dcc26c103ca943f6a348396eb">CURVE_Pyaba_NUMS384W</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a9d543c3d78735bbdc24edc6e2859eb2f">CURVE_Pyabb_NUMS384W</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a48fac776986677aba1b5222042936202">CURVE_Pybaa_NUMS384W</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a78577e3ed8118042b2152f7907ed5c50">CURVE_Pybab_NUMS384W</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#afa490ce69aca2c082dcd4d9effb811e7">CURVE_Pybba_NUMS384W</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a9d52860c9ee1ce15d9b2c80bb33a8ed3">CURVE_Pybbb_NUMS384W</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a8df16083f26bc84dbf8f7408fb088451">CURVE_Bnx_NUMS384W</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a0ff286ef8ab79c9044ed6669e077cba0">CURVE_Cru_NUMS384W</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a1a0c501939bd902c7a5531b30971b662">Fra_384PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">Frb_384PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#aca2ecdbfb6064c0ebc12f17497e15b66">CURVE_W_NUMS384W</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a0fddfff9c16775bf765d4535a4a0bc5b">CURVE_SB_NUMS384W</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#adbdcb4e055ef9009dc5f8a1fe2088064">CURVE_WB_NUMS384W</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a20b6f8ffd8630c3b685088938d3ae59e">CURVE_BB_NUMS384W</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html#a6a6c05125268f6fd634e9deb85954b9c">  109</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384W.html#a6a6c05125268f6fd634e9deb85954b9c">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384W!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html#a32d1bd177f22b0c7b5df5344864cc630">  111</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384W.html#a32d1bd177f22b0c7b5df5344864cc630">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html#a86ecf6ce6ea87387a0d0fd600902a6b0">  113</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384W.html#a86ecf6ce6ea87387a0d0fd600902a6b0">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#af1baa9e91cb78758fc64a9e1f1b5aed9">ECP_NUMS384W_isinf</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a989801300a8b3892ed52557ba789b57c">ECP_NUMS384W_equals</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ad8b71b164ac88cf1164f36481f574f95">ECP_NUMS384W_copy</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</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="ecp__NUMS384W_8h.html#ae6835ee4024cb649b1d03d07523dfca3">ECP_NUMS384W_neg</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</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="ecp__NUMS384W_8h.html#a4cd2cdc9adf0f3c955870e8d8860ef2b">ECP_NUMS384W_inf</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a5b041912fec22c3c3961ec024321eb11">ECP_NUMS384W_rhs</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *r,<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384W==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a4332770a1a5c153fcd1e3a1d3e8f31ca">ECP_NUMS384W_set</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a0aa090ab790626e4552fe9cb5de82966">ECP_NUMS384W_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac9337368687514d3e97a99e8ee6950eb">ECP_NUMS384W_add</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a4332770a1a5c153fcd1e3a1d3e8f31ca">ECP_NUMS384W_set</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a0aa090ab790626e4552fe9cb5de82966">ECP_NUMS384W_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac9337368687514d3e97a99e8ee6950eb">ECP_NUMS384W_add</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</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="ecp__NUMS384W_8h.html#a9c8961b07be706637cc5bee08fd0f91b">ECP_NUMS384W_sub</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aa3d4b4e64b7a6e1bbc489ddda25af256">ECP_NUMS384W_setx</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#aae66a26fafd4c67cafa738af0c736e20">ECP_NUMS384W_cfp</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ae3132193e71c5eeee86bf1d7c9763860">ECP_NUMS384W_mapit</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac8d15c8e41db6f2b6b9862554b515897">ECP_NUMS384W_affine</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac8082842148a5464bee6cd93ff9a6f70">ECP_NUMS384W_outputxyz</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</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="ecp__NUMS384W_8h.html#ae113a8aeb77025d6e222894de7491032">ECP_NUMS384W_output</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a11ddb0d24c7750bfad7b97e46ce5934a">ECP_NUMS384W_rawoutput</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ae8e404b51dccfecb25c4386f0e1a6528">ECP_NUMS384W_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aaaa58f6462fc9b836ad0937c20708fe5">ECP_NUMS384W_fromOctet</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a71a079587b68a3decda9bb0b72670106">ECP_NUMS384W_dbl</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a7ba798d18255971935bce7824a0878c2">ECP_NUMS384W_pinmul</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a75ff2dbfbd9301ef5e0037b61782eedd">ECP_NUMS384W_mul</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ad120bb745659be31f7aee5161994628e">ECP_NUMS384W_mul2</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a58da8ec08e5a06daec1c8a7e3bb4e761">ECP_NUMS384W_generator</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS384W_8h_html_af1a18d61ef9a2dd4b2a1dba1b61254cc"><div class="ttname"><a href="ecp__NUMS384W_8h.html#af1a18d61ef9a2dd4b2a1dba1b61254cc">CURVE_Pxab_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxab_NUMS384W</div></div>
+<a href="ecp__NUMS384W_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 ECP_NUMS384W_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS384W_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 &quot;<a class="code" href="fp__384PM_8h.html">fp_384PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS384W.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a8c2e0e300f8933b0c80675e290830df3">CURVE_A_NUMS384W</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aeb2c2dc0644adad50fa920cbea42e10e">CURVE_Cof_I_NUMS384W</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aad8842ff4db4ee15dbf72573cf9994bf">CURVE_B_I_NUMS384W</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a571a805b550af66a9f3b255bed07f7bf">CURVE_B_NUMS384W</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a5ff1bb783c6feaf01ddf0eb1d06793a6">CURVE_Order_NUMS384W</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ac9ad4e3b73c104eb2be0a0054c2d26e2">CURVE_Cof_NUMS384W</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#acf91e3ff5f250dc8eff09a5b7b497729">CURVE_Gx_NUMS384W</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a19d690748f8904edb6c21d24d925a23f">CURVE_Gy_NUMS384W</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#acfb26a6e1257a7a22ea77758fdf67ca7">CURVE_Pxa_NUMS384W</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a3e6f6eb142f9f9b547fccee4686ad274">CURVE_Pxb_NUMS384W</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a04f05337019f1124e9b91cb33336b985">CURVE_Pya_NUMS384W</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ad6b6195d9c635aa0d883eb3090e45b30">CURVE_Pyb_NUMS384W</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ad6a1d8ab8556651018f18f1687491005">CURVE_Pxaa_NUMS384W</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#af1a18d61ef9a2dd4b2a1dba1b61254cc">CURVE_Pxab_NUMS384W</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a7a80f0b481ae69c5e0610cd368a53364">CURVE_Pxba_NUMS384W</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#afa1457c4e6c6e19b5d1ab9d486f86d0e">CURVE_Pxbb_NUMS384W</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ab8617f4f9f264e0f31f5ff5154af5b1c">CURVE_Pyaa_NUMS384W</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a77a231caff8f3310c3c1a7b23728054c">CURVE_Pyab_NUMS384W</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a056ee4fd9a2652c714dc8782e897c314">CURVE_Pyba_NUMS384W</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a13b7cfd551b71dd8720e89da26bdb912">CURVE_Pybb_NUMS384W</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a3ba11480d1821d9a2c18e94ea04f00a7">CURVE_Pxaaa_NUMS384W</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a1a36c2e43d7e77af286b3791a26b467f">CURVE_Pxaab_NUMS384W</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#af28992f099912669b9106f2fa8252c1d">CURVE_Pxaba_NUMS384W</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ae07366e319397529455be1a3b462fe41">CURVE_Pxabb_NUMS384W</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#aa797a6815ab72a36c0a75a56bd9fdb57">CURVE_Pxbaa_NUMS384W</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a5417ecd74a83a0d72f6406d886ed490b">CURVE_Pxbab_NUMS384W</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ae1158a954d986a4cb7157de83df73ae4">CURVE_Pxbba_NUMS384W</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a1decf7a40c851759b56208eb88b12d85">CURVE_Pxbbb_NUMS384W</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a220816fec1957064b090d6cf0f1034d1">CURVE_Pyaaa_NUMS384W</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#aaa2dceea1607b8287013a45060f54d46">CURVE_Pyaab_NUMS384W</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a3dfb3e8dcc26c103ca943f6a348396eb">CURVE_Pyaba_NUMS384W</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a9d543c3d78735bbdc24edc6e2859eb2f">CURVE_Pyabb_NUMS384W</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a48fac776986677aba1b5222042936202">CURVE_Pybaa_NUMS384W</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a78577e3ed8118042b2152f7907ed5c50">CURVE_Pybab_NUMS384W</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#afa490ce69aca2c082dcd4d9effb811e7">CURVE_Pybba_NUMS384W</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a9d52860c9ee1ce15d9b2c80bb33a8ed3">CURVE_Pybbb_NUMS384W</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a8df16083f26bc84dbf8f7408fb088451">CURVE_Bnx_NUMS384W</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a0ff286ef8ab79c9044ed6669e077cba0">CURVE_Cru_NUMS384W</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a1a0c501939bd902c7a5531b30971b662">Fra_384PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">Frb_384PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#aca2ecdbfb6064c0ebc12f17497e15b66">CURVE_W_NUMS384W</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a0fddfff9c16775bf765d4535a4a0bc5b">CURVE_SB_NUMS384W</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#adbdcb4e055ef9009dc5f8a1fe2088064">CURVE_WB_NUMS384W</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="ecp__NUMS384W_8h.html#a20b6f8ffd8630c3b685088938d3ae59e">CURVE_BB_NUMS384W</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html#a6a6c05125268f6fd634e9deb85954b9c">  109</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384W.html#a6a6c05125268f6fd634e9deb85954b9c">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384W!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html#a32d1bd177f22b0c7b5df5344864cc630">  111</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384W.html#a32d1bd177f22b0c7b5df5344864cc630">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS384W.html#a86ecf6ce6ea87387a0d0fd600902a6b0">  113</a></span>&#160;    <a class="code" href="structFP__384PM.html">FP_384PM</a> <a class="code" href="structECP__NUMS384W.html#a86ecf6ce6ea87387a0d0fd600902a6b0">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#af1baa9e91cb78758fc64a9e1f1b5aed9">ECP_NUMS384W_isinf</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a989801300a8b3892ed52557ba789b57c">ECP_NUMS384W_equals</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ad8b71b164ac88cf1164f36481f574f95">ECP_NUMS384W_copy</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</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="ecp__NUMS384W_8h.html#ae6835ee4024cb649b1d03d07523dfca3">ECP_NUMS384W_neg</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</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="ecp__NUMS384W_8h.html#a4cd2cdc9adf0f3c955870e8d8860ef2b">ECP_NUMS384W_inf</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a5b041912fec22c3c3961ec024321eb11">ECP_NUMS384W_rhs</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *r,<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS384W==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a4332770a1a5c153fcd1e3a1d3e8f31ca">ECP_NUMS384W_set</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a0aa090ab790626e4552fe9cb5de82966">ECP_NUMS384W_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac9337368687514d3e97a99e8ee6950eb">ECP_NUMS384W_add</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a4332770a1a5c153fcd1e3a1d3e8f31ca">ECP_NUMS384W_set</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#a0aa090ab790626e4552fe9cb5de82966">ECP_NUMS384W_get</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> y,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac9337368687514d3e97a99e8ee6950eb">ECP_NUMS384W_add</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</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="ecp__NUMS384W_8h.html#a9c8961b07be706637cc5bee08fd0f91b">ECP_NUMS384W_sub</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aa3d4b4e64b7a6e1bbc489ddda25af256">ECP_NUMS384W_setx</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#aae66a26fafd4c67cafa738af0c736e20">ECP_NUMS384W_cfp</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ae3132193e71c5eeee86bf1d7c9763860">ECP_NUMS384W_mapit</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac8d15c8e41db6f2b6b9862554b515897">ECP_NUMS384W_affine</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ac8082842148a5464bee6cd93ff9a6f70">ECP_NUMS384W_outputxyz</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</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="ecp__NUMS384W_8h.html#ae113a8aeb77025d6e222894de7491032">ECP_NUMS384W_output</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a11ddb0d24c7750bfad7b97e46ce5934a">ECP_NUMS384W_rawoutput</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ae8e404b51dccfecb25c4386f0e1a6528">ECP_NUMS384W_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS384W_8h.html#aaaa58f6462fc9b836ad0937c20708fe5">ECP_NUMS384W_fromOctet</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a71a079587b68a3decda9bb0b72670106">ECP_NUMS384W_dbl</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a7ba798d18255971935bce7824a0878c2">ECP_NUMS384W_pinmul</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a75ff2dbfbd9301ef5e0037b61782eedd">ECP_NUMS384W_mul</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#ad120bb745659be31f7aee5161994628e">ECP_NUMS384W_mul2</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *P,<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *Q,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS384W_8h.html#a58da8ec08e5a06daec1c8a7e3bb4e761">ECP_NUMS384W_generator</a>(<a class="code" href="structECP__NUMS384W.html">ECP_NUMS384W</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS384W_8h_html_af1a18d61ef9a2dd4b2a1dba1b61254cc"><div class="ttname"><a href="ecp__NUMS384W_8h.html#af1a18d61ef9a2dd4b2a1dba1b61254cc">CURVE_Pxab_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxab_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a3dfb3e8dcc26c103ca943f6a348396eb"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a3dfb3e8dcc26c103ca943f6a348396eb">CURVE_Pyaba_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaba_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ac9337368687514d3e97a99e8ee6950eb"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ac9337368687514d3e97a99e8ee6950eb">ECP_NUMS384W_add</a></div><div class="ttdeci">void ECP_NUMS384W_add(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a4332770a1a5c153fcd1e3a1d3e8f31ca"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a4332770a1a5c153fcd1e3a1d3e8f31ca">ECP_NUMS384W_set</a></div><div class="ttdeci">int ECP_NUMS384W_set(ECP_NUMS384W *P, BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ac9337368687514d3e97a99e8ee6950eb"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ac9337368687514d3e97a99e8ee6950eb">ECP_NUMS384W_add</a></div><div class="ttdeci">void ECP_NUMS384W_add(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a4332770a1a5c153fcd1e3a1d3e8f31ca"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a4332770a1a5c153fcd1e3a1d3e8f31ca">ECP_NUMS384W_set</a></div><div class="ttdeci">int ECP_NUMS384W_set(ECP_NUMS384W *P, BIG_384_56 x, BIG_384_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a0ff286ef8ab79c9044ed6669e077cba0"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a0ff286ef8ab79c9044ed6669e077cba0">CURVE_Cru_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Cru_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_afa1457c4e6c6e19b5d1ab9d486f86d0e"><div class="ttname"><a href="ecp__NUMS384W_8h.html#afa1457c4e6c6e19b5d1ab9d486f86d0e">CURVE_Pxbb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbb_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_acfb26a6e1257a7a22ea77758fdf67ca7"><div class="ttname"><a href="ecp__NUMS384W_8h.html#acfb26a6e1257a7a22ea77758fdf67ca7">CURVE_Pxa_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxa_NUMS384W</div></div>
@@ -80,17 +83,17 @@
 <div class="ttc" id="ecp__NUMS384W_8h_html_a5417ecd74a83a0d72f6406d886ed490b"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a5417ecd74a83a0d72f6406d886ed490b">CURVE_Pxbab_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbab_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a1a0c501939bd902c7a5531b30971b662"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a1a0c501939bd902c7a5531b30971b662">Fra_384PM</a></div><div class="ttdeci">const BIG_384_56 Fra_384PM</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a220816fec1957064b090d6cf0f1034d1"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a220816fec1957064b090d6cf0f1034d1">CURVE_Pyaaa_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaaa_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ae113a8aeb77025d6e222894de7491032"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae113a8aeb77025d6e222894de7491032">ECP_NUMS384W_output</a></div><div class="ttdeci">void ECP_NUMS384W_output(ECP_NUMS384W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:450</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ae113a8aeb77025d6e222894de7491032"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae113a8aeb77025d6e222894de7491032">ECP_NUMS384W_output</a></div><div class="ttdeci">void ECP_NUMS384W_output(ECP_NUMS384W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:450</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a78577e3ed8118042b2152f7907ed5c50"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a78577e3ed8118042b2152f7907ed5c50">CURVE_Pybab_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybab_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_aaaa58f6462fc9b836ad0937c20708fe5"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aaaa58f6462fc9b836ad0937c20708fe5">ECP_NUMS384W_fromOctet</a></div><div class="ttdeci">int ECP_NUMS384W_fromOctet(ECP_NUMS384W *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:537</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ae3132193e71c5eeee86bf1d7c9763860"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae3132193e71c5eeee86bf1d7c9763860">ECP_NUMS384W_mapit</a></div><div class="ttdeci">void ECP_NUMS384W_mapit(ECP_NUMS384W *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:365</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_aaaa58f6462fc9b836ad0937c20708fe5"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aaaa58f6462fc9b836ad0937c20708fe5">ECP_NUMS384W_fromOctet</a></div><div class="ttdeci">int ECP_NUMS384W_fromOctet(ECP_NUMS384W *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:537</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ae3132193e71c5eeee86bf1d7c9763860"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae3132193e71c5eeee86bf1d7c9763860">ECP_NUMS384W_mapit</a></div><div class="ttdeci">void ECP_NUMS384W_mapit(ECP_NUMS384W *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:365</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a04f05337019f1124e9b91cb33336b985"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a04f05337019f1124e9b91cb33336b985">CURVE_Pya_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pya_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a3e6f6eb142f9f9b547fccee4686ad274"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a3e6f6eb142f9f9b547fccee4686ad274">CURVE_Pxb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxb_NUMS384W</div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ae8e404b51dccfecb25c4386f0e1a6528"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae8e404b51dccfecb25c4386f0e1a6528">ECP_NUMS384W_toOctet</a></div><div class="ttdeci">void ECP_NUMS384W_toOctet(octet *S, ECP_NUMS384W *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:507</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a4cd2cdc9adf0f3c955870e8d8860ef2b"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a4cd2cdc9adf0f3c955870e8d8860ef2b">ECP_NUMS384W_inf</a></div><div class="ttdeci">void ECP_NUMS384W_inf(ECP_NUMS384W *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:146</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a4cd2cdc9adf0f3c955870e8d8860ef2b"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a4cd2cdc9adf0f3c955870e8d8860ef2b">ECP_NUMS384W_inf</a></div><div class="ttdeci">void ECP_NUMS384W_inf(ECP_NUMS384W *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:146</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a13b7cfd551b71dd8720e89da26bdb912"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a13b7cfd551b71dd8720e89da26bdb912">CURVE_Pybb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybb_NUMS384W</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="ecp__NUMS384W_8h_html_a9d52860c9ee1ce15d9b2c80bb33a8ed3"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a9d52860c9ee1ce15d9b2c80bb33a8ed3">CURVE_Pybbb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybbb_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a7a80f0b481ae69c5e0610cd368a53364"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a7a80f0b481ae69c5e0610cd368a53364">CURVE_Pxba_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxba_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ab8617f4f9f264e0f31f5ff5154af5b1c"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ab8617f4f9f264e0f31f5ff5154af5b1c">CURVE_Pyaa_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaa_NUMS384W</div></div>
@@ -98,51 +101,51 @@
 <div class="ttc" id="ecp__NUMS384W_8h_html_a1decf7a40c851759b56208eb88b12d85"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a1decf7a40c851759b56208eb88b12d85">CURVE_Pxbbb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbbb_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_aa797a6815ab72a36c0a75a56bd9fdb57"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aa797a6815ab72a36c0a75a56bd9fdb57">CURVE_Pxbaa_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbaa_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_aaa2dceea1607b8287013a45060f54d46"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aaa2dceea1607b8287013a45060f54d46">CURVE_Pyaab_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyaab_NUMS384W</div></div>
-<div class="ttc" id="structECP__NUMS384W_html"><div class="ttname"><a href="structECP__NUMS384W.html">ECP_NUMS384W</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.h:105</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a11ddb0d24c7750bfad7b97e46ce5934a"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a11ddb0d24c7750bfad7b97e46ce5934a">ECP_NUMS384W_rawoutput</a></div><div class="ttdeci">void ECP_NUMS384W_rawoutput(ECP_NUMS384W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:478</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a58da8ec08e5a06daec1c8a7e3bb4e761"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a58da8ec08e5a06daec1c8a7e3bb4e761">ECP_NUMS384W_generator</a></div><div class="ttdeci">void ECP_NUMS384W_generator(ECP_NUMS384W *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:1221</div></div>
+<div class="ttc" id="structECP__NUMS384W_html"><div class="ttname"><a href="structECP__NUMS384W.html">ECP_NUMS384W</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.h:105</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a11ddb0d24c7750bfad7b97e46ce5934a"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a11ddb0d24c7750bfad7b97e46ce5934a">ECP_NUMS384W_rawoutput</a></div><div class="ttdeci">void ECP_NUMS384W_rawoutput(ECP_NUMS384W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:478</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a58da8ec08e5a06daec1c8a7e3bb4e761"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a58da8ec08e5a06daec1c8a7e3bb4e761">ECP_NUMS384W_generator</a></div><div class="ttdeci">void ECP_NUMS384W_generator(ECP_NUMS384W *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:1221</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a5ff1bb783c6feaf01ddf0eb1d06793a6"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a5ff1bb783c6feaf01ddf0eb1d06793a6">CURVE_Order_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Order_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_aa3d4b4e64b7a6e1bbc489ddda25af256"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aa3d4b4e64b7a6e1bbc489ddda25af256">ECP_NUMS384W_setx</a></div><div class="ttdeci">int ECP_NUMS384W_setx(ECP_NUMS384W *P, BIG_384_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_aa3d4b4e64b7a6e1bbc489ddda25af256"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aa3d4b4e64b7a6e1bbc489ddda25af256">ECP_NUMS384W_setx</a></div><div class="ttdeci">int ECP_NUMS384W_setx(ECP_NUMS384W *P, BIG_384_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_acf91e3ff5f250dc8eff09a5b7b497729"><div class="ttname"><a href="ecp__NUMS384W_8h.html#acf91e3ff5f250dc8eff09a5b7b497729">CURVE_Gx_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Gx_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ae1158a954d986a4cb7157de83df73ae4"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae1158a954d986a4cb7157de83df73ae4">CURVE_Pxbba_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxbba_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a3ba11480d1821d9a2c18e94ea04f00a7"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a3ba11480d1821d9a2c18e94ea04f00a7">CURVE_Pxaaa_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaaa_NUMS384W</div></div>
 <div class="ttc" id="structECP__NUMS384W_html_a86ecf6ce6ea87387a0d0fd600902a6b0"><div class="ttname"><a href="structECP__NUMS384W.html#a86ecf6ce6ea87387a0d0fd600902a6b0">ECP_NUMS384W::z</a></div><div class="ttdeci">FP_384PM z</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.h:113</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ab2c91372f29cbf8b6d44ec4bc2e387b1"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">Frb_384PM</a></div><div class="ttdeci">const BIG_384_56 Frb_384PM</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_af1baa9e91cb78758fc64a9e1f1b5aed9"><div class="ttname"><a href="ecp__NUMS384W_8h.html#af1baa9e91cb78758fc64a9e1f1b5aed9">ECP_NUMS384W_isinf</a></div><div class="ttdeci">int ECP_NUMS384W_isinf(ECP_NUMS384W *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:28</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_af1baa9e91cb78758fc64a9e1f1b5aed9"><div class="ttname"><a href="ecp__NUMS384W_8h.html#af1baa9e91cb78758fc64a9e1f1b5aed9">ECP_NUMS384W_isinf</a></div><div class="ttdeci">int ECP_NUMS384W_isinf(ECP_NUMS384W *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:28</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a571a805b550af66a9f3b255bed07f7bf"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a571a805b550af66a9f3b255bed07f7bf">CURVE_B_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_B_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a71a079587b68a3decda9bb0b72670106"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a71a079587b68a3decda9bb0b72670106">ECP_NUMS384W_dbl</a></div><div class="ttdeci">void ECP_NUMS384W_dbl(ECP_NUMS384W *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:564</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a71a079587b68a3decda9bb0b72670106"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a71a079587b68a3decda9bb0b72670106">ECP_NUMS384W_dbl</a></div><div class="ttdeci">void ECP_NUMS384W_dbl(ECP_NUMS384W *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:564</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_aad8842ff4db4ee15dbf72573cf9994bf"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aad8842ff4db4ee15dbf72573cf9994bf">CURVE_B_I_NUMS384W</a></div><div class="ttdeci">const int CURVE_B_I_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_aae66a26fafd4c67cafa738af0c736e20"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aae66a26fafd4c67cafa738af0c736e20">ECP_NUMS384W_cfp</a></div><div class="ttdeci">void ECP_NUMS384W_cfp(ECP_NUMS384W *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:338</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a7ba798d18255971935bce7824a0878c2"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a7ba798d18255971935bce7824a0878c2">ECP_NUMS384W_pinmul</a></div><div class="ttdeci">void ECP_NUMS384W_pinmul(ECP_NUMS384W *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_aae66a26fafd4c67cafa738af0c736e20"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aae66a26fafd4c67cafa738af0c736e20">ECP_NUMS384W_cfp</a></div><div class="ttdeci">void ECP_NUMS384W_cfp(ECP_NUMS384W *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:338</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a7ba798d18255971935bce7824a0878c2"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a7ba798d18255971935bce7824a0878c2">ECP_NUMS384W_pinmul</a></div><div class="ttdeci">void ECP_NUMS384W_pinmul(ECP_NUMS384W *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a8df16083f26bc84dbf8f7408fb088451"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a8df16083f26bc84dbf8f7408fb088451">CURVE_Bnx_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Bnx_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ad8b71b164ac88cf1164f36481f574f95"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ad8b71b164ac88cf1164f36481f574f95">ECP_NUMS384W_copy</a></div><div class="ttdeci">void ECP_NUMS384W_copy(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:120</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ad8b71b164ac88cf1164f36481f574f95"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ad8b71b164ac88cf1164f36481f574f95">ECP_NUMS384W_copy</a></div><div class="ttdeci">void ECP_NUMS384W_copy(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:120</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ac9ad4e3b73c104eb2be0a0054c2d26e2"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ac9ad4e3b73c104eb2be0a0054c2d26e2">CURVE_Cof_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Cof_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a19d690748f8904edb6c21d24d925a23f"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a19d690748f8904edb6c21d24d925a23f">CURVE_Gy_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Gy_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a056ee4fd9a2652c714dc8782e897c314"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a056ee4fd9a2652c714dc8782e897c314">CURVE_Pyba_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyba_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a9d543c3d78735bbdc24edc6e2859eb2f"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a9d543c3d78735bbdc24edc6e2859eb2f">CURVE_Pyabb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyabb_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_aca2ecdbfb6064c0ebc12f17497e15b66"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aca2ecdbfb6064c0ebc12f17497e15b66">CURVE_W_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_W_NUMS384W[2]</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a989801300a8b3892ed52557ba789b57c"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a989801300a8b3892ed52557ba789b57c">ECP_NUMS384W_equals</a></div><div class="ttdeci">int ECP_NUMS384W_equals(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:100</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a5b041912fec22c3c3961ec024321eb11"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a5b041912fec22c3c3961ec024321eb11">ECP_NUMS384W_rhs</a></div><div class="ttdeci">void ECP_NUMS384W_rhs(FP_384PM *r, FP_384PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:161</div></div>
-<div class="ttc" id="fp__384PM_8h_html"><div class="ttname"><a href="fp__384PM_8h.html">fp_384PM.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a989801300a8b3892ed52557ba789b57c"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a989801300a8b3892ed52557ba789b57c">ECP_NUMS384W_equals</a></div><div class="ttdeci">int ECP_NUMS384W_equals(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:100</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a5b041912fec22c3c3961ec024321eb11"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a5b041912fec22c3c3961ec024321eb11">ECP_NUMS384W_rhs</a></div><div class="ttdeci">void ECP_NUMS384W_rhs(FP_384PM *r, FP_384PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:161</div></div>
+<div class="ttc" id="fp__384PM_8h_html"><div class="ttname"><a href="fp__384PM_8h.html">fp_384PM.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ad6b6195d9c635aa0d883eb3090e45b30"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ad6b6195d9c635aa0d883eb3090e45b30">CURVE_Pyb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyb_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a77a231caff8f3310c3c1a7b23728054c"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a77a231caff8f3310c3c1a7b23728054c">CURVE_Pyab_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pyab_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ad120bb745659be31f7aee5161994628e"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ad120bb745659be31f7aee5161994628e">ECP_NUMS384W_mul2</a></div><div class="ttdeci">void ECP_NUMS384W_mul2(ECP_NUMS384W *P, ECP_NUMS384W *Q, BIG_384_56 e, BIG_384_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ad120bb745659be31f7aee5161994628e"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ad120bb745659be31f7aee5161994628e">ECP_NUMS384W_mul2</a></div><div class="ttdeci">void ECP_NUMS384W_mul2(ECP_NUMS384W *P, ECP_NUMS384W *Q, BIG_384_56 e, BIG_384_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_adbdcb4e055ef9009dc5f8a1fe2088064"><div class="ttname"><a href="ecp__NUMS384W_8h.html#adbdcb4e055ef9009dc5f8a1fe2088064">CURVE_WB_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_WB_NUMS384W[4]</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a0fddfff9c16775bf765d4535a4a0bc5b"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a0fddfff9c16775bf765d4535a4a0bc5b">CURVE_SB_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_SB_NUMS384W[2][2]</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a20b6f8ffd8630c3b685088938d3ae59e"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a20b6f8ffd8630c3b685088938d3ae59e">CURVE_BB_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_BB_NUMS384W[4][4]</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ae07366e319397529455be1a3b462fe41"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae07366e319397529455be1a3b462fe41">CURVE_Pxabb_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxabb_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ac8082842148a5464bee6cd93ff9a6f70"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ac8082842148a5464bee6cd93ff9a6f70">ECP_NUMS384W_outputxyz</a></div><div class="ttdeci">void ECP_NUMS384W_outputxyz(ECP_NUMS384W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:414</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a0aa090ab790626e4552fe9cb5de82966"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a0aa090ab790626e4552fe9cb5de82966">ECP_NUMS384W_get</a></div><div class="ttdeci">int ECP_NUMS384W_get(BIG_384_56 x, BIG_384_56 y, ECP_NUMS384W *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a9c8961b07be706637cc5bee08fd0f91b"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a9c8961b07be706637cc5bee08fd0f91b">ECP_NUMS384W_sub</a></div><div class="ttdeci">void ECP_NUMS384W_sub(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ac8082842148a5464bee6cd93ff9a6f70"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ac8082842148a5464bee6cd93ff9a6f70">ECP_NUMS384W_outputxyz</a></div><div class="ttdeci">void ECP_NUMS384W_outputxyz(ECP_NUMS384W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:414</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a0aa090ab790626e4552fe9cb5de82966"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a0aa090ab790626e4552fe9cb5de82966">ECP_NUMS384W_get</a></div><div class="ttdeci">int ECP_NUMS384W_get(BIG_384_56 x, BIG_384_56 y, ECP_NUMS384W *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a9c8961b07be706637cc5bee08fd0f91b"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a9c8961b07be706637cc5bee08fd0f91b">ECP_NUMS384W_sub</a></div><div class="ttdeci">void ECP_NUMS384W_sub(ECP_NUMS384W *P, ECP_NUMS384W *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_aeb2c2dc0644adad50fa920cbea42e10e"><div class="ttname"><a href="ecp__NUMS384W_8h.html#aeb2c2dc0644adad50fa920cbea42e10e">CURVE_Cof_I_NUMS384W</a></div><div class="ttdeci">const int CURVE_Cof_I_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ae6835ee4024cb649b1d03d07523dfca3"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae6835ee4024cb649b1d03d07523dfca3">ECP_NUMS384W_neg</a></div><div class="ttdeci">void ECP_NUMS384W_neg(ECP_NUMS384W *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ae6835ee4024cb649b1d03d07523dfca3"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ae6835ee4024cb649b1d03d07523dfca3">ECP_NUMS384W_neg</a></div><div class="ttdeci">void ECP_NUMS384W_neg(ECP_NUMS384W *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a8c2e0e300f8933b0c80675e290830df3"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a8c2e0e300f8933b0c80675e290830df3">CURVE_A_NUMS384W</a></div><div class="ttdeci">const int CURVE_A_NUMS384W</div></div>
 <div class="ttc" id="structECP__NUMS384W_html_a32d1bd177f22b0c7b5df5344864cc630"><div class="ttname"><a href="structECP__NUMS384W.html#a32d1bd177f22b0c7b5df5344864cc630">ECP_NUMS384W::y</a></div><div class="ttdeci">FP_384PM y</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.h:111</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_a48fac776986677aba1b5222042936202"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a48fac776986677aba1b5222042936202">CURVE_Pybaa_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybaa_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_ad6a1d8ab8556651018f18f1687491005"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ad6a1d8ab8556651018f18f1687491005">CURVE_Pxaa_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaa_NUMS384W</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_ac8d15c8e41db6f2b6b9862554b515897"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ac8d15c8e41db6f2b6b9862554b515897">ECP_NUMS384W_affine</a></div><div class="ttdeci">void ECP_NUMS384W_affine(ECP_NUMS384W *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:392</div></div>
-<div class="ttc" id="ecp__NUMS384W_8h_html_a75ff2dbfbd9301ef5e0037b61782eedd"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a75ff2dbfbd9301ef5e0037b61782eedd">ECP_NUMS384W_mul</a></div><div class="ttdeci">void ECP_NUMS384W_mul(ECP_NUMS384W *P, BIG_384_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:1021</div></div>
-<div class="ttc" id="structFP__384PM_html"><div class="ttname"><a href="structFP__384PM.html">FP_384PM</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_384PM.h:38</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_ac8d15c8e41db6f2b6b9862554b515897"><div class="ttname"><a href="ecp__NUMS384W_8h.html#ac8d15c8e41db6f2b6b9862554b515897">ECP_NUMS384W_affine</a></div><div class="ttdeci">void ECP_NUMS384W_affine(ECP_NUMS384W *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:392</div></div>
+<div class="ttc" id="ecp__NUMS384W_8h_html_a75ff2dbfbd9301ef5e0037b61782eedd"><div class="ttname"><a href="ecp__NUMS384W_8h.html#a75ff2dbfbd9301ef5e0037b61782eedd">ECP_NUMS384W_mul</a></div><div class="ttdeci">void ECP_NUMS384W_mul(ECP_NUMS384W *P, BIG_384_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS384W.c:1021</div></div>
+<div class="ttc" id="structFP__384PM_html"><div class="ttname"><a href="structFP__384PM.html">FP_384PM</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_384PM.h:38</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_af28992f099912669b9106f2fa8252c1d"><div class="ttname"><a href="ecp__NUMS384W_8h.html#af28992f099912669b9106f2fa8252c1d">CURVE_Pxaba_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pxaba_NUMS384W</div></div>
 <div class="ttc" id="ecp__NUMS384W_8h_html_afa490ce69aca2c082dcd4d9effb811e7"><div class="ttname"><a href="ecp__NUMS384W_8h.html#afa490ce69aca2c082dcd4d9effb811e7">CURVE_Pybba_NUMS384W</a></div><div class="ttdeci">const BIG_384_56 CURVE_Pybba_NUMS384W</div></div>
 </div><!-- fragment --></div><!-- contents -->
@@ -150,7 +153,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/ecp__NUMS512E_8h.html b/website/static/cdocs/ecp__NUMS512E_8h.html
index c294358..985f00b 100644
--- a/website/static/cdocs/ecp__NUMS512E_8h.html
+++ b/website/static/cdocs/ecp__NUMS512E_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: ecp_NUMS512E.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"
@@ -1705,7 +1708,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/ecp__NUMS512E_8h_source.html b/website/static/cdocs/ecp__NUMS512E_8h_source.html
index 6254744..4d179bb 100644
--- a/website/static/cdocs/ecp__NUMS512E_8h_source.html
+++ b/website/static/cdocs/ecp__NUMS512E_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: ecp_NUMS512E.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,69 +72,69 @@
 <div class="title">ecp_NUMS512E.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NUMS512E_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 ECP_NUMS512E_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS512E_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 &quot;<a class="code" href="fp__512PM_8h.html">fp_512PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS512E.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a9f48d5c8cd67dcd53ee16b10a94efd88">CURVE_A_NUMS512E</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a872e6761f22e7cd65400f9b3524fd8cd">CURVE_Cof_I_NUMS512E</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#ac147c23a93797b3df24d3b5ab23b3c0d">CURVE_B_I_NUMS512E</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a30ec030f1f38e440662c295103578c26">CURVE_B_NUMS512E</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a65c1e82c9e2775de7d12c3952ca3b06e">CURVE_Order_NUMS512E</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#abffd849e5036d61fe8e011647078052e">CURVE_Cof_NUMS512E</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af01a8e4ad7731b8456df18b1dcb74077">CURVE_Gx_NUMS512E</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a860a41fc96c39cee1b2cd4b6e47ce856">CURVE_Gy_NUMS512E</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af30e8cb885fc1a6aa2f1f0f741fbfbbb">CURVE_Pxa_NUMS512E</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af784444a518e46e71b13e96c9f6596f9">CURVE_Pxb_NUMS512E</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a9dc1b3509c7c806f650a7727cc7cee49">CURVE_Pya_NUMS512E</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a0a146c811ffc97c336772dcdc9ab0470">CURVE_Pyb_NUMS512E</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a075d40e6332f3fb65f0e283a4ac5f058">CURVE_Pxaa_NUMS512E</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#aafb6df45002994c5b1f4997a6530b23f">CURVE_Pxab_NUMS512E</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a29837701a5dc3b76195fb168f5ced6ae">CURVE_Pxba_NUMS512E</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a9bb279e2ce7dcd1084e93e2eb812aea3">CURVE_Pxbb_NUMS512E</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a105361282e8eb8657fa801ec24f4426a">CURVE_Pyaa_NUMS512E</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a59a47955d426d08ff89f08f7c73ec7a6">CURVE_Pyab_NUMS512E</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#adcd12acd9d65cb9b3acf5f18c403df75">CURVE_Pyba_NUMS512E</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ac9877cc6f1cbb4ac378a28139f99408c">CURVE_Pybb_NUMS512E</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ae0ccb140acbb2478fc4263eec8c15e44">CURVE_Pxaaa_NUMS512E</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a74a18bc493dd42272c9be5460d2f1c43">CURVE_Pxaab_NUMS512E</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a269cb6eb1a34d41c30edc5ae1cec992b">CURVE_Pxaba_NUMS512E</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a1ff73d8d27394f41495baf45c6fc505e">CURVE_Pxabb_NUMS512E</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a69c8d3a6a81f8a6c438160053afefaea">CURVE_Pxbaa_NUMS512E</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ac3fff80c07787df7b891e3cccb0a3c41">CURVE_Pxbab_NUMS512E</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a2386e74f10149272970c0bd48f282164">CURVE_Pxbba_NUMS512E</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#aed1d7278147c45dc7423998da5083520">CURVE_Pxbbb_NUMS512E</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af02884ed00041f61295e6d6a29aa1e7f">CURVE_Pyaaa_NUMS512E</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a3de453790f2f265b594a3fcd19beb535">CURVE_Pyaab_NUMS512E</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ac09708df800ec18d3c1da7c2ef6d0d14">CURVE_Pyaba_NUMS512E</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a4cc72c0afa506aa468a46e308aaa2ee8">CURVE_Pyabb_NUMS512E</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a6f995e786c21ccb469c27e9656f54a51">CURVE_Pybaa_NUMS512E</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a1e8f97c3e075a113a7ecdbbfbe5349da">CURVE_Pybab_NUMS512E</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a61a98b9f7c4e1c15395eaad2fad0f2a8">CURVE_Pybba_NUMS512E</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a29f19f09ef93d408f9974eeb9bd9d4ae">CURVE_Pybbb_NUMS512E</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#abf2a498cbc68568f31faac4e87d8af6d">CURVE_Bnx_NUMS512E</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a7896d3fe2d15b6b014e23a60dabe8fc5">CURVE_Cru_NUMS512E</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ad6f2370cc46044dc5544155fb45064a3">Fra_512PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a8dd44f2b459f2dfd940c9fc64d6faf40">Frb_512PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a0f7cf23ebde2f30e1f46c67bb4184872">CURVE_W_NUMS512E</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a0014cc70de27d01cc7e18b8eff250f43">CURVE_SB_NUMS512E</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#adaf10c3bfb5e3982350b61904b967486">CURVE_WB_NUMS512E</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a31bac1570d95a28de4faded9f5b42537">CURVE_BB_NUMS512E</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html#ae42f417ed28c7b92ae569768e55a01f2">  109</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512E.html#ae42f417ed28c7b92ae569768e55a01f2">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512E!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html#aa194ee32b966375c761a677f3650e929">  111</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512E.html#aa194ee32b966375c761a677f3650e929">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html#a7045f2e416efa88d5f9436b34e44a561">  113</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512E.html#a7045f2e416efa88d5f9436b34e44a561">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a4876018456620f094e4f1feabf4c2534">ECP_NUMS512E_isinf</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#aea4427a8718a0c09fa9285d5e95b2c16">ECP_NUMS512E_equals</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#af997484a76f394adc5e8adfe97852379">ECP_NUMS512E_copy</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</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="ecp__NUMS512E_8h.html#ad506edc45240547953064ea5fe266528">ECP_NUMS512E_neg</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</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="ecp__NUMS512E_8h.html#a0086ee723c5ddc882fe31753f61e7de8">ECP_NUMS512E_inf</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a9bd6819f6f9ab35f829a6c050503a1dc">ECP_NUMS512E_rhs</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *r,<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512E==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a8eb8ffdc55583c06ce0355b1b703f202">ECP_NUMS512E_set</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#aa65b64217180ed43b96d1c2c17b90967">ECP_NUMS512E_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ac81cb20dbbbf15a3ad448a67349886dd">ECP_NUMS512E_add</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a8eb8ffdc55583c06ce0355b1b703f202">ECP_NUMS512E_set</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#aa65b64217180ed43b96d1c2c17b90967">ECP_NUMS512E_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ac81cb20dbbbf15a3ad448a67349886dd">ECP_NUMS512E_add</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</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="ecp__NUMS512E_8h.html#a270fe9ef1fd6f80c46197c7e758de802">ECP_NUMS512E_sub</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a33f84990d4031c93bdca07b4aa27082a">ECP_NUMS512E_setx</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a81afb99a3d0120517b5c15f7334b45ed">ECP_NUMS512E_cfp</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a0a7bd7ee4b94b157517a2c831faf5a5d">ECP_NUMS512E_mapit</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#abc9668c98e293f40cfa6c47962acfc62">ECP_NUMS512E_affine</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#aedcc2a3606e547d8899cd28496520f4b">ECP_NUMS512E_outputxyz</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</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="ecp__NUMS512E_8h.html#a869945ea7799c8d9bc11f2b128423847">ECP_NUMS512E_output</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#af06ce83875ae4a4878729d2e5c368299">ECP_NUMS512E_rawoutput</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a54c24f7af820d9611290e9aae37c3fa8">ECP_NUMS512E_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a5a97f48cf67487b6f170e8657d3689db">ECP_NUMS512E_fromOctet</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ad0c5aa5aecec00ee2b46106397a53756">ECP_NUMS512E_dbl</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a24e266d008fc03bf6063bc32afbc89f5">ECP_NUMS512E_pinmul</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a7e277e75e7e7b0656722ccaca8984264">ECP_NUMS512E_mul</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ac22285b4f1a4a77ad92ad623a312f515">ECP_NUMS512E_mul2</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> e,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a83dbb55bbdbb7c453b5528bcc4b8f7af">ECP_NUMS512E_generator</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS512E_8h_html_a24e266d008fc03bf6063bc32afbc89f5"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a24e266d008fc03bf6063bc32afbc89f5">ECP_NUMS512E_pinmul</a></div><div class="ttdeci">void ECP_NUMS512E_pinmul(ECP_NUMS512E *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a8eb8ffdc55583c06ce0355b1b703f202"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a8eb8ffdc55583c06ce0355b1b703f202">ECP_NUMS512E_set</a></div><div class="ttdeci">int ECP_NUMS512E_set(ECP_NUMS512E *P, BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<a href="ecp__NUMS512E_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 ECP_NUMS512E_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS512E_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 &quot;<a class="code" href="fp__512PM_8h.html">fp_512PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS512E.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a9f48d5c8cd67dcd53ee16b10a94efd88">CURVE_A_NUMS512E</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a872e6761f22e7cd65400f9b3524fd8cd">CURVE_Cof_I_NUMS512E</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#ac147c23a93797b3df24d3b5ab23b3c0d">CURVE_B_I_NUMS512E</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a30ec030f1f38e440662c295103578c26">CURVE_B_NUMS512E</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a65c1e82c9e2775de7d12c3952ca3b06e">CURVE_Order_NUMS512E</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#abffd849e5036d61fe8e011647078052e">CURVE_Cof_NUMS512E</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af01a8e4ad7731b8456df18b1dcb74077">CURVE_Gx_NUMS512E</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a860a41fc96c39cee1b2cd4b6e47ce856">CURVE_Gy_NUMS512E</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af30e8cb885fc1a6aa2f1f0f741fbfbbb">CURVE_Pxa_NUMS512E</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af784444a518e46e71b13e96c9f6596f9">CURVE_Pxb_NUMS512E</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a9dc1b3509c7c806f650a7727cc7cee49">CURVE_Pya_NUMS512E</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a0a146c811ffc97c336772dcdc9ab0470">CURVE_Pyb_NUMS512E</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a075d40e6332f3fb65f0e283a4ac5f058">CURVE_Pxaa_NUMS512E</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#aafb6df45002994c5b1f4997a6530b23f">CURVE_Pxab_NUMS512E</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a29837701a5dc3b76195fb168f5ced6ae">CURVE_Pxba_NUMS512E</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a9bb279e2ce7dcd1084e93e2eb812aea3">CURVE_Pxbb_NUMS512E</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a105361282e8eb8657fa801ec24f4426a">CURVE_Pyaa_NUMS512E</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a59a47955d426d08ff89f08f7c73ec7a6">CURVE_Pyab_NUMS512E</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#adcd12acd9d65cb9b3acf5f18c403df75">CURVE_Pyba_NUMS512E</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ac9877cc6f1cbb4ac378a28139f99408c">CURVE_Pybb_NUMS512E</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ae0ccb140acbb2478fc4263eec8c15e44">CURVE_Pxaaa_NUMS512E</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a74a18bc493dd42272c9be5460d2f1c43">CURVE_Pxaab_NUMS512E</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a269cb6eb1a34d41c30edc5ae1cec992b">CURVE_Pxaba_NUMS512E</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a1ff73d8d27394f41495baf45c6fc505e">CURVE_Pxabb_NUMS512E</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a69c8d3a6a81f8a6c438160053afefaea">CURVE_Pxbaa_NUMS512E</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ac3fff80c07787df7b891e3cccb0a3c41">CURVE_Pxbab_NUMS512E</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a2386e74f10149272970c0bd48f282164">CURVE_Pxbba_NUMS512E</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#aed1d7278147c45dc7423998da5083520">CURVE_Pxbbb_NUMS512E</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#af02884ed00041f61295e6d6a29aa1e7f">CURVE_Pyaaa_NUMS512E</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a3de453790f2f265b594a3fcd19beb535">CURVE_Pyaab_NUMS512E</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ac09708df800ec18d3c1da7c2ef6d0d14">CURVE_Pyaba_NUMS512E</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a4cc72c0afa506aa468a46e308aaa2ee8">CURVE_Pyabb_NUMS512E</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a6f995e786c21ccb469c27e9656f54a51">CURVE_Pybaa_NUMS512E</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a1e8f97c3e075a113a7ecdbbfbe5349da">CURVE_Pybab_NUMS512E</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a61a98b9f7c4e1c15395eaad2fad0f2a8">CURVE_Pybba_NUMS512E</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a29f19f09ef93d408f9974eeb9bd9d4ae">CURVE_Pybbb_NUMS512E</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#abf2a498cbc68568f31faac4e87d8af6d">CURVE_Bnx_NUMS512E</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a7896d3fe2d15b6b014e23a60dabe8fc5">CURVE_Cru_NUMS512E</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#ad6f2370cc46044dc5544155fb45064a3">Fra_512PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a8dd44f2b459f2dfd940c9fc64d6faf40">Frb_512PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a0f7cf23ebde2f30e1f46c67bb4184872">CURVE_W_NUMS512E</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a0014cc70de27d01cc7e18b8eff250f43">CURVE_SB_NUMS512E</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#adaf10c3bfb5e3982350b61904b967486">CURVE_WB_NUMS512E</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512E_8h.html#a31bac1570d95a28de4faded9f5b42537">CURVE_BB_NUMS512E</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html#ae42f417ed28c7b92ae569768e55a01f2">  109</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512E.html#ae42f417ed28c7b92ae569768e55a01f2">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512E!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html#aa194ee32b966375c761a677f3650e929">  111</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512E.html#aa194ee32b966375c761a677f3650e929">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS512E.html#a7045f2e416efa88d5f9436b34e44a561">  113</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512E.html#a7045f2e416efa88d5f9436b34e44a561">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a4876018456620f094e4f1feabf4c2534">ECP_NUMS512E_isinf</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#aea4427a8718a0c09fa9285d5e95b2c16">ECP_NUMS512E_equals</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#af997484a76f394adc5e8adfe97852379">ECP_NUMS512E_copy</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</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="ecp__NUMS512E_8h.html#ad506edc45240547953064ea5fe266528">ECP_NUMS512E_neg</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</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="ecp__NUMS512E_8h.html#a0086ee723c5ddc882fe31753f61e7de8">ECP_NUMS512E_inf</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a9bd6819f6f9ab35f829a6c050503a1dc">ECP_NUMS512E_rhs</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *r,<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512E==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a8eb8ffdc55583c06ce0355b1b703f202">ECP_NUMS512E_set</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#aa65b64217180ed43b96d1c2c17b90967">ECP_NUMS512E_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ac81cb20dbbbf15a3ad448a67349886dd">ECP_NUMS512E_add</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a8eb8ffdc55583c06ce0355b1b703f202">ECP_NUMS512E_set</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#aa65b64217180ed43b96d1c2c17b90967">ECP_NUMS512E_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ac81cb20dbbbf15a3ad448a67349886dd">ECP_NUMS512E_add</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</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="ecp__NUMS512E_8h.html#a270fe9ef1fd6f80c46197c7e758de802">ECP_NUMS512E_sub</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a33f84990d4031c93bdca07b4aa27082a">ECP_NUMS512E_setx</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a81afb99a3d0120517b5c15f7334b45ed">ECP_NUMS512E_cfp</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a0a7bd7ee4b94b157517a2c831faf5a5d">ECP_NUMS512E_mapit</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#abc9668c98e293f40cfa6c47962acfc62">ECP_NUMS512E_affine</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#aedcc2a3606e547d8899cd28496520f4b">ECP_NUMS512E_outputxyz</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</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="ecp__NUMS512E_8h.html#a869945ea7799c8d9bc11f2b128423847">ECP_NUMS512E_output</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#af06ce83875ae4a4878729d2e5c368299">ECP_NUMS512E_rawoutput</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a54c24f7af820d9611290e9aae37c3fa8">ECP_NUMS512E_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512E_8h.html#a5a97f48cf67487b6f170e8657d3689db">ECP_NUMS512E_fromOctet</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ad0c5aa5aecec00ee2b46106397a53756">ECP_NUMS512E_dbl</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a24e266d008fc03bf6063bc32afbc89f5">ECP_NUMS512E_pinmul</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a7e277e75e7e7b0656722ccaca8984264">ECP_NUMS512E_mul</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#ac22285b4f1a4a77ad92ad623a312f515">ECP_NUMS512E_mul2</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *P,<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *Q,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> e,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512E_8h.html#a83dbb55bbdbb7c453b5528bcc4b8f7af">ECP_NUMS512E_generator</a>(<a class="code" href="structECP__NUMS512E.html">ECP_NUMS512E</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS512E_8h_html_a24e266d008fc03bf6063bc32afbc89f5"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a24e266d008fc03bf6063bc32afbc89f5">ECP_NUMS512E_pinmul</a></div><div class="ttdeci">void ECP_NUMS512E_pinmul(ECP_NUMS512E *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a8eb8ffdc55583c06ce0355b1b703f202"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a8eb8ffdc55583c06ce0355b1b703f202">ECP_NUMS512E_set</a></div><div class="ttdeci">int ECP_NUMS512E_set(ECP_NUMS512E *P, BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_ad6f2370cc46044dc5544155fb45064a3"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ad6f2370cc46044dc5544155fb45064a3">Fra_512PM</a></div><div class="ttdeci">const BIG_512_56 Fra_512PM</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_abc9668c98e293f40cfa6c47962acfc62"><div class="ttname"><a href="ecp__NUMS512E_8h.html#abc9668c98e293f40cfa6c47962acfc62">ECP_NUMS512E_affine</a></div><div class="ttdeci">void ECP_NUMS512E_affine(ECP_NUMS512E *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:392</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_abc9668c98e293f40cfa6c47962acfc62"><div class="ttname"><a href="ecp__NUMS512E_8h.html#abc9668c98e293f40cfa6c47962acfc62">ECP_NUMS512E_affine</a></div><div class="ttdeci">void ECP_NUMS512E_affine(ECP_NUMS512E *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:392</div></div>
 <div class="ttc" id="structECP__NUMS512E_html_aa194ee32b966375c761a677f3650e929"><div class="ttname"><a href="structECP__NUMS512E.html#aa194ee32b966375c761a677f3650e929">ECP_NUMS512E::y</a></div><div class="ttdeci">FP_512PM y</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.h:111</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a9bd6819f6f9ab35f829a6c050503a1dc"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a9bd6819f6f9ab35f829a6c050503a1dc">ECP_NUMS512E_rhs</a></div><div class="ttdeci">void ECP_NUMS512E_rhs(FP_512PM *r, FP_512PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:161</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a9bd6819f6f9ab35f829a6c050503a1dc"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a9bd6819f6f9ab35f829a6c050503a1dc">ECP_NUMS512E_rhs</a></div><div class="ttdeci">void ECP_NUMS512E_rhs(FP_512PM *r, FP_512PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:161</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a9f48d5c8cd67dcd53ee16b10a94efd88"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a9f48d5c8cd67dcd53ee16b10a94efd88">CURVE_A_NUMS512E</a></div><div class="ttdeci">const int CURVE_A_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a105361282e8eb8657fa801ec24f4426a"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a105361282e8eb8657fa801ec24f4426a">CURVE_Pyaa_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaa_NUMS512E</div></div>
-<div class="ttc" id="fp__512PM_8h_html"><div class="ttname"><a href="fp__512PM_8h.html">fp_512PM.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="fp__512PM_8h_html"><div class="ttname"><a href="fp__512PM_8h.html">fp_512PM.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a1ff73d8d27394f41495baf45c6fc505e"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a1ff73d8d27394f41495baf45c6fc505e">CURVE_Pxabb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxabb_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a0086ee723c5ddc882fe31753f61e7de8"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a0086ee723c5ddc882fe31753f61e7de8">ECP_NUMS512E_inf</a></div><div class="ttdeci">void ECP_NUMS512E_inf(ECP_NUMS512E *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:146</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a0086ee723c5ddc882fe31753f61e7de8"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a0086ee723c5ddc882fe31753f61e7de8">ECP_NUMS512E_inf</a></div><div class="ttdeci">void ECP_NUMS512E_inf(ECP_NUMS512E *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:146</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_af01a8e4ad7731b8456df18b1dcb74077"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af01a8e4ad7731b8456df18b1dcb74077">CURVE_Gx_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Gx_NUMS512E</div></div>
 <div class="ttc" id="big__512__56_8h_html_ab11601a54bdce84587a8c0667fbd0e9c"><div class="ttname"><a href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a></div><div class="ttdeci">chunk BIG_512_56[NLEN_512_56]</div><div class="ttdef"><b>Definition:</b> big_512_56.h:58</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a7896d3fe2d15b6b014e23a60dabe8fc5"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a7896d3fe2d15b6b014e23a60dabe8fc5">CURVE_Cru_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Cru_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a65c1e82c9e2775de7d12c3952ca3b06e"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a65c1e82c9e2775de7d12c3952ca3b06e">CURVE_Order_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Order_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_abf2a498cbc68568f31faac4e87d8af6d"><div class="ttname"><a href="ecp__NUMS512E_8h.html#abf2a498cbc68568f31faac4e87d8af6d">CURVE_Bnx_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Bnx_NUMS512E</div></div>
-<div class="ttc" id="structECP__NUMS512E_html"><div class="ttname"><a href="structECP__NUMS512E.html">ECP_NUMS512E</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.h:105</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a81afb99a3d0120517b5c15f7334b45ed"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a81afb99a3d0120517b5c15f7334b45ed">ECP_NUMS512E_cfp</a></div><div class="ttdeci">void ECP_NUMS512E_cfp(ECP_NUMS512E *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:338</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_ad0c5aa5aecec00ee2b46106397a53756"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ad0c5aa5aecec00ee2b46106397a53756">ECP_NUMS512E_dbl</a></div><div class="ttdeci">void ECP_NUMS512E_dbl(ECP_NUMS512E *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:564</div></div>
+<div class="ttc" id="structECP__NUMS512E_html"><div class="ttname"><a href="structECP__NUMS512E.html">ECP_NUMS512E</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.h:105</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a81afb99a3d0120517b5c15f7334b45ed"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a81afb99a3d0120517b5c15f7334b45ed">ECP_NUMS512E_cfp</a></div><div class="ttdeci">void ECP_NUMS512E_cfp(ECP_NUMS512E *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:338</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_ad0c5aa5aecec00ee2b46106397a53756"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ad0c5aa5aecec00ee2b46106397a53756">ECP_NUMS512E_dbl</a></div><div class="ttdeci">void ECP_NUMS512E_dbl(ECP_NUMS512E *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:564</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a0a146c811ffc97c336772dcdc9ab0470"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a0a146c811ffc97c336772dcdc9ab0470">CURVE_Pyb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyb_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_af02884ed00041f61295e6d6a29aa1e7f"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af02884ed00041f61295e6d6a29aa1e7f">CURVE_Pyaaa_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaaa_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a4876018456620f094e4f1feabf4c2534"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a4876018456620f094e4f1feabf4c2534">ECP_NUMS512E_isinf</a></div><div class="ttdeci">int ECP_NUMS512E_isinf(ECP_NUMS512E *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:28</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a4876018456620f094e4f1feabf4c2534"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a4876018456620f094e4f1feabf4c2534">ECP_NUMS512E_isinf</a></div><div class="ttdeci">int ECP_NUMS512E_isinf(ECP_NUMS512E *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:28</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_ac09708df800ec18d3c1da7c2ef6d0d14"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ac09708df800ec18d3c1da7c2ef6d0d14">CURVE_Pyaba_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaba_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a270fe9ef1fd6f80c46197c7e758de802"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a270fe9ef1fd6f80c46197c7e758de802">ECP_NUMS512E_sub</a></div><div class="ttdeci">void ECP_NUMS512E_sub(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</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="ecp__NUMS512E_8h_html_a270fe9ef1fd6f80c46197c7e758de802"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a270fe9ef1fd6f80c46197c7e758de802">ECP_NUMS512E_sub</a></div><div class="ttdeci">void ECP_NUMS512E_sub(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </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="ecp__NUMS512E_8h_html_a8dd44f2b459f2dfd940c9fc64d6faf40"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a8dd44f2b459f2dfd940c9fc64d6faf40">Frb_512PM</a></div><div class="ttdeci">const BIG_512_56 Frb_512PM</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a54c24f7af820d9611290e9aae37c3fa8"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a54c24f7af820d9611290e9aae37c3fa8">ECP_NUMS512E_toOctet</a></div><div class="ttdeci">void ECP_NUMS512E_toOctet(octet *S, ECP_NUMS512E *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:507</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_ac22285b4f1a4a77ad92ad623a312f515"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ac22285b4f1a4a77ad92ad623a312f515">ECP_NUMS512E_mul2</a></div><div class="ttdeci">void ECP_NUMS512E_mul2(ECP_NUMS512E *P, ECP_NUMS512E *Q, BIG_512_56 e, BIG_512_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_ac22285b4f1a4a77ad92ad623a312f515"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ac22285b4f1a4a77ad92ad623a312f515">ECP_NUMS512E_mul2</a></div><div class="ttdeci">void ECP_NUMS512E_mul2(ECP_NUMS512E *P, ECP_NUMS512E *Q, BIG_512_56 e, BIG_512_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a61a98b9f7c4e1c15395eaad2fad0f2a8"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a61a98b9f7c4e1c15395eaad2fad0f2a8">CURVE_Pybba_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybba_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a5a97f48cf67487b6f170e8657d3689db"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a5a97f48cf67487b6f170e8657d3689db">ECP_NUMS512E_fromOctet</a></div><div class="ttdeci">int ECP_NUMS512E_fromOctet(ECP_NUMS512E *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:537</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a5a97f48cf67487b6f170e8657d3689db"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a5a97f48cf67487b6f170e8657d3689db">ECP_NUMS512E_fromOctet</a></div><div class="ttdeci">int ECP_NUMS512E_fromOctet(ECP_NUMS512E *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:537</div></div>
 <div class="ttc" id="structECP__NUMS512E_html_ae42f417ed28c7b92ae569768e55a01f2"><div class="ttname"><a href="structECP__NUMS512E.html#ae42f417ed28c7b92ae569768e55a01f2">ECP_NUMS512E::x</a></div><div class="ttdeci">FP_512PM x</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.h:109</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a29f19f09ef93d408f9974eeb9bd9d4ae"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a29f19f09ef93d408f9974eeb9bd9d4ae">CURVE_Pybbb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybbb_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a4cc72c0afa506aa468a46e308aaa2ee8"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a4cc72c0afa506aa468a46e308aaa2ee8">CURVE_Pyabb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyabb_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a7e277e75e7e7b0656722ccaca8984264"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a7e277e75e7e7b0656722ccaca8984264">ECP_NUMS512E_mul</a></div><div class="ttdeci">void ECP_NUMS512E_mul(ECP_NUMS512E *P, BIG_512_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:1021</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a7e277e75e7e7b0656722ccaca8984264"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a7e277e75e7e7b0656722ccaca8984264">ECP_NUMS512E_mul</a></div><div class="ttdeci">void ECP_NUMS512E_mul(ECP_NUMS512E *P, BIG_512_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:1021</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a30ec030f1f38e440662c295103578c26"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a30ec030f1f38e440662c295103578c26">CURVE_B_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_B_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a83dbb55bbdbb7c453b5528bcc4b8f7af"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a83dbb55bbdbb7c453b5528bcc4b8f7af">ECP_NUMS512E_generator</a></div><div class="ttdeci">void ECP_NUMS512E_generator(ECP_NUMS512E *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:1221</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a83dbb55bbdbb7c453b5528bcc4b8f7af"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a83dbb55bbdbb7c453b5528bcc4b8f7af">ECP_NUMS512E_generator</a></div><div class="ttdeci">void ECP_NUMS512E_generator(ECP_NUMS512E *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:1221</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a0014cc70de27d01cc7e18b8eff250f43"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a0014cc70de27d01cc7e18b8eff250f43">CURVE_SB_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_SB_NUMS512E[2][2]</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a1e8f97c3e075a113a7ecdbbfbe5349da"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a1e8f97c3e075a113a7ecdbbfbe5349da">CURVE_Pybab_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybab_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a3de453790f2f265b594a3fcd19beb535"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a3de453790f2f265b594a3fcd19beb535">CURVE_Pyaab_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaab_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a0a7bd7ee4b94b157517a2c831faf5a5d"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a0a7bd7ee4b94b157517a2c831faf5a5d">ECP_NUMS512E_mapit</a></div><div class="ttdeci">void ECP_NUMS512E_mapit(ECP_NUMS512E *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:365</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a0a7bd7ee4b94b157517a2c831faf5a5d"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a0a7bd7ee4b94b157517a2c831faf5a5d">ECP_NUMS512E_mapit</a></div><div class="ttdeci">void ECP_NUMS512E_mapit(ECP_NUMS512E *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:365</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a9bb279e2ce7dcd1084e93e2eb812aea3"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a9bb279e2ce7dcd1084e93e2eb812aea3">CURVE_Pxbb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbb_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a269cb6eb1a34d41c30edc5ae1cec992b"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a269cb6eb1a34d41c30edc5ae1cec992b">CURVE_Pxaba_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxaba_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_ac147c23a93797b3df24d3b5ab23b3c0d"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ac147c23a93797b3df24d3b5ab23b3c0d">CURVE_B_I_NUMS512E</a></div><div class="ttdeci">const int CURVE_B_I_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_aea4427a8718a0c09fa9285d5e95b2c16"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aea4427a8718a0c09fa9285d5e95b2c16">ECP_NUMS512E_equals</a></div><div class="ttdeci">int ECP_NUMS512E_equals(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:100</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_af997484a76f394adc5e8adfe97852379"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af997484a76f394adc5e8adfe97852379">ECP_NUMS512E_copy</a></div><div class="ttdeci">void ECP_NUMS512E_copy(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:120</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_aea4427a8718a0c09fa9285d5e95b2c16"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aea4427a8718a0c09fa9285d5e95b2c16">ECP_NUMS512E_equals</a></div><div class="ttdeci">int ECP_NUMS512E_equals(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:100</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_af997484a76f394adc5e8adfe97852379"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af997484a76f394adc5e8adfe97852379">ECP_NUMS512E_copy</a></div><div class="ttdeci">void ECP_NUMS512E_copy(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:120</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a872e6761f22e7cd65400f9b3524fd8cd"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a872e6761f22e7cd65400f9b3524fd8cd">CURVE_Cof_I_NUMS512E</a></div><div class="ttdeci">const int CURVE_Cof_I_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_aed1d7278147c45dc7423998da5083520"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aed1d7278147c45dc7423998da5083520">CURVE_Pxbbb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbbb_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a59a47955d426d08ff89f08f7c73ec7a6"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a59a47955d426d08ff89f08f7c73ec7a6">CURVE_Pyab_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyab_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_af30e8cb885fc1a6aa2f1f0f741fbfbbb"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af30e8cb885fc1a6aa2f1f0f741fbfbbb">CURVE_Pxa_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxa_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_af784444a518e46e71b13e96c9f6596f9"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af784444a518e46e71b13e96c9f6596f9">CURVE_Pxb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxb_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_ac9877cc6f1cbb4ac378a28139f99408c"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ac9877cc6f1cbb4ac378a28139f99408c">CURVE_Pybb_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybb_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_ac81cb20dbbbf15a3ad448a67349886dd"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ac81cb20dbbbf15a3ad448a67349886dd">ECP_NUMS512E_add</a></div><div class="ttdeci">void ECP_NUMS512E_add(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
-<div class="ttc" id="structFP__512PM_html"><div class="ttname"><a href="structFP__512PM.html">FP_512PM</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_512PM.h:38</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_ac81cb20dbbbf15a3ad448a67349886dd"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ac81cb20dbbbf15a3ad448a67349886dd">ECP_NUMS512E_add</a></div><div class="ttdeci">void ECP_NUMS512E_add(ECP_NUMS512E *P, ECP_NUMS512E *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
+<div class="ttc" id="structFP__512PM_html"><div class="ttname"><a href="structFP__512PM.html">FP_512PM</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_512PM.h:38</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_adaf10c3bfb5e3982350b61904b967486"><div class="ttname"><a href="ecp__NUMS512E_8h.html#adaf10c3bfb5e3982350b61904b967486">CURVE_WB_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_WB_NUMS512E[4]</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a74a18bc493dd42272c9be5460d2f1c43"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a74a18bc493dd42272c9be5460d2f1c43">CURVE_Pxaab_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxaab_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a860a41fc96c39cee1b2cd4b6e47ce856"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a860a41fc96c39cee1b2cd4b6e47ce856">CURVE_Gy_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Gy_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_adcd12acd9d65cb9b3acf5f18c403df75"><div class="ttname"><a href="ecp__NUMS512E_8h.html#adcd12acd9d65cb9b3acf5f18c403df75">CURVE_Pyba_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyba_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a29837701a5dc3b76195fb168f5ced6ae"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a29837701a5dc3b76195fb168f5ced6ae">CURVE_Pxba_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxba_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_aa65b64217180ed43b96d1c2c17b90967"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aa65b64217180ed43b96d1c2c17b90967">ECP_NUMS512E_get</a></div><div class="ttdeci">int ECP_NUMS512E_get(BIG_512_56 x, BIG_512_56 y, ECP_NUMS512E *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_aa65b64217180ed43b96d1c2c17b90967"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aa65b64217180ed43b96d1c2c17b90967">ECP_NUMS512E_get</a></div><div class="ttdeci">int ECP_NUMS512E_get(BIG_512_56 x, BIG_512_56 y, ECP_NUMS512E *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_abffd849e5036d61fe8e011647078052e"><div class="ttname"><a href="ecp__NUMS512E_8h.html#abffd849e5036d61fe8e011647078052e">CURVE_Cof_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Cof_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_ad506edc45240547953064ea5fe266528"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ad506edc45240547953064ea5fe266528">ECP_NUMS512E_neg</a></div><div class="ttdeci">void ECP_NUMS512E_neg(ECP_NUMS512E *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_ad506edc45240547953064ea5fe266528"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ad506edc45240547953064ea5fe266528">ECP_NUMS512E_neg</a></div><div class="ttdeci">void ECP_NUMS512E_neg(ECP_NUMS512E *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a9dc1b3509c7c806f650a7727cc7cee49"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a9dc1b3509c7c806f650a7727cc7cee49">CURVE_Pya_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pya_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_af06ce83875ae4a4878729d2e5c368299"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af06ce83875ae4a4878729d2e5c368299">ECP_NUMS512E_rawoutput</a></div><div class="ttdeci">void ECP_NUMS512E_rawoutput(ECP_NUMS512E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:478</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_af06ce83875ae4a4878729d2e5c368299"><div class="ttname"><a href="ecp__NUMS512E_8h.html#af06ce83875ae4a4878729d2e5c368299">ECP_NUMS512E_rawoutput</a></div><div class="ttdeci">void ECP_NUMS512E_rawoutput(ECP_NUMS512E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:478</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a0f7cf23ebde2f30e1f46c67bb4184872"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a0f7cf23ebde2f30e1f46c67bb4184872">CURVE_W_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_W_NUMS512E[2]</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a31bac1570d95a28de4faded9f5b42537"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a31bac1570d95a28de4faded9f5b42537">CURVE_BB_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_BB_NUMS512E[4][4]</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a69c8d3a6a81f8a6c438160053afefaea"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a69c8d3a6a81f8a6c438160053afefaea">CURVE_Pxbaa_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbaa_NUMS512E</div></div>
@@ -140,17 +143,17 @@
 <div class="ttc" id="structECP__NUMS512E_html_a7045f2e416efa88d5f9436b34e44a561"><div class="ttname"><a href="structECP__NUMS512E.html#a7045f2e416efa88d5f9436b34e44a561">ECP_NUMS512E::z</a></div><div class="ttdeci">FP_512PM z</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.h:113</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a075d40e6332f3fb65f0e283a4ac5f058"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a075d40e6332f3fb65f0e283a4ac5f058">CURVE_Pxaa_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxaa_NUMS512E</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_aafb6df45002994c5b1f4997a6530b23f"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aafb6df45002994c5b1f4997a6530b23f">CURVE_Pxab_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxab_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a869945ea7799c8d9bc11f2b128423847"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a869945ea7799c8d9bc11f2b128423847">ECP_NUMS512E_output</a></div><div class="ttdeci">void ECP_NUMS512E_output(ECP_NUMS512E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:450</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a869945ea7799c8d9bc11f2b128423847"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a869945ea7799c8d9bc11f2b128423847">ECP_NUMS512E_output</a></div><div class="ttdeci">void ECP_NUMS512E_output(ECP_NUMS512E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:450</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_ae0ccb140acbb2478fc4263eec8c15e44"><div class="ttname"><a href="ecp__NUMS512E_8h.html#ae0ccb140acbb2478fc4263eec8c15e44">CURVE_Pxaaa_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxaaa_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_aedcc2a3606e547d8899cd28496520f4b"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aedcc2a3606e547d8899cd28496520f4b">ECP_NUMS512E_outputxyz</a></div><div class="ttdeci">void ECP_NUMS512E_outputxyz(ECP_NUMS512E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:414</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_aedcc2a3606e547d8899cd28496520f4b"><div class="ttname"><a href="ecp__NUMS512E_8h.html#aedcc2a3606e547d8899cd28496520f4b">ECP_NUMS512E_outputxyz</a></div><div class="ttdeci">void ECP_NUMS512E_outputxyz(ECP_NUMS512E *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512E.c:414</div></div>
 <div class="ttc" id="ecp__NUMS512E_8h_html_a6f995e786c21ccb469c27e9656f54a51"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a6f995e786c21ccb469c27e9656f54a51">CURVE_Pybaa_NUMS512E</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybaa_NUMS512E</div></div>
-<div class="ttc" id="ecp__NUMS512E_8h_html_a33f84990d4031c93bdca07b4aa27082a"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a33f84990d4031c93bdca07b4aa27082a">ECP_NUMS512E_setx</a></div><div class="ttdeci">int ECP_NUMS512E_setx(ECP_NUMS512E *P, BIG_512_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__NUMS512E_8h_html_a33f84990d4031c93bdca07b4aa27082a"><div class="ttname"><a href="ecp__NUMS512E_8h.html#a33f84990d4031c93bdca07b4aa27082a">ECP_NUMS512E_setx</a></div><div class="ttdeci">int ECP_NUMS512E_setx(ECP_NUMS512E *P, BIG_512_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </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/ecp__NUMS512W_8h.html b/website/static/cdocs/ecp__NUMS512W_8h.html
index 3243470..3e757eb 100644
--- a/website/static/cdocs/ecp__NUMS512W_8h.html
+++ b/website/static/cdocs/ecp__NUMS512W_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: ecp_NUMS512W.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"
@@ -1705,7 +1708,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/ecp__NUMS512W_8h_source.html b/website/static/cdocs/ecp__NUMS512W_8h_source.html
index febaa6e..7b24525 100644
--- a/website/static/cdocs/ecp__NUMS512W_8h_source.html
+++ b/website/static/cdocs/ecp__NUMS512W_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: ecp_NUMS512W.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,33 +72,33 @@
 <div class="title">ecp_NUMS512W.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__NUMS512W_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 ECP_NUMS512W_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS512W_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 &quot;<a class="code" href="fp__512PM_8h.html">fp_512PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS512W.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a65d21ee42b139c799d5aee9b81703aa3">CURVE_A_NUMS512W</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a8976d93cc8ba41c405958bbe31b8c72c">CURVE_Cof_I_NUMS512W</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a0db259abe798b064acc5e8d17e3547a0">CURVE_B_I_NUMS512W</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ab3fba6d7be3eb44c1bb36808e1cd3f4e">CURVE_B_NUMS512W</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#acce5aa3da8f026e1e9f598315389ea08">CURVE_Order_NUMS512W</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a97fd1b9fa1378ba690e7bc3211ad7c19">CURVE_Cof_NUMS512W</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a2a3e6f9264ec28110546188ce4d9ff47">CURVE_Gx_NUMS512W</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9628e3b4dbc329e94f7a423047d9d725">CURVE_Gy_NUMS512W</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a0f46ebddb3283575d66bfdf7d337567b">CURVE_Pxa_NUMS512W</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ac0cef6f042c6f220ba4057f2d146ebb7">CURVE_Pxb_NUMS512W</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#adadd99cd2b454a3658d078f1b6bc2e79">CURVE_Pya_NUMS512W</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#aae065e38737919ae3e4c23f2eebecc9b">CURVE_Pyb_NUMS512W</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ab8b4326866fd7fe68fb522dc901e1a0a">CURVE_Pxaa_NUMS512W</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#aa03c45e7146d33f15ba684178686d464">CURVE_Pxab_NUMS512W</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a64d1c8f5d1f6c4bdfc55f7ed8f036132">CURVE_Pxba_NUMS512W</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#adfab00475e8fb4100f284df3286262e5">CURVE_Pxbb_NUMS512W</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ae444d889cdbe68c689dfc084b94bd772">CURVE_Pyaa_NUMS512W</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ae450f2c13e35d5d070dfae4194e029b8">CURVE_Pyab_NUMS512W</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9395133e66de19f2154469ef805898c7">CURVE_Pyba_NUMS512W</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a452767f5c72cb56b633f733762e12cfa">CURVE_Pybb_NUMS512W</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#adce636f113b7e37301fc0add3790093f">CURVE_Pxaaa_NUMS512W</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a0b13ed31dca7b0363a9b9fd7a12aa2b5">CURVE_Pxaab_NUMS512W</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a5e8e8475b375f8e16223bf323342f758">CURVE_Pxaba_NUMS512W</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ac47e93005ebbcdab23aa078af6080561">CURVE_Pxabb_NUMS512W</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a845365764b9cfdf09b04c00246316d57">CURVE_Pxbaa_NUMS512W</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a48f07043504133019f407402961195a0">CURVE_Pxbab_NUMS512W</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a2d2e1eec245b773ae1e2c3b66d526995">CURVE_Pxbba_NUMS512W</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a3f51e42ed9a84f4a2aeed35bbc0348ee">CURVE_Pxbbb_NUMS512W</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#accd54044d5f55f5edbb9473f7a9a30e1">CURVE_Pyaaa_NUMS512W</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a916f8112628a94ed2298ca0bb9512e23">CURVE_Pyaab_NUMS512W</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#aff3313b550db0c6afa93bae99e69a57e">CURVE_Pyaba_NUMS512W</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a2bc64b31ebbd26c116923f81e671448f">CURVE_Pyabb_NUMS512W</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a83bcebf1e4f3b674e9552a22feb1fe08">CURVE_Pybaa_NUMS512W</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#afe1a6e81b7a0e47b4b0cab77a45f401a">CURVE_Pybab_NUMS512W</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9d0a8c118add7a86423eefacdd96f4ed">CURVE_Pybba_NUMS512W</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ac1a532d47abdd407aff95e46ad1d7061">CURVE_Pybbb_NUMS512W</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a99e7ec1d4cf188fdfd62cbb773bd278e">CURVE_Bnx_NUMS512W</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ae96ae88cb5ce7f808b2a862a798dfdd4">CURVE_Cru_NUMS512W</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ad6f2370cc46044dc5544155fb45064a3">Fra_512PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a8dd44f2b459f2dfd940c9fc64d6faf40">Frb_512PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9d8b7fd95e04784fc3282289feca8165">CURVE_W_NUMS512W</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a844f1572b0654a8030283e9746ab0bda">CURVE_SB_NUMS512W</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#affc86142a66acae2168afbe26cb8d75c">CURVE_WB_NUMS512W</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a663e76601d47206dec5bfa0ee67cb676">CURVE_BB_NUMS512W</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html#ad4374e30e0d96444a9ca9e285e4e57d3">  109</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512W.html#ad4374e30e0d96444a9ca9e285e4e57d3">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512W!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html#ad9b3161bc84da855bd672d2bc461365d">  111</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512W.html#ad9b3161bc84da855bd672d2bc461365d">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html#afcded90a6d93b334108eb56e5a31007e">  113</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512W.html#afcded90a6d93b334108eb56e5a31007e">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#aadacc6c7e0e311abf399aec3a841885b">ECP_NUMS512W_isinf</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#ab0ed94684d4b212824eace2da7544911">ECP_NUMS512W_equals</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a2432f352e600046676367eb4cf3aab9a">ECP_NUMS512W_copy</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</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="ecp__NUMS512W_8h.html#a98d20d530de2458e885afa539993da2a">ECP_NUMS512W_neg</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</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="ecp__NUMS512W_8h.html#a5434e509d7923c86e21a1d02d20387a7">ECP_NUMS512W_inf</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#af2a0b12d0a4c8d292ced94225c7a7c44">ECP_NUMS512W_rhs</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *r,<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512W==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a6453a6e7672efcb40f781d22bbac425d">ECP_NUMS512W_set</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a2ce470121786253c9a2be22e954103a6">ECP_NUMS512W_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a9b752aa9c51a755f18187deb65174e5e">ECP_NUMS512W_add</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a6453a6e7672efcb40f781d22bbac425d">ECP_NUMS512W_set</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a2ce470121786253c9a2be22e954103a6">ECP_NUMS512W_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a9b752aa9c51a755f18187deb65174e5e">ECP_NUMS512W_add</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</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="ecp__NUMS512W_8h.html#aa0b91c33c8f6cf68b78eca905c5f3333">ECP_NUMS512W_sub</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a111b936b0a94b74c1f1c79015785ea92">ECP_NUMS512W_setx</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a0d339133fe11c16bfb02958bafbbdc20">ECP_NUMS512W_cfp</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a2a4d86a233d5aabb9f6246c50158a8c4">ECP_NUMS512W_mapit</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#aa9655f7de9a06f86d214b3a25c4284b0">ECP_NUMS512W_affine</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#ae8902e3e96323345d373b341516e167f">ECP_NUMS512W_outputxyz</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</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="ecp__NUMS512W_8h.html#ad7a5372ed940214b1b9b91bc50d8f080">ECP_NUMS512W_output</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a1180fcf4bf5a6173070c74a732092dff">ECP_NUMS512W_rawoutput</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#ad48b89082619632ec65a8e5533966f34">ECP_NUMS512W_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#aaa02aefbfa2342e996857ec79a1f1298">ECP_NUMS512W_fromOctet</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a042924755088debd4bb118265819d915">ECP_NUMS512W_dbl</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a67dcb63bff41a1a453714e5ef1435e40">ECP_NUMS512W_pinmul</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#afc769b787d3192b004cafbd00b22d72c">ECP_NUMS512W_mul</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#ad19acdf005fe7102e3e0502ba94e4572">ECP_NUMS512W_mul2</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> e,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a0ad495b2e20a4aa2ed536a270ec1ed6b">ECP_NUMS512W_generator</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS512W_8h_html_accd54044d5f55f5edbb9473f7a9a30e1"><div class="ttname"><a href="ecp__NUMS512W_8h.html#accd54044d5f55f5edbb9473f7a9a30e1">CURVE_Pyaaa_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaaa_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a67dcb63bff41a1a453714e5ef1435e40"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a67dcb63bff41a1a453714e5ef1435e40">ECP_NUMS512W_pinmul</a></div><div class="ttdeci">void ECP_NUMS512W_pinmul(ECP_NUMS512W *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_aadacc6c7e0e311abf399aec3a841885b"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aadacc6c7e0e311abf399aec3a841885b">ECP_NUMS512W_isinf</a></div><div class="ttdeci">int ECP_NUMS512W_isinf(ECP_NUMS512W *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:28</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a1180fcf4bf5a6173070c74a732092dff"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a1180fcf4bf5a6173070c74a732092dff">ECP_NUMS512W_rawoutput</a></div><div class="ttdeci">void ECP_NUMS512W_rawoutput(ECP_NUMS512W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:478</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a6453a6e7672efcb40f781d22bbac425d"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a6453a6e7672efcb40f781d22bbac425d">ECP_NUMS512W_set</a></div><div class="ttdeci">int ECP_NUMS512W_set(ECP_NUMS512W *P, BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
-<div class="ttc" id="fp__512PM_8h_html"><div class="ttname"><a href="fp__512PM_8h.html">fp_512PM.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a0ad495b2e20a4aa2ed536a270ec1ed6b"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a0ad495b2e20a4aa2ed536a270ec1ed6b">ECP_NUMS512W_generator</a></div><div class="ttdeci">void ECP_NUMS512W_generator(ECP_NUMS512W *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:1221</div></div>
+<a href="ecp__NUMS512W_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 ECP_NUMS512W_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_NUMS512W_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 &quot;<a class="code" href="fp__512PM_8h.html">fp_512PM.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_NUMS512W.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a65d21ee42b139c799d5aee9b81703aa3">CURVE_A_NUMS512W</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a8976d93cc8ba41c405958bbe31b8c72c">CURVE_Cof_I_NUMS512W</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a0db259abe798b064acc5e8d17e3547a0">CURVE_B_I_NUMS512W</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ab3fba6d7be3eb44c1bb36808e1cd3f4e">CURVE_B_NUMS512W</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#acce5aa3da8f026e1e9f598315389ea08">CURVE_Order_NUMS512W</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a97fd1b9fa1378ba690e7bc3211ad7c19">CURVE_Cof_NUMS512W</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a2a3e6f9264ec28110546188ce4d9ff47">CURVE_Gx_NUMS512W</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9628e3b4dbc329e94f7a423047d9d725">CURVE_Gy_NUMS512W</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a0f46ebddb3283575d66bfdf7d337567b">CURVE_Pxa_NUMS512W</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ac0cef6f042c6f220ba4057f2d146ebb7">CURVE_Pxb_NUMS512W</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#adadd99cd2b454a3658d078f1b6bc2e79">CURVE_Pya_NUMS512W</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#aae065e38737919ae3e4c23f2eebecc9b">CURVE_Pyb_NUMS512W</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ab8b4326866fd7fe68fb522dc901e1a0a">CURVE_Pxaa_NUMS512W</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#aa03c45e7146d33f15ba684178686d464">CURVE_Pxab_NUMS512W</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a64d1c8f5d1f6c4bdfc55f7ed8f036132">CURVE_Pxba_NUMS512W</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#adfab00475e8fb4100f284df3286262e5">CURVE_Pxbb_NUMS512W</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ae444d889cdbe68c689dfc084b94bd772">CURVE_Pyaa_NUMS512W</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ae450f2c13e35d5d070dfae4194e029b8">CURVE_Pyab_NUMS512W</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9395133e66de19f2154469ef805898c7">CURVE_Pyba_NUMS512W</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a452767f5c72cb56b633f733762e12cfa">CURVE_Pybb_NUMS512W</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#adce636f113b7e37301fc0add3790093f">CURVE_Pxaaa_NUMS512W</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a0b13ed31dca7b0363a9b9fd7a12aa2b5">CURVE_Pxaab_NUMS512W</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a5e8e8475b375f8e16223bf323342f758">CURVE_Pxaba_NUMS512W</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ac47e93005ebbcdab23aa078af6080561">CURVE_Pxabb_NUMS512W</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a845365764b9cfdf09b04c00246316d57">CURVE_Pxbaa_NUMS512W</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a48f07043504133019f407402961195a0">CURVE_Pxbab_NUMS512W</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a2d2e1eec245b773ae1e2c3b66d526995">CURVE_Pxbba_NUMS512W</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a3f51e42ed9a84f4a2aeed35bbc0348ee">CURVE_Pxbbb_NUMS512W</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#accd54044d5f55f5edbb9473f7a9a30e1">CURVE_Pyaaa_NUMS512W</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a916f8112628a94ed2298ca0bb9512e23">CURVE_Pyaab_NUMS512W</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#aff3313b550db0c6afa93bae99e69a57e">CURVE_Pyaba_NUMS512W</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a2bc64b31ebbd26c116923f81e671448f">CURVE_Pyabb_NUMS512W</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a83bcebf1e4f3b674e9552a22feb1fe08">CURVE_Pybaa_NUMS512W</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#afe1a6e81b7a0e47b4b0cab77a45f401a">CURVE_Pybab_NUMS512W</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9d0a8c118add7a86423eefacdd96f4ed">CURVE_Pybba_NUMS512W</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ac1a532d47abdd407aff95e46ad1d7061">CURVE_Pybbb_NUMS512W</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a99e7ec1d4cf188fdfd62cbb773bd278e">CURVE_Bnx_NUMS512W</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ae96ae88cb5ce7f808b2a862a798dfdd4">CURVE_Cru_NUMS512W</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#ad6f2370cc46044dc5544155fb45064a3">Fra_512PM</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a8dd44f2b459f2dfd940c9fc64d6faf40">Frb_512PM</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a9d8b7fd95e04784fc3282289feca8165">CURVE_W_NUMS512W</a>[2];     </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a844f1572b0654a8030283e9746ab0bda">CURVE_SB_NUMS512W</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#affc86142a66acae2168afbe26cb8d75c">CURVE_WB_NUMS512W</a>[4];    </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="ecp__NUMS512W_8h.html#a663e76601d47206dec5bfa0ee67cb676">CURVE_BB_NUMS512W</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html#ad4374e30e0d96444a9ca9e285e4e57d3">  109</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512W.html#ad4374e30e0d96444a9ca9e285e4e57d3">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512W!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html#ad9b3161bc84da855bd672d2bc461365d">  111</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512W.html#ad9b3161bc84da855bd672d2bc461365d">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__NUMS512W.html#afcded90a6d93b334108eb56e5a31007e">  113</a></span>&#160;    <a class="code" href="structFP__512PM.html">FP_512PM</a> <a class="code" href="structECP__NUMS512W.html#afcded90a6d93b334108eb56e5a31007e">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#aadacc6c7e0e311abf399aec3a841885b">ECP_NUMS512W_isinf</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#ab0ed94684d4b212824eace2da7544911">ECP_NUMS512W_equals</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a2432f352e600046676367eb4cf3aab9a">ECP_NUMS512W_copy</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</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="ecp__NUMS512W_8h.html#a98d20d530de2458e885afa539993da2a">ECP_NUMS512W_neg</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</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="ecp__NUMS512W_8h.html#a5434e509d7923c86e21a1d02d20387a7">ECP_NUMS512W_inf</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#af2a0b12d0a4c8d292ced94225c7a7c44">ECP_NUMS512W_rhs</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *r,<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_NUMS512W==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a6453a6e7672efcb40f781d22bbac425d">ECP_NUMS512W_set</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a2ce470121786253c9a2be22e954103a6">ECP_NUMS512W_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a9b752aa9c51a755f18187deb65174e5e">ECP_NUMS512W_add</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a6453a6e7672efcb40f781d22bbac425d">ECP_NUMS512W_set</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a2ce470121786253c9a2be22e954103a6">ECP_NUMS512W_get</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> y,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a9b752aa9c51a755f18187deb65174e5e">ECP_NUMS512W_add</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</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="ecp__NUMS512W_8h.html#aa0b91c33c8f6cf68b78eca905c5f3333">ECP_NUMS512W_sub</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#a111b936b0a94b74c1f1c79015785ea92">ECP_NUMS512W_setx</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a0d339133fe11c16bfb02958bafbbdc20">ECP_NUMS512W_cfp</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a2a4d86a233d5aabb9f6246c50158a8c4">ECP_NUMS512W_mapit</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#aa9655f7de9a06f86d214b3a25c4284b0">ECP_NUMS512W_affine</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#ae8902e3e96323345d373b341516e167f">ECP_NUMS512W_outputxyz</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</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="ecp__NUMS512W_8h.html#ad7a5372ed940214b1b9b91bc50d8f080">ECP_NUMS512W_output</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a1180fcf4bf5a6173070c74a732092dff">ECP_NUMS512W_rawoutput</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#ad48b89082619632ec65a8e5533966f34">ECP_NUMS512W_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__NUMS512W_8h.html#aaa02aefbfa2342e996857ec79a1f1298">ECP_NUMS512W_fromOctet</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a042924755088debd4bb118265819d915">ECP_NUMS512W_dbl</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a67dcb63bff41a1a453714e5ef1435e40">ECP_NUMS512W_pinmul</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#afc769b787d3192b004cafbd00b22d72c">ECP_NUMS512W_mul</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#ad19acdf005fe7102e3e0502ba94e4572">ECP_NUMS512W_mul2</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *P,<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *Q,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> e,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__NUMS512W_8h.html#a0ad495b2e20a4aa2ed536a270ec1ed6b">ECP_NUMS512W_generator</a>(<a class="code" href="structECP__NUMS512W.html">ECP_NUMS512W</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__NUMS512W_8h_html_accd54044d5f55f5edbb9473f7a9a30e1"><div class="ttname"><a href="ecp__NUMS512W_8h.html#accd54044d5f55f5edbb9473f7a9a30e1">CURVE_Pyaaa_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaaa_NUMS512W</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a67dcb63bff41a1a453714e5ef1435e40"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a67dcb63bff41a1a453714e5ef1435e40">ECP_NUMS512W_pinmul</a></div><div class="ttdeci">void ECP_NUMS512W_pinmul(ECP_NUMS512W *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_aadacc6c7e0e311abf399aec3a841885b"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aadacc6c7e0e311abf399aec3a841885b">ECP_NUMS512W_isinf</a></div><div class="ttdeci">int ECP_NUMS512W_isinf(ECP_NUMS512W *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:28</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a1180fcf4bf5a6173070c74a732092dff"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a1180fcf4bf5a6173070c74a732092dff">ECP_NUMS512W_rawoutput</a></div><div class="ttdeci">void ECP_NUMS512W_rawoutput(ECP_NUMS512W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:478</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a6453a6e7672efcb40f781d22bbac425d"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a6453a6e7672efcb40f781d22bbac425d">ECP_NUMS512W_set</a></div><div class="ttdeci">int ECP_NUMS512W_set(ECP_NUMS512W *P, BIG_512_56 x, BIG_512_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
+<div class="ttc" id="fp__512PM_8h_html"><div class="ttname"><a href="fp__512PM_8h.html">fp_512PM.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a0ad495b2e20a4aa2ed536a270ec1ed6b"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a0ad495b2e20a4aa2ed536a270ec1ed6b">ECP_NUMS512W_generator</a></div><div class="ttdeci">void ECP_NUMS512W_generator(ECP_NUMS512W *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:1221</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_afe1a6e81b7a0e47b4b0cab77a45f401a"><div class="ttname"><a href="ecp__NUMS512W_8h.html#afe1a6e81b7a0e47b4b0cab77a45f401a">CURVE_Pybab_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybab_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a9d0a8c118add7a86423eefacdd96f4ed"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a9d0a8c118add7a86423eefacdd96f4ed">CURVE_Pybba_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybba_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_aff3313b550db0c6afa93bae99e69a57e"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aff3313b550db0c6afa93bae99e69a57e">CURVE_Pyaba_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaba_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a98d20d530de2458e885afa539993da2a"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a98d20d530de2458e885afa539993da2a">ECP_NUMS512W_neg</a></div><div class="ttdeci">void ECP_NUMS512W_neg(ECP_NUMS512W *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a98d20d530de2458e885afa539993da2a"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a98d20d530de2458e885afa539993da2a">ECP_NUMS512W_neg</a></div><div class="ttdeci">void ECP_NUMS512W_neg(ECP_NUMS512W *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ac0cef6f042c6f220ba4057f2d146ebb7"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ac0cef6f042c6f220ba4057f2d146ebb7">CURVE_Pxb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxb_NUMS512W</div></div>
 <div class="ttc" id="big__512__56_8h_html_ab11601a54bdce84587a8c0667fbd0e9c"><div class="ttname"><a href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a></div><div class="ttdeci">chunk BIG_512_56[NLEN_512_56]</div><div class="ttdef"><b>Definition:</b> big_512_56.h:58</div></div>
 <div class="ttc" id="structECP__NUMS512W_html_ad9b3161bc84da855bd672d2bc461365d"><div class="ttname"><a href="structECP__NUMS512W.html#ad9b3161bc84da855bd672d2bc461365d">ECP_NUMS512W::y</a></div><div class="ttdeci">FP_512PM y</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.h:111</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_aa0b91c33c8f6cf68b78eca905c5f3333"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aa0b91c33c8f6cf68b78eca905c5f3333">ECP_NUMS512W_sub</a></div><div class="ttdeci">void ECP_NUMS512W_sub(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_aa0b91c33c8f6cf68b78eca905c5f3333"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aa0b91c33c8f6cf68b78eca905c5f3333">ECP_NUMS512W_sub</a></div><div class="ttdeci">void ECP_NUMS512W_sub(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ae450f2c13e35d5d070dfae4194e029b8"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ae450f2c13e35d5d070dfae4194e029b8">CURVE_Pyab_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyab_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a9b752aa9c51a755f18187deb65174e5e"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a9b752aa9c51a755f18187deb65174e5e">ECP_NUMS512W_add</a></div><div class="ttdeci">void ECP_NUMS512W_add(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_af2a0b12d0a4c8d292ced94225c7a7c44"><div class="ttname"><a href="ecp__NUMS512W_8h.html#af2a0b12d0a4c8d292ced94225c7a7c44">ECP_NUMS512W_rhs</a></div><div class="ttdeci">void ECP_NUMS512W_rhs(FP_512PM *r, FP_512PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:161</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a9b752aa9c51a755f18187deb65174e5e"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a9b752aa9c51a755f18187deb65174e5e">ECP_NUMS512W_add</a></div><div class="ttdeci">void ECP_NUMS512W_add(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_af2a0b12d0a4c8d292ced94225c7a7c44"><div class="ttname"><a href="ecp__NUMS512W_8h.html#af2a0b12d0a4c8d292ced94225c7a7c44">ECP_NUMS512W_rhs</a></div><div class="ttdeci">void ECP_NUMS512W_rhs(FP_512PM *r, FP_512PM *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:161</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a0db259abe798b064acc5e8d17e3547a0"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a0db259abe798b064acc5e8d17e3547a0">CURVE_B_I_NUMS512W</a></div><div class="ttdeci">const int CURVE_B_I_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ab3fba6d7be3eb44c1bb36808e1cd3f4e"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ab3fba6d7be3eb44c1bb36808e1cd3f4e">CURVE_B_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_B_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ae444d889cdbe68c689dfc084b94bd772"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ae444d889cdbe68c689dfc084b94bd772">CURVE_Pyaa_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaa_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ac1a532d47abdd407aff95e46ad1d7061"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ac1a532d47abdd407aff95e46ad1d7061">CURVE_Pybbb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybbb_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a48f07043504133019f407402961195a0"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a48f07043504133019f407402961195a0">CURVE_Pxbab_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbab_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a2ce470121786253c9a2be22e954103a6"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2ce470121786253c9a2be22e954103a6">ECP_NUMS512W_get</a></div><div class="ttdeci">int ECP_NUMS512W_get(BIG_512_56 x, BIG_512_56 y, ECP_NUMS512W *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a2ce470121786253c9a2be22e954103a6"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2ce470121786253c9a2be22e954103a6">ECP_NUMS512W_get</a></div><div class="ttdeci">int ECP_NUMS512W_get(BIG_512_56 x, BIG_512_56 y, ECP_NUMS512W *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
 <div class="ttc" id="structECP__NUMS512W_html_afcded90a6d93b334108eb56e5a31007e"><div class="ttname"><a href="structECP__NUMS512W.html#afcded90a6d93b334108eb56e5a31007e">ECP_NUMS512W::z</a></div><div class="ttdeci">FP_512PM z</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.h:113</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a83bcebf1e4f3b674e9552a22feb1fe08"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a83bcebf1e4f3b674e9552a22feb1fe08">CURVE_Pybaa_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybaa_NUMS512W</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="ecp__NUMS512W_8h_html_a8976d93cc8ba41c405958bbe31b8c72c"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a8976d93cc8ba41c405958bbe31b8c72c">CURVE_Cof_I_NUMS512W</a></div><div class="ttdeci">const int CURVE_Cof_I_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_affc86142a66acae2168afbe26cb8d75c"><div class="ttname"><a href="ecp__NUMS512W_8h.html#affc86142a66acae2168afbe26cb8d75c">CURVE_WB_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_WB_NUMS512W[4]</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a9d8b7fd95e04784fc3282289feca8165"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a9d8b7fd95e04784fc3282289feca8165">CURVE_W_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_W_NUMS512W[2]</div></div>
@@ -103,35 +106,35 @@
 <div class="ttc" id="ecp__NUMS512W_8h_html_aae065e38737919ae3e4c23f2eebecc9b"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aae065e38737919ae3e4c23f2eebecc9b">CURVE_Pyb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyb_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a845365764b9cfdf09b04c00246316d57"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a845365764b9cfdf09b04c00246316d57">CURVE_Pxbaa_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbaa_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_adfab00475e8fb4100f284df3286262e5"><div class="ttname"><a href="ecp__NUMS512W_8h.html#adfab00475e8fb4100f284df3286262e5">CURVE_Pxbb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbb_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_afc769b787d3192b004cafbd00b22d72c"><div class="ttname"><a href="ecp__NUMS512W_8h.html#afc769b787d3192b004cafbd00b22d72c">ECP_NUMS512W_mul</a></div><div class="ttdeci">void ECP_NUMS512W_mul(ECP_NUMS512W *P, BIG_512_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:1021</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_ad7a5372ed940214b1b9b91bc50d8f080"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ad7a5372ed940214b1b9b91bc50d8f080">ECP_NUMS512W_output</a></div><div class="ttdeci">void ECP_NUMS512W_output(ECP_NUMS512W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:450</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_afc769b787d3192b004cafbd00b22d72c"><div class="ttname"><a href="ecp__NUMS512W_8h.html#afc769b787d3192b004cafbd00b22d72c">ECP_NUMS512W_mul</a></div><div class="ttdeci">void ECP_NUMS512W_mul(ECP_NUMS512W *P, BIG_512_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:1021</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_ad7a5372ed940214b1b9b91bc50d8f080"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ad7a5372ed940214b1b9b91bc50d8f080">ECP_NUMS512W_output</a></div><div class="ttdeci">void ECP_NUMS512W_output(ECP_NUMS512W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:450</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a99e7ec1d4cf188fdfd62cbb773bd278e"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a99e7ec1d4cf188fdfd62cbb773bd278e">CURVE_Bnx_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Bnx_NUMS512W</div></div>
-<div class="ttc" id="structECP__NUMS512W_html"><div class="ttname"><a href="structECP__NUMS512W.html">ECP_NUMS512W</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.h:105</div></div>
+<div class="ttc" id="structECP__NUMS512W_html"><div class="ttname"><a href="structECP__NUMS512W.html">ECP_NUMS512W</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.h:105</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_acce5aa3da8f026e1e9f598315389ea08"><div class="ttname"><a href="ecp__NUMS512W_8h.html#acce5aa3da8f026e1e9f598315389ea08">CURVE_Order_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Order_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a2d2e1eec245b773ae1e2c3b66d526995"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2d2e1eec245b773ae1e2c3b66d526995">CURVE_Pxbba_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbba_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a916f8112628a94ed2298ca0bb9512e23"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a916f8112628a94ed2298ca0bb9512e23">CURVE_Pyaab_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyaab_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_ad19acdf005fe7102e3e0502ba94e4572"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ad19acdf005fe7102e3e0502ba94e4572">ECP_NUMS512W_mul2</a></div><div class="ttdeci">void ECP_NUMS512W_mul2(ECP_NUMS512W *P, ECP_NUMS512W *Q, BIG_512_56 e, BIG_512_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a042924755088debd4bb118265819d915"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a042924755088debd4bb118265819d915">ECP_NUMS512W_dbl</a></div><div class="ttdeci">void ECP_NUMS512W_dbl(ECP_NUMS512W *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:564</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_ad19acdf005fe7102e3e0502ba94e4572"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ad19acdf005fe7102e3e0502ba94e4572">ECP_NUMS512W_mul2</a></div><div class="ttdeci">void ECP_NUMS512W_mul2(ECP_NUMS512W *P, ECP_NUMS512W *Q, BIG_512_56 e, BIG_512_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a042924755088debd4bb118265819d915"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a042924755088debd4bb118265819d915">ECP_NUMS512W_dbl</a></div><div class="ttdeci">void ECP_NUMS512W_dbl(ECP_NUMS512W *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:564</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ad6f2370cc46044dc5544155fb45064a3"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ad6f2370cc46044dc5544155fb45064a3">Fra_512PM</a></div><div class="ttdeci">const BIG_512_56 Fra_512PM</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a5434e509d7923c86e21a1d02d20387a7"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a5434e509d7923c86e21a1d02d20387a7">ECP_NUMS512W_inf</a></div><div class="ttdeci">void ECP_NUMS512W_inf(ECP_NUMS512W *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:146</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a5434e509d7923c86e21a1d02d20387a7"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a5434e509d7923c86e21a1d02d20387a7">ECP_NUMS512W_inf</a></div><div class="ttdeci">void ECP_NUMS512W_inf(ECP_NUMS512W *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:146</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a0f46ebddb3283575d66bfdf7d337567b"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a0f46ebddb3283575d66bfdf7d337567b">CURVE_Pxa_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxa_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a2a3e6f9264ec28110546188ce4d9ff47"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2a3e6f9264ec28110546188ce4d9ff47">CURVE_Gx_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Gx_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ac47e93005ebbcdab23aa078af6080561"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ac47e93005ebbcdab23aa078af6080561">CURVE_Pxabb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxabb_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ae96ae88cb5ce7f808b2a862a798dfdd4"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ae96ae88cb5ce7f808b2a862a798dfdd4">CURVE_Cru_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Cru_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a0d339133fe11c16bfb02958bafbbdc20"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a0d339133fe11c16bfb02958bafbbdc20">ECP_NUMS512W_cfp</a></div><div class="ttdeci">void ECP_NUMS512W_cfp(ECP_NUMS512W *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:338</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a2432f352e600046676367eb4cf3aab9a"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2432f352e600046676367eb4cf3aab9a">ECP_NUMS512W_copy</a></div><div class="ttdeci">void ECP_NUMS512W_copy(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:120</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a0d339133fe11c16bfb02958bafbbdc20"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a0d339133fe11c16bfb02958bafbbdc20">ECP_NUMS512W_cfp</a></div><div class="ttdeci">void ECP_NUMS512W_cfp(ECP_NUMS512W *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:338</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a2432f352e600046676367eb4cf3aab9a"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2432f352e600046676367eb4cf3aab9a">ECP_NUMS512W_copy</a></div><div class="ttdeci">void ECP_NUMS512W_copy(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:120</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_aa03c45e7146d33f15ba684178686d464"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aa03c45e7146d33f15ba684178686d464">CURVE_Pxab_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxab_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_ae8902e3e96323345d373b341516e167f"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ae8902e3e96323345d373b341516e167f">ECP_NUMS512W_outputxyz</a></div><div class="ttdeci">void ECP_NUMS512W_outputxyz(ECP_NUMS512W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:414</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_ae8902e3e96323345d373b341516e167f"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ae8902e3e96323345d373b341516e167f">ECP_NUMS512W_outputxyz</a></div><div class="ttdeci">void ECP_NUMS512W_outputxyz(ECP_NUMS512W *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:414</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a65d21ee42b139c799d5aee9b81703aa3"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a65d21ee42b139c799d5aee9b81703aa3">CURVE_A_NUMS512W</a></div><div class="ttdeci">const int CURVE_A_NUMS512W</div></div>
 <div class="ttc" id="structECP__NUMS512W_html_ad4374e30e0d96444a9ca9e285e4e57d3"><div class="ttname"><a href="structECP__NUMS512W.html#ad4374e30e0d96444a9ca9e285e4e57d3">ECP_NUMS512W::x</a></div><div class="ttdeci">FP_512PM x</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.h:109</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_ad48b89082619632ec65a8e5533966f34"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ad48b89082619632ec65a8e5533966f34">ECP_NUMS512W_toOctet</a></div><div class="ttdeci">void ECP_NUMS512W_toOctet(octet *S, ECP_NUMS512W *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:507</div></div>
-<div class="ttc" id="structFP__512PM_html"><div class="ttname"><a href="structFP__512PM.html">FP_512PM</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_512PM.h:38</div></div>
+<div class="ttc" id="structFP__512PM_html"><div class="ttname"><a href="structFP__512PM.html">FP_512PM</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_512PM.h:38</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a3f51e42ed9a84f4a2aeed35bbc0348ee"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a3f51e42ed9a84f4a2aeed35bbc0348ee">CURVE_Pxbbb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxbbb_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a2a4d86a233d5aabb9f6246c50158a8c4"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2a4d86a233d5aabb9f6246c50158a8c4">ECP_NUMS512W_mapit</a></div><div class="ttdeci">void ECP_NUMS512W_mapit(ECP_NUMS512W *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:365</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a2a4d86a233d5aabb9f6246c50158a8c4"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2a4d86a233d5aabb9f6246c50158a8c4">ECP_NUMS512W_mapit</a></div><div class="ttdeci">void ECP_NUMS512W_mapit(ECP_NUMS512W *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:365</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a97fd1b9fa1378ba690e7bc3211ad7c19"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a97fd1b9fa1378ba690e7bc3211ad7c19">CURVE_Cof_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Cof_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a9395133e66de19f2154469ef805898c7"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a9395133e66de19f2154469ef805898c7">CURVE_Pyba_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyba_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a8dd44f2b459f2dfd940c9fc64d6faf40"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a8dd44f2b459f2dfd940c9fc64d6faf40">Frb_512PM</a></div><div class="ttdeci">const BIG_512_56 Frb_512PM</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_aa9655f7de9a06f86d214b3a25c4284b0"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aa9655f7de9a06f86d214b3a25c4284b0">ECP_NUMS512W_affine</a></div><div class="ttdeci">void ECP_NUMS512W_affine(ECP_NUMS512W *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:392</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_aa9655f7de9a06f86d214b3a25c4284b0"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aa9655f7de9a06f86d214b3a25c4284b0">ECP_NUMS512W_affine</a></div><div class="ttdeci">void ECP_NUMS512W_affine(ECP_NUMS512W *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:392</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a663e76601d47206dec5bfa0ee67cb676"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a663e76601d47206dec5bfa0ee67cb676">CURVE_BB_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_BB_NUMS512W[4][4]</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a9628e3b4dbc329e94f7a423047d9d725"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a9628e3b4dbc329e94f7a423047d9d725">CURVE_Gy_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Gy_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_adce636f113b7e37301fc0add3790093f"><div class="ttname"><a href="ecp__NUMS512W_8h.html#adce636f113b7e37301fc0add3790093f">CURVE_Pxaaa_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxaaa_NUMS512W</div></div>
@@ -142,15 +145,15 @@
 <div class="ttc" id="ecp__NUMS512W_8h_html_a452767f5c72cb56b633f733762e12cfa"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a452767f5c72cb56b633f733762e12cfa">CURVE_Pybb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pybb_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a0b13ed31dca7b0363a9b9fd7a12aa2b5"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a0b13ed31dca7b0363a9b9fd7a12aa2b5">CURVE_Pxaab_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pxaab_NUMS512W</div></div>
 <div class="ttc" id="ecp__NUMS512W_8h_html_a2bc64b31ebbd26c116923f81e671448f"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a2bc64b31ebbd26c116923f81e671448f">CURVE_Pyabb_NUMS512W</a></div><div class="ttdeci">const BIG_512_56 CURVE_Pyabb_NUMS512W</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_aaa02aefbfa2342e996857ec79a1f1298"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aaa02aefbfa2342e996857ec79a1f1298">ECP_NUMS512W_fromOctet</a></div><div class="ttdeci">int ECP_NUMS512W_fromOctet(ECP_NUMS512W *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:537</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_a111b936b0a94b74c1f1c79015785ea92"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a111b936b0a94b74c1f1c79015785ea92">ECP_NUMS512W_setx</a></div><div class="ttdeci">int ECP_NUMS512W_setx(ECP_NUMS512W *P, BIG_512_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
-<div class="ttc" id="ecp__NUMS512W_8h_html_ab0ed94684d4b212824eace2da7544911"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ab0ed94684d4b212824eace2da7544911">ECP_NUMS512W_equals</a></div><div class="ttdeci">int ECP_NUMS512W_equals(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:100</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_aaa02aefbfa2342e996857ec79a1f1298"><div class="ttname"><a href="ecp__NUMS512W_8h.html#aaa02aefbfa2342e996857ec79a1f1298">ECP_NUMS512W_fromOctet</a></div><div class="ttdeci">int ECP_NUMS512W_fromOctet(ECP_NUMS512W *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:537</div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_a111b936b0a94b74c1f1c79015785ea92"><div class="ttname"><a href="ecp__NUMS512W_8h.html#a111b936b0a94b74c1f1c79015785ea92">ECP_NUMS512W_setx</a></div><div class="ttdeci">int ECP_NUMS512W_setx(ECP_NUMS512W *P, BIG_512_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
+<div class="ttc" id="ecp__NUMS512W_8h_html_ab0ed94684d4b212824eace2da7544911"><div class="ttname"><a href="ecp__NUMS512W_8h.html#ab0ed94684d4b212824eace2da7544911">ECP_NUMS512W_equals</a></div><div class="ttdeci">int ECP_NUMS512W_equals(ECP_NUMS512W *P, ECP_NUMS512W *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_NUMS512W.c:100</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/ecp__SECP256K1_8h.html b/website/static/cdocs/ecp__SECP256K1_8h.html
index be215cf..1b8c38f 100644
--- a/website/static/cdocs/ecp__SECP256K1_8h.html
+++ b/website/static/cdocs/ecp__SECP256K1_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: ecp_SECP256K1.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"
@@ -1705,7 +1708,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/ecp__SECP256K1_8h_source.html b/website/static/cdocs/ecp__SECP256K1_8h_source.html
index 4e12c1c..e0c51b7 100644
--- a/website/static/cdocs/ecp__SECP256K1_8h_source.html
+++ b/website/static/cdocs/ecp__SECP256K1_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: ecp_SECP256K1.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,7 +72,7 @@
 <div class="title">ecp_SECP256K1.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ecp__SECP256K1_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 ECP_SECP256K1_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_SECP256K1_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 &quot;<a class="code" href="fp__SECP256K1_8h.html">fp_SECP256K1.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_SECP256K1.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a8a42e043e1f8ec3e5f9874f90a75d407">CURVE_A_SECP256K1</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a103584c937913637b3f98f55f2d5eda6">CURVE_Cof_I_SECP256K1</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a27cf4f883d8a1a3cd65a2586f27199ad">CURVE_B_I_SECP256K1</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a425f3d991a20b7e0eb2c81c3b3c275ce">CURVE_B_SECP256K1</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a4833f81f1e821e931e74061ddb25b66c">CURVE_Order_SECP256K1</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a6f715f19b3befe5141ecb6d9142999d6">CURVE_Cof_SECP256K1</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aa1e81bb98483ec6adb9958e01c7ab7f8">CURVE_Gx_SECP256K1</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ac1f92bce72197462525dbabf1a19cfcd">CURVE_Gy_SECP256K1</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a5ef6e7f98dabfbaa6979368ad500fef0">CURVE_Pxa_SECP256K1</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a184ee312f7aa1bbb0bb23687cdd5e3d7">CURVE_Pxb_SECP256K1</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aadc620a542b7f5846fb5ccd63cfc0d9c">CURVE_Pya_SECP256K1</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a51e7ea949ba6f53144dd374e14ed7941">CURVE_Pyb_SECP256K1</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aa13fc063a7b578ba191f0966757b5ce0">CURVE_Pxaa_SECP256K1</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ae5933fbd495772220019d9a39ecddae7">CURVE_Pxab_SECP256K1</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a85b531353906542af8f6ea29411772ea">CURVE_Pxba_SECP256K1</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a37789a418709f3407533b7bbb41fd798">CURVE_Pxbb_SECP256K1</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a9d48c707a66c93246fed55e4aadb26a3">CURVE_Pyaa_SECP256K1</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a08bf180014b106623d69a9f770fa01e1">CURVE_Pyab_SECP256K1</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a82c5bbe003278005caae6a6f7d78dddf">CURVE_Pyba_SECP256K1</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a7907c1ce6567f7739ef4ae547abb9c64">CURVE_Pybb_SECP256K1</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a76a72d70443b748625d4b6de60f9d4cf">CURVE_Pxaaa_SECP256K1</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a818572c24cc21df56a6b10f32c519416">CURVE_Pxaab_SECP256K1</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a0fa7b0ca0385ddc8b357423009be4390">CURVE_Pxaba_SECP256K1</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a2a6b6a14e120a84d28ed01090f87884e">CURVE_Pxabb_SECP256K1</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a85718a3e4510b4077bb916b29eab28e4">CURVE_Pxbaa_SECP256K1</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a15d6ac87eacc22b681b3351a10c28bda">CURVE_Pxbab_SECP256K1</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a93b2a075bf27269b2acfca733169dd9e">CURVE_Pxbba_SECP256K1</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ab21f461b75e759ecadc567a44b060061">CURVE_Pxbbb_SECP256K1</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ac70f752fc65b5ec6aefc035b90242d1e">CURVE_Pyaaa_SECP256K1</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a43c03ddf92b13d82a50685c67f97b2a7">CURVE_Pyaab_SECP256K1</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a5ac6cc1c9ceba3aa268b9e7a778d1a87">CURVE_Pyaba_SECP256K1</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a6988875c61fdf27fe02719922715e957">CURVE_Pyabb_SECP256K1</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a51b597c41173d8c776a28201267db1f9">CURVE_Pybaa_SECP256K1</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#af4578115f40746a29117fd32f2d190ba">CURVE_Pybab_SECP256K1</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a980c737d2253a408cd82c1d949286aa9">CURVE_Pybba_SECP256K1</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ad7b00554ad0578a70d02a842ed6b1905">CURVE_Pybbb_SECP256K1</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a83f88ce636f14732e7c9006eb5a348b5">CURVE_Bnx_SECP256K1</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ab24ab2a26bd9c7a833eecbc490057eb9">CURVE_Cru_SECP256K1</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#adaef81d007fe9f3fd6f59aee7a8c3ed2">Fra_SECP256K1</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a0584eac12160515fb95ea79f9b5c22d8">Frb_SECP256K1</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ad11fc19ec1b9aefdffd715d4332270fc">CURVE_W_SECP256K1</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aebf3591182e23e8ed366dd7c0a211f5b">CURVE_SB_SECP256K1</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aa92df5468f79951e6821c89c4be1f6d8">CURVE_WB_SECP256K1</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#acadce0780dc792902f8c12341895a64a">CURVE_BB_SECP256K1</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html#a25cdbf154110ff65baae008476f8262b">  109</a></span>&#160;    <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> <a class="code" href="structECP__SECP256K1.html#a25cdbf154110ff65baae008476f8262b">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_SECP256K1!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html#a28cef227284d8b287132f21cc32ae987">  111</a></span>&#160;    <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> <a class="code" href="structECP__SECP256K1.html#a28cef227284d8b287132f21cc32ae987">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html#ae84d326fd938dab8ef40bf43d96bd736">  113</a></span>&#160;    <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> <a class="code" href="structECP__SECP256K1.html#ae84d326fd938dab8ef40bf43d96bd736">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a74cda6a195a780318fbdce897ae925b5">ECP_SECP256K1_isinf</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a87ee0523180309932d83474da3dea9db">ECP_SECP256K1_equals</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ad2537d023327fe09090ec9de706bc03d">ECP_SECP256K1_copy</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</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="ecp__SECP256K1_8h.html#a309406de1fa4570ad1e0a845abec9985">ECP_SECP256K1_neg</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</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="ecp__SECP256K1_8h.html#a61cf52995d181f61fe87b2ade97091c9">ECP_SECP256K1_inf</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ab0fb55d14430fbb5eba4ed928e3dab38">ECP_SECP256K1_rhs</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *r,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_SECP256K1==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a53ae88d365a96bf6a9d65a20d77669e6">ECP_SECP256K1_set</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a143de5e98cab7723be637c2f91b32fe9">ECP_SECP256K1_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a44eff8938d65d22c1bd44d5cd0785098">ECP_SECP256K1_add</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a53ae88d365a96bf6a9d65a20d77669e6">ECP_SECP256K1_set</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a143de5e98cab7723be637c2f91b32fe9">ECP_SECP256K1_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a44eff8938d65d22c1bd44d5cd0785098">ECP_SECP256K1_add</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</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="ecp__SECP256K1_8h.html#a3cc5f99354f1c37622881afa7bbfe0f5">ECP_SECP256K1_sub</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a6eaf4ed09f642f39a4812ea93b2c06c9">ECP_SECP256K1_setx</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ada26842f767c6aee079ea741b8dcddbc">ECP_SECP256K1_cfp</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a7dd53c6bae3e6be4db71adcc304c9b16">ECP_SECP256K1_mapit</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#abb1fa46f970ba94ca199d832d3ddffe6">ECP_SECP256K1_affine</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a8ba7c812d8c960d81daa8af6c24b1246">ECP_SECP256K1_outputxyz</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</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="ecp__SECP256K1_8h.html#aeee0aace37f4d795c124504daf7f0e00">ECP_SECP256K1_output</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a736ddce43a8f24304c749110e57cc919">ECP_SECP256K1_rawoutput</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a558a6531c4a237a45f62c423e8b506db">ECP_SECP256K1_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a30eda45ddfb3d84627dfbd5a48613ffd">ECP_SECP256K1_fromOctet</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ad45350a508c2345ba4ffa5359cb2a3fb">ECP_SECP256K1_dbl</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a80a6b129a68a48c4b166224f4cb00515">ECP_SECP256K1_pinmul</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a4fa99eaa143e208a0d0092eb8fcf0f1a">ECP_SECP256K1_mul</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a95b35390f9290cee5ee5acaa269509e9">ECP_SECP256K1_mul2</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a284f7d4b3a23b0996d6f8149c588914e">ECP_SECP256K1_generator</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__SECP256K1_8h_html_a5ac6cc1c9ceba3aa268b9e7a778d1a87"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a5ac6cc1c9ceba3aa268b9e7a778d1a87">CURVE_Pyaba_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_SECP256K1</div></div>
+<a href="ecp__SECP256K1_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 ECP_SECP256K1_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define ECP_SECP256K1_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 &quot;<a class="code" href="fp__SECP256K1_8h.html">fp_SECP256K1.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_SECP256K1.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">/* Curve Params - see rom_zzz.c */</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a8a42e043e1f8ec3e5f9874f90a75d407">CURVE_A_SECP256K1</a>;         </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a103584c937913637b3f98f55f2d5eda6">CURVE_Cof_I_SECP256K1</a>;     </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a27cf4f883d8a1a3cd65a2586f27199ad">CURVE_B_I_SECP256K1</a>;       </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a425f3d991a20b7e0eb2c81c3b3c275ce">CURVE_B_SECP256K1</a>;     </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a4833f81f1e821e931e74061ddb25b66c">CURVE_Order_SECP256K1</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a6f715f19b3befe5141ecb6d9142999d6">CURVE_Cof_SECP256K1</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Generator point on G1 */</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aa1e81bb98483ec6adb9958e01c7ab7f8">CURVE_Gx_SECP256K1</a>; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ac1f92bce72197462525dbabf1a19cfcd">CURVE_Gy_SECP256K1</a>; </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/* For Pairings only */</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">/* Generator point on G2 */</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a5ef6e7f98dabfbaa6979368ad500fef0">CURVE_Pxa_SECP256K1</a>; </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a184ee312f7aa1bbb0bb23687cdd5e3d7">CURVE_Pxb_SECP256K1</a>; </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aadc620a542b7f5846fb5ccd63cfc0d9c">CURVE_Pya_SECP256K1</a>; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a51e7ea949ba6f53144dd374e14ed7941">CURVE_Pyb_SECP256K1</a>; </div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/*** needed for BLS24 curves ***/</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aa13fc063a7b578ba191f0966757b5ce0">CURVE_Pxaa_SECP256K1</a>; </div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ae5933fbd495772220019d9a39ecddae7">CURVE_Pxab_SECP256K1</a>; </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a85b531353906542af8f6ea29411772ea">CURVE_Pxba_SECP256K1</a>; </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a37789a418709f3407533b7bbb41fd798">CURVE_Pxbb_SECP256K1</a>; </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a9d48c707a66c93246fed55e4aadb26a3">CURVE_Pyaa_SECP256K1</a>; </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a08bf180014b106623d69a9f770fa01e1">CURVE_Pyab_SECP256K1</a>; </div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a82c5bbe003278005caae6a6f7d78dddf">CURVE_Pyba_SECP256K1</a>; </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a7907c1ce6567f7739ef4ae547abb9c64">CURVE_Pybb_SECP256K1</a>; </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/*** needed for BLS48 curves ***/</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a76a72d70443b748625d4b6de60f9d4cf">CURVE_Pxaaa_SECP256K1</a>; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a818572c24cc21df56a6b10f32c519416">CURVE_Pxaab_SECP256K1</a>; </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a0fa7b0ca0385ddc8b357423009be4390">CURVE_Pxaba_SECP256K1</a>; </div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a2a6b6a14e120a84d28ed01090f87884e">CURVE_Pxabb_SECP256K1</a>; </div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a85718a3e4510b4077bb916b29eab28e4">CURVE_Pxbaa_SECP256K1</a>; </div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a15d6ac87eacc22b681b3351a10c28bda">CURVE_Pxbab_SECP256K1</a>; </div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a93b2a075bf27269b2acfca733169dd9e">CURVE_Pxbba_SECP256K1</a>; </div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ab21f461b75e759ecadc567a44b060061">CURVE_Pxbbb_SECP256K1</a>; </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ac70f752fc65b5ec6aefc035b90242d1e">CURVE_Pyaaa_SECP256K1</a>; </div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a43c03ddf92b13d82a50685c67f97b2a7">CURVE_Pyaab_SECP256K1</a>; </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a5ac6cc1c9ceba3aa268b9e7a778d1a87">CURVE_Pyaba_SECP256K1</a>; </div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a6988875c61fdf27fe02719922715e957">CURVE_Pyabb_SECP256K1</a>; </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a51b597c41173d8c776a28201267db1f9">CURVE_Pybaa_SECP256K1</a>; </div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#af4578115f40746a29117fd32f2d190ba">CURVE_Pybab_SECP256K1</a>; </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a980c737d2253a408cd82c1d949286aa9">CURVE_Pybba_SECP256K1</a>; </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ad7b00554ad0578a70d02a842ed6b1905">CURVE_Pybbb_SECP256K1</a>; </div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a83f88ce636f14732e7c9006eb5a348b5">CURVE_Bnx_SECP256K1</a>; </div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ab24ab2a26bd9c7a833eecbc490057eb9">CURVE_Cru_SECP256K1</a>; </div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#adaef81d007fe9f3fd6f59aee7a8c3ed2">Fra_SECP256K1</a>; </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#a0584eac12160515fb95ea79f9b5c22d8">Frb_SECP256K1</a>; </div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#ad11fc19ec1b9aefdffd715d4332270fc">CURVE_W_SECP256K1</a>[2];    </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aebf3591182e23e8ed366dd7c0a211f5b">CURVE_SB_SECP256K1</a>[2][2]; </div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#aa92df5468f79951e6821c89c4be1f6d8">CURVE_WB_SECP256K1</a>[4];   </div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="ecp__SECP256K1_8h.html#acadce0780dc792902f8c12341895a64a">CURVE_BB_SECP256K1</a>[4][4]; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">//    int inf; /**&lt; Infinity Flag - not needed for Edwards representation */</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html#a25cdbf154110ff65baae008476f8262b">  109</a></span>&#160;    <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> <a class="code" href="structECP__SECP256K1.html#a25cdbf154110ff65baae008476f8262b">x</a>; </div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if CURVETYPE_SECP256K1!=MONTGOMERY</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html#a28cef227284d8b287132f21cc32ae987">  111</a></span>&#160;    <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> <a class="code" href="structECP__SECP256K1.html#a28cef227284d8b287132f21cc32ae987">y</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structECP__SECP256K1.html#ae84d326fd938dab8ef40bf43d96bd736">  113</a></span>&#160;    <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> <a class="code" href="structECP__SECP256K1.html#ae84d326fd938dab8ef40bf43d96bd736">z</a>;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;} <a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a>;</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;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* ECP E(Fp) prototypes */</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a74cda6a195a780318fbdce897ae925b5">ECP_SECP256K1_isinf</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a87ee0523180309932d83474da3dea9db">ECP_SECP256K1_equals</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ad2537d023327fe09090ec9de706bc03d">ECP_SECP256K1_copy</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</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="ecp__SECP256K1_8h.html#a309406de1fa4570ad1e0a845abec9985">ECP_SECP256K1_neg</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</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="ecp__SECP256K1_8h.html#a61cf52995d181f61fe87b2ade97091c9">ECP_SECP256K1_inf</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ab0fb55d14430fbb5eba4ed928e3dab38">ECP_SECP256K1_rhs</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *r,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#if CURVETYPE_SECP256K1==MONTGOMERY</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a53ae88d365a96bf6a9d65a20d77669e6">ECP_SECP256K1_set</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a143de5e98cab7723be637c2f91b32fe9">ECP_SECP256K1_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a44eff8938d65d22c1bd44d5cd0785098">ECP_SECP256K1_add</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *D);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a53ae88d365a96bf6a9d65a20d77669e6">ECP_SECP256K1_set</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a143de5e98cab7723be637c2f91b32fe9">ECP_SECP256K1_get</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a44eff8938d65d22c1bd44d5cd0785098">ECP_SECP256K1_add</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</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="ecp__SECP256K1_8h.html#a3cc5f99354f1c37622881afa7bbfe0f5">ECP_SECP256K1_sub</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a6eaf4ed09f642f39a4812ea93b2c06c9">ECP_SECP256K1_setx</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ada26842f767c6aee079ea741b8dcddbc">ECP_SECP256K1_cfp</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a7dd53c6bae3e6be4db71adcc304c9b16">ECP_SECP256K1_mapit</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q,<a class="code" href="structoctet.html">octet</a> *w);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#abb1fa46f970ba94ca199d832d3ddffe6">ECP_SECP256K1_affine</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a8ba7c812d8c960d81daa8af6c24b1246">ECP_SECP256K1_outputxyz</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</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="ecp__SECP256K1_8h.html#aeee0aace37f4d795c124504daf7f0e00">ECP_SECP256K1_output</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> * P);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a736ddce43a8f24304c749110e57cc919">ECP_SECP256K1_rawoutput</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> * P);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a558a6531c4a237a45f62c423e8b506db">ECP_SECP256K1_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<span class="keywordtype">bool</span> c);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ecp__SECP256K1_8h.html#a30eda45ddfb3d84627dfbd5a48613ffd">ECP_SECP256K1_fromOctet</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#ad45350a508c2345ba4ffa5359cb2a3fb">ECP_SECP256K1_dbl</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P);</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a80a6b129a68a48c4b166224f4cb00515">ECP_SECP256K1_pinmul</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a4fa99eaa143e208a0d0092eb8fcf0f1a">ECP_SECP256K1_mul</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a95b35390f9290cee5ee5acaa269509e9">ECP_SECP256K1_mul2</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P,<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f);</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ecp__SECP256K1_8h.html#a284f7d4b3a23b0996d6f8149c588914e">ECP_SECP256K1_generator</a>(<a class="code" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *G);</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__SECP256K1_8h_html_a5ac6cc1c9ceba3aa268b9e7a778d1a87"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a5ac6cc1c9ceba3aa268b9e7a778d1a87">CURVE_Pyaba_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaba_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a6988875c61fdf27fe02719922715e957"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a6988875c61fdf27fe02719922715e957">CURVE_Pyabb_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyabb_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a103584c937913637b3f98f55f2d5eda6"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a103584c937913637b3f98f55f2d5eda6">CURVE_Cof_I_SECP256K1</a></div><div class="ttdeci">const int CURVE_Cof_I_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_aa13fc063a7b578ba191f0966757b5ce0"><div class="ttname"><a href="ecp__SECP256K1_8h.html#aa13fc063a7b578ba191f0966757b5ce0">CURVE_Pxaa_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaa_SECP256K1</div></div>
@@ -79,29 +82,29 @@
 <div class="ttc" id="ecp__SECP256K1_8h_html_aebf3591182e23e8ed366dd7c0a211f5b"><div class="ttname"><a href="ecp__SECP256K1_8h.html#aebf3591182e23e8ed366dd7c0a211f5b">CURVE_SB_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_SECP256K1[2][2]</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a85718a3e4510b4077bb916b29eab28e4"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a85718a3e4510b4077bb916b29eab28e4">CURVE_Pxbaa_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbaa_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a5ef6e7f98dabfbaa6979368ad500fef0"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a5ef6e7f98dabfbaa6979368ad500fef0">CURVE_Pxa_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxa_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a143de5e98cab7723be637c2f91b32fe9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a143de5e98cab7723be637c2f91b32fe9">ECP_SECP256K1_get</a></div><div class="ttdeci">int ECP_SECP256K1_get(BIG_256_56 x, BIG_256_56 y, ECP_SECP256K1 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P.</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a80a6b129a68a48c4b166224f4cb00515"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a80a6b129a68a48c4b166224f4cb00515">ECP_SECP256K1_pinmul</a></div><div class="ttdeci">void ECP_SECP256K1_pinmul(ECP_SECP256K1 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant.</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_ada26842f767c6aee079ea741b8dcddbc"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ada26842f767c6aee079ea741b8dcddbc">ECP_SECP256K1_cfp</a></div><div class="ttdeci">void ECP_SECP256K1_cfp(ECP_SECP256K1 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:338</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a143de5e98cab7723be637c2f91b32fe9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a143de5e98cab7723be637c2f91b32fe9">ECP_SECP256K1_get</a></div><div class="ttdeci">int ECP_SECP256K1_get(BIG_256_56 x, BIG_256_56 y, ECP_SECP256K1 *P)</div><div class="ttdoc">Extract x and y coordinates of an ECP point P. </div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a80a6b129a68a48c4b166224f4cb00515"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a80a6b129a68a48c4b166224f4cb00515">ECP_SECP256K1_pinmul</a></div><div class="ttdeci">void ECP_SECP256K1_pinmul(ECP_SECP256K1 *P, int i, int b)</div><div class="ttdoc">Multiplies an ECP instance P by a small integer, side-channel resistant. </div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_ada26842f767c6aee079ea741b8dcddbc"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ada26842f767c6aee079ea741b8dcddbc">ECP_SECP256K1_cfp</a></div><div class="ttdeci">void ECP_SECP256K1_cfp(ECP_SECP256K1 *Q)</div><div class="ttdoc">Multiplies Point by curve co-factor. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:338</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a15d6ac87eacc22b681b3351a10c28bda"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a15d6ac87eacc22b681b3351a10c28bda">CURVE_Pxbab_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbab_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a4fa99eaa143e208a0d0092eb8fcf0f1a"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a4fa99eaa143e208a0d0092eb8fcf0f1a">ECP_SECP256K1_mul</a></div><div class="ttdeci">void ECP_SECP256K1_mul(ECP_SECP256K1 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:1021</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a61cf52995d181f61fe87b2ade97091c9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a61cf52995d181f61fe87b2ade97091c9">ECP_SECP256K1_inf</a></div><div class="ttdeci">void ECP_SECP256K1_inf(ECP_SECP256K1 *P)</div><div class="ttdoc">Set ECP to point-at-infinity.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:146</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a4fa99eaa143e208a0d0092eb8fcf0f1a"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a4fa99eaa143e208a0d0092eb8fcf0f1a">ECP_SECP256K1_mul</a></div><div class="ttdeci">void ECP_SECP256K1_mul(ECP_SECP256K1 *P, BIG_256_56 b)</div><div class="ttdoc">Multiplies an ECP instance P by a BIG, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:1021</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a61cf52995d181f61fe87b2ade97091c9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a61cf52995d181f61fe87b2ade97091c9">ECP_SECP256K1_inf</a></div><div class="ttdeci">void ECP_SECP256K1_inf(ECP_SECP256K1 *P)</div><div class="ttdoc">Set ECP to point-at-infinity. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:146</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a27cf4f883d8a1a3cd65a2586f27199ad"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a27cf4f883d8a1a3cd65a2586f27199ad">CURVE_B_I_SECP256K1</a></div><div class="ttdeci">const int CURVE_B_I_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a85b531353906542af8f6ea29411772ea"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a85b531353906542af8f6ea29411772ea">CURVE_Pxba_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxba_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a6eaf4ed09f642f39a4812ea93b2c06c9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a6eaf4ed09f642f39a4812ea93b2c06c9">ECP_SECP256K1_setx</a></div><div class="ttdeci">int ECP_SECP256K1_setx(ECP_SECP256K1 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y.</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a6eaf4ed09f642f39a4812ea93b2c06c9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a6eaf4ed09f642f39a4812ea93b2c06c9">ECP_SECP256K1_setx</a></div><div class="ttdeci">int ECP_SECP256K1_setx(ECP_SECP256K1 *P, BIG_256_56 x, int s)</div><div class="ttdoc">Set ECP to point(x,y) given just x and sign of y. </div></div>
 <div class="ttc" id="structECP__SECP256K1_html_ae84d326fd938dab8ef40bf43d96bd736"><div class="ttname"><a href="structECP__SECP256K1.html#ae84d326fd938dab8ef40bf43d96bd736">ECP_SECP256K1::z</a></div><div class="ttdeci">FP_SECP256K1 z</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.h:113</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_acadce0780dc792902f8c12341895a64a"><div class="ttname"><a href="ecp__SECP256K1_8h.html#acadce0780dc792902f8c12341895a64a">CURVE_BB_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_SECP256K1[4][4]</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a6f715f19b3befe5141ecb6d9142999d6"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a6f715f19b3befe5141ecb6d9142999d6">CURVE_Cof_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cof_SECP256K1</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="ecp__SECP256K1_8h_html_a08bf180014b106623d69a9f770fa01e1"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a08bf180014b106623d69a9f770fa01e1">CURVE_Pyab_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyab_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_aa1e81bb98483ec6adb9958e01c7ab7f8"><div class="ttname"><a href="ecp__SECP256K1_8h.html#aa1e81bb98483ec6adb9958e01c7ab7f8">CURVE_Gx_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gx_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a76a72d70443b748625d4b6de60f9d4cf"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a76a72d70443b748625d4b6de60f9d4cf">CURVE_Pxaaa_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaaa_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_ac70f752fc65b5ec6aefc035b90242d1e"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ac70f752fc65b5ec6aefc035b90242d1e">CURVE_Pyaaa_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaaa_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_aeee0aace37f4d795c124504daf7f0e00"><div class="ttname"><a href="ecp__SECP256K1_8h.html#aeee0aace37f4d795c124504daf7f0e00">ECP_SECP256K1_output</a></div><div class="ttdeci">void ECP_SECP256K1_output(ECP_SECP256K1 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:450</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_ab0fb55d14430fbb5eba4ed928e3dab38"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ab0fb55d14430fbb5eba4ed928e3dab38">ECP_SECP256K1_rhs</a></div><div class="ttdeci">void ECP_SECP256K1_rhs(FP_SECP256K1 *r, FP_SECP256K1 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x)</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:161</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a87ee0523180309932d83474da3dea9db"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a87ee0523180309932d83474da3dea9db">ECP_SECP256K1_equals</a></div><div class="ttdeci">int ECP_SECP256K1_equals(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Tests for equality of two ECPs.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:100</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_aeee0aace37f4d795c124504daf7f0e00"><div class="ttname"><a href="ecp__SECP256K1_8h.html#aeee0aace37f4d795c124504daf7f0e00">ECP_SECP256K1_output</a></div><div class="ttdeci">void ECP_SECP256K1_output(ECP_SECP256K1 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, converted to affine coordinates. ...</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:450</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_ab0fb55d14430fbb5eba4ed928e3dab38"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ab0fb55d14430fbb5eba4ed928e3dab38">ECP_SECP256K1_rhs</a></div><div class="ttdeci">void ECP_SECP256K1_rhs(FP_SECP256K1 *r, FP_SECP256K1 *x)</div><div class="ttdoc">Calculate Right Hand Side of curve equation y^2=f(x) </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:161</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a87ee0523180309932d83474da3dea9db"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a87ee0523180309932d83474da3dea9db">ECP_SECP256K1_equals</a></div><div class="ttdeci">int ECP_SECP256K1_equals(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Tests for equality of two ECPs. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:100</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_ab24ab2a26bd9c7a833eecbc490057eb9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ab24ab2a26bd9c7a833eecbc490057eb9">CURVE_Cru_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_adaef81d007fe9f3fd6f59aee7a8c3ed2"><div class="ttname"><a href="ecp__SECP256K1_8h.html#adaef81d007fe9f3fd6f59aee7a8c3ed2">Fra_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 Fra_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_abb1fa46f970ba94ca199d832d3ddffe6"><div class="ttname"><a href="ecp__SECP256K1_8h.html#abb1fa46f970ba94ca199d832d3ddffe6">ECP_SECP256K1_affine</a></div><div class="ttdeci">void ECP_SECP256K1_affine(ECP_SECP256K1 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:392</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_abb1fa46f970ba94ca199d832d3ddffe6"><div class="ttname"><a href="ecp__SECP256K1_8h.html#abb1fa46f970ba94ca199d832d3ddffe6">ECP_SECP256K1_affine</a></div><div class="ttdeci">void ECP_SECP256K1_affine(ECP_SECP256K1 *P)</div><div class="ttdoc">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:392</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_aadc620a542b7f5846fb5ccd63cfc0d9c"><div class="ttname"><a href="ecp__SECP256K1_8h.html#aadc620a542b7f5846fb5ccd63cfc0d9c">CURVE_Pya_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pya_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a82c5bbe003278005caae6a6f7d78dddf"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a82c5bbe003278005caae6a6f7d78dddf">CURVE_Pyba_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyba_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a83f88ce636f14732e7c9006eb5a348b5"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a83f88ce636f14732e7c9006eb5a348b5">CURVE_Bnx_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_SECP256K1</div></div>
@@ -113,44 +116,44 @@
 <div class="ttc" id="ecp__SECP256K1_8h_html_ac1f92bce72197462525dbabf1a19cfcd"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ac1f92bce72197462525dbabf1a19cfcd">CURVE_Gy_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Gy_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a7907c1ce6567f7739ef4ae547abb9c64"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a7907c1ce6567f7739ef4ae547abb9c64">CURVE_Pybb_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybb_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_ad7b00554ad0578a70d02a842ed6b1905"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ad7b00554ad0578a70d02a842ed6b1905">CURVE_Pybbb_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybbb_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a53ae88d365a96bf6a9d65a20d77669e6"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a53ae88d365a96bf6a9d65a20d77669e6">ECP_SECP256K1_set</a></div><div class="ttdeci">int ECP_SECP256K1_set(ECP_SECP256K1 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y.</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a53ae88d365a96bf6a9d65a20d77669e6"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a53ae88d365a96bf6a9d65a20d77669e6">ECP_SECP256K1_set</a></div><div class="ttdeci">int ECP_SECP256K1_set(ECP_SECP256K1 *P, BIG_256_56 x, BIG_256_56 y)</div><div class="ttdoc">Set ECP to point(x,y) given x and y. </div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a2a6b6a14e120a84d28ed01090f87884e"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a2a6b6a14e120a84d28ed01090f87884e">CURVE_Pxabb_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxabb_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a558a6531c4a237a45f62c423e8b506db"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a558a6531c4a237a45f62c423e8b506db">ECP_SECP256K1_toOctet</a></div><div class="ttdeci">void ECP_SECP256K1_toOctet(octet *S, ECP_SECP256K1 *P, bool c)</div><div class="ttdoc">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form...</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:507</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a8ba7c812d8c960d81daa8af6c24b1246"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a8ba7c812d8c960d81daa8af6c24b1246">ECP_SECP256K1_outputxyz</a></div><div class="ttdeci">void ECP_SECP256K1_outputxyz(ECP_SECP256K1 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:414</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a8ba7c812d8c960d81daa8af6c24b1246"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a8ba7c812d8c960d81daa8af6c24b1246">ECP_SECP256K1_outputxyz</a></div><div class="ttdeci">void ECP_SECP256K1_outputxyz(ECP_SECP256K1 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console, in projective coordinates. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:414</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_ae5933fbd495772220019d9a39ecddae7"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ae5933fbd495772220019d9a39ecddae7">CURVE_Pxab_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxab_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a74cda6a195a780318fbdce897ae925b5"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a74cda6a195a780318fbdce897ae925b5">ECP_SECP256K1_isinf</a></div><div class="ttdeci">int ECP_SECP256K1_isinf(ECP_SECP256K1 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:28</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a74cda6a195a780318fbdce897ae925b5"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a74cda6a195a780318fbdce897ae925b5">ECP_SECP256K1_isinf</a></div><div class="ttdeci">int ECP_SECP256K1_isinf(ECP_SECP256K1 *P)</div><div class="ttdoc">Tests for ECP point equal to infinity. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:28</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a4833f81f1e821e931e74061ddb25b66c"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a4833f81f1e821e931e74061ddb25b66c">CURVE_Order_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Order_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a736ddce43a8f24304c749110e57cc919"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a736ddce43a8f24304c749110e57cc919">ECP_SECP256K1_rawoutput</a></div><div class="ttdeci">void ECP_SECP256K1_rawoutput(ECP_SECP256K1 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:478</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a44eff8938d65d22c1bd44d5cd0785098"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a44eff8938d65d22c1bd44d5cd0785098">ECP_SECP256K1_add</a></div><div class="ttdeci">void ECP_SECP256K1_add(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P.</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html"><div class="ttname"><a href="fp__SECP256K1_8h.html">fp_SECP256K1.h</a></div><div class="ttdoc">FP Header File.</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a736ddce43a8f24304c749110e57cc919"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a736ddce43a8f24304c749110e57cc919">ECP_SECP256K1_rawoutput</a></div><div class="ttdeci">void ECP_SECP256K1_rawoutput(ECP_SECP256K1 *P)</div><div class="ttdoc">Formats and outputs an ECP point to the console. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:478</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a44eff8938d65d22c1bd44d5cd0785098"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a44eff8938d65d22c1bd44d5cd0785098">ECP_SECP256K1_add</a></div><div class="ttdeci">void ECP_SECP256K1_add(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Adds ECP instance Q to ECP instance P. </div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html"><div class="ttname"><a href="fp__SECP256K1_8h.html">fp_SECP256K1.h</a></div><div class="ttdoc">FP Header File. </div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a980c737d2253a408cd82c1d949286aa9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a980c737d2253a408cd82c1d949286aa9">CURVE_Pybba_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybba_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_ad45350a508c2345ba4ffa5359cb2a3fb"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ad45350a508c2345ba4ffa5359cb2a3fb">ECP_SECP256K1_dbl</a></div><div class="ttdeci">void ECP_SECP256K1_dbl(ECP_SECP256K1 *P)</div><div class="ttdoc">Doubles an ECP instance P.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:564</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_ad45350a508c2345ba4ffa5359cb2a3fb"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ad45350a508c2345ba4ffa5359cb2a3fb">ECP_SECP256K1_dbl</a></div><div class="ttdeci">void ECP_SECP256K1_dbl(ECP_SECP256K1 *P)</div><div class="ttdoc">Doubles an ECP instance P. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:564</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_aa92df5468f79951e6821c89c4be1f6d8"><div class="ttname"><a href="ecp__SECP256K1_8h.html#aa92df5468f79951e6821c89c4be1f6d8">CURVE_WB_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_SECP256K1[4]</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a284f7d4b3a23b0996d6f8149c588914e"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a284f7d4b3a23b0996d6f8149c588914e">ECP_SECP256K1_generator</a></div><div class="ttdeci">void ECP_SECP256K1_generator(ECP_SECP256K1 *G)</div><div class="ttdoc">Get Group Generator from ROM.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:1221</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a30eda45ddfb3d84627dfbd5a48613ffd"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a30eda45ddfb3d84627dfbd5a48613ffd">ECP_SECP256K1_fromOctet</a></div><div class="ttdeci">int ECP_SECP256K1_fromOctet(ECP_SECP256K1 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:537</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a95b35390f9290cee5ee5acaa269509e9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a95b35390f9290cee5ee5acaa269509e9">ECP_SECP256K1_mul2</a></div><div class="ttdeci">void ECP_SECP256K1_mul2(ECP_SECP256K1 *P, ECP_SECP256K1 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant.</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a284f7d4b3a23b0996d6f8149c588914e"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a284f7d4b3a23b0996d6f8149c588914e">ECP_SECP256K1_generator</a></div><div class="ttdeci">void ECP_SECP256K1_generator(ECP_SECP256K1 *G)</div><div class="ttdoc">Get Group Generator from ROM. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:1221</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a30eda45ddfb3d84627dfbd5a48613ffd"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a30eda45ddfb3d84627dfbd5a48613ffd">ECP_SECP256K1_fromOctet</a></div><div class="ttdeci">int ECP_SECP256K1_fromOctet(ECP_SECP256K1 *P, octet *S)</div><div class="ttdoc">Creates an ECP point from an octet string. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:537</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a95b35390f9290cee5ee5acaa269509e9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a95b35390f9290cee5ee5acaa269509e9">ECP_SECP256K1_mul2</a></div><div class="ttdeci">void ECP_SECP256K1_mul2(ECP_SECP256K1 *P, ECP_SECP256K1 *Q, BIG_256_56 e, BIG_256_56 f)</div><div class="ttdoc">Calculates double multiplication P=e*P+f*Q, side-channel resistant. </div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a43c03ddf92b13d82a50685c67f97b2a7"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a43c03ddf92b13d82a50685c67f97b2a7">CURVE_Pyaab_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pyaab_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a309406de1fa4570ad1e0a845abec9985"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a309406de1fa4570ad1e0a845abec9985">ECP_SECP256K1_neg</a></div><div class="ttdeci">void ECP_SECP256K1_neg(ECP_SECP256K1 *P)</div><div class="ttdoc">Negation of an ECP point.</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a309406de1fa4570ad1e0a845abec9985"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a309406de1fa4570ad1e0a845abec9985">ECP_SECP256K1_neg</a></div><div class="ttdeci">void ECP_SECP256K1_neg(ECP_SECP256K1 *P)</div><div class="ttdoc">Negation of an ECP point. </div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a8a42e043e1f8ec3e5f9874f90a75d407"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a8a42e043e1f8ec3e5f9874f90a75d407">CURVE_A_SECP256K1</a></div><div class="ttdeci">const int CURVE_A_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a7dd53c6bae3e6be4db71adcc304c9b16"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a7dd53c6bae3e6be4db71adcc304c9b16">ECP_SECP256K1_mapit</a></div><div class="ttdeci">void ECP_SECP256K1_mapit(ECP_SECP256K1 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:365</div></div>
-<div class="ttc" id="structFP__SECP256K1_html"><div class="ttname"><a href="structFP__SECP256K1.html">FP_SECP256K1</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.h:38</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a7dd53c6bae3e6be4db71adcc304c9b16"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a7dd53c6bae3e6be4db71adcc304c9b16">ECP_SECP256K1_mapit</a></div><div class="ttdeci">void ECP_SECP256K1_mapit(ECP_SECP256K1 *Q, octet *w)</div><div class="ttdoc">Maps random BIG to curve point of correct order. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:365</div></div>
+<div class="ttc" id="structFP__SECP256K1_html"><div class="ttname"><a href="structFP__SECP256K1.html">FP_SECP256K1</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.h:38</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a51b597c41173d8c776a28201267db1f9"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a51b597c41173d8c776a28201267db1f9">CURVE_Pybaa_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pybaa_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a818572c24cc21df56a6b10f32c519416"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a818572c24cc21df56a6b10f32c519416">CURVE_Pxaab_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaab_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a93b2a075bf27269b2acfca733169dd9e"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a93b2a075bf27269b2acfca733169dd9e">CURVE_Pxbba_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxbba_SECP256K1</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_ad11fc19ec1b9aefdffd715d4332270fc"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ad11fc19ec1b9aefdffd715d4332270fc">CURVE_W_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_SECP256K1[2]</div></div>
 <div class="ttc" id="structECP__SECP256K1_html_a28cef227284d8b287132f21cc32ae987"><div class="ttname"><a href="structECP__SECP256K1.html#a28cef227284d8b287132f21cc32ae987">ECP_SECP256K1::y</a></div><div class="ttdeci">FP_SECP256K1 y</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.h:111</div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a0fa7b0ca0385ddc8b357423009be4390"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a0fa7b0ca0385ddc8b357423009be4390">CURVE_Pxaba_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_Pxaba_SECP256K1</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_ad2537d023327fe09090ec9de706bc03d"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ad2537d023327fe09090ec9de706bc03d">ECP_SECP256K1_copy</a></div><div class="ttdeci">void ECP_SECP256K1_copy(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:120</div></div>
-<div class="ttc" id="ecp__SECP256K1_8h_html_a3cc5f99354f1c37622881afa7bbfe0f5"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a3cc5f99354f1c37622881afa7bbfe0f5">ECP_SECP256K1_sub</a></div><div class="ttdeci">void ECP_SECP256K1_sub(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P.</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_ad2537d023327fe09090ec9de706bc03d"><div class="ttname"><a href="ecp__SECP256K1_8h.html#ad2537d023327fe09090ec9de706bc03d">ECP_SECP256K1_copy</a></div><div class="ttdeci">void ECP_SECP256K1_copy(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Copy ECP point to another ECP point. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.c:120</div></div>
+<div class="ttc" id="ecp__SECP256K1_8h_html_a3cc5f99354f1c37622881afa7bbfe0f5"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a3cc5f99354f1c37622881afa7bbfe0f5">ECP_SECP256K1_sub</a></div><div class="ttdeci">void ECP_SECP256K1_sub(ECP_SECP256K1 *P, ECP_SECP256K1 *Q)</div><div class="ttdoc">Subtracts ECP instance Q from ECP instance P. </div></div>
 <div class="ttc" id="ecp__SECP256K1_8h_html_a425f3d991a20b7e0eb2c81c3b3c275ce"><div class="ttname"><a href="ecp__SECP256K1_8h.html#a425f3d991a20b7e0eb2c81c3b3c275ce">CURVE_B_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 CURVE_B_SECP256K1</div></div>
-<div class="ttc" id="structECP__SECP256K1_html"><div class="ttname"><a href="structECP__SECP256K1.html">ECP_SECP256K1</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.h:105</div></div>
+<div class="ttc" id="structECP__SECP256K1_html"><div class="ttname"><a href="structECP__SECP256K1.html">ECP_SECP256K1</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_SECP256K1.h:105</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/ff__2048_8h.html b/website/static/cdocs/ff__2048_8h.html
index 312675c..b5b1b46 100644
--- a/website/static/cdocs/ff__2048_8h.html
+++ b/website/static/cdocs/ff__2048_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: ff_2048.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"
@@ -155,9 +158,9 @@
 <tr class="memitem:ac5970b0360b38a0c3bde877abac7fe90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90">FF_2048_mul</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *z, int n)</td></tr>
 <tr class="memdesc:ac5970b0360b38a0c3bde877abac7fe90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplication of two FFs.  <a href="#ac5970b0360b38a0c3bde877abac7fe90">More...</a><br /></td></tr>
 <tr class="separator:ac5970b0360b38a0c3bde877abac7fe90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7ed651a772be1e7c644d4153e67574f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a7ed651a772be1e7c644d4153e67574f3">FF_2048_mod</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m, int n)</td></tr>
-<tr class="memdesc:a7ed651a772be1e7c644d4153e67574f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce FF mod a modulus.  <a href="#a7ed651a772be1e7c644d4153e67574f3">More...</a><br /></td></tr>
-<tr class="separator:a7ed651a772be1e7c644d4153e67574f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbae12c8d55508641cbdbda870bb9d05"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#afbae12c8d55508641cbdbda870bb9d05">FF_2048_mod</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, int n)</td></tr>
+<tr class="memdesc:afbae12c8d55508641cbdbda870bb9d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce FF mod a modulus.  <a href="#afbae12c8d55508641cbdbda870bb9d05">More...</a><br /></td></tr>
+<tr class="separator:afbae12c8d55508641cbdbda870bb9d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2ba04edfe1eb1b4e925598bebf135b8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f">FF_2048_sqr</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y, int n)</td></tr>
 <tr class="memdesc:a2ba04edfe1eb1b4e925598bebf135b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square an FF.  <a href="#a2ba04edfe1eb1b4e925598bebf135b8f">More...</a><br /></td></tr>
 <tr class="separator:a2ba04edfe1eb1b4e925598bebf135b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -167,33 +170,42 @@
 <tr class="memitem:aa4e3c92baa3179198a3cdefc5b61eac9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9">FF_2048_invmodp</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *z, int n)</td></tr>
 <tr class="memdesc:aa4e3c92baa3179198a3cdefc5b61eac9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert an FF mod a prime modulus.  <a href="#aa4e3c92baa3179198a3cdefc5b61eac9">More...</a><br /></td></tr>
 <tr class="separator:aa4e3c92baa3179198a3cdefc5b61eac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb5d9d16c4bbfe021b76690a198df7ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#aeb5d9d16c4bbfe021b76690a198df7ed">FF_2048_invmod2m</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> U[], <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> a[], int n)</td></tr>
+<tr class="memdesc:aeb5d9d16c4bbfe021b76690a198df7ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert an FF mod 2^(n*BIGBITS)  <a href="#aeb5d9d16c4bbfe021b76690a198df7ed">More...</a><br /></td></tr>
+<tr class="separator:aeb5d9d16c4bbfe021b76690a198df7ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:abda74d9b71138e17a7fbe7086426c3e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#abda74d9b71138e17a7fbe7086426c3e7">FF_2048_random</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:abda74d9b71138e17a7fbe7086426c3e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an FF from a random number generator.  <a href="#abda74d9b71138e17a7fbe7086426c3e7">More...</a><br /></td></tr>
 <tr class="separator:abda74d9b71138e17a7fbe7086426c3e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a7cfdc4c363575059d802b91713b03737"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a7cfdc4c363575059d802b91713b03737">FF_2048_randomnum</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:a7cfdc4c363575059d802b91713b03737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random FF less than a given modulus from a random number generator.  <a href="#a7cfdc4c363575059d802b91713b03737">More...</a><br /></td></tr>
 <tr class="separator:a7cfdc4c363575059d802b91713b03737"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2789a44182bc8d1fb91fd048a23361b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a2789a44182bc8d1fb91fd048a23361b9">FF_2048_skpow</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m, int n)</td></tr>
-<tr class="memdesc:a2789a44182bc8d1fb91fd048a23361b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m, side channel resistant.  <a href="#a2789a44182bc8d1fb91fd048a23361b9">More...</a><br /></td></tr>
-<tr class="separator:a2789a44182bc8d1fb91fd048a23361b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acadc23a6f6c053b971d7afaf121d7196"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#acadc23a6f6c053b971d7afaf121d7196">FF_2048_skspow</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m, int n)</td></tr>
-<tr class="memdesc:acadc23a6f6c053b971d7afaf121d7196"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m, side channel resistant.  <a href="#acadc23a6f6c053b971d7afaf121d7196">More...</a><br /></td></tr>
-<tr class="separator:acadc23a6f6c053b971d7afaf121d7196"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8b87d4ad585cbfaaeadca3d586ffb05a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a8b87d4ad585cbfaaeadca3d586ffb05a">FF_2048_power</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, int e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m, int n)</td></tr>
-<tr class="memdesc:a8b87d4ad585cbfaaeadca3d586ffb05a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m.  <a href="#a8b87d4ad585cbfaaeadca3d586ffb05a">More...</a><br /></td></tr>
-<tr class="separator:a8b87d4ad585cbfaaeadca3d586ffb05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7764e294274140465a4676717677f6b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a7764e294274140465a4676717677f6b6">FF_2048_pow</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m, int n)</td></tr>
-<tr class="memdesc:a7764e294274140465a4676717677f6b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m.  <a href="#a7764e294274140465a4676717677f6b6">More...</a><br /></td></tr>
-<tr class="separator:a7764e294274140465a4676717677f6b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab736578e7b655b60101325b7d0e79065"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#ab736578e7b655b60101325b7d0e79065">FF_2048_skpow</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, int n, int en)</td></tr>
+<tr class="memdesc:ab736578e7b655b60101325b7d0e79065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant.  <a href="#ab736578e7b655b60101325b7d0e79065">More...</a><br /></td></tr>
+<tr class="separator:ab736578e7b655b60101325b7d0e79065"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3081cf68191fa919f374993a02c5014"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#ab3081cf68191fa919f374993a02c5014">FF_2048_skspow</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, int n)</td></tr>
+<tr class="memdesc:ab3081cf68191fa919f374993a02c5014"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant.  <a href="#ab3081cf68191fa919f374993a02c5014">More...</a><br /></td></tr>
+<tr class="separator:ab3081cf68191fa919f374993a02c5014"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b3e4f7ee1099043241031cd8426a23b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a0b3e4f7ee1099043241031cd8426a23b">FF_2048_skpow2</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *f, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, int n, int en)</td></tr>
+<tr class="memdesc:a0b3e4f7ee1099043241031cd8426a23b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod p for big e and f, side channel resistant.  <a href="#a0b3e4f7ee1099043241031cd8426a23b">More...</a><br /></td></tr>
+<tr class="separator:a0b3e4f7ee1099043241031cd8426a23b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0bd5964bb4460e0a10949500b58ac472"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a0bd5964bb4460e0a10949500b58ac472">FF_2048_power</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, int e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, int n)</td></tr>
+<tr class="memdesc:a0bd5964bb4460e0a10949500b58ac472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p.  <a href="#a0bd5964bb4460e0a10949500b58ac472">More...</a><br /></td></tr>
+<tr class="separator:a0bd5964bb4460e0a10949500b58ac472"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57054f9061450cba4235fbc6b03e8bb9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a57054f9061450cba4235fbc6b03e8bb9">FF_2048_pow</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, int n)</td></tr>
+<tr class="memdesc:a57054f9061450cba4235fbc6b03e8bb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p.  <a href="#a57054f9061450cba4235fbc6b03e8bb9">More...</a><br /></td></tr>
+<tr class="separator:a57054f9061450cba4235fbc6b03e8bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace63d2e10c65cb9446e496d4355bf3be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">FF_2048_pow2</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> f, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m, int n)</td></tr>
+<tr class="memdesc:ace63d2e10c65cb9446e496d4355bf3be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod m.  <a href="#ace63d2e10c65cb9446e496d4355bf3be">More...</a><br /></td></tr>
+<tr class="separator:ace63d2e10c65cb9446e496d4355bf3be"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a261bad7b5b39fd6eb3d98e3c9ae292de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a261bad7b5b39fd6eb3d98e3c9ae292de">FF_2048_cfactor</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s, int n)</td></tr>
 <tr class="memdesc:a261bad7b5b39fd6eb3d98e3c9ae292de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if an FF has factor in common with integer s.  <a href="#a261bad7b5b39fd6eb3d98e3c9ae292de">More...</a><br /></td></tr>
 <tr class="separator:a261bad7b5b39fd6eb3d98e3c9ae292de"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9ede4163e174ca5564b724d5d50c3242"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242">FF_2048_prime</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:a9ede4163e174ca5564b724d5d50c3242"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if an FF is prime.  <a href="#a9ede4163e174ca5564b724d5d50c3242">More...</a><br /></td></tr>
 <tr class="separator:a9ede4163e174ca5564b724d5d50c3242"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace63d2e10c65cb9446e496d4355bf3be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">FF_2048_pow2</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> f, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m, int n)</td></tr>
-<tr class="memdesc:ace63d2e10c65cb9446e496d4355bf3be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod m.  <a href="#ace63d2e10c65cb9446e496d4355bf3be">More...</a><br /></td></tr>
-<tr class="separator:ace63d2e10c65cb9446e496d4355bf3be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af06da89f60cc5dd4f4944aab876e9721"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__2048_8h.html#af06da89f60cc5dd4f4944aab876e9721">FF_2048_crt</a> (<a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *r, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *rp, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *rq, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *q, int n)</td></tr>
+<tr class="memdesc:af06da89f60cc5dd4f4944aab876e9721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combine rp and rq using the Chinese Remainder Theorem.  <a href="#af06da89f60cc5dd4f4944aab876e9721">More...</a><br /></td></tr>
+<tr class="separator:af06da89f60cc5dd4f4944aab876e9721"><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>
@@ -455,6 +467,69 @@
 
 </div>
 </div>
+<a id="af06da89f60cc5dd4f4944aab876e9721"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af06da89f60cc5dd4f4944aab876e9721">&#9670;&nbsp;</a></span>FF_2048_crt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_2048_crt </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>rp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>rq</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>q</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">r</td><td>FF instance, on exit the solution of the system </td></tr>
+    <tr><td class="paramname">rp</td><td>FF instance, solution modulo p </td></tr>
+    <tr><td class="paramname">rq</td><td>FF instance, solution modulo q </td></tr>
+    <tr><td class="paramname">p</td><td>FF instance, MUST be coprime with q </td></tr>
+    <tr><td class="paramname">q</td><td>FF instance, MUST be coprime with p </td></tr>
+    <tr><td class="paramname">n</td><td>size of p and q in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a id="a08c90508ecc6c2229143ec0de481888f"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a08c90508ecc6c2229143ec0de481888f">&#9670;&nbsp;</a></span>FF_2048_dec()</h2>
 
@@ -672,6 +747,48 @@
 
 </div>
 </div>
+<a id="aeb5d9d16c4bbfe021b76690a198df7ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb5d9d16c4bbfe021b76690a198df7ed">&#9670;&nbsp;</a></span>FF_2048_invmod2m()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_2048_invmod2m </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td>
+          <td class="paramname"><em>U</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#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>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">U</td><td>FF instance, on exit 1/a mod 2^(n*BIGBITS) </td></tr>
+    <tr><td class="paramname">a</td><td>FF instance </td></tr>
+    <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a id="aa4e3c92baa3179198a3cdefc5b61eac9"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aa4e3c92baa3179198a3cdefc5b61eac9">&#9670;&nbsp;</a></span>FF_2048_invmodp()</h2>
 
@@ -793,8 +910,8 @@
 
 </div>
 </div>
-<a id="a7ed651a772be1e7c644d4153e67574f3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7ed651a772be1e7c644d4153e67574f3">&#9670;&nbsp;</a></span>FF_2048_mod()</h2>
+<a id="afbae12c8d55508641cbdbda870bb9d05"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afbae12c8d55508641cbdbda870bb9d05">&#9670;&nbsp;</a></span>FF_2048_mod()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -809,7 +926,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -826,8 +943,8 @@
 </div><div class="memdoc">
 <p>This is slow </p><dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">x</td><td>FF instance to be reduced mod m - on exit = x mod m </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">x</td><td>FF instance to be reduced mod p - on exit = x mod p </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1014,8 +1131,8 @@
 
 </div>
 </div>
-<a id="a7764e294274140465a4676717677f6b6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7764e294274140465a4676717677f6b6">&#9670;&nbsp;</a></span>FF_2048_pow()</h2>
+<a id="a57054f9061450cba4235fbc6b03e8bb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a57054f9061450cba4235fbc6b03e8bb9">&#9670;&nbsp;</a></span>FF_2048_pow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1042,7 +1159,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1062,7 +1179,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>FF exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1140,8 +1257,8 @@
 
 </div>
 </div>
-<a id="a8b87d4ad585cbfaaeadca3d586ffb05a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8b87d4ad585cbfaaeadca3d586ffb05a">&#9670;&nbsp;</a></span>FF_2048_power()</h2>
+<a id="a0bd5964bb4460e0a10949500b58ac472"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0bd5964bb4460e0a10949500b58ac472">&#9670;&nbsp;</a></span>FF_2048_power()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1168,7 +1285,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1188,7 +1305,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>integer exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1435,8 +1552,8 @@
 
 </div>
 </div>
-<a id="a2789a44182bc8d1fb91fd048a23361b9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2789a44182bc8d1fb91fd048a23361b9">&#9670;&nbsp;</a></span>FF_2048_skpow()</h2>
+<a id="ab736578e7b655b60101325b7d0e79065"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab736578e7b655b60101325b7d0e79065">&#9670;&nbsp;</a></span>FF_2048_skpow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1463,13 +1580,19 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>en</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1483,16 +1606,94 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>FF exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+    <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr>
   </table>
   </dd>
 </dl>
 
 </div>
 </div>
-<a id="acadc23a6f6c053b971d7afaf121d7196"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#acadc23a6f6c053b971d7afaf121d7196">&#9670;&nbsp;</a></span>FF_2048_skspow()</h2>
+<a id="a0b3e4f7ee1099043241031cd8426a23b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0b3e4f7ee1099043241031cd8426a23b">&#9670;&nbsp;</a></span>FF_2048_skpow2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_2048_skpow2 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>en</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>FF instance, on exit = x^e.y^f mod p </td></tr>
+    <tr><td class="paramname">x</td><td>FF instance </td></tr>
+    <tr><td class="paramname">e</td><td>FF exponent </td></tr>
+    <tr><td class="paramname">y</td><td>FF instance </td></tr>
+    <tr><td class="paramname">f</td><td>FF exponent </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+    <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ab3081cf68191fa919f374993a02c5014"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3081cf68191fa919f374993a02c5014">&#9670;&nbsp;</a></span>FF_2048_skspow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1519,7 +1720,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1539,7 +1740,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>BIG exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1720,7 +1921,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/ff__2048_8h_source.html b/website/static/cdocs/ff__2048_8h_source.html
index c9ecf41..c22f47f 100644
--- a/website/static/cdocs/ff__2048_8h_source.html
+++ b/website/static/cdocs/ff__2048_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: ff_2048.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,51 +72,54 @@
 <div class="title">ff_2048.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ff__2048_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 FF_2048_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FF_2048_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 &quot;<a class="code" href="big__1024__58_8h.html">big_1024_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__ff__2048_8h.html">config_ff_2048.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">   33</a></span>&#160;<span class="preprocessor">#define HFLEN_2048 (FFLEN_2048/2) </span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#ad1dbd4d4757d964e79ba37b306d7e55c">   34</a></span>&#160;<span class="preprocessor">#define P_MBITS_2048 (MODBYTES_1024_58*8) </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#a40c3a14228a7e89dae27ebad9d92953b">   35</a></span>&#160;<span class="preprocessor">#define P_TBITS_2048 (P_MBITS_2048%BASEBITS_1024_58) </span></div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#a48cd404e88e86911f940a7f7f1048db6">   36</a></span>&#160;<span class="preprocessor">#define P_EXCESS_2048(a) (((a[NLEN_1024_58-1])&gt;&gt;(P_TBITS_2048))+1) </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#acccacd653e03a0ab4188413033799714">   37</a></span>&#160;<span class="preprocessor">#define P_FEXCESS_2048 ((chunk)1&lt;&lt;(BASEBITS_1024_58*NLEN_1024_58-P_MBITS_2048-1)) </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="comment">/* Finite Field Prototypes */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3">FF_2048_init</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a9a3486518d9dcf2ef743a6dd2aa56336">FF_2048_zero</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="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#ab79fd4f6686b2fe714c3d33f20f4c48a">FF_2048_iszilch</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="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea">FF_2048_parity</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="ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89">FF_2048_lastbits</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="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#af59e05d4afd7575e07300199a60a1484">FF_2048_one</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="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a7375ad720811c0f9678492ea4da08549">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a99bc0c23aa9bf3a1d8356cd1dcd838e1">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#aebafa634bb7c45532f0cc30b005fece7">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a45a6fb55cb8695885e92427b95d93b0f">FF_2048_inc</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f">FF_2048_dec</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a84c276a9cb2fb6b8c88677c8a5241174">FF_2048_norm</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="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a175d8db0f1789c940961189bb00dc009">FF_2048_shl</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="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836">FF_2048_shr</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="l00149"></a><span class="lineno">  149</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a8011729411cf198d0a19a0a1ffa17ae1">FF_2048_output</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="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a0fa3a98953b3f941c4a1d77811c663da">FF_2048_rawoutput</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="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a7cea17d94848af54dc71659f4aa78121">FF_2048_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<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="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#acf36351fa465903335db78c4d1539fc6">FF_2048_fromOctet</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90">FF_2048_mul</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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a7ed651a772be1e7c644d4153e67574f3">FF_2048_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> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f">FF_2048_sqr</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> n);</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="ff__2048_8h.html#a8b287a310c335b1e3a8693381d112eaf">FF_2048_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#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9">FF_2048_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> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#abda74d9b71138e17a7fbe7086426c3e7">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a7cfdc4c363575059d802b91713b03737">FF_2048_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> *y,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</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="ff__2048_8h.html#a2789a44182bc8d1fb91fd048a23361b9">FF_2048_skpow</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> * e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#acadc23a6f6c053b971d7afaf121d7196">FF_2048_skspow</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m,<span class="keywordtype">int</span> n);</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="ff__2048_8h.html#a8b87d4ad585cbfaaeadca3d586ffb05a">FF_2048_power</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> *x,<span class="keywordtype">int</span> e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a7764e294274140465a4676717677f6b6">FF_2048_pow</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a261bad7b5b39fd6eb3d98e3c9ae292de">FF_2048_cfactor</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242">FF_2048_prime</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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">FF_2048_pow2</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e,<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> f,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ff__2048_8h_html_acc12c9e475768bc1a9960aa51903ffd3"><div class="ttname"><a href="ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3">FF_2048_init</a></div><div class="ttdeci">void FF_2048_init(BIG_1024_58 *x, sign32 m, int n)</div><div class="ttdoc">Initialize an FF element of given length from a 32-bit integer m.</div></div>
-<div class="ttc" id="ff__2048_8h_html_aebafa634bb7c45532f0cc30b005fece7"><div class="ttname"><a href="ff__2048_8h.html#aebafa634bb7c45532f0cc30b005fece7">FF_2048_sub</a></div><div class="ttdeci">void FF_2048_sub(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">subtraction of two FFs</div></div>
-<div class="ttc" id="ff__2048_8h_html_a100f16a442d30fae06c81b5071fbc9e6"><div class="ttname"><a href="ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6">FF_2048_copy</a></div><div class="ttdeci">void FF_2048_copy(BIG_1024_58 *x, BIG_1024_58 *y, int n)</div><div class="ttdoc">Copy one FF element of given length to another.</div></div>
-<div class="ttc" id="ff__2048_8h_html_acadc23a6f6c053b971d7afaf121d7196"><div class="ttname"><a href="ff__2048_8h.html#acadc23a6f6c053b971d7afaf121d7196">FF_2048_skspow</a></div><div class="ttdeci">void FF_2048_skspow(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 e, BIG_1024_58 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m, side channel resistant.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a99bc0c23aa9bf3a1d8356cd1dcd838e1"><div class="ttname"><a href="ff__2048_8h.html#a99bc0c23aa9bf3a1d8356cd1dcd838e1">FF_2048_add</a></div><div class="ttdeci">void FF_2048_add(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">addition of two FFs</div></div>
-<div class="ttc" id="ff__2048_8h_html_a175d8db0f1789c940961189bb00dc009"><div class="ttname"><a href="ff__2048_8h.html#a175d8db0f1789c940961189bb00dc009">FF_2048_shl</a></div><div class="ttdeci">void FF_2048_shl(BIG_1024_58 *x, int n)</div><div class="ttdoc">Shift left an FF by 1 bit.</div></div>
-<div class="ttc" id="ff__2048_8h_html_aa4e3c92baa3179198a3cdefc5b61eac9"><div class="ttname"><a href="ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9">FF_2048_invmodp</a></div><div class="ttdeci">void FF_2048_invmodp(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">Invert an FF mod a prime modulus.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a7375ad720811c0f9678492ea4da08549"><div class="ttname"><a href="ff__2048_8h.html#a7375ad720811c0f9678492ea4da08549">FF_2048_comp</a></div><div class="ttdeci">int FF_2048_comp(BIG_1024_58 *x, BIG_1024_58 *y, int n)</div><div class="ttdoc">Compares two FF numbers. Inputs must be normalised externally.</div></div>
-<div class="ttc" id="config__ff__2048_8h_html"><div class="ttname"><a href="config__ff__2048_8h.html">config_ff_2048.h</a></div><div class="ttdoc">COnfig FF Header File.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a7764e294274140465a4676717677f6b6"><div class="ttname"><a href="ff__2048_8h.html#a7764e294274140465a4676717677f6b6">FF_2048_pow</a></div><div class="ttdeci">void FF_2048_pow(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 *e, BIG_1024_58 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a9a3486518d9dcf2ef743a6dd2aa56336"><div class="ttname"><a href="ff__2048_8h.html#a9a3486518d9dcf2ef743a6dd2aa56336">FF_2048_zero</a></div><div class="ttdeci">void FF_2048_zero(BIG_1024_58 *x, int n)</div><div class="ttdoc">Set FF element of given size to zero.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a84c276a9cb2fb6b8c88677c8a5241174"><div class="ttname"><a href="ff__2048_8h.html#a84c276a9cb2fb6b8c88677c8a5241174">FF_2048_norm</a></div><div class="ttdeci">void FF_2048_norm(BIG_1024_58 *x, int n)</div><div class="ttdoc">Normalises the components of an FF.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a08c90508ecc6c2229143ec0de481888f"><div class="ttname"><a href="ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f">FF_2048_dec</a></div><div class="ttdeci">void FF_2048_dec(BIG_1024_58 *x, int m, int n)</div><div class="ttdoc">Decrement an FF by an integer,and normalise.</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="ff__2048_8h_html_ab79fd4f6686b2fe714c3d33f20f4c48a"><div class="ttname"><a href="ff__2048_8h.html#ab79fd4f6686b2fe714c3d33f20f4c48a">FF_2048_iszilch</a></div><div class="ttdeci">int FF_2048_iszilch(BIG_1024_58 *x, int n)</div><div class="ttdoc">Tests for FF element equal to zero.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a7cea17d94848af54dc71659f4aa78121"><div class="ttname"><a href="ff__2048_8h.html#a7cea17d94848af54dc71659f4aa78121">FF_2048_toOctet</a></div><div class="ttdeci">void FF_2048_toOctet(octet *S, BIG_1024_58 *x, int n)</div><div class="ttdoc">Formats and outputs an FF instance to an octet string.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a8011729411cf198d0a19a0a1ffa17ae1"><div class="ttname"><a href="ff__2048_8h.html#a8011729411cf198d0a19a0a1ffa17ae1">FF_2048_output</a></div><div class="ttdeci">void FF_2048_output(BIG_1024_58 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a0fa3a98953b3f941c4a1d77811c663da"><div class="ttname"><a href="ff__2048_8h.html#a0fa3a98953b3f941c4a1d77811c663da">FF_2048_rawoutput</a></div><div class="ttdeci">void FF_2048_rawoutput(BIG_1024_58 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console, in raw form.</div></div>
-<div class="ttc" id="ff__2048_8h_html_abda74d9b71138e17a7fbe7086426c3e7"><div class="ttname"><a href="ff__2048_8h.html#abda74d9b71138e17a7fbe7086426c3e7">FF_2048_random</a></div><div class="ttdeci">void FF_2048_random(BIG_1024_58 *x, csprng *R, int n)</div><div class="ttdoc">Create an FF from a random number generator.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a8b87d4ad585cbfaaeadca3d586ffb05a"><div class="ttname"><a href="ff__2048_8h.html#a8b87d4ad585cbfaaeadca3d586ffb05a">FF_2048_power</a></div><div class="ttdeci">void FF_2048_power(BIG_1024_58 *r, BIG_1024_58 *x, int e, BIG_1024_58 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a261bad7b5b39fd6eb3d98e3c9ae292de"><div class="ttname"><a href="ff__2048_8h.html#a261bad7b5b39fd6eb3d98e3c9ae292de">FF_2048_cfactor</a></div><div class="ttdeci">int FF_2048_cfactor(BIG_1024_58 *x, sign32 s, int n)</div><div class="ttdoc">Test if an FF has factor in common with integer s.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a0445b77f49dbfb68babf95a6cd2ecbea"><div class="ttname"><a href="ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea">FF_2048_parity</a></div><div class="ttdeci">int FF_2048_parity(BIG_1024_58 *x)</div><div class="ttdoc">return parity of an FF, that is the least significant bit</div></div>
-<div class="ttc" id="ff__2048_8h_html_a8b287a310c335b1e3a8693381d112eaf"><div class="ttname"><a href="ff__2048_8h.html#a8b287a310c335b1e3a8693381d112eaf">FF_2048_dmod</a></div><div class="ttdeci">void FF_2048_dmod(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">Reduces a double-length FF with respect to a given modulus.</div></div>
+<a href="ff__2048_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 FF_2048_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FF_2048_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 &quot;<a class="code" href="big__1024__58_8h.html">big_1024_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__ff__2048_8h.html">config_ff_2048.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">   33</a></span>&#160;<span class="preprocessor">#define HFLEN_2048 (FFLEN_2048/2) </span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#ad1dbd4d4757d964e79ba37b306d7e55c">   34</a></span>&#160;<span class="preprocessor">#define P_MBITS_2048 (MODBYTES_1024_58*8) </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#a40c3a14228a7e89dae27ebad9d92953b">   35</a></span>&#160;<span class="preprocessor">#define P_TBITS_2048 (P_MBITS_2048%BASEBITS_1024_58) </span></div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#a48cd404e88e86911f940a7f7f1048db6">   36</a></span>&#160;<span class="preprocessor">#define P_EXCESS_2048(a) (((a[NLEN_1024_58-1])&gt;&gt;(P_TBITS_2048))+1) </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ff__2048_8h.html#acccacd653e03a0ab4188413033799714">   37</a></span>&#160;<span class="preprocessor">#define P_FEXCESS_2048 ((chunk)1&lt;&lt;(BASEBITS_1024_58*NLEN_1024_58-P_MBITS_2048-1)) </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="comment">/* Finite Field Prototypes */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3">FF_2048_init</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a9a3486518d9dcf2ef743a6dd2aa56336">FF_2048_zero</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="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#ab79fd4f6686b2fe714c3d33f20f4c48a">FF_2048_iszilch</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="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea">FF_2048_parity</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="ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89">FF_2048_lastbits</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="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#af59e05d4afd7575e07300199a60a1484">FF_2048_one</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="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a7375ad720811c0f9678492ea4da08549">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a99bc0c23aa9bf3a1d8356cd1dcd838e1">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#aebafa634bb7c45532f0cc30b005fece7">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a45a6fb55cb8695885e92427b95d93b0f">FF_2048_inc</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f">FF_2048_dec</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a84c276a9cb2fb6b8c88677c8a5241174">FF_2048_norm</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="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a175d8db0f1789c940961189bb00dc009">FF_2048_shl</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="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836">FF_2048_shr</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="l00149"></a><span class="lineno">  149</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a8011729411cf198d0a19a0a1ffa17ae1">FF_2048_output</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="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a0fa3a98953b3f941c4a1d77811c663da">FF_2048_rawoutput</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="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a7cea17d94848af54dc71659f4aa78121">FF_2048_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<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="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#acf36351fa465903335db78c4d1539fc6">FF_2048_fromOctet</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90">FF_2048_mul</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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#afbae12c8d55508641cbdbda870bb9d05">FF_2048_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> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f">FF_2048_sqr</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> n);</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="ff__2048_8h.html#a8b287a310c335b1e3a8693381d112eaf">FF_2048_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#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *y,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9">FF_2048_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> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#aeb5d9d16c4bbfe021b76690a198df7ed">FF_2048_invmod2m</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> U[],<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> a[],<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#abda74d9b71138e17a7fbe7086426c3e7">FF_2048_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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a7cfdc4c363575059d802b91713b03737">FF_2048_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> *y,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#ab736578e7b655b60101325b7d0e79065">FF_2048_skpow</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> * e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p,<span class="keywordtype">int</span> n, <span class="keywordtype">int</span> en);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#ab3081cf68191fa919f374993a02c5014">FF_2048_skspow</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a0b3e4f7ee1099043241031cd8426a23b">FF_2048_skpow2</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> *x, <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e, <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> *f, <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> en);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a0bd5964bb4460e0a10949500b58ac472">FF_2048_power</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> *x,<span class="keywordtype">int</span> e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#a57054f9061450cba4235fbc6b03e8bb9">FF_2048_pow</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *e,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">FF_2048_pow2</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> *x,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> e,<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> f,<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a261bad7b5b39fd6eb3d98e3c9ae292de">FF_2048_cfactor</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242">FF_2048_prime</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,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__2048_8h.html#af06da89f60cc5dd4f4944aab876e9721">FF_2048_crt</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> *rp, <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *rq, <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *p, <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *q, <span class="keywordtype">int</span> n);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ff__2048_8h_html_acc12c9e475768bc1a9960aa51903ffd3"><div class="ttname"><a href="ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3">FF_2048_init</a></div><div class="ttdeci">void FF_2048_init(BIG_1024_58 *x, sign32 m, int n)</div><div class="ttdoc">Initialize an FF element of given length from a 32-bit integer m. </div></div>
+<div class="ttc" id="ff__2048_8h_html_afbae12c8d55508641cbdbda870bb9d05"><div class="ttname"><a href="ff__2048_8h.html#afbae12c8d55508641cbdbda870bb9d05">FF_2048_mod</a></div><div class="ttdeci">void FF_2048_mod(BIG_1024_58 *x, BIG_1024_58 *p, int n)</div><div class="ttdoc">Reduce FF mod a modulus. </div></div>
+<div class="ttc" id="ff__2048_8h_html_aebafa634bb7c45532f0cc30b005fece7"><div class="ttname"><a href="ff__2048_8h.html#aebafa634bb7c45532f0cc30b005fece7">FF_2048_sub</a></div><div class="ttdeci">void FF_2048_sub(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">subtraction of two FFs </div></div>
+<div class="ttc" id="ff__2048_8h_html_a100f16a442d30fae06c81b5071fbc9e6"><div class="ttname"><a href="ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6">FF_2048_copy</a></div><div class="ttdeci">void FF_2048_copy(BIG_1024_58 *x, BIG_1024_58 *y, int n)</div><div class="ttdoc">Copy one FF element of given length to another. </div></div>
+<div class="ttc" id="ff__2048_8h_html_af06da89f60cc5dd4f4944aab876e9721"><div class="ttname"><a href="ff__2048_8h.html#af06da89f60cc5dd4f4944aab876e9721">FF_2048_crt</a></div><div class="ttdeci">void FF_2048_crt(BIG_1024_58 *r, BIG_1024_58 *rp, BIG_1024_58 *rq, BIG_1024_58 *p, BIG_1024_58 *q, int n)</div><div class="ttdoc">Combine rp and rq using the Chinese Remainder Theorem. </div><div class="ttdef"><b>Definition:</b> ff_2048.c:1056</div></div>
+<div class="ttc" id="ff__2048_8h_html_a99bc0c23aa9bf3a1d8356cd1dcd838e1"><div class="ttname"><a href="ff__2048_8h.html#a99bc0c23aa9bf3a1d8356cd1dcd838e1">FF_2048_add</a></div><div class="ttdeci">void FF_2048_add(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">addition of two FFs </div></div>
+<div class="ttc" id="ff__2048_8h_html_a0bd5964bb4460e0a10949500b58ac472"><div class="ttname"><a href="ff__2048_8h.html#a0bd5964bb4460e0a10949500b58ac472">FF_2048_power</a></div><div class="ttdeci">void FF_2048_power(BIG_1024_58 *r, BIG_1024_58 *x, int e, BIG_1024_58 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a175d8db0f1789c940961189bb00dc009"><div class="ttname"><a href="ff__2048_8h.html#a175d8db0f1789c940961189bb00dc009">FF_2048_shl</a></div><div class="ttdeci">void FF_2048_shl(BIG_1024_58 *x, int n)</div><div class="ttdoc">Shift left an FF by 1 bit. </div></div>
+<div class="ttc" id="ff__2048_8h_html_aa4e3c92baa3179198a3cdefc5b61eac9"><div class="ttname"><a href="ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9">FF_2048_invmodp</a></div><div class="ttdeci">void FF_2048_invmodp(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">Invert an FF mod a prime modulus. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a7375ad720811c0f9678492ea4da08549"><div class="ttname"><a href="ff__2048_8h.html#a7375ad720811c0f9678492ea4da08549">FF_2048_comp</a></div><div class="ttdeci">int FF_2048_comp(BIG_1024_58 *x, BIG_1024_58 *y, int n)</div><div class="ttdoc">Compares two FF numbers. Inputs must be normalised externally. </div></div>
+<div class="ttc" id="config__ff__2048_8h_html"><div class="ttname"><a href="config__ff__2048_8h.html">config_ff_2048.h</a></div><div class="ttdoc">COnfig FF Header File. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a57054f9061450cba4235fbc6b03e8bb9"><div class="ttname"><a href="ff__2048_8h.html#a57054f9061450cba4235fbc6b03e8bb9">FF_2048_pow</a></div><div class="ttdeci">void FF_2048_pow(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 *e, BIG_1024_58 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a9a3486518d9dcf2ef743a6dd2aa56336"><div class="ttname"><a href="ff__2048_8h.html#a9a3486518d9dcf2ef743a6dd2aa56336">FF_2048_zero</a></div><div class="ttdeci">void FF_2048_zero(BIG_1024_58 *x, int n)</div><div class="ttdoc">Set FF element of given size to zero. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a84c276a9cb2fb6b8c88677c8a5241174"><div class="ttname"><a href="ff__2048_8h.html#a84c276a9cb2fb6b8c88677c8a5241174">FF_2048_norm</a></div><div class="ttdeci">void FF_2048_norm(BIG_1024_58 *x, int n)</div><div class="ttdoc">Normalises the components of an FF. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a08c90508ecc6c2229143ec0de481888f"><div class="ttname"><a href="ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f">FF_2048_dec</a></div><div class="ttdeci">void FF_2048_dec(BIG_1024_58 *x, int m, int n)</div><div class="ttdoc">Decrement an FF by an integer,and normalise. </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="ff__2048_8h_html_ab79fd4f6686b2fe714c3d33f20f4c48a"><div class="ttname"><a href="ff__2048_8h.html#ab79fd4f6686b2fe714c3d33f20f4c48a">FF_2048_iszilch</a></div><div class="ttdeci">int FF_2048_iszilch(BIG_1024_58 *x, int n)</div><div class="ttdoc">Tests for FF element equal to zero. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a7cea17d94848af54dc71659f4aa78121"><div class="ttname"><a href="ff__2048_8h.html#a7cea17d94848af54dc71659f4aa78121">FF_2048_toOctet</a></div><div class="ttdeci">void FF_2048_toOctet(octet *S, BIG_1024_58 *x, int n)</div><div class="ttdoc">Formats and outputs an FF instance to an octet string. </div></div>
+<div class="ttc" id="ff__2048_8h_html_ab3081cf68191fa919f374993a02c5014"><div class="ttname"><a href="ff__2048_8h.html#ab3081cf68191fa919f374993a02c5014">FF_2048_skspow</a></div><div class="ttdeci">void FF_2048_skspow(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 e, BIG_1024_58 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p, side channel resistant. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a8011729411cf198d0a19a0a1ffa17ae1"><div class="ttname"><a href="ff__2048_8h.html#a8011729411cf198d0a19a0a1ffa17ae1">FF_2048_output</a></div><div class="ttdeci">void FF_2048_output(BIG_1024_58 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a0fa3a98953b3f941c4a1d77811c663da"><div class="ttname"><a href="ff__2048_8h.html#a0fa3a98953b3f941c4a1d77811c663da">FF_2048_rawoutput</a></div><div class="ttdeci">void FF_2048_rawoutput(BIG_1024_58 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console, in raw form. </div></div>
+<div class="ttc" id="ff__2048_8h_html_abda74d9b71138e17a7fbe7086426c3e7"><div class="ttname"><a href="ff__2048_8h.html#abda74d9b71138e17a7fbe7086426c3e7">FF_2048_random</a></div><div class="ttdeci">void FF_2048_random(BIG_1024_58 *x, csprng *R, int n)</div><div class="ttdoc">Create an FF from a random number generator. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a261bad7b5b39fd6eb3d98e3c9ae292de"><div class="ttname"><a href="ff__2048_8h.html#a261bad7b5b39fd6eb3d98e3c9ae292de">FF_2048_cfactor</a></div><div class="ttdeci">int FF_2048_cfactor(BIG_1024_58 *x, sign32 s, int n)</div><div class="ttdoc">Test if an FF has factor in common with integer s. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a0445b77f49dbfb68babf95a6cd2ecbea"><div class="ttname"><a href="ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea">FF_2048_parity</a></div><div class="ttdeci">int FF_2048_parity(BIG_1024_58 *x)</div><div class="ttdoc">return parity of an FF, that is the least significant bit </div></div>
+<div class="ttc" id="ff__2048_8h_html_a0b3e4f7ee1099043241031cd8426a23b"><div class="ttname"><a href="ff__2048_8h.html#a0b3e4f7ee1099043241031cd8426a23b">FF_2048_skpow2</a></div><div class="ttdeci">void FF_2048_skpow2(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 *e, BIG_1024_58 *y, BIG_1024_58 *f, BIG_1024_58 *p, int n, int en)</div><div class="ttdoc">Calculate r=x^e.y^f mod p for big e and f, side channel resistant. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a8b287a310c335b1e3a8693381d112eaf"><div class="ttname"><a href="ff__2048_8h.html#a8b287a310c335b1e3a8693381d112eaf">FF_2048_dmod</a></div><div class="ttdeci">void FF_2048_dmod(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">Reduces a double-length FF with respect to a given modulus. </div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="big__1024__58_8h_html"><div class="ttname"><a href="big__1024__58_8h.html">big_1024_58.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="ff__2048_8h_html_ace63d2e10c65cb9446e496d4355bf3be"><div class="ttname"><a href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">FF_2048_pow2</a></div><div class="ttdeci">void FF_2048_pow2(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 e, BIG_1024_58 *y, BIG_1024_58 f, BIG_1024_58 *m, int n)</div><div class="ttdoc">Calculate r=x^e.y^f mod m.</div></div>
-<div class="ttc" id="ff__2048_8h_html_ac5970b0360b38a0c3bde877abac7fe90"><div class="ttname"><a href="ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90">FF_2048_mul</a></div><div class="ttdeci">void FF_2048_mul(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">Multiplication of two FFs.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a2789a44182bc8d1fb91fd048a23361b9"><div class="ttname"><a href="ff__2048_8h.html#a2789a44182bc8d1fb91fd048a23361b9">FF_2048_skpow</a></div><div class="ttdeci">void FF_2048_skpow(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 *e, BIG_1024_58 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m, side channel resistant.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a7cfdc4c363575059d802b91713b03737"><div class="ttname"><a href="ff__2048_8h.html#a7cfdc4c363575059d802b91713b03737">FF_2048_randomnum</a></div><div class="ttdeci">void FF_2048_randomnum(BIG_1024_58 *x, BIG_1024_58 *y, csprng *R, int n)</div><div class="ttdoc">Create a random FF less than a given modulus from a random number generator.</div></div>
-<div class="ttc" id="ff__2048_8h_html_af59e05d4afd7575e07300199a60a1484"><div class="ttname"><a href="ff__2048_8h.html#af59e05d4afd7575e07300199a60a1484">FF_2048_one</a></div><div class="ttdeci">void FF_2048_one(BIG_1024_58 *x, int n)</div><div class="ttdoc">Set FF element of given size to unity.</div></div>
+<div class="ttc" id="ff__2048_8h_html_ab736578e7b655b60101325b7d0e79065"><div class="ttname"><a href="ff__2048_8h.html#ab736578e7b655b60101325b7d0e79065">FF_2048_skpow</a></div><div class="ttdeci">void FF_2048_skpow(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 *e, BIG_1024_58 *p, int n, int en)</div><div class="ttdoc">Calculate r=x^e mod p, side channel resistant. </div></div>
+<div class="ttc" id="big__1024__58_8h_html"><div class="ttname"><a href="big__1024__58_8h.html">big_1024_58.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="ff__2048_8h_html_ace63d2e10c65cb9446e496d4355bf3be"><div class="ttname"><a href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">FF_2048_pow2</a></div><div class="ttdeci">void FF_2048_pow2(BIG_1024_58 *r, BIG_1024_58 *x, BIG_1024_58 e, BIG_1024_58 *y, BIG_1024_58 f, BIG_1024_58 *m, int n)</div><div class="ttdoc">Calculate r=x^e.y^f mod m. </div></div>
+<div class="ttc" id="ff__2048_8h_html_ac5970b0360b38a0c3bde877abac7fe90"><div class="ttname"><a href="ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90">FF_2048_mul</a></div><div class="ttdeci">void FF_2048_mul(BIG_1024_58 *x, BIG_1024_58 *y, BIG_1024_58 *z, int n)</div><div class="ttdoc">Multiplication of two FFs. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a7cfdc4c363575059d802b91713b03737"><div class="ttname"><a href="ff__2048_8h.html#a7cfdc4c363575059d802b91713b03737">FF_2048_randomnum</a></div><div class="ttdeci">void FF_2048_randomnum(BIG_1024_58 *x, BIG_1024_58 *y, csprng *R, int n)</div><div class="ttdoc">Create a random FF less than a given modulus from a random number generator. </div></div>
+<div class="ttc" id="ff__2048_8h_html_af59e05d4afd7575e07300199a60a1484"><div class="ttname"><a href="ff__2048_8h.html#af59e05d4afd7575e07300199a60a1484">FF_2048_one</a></div><div class="ttdeci">void FF_2048_one(BIG_1024_58 *x, int n)</div><div class="ttdoc">Set FF element of given size to unity. </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="ff__2048_8h_html_a5e75fed78290b43d0b440031b12ebf89"><div class="ttname"><a href="ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89">FF_2048_lastbits</a></div><div class="ttdeci">int FF_2048_lastbits(BIG_1024_58 *x, int m)</div><div class="ttdoc">return least significant m bits of an FF</div></div>
-<div class="ttc" id="ff__2048_8h_html_a9ede4163e174ca5564b724d5d50c3242"><div class="ttname"><a href="ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242">FF_2048_prime</a></div><div class="ttdeci">int FF_2048_prime(BIG_1024_58 *x, csprng *R, int n)</div><div class="ttdoc">Test if an FF is prime.</div></div>
-<div class="ttc" id="ff__2048_8h_html_acf36351fa465903335db78c4d1539fc6"><div class="ttname"><a href="ff__2048_8h.html#acf36351fa465903335db78c4d1539fc6">FF_2048_fromOctet</a></div><div class="ttdeci">void FF_2048_fromOctet(BIG_1024_58 *x, octet *S, int n)</div><div class="ttdoc">Populates an FF instance from an octet string.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a2ba04edfe1eb1b4e925598bebf135b8f"><div class="ttname"><a href="ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f">FF_2048_sqr</a></div><div class="ttdeci">void FF_2048_sqr(BIG_1024_58 *x, BIG_1024_58 *y, int n)</div><div class="ttdoc">Square an FF.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a85f56b1a48a3867295e4af39275ca836"><div class="ttname"><a href="ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836">FF_2048_shr</a></div><div class="ttdeci">void FF_2048_shr(BIG_1024_58 *x, int n)</div><div class="ttdoc">Shift right an FF by 1 bit.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a7ed651a772be1e7c644d4153e67574f3"><div class="ttname"><a href="ff__2048_8h.html#a7ed651a772be1e7c644d4153e67574f3">FF_2048_mod</a></div><div class="ttdeci">void FF_2048_mod(BIG_1024_58 *x, BIG_1024_58 *m, int n)</div><div class="ttdoc">Reduce FF mod a modulus.</div></div>
-<div class="ttc" id="ff__2048_8h_html_a45a6fb55cb8695885e92427b95d93b0f"><div class="ttname"><a href="ff__2048_8h.html#a45a6fb55cb8695885e92427b95d93b0f">FF_2048_inc</a></div><div class="ttdeci">void FF_2048_inc(BIG_1024_58 *x, int m, int n)</div><div class="ttdoc">increment an FF by an integer,and normalise</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="ff__2048_8h_html_a5e75fed78290b43d0b440031b12ebf89"><div class="ttname"><a href="ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89">FF_2048_lastbits</a></div><div class="ttdeci">int FF_2048_lastbits(BIG_1024_58 *x, int m)</div><div class="ttdoc">return least significant m bits of an FF </div></div>
+<div class="ttc" id="ff__2048_8h_html_aeb5d9d16c4bbfe021b76690a198df7ed"><div class="ttname"><a href="ff__2048_8h.html#aeb5d9d16c4bbfe021b76690a198df7ed">FF_2048_invmod2m</a></div><div class="ttdeci">void FF_2048_invmod2m(BIG_1024_58 U[], BIG_1024_58 a[], int n)</div><div class="ttdoc">Invert an FF mod 2^(n*BIGBITS) </div><div class="ttdef"><b>Definition:</b> ff_2048.c:638</div></div>
+<div class="ttc" id="ff__2048_8h_html_a9ede4163e174ca5564b724d5d50c3242"><div class="ttname"><a href="ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242">FF_2048_prime</a></div><div class="ttdeci">int FF_2048_prime(BIG_1024_58 *x, csprng *R, int n)</div><div class="ttdoc">Test if an FF is prime. </div></div>
+<div class="ttc" id="ff__2048_8h_html_acf36351fa465903335db78c4d1539fc6"><div class="ttname"><a href="ff__2048_8h.html#acf36351fa465903335db78c4d1539fc6">FF_2048_fromOctet</a></div><div class="ttdeci">void FF_2048_fromOctet(BIG_1024_58 *x, octet *S, int n)</div><div class="ttdoc">Populates an FF instance from an octet string. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a2ba04edfe1eb1b4e925598bebf135b8f"><div class="ttname"><a href="ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f">FF_2048_sqr</a></div><div class="ttdeci">void FF_2048_sqr(BIG_1024_58 *x, BIG_1024_58 *y, int n)</div><div class="ttdoc">Square an FF. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a85f56b1a48a3867295e4af39275ca836"><div class="ttname"><a href="ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836">FF_2048_shr</a></div><div class="ttdeci">void FF_2048_shr(BIG_1024_58 *x, int n)</div><div class="ttdoc">Shift right an FF by 1 bit. </div></div>
+<div class="ttc" id="ff__2048_8h_html_a45a6fb55cb8695885e92427b95d93b0f"><div class="ttname"><a href="ff__2048_8h.html#a45a6fb55cb8695885e92427b95d93b0f">FF_2048_inc</a></div><div class="ttdeci">void FF_2048_inc(BIG_1024_58 *x, int m, int n)</div><div class="ttdoc">increment an FF by an integer,and normalise </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/ff__3072_8h.html b/website/static/cdocs/ff__3072_8h.html
index 14807f3..efd1fcd 100644
--- a/website/static/cdocs/ff__3072_8h.html
+++ b/website/static/cdocs/ff__3072_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: ff_3072.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"
@@ -155,9 +158,9 @@
 <tr class="memitem:aa15d79eee17b711e569fb6817963c170"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">FF_3072_mul</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z, int n)</td></tr>
 <tr class="memdesc:aa15d79eee17b711e569fb6817963c170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplication of two FFs.  <a href="#aa15d79eee17b711e569fb6817963c170">More...</a><br /></td></tr>
 <tr class="separator:aa15d79eee17b711e569fb6817963c170"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af06a6739f1c0bb51f0cd9781b8ef1792"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#af06a6739f1c0bb51f0cd9781b8ef1792">FF_3072_mod</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr>
-<tr class="memdesc:af06a6739f1c0bb51f0cd9781b8ef1792"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce FF mod a modulus.  <a href="#af06a6739f1c0bb51f0cd9781b8ef1792">More...</a><br /></td></tr>
-<tr class="separator:af06a6739f1c0bb51f0cd9781b8ef1792"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab93c9e12ca505de7ec1b76987d922852"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852">FF_3072_mod</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr>
+<tr class="memdesc:ab93c9e12ca505de7ec1b76987d922852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce FF mod a modulus.  <a href="#ab93c9e12ca505de7ec1b76987d922852">More...</a><br /></td></tr>
+<tr class="separator:ab93c9e12ca505de7ec1b76987d922852"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9e50c11b86dcc4089140221500e2ca30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">FF_3072_sqr</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, int n)</td></tr>
 <tr class="memdesc:a9e50c11b86dcc4089140221500e2ca30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square an FF.  <a href="#a9e50c11b86dcc4089140221500e2ca30">More...</a><br /></td></tr>
 <tr class="separator:a9e50c11b86dcc4089140221500e2ca30"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -167,33 +170,42 @@
 <tr class="memitem:aae7ce5e4cea593280c782a135cef009d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">FF_3072_invmodp</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z, int n)</td></tr>
 <tr class="memdesc:aae7ce5e4cea593280c782a135cef009d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert an FF mod a prime modulus.  <a href="#aae7ce5e4cea593280c782a135cef009d">More...</a><br /></td></tr>
 <tr class="separator:aae7ce5e4cea593280c782a135cef009d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5afa3e952ac34ca7e73311135ed9fd4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a">FF_3072_invmod2m</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> U[], <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> a[], int n)</td></tr>
+<tr class="memdesc:a5afa3e952ac34ca7e73311135ed9fd4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert an FF mod 2^(n*BIGBITS)  <a href="#a5afa3e952ac34ca7e73311135ed9fd4a">More...</a><br /></td></tr>
+<tr class="separator:a5afa3e952ac34ca7e73311135ed9fd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3279d3d0fe944c9e1d22ab30e23cb4a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7">FF_3072_random</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:a3279d3d0fe944c9e1d22ab30e23cb4a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an FF from a random number generator.  <a href="#a3279d3d0fe944c9e1d22ab30e23cb4a7">More...</a><br /></td></tr>
 <tr class="separator:a3279d3d0fe944c9e1d22ab30e23cb4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac9d98be58c136ad84be65ccc1d537c5f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f">FF_3072_randomnum</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:ac9d98be58c136ad84be65ccc1d537c5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random FF less than a given modulus from a random number generator.  <a href="#ac9d98be58c136ad84be65ccc1d537c5f">More...</a><br /></td></tr>
 <tr class="separator:ac9d98be58c136ad84be65ccc1d537c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1998c3c4c38a3f46997b1243b53b4481"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a1998c3c4c38a3f46997b1243b53b4481">FF_3072_skpow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr>
-<tr class="memdesc:a1998c3c4c38a3f46997b1243b53b4481"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m, side channel resistant.  <a href="#a1998c3c4c38a3f46997b1243b53b4481">More...</a><br /></td></tr>
-<tr class="separator:a1998c3c4c38a3f46997b1243b53b4481"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a381608fd407d688c2387f8597916f3ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a381608fd407d688c2387f8597916f3ac">FF_3072_skspow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr>
-<tr class="memdesc:a381608fd407d688c2387f8597916f3ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m, side channel resistant.  <a href="#a381608fd407d688c2387f8597916f3ac">More...</a><br /></td></tr>
-<tr class="separator:a381608fd407d688c2387f8597916f3ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af854663f5413b0a941c83fe19a06d506"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#af854663f5413b0a941c83fe19a06d506">FF_3072_power</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr>
-<tr class="memdesc:af854663f5413b0a941c83fe19a06d506"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m.  <a href="#af854663f5413b0a941c83fe19a06d506">More...</a><br /></td></tr>
-<tr class="separator:af854663f5413b0a941c83fe19a06d506"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b7a3bbd385227b9c4292babb0ab6469"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a6b7a3bbd385227b9c4292babb0ab6469">FF_3072_pow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr>
-<tr class="memdesc:a6b7a3bbd385227b9c4292babb0ab6469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m.  <a href="#a6b7a3bbd385227b9c4292babb0ab6469">More...</a><br /></td></tr>
-<tr class="separator:a6b7a3bbd385227b9c4292babb0ab6469"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7de5ac4b05d29331ecdfca051de289aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa">FF_3072_skpow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n, int en)</td></tr>
+<tr class="memdesc:a7de5ac4b05d29331ecdfca051de289aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant.  <a href="#a7de5ac4b05d29331ecdfca051de289aa">More...</a><br /></td></tr>
+<tr class="separator:a7de5ac4b05d29331ecdfca051de289aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a46d7f64a49cca34285e1c3f88c13472c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c">FF_3072_skspow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr>
+<tr class="memdesc:a46d7f64a49cca34285e1c3f88c13472c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant.  <a href="#a46d7f64a49cca34285e1c3f88c13472c">More...</a><br /></td></tr>
+<tr class="separator:a46d7f64a49cca34285e1c3f88c13472c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08f6181906f7778cf2241152c4504abe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe">FF_3072_skpow2</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *f, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n, int en)</td></tr>
+<tr class="memdesc:a08f6181906f7778cf2241152c4504abe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod p for big e and f, side channel resistant.  <a href="#a08f6181906f7778cf2241152c4504abe">More...</a><br /></td></tr>
+<tr class="separator:a08f6181906f7778cf2241152c4504abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a730ad50f9459f3b9ad1c5b51a36fdb91"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91">FF_3072_power</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr>
+<tr class="memdesc:a730ad50f9459f3b9ad1c5b51a36fdb91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p.  <a href="#a730ad50f9459f3b9ad1c5b51a36fdb91">More...</a><br /></td></tr>
+<tr class="separator:a730ad50f9459f3b9ad1c5b51a36fdb91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49e545443d4744967972aa4a3b49013b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b">FF_3072_pow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr>
+<tr class="memdesc:a49e545443d4744967972aa4a3b49013b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p.  <a href="#a49e545443d4744967972aa4a3b49013b">More...</a><br /></td></tr>
+<tr class="separator:a49e545443d4744967972aa4a3b49013b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb905b3272822708c9886676f3a3befd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">FF_3072_pow2</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr>
+<tr class="memdesc:aeb905b3272822708c9886676f3a3befd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod m.  <a href="#aeb905b3272822708c9886676f3a3befd">More...</a><br /></td></tr>
+<tr class="separator:aeb905b3272822708c9886676f3a3befd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af9ca6a2a8e19d16a0e3e5d7ff4161788"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788">FF_3072_cfactor</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s, int n)</td></tr>
 <tr class="memdesc:af9ca6a2a8e19d16a0e3e5d7ff4161788"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if an FF has factor in common with integer s.  <a href="#af9ca6a2a8e19d16a0e3e5d7ff4161788">More...</a><br /></td></tr>
 <tr class="separator:af9ca6a2a8e19d16a0e3e5d7ff4161788"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:abe0d54929a593c54b7bc4c76509f2dfb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">FF_3072_prime</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:abe0d54929a593c54b7bc4c76509f2dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if an FF is prime.  <a href="#abe0d54929a593c54b7bc4c76509f2dfb">More...</a><br /></td></tr>
 <tr class="separator:abe0d54929a593c54b7bc4c76509f2dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aeb905b3272822708c9886676f3a3befd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">FF_3072_pow2</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr>
-<tr class="memdesc:aeb905b3272822708c9886676f3a3befd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod m.  <a href="#aeb905b3272822708c9886676f3a3befd">More...</a><br /></td></tr>
-<tr class="separator:aeb905b3272822708c9886676f3a3befd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76ff21e47b57cfc4f5e33f7acbab95ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea">FF_3072_crt</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *rp, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *rq, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *q, int n)</td></tr>
+<tr class="memdesc:a76ff21e47b57cfc4f5e33f7acbab95ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combine rp and rq using the Chinese Remainder Theorem.  <a href="#a76ff21e47b57cfc4f5e33f7acbab95ea">More...</a><br /></td></tr>
+<tr class="separator:a76ff21e47b57cfc4f5e33f7acbab95ea"><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>
@@ -455,6 +467,69 @@
 
 </div>
 </div>
+<a id="a76ff21e47b57cfc4f5e33f7acbab95ea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a76ff21e47b57cfc4f5e33f7acbab95ea">&#9670;&nbsp;</a></span>FF_3072_crt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_3072_crt </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>rp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>rq</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>q</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">r</td><td>FF instance, on exit the solution of the system </td></tr>
+    <tr><td class="paramname">rp</td><td>FF instance, solution modulo p </td></tr>
+    <tr><td class="paramname">rq</td><td>FF instance, solution modulo q </td></tr>
+    <tr><td class="paramname">p</td><td>FF instance, MUST be coprime with q </td></tr>
+    <tr><td class="paramname">q</td><td>FF instance, MUST be coprime with p </td></tr>
+    <tr><td class="paramname">n</td><td>size of p and q in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a id="a0b01ae2dd1452ad556d0fc7852e48bab"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a0b01ae2dd1452ad556d0fc7852e48bab">&#9670;&nbsp;</a></span>FF_3072_dec()</h2>
 
@@ -672,6 +747,48 @@
 
 </div>
 </div>
+<a id="a5afa3e952ac34ca7e73311135ed9fd4a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5afa3e952ac34ca7e73311135ed9fd4a">&#9670;&nbsp;</a></span>FF_3072_invmod2m()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_3072_invmod2m </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>&#160;</td>
+          <td class="paramname"><em>U</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>&#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>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">U</td><td>FF instance, on exit 1/a mod 2^(n*BIGBITS) </td></tr>
+    <tr><td class="paramname">a</td><td>FF instance </td></tr>
+    <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a id="aae7ce5e4cea593280c782a135cef009d"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aae7ce5e4cea593280c782a135cef009d">&#9670;&nbsp;</a></span>FF_3072_invmodp()</h2>
 
@@ -793,8 +910,8 @@
 
 </div>
 </div>
-<a id="af06a6739f1c0bb51f0cd9781b8ef1792"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af06a6739f1c0bb51f0cd9781b8ef1792">&#9670;&nbsp;</a></span>FF_3072_mod()</h2>
+<a id="ab93c9e12ca505de7ec1b76987d922852"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab93c9e12ca505de7ec1b76987d922852">&#9670;&nbsp;</a></span>FF_3072_mod()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -809,7 +926,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -826,8 +943,8 @@
 </div><div class="memdoc">
 <p>This is slow </p><dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">x</td><td>FF instance to be reduced mod m - on exit = x mod m </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">x</td><td>FF instance to be reduced mod p - on exit = x mod p </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1014,8 +1131,8 @@
 
 </div>
 </div>
-<a id="a6b7a3bbd385227b9c4292babb0ab6469"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6b7a3bbd385227b9c4292babb0ab6469">&#9670;&nbsp;</a></span>FF_3072_pow()</h2>
+<a id="a49e545443d4744967972aa4a3b49013b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a49e545443d4744967972aa4a3b49013b">&#9670;&nbsp;</a></span>FF_3072_pow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1042,7 +1159,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1062,7 +1179,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>FF exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1140,8 +1257,8 @@
 
 </div>
 </div>
-<a id="af854663f5413b0a941c83fe19a06d506"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af854663f5413b0a941c83fe19a06d506">&#9670;&nbsp;</a></span>FF_3072_power()</h2>
+<a id="a730ad50f9459f3b9ad1c5b51a36fdb91"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a730ad50f9459f3b9ad1c5b51a36fdb91">&#9670;&nbsp;</a></span>FF_3072_power()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1168,7 +1285,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1188,7 +1305,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>integer exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1435,8 +1552,8 @@
 
 </div>
 </div>
-<a id="a1998c3c4c38a3f46997b1243b53b4481"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1998c3c4c38a3f46997b1243b53b4481">&#9670;&nbsp;</a></span>FF_3072_skpow()</h2>
+<a id="a7de5ac4b05d29331ecdfca051de289aa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7de5ac4b05d29331ecdfca051de289aa">&#9670;&nbsp;</a></span>FF_3072_skpow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1463,13 +1580,19 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>en</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1483,16 +1606,94 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>FF exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+    <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr>
   </table>
   </dd>
 </dl>
 
 </div>
 </div>
-<a id="a381608fd407d688c2387f8597916f3ac"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a381608fd407d688c2387f8597916f3ac">&#9670;&nbsp;</a></span>FF_3072_skspow()</h2>
+<a id="a08f6181906f7778cf2241152c4504abe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08f6181906f7778cf2241152c4504abe">&#9670;&nbsp;</a></span>FF_3072_skpow2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_3072_skpow2 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>en</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>FF instance, on exit = x^e.y^f mod p </td></tr>
+    <tr><td class="paramname">x</td><td>FF instance </td></tr>
+    <tr><td class="paramname">e</td><td>FF exponent </td></tr>
+    <tr><td class="paramname">y</td><td>FF instance </td></tr>
+    <tr><td class="paramname">f</td><td>FF exponent </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+    <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a46d7f64a49cca34285e1c3f88c13472c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46d7f64a49cca34285e1c3f88c13472c">&#9670;&nbsp;</a></span>FF_3072_skspow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1519,7 +1720,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1539,7 +1740,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>BIG exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1720,7 +1921,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/ff__3072_8h_source.html b/website/static/cdocs/ff__3072_8h_source.html
index fa8a25c..b0b3519 100644
--- a/website/static/cdocs/ff__3072_8h_source.html
+++ b/website/static/cdocs/ff__3072_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: ff_3072.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,51 +72,54 @@
 <div class="title">ff_3072.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ff__3072_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 FF_3072_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FF_3072_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 &quot;<a class="code" href="big__384__56_8h.html">big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__ff__3072_8h.html">config_ff_3072.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a991a0cbc301024bc7d87b9acb0ba3848">   33</a></span>&#160;<span class="preprocessor">#define HFLEN_3072 (FFLEN_3072/2) </span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a913cc0005462d60030fd74480872b842">   34</a></span>&#160;<span class="preprocessor">#define P_MBITS_3072 (MODBYTES_384_56*8) </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#abc64851d800e9346f5cb224ed5993102">   35</a></span>&#160;<span class="preprocessor">#define P_TBITS_3072 (P_MBITS_3072%BASEBITS_384_56) </span></div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a4b6a94575f3a30ec24ee3082ba370da2">   36</a></span>&#160;<span class="preprocessor">#define P_EXCESS_3072(a) (((a[NLEN_384_56-1])&gt;&gt;(P_TBITS_3072))+1) </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a6adb5cd667354c85a5dfb6b2283538d1">   37</a></span>&#160;<span class="preprocessor">#define P_FEXCESS_3072 ((chunk)1&lt;&lt;(BASEBITS_384_56*NLEN_384_56-P_MBITS_3072-1)) </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="comment">/* Finite Field Prototypes */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1">FF_3072_copy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88">FF_3072_init</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a381f4e545dc7f1a358c4937ec8db4cd2">FF_3072_zero</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#a23ea956e002fe10e959129bbff836a88">FF_3072_iszilch</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#a134652d691699256b947e50877b61cf9">FF_3072_parity</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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="ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5">FF_3072_lastbits</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aeab149437c42eba4a31601170db373e4">FF_3072_one</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#aeb6d92db5f6702a1661f91c64589a00c">FF_3072_comp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#ad76acb0cb07c1278b342b99d4e46ed9a">FF_3072_add</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a90a27832117acd51620f205cd0a7fd66">FF_3072_sub</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a6dc03139ccfabea9f051a2dffb2b23ec">FF_3072_inc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab">FF_3072_dec</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#adbfb492cd0974a31a764877f4e29e902">FF_3072_norm</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a0f260e780e072e4a9a04b711890ffc97">FF_3072_shl</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b">FF_3072_shr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#af20dedd4fc082097038482e3dfda6c32">FF_3072_output</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a59b49a04db64211550a0cd8b81b1a286">FF_3072_rawoutput</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a072ac1dfb719d6cb4ade9bb45e7da60f">FF_3072_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</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="ff__3072_8h.html#a99e5ad673622637c7cabdf014b9eb23d">FF_3072_fromOctet</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">FF_3072_mul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#af06a6739f1c0bb51f0cd9781b8ef1792">FF_3072_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">FF_3072_sqr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<span class="keywordtype">int</span> n);</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="ff__3072_8h.html#a7cc5b1e476a2ec468fe2534cf64b3b70">FF_3072_dmod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">FF_3072_invmodp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7">FF_3072_random</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f">FF_3072_randomnum</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</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="ff__3072_8h.html#a1998c3c4c38a3f46997b1243b53b4481">FF_3072_skpow</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a381608fd407d688c2387f8597916f3ac">FF_3072_skspow</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m,<span class="keywordtype">int</span> n);</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="ff__3072_8h.html#af854663f5413b0a941c83fe19a06d506">FF_3072_power</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a6b7a3bbd385227b9c4292babb0ab6469">FF_3072_pow</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788">FF_3072_cfactor</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">FF_3072_prime</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">FF_3072_pow2</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ff__3072_8h_html_a99e5ad673622637c7cabdf014b9eb23d"><div class="ttname"><a href="ff__3072_8h.html#a99e5ad673622637c7cabdf014b9eb23d">FF_3072_fromOctet</a></div><div class="ttdeci">void FF_3072_fromOctet(BIG_384_56 *x, octet *S, int n)</div><div class="ttdoc">Populates an FF instance from an octet string.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a7cc5b1e476a2ec468fe2534cf64b3b70"><div class="ttname"><a href="ff__3072_8h.html#a7cc5b1e476a2ec468fe2534cf64b3b70">FF_3072_dmod</a></div><div class="ttdeci">void FF_3072_dmod(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">Reduces a double-length FF with respect to a given modulus.</div></div>
-<div class="ttc" id="ff__3072_8h_html_aeb6d92db5f6702a1661f91c64589a00c"><div class="ttname"><a href="ff__3072_8h.html#aeb6d92db5f6702a1661f91c64589a00c">FF_3072_comp</a></div><div class="ttdeci">int FF_3072_comp(BIG_384_56 *x, BIG_384_56 *y, int n)</div><div class="ttdoc">Compares two FF numbers. Inputs must be normalised externally.</div></div>
-<div class="ttc" id="ff__3072_8h_html_aa15d79eee17b711e569fb6817963c170"><div class="ttname"><a href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">FF_3072_mul</a></div><div class="ttdeci">void FF_3072_mul(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">Multiplication of two FFs.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a381f4e545dc7f1a358c4937ec8db4cd2"><div class="ttname"><a href="ff__3072_8h.html#a381f4e545dc7f1a358c4937ec8db4cd2">FF_3072_zero</a></div><div class="ttdeci">void FF_3072_zero(BIG_384_56 *x, int n)</div><div class="ttdoc">Set FF element of given size to zero.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a5710e195634f96bda5ae8a3b49d107b1"><div class="ttname"><a href="ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1">FF_3072_copy</a></div><div class="ttdeci">void FF_3072_copy(BIG_384_56 *x, BIG_384_56 *y, int n)</div><div class="ttdoc">Copy one FF element of given length to another.</div></div>
+<a href="ff__3072_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 FF_3072_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FF_3072_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 &quot;<a class="code" href="big__384__56_8h.html">big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__ff__3072_8h.html">config_ff_3072.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a991a0cbc301024bc7d87b9acb0ba3848">   33</a></span>&#160;<span class="preprocessor">#define HFLEN_3072 (FFLEN_3072/2) </span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a913cc0005462d60030fd74480872b842">   34</a></span>&#160;<span class="preprocessor">#define P_MBITS_3072 (MODBYTES_384_56*8) </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#abc64851d800e9346f5cb224ed5993102">   35</a></span>&#160;<span class="preprocessor">#define P_TBITS_3072 (P_MBITS_3072%BASEBITS_384_56) </span></div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a4b6a94575f3a30ec24ee3082ba370da2">   36</a></span>&#160;<span class="preprocessor">#define P_EXCESS_3072(a) (((a[NLEN_384_56-1])&gt;&gt;(P_TBITS_3072))+1) </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ff__3072_8h.html#a6adb5cd667354c85a5dfb6b2283538d1">   37</a></span>&#160;<span class="preprocessor">#define P_FEXCESS_3072 ((chunk)1&lt;&lt;(BASEBITS_384_56*NLEN_384_56-P_MBITS_3072-1)) </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="comment">/* Finite Field Prototypes */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1">FF_3072_copy</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88">FF_3072_init</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a381f4e545dc7f1a358c4937ec8db4cd2">FF_3072_zero</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#a23ea956e002fe10e959129bbff836a88">FF_3072_iszilch</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#a134652d691699256b947e50877b61cf9">FF_3072_parity</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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="ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5">FF_3072_lastbits</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aeab149437c42eba4a31601170db373e4">FF_3072_one</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#aeb6d92db5f6702a1661f91c64589a00c">FF_3072_comp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#ad76acb0cb07c1278b342b99d4e46ed9a">FF_3072_add</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a90a27832117acd51620f205cd0a7fd66">FF_3072_sub</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a6dc03139ccfabea9f051a2dffb2b23ec">FF_3072_inc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab">FF_3072_dec</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#adbfb492cd0974a31a764877f4e29e902">FF_3072_norm</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a0f260e780e072e4a9a04b711890ffc97">FF_3072_shl</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b">FF_3072_shr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#af20dedd4fc082097038482e3dfda6c32">FF_3072_output</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a59b49a04db64211550a0cd8b81b1a286">FF_3072_rawoutput</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a072ac1dfb719d6cb4ade9bb45e7da60f">FF_3072_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> n);</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="ff__3072_8h.html#a99e5ad673622637c7cabdf014b9eb23d">FF_3072_fromOctet</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">FF_3072_mul</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852">FF_3072_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">FF_3072_sqr</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<span class="keywordtype">int</span> n);</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="ff__3072_8h.html#a7cc5b1e476a2ec468fe2534cf64b3b70">FF_3072_dmod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">FF_3072_invmodp</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a">FF_3072_invmod2m</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> U[],<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> a[],<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7">FF_3072_random</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f">FF_3072_randomnum</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa">FF_3072_skpow</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p,<span class="keywordtype">int</span> n, <span class="keywordtype">int</span> en);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c">FF_3072_skspow</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe">FF_3072_skpow2</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *f, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> en);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91">FF_3072_power</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<span class="keywordtype">int</span> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b">FF_3072_pow</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">FF_3072_pow2</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788">FF_3072_cfactor</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">FF_3072_prime</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea">FF_3072_crt</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *rp, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *rq, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *q, <span class="keywordtype">int</span> n);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ff__3072_8h_html_a99e5ad673622637c7cabdf014b9eb23d"><div class="ttname"><a href="ff__3072_8h.html#a99e5ad673622637c7cabdf014b9eb23d">FF_3072_fromOctet</a></div><div class="ttdeci">void FF_3072_fromOctet(BIG_384_56 *x, octet *S, int n)</div><div class="ttdoc">Populates an FF instance from an octet string. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a7cc5b1e476a2ec468fe2534cf64b3b70"><div class="ttname"><a href="ff__3072_8h.html#a7cc5b1e476a2ec468fe2534cf64b3b70">FF_3072_dmod</a></div><div class="ttdeci">void FF_3072_dmod(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">Reduces a double-length FF with respect to a given modulus. </div></div>
+<div class="ttc" id="ff__3072_8h_html_aeb6d92db5f6702a1661f91c64589a00c"><div class="ttname"><a href="ff__3072_8h.html#aeb6d92db5f6702a1661f91c64589a00c">FF_3072_comp</a></div><div class="ttdeci">int FF_3072_comp(BIG_384_56 *x, BIG_384_56 *y, int n)</div><div class="ttdoc">Compares two FF numbers. Inputs must be normalised externally. </div></div>
+<div class="ttc" id="ff__3072_8h_html_aa15d79eee17b711e569fb6817963c170"><div class="ttname"><a href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">FF_3072_mul</a></div><div class="ttdeci">void FF_3072_mul(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">Multiplication of two FFs. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a7de5ac4b05d29331ecdfca051de289aa"><div class="ttname"><a href="ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa">FF_3072_skpow</a></div><div class="ttdeci">void FF_3072_skpow(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 *e, BIG_384_56 *p, int n, int en)</div><div class="ttdoc">Calculate r=x^e mod p, side channel resistant. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a381f4e545dc7f1a358c4937ec8db4cd2"><div class="ttname"><a href="ff__3072_8h.html#a381f4e545dc7f1a358c4937ec8db4cd2">FF_3072_zero</a></div><div class="ttdeci">void FF_3072_zero(BIG_384_56 *x, int n)</div><div class="ttdoc">Set FF element of given size to zero. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a5710e195634f96bda5ae8a3b49d107b1"><div class="ttname"><a href="ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1">FF_3072_copy</a></div><div class="ttdeci">void FF_3072_copy(BIG_384_56 *x, BIG_384_56 *y, int n)</div><div class="ttdoc">Copy one FF element of given length to another. </div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</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="ff__3072_8h_html_aae7ce5e4cea593280c782a135cef009d"><div class="ttname"><a href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">FF_3072_invmodp</a></div><div class="ttdeci">void FF_3072_invmodp(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">Invert an FF mod a prime modulus.</div></div>
-<div class="ttc" id="ff__3072_8h_html_aeb905b3272822708c9886676f3a3befd"><div class="ttname"><a href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">FF_3072_pow2</a></div><div class="ttdeci">void FF_3072_pow2(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 e, BIG_384_56 *y, BIG_384_56 f, BIG_384_56 *m, int n)</div><div class="ttdoc">Calculate r=x^e.y^f mod m.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a3279d3d0fe944c9e1d22ab30e23cb4a7"><div class="ttname"><a href="ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7">FF_3072_random</a></div><div class="ttdeci">void FF_3072_random(BIG_384_56 *x, csprng *R, int n)</div><div class="ttdoc">Create an FF from a random number generator.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a9e50c11b86dcc4089140221500e2ca30"><div class="ttname"><a href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">FF_3072_sqr</a></div><div class="ttdeci">void FF_3072_sqr(BIG_384_56 *x, BIG_384_56 *y, int n)</div><div class="ttdoc">Square an FF.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a0f260e780e072e4a9a04b711890ffc97"><div class="ttname"><a href="ff__3072_8h.html#a0f260e780e072e4a9a04b711890ffc97">FF_3072_shl</a></div><div class="ttdeci">void FF_3072_shl(BIG_384_56 *x, int n)</div><div class="ttdoc">Shift left an FF by 1 bit.</div></div>
-<div class="ttc" id="ff__3072_8h_html_ab1e8b486337df148dc80bd1d965fbd88"><div class="ttname"><a href="ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88">FF_3072_init</a></div><div class="ttdeci">void FF_3072_init(BIG_384_56 *x, sign32 m, int n)</div><div class="ttdoc">Initialize an FF element of given length from a 32-bit integer m.</div></div>
-<div class="ttc" id="ff__3072_8h_html_aeab149437c42eba4a31601170db373e4"><div class="ttname"><a href="ff__3072_8h.html#aeab149437c42eba4a31601170db373e4">FF_3072_one</a></div><div class="ttdeci">void FF_3072_one(BIG_384_56 *x, int n)</div><div class="ttdoc">Set FF element of given size to unity.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a134652d691699256b947e50877b61cf9"><div class="ttname"><a href="ff__3072_8h.html#a134652d691699256b947e50877b61cf9">FF_3072_parity</a></div><div class="ttdeci">int FF_3072_parity(BIG_384_56 *x)</div><div class="ttdoc">return parity of an FF, that is the least significant bit</div></div>
-<div class="ttc" id="ff__3072_8h_html_a1998c3c4c38a3f46997b1243b53b4481"><div class="ttname"><a href="ff__3072_8h.html#a1998c3c4c38a3f46997b1243b53b4481">FF_3072_skpow</a></div><div class="ttdeci">void FF_3072_skpow(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 *e, BIG_384_56 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m, side channel resistant.</div></div>
-<div class="ttc" id="ff__3072_8h_html_af854663f5413b0a941c83fe19a06d506"><div class="ttname"><a href="ff__3072_8h.html#af854663f5413b0a941c83fe19a06d506">FF_3072_power</a></div><div class="ttdeci">void FF_3072_power(BIG_384_56 *r, BIG_384_56 *x, int e, BIG_384_56 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m.</div></div>
-<div class="ttc" id="big__384__56_8h_html"><div class="ttname"><a href="big__384__56_8h.html">big_384_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="ff__3072_8h_html_aa1b20ede5ea8085fc5b09400d4f77a0b"><div class="ttname"><a href="ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b">FF_3072_shr</a></div><div class="ttdeci">void FF_3072_shr(BIG_384_56 *x, int n)</div><div class="ttdoc">Shift right an FF by 1 bit.</div></div>
-<div class="ttc" id="ff__3072_8h_html_af06a6739f1c0bb51f0cd9781b8ef1792"><div class="ttname"><a href="ff__3072_8h.html#af06a6739f1c0bb51f0cd9781b8ef1792">FF_3072_mod</a></div><div class="ttdeci">void FF_3072_mod(BIG_384_56 *x, BIG_384_56 *m, int n)</div><div class="ttdoc">Reduce FF mod a modulus.</div></div>
-<div class="ttc" id="ff__3072_8h_html_ac9d98be58c136ad84be65ccc1d537c5f"><div class="ttname"><a href="ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f">FF_3072_randomnum</a></div><div class="ttdeci">void FF_3072_randomnum(BIG_384_56 *x, BIG_384_56 *y, csprng *R, int n)</div><div class="ttdoc">Create a random FF less than a given modulus from a random number generator.</div></div>
-<div class="ttc" id="ff__3072_8h_html_af20dedd4fc082097038482e3dfda6c32"><div class="ttname"><a href="ff__3072_8h.html#af20dedd4fc082097038482e3dfda6c32">FF_3072_output</a></div><div class="ttdeci">void FF_3072_output(BIG_384_56 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a0b01ae2dd1452ad556d0fc7852e48bab"><div class="ttname"><a href="ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab">FF_3072_dec</a></div><div class="ttdeci">void FF_3072_dec(BIG_384_56 *x, int m, int n)</div><div class="ttdoc">Decrement an FF by an integer,and normalise.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a23ea956e002fe10e959129bbff836a88"><div class="ttname"><a href="ff__3072_8h.html#a23ea956e002fe10e959129bbff836a88">FF_3072_iszilch</a></div><div class="ttdeci">int FF_3072_iszilch(BIG_384_56 *x, int n)</div><div class="ttdoc">Tests for FF element equal to zero.</div></div>
-<div class="ttc" id="config__ff__3072_8h_html"><div class="ttname"><a href="config__ff__3072_8h.html">config_ff_3072.h</a></div><div class="ttdoc">COnfig FF Header File.</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="ff__3072_8h_html_aae7ce5e4cea593280c782a135cef009d"><div class="ttname"><a href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">FF_3072_invmodp</a></div><div class="ttdeci">void FF_3072_invmodp(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">Invert an FF mod a prime modulus. </div></div>
+<div class="ttc" id="ff__3072_8h_html_aeb905b3272822708c9886676f3a3befd"><div class="ttname"><a href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">FF_3072_pow2</a></div><div class="ttdeci">void FF_3072_pow2(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 e, BIG_384_56 *y, BIG_384_56 f, BIG_384_56 *m, int n)</div><div class="ttdoc">Calculate r=x^e.y^f mod m. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a49e545443d4744967972aa4a3b49013b"><div class="ttname"><a href="ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b">FF_3072_pow</a></div><div class="ttdeci">void FF_3072_pow(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 *e, BIG_384_56 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a3279d3d0fe944c9e1d22ab30e23cb4a7"><div class="ttname"><a href="ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7">FF_3072_random</a></div><div class="ttdeci">void FF_3072_random(BIG_384_56 *x, csprng *R, int n)</div><div class="ttdoc">Create an FF from a random number generator. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a9e50c11b86dcc4089140221500e2ca30"><div class="ttname"><a href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">FF_3072_sqr</a></div><div class="ttdeci">void FF_3072_sqr(BIG_384_56 *x, BIG_384_56 *y, int n)</div><div class="ttdoc">Square an FF. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a76ff21e47b57cfc4f5e33f7acbab95ea"><div class="ttname"><a href="ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea">FF_3072_crt</a></div><div class="ttdeci">void FF_3072_crt(BIG_384_56 *r, BIG_384_56 *rp, BIG_384_56 *rq, BIG_384_56 *p, BIG_384_56 *q, int n)</div><div class="ttdoc">Combine rp and rq using the Chinese Remainder Theorem. </div><div class="ttdef"><b>Definition:</b> ff_3072.c:1056</div></div>
+<div class="ttc" id="ff__3072_8h_html_a0f260e780e072e4a9a04b711890ffc97"><div class="ttname"><a href="ff__3072_8h.html#a0f260e780e072e4a9a04b711890ffc97">FF_3072_shl</a></div><div class="ttdeci">void FF_3072_shl(BIG_384_56 *x, int n)</div><div class="ttdoc">Shift left an FF by 1 bit. </div></div>
+<div class="ttc" id="ff__3072_8h_html_ab1e8b486337df148dc80bd1d965fbd88"><div class="ttname"><a href="ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88">FF_3072_init</a></div><div class="ttdeci">void FF_3072_init(BIG_384_56 *x, sign32 m, int n)</div><div class="ttdoc">Initialize an FF element of given length from a 32-bit integer m. </div></div>
+<div class="ttc" id="ff__3072_8h_html_aeab149437c42eba4a31601170db373e4"><div class="ttname"><a href="ff__3072_8h.html#aeab149437c42eba4a31601170db373e4">FF_3072_one</a></div><div class="ttdeci">void FF_3072_one(BIG_384_56 *x, int n)</div><div class="ttdoc">Set FF element of given size to unity. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a134652d691699256b947e50877b61cf9"><div class="ttname"><a href="ff__3072_8h.html#a134652d691699256b947e50877b61cf9">FF_3072_parity</a></div><div class="ttdeci">int FF_3072_parity(BIG_384_56 *x)</div><div class="ttdoc">return parity of an FF, that is the least significant bit </div></div>
+<div class="ttc" id="ff__3072_8h_html_a730ad50f9459f3b9ad1c5b51a36fdb91"><div class="ttname"><a href="ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91">FF_3072_power</a></div><div class="ttdeci">void FF_3072_power(BIG_384_56 *r, BIG_384_56 *x, int e, BIG_384_56 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p. </div></div>
+<div class="ttc" id="big__384__56_8h_html"><div class="ttname"><a href="big__384__56_8h.html">big_384_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="ff__3072_8h_html_aa1b20ede5ea8085fc5b09400d4f77a0b"><div class="ttname"><a href="ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b">FF_3072_shr</a></div><div class="ttdeci">void FF_3072_shr(BIG_384_56 *x, int n)</div><div class="ttdoc">Shift right an FF by 1 bit. </div></div>
+<div class="ttc" id="ff__3072_8h_html_ac9d98be58c136ad84be65ccc1d537c5f"><div class="ttname"><a href="ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f">FF_3072_randomnum</a></div><div class="ttdeci">void FF_3072_randomnum(BIG_384_56 *x, BIG_384_56 *y, csprng *R, int n)</div><div class="ttdoc">Create a random FF less than a given modulus from a random number generator. </div></div>
+<div class="ttc" id="ff__3072_8h_html_af20dedd4fc082097038482e3dfda6c32"><div class="ttname"><a href="ff__3072_8h.html#af20dedd4fc082097038482e3dfda6c32">FF_3072_output</a></div><div class="ttdeci">void FF_3072_output(BIG_384_56 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a0b01ae2dd1452ad556d0fc7852e48bab"><div class="ttname"><a href="ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab">FF_3072_dec</a></div><div class="ttdeci">void FF_3072_dec(BIG_384_56 *x, int m, int n)</div><div class="ttdoc">Decrement an FF by an integer,and normalise. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a23ea956e002fe10e959129bbff836a88"><div class="ttname"><a href="ff__3072_8h.html#a23ea956e002fe10e959129bbff836a88">FF_3072_iszilch</a></div><div class="ttdeci">int FF_3072_iszilch(BIG_384_56 *x, int n)</div><div class="ttdoc">Tests for FF element equal to zero. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a08f6181906f7778cf2241152c4504abe"><div class="ttname"><a href="ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe">FF_3072_skpow2</a></div><div class="ttdeci">void FF_3072_skpow2(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 *e, BIG_384_56 *y, BIG_384_56 *f, BIG_384_56 *p, int n, int en)</div><div class="ttdoc">Calculate r=x^e.y^f mod p for big e and f, side channel resistant. </div></div>
+<div class="ttc" id="config__ff__3072_8h_html"><div class="ttname"><a href="config__ff__3072_8h.html">config_ff_3072.h</a></div><div class="ttdoc">COnfig FF Header File. </div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="ff__3072_8h_html_af9ca6a2a8e19d16a0e3e5d7ff4161788"><div class="ttname"><a href="ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788">FF_3072_cfactor</a></div><div class="ttdeci">int FF_3072_cfactor(BIG_384_56 *x, sign32 s, int n)</div><div class="ttdoc">Test if an FF has factor in common with integer s.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a072ac1dfb719d6cb4ade9bb45e7da60f"><div class="ttname"><a href="ff__3072_8h.html#a072ac1dfb719d6cb4ade9bb45e7da60f">FF_3072_toOctet</a></div><div class="ttdeci">void FF_3072_toOctet(octet *S, BIG_384_56 *x, int n)</div><div class="ttdoc">Formats and outputs an FF instance to an octet string.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a90a27832117acd51620f205cd0a7fd66"><div class="ttname"><a href="ff__3072_8h.html#a90a27832117acd51620f205cd0a7fd66">FF_3072_sub</a></div><div class="ttdeci">void FF_3072_sub(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">subtraction of two FFs</div></div>
-<div class="ttc" id="ff__3072_8h_html_a381608fd407d688c2387f8597916f3ac"><div class="ttname"><a href="ff__3072_8h.html#a381608fd407d688c2387f8597916f3ac">FF_3072_skspow</a></div><div class="ttdeci">void FF_3072_skspow(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 e, BIG_384_56 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m, side channel resistant.</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="ff__3072_8h_html_ad76acb0cb07c1278b342b99d4e46ed9a"><div class="ttname"><a href="ff__3072_8h.html#ad76acb0cb07c1278b342b99d4e46ed9a">FF_3072_add</a></div><div class="ttdeci">void FF_3072_add(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">addition of two FFs</div></div>
-<div class="ttc" id="ff__3072_8h_html_abe0d54929a593c54b7bc4c76509f2dfb"><div class="ttname"><a href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">FF_3072_prime</a></div><div class="ttdeci">int FF_3072_prime(BIG_384_56 *x, csprng *R, int n)</div><div class="ttdoc">Test if an FF is prime.</div></div>
-<div class="ttc" id="ff__3072_8h_html_adbfb492cd0974a31a764877f4e29e902"><div class="ttname"><a href="ff__3072_8h.html#adbfb492cd0974a31a764877f4e29e902">FF_3072_norm</a></div><div class="ttdeci">void FF_3072_norm(BIG_384_56 *x, int n)</div><div class="ttdoc">Normalises the components of an FF.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a6b7a3bbd385227b9c4292babb0ab6469"><div class="ttname"><a href="ff__3072_8h.html#a6b7a3bbd385227b9c4292babb0ab6469">FF_3072_pow</a></div><div class="ttdeci">void FF_3072_pow(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 *e, BIG_384_56 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a231037055f11264bf1f18f878dd6f7d5"><div class="ttname"><a href="ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5">FF_3072_lastbits</a></div><div class="ttdeci">int FF_3072_lastbits(BIG_384_56 *x, int m)</div><div class="ttdoc">return least significant m bits of an FF</div></div>
-<div class="ttc" id="ff__3072_8h_html_a59b49a04db64211550a0cd8b81b1a286"><div class="ttname"><a href="ff__3072_8h.html#a59b49a04db64211550a0cd8b81b1a286">FF_3072_rawoutput</a></div><div class="ttdeci">void FF_3072_rawoutput(BIG_384_56 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console, in raw form.</div></div>
-<div class="ttc" id="ff__3072_8h_html_a6dc03139ccfabea9f051a2dffb2b23ec"><div class="ttname"><a href="ff__3072_8h.html#a6dc03139ccfabea9f051a2dffb2b23ec">FF_3072_inc</a></div><div class="ttdeci">void FF_3072_inc(BIG_384_56 *x, int m, int n)</div><div class="ttdoc">increment an FF by an integer,and normalise</div></div>
+<div class="ttc" id="ff__3072_8h_html_af9ca6a2a8e19d16a0e3e5d7ff4161788"><div class="ttname"><a href="ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788">FF_3072_cfactor</a></div><div class="ttdeci">int FF_3072_cfactor(BIG_384_56 *x, sign32 s, int n)</div><div class="ttdoc">Test if an FF has factor in common with integer s. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a072ac1dfb719d6cb4ade9bb45e7da60f"><div class="ttname"><a href="ff__3072_8h.html#a072ac1dfb719d6cb4ade9bb45e7da60f">FF_3072_toOctet</a></div><div class="ttdeci">void FF_3072_toOctet(octet *S, BIG_384_56 *x, int n)</div><div class="ttdoc">Formats and outputs an FF instance to an octet string. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a5afa3e952ac34ca7e73311135ed9fd4a"><div class="ttname"><a href="ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a">FF_3072_invmod2m</a></div><div class="ttdeci">void FF_3072_invmod2m(BIG_384_56 U[], BIG_384_56 a[], int n)</div><div class="ttdoc">Invert an FF mod 2^(n*BIGBITS) </div><div class="ttdef"><b>Definition:</b> ff_3072.c:638</div></div>
+<div class="ttc" id="ff__3072_8h_html_a90a27832117acd51620f205cd0a7fd66"><div class="ttname"><a href="ff__3072_8h.html#a90a27832117acd51620f205cd0a7fd66">FF_3072_sub</a></div><div class="ttdeci">void FF_3072_sub(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">subtraction of two FFs </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="ff__3072_8h_html_ad76acb0cb07c1278b342b99d4e46ed9a"><div class="ttname"><a href="ff__3072_8h.html#ad76acb0cb07c1278b342b99d4e46ed9a">FF_3072_add</a></div><div class="ttdeci">void FF_3072_add(BIG_384_56 *x, BIG_384_56 *y, BIG_384_56 *z, int n)</div><div class="ttdoc">addition of two FFs </div></div>
+<div class="ttc" id="ff__3072_8h_html_abe0d54929a593c54b7bc4c76509f2dfb"><div class="ttname"><a href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">FF_3072_prime</a></div><div class="ttdeci">int FF_3072_prime(BIG_384_56 *x, csprng *R, int n)</div><div class="ttdoc">Test if an FF is prime. </div></div>
+<div class="ttc" id="ff__3072_8h_html_adbfb492cd0974a31a764877f4e29e902"><div class="ttname"><a href="ff__3072_8h.html#adbfb492cd0974a31a764877f4e29e902">FF_3072_norm</a></div><div class="ttdeci">void FF_3072_norm(BIG_384_56 *x, int n)</div><div class="ttdoc">Normalises the components of an FF. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a231037055f11264bf1f18f878dd6f7d5"><div class="ttname"><a href="ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5">FF_3072_lastbits</a></div><div class="ttdeci">int FF_3072_lastbits(BIG_384_56 *x, int m)</div><div class="ttdoc">return least significant m bits of an FF </div></div>
+<div class="ttc" id="ff__3072_8h_html_a59b49a04db64211550a0cd8b81b1a286"><div class="ttname"><a href="ff__3072_8h.html#a59b49a04db64211550a0cd8b81b1a286">FF_3072_rawoutput</a></div><div class="ttdeci">void FF_3072_rawoutput(BIG_384_56 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console, in raw form. </div></div>
+<div class="ttc" id="ff__3072_8h_html_ab93c9e12ca505de7ec1b76987d922852"><div class="ttname"><a href="ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852">FF_3072_mod</a></div><div class="ttdeci">void FF_3072_mod(BIG_384_56 *x, BIG_384_56 *p, int n)</div><div class="ttdoc">Reduce FF mod a modulus. </div></div>
+<div class="ttc" id="ff__3072_8h_html_a6dc03139ccfabea9f051a2dffb2b23ec"><div class="ttname"><a href="ff__3072_8h.html#a6dc03139ccfabea9f051a2dffb2b23ec">FF_3072_inc</a></div><div class="ttdeci">void FF_3072_inc(BIG_384_56 *x, int m, int n)</div><div class="ttdoc">increment an FF by an integer,and normalise </div></div>
+<div class="ttc" id="ff__3072_8h_html_a46d7f64a49cca34285e1c3f88c13472c"><div class="ttname"><a href="ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c">FF_3072_skspow</a></div><div class="ttdeci">void FF_3072_skspow(BIG_384_56 *r, BIG_384_56 *x, BIG_384_56 e, BIG_384_56 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p, side channel resistant. </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/ff__4096_8h.html b/website/static/cdocs/ff__4096_8h.html
index d618c12..88033fb 100644
--- a/website/static/cdocs/ff__4096_8h.html
+++ b/website/static/cdocs/ff__4096_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: ff_4096.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"
@@ -155,9 +158,9 @@
 <tr class="memitem:a483766d396120e84c5f4962b3569e7c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4">FF_4096_mul</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z, int n)</td></tr>
 <tr class="memdesc:a483766d396120e84c5f4962b3569e7c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplication of two FFs.  <a href="#a483766d396120e84c5f4962b3569e7c4">More...</a><br /></td></tr>
 <tr class="separator:a483766d396120e84c5f4962b3569e7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a178303ff977c30fc108db4e98723d740"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a178303ff977c30fc108db4e98723d740">FF_4096_mod</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m, int n)</td></tr>
-<tr class="memdesc:a178303ff977c30fc108db4e98723d740"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce FF mod a modulus.  <a href="#a178303ff977c30fc108db4e98723d740">More...</a><br /></td></tr>
-<tr class="separator:a178303ff977c30fc108db4e98723d740"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a16098d5d71673da11edd1b112489e8d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a16098d5d71673da11edd1b112489e8d7">FF_4096_mod</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, int n)</td></tr>
+<tr class="memdesc:a16098d5d71673da11edd1b112489e8d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduce FF mod a modulus.  <a href="#a16098d5d71673da11edd1b112489e8d7">More...</a><br /></td></tr>
+<tr class="separator:a16098d5d71673da11edd1b112489e8d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:af7fd11300d70bbe3f080656cd2a13b10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10">FF_4096_sqr</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, int n)</td></tr>
 <tr class="memdesc:af7fd11300d70bbe3f080656cd2a13b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square an FF.  <a href="#af7fd11300d70bbe3f080656cd2a13b10">More...</a><br /></td></tr>
 <tr class="separator:af7fd11300d70bbe3f080656cd2a13b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -167,33 +170,42 @@
 <tr class="memitem:a85aa8045e50bea317275eb33bc6a1195"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195">FF_4096_invmodp</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z, int n)</td></tr>
 <tr class="memdesc:a85aa8045e50bea317275eb33bc6a1195"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert an FF mod a prime modulus.  <a href="#a85aa8045e50bea317275eb33bc6a1195">More...</a><br /></td></tr>
 <tr class="separator:a85aa8045e50bea317275eb33bc6a1195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae25e81829ee9ee3718606b771c6bddbe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#ae25e81829ee9ee3718606b771c6bddbe">FF_4096_invmod2m</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> U[], <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a[], int n)</td></tr>
+<tr class="memdesc:ae25e81829ee9ee3718606b771c6bddbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert an FF mod 2^(n*BIGBITS)  <a href="#ae25e81829ee9ee3718606b771c6bddbe">More...</a><br /></td></tr>
+<tr class="separator:ae25e81829ee9ee3718606b771c6bddbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ad3126be04cd16dc624d16a036ab40e0b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#ad3126be04cd16dc624d16a036ab40e0b">FF_4096_random</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:ad3126be04cd16dc624d16a036ab40e0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an FF from a random number generator.  <a href="#ad3126be04cd16dc624d16a036ab40e0b">More...</a><br /></td></tr>
 <tr class="separator:ad3126be04cd16dc624d16a036ab40e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac7521d5b55e6ceb1ad5ff6dde3245f78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#ac7521d5b55e6ceb1ad5ff6dde3245f78">FF_4096_randomnum</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:ac7521d5b55e6ceb1ad5ff6dde3245f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a random FF less than a given modulus from a random number generator.  <a href="#ac7521d5b55e6ceb1ad5ff6dde3245f78">More...</a><br /></td></tr>
 <tr class="separator:ac7521d5b55e6ceb1ad5ff6dde3245f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21e0d681199ce63714be3ed742c164d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a21e0d681199ce63714be3ed742c164d9">FF_4096_skpow</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m, int n)</td></tr>
-<tr class="memdesc:a21e0d681199ce63714be3ed742c164d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m, side channel resistant.  <a href="#a21e0d681199ce63714be3ed742c164d9">More...</a><br /></td></tr>
-<tr class="separator:a21e0d681199ce63714be3ed742c164d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6412d0214c61c25a6048e75eb76e5116"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a6412d0214c61c25a6048e75eb76e5116">FF_4096_skspow</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m, int n)</td></tr>
-<tr class="memdesc:a6412d0214c61c25a6048e75eb76e5116"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m, side channel resistant.  <a href="#a6412d0214c61c25a6048e75eb76e5116">More...</a><br /></td></tr>
-<tr class="separator:a6412d0214c61c25a6048e75eb76e5116"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab3592fd9ab13f4f517b076529a0e5f98"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#ab3592fd9ab13f4f517b076529a0e5f98">FF_4096_power</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, int e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m, int n)</td></tr>
-<tr class="memdesc:ab3592fd9ab13f4f517b076529a0e5f98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m.  <a href="#ab3592fd9ab13f4f517b076529a0e5f98">More...</a><br /></td></tr>
-<tr class="separator:ab3592fd9ab13f4f517b076529a0e5f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1db67329f43de1ad6e2b73d77e48451a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a1db67329f43de1ad6e2b73d77e48451a">FF_4096_pow</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m, int n)</td></tr>
-<tr class="memdesc:a1db67329f43de1ad6e2b73d77e48451a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod m.  <a href="#a1db67329f43de1ad6e2b73d77e48451a">More...</a><br /></td></tr>
-<tr class="separator:a1db67329f43de1ad6e2b73d77e48451a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94147045c8870761893c8be1ed1ac28f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a94147045c8870761893c8be1ed1ac28f">FF_4096_skpow</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, int n, int en)</td></tr>
+<tr class="memdesc:a94147045c8870761893c8be1ed1ac28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant.  <a href="#a94147045c8870761893c8be1ed1ac28f">More...</a><br /></td></tr>
+<tr class="separator:a94147045c8870761893c8be1ed1ac28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24cf9585b1c49a1ac674e0055ad41444"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a24cf9585b1c49a1ac674e0055ad41444">FF_4096_skspow</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, int n)</td></tr>
+<tr class="memdesc:a24cf9585b1c49a1ac674e0055ad41444"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant.  <a href="#a24cf9585b1c49a1ac674e0055ad41444">More...</a><br /></td></tr>
+<tr class="separator:a24cf9585b1c49a1ac674e0055ad41444"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6105e5392c6eb1ccefad29fcf6249d09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a6105e5392c6eb1ccefad29fcf6249d09">FF_4096_skpow2</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *f, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, int n, int en)</td></tr>
+<tr class="memdesc:a6105e5392c6eb1ccefad29fcf6249d09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod p for big e and f, side channel resistant.  <a href="#a6105e5392c6eb1ccefad29fcf6249d09">More...</a><br /></td></tr>
+<tr class="separator:a6105e5392c6eb1ccefad29fcf6249d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad607a8113dfc06ba2748acf6889ad6e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#ad607a8113dfc06ba2748acf6889ad6e2">FF_4096_power</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, int e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, int n)</td></tr>
+<tr class="memdesc:ad607a8113dfc06ba2748acf6889ad6e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p.  <a href="#ad607a8113dfc06ba2748acf6889ad6e2">More...</a><br /></td></tr>
+<tr class="separator:ad607a8113dfc06ba2748acf6889ad6e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86909027f6afe381756ee285d0140389"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a86909027f6afe381756ee285d0140389">FF_4096_pow</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, int n)</td></tr>
+<tr class="memdesc:a86909027f6afe381756ee285d0140389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e mod p.  <a href="#a86909027f6afe381756ee285d0140389">More...</a><br /></td></tr>
+<tr class="separator:a86909027f6afe381756ee285d0140389"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b4764f34fb655cd9e0515a0f70dd20d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">FF_4096_pow2</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> f, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m, int n)</td></tr>
+<tr class="memdesc:a6b4764f34fb655cd9e0515a0f70dd20d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod m.  <a href="#a6b4764f34fb655cd9e0515a0f70dd20d">More...</a><br /></td></tr>
+<tr class="separator:a6b4764f34fb655cd9e0515a0f70dd20d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a92c6e9c3e736e6ab4f0bffd91f6a78e5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a92c6e9c3e736e6ab4f0bffd91f6a78e5">FF_4096_cfactor</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s, int n)</td></tr>
 <tr class="memdesc:a92c6e9c3e736e6ab4f0bffd91f6a78e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if an FF has factor in common with integer s.  <a href="#a92c6e9c3e736e6ab4f0bffd91f6a78e5">More...</a><br /></td></tr>
 <tr class="separator:a92c6e9c3e736e6ab4f0bffd91f6a78e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0eb6f00726cef964a7276fd573d301ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba">FF_4096_prime</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr>
 <tr class="memdesc:a0eb6f00726cef964a7276fd573d301ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if an FF is prime.  <a href="#a0eb6f00726cef964a7276fd573d301ba">More...</a><br /></td></tr>
 <tr class="separator:a0eb6f00726cef964a7276fd573d301ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b4764f34fb655cd9e0515a0f70dd20d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">FF_4096_pow2</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> f, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m, int n)</td></tr>
-<tr class="memdesc:a6b4764f34fb655cd9e0515a0f70dd20d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate r=x^e.y^f mod m.  <a href="#a6b4764f34fb655cd9e0515a0f70dd20d">More...</a><br /></td></tr>
-<tr class="separator:a6b4764f34fb655cd9e0515a0f70dd20d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a06ae9c3226295b796b318746e19e21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ff__4096_8h.html#a1a06ae9c3226295b796b318746e19e21">FF_4096_crt</a> (<a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *rp, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *rq, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *q, int n)</td></tr>
+<tr class="memdesc:a1a06ae9c3226295b796b318746e19e21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combine rp and rq using the Chinese Remainder Theorem.  <a href="#a1a06ae9c3226295b796b318746e19e21">More...</a><br /></td></tr>
+<tr class="separator:a1a06ae9c3226295b796b318746e19e21"><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>
@@ -455,6 +467,69 @@
 
 </div>
 </div>
+<a id="a1a06ae9c3226295b796b318746e19e21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a06ae9c3226295b796b318746e19e21">&#9670;&nbsp;</a></span>FF_4096_crt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_4096_crt </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>rp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>rq</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>q</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">r</td><td>FF instance, on exit the solution of the system </td></tr>
+    <tr><td class="paramname">rp</td><td>FF instance, solution modulo p </td></tr>
+    <tr><td class="paramname">rq</td><td>FF instance, solution modulo q </td></tr>
+    <tr><td class="paramname">p</td><td>FF instance, MUST be coprime with q </td></tr>
+    <tr><td class="paramname">q</td><td>FF instance, MUST be coprime with p </td></tr>
+    <tr><td class="paramname">n</td><td>size of p and q in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a id="a9ff126587d142afb94e2269279db66d0"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a9ff126587d142afb94e2269279db66d0">&#9670;&nbsp;</a></span>FF_4096_dec()</h2>
 
@@ -672,6 +747,48 @@
 
 </div>
 </div>
+<a id="ae25e81829ee9ee3718606b771c6bddbe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae25e81829ee9ee3718606b771c6bddbe">&#9670;&nbsp;</a></span>FF_4096_invmod2m()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_4096_invmod2m </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>&#160;</td>
+          <td class="paramname"><em>U</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>&#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>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">U</td><td>FF instance, on exit 1/a mod 2^(n*BIGBITS) </td></tr>
+    <tr><td class="paramname">a</td><td>FF instance </td></tr>
+    <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a id="a85aa8045e50bea317275eb33bc6a1195"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a85aa8045e50bea317275eb33bc6a1195">&#9670;&nbsp;</a></span>FF_4096_invmodp()</h2>
 
@@ -793,8 +910,8 @@
 
 </div>
 </div>
-<a id="a178303ff977c30fc108db4e98723d740"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a178303ff977c30fc108db4e98723d740">&#9670;&nbsp;</a></span>FF_4096_mod()</h2>
+<a id="a16098d5d71673da11edd1b112489e8d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a16098d5d71673da11edd1b112489e8d7">&#9670;&nbsp;</a></span>FF_4096_mod()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -809,7 +926,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -826,8 +943,8 @@
 </div><div class="memdoc">
 <p>This is slow </p><dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">x</td><td>FF instance to be reduced mod m - on exit = x mod m </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">x</td><td>FF instance to be reduced mod p - on exit = x mod p </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1014,8 +1131,8 @@
 
 </div>
 </div>
-<a id="a1db67329f43de1ad6e2b73d77e48451a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1db67329f43de1ad6e2b73d77e48451a">&#9670;&nbsp;</a></span>FF_4096_pow()</h2>
+<a id="a86909027f6afe381756ee285d0140389"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a86909027f6afe381756ee285d0140389">&#9670;&nbsp;</a></span>FF_4096_pow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1042,7 +1159,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1062,7 +1179,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>FF exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1140,8 +1257,8 @@
 
 </div>
 </div>
-<a id="ab3592fd9ab13f4f517b076529a0e5f98"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab3592fd9ab13f4f517b076529a0e5f98">&#9670;&nbsp;</a></span>FF_4096_power()</h2>
+<a id="ad607a8113dfc06ba2748acf6889ad6e2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad607a8113dfc06ba2748acf6889ad6e2">&#9670;&nbsp;</a></span>FF_4096_power()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1168,7 +1285,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1188,7 +1305,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>integer exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1435,8 +1552,8 @@
 
 </div>
 </div>
-<a id="a21e0d681199ce63714be3ed742c164d9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a21e0d681199ce63714be3ed742c164d9">&#9670;&nbsp;</a></span>FF_4096_skpow()</h2>
+<a id="a94147045c8870761893c8be1ed1ac28f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a94147045c8870761893c8be1ed1ac28f">&#9670;&nbsp;</a></span>FF_4096_skpow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1463,13 +1580,19 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>en</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
@@ -1483,16 +1606,94 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>FF exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+    <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr>
   </table>
   </dd>
 </dl>
 
 </div>
 </div>
-<a id="a6412d0214c61c25a6048e75eb76e5116"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a6412d0214c61c25a6048e75eb76e5116">&#9670;&nbsp;</a></span>FF_4096_skspow()</h2>
+<a id="a6105e5392c6eb1ccefad29fcf6249d09"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6105e5392c6eb1ccefad29fcf6249d09">&#9670;&nbsp;</a></span>FF_4096_skpow2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void FF_4096_skpow2 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>n</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>en</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>FF instance, on exit = x^e.y^f mod p </td></tr>
+    <tr><td class="paramname">x</td><td>FF instance </td></tr>
+    <tr><td class="paramname">e</td><td>FF exponent </td></tr>
+    <tr><td class="paramname">y</td><td>FF instance </td></tr>
+    <tr><td class="paramname">f</td><td>FF exponent </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
+    <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a24cf9585b1c49a1ac674e0055ad41444"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a24cf9585b1c49a1ac674e0055ad41444">&#9670;&nbsp;</a></span>FF_4096_skspow()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -1519,7 +1720,7 @@
           <td class="paramkey"></td>
           <td></td>
           <td class="paramtype"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
+          <td class="paramname"><em>p</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
@@ -1539,7 +1740,7 @@
     <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr>
     <tr><td class="paramname">x</td><td>FF instance </td></tr>
     <tr><td class="paramname">e</td><td>BIG exponent </td></tr>
-    <tr><td class="paramname">m</td><td>FF modulus </td></tr>
+    <tr><td class="paramname">p</td><td>FF modulus </td></tr>
     <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr>
   </table>
   </dd>
@@ -1720,7 +1921,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/ff__4096_8h_source.html b/website/static/cdocs/ff__4096_8h_source.html
index 1ad2249..1f2c80d 100644
--- a/website/static/cdocs/ff__4096_8h_source.html
+++ b/website/static/cdocs/ff__4096_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: ff_4096.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,51 +72,54 @@
 <div class="title">ff_4096.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="ff__4096_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 FF_4096_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FF_4096_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 &quot;<a class="code" href="big__512__60_8h.html">big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__ff__4096_8h.html">config_ff_4096.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11">   33</a></span>&#160;<span class="preprocessor">#define HFLEN_4096 (FFLEN_4096/2) </span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a2a5eefc75994091eb32c356d2ac4ef74">   34</a></span>&#160;<span class="preprocessor">#define P_MBITS_4096 (MODBYTES_512_60*8) </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a5ba9da7c29e141e405df229d57698561">   35</a></span>&#160;<span class="preprocessor">#define P_TBITS_4096 (P_MBITS_4096%BASEBITS_512_60) </span></div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a07368efd518f012615129b503e86071a">   36</a></span>&#160;<span class="preprocessor">#define P_EXCESS_4096(a) (((a[NLEN_512_60-1])&gt;&gt;(P_TBITS_4096))+1) </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a99298f8dcffe9f3fc923400b35d7a931">   37</a></span>&#160;<span class="preprocessor">#define P_FEXCESS_4096 ((chunk)1&lt;&lt;(BASEBITS_512_60*NLEN_512_60-P_MBITS_4096-1)) </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="comment">/* Finite Field Prototypes */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef">FF_4096_copy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86">FF_4096_init</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a820d4aa699f06e9f4dd0ab9af33971ef">FF_4096_zero</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a612661860d5a10326a7d1d9bd9fc042a">FF_4096_iszilch</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73">FF_4096_parity</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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="ff__4096_8h.html#a370584bba01616d2f9183f45a9843892">FF_4096_lastbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ab1b30b23b1045f3895b332de9c998cb9">FF_4096_one</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a73d3c33052d89ca0dee0fb26c4fc2217">FF_4096_comp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a09fd9cdc5655d0a2e1090e527deadf11">FF_4096_add</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a83e69edebd0e5bf47cdcca2ef66448b3">FF_4096_sub</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a04e75ee7ab59343fb307f1117770efae">FF_4096_inc</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0">FF_4096_dec</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a44d26e71554c346b873fc9392b216bbe">FF_4096_norm</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ab541ed2980cbc85257629b615e462180">FF_4096_shl</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c">FF_4096_shr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ad08b440a6bd16506069fe9a5a3f81a6b">FF_4096_output</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a1f089c038088d203953933028c17590c">FF_4096_rawoutput</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#affe535d1298125ecf39b6b19d3d5339c">FF_4096_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</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="ff__4096_8h.html#a3dd8e90c99742c0448834110713d0e8b">FF_4096_fromOctet</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4">FF_4096_mul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a178303ff977c30fc108db4e98723d740">FF_4096_mod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10">FF_4096_sqr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<span class="keywordtype">int</span> n);</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="ff__4096_8h.html#ad38c38a2d6c7117387bfe65f404ac903">FF_4096_dmod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195">FF_4096_invmodp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ad3126be04cd16dc624d16a036ab40e0b">FF_4096_random</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ac7521d5b55e6ceb1ad5ff6dde3245f78">FF_4096_randomnum</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</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="ff__4096_8h.html#a21e0d681199ce63714be3ed742c164d9">FF_4096_skpow</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> * e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a6412d0214c61c25a6048e75eb76e5116">FF_4096_skspow</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m,<span class="keywordtype">int</span> n);</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="ff__4096_8h.html#ab3592fd9ab13f4f517b076529a0e5f98">FF_4096_power</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a1db67329f43de1ad6e2b73d77e48451a">FF_4096_pow</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a92c6e9c3e736e6ab4f0bffd91f6a78e5">FF_4096_cfactor</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba">FF_4096_prime</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">FF_4096_pow2</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> f,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ff__4096_8h_html_a820d4aa699f06e9f4dd0ab9af33971ef"><div class="ttname"><a href="ff__4096_8h.html#a820d4aa699f06e9f4dd0ab9af33971ef">FF_4096_zero</a></div><div class="ttdeci">void FF_4096_zero(BIG_512_60 *x, int n)</div><div class="ttdoc">Set FF element of given size to zero.</div></div>
+<a href="ff__4096_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 FF_4096_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FF_4096_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 &quot;<a class="code" href="big__512__60_8h.html">big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="config__ff__4096_8h.html">config_ff_4096.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11">   33</a></span>&#160;<span class="preprocessor">#define HFLEN_4096 (FFLEN_4096/2) </span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a2a5eefc75994091eb32c356d2ac4ef74">   34</a></span>&#160;<span class="preprocessor">#define P_MBITS_4096 (MODBYTES_512_60*8) </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a5ba9da7c29e141e405df229d57698561">   35</a></span>&#160;<span class="preprocessor">#define P_TBITS_4096 (P_MBITS_4096%BASEBITS_512_60) </span></div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a07368efd518f012615129b503e86071a">   36</a></span>&#160;<span class="preprocessor">#define P_EXCESS_4096(a) (((a[NLEN_512_60-1])&gt;&gt;(P_TBITS_4096))+1) </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ff__4096_8h.html#a99298f8dcffe9f3fc923400b35d7a931">   37</a></span>&#160;<span class="preprocessor">#define P_FEXCESS_4096 ((chunk)1&lt;&lt;(BASEBITS_512_60*NLEN_512_60-P_MBITS_4096-1)) </span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="comment">/* Finite Field Prototypes */</span><span class="preprocessor"></span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef">FF_4096_copy</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86">FF_4096_init</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a820d4aa699f06e9f4dd0ab9af33971ef">FF_4096_zero</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a612661860d5a10326a7d1d9bd9fc042a">FF_4096_iszilch</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73">FF_4096_parity</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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="ff__4096_8h.html#a370584bba01616d2f9183f45a9843892">FF_4096_lastbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> m);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ab1b30b23b1045f3895b332de9c998cb9">FF_4096_one</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a73d3c33052d89ca0dee0fb26c4fc2217">FF_4096_comp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a09fd9cdc5655d0a2e1090e527deadf11">FF_4096_add</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a83e69edebd0e5bf47cdcca2ef66448b3">FF_4096_sub</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a04e75ee7ab59343fb307f1117770efae">FF_4096_inc</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0">FF_4096_dec</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a44d26e71554c346b873fc9392b216bbe">FF_4096_norm</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ab541ed2980cbc85257629b615e462180">FF_4096_shl</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c">FF_4096_shr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ad08b440a6bd16506069fe9a5a3f81a6b">FF_4096_output</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a1f089c038088d203953933028c17590c">FF_4096_rawoutput</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#affe535d1298125ecf39b6b19d3d5339c">FF_4096_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> n);</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="ff__4096_8h.html#a3dd8e90c99742c0448834110713d0e8b">FF_4096_fromOctet</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4">FF_4096_mul</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a16098d5d71673da11edd1b112489e8d7">FF_4096_mod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10">FF_4096_sqr</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<span class="keywordtype">int</span> n);</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="ff__4096_8h.html#ad38c38a2d6c7117387bfe65f404ac903">FF_4096_dmod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195">FF_4096_invmodp</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *z,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ae25e81829ee9ee3718606b771c6bddbe">FF_4096_invmod2m</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> U[],<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a[],<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ad3126be04cd16dc624d16a036ab40e0b">FF_4096_random</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ac7521d5b55e6ceb1ad5ff6dde3245f78">FF_4096_randomnum</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a94147045c8870761893c8be1ed1ac28f">FF_4096_skpow</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> * e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p,<span class="keywordtype">int</span> n, <span class="keywordtype">int</span> en);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a24cf9585b1c49a1ac674e0055ad41444">FF_4096_skspow</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a6105e5392c6eb1ccefad29fcf6249d09">FF_4096_skpow2</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *f, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span> en);</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#ad607a8113dfc06ba2748acf6889ad6e2">FF_4096_power</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<span class="keywordtype">int</span> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a86909027f6afe381756ee285d0140389">FF_4096_pow</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">FF_4096_pow2</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> f,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *m,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a92c6e9c3e736e6ab4f0bffd91f6a78e5">FF_4096_cfactor</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba">FF_4096_prime</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="ff__4096_8h.html#a1a06ae9c3226295b796b318746e19e21">FF_4096_crt</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *r, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *rp, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *rq, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *p, <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *q, <span class="keywordtype">int</span> n);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ff__4096_8h_html_a820d4aa699f06e9f4dd0ab9af33971ef"><div class="ttname"><a href="ff__4096_8h.html#a820d4aa699f06e9f4dd0ab9af33971ef">FF_4096_zero</a></div><div class="ttdeci">void FF_4096_zero(BIG_512_60 *x, int n)</div><div class="ttdoc">Set FF element of given size to zero. </div></div>
 <div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="ff__4096_8h_html_a6b4764f34fb655cd9e0515a0f70dd20d"><div class="ttname"><a href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">FF_4096_pow2</a></div><div class="ttdeci">void FF_4096_pow2(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 e, BIG_512_60 *y, BIG_512_60 f, BIG_512_60 *m, int n)</div><div class="ttdoc">Calculate r=x^e.y^f mod m.</div></div>
-<div class="ttc" id="big__512__60_8h_html"><div class="ttname"><a href="big__512__60_8h.html">big_512_60.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a44d26e71554c346b873fc9392b216bbe"><div class="ttname"><a href="ff__4096_8h.html#a44d26e71554c346b873fc9392b216bbe">FF_4096_norm</a></div><div class="ttdeci">void FF_4096_norm(BIG_512_60 *x, int n)</div><div class="ttdoc">Normalises the components of an FF.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a1db67329f43de1ad6e2b73d77e48451a"><div class="ttname"><a href="ff__4096_8h.html#a1db67329f43de1ad6e2b73d77e48451a">FF_4096_pow</a></div><div class="ttdeci">void FF_4096_pow(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 *e, BIG_512_60 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m.</div></div>
-<div class="ttc" id="ff__4096_8h_html_ad3126be04cd16dc624d16a036ab40e0b"><div class="ttname"><a href="ff__4096_8h.html#ad3126be04cd16dc624d16a036ab40e0b">FF_4096_random</a></div><div class="ttdeci">void FF_4096_random(BIG_512_60 *x, csprng *R, int n)</div><div class="ttdoc">Create an FF from a random number generator.</div></div>
-<div class="ttc" id="config__ff__4096_8h_html"><div class="ttname"><a href="config__ff__4096_8h.html">config_ff_4096.h</a></div><div class="ttdoc">COnfig FF Header File.</div></div>
-<div class="ttc" id="ff__4096_8h_html_ac7521d5b55e6ceb1ad5ff6dde3245f78"><div class="ttname"><a href="ff__4096_8h.html#ac7521d5b55e6ceb1ad5ff6dde3245f78">FF_4096_randomnum</a></div><div class="ttdeci">void FF_4096_randomnum(BIG_512_60 *x, BIG_512_60 *y, csprng *R, int n)</div><div class="ttdoc">Create a random FF less than a given modulus from a random number generator.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a09fd9cdc5655d0a2e1090e527deadf11"><div class="ttname"><a href="ff__4096_8h.html#a09fd9cdc5655d0a2e1090e527deadf11">FF_4096_add</a></div><div class="ttdeci">void FF_4096_add(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">addition of two FFs</div></div>
-<div class="ttc" id="ff__4096_8h_html_ab541ed2980cbc85257629b615e462180"><div class="ttname"><a href="ff__4096_8h.html#ab541ed2980cbc85257629b615e462180">FF_4096_shl</a></div><div class="ttdeci">void FF_4096_shl(BIG_512_60 *x, int n)</div><div class="ttdoc">Shift left an FF by 1 bit.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a0eb6f00726cef964a7276fd573d301ba"><div class="ttname"><a href="ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba">FF_4096_prime</a></div><div class="ttdeci">int FF_4096_prime(BIG_512_60 *x, csprng *R, int n)</div><div class="ttdoc">Test if an FF is prime.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a1f089c038088d203953933028c17590c"><div class="ttname"><a href="ff__4096_8h.html#a1f089c038088d203953933028c17590c">FF_4096_rawoutput</a></div><div class="ttdeci">void FF_4096_rawoutput(BIG_512_60 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console, in raw form.</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="ff__4096_8h_html_ad08b440a6bd16506069fe9a5a3f81a6b"><div class="ttname"><a href="ff__4096_8h.html#ad08b440a6bd16506069fe9a5a3f81a6b">FF_4096_output</a></div><div class="ttdeci">void FF_4096_output(BIG_512_60 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a73d3c33052d89ca0dee0fb26c4fc2217"><div class="ttname"><a href="ff__4096_8h.html#a73d3c33052d89ca0dee0fb26c4fc2217">FF_4096_comp</a></div><div class="ttdeci">int FF_4096_comp(BIG_512_60 *x, BIG_512_60 *y, int n)</div><div class="ttdoc">Compares two FF numbers. Inputs must be normalised externally.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a6412d0214c61c25a6048e75eb76e5116"><div class="ttname"><a href="ff__4096_8h.html#a6412d0214c61c25a6048e75eb76e5116">FF_4096_skspow</a></div><div class="ttdeci">void FF_4096_skspow(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 e, BIG_512_60 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m, side channel resistant.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a9ff126587d142afb94e2269279db66d0"><div class="ttname"><a href="ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0">FF_4096_dec</a></div><div class="ttdeci">void FF_4096_dec(BIG_512_60 *x, int m, int n)</div><div class="ttdoc">Decrement an FF by an integer,and normalise.</div></div>
-<div class="ttc" id="ff__4096_8h_html_ab3592fd9ab13f4f517b076529a0e5f98"><div class="ttname"><a href="ff__4096_8h.html#ab3592fd9ab13f4f517b076529a0e5f98">FF_4096_power</a></div><div class="ttdeci">void FF_4096_power(BIG_512_60 *r, BIG_512_60 *x, int e, BIG_512_60 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m.</div></div>
-<div class="ttc" id="ff__4096_8h_html_ab1b30b23b1045f3895b332de9c998cb9"><div class="ttname"><a href="ff__4096_8h.html#ab1b30b23b1045f3895b332de9c998cb9">FF_4096_one</a></div><div class="ttdeci">void FF_4096_one(BIG_512_60 *x, int n)</div><div class="ttdoc">Set FF element of given size to unity.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a92c6e9c3e736e6ab4f0bffd91f6a78e5"><div class="ttname"><a href="ff__4096_8h.html#a92c6e9c3e736e6ab4f0bffd91f6a78e5">FF_4096_cfactor</a></div><div class="ttdeci">int FF_4096_cfactor(BIG_512_60 *x, sign32 s, int n)</div><div class="ttdoc">Test if an FF has factor in common with integer s.</div></div>
-<div class="ttc" id="ff__4096_8h_html_ad38c38a2d6c7117387bfe65f404ac903"><div class="ttname"><a href="ff__4096_8h.html#ad38c38a2d6c7117387bfe65f404ac903">FF_4096_dmod</a></div><div class="ttdeci">void FF_4096_dmod(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">Reduces a double-length FF with respect to a given modulus.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a370584bba01616d2f9183f45a9843892"><div class="ttname"><a href="ff__4096_8h.html#a370584bba01616d2f9183f45a9843892">FF_4096_lastbits</a></div><div class="ttdeci">int FF_4096_lastbits(BIG_512_60 *x, int m)</div><div class="ttdoc">return least significant m bits of an FF</div></div>
-<div class="ttc" id="ff__4096_8h_html_a85aa8045e50bea317275eb33bc6a1195"><div class="ttname"><a href="ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195">FF_4096_invmodp</a></div><div class="ttdeci">void FF_4096_invmodp(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">Invert an FF mod a prime modulus.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a04e75ee7ab59343fb307f1117770efae"><div class="ttname"><a href="ff__4096_8h.html#a04e75ee7ab59343fb307f1117770efae">FF_4096_inc</a></div><div class="ttdeci">void FF_4096_inc(BIG_512_60 *x, int m, int n)</div><div class="ttdoc">increment an FF by an integer,and normalise</div></div>
-<div class="ttc" id="ff__4096_8h_html_a483766d396120e84c5f4962b3569e7c4"><div class="ttname"><a href="ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4">FF_4096_mul</a></div><div class="ttdeci">void FF_4096_mul(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">Multiplication of two FFs.</div></div>
-<div class="ttc" id="ff__4096_8h_html_af7fd11300d70bbe3f080656cd2a13b10"><div class="ttname"><a href="ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10">FF_4096_sqr</a></div><div class="ttdeci">void FF_4096_sqr(BIG_512_60 *x, BIG_512_60 *y, int n)</div><div class="ttdoc">Square an FF.</div></div>
+<div class="ttc" id="ff__4096_8h_html_a6b4764f34fb655cd9e0515a0f70dd20d"><div class="ttname"><a href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">FF_4096_pow2</a></div><div class="ttdeci">void FF_4096_pow2(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 e, BIG_512_60 *y, BIG_512_60 f, BIG_512_60 *m, int n)</div><div class="ttdoc">Calculate r=x^e.y^f mod m. </div></div>
+<div class="ttc" id="big__512__60_8h_html"><div class="ttname"><a href="big__512__60_8h.html">big_512_60.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a44d26e71554c346b873fc9392b216bbe"><div class="ttname"><a href="ff__4096_8h.html#a44d26e71554c346b873fc9392b216bbe">FF_4096_norm</a></div><div class="ttdeci">void FF_4096_norm(BIG_512_60 *x, int n)</div><div class="ttdoc">Normalises the components of an FF. </div></div>
+<div class="ttc" id="ff__4096_8h_html_ad3126be04cd16dc624d16a036ab40e0b"><div class="ttname"><a href="ff__4096_8h.html#ad3126be04cd16dc624d16a036ab40e0b">FF_4096_random</a></div><div class="ttdeci">void FF_4096_random(BIG_512_60 *x, csprng *R, int n)</div><div class="ttdoc">Create an FF from a random number generator. </div></div>
+<div class="ttc" id="config__ff__4096_8h_html"><div class="ttname"><a href="config__ff__4096_8h.html">config_ff_4096.h</a></div><div class="ttdoc">COnfig FF Header File. </div></div>
+<div class="ttc" id="ff__4096_8h_html_ac7521d5b55e6ceb1ad5ff6dde3245f78"><div class="ttname"><a href="ff__4096_8h.html#ac7521d5b55e6ceb1ad5ff6dde3245f78">FF_4096_randomnum</a></div><div class="ttdeci">void FF_4096_randomnum(BIG_512_60 *x, BIG_512_60 *y, csprng *R, int n)</div><div class="ttdoc">Create a random FF less than a given modulus from a random number generator. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a09fd9cdc5655d0a2e1090e527deadf11"><div class="ttname"><a href="ff__4096_8h.html#a09fd9cdc5655d0a2e1090e527deadf11">FF_4096_add</a></div><div class="ttdeci">void FF_4096_add(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">addition of two FFs </div></div>
+<div class="ttc" id="ff__4096_8h_html_ab541ed2980cbc85257629b615e462180"><div class="ttname"><a href="ff__4096_8h.html#ab541ed2980cbc85257629b615e462180">FF_4096_shl</a></div><div class="ttdeci">void FF_4096_shl(BIG_512_60 *x, int n)</div><div class="ttdoc">Shift left an FF by 1 bit. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a0eb6f00726cef964a7276fd573d301ba"><div class="ttname"><a href="ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba">FF_4096_prime</a></div><div class="ttdeci">int FF_4096_prime(BIG_512_60 *x, csprng *R, int n)</div><div class="ttdoc">Test if an FF is prime. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a1f089c038088d203953933028c17590c"><div class="ttname"><a href="ff__4096_8h.html#a1f089c038088d203953933028c17590c">FF_4096_rawoutput</a></div><div class="ttdeci">void FF_4096_rawoutput(BIG_512_60 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console, in raw form. </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="ff__4096_8h_html_ad08b440a6bd16506069fe9a5a3f81a6b"><div class="ttname"><a href="ff__4096_8h.html#ad08b440a6bd16506069fe9a5a3f81a6b">FF_4096_output</a></div><div class="ttdeci">void FF_4096_output(BIG_512_60 *x, int n)</div><div class="ttdoc">Formats and outputs an FF to the console. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a1a06ae9c3226295b796b318746e19e21"><div class="ttname"><a href="ff__4096_8h.html#a1a06ae9c3226295b796b318746e19e21">FF_4096_crt</a></div><div class="ttdeci">void FF_4096_crt(BIG_512_60 *r, BIG_512_60 *rp, BIG_512_60 *rq, BIG_512_60 *p, BIG_512_60 *q, int n)</div><div class="ttdoc">Combine rp and rq using the Chinese Remainder Theorem. </div><div class="ttdef"><b>Definition:</b> ff_4096.c:1056</div></div>
+<div class="ttc" id="ff__4096_8h_html_a73d3c33052d89ca0dee0fb26c4fc2217"><div class="ttname"><a href="ff__4096_8h.html#a73d3c33052d89ca0dee0fb26c4fc2217">FF_4096_comp</a></div><div class="ttdeci">int FF_4096_comp(BIG_512_60 *x, BIG_512_60 *y, int n)</div><div class="ttdoc">Compares two FF numbers. Inputs must be normalised externally. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a16098d5d71673da11edd1b112489e8d7"><div class="ttname"><a href="ff__4096_8h.html#a16098d5d71673da11edd1b112489e8d7">FF_4096_mod</a></div><div class="ttdeci">void FF_4096_mod(BIG_512_60 *x, BIG_512_60 *p, int n)</div><div class="ttdoc">Reduce FF mod a modulus. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a9ff126587d142afb94e2269279db66d0"><div class="ttname"><a href="ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0">FF_4096_dec</a></div><div class="ttdeci">void FF_4096_dec(BIG_512_60 *x, int m, int n)</div><div class="ttdoc">Decrement an FF by an integer,and normalise. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a86909027f6afe381756ee285d0140389"><div class="ttname"><a href="ff__4096_8h.html#a86909027f6afe381756ee285d0140389">FF_4096_pow</a></div><div class="ttdeci">void FF_4096_pow(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 *e, BIG_512_60 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p. </div></div>
+<div class="ttc" id="ff__4096_8h_html_ae25e81829ee9ee3718606b771c6bddbe"><div class="ttname"><a href="ff__4096_8h.html#ae25e81829ee9ee3718606b771c6bddbe">FF_4096_invmod2m</a></div><div class="ttdeci">void FF_4096_invmod2m(BIG_512_60 U[], BIG_512_60 a[], int n)</div><div class="ttdoc">Invert an FF mod 2^(n*BIGBITS) </div><div class="ttdef"><b>Definition:</b> ff_4096.c:638</div></div>
+<div class="ttc" id="ff__4096_8h_html_ab1b30b23b1045f3895b332de9c998cb9"><div class="ttname"><a href="ff__4096_8h.html#ab1b30b23b1045f3895b332de9c998cb9">FF_4096_one</a></div><div class="ttdeci">void FF_4096_one(BIG_512_60 *x, int n)</div><div class="ttdoc">Set FF element of given size to unity. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a92c6e9c3e736e6ab4f0bffd91f6a78e5"><div class="ttname"><a href="ff__4096_8h.html#a92c6e9c3e736e6ab4f0bffd91f6a78e5">FF_4096_cfactor</a></div><div class="ttdeci">int FF_4096_cfactor(BIG_512_60 *x, sign32 s, int n)</div><div class="ttdoc">Test if an FF has factor in common with integer s. </div></div>
+<div class="ttc" id="ff__4096_8h_html_ad38c38a2d6c7117387bfe65f404ac903"><div class="ttname"><a href="ff__4096_8h.html#ad38c38a2d6c7117387bfe65f404ac903">FF_4096_dmod</a></div><div class="ttdeci">void FF_4096_dmod(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">Reduces a double-length FF with respect to a given modulus. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a370584bba01616d2f9183f45a9843892"><div class="ttname"><a href="ff__4096_8h.html#a370584bba01616d2f9183f45a9843892">FF_4096_lastbits</a></div><div class="ttdeci">int FF_4096_lastbits(BIG_512_60 *x, int m)</div><div class="ttdoc">return least significant m bits of an FF </div></div>
+<div class="ttc" id="ff__4096_8h_html_a85aa8045e50bea317275eb33bc6a1195"><div class="ttname"><a href="ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195">FF_4096_invmodp</a></div><div class="ttdeci">void FF_4096_invmodp(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">Invert an FF mod a prime modulus. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a6105e5392c6eb1ccefad29fcf6249d09"><div class="ttname"><a href="ff__4096_8h.html#a6105e5392c6eb1ccefad29fcf6249d09">FF_4096_skpow2</a></div><div class="ttdeci">void FF_4096_skpow2(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 *e, BIG_512_60 *y, BIG_512_60 *f, BIG_512_60 *p, int n, int en)</div><div class="ttdoc">Calculate r=x^e.y^f mod p for big e and f, side channel resistant. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a04e75ee7ab59343fb307f1117770efae"><div class="ttname"><a href="ff__4096_8h.html#a04e75ee7ab59343fb307f1117770efae">FF_4096_inc</a></div><div class="ttdeci">void FF_4096_inc(BIG_512_60 *x, int m, int n)</div><div class="ttdoc">increment an FF by an integer,and normalise </div></div>
+<div class="ttc" id="ff__4096_8h_html_a483766d396120e84c5f4962b3569e7c4"><div class="ttname"><a href="ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4">FF_4096_mul</a></div><div class="ttdeci">void FF_4096_mul(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">Multiplication of two FFs. </div></div>
+<div class="ttc" id="ff__4096_8h_html_ad607a8113dfc06ba2748acf6889ad6e2"><div class="ttname"><a href="ff__4096_8h.html#ad607a8113dfc06ba2748acf6889ad6e2">FF_4096_power</a></div><div class="ttdeci">void FF_4096_power(BIG_512_60 *r, BIG_512_60 *x, int e, BIG_512_60 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p. </div></div>
+<div class="ttc" id="ff__4096_8h_html_af7fd11300d70bbe3f080656cd2a13b10"><div class="ttname"><a href="ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10">FF_4096_sqr</a></div><div class="ttdeci">void FF_4096_sqr(BIG_512_60 *x, BIG_512_60 *y, int n)</div><div class="ttdoc">Square an FF. </div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="ff__4096_8h_html_a04c6775eb656571c7405a7c332204b73"><div class="ttname"><a href="ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73">FF_4096_parity</a></div><div class="ttdeci">int FF_4096_parity(BIG_512_60 *x)</div><div class="ttdoc">return parity of an FF, that is the least significant bit</div></div>
-<div class="ttc" id="ff__4096_8h_html_a21e0d681199ce63714be3ed742c164d9"><div class="ttname"><a href="ff__4096_8h.html#a21e0d681199ce63714be3ed742c164d9">FF_4096_skpow</a></div><div class="ttdeci">void FF_4096_skpow(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 *e, BIG_512_60 *m, int n)</div><div class="ttdoc">Calculate r=x^e mod m, side channel resistant.</div></div>
-<div class="ttc" id="ff__4096_8h_html_ab2bd58921dc13c16b318fadaaa426c86"><div class="ttname"><a href="ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86">FF_4096_init</a></div><div class="ttdeci">void FF_4096_init(BIG_512_60 *x, sign32 m, int n)</div><div class="ttdoc">Initialize an FF element of given length from a 32-bit integer m.</div></div>
-<div class="ttc" id="ff__4096_8h_html_aa6620d609998d614af0cdbc5bb142fef"><div class="ttname"><a href="ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef">FF_4096_copy</a></div><div class="ttdeci">void FF_4096_copy(BIG_512_60 *x, BIG_512_60 *y, int n)</div><div class="ttdoc">Copy one FF element of given length to another.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a3dd8e90c99742c0448834110713d0e8b"><div class="ttname"><a href="ff__4096_8h.html#a3dd8e90c99742c0448834110713d0e8b">FF_4096_fromOctet</a></div><div class="ttdeci">void FF_4096_fromOctet(BIG_512_60 *x, octet *S, int n)</div><div class="ttdoc">Populates an FF instance from an octet string.</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="ff__4096_8h_html_a83e69edebd0e5bf47cdcca2ef66448b3"><div class="ttname"><a href="ff__4096_8h.html#a83e69edebd0e5bf47cdcca2ef66448b3">FF_4096_sub</a></div><div class="ttdeci">void FF_4096_sub(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">subtraction of two FFs</div></div>
-<div class="ttc" id="ff__4096_8h_html_a612661860d5a10326a7d1d9bd9fc042a"><div class="ttname"><a href="ff__4096_8h.html#a612661860d5a10326a7d1d9bd9fc042a">FF_4096_iszilch</a></div><div class="ttdeci">int FF_4096_iszilch(BIG_512_60 *x, int n)</div><div class="ttdoc">Tests for FF element equal to zero.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a2538dfeb3784df67640232f892bbec0c"><div class="ttname"><a href="ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c">FF_4096_shr</a></div><div class="ttdeci">void FF_4096_shr(BIG_512_60 *x, int n)</div><div class="ttdoc">Shift right an FF by 1 bit.</div></div>
-<div class="ttc" id="ff__4096_8h_html_a178303ff977c30fc108db4e98723d740"><div class="ttname"><a href="ff__4096_8h.html#a178303ff977c30fc108db4e98723d740">FF_4096_mod</a></div><div class="ttdeci">void FF_4096_mod(BIG_512_60 *x, BIG_512_60 *m, int n)</div><div class="ttdoc">Reduce FF mod a modulus.</div></div>
-<div class="ttc" id="ff__4096_8h_html_affe535d1298125ecf39b6b19d3d5339c"><div class="ttname"><a href="ff__4096_8h.html#affe535d1298125ecf39b6b19d3d5339c">FF_4096_toOctet</a></div><div class="ttdeci">void FF_4096_toOctet(octet *S, BIG_512_60 *x, int n)</div><div class="ttdoc">Formats and outputs an FF instance to an octet string.</div></div>
+<div class="ttc" id="ff__4096_8h_html_a04c6775eb656571c7405a7c332204b73"><div class="ttname"><a href="ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73">FF_4096_parity</a></div><div class="ttdeci">int FF_4096_parity(BIG_512_60 *x)</div><div class="ttdoc">return parity of an FF, that is the least significant bit </div></div>
+<div class="ttc" id="ff__4096_8h_html_ab2bd58921dc13c16b318fadaaa426c86"><div class="ttname"><a href="ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86">FF_4096_init</a></div><div class="ttdeci">void FF_4096_init(BIG_512_60 *x, sign32 m, int n)</div><div class="ttdoc">Initialize an FF element of given length from a 32-bit integer m. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a94147045c8870761893c8be1ed1ac28f"><div class="ttname"><a href="ff__4096_8h.html#a94147045c8870761893c8be1ed1ac28f">FF_4096_skpow</a></div><div class="ttdeci">void FF_4096_skpow(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 *e, BIG_512_60 *p, int n, int en)</div><div class="ttdoc">Calculate r=x^e mod p, side channel resistant. </div></div>
+<div class="ttc" id="ff__4096_8h_html_aa6620d609998d614af0cdbc5bb142fef"><div class="ttname"><a href="ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef">FF_4096_copy</a></div><div class="ttdeci">void FF_4096_copy(BIG_512_60 *x, BIG_512_60 *y, int n)</div><div class="ttdoc">Copy one FF element of given length to another. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a24cf9585b1c49a1ac674e0055ad41444"><div class="ttname"><a href="ff__4096_8h.html#a24cf9585b1c49a1ac674e0055ad41444">FF_4096_skspow</a></div><div class="ttdeci">void FF_4096_skspow(BIG_512_60 *r, BIG_512_60 *x, BIG_512_60 e, BIG_512_60 *p, int n)</div><div class="ttdoc">Calculate r=x^e mod p, side channel resistant. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a3dd8e90c99742c0448834110713d0e8b"><div class="ttname"><a href="ff__4096_8h.html#a3dd8e90c99742c0448834110713d0e8b">FF_4096_fromOctet</a></div><div class="ttdeci">void FF_4096_fromOctet(BIG_512_60 *x, octet *S, int n)</div><div class="ttdoc">Populates an FF instance from an octet string. </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="ff__4096_8h_html_a83e69edebd0e5bf47cdcca2ef66448b3"><div class="ttname"><a href="ff__4096_8h.html#a83e69edebd0e5bf47cdcca2ef66448b3">FF_4096_sub</a></div><div class="ttdeci">void FF_4096_sub(BIG_512_60 *x, BIG_512_60 *y, BIG_512_60 *z, int n)</div><div class="ttdoc">subtraction of two FFs </div></div>
+<div class="ttc" id="ff__4096_8h_html_a612661860d5a10326a7d1d9bd9fc042a"><div class="ttname"><a href="ff__4096_8h.html#a612661860d5a10326a7d1d9bd9fc042a">FF_4096_iszilch</a></div><div class="ttdeci">int FF_4096_iszilch(BIG_512_60 *x, int n)</div><div class="ttdoc">Tests for FF element equal to zero. </div></div>
+<div class="ttc" id="ff__4096_8h_html_a2538dfeb3784df67640232f892bbec0c"><div class="ttname"><a href="ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c">FF_4096_shr</a></div><div class="ttdeci">void FF_4096_shr(BIG_512_60 *x, int n)</div><div class="ttdoc">Shift right an FF by 1 bit. </div></div>
+<div class="ttc" id="ff__4096_8h_html_affe535d1298125ecf39b6b19d3d5339c"><div class="ttname"><a href="ff__4096_8h.html#affe535d1298125ecf39b6b19d3d5339c">FF_4096_toOctet</a></div><div class="ttdeci">void FF_4096_toOctet(octet *S, BIG_512_60 *x, int n)</div><div class="ttdoc">Formats and outputs an FF instance to an octet string. </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/files.html b/website/static/cdocs/files.html
index f29a229..f4cc596 100644
--- a/website/static/cdocs/files.html
+++ b/website/static/cdocs/files.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: File List</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 -->
@@ -69,276 +72,251 @@
 <table class="directory">
 <tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="amcl_8h_source.html"><span class="icondoc"></span></a><b>amcl.h</b></td><td class="desc"></td></tr>
 <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="arch_8h_source.html"><span class="icondoc"></span></a><a class="el" href="arch_8h.html" target="_self">arch.h</a></td><td class="desc">Architecture Header File </td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__1024__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__1024__28_8h.html" target="_self">big_1024_28.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__1024__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__1024__58_8h.html" target="_self">big_1024_58.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__256__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__256__28_8h.html" target="_self">big_256_28.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__256__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__256__29_8h.html" target="_self">big_256_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__256__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__256__56_8h.html" target="_self">big_256_56.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__336__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__336__29_8h.html" target="_self">big_336_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__336__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__336__60_8h.html" target="_self">big_336_60.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__384__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__384__28_8h.html" target="_self">big_384_28.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__384__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__384__29_8h.html" target="_self">big_384_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__384__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__384__56_8h.html" target="_self">big_384_56.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__384__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__384__58_8h.html" target="_self">big_384_58.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__416__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__416__29_8h.html" target="_self">big_416_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__416__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__416__60_8h.html" target="_self">big_416_60.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__448__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__448__29_8h.html" target="_self">big_448_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__448__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__448__58_8h.html" target="_self">big_448_58.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__464__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__464__28_8h.html" target="_self">big_464_28.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__464__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__464__60_8h.html" target="_self">big_464_60.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__480__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__480__29_8h.html" target="_self">big_480_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__480__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__480__56_8h.html" target="_self">big_480_56.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__512__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__512__29_8h.html" target="_self">big_512_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__512__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__512__56_8h.html" target="_self">big_512_56.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__512__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__512__60_8h.html" target="_self">big_512_60.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__528__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__528__28_8h.html" target="_self">big_528_28.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__528__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__528__60_8h.html" target="_self">big_528_60.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__560__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__560__29_8h.html" target="_self">big_560_29.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__560__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__560__58_8h.html" target="_self">big_560_58.h</a></td><td class="desc">BIG Header File </td></tr>
-<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls192__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls192__BLS24_8h.html" target="_self">bls192_BLS24.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls256__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls256__BLS48_8h.html" target="_self">bls256_BLS48.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BLS381_8h.html" target="_self">bls_BLS381.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BLS383_8h.html" target="_self">bls_BLS383.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BLS461_8h.html" target="_self">bls_BLS461.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BN254_8h.html" target="_self">bls_BN254.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BN254CX_8h.html" target="_self">bls_BN254CX.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__FP256BN_8h.html" target="_self">bls_FP256BN.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__FP512BN_8h.html" target="_self">bls_FP512BN.h</a></td><td class="desc">BLS Header file </td></tr>
-<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__1024__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__1024__28_8h.html" target="_self">config_big_1024_28.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__1024__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__1024__58_8h.html" target="_self">config_big_1024_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__256__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__256__28_8h.html" target="_self">config_big_256_28.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__256__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__256__29_8h.html" target="_self">config_big_256_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_41_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__256__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__256__56_8h.html" target="_self">config_big_256_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__336__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__336__29_8h.html" target="_self">config_big_336_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__336__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__336__60_8h.html" target="_self">config_big_336_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__384__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__384__28_8h.html" target="_self">config_big_384_28.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__384__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__384__29_8h.html" target="_self">config_big_384_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__384__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__384__56_8h.html" target="_self">config_big_384_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__384__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__384__58_8h.html" target="_self">config_big_384_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__416__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__416__29_8h.html" target="_self">config_big_416_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__416__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__416__60_8h.html" target="_self">config_big_416_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__448__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__448__29_8h.html" target="_self">config_big_448_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__448__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__448__58_8h.html" target="_self">config_big_448_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__464__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__464__28_8h.html" target="_self">config_big_464_28.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__464__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__464__60_8h.html" target="_self">config_big_464_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__480__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__480__29_8h.html" target="_self">config_big_480_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__480__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__480__56_8h.html" target="_self">config_big_480_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__512__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__512__29_8h.html" target="_self">config_big_512_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__512__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__512__56_8h.html" target="_self">config_big_512_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__512__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__512__60_8h.html" target="_self">config_big_512_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__528__28_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__528__28_8h.html" target="_self">config_big_528_28.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__528__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__528__60_8h.html" target="_self">config_big_528_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_61_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__560__29_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__560__29_8h.html" target="_self">config_big_560_29.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__560__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__560__58_8h.html" target="_self">config_big_560_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
-<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__ANSSI_8h_source.html"><span class="icondoc"></span></a><b>config_curve_ANSSI.h</b></td><td class="desc"></td></tr>
-<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS24_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS24.h</b></td><td class="desc"></td></tr>
-<tr id="row_65_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS381_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS381.h</b></td><td class="desc"></td></tr>
-<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS383_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS383.h</b></td><td class="desc"></td></tr>
-<tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS461_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS461.h</b></td><td class="desc"></td></tr>
-<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS48_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS48.h</b></td><td class="desc"></td></tr>
-<tr id="row_69_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BN254_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BN254.h</b></td><td class="desc"></td></tr>
-<tr id="row_70_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BN254CX_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BN254CX.h</b></td><td class="desc"></td></tr>
-<tr id="row_71_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BRAINPOOL.h</b></td><td class="desc"></td></tr>
-<tr id="row_72_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__C25519_8h_source.html"><span class="icondoc"></span></a><b>config_curve_C25519.h</b></td><td class="desc"></td></tr>
-<tr id="row_73_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__C41417_8h_source.html"><span class="icondoc"></span></a><b>config_curve_C41417.h</b></td><td class="desc"></td></tr>
-<tr id="row_74_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__ED25519_8h_source.html"><span class="icondoc"></span></a><b>config_curve_ED25519.h</b></td><td class="desc"></td></tr>
-<tr id="row_75_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__FP256BN_8h_source.html"><span class="icondoc"></span></a><b>config_curve_FP256BN.h</b></td><td class="desc"></td></tr>
-<tr id="row_76_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__FP512BN_8h_source.html"><span class="icondoc"></span></a><b>config_curve_FP512BN.h</b></td><td class="desc"></td></tr>
-<tr id="row_77_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><b>config_curve_GOLDILOCKS.h</b></td><td class="desc"></td></tr>
-<tr id="row_78_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__HIFIVE_8h_source.html"><span class="icondoc"></span></a><b>config_curve_HIFIVE.h</b></td><td class="desc"></td></tr>
-<tr id="row_79_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NIST256_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NIST256.h</b></td><td class="desc"></td></tr>
-<tr id="row_80_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NIST384_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NIST384.h</b></td><td class="desc"></td></tr>
-<tr id="row_81_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NIST521_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NIST521.h</b></td><td class="desc"></td></tr>
-<tr id="row_82_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS256E_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS256E.h</b></td><td class="desc"></td></tr>
-<tr id="row_83_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS256W_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS256W.h</b></td><td class="desc"></td></tr>
-<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS384E_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS384E.h</b></td><td class="desc"></td></tr>
-<tr id="row_85_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS384W_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS384W.h</b></td><td class="desc"></td></tr>
-<tr id="row_86_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS512E_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS512E.h</b></td><td class="desc"></td></tr>
-<tr id="row_87_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS512W_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS512W.h</b></td><td class="desc"></td></tr>
-<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__SECP256K1_8h_source.html"><span class="icondoc"></span></a><b>config_curve_SECP256K1.h</b></td><td class="desc"></td></tr>
-<tr id="row_89_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__ff__2048_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__ff__2048_8h.html" target="_self">config_ff_2048.h</a></td><td class="desc">COnfig FF Header File </td></tr>
-<tr id="row_90_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__ff__3072_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__ff__3072_8h.html" target="_self">config_ff_3072.h</a></td><td class="desc">COnfig FF Header File </td></tr>
-<tr id="row_91_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__ff__4096_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__ff__4096_8h.html" target="_self">config_ff_4096.h</a></td><td class="desc">COnfig FF Header File </td></tr>
-<tr id="row_92_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__25519_8h_source.html"><span class="icondoc"></span></a><b>config_field_25519.h</b></td><td class="desc"></td></tr>
-<tr id="row_93_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__256PME_8h_source.html"><span class="icondoc"></span></a><b>config_field_256PME.h</b></td><td class="desc"></td></tr>
-<tr id="row_94_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__256PMW_8h_source.html"><span class="icondoc"></span></a><b>config_field_256PMW.h</b></td><td class="desc"></td></tr>
-<tr id="row_95_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__384PM_8h_source.html"><span class="icondoc"></span></a><b>config_field_384PM.h</b></td><td class="desc"></td></tr>
-<tr id="row_96_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__512PM_8h_source.html"><span class="icondoc"></span></a><b>config_field_512PM.h</b></td><td class="desc"></td></tr>
-<tr id="row_97_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__ANSSI_8h_source.html"><span class="icondoc"></span></a><b>config_field_ANSSI.h</b></td><td class="desc"></td></tr>
-<tr id="row_98_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS24_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS24.h</b></td><td class="desc"></td></tr>
-<tr id="row_99_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS381_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS381.h</b></td><td class="desc"></td></tr>
-<tr id="row_100_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS383_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS383.h</b></td><td class="desc"></td></tr>
-<tr id="row_101_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS461_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS461.h</b></td><td class="desc"></td></tr>
-<tr id="row_102_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS48_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS48.h</b></td><td class="desc"></td></tr>
-<tr id="row_103_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BN254_8h_source.html"><span class="icondoc"></span></a><b>config_field_BN254.h</b></td><td class="desc"></td></tr>
-<tr id="row_104_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BN254CX_8h_source.html"><span class="icondoc"></span></a><b>config_field_BN254CX.h</b></td><td class="desc"></td></tr>
-<tr id="row_105_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><b>config_field_BRAINPOOL.h</b></td><td class="desc"></td></tr>
-<tr id="row_106_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__C41417_8h_source.html"><span class="icondoc"></span></a><b>config_field_C41417.h</b></td><td class="desc"></td></tr>
-<tr id="row_107_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__FP256BN_8h_source.html"><span class="icondoc"></span></a><b>config_field_FP256BN.h</b></td><td class="desc"></td></tr>
-<tr id="row_108_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__FP512BN_8h_source.html"><span class="icondoc"></span></a><b>config_field_FP512BN.h</b></td><td class="desc"></td></tr>
-<tr id="row_109_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><b>config_field_GOLDILOCKS.h</b></td><td class="desc"></td></tr>
-<tr id="row_110_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__HIFIVE_8h_source.html"><span class="icondoc"></span></a><b>config_field_HIFIVE.h</b></td><td class="desc"></td></tr>
-<tr id="row_111_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__NIST256_8h_source.html"><span class="icondoc"></span></a><b>config_field_NIST256.h</b></td><td class="desc"></td></tr>
-<tr id="row_112_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__NIST384_8h_source.html"><span class="icondoc"></span></a><b>config_field_NIST384.h</b></td><td class="desc"></td></tr>
-<tr id="row_113_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__NIST521_8h_source.html"><span class="icondoc"></span></a><b>config_field_NIST521.h</b></td><td class="desc"></td></tr>
-<tr id="row_114_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__SECP256K1_8h_source.html"><span class="icondoc"></span></a><b>config_field_SECP256K1.h</b></td><td class="desc"></td></tr>
-<tr id="row_115_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__test_8h_source.html"><span class="icondoc"></span></a><b>config_test.h</b></td><td class="desc"></td></tr>
-<tr id="row_116_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__ANSSI_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__ANSSI_8h.html" target="_self">ecdh_ANSSI.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_117_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS24_8h.html" target="_self">ecdh_BLS24.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_118_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS381_8h.html" target="_self">ecdh_BLS381.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_119_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS383_8h.html" target="_self">ecdh_BLS383.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_120_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS461_8h.html" target="_self">ecdh_BLS461.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_121_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS48_8h.html" target="_self">ecdh_BLS48.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_122_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BN254_8h.html" target="_self">ecdh_BN254.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_123_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BN254CX_8h.html" target="_self">ecdh_BN254CX.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_124_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BRAINPOOL_8h.html" target="_self">ecdh_BRAINPOOL.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_125_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__C25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__C25519_8h.html" target="_self">ecdh_C25519.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_126_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__C41417_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__C41417_8h.html" target="_self">ecdh_C41417.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_127_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__ED25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__ED25519_8h.html" target="_self">ecdh_ED25519.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_128_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__FP256BN_8h.html" target="_self">ecdh_FP256BN.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_129_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__FP512BN_8h.html" target="_self">ecdh_FP512BN.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_130_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__GOLDILOCKS_8h.html" target="_self">ecdh_GOLDILOCKS.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_131_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__HIFIVE_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__HIFIVE_8h.html" target="_self">ecdh_HIFIVE.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_132_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NIST256_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NIST256_8h.html" target="_self">ecdh_NIST256.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_133_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NIST384_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NIST384_8h.html" target="_self">ecdh_NIST384.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_134_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NIST521_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NIST521_8h.html" target="_self">ecdh_NIST521.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_135_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS256E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS256E_8h.html" target="_self">ecdh_NUMS256E.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_136_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS256W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS256W_8h.html" target="_self">ecdh_NUMS256W.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_137_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS384E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS384E_8h.html" target="_self">ecdh_NUMS384E.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_138_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS384W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS384W_8h.html" target="_self">ecdh_NUMS384W.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_139_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS512E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS512E_8h.html" target="_self">ecdh_NUMS512E.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_140_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS512W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS512W_8h.html" target="_self">ecdh_NUMS512W.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_141_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__SECP256K1_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__SECP256K1_8h.html" target="_self">ecdh_SECP256K1.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
-<tr id="row_142_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__support_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__support_8h.html" target="_self">ecdh_support.h</a></td><td class="desc">ECDH Support Header File </td></tr>
-<tr id="row_143_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BLS381_8h.html" target="_self">ecp2_BLS381.h</a></td><td class="desc">ECP2 Header File </td></tr>
-<tr id="row_144_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BLS383_8h.html" target="_self">ecp2_BLS383.h</a></td><td class="desc">ECP2 Header File </td></tr>
-<tr id="row_145_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BLS461_8h.html" target="_self">ecp2_BLS461.h</a></td><td class="desc">ECP2 Header File </td></tr>
-<tr id="row_146_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BN254_8h.html" target="_self">ecp2_BN254.h</a></td><td class="desc">ECP2 Header File </td></tr>
-<tr id="row_147_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BN254CX_8h.html" target="_self">ecp2_BN254CX.h</a></td><td class="desc">ECP2 Header File </td></tr>
-<tr id="row_148_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__FP256BN_8h.html" target="_self">ecp2_FP256BN.h</a></td><td class="desc">ECP2 Header File </td></tr>
-<tr id="row_149_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__FP512BN_8h.html" target="_self">ecp2_FP512BN.h</a></td><td class="desc">ECP2 Header File </td></tr>
-<tr id="row_150_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp4__BLS24_8h_source.html"><span class="icondoc"></span></a><b>ecp4_BLS24.h</b></td><td class="desc"></td></tr>
-<tr id="row_151_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp8__BLS48_8h_source.html"><span class="icondoc"></span></a><b>ecp8_BLS48.h</b></td><td class="desc"></td></tr>
-<tr id="row_152_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__ANSSI_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__ANSSI_8h.html" target="_self">ecp_ANSSI.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_153_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS24_8h.html" target="_self">ecp_BLS24.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_154_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS381_8h.html" target="_self">ecp_BLS381.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_155_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS383_8h.html" target="_self">ecp_BLS383.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_156_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS461_8h.html" target="_self">ecp_BLS461.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_157_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS48_8h.html" target="_self">ecp_BLS48.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_158_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BN254_8h.html" target="_self">ecp_BN254.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_159_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BN254CX_8h.html" target="_self">ecp_BN254CX.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_160_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BRAINPOOL_8h.html" target="_self">ecp_BRAINPOOL.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_161_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__C25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__C25519_8h.html" target="_self">ecp_C25519.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_162_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__C41417_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__C41417_8h.html" target="_self">ecp_C41417.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_163_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__ED25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__ED25519_8h.html" target="_self">ecp_ED25519.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_164_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__FP256BN_8h.html" target="_self">ecp_FP256BN.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_165_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__FP512BN_8h.html" target="_self">ecp_FP512BN.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_166_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__GOLDILOCKS_8h.html" target="_self">ecp_GOLDILOCKS.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_167_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__HIFIVE_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__HIFIVE_8h.html" target="_self">ecp_HIFIVE.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_168_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NIST256_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NIST256_8h.html" target="_self">ecp_NIST256.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_169_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NIST384_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NIST384_8h.html" target="_self">ecp_NIST384.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_170_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NIST521_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NIST521_8h.html" target="_self">ecp_NIST521.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_171_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS256E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS256E_8h.html" target="_self">ecp_NUMS256E.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_172_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS256W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS256W_8h.html" target="_self">ecp_NUMS256W.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_173_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS384E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS384E_8h.html" target="_self">ecp_NUMS384E.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_174_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS384W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS384W_8h.html" target="_self">ecp_NUMS384W.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_175_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS512E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS512E_8h.html" target="_self">ecp_NUMS512E.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_176_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS512W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS512W_8h.html" target="_self">ecp_NUMS512W.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_177_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__SECP256K1_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__SECP256K1_8h.html" target="_self">ecp_SECP256K1.h</a></td><td class="desc">ECP Header File </td></tr>
-<tr id="row_178_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ff__2048_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ff__2048_8h.html" target="_self">ff_2048.h</a></td><td class="desc">FF Header File </td></tr>
-<tr id="row_179_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ff__3072_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ff__3072_8h.html" target="_self">ff_3072.h</a></td><td class="desc">FF Header File </td></tr>
-<tr id="row_180_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ff__4096_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ff__4096_8h.html" target="_self">ff_4096.h</a></td><td class="desc">FF Header File </td></tr>
-<tr id="row_181_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BLS381_8h.html" target="_self">fp12_BLS381.h</a></td><td class="desc">FP12 Header File </td></tr>
-<tr id="row_182_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BLS383_8h.html" target="_self">fp12_BLS383.h</a></td><td class="desc">FP12 Header File </td></tr>
-<tr id="row_183_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BLS461_8h.html" target="_self">fp12_BLS461.h</a></td><td class="desc">FP12 Header File </td></tr>
-<tr id="row_184_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BN254_8h.html" target="_self">fp12_BN254.h</a></td><td class="desc">FP12 Header File </td></tr>
-<tr id="row_185_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BN254CX_8h.html" target="_self">fp12_BN254CX.h</a></td><td class="desc">FP12 Header File </td></tr>
-<tr id="row_186_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__FP256BN_8h.html" target="_self">fp12_FP256BN.h</a></td><td class="desc">FP12 Header File </td></tr>
-<tr id="row_187_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__FP512BN_8h.html" target="_self">fp12_FP512BN.h</a></td><td class="desc">FP12 Header File </td></tr>
-<tr id="row_188_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp16__BLS48_8h_source.html"><span class="icondoc"></span></a><b>fp16_BLS48.h</b></td><td class="desc"></td></tr>
-<tr id="row_189_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp24__BLS24_8h_source.html"><span class="icondoc"></span></a><b>fp24_BLS24.h</b></td><td class="desc"></td></tr>
-<tr id="row_190_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS24_8h.html" target="_self">fp2_BLS24.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_191_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS381_8h.html" target="_self">fp2_BLS381.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_192_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS383_8h.html" target="_self">fp2_BLS383.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_193_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS461_8h.html" target="_self">fp2_BLS461.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_194_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS48_8h.html" target="_self">fp2_BLS48.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_195_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BN254_8h.html" target="_self">fp2_BN254.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_196_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BN254CX_8h.html" target="_self">fp2_BN254CX.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_197_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__FP256BN_8h.html" target="_self">fp2_FP256BN.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_198_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__FP512BN_8h.html" target="_self">fp2_FP512BN.h</a></td><td class="desc">FP2 Header File </td></tr>
-<tr id="row_199_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp48__BLS48_8h_source.html"><span class="icondoc"></span></a><b>fp48_BLS48.h</b></td><td class="desc"></td></tr>
-<tr id="row_200_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS24_8h.html" target="_self">fp4_BLS24.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_201_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS381_8h.html" target="_self">fp4_BLS381.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_202_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS383_8h.html" target="_self">fp4_BLS383.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_203_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS461_8h.html" target="_self">fp4_BLS461.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_204_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS48_8h.html" target="_self">fp4_BLS48.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_205_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BN254_8h.html" target="_self">fp4_BN254.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_206_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BN254CX_8h.html" target="_self">fp4_BN254CX.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_207_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__FP256BN_8h.html" target="_self">fp4_FP256BN.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_208_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__FP512BN_8h.html" target="_self">fp4_FP512BN.h</a></td><td class="desc">FP4 Header File </td></tr>
-<tr id="row_209_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp8__BLS24_8h_source.html"><span class="icondoc"></span></a><b>fp8_BLS24.h</b></td><td class="desc"></td></tr>
-<tr id="row_210_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp8__BLS48_8h_source.html"><span class="icondoc"></span></a><b>fp8_BLS48.h</b></td><td class="desc"></td></tr>
-<tr id="row_211_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__25519_8h.html" target="_self">fp_25519.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_212_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__256PME_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__256PME_8h.html" target="_self">fp_256PME.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_213_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__256PMW_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__256PMW_8h.html" target="_self">fp_256PMW.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_214_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__384PM_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__384PM_8h.html" target="_self">fp_384PM.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_215_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__512PM_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__512PM_8h.html" target="_self">fp_512PM.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_216_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__ANSSI_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__ANSSI_8h.html" target="_self">fp_ANSSI.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_217_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS24_8h.html" target="_self">fp_BLS24.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_218_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS381_8h.html" target="_self">fp_BLS381.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_219_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS383_8h.html" target="_self">fp_BLS383.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_220_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS461_8h.html" target="_self">fp_BLS461.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_221_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS48_8h.html" target="_self">fp_BLS48.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_222_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BN254_8h.html" target="_self">fp_BN254.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_223_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BN254CX_8h.html" target="_self">fp_BN254CX.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_224_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BRAINPOOL_8h.html" target="_self">fp_BRAINPOOL.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_225_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__C41417_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__C41417_8h.html" target="_self">fp_C41417.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_226_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__FP256BN_8h.html" target="_self">fp_FP256BN.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_227_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__FP512BN_8h.html" target="_self">fp_FP512BN.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_228_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__GOLDILOCKS_8h.html" target="_self">fp_GOLDILOCKS.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_229_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__HIFIVE_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__HIFIVE_8h.html" target="_self">fp_HIFIVE.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_230_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__NIST256_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__NIST256_8h.html" target="_self">fp_NIST256.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_231_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__NIST384_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__NIST384_8h.html" target="_self">fp_NIST384.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_232_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__NIST521_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__NIST521_8h.html" target="_self">fp_NIST521.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_233_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__SECP256K1_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__SECP256K1_8h.html" target="_self">fp_SECP256K1.h</a></td><td class="desc">FP Header File </td></tr>
-<tr id="row_234_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin192__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin192__BLS24_8h.html" target="_self">mpin192_BLS24.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_235_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin256__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin256__BLS48_8h.html" target="_self">mpin256_BLS48.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_236_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BLS381_8h.html" target="_self">mpin_BLS381.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_237_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BLS383_8h.html" target="_self">mpin_BLS383.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_238_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BLS461_8h.html" target="_self">mpin_BLS461.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_239_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BN254_8h.html" target="_self">mpin_BN254.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_240_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BN254CX_8h.html" target="_self">mpin_BN254CX.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_241_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__FP256BN_8h.html" target="_self">mpin_FP256BN.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_242_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__FP512BN_8h.html" target="_self">mpin_FP512BN.h</a></td><td class="desc">M-Pin Header file </td></tr>
-<tr id="row_243_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair192__BLS24_8h_source.html"><span class="icondoc"></span></a><b>pair192_BLS24.h</b></td><td class="desc"></td></tr>
-<tr id="row_244_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair256__BLS48_8h_source.html"><span class="icondoc"></span></a><b>pair256_BLS48.h</b></td><td class="desc"></td></tr>
-<tr id="row_245_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BLS381_8h.html" target="_self">pair_BLS381.h</a></td><td class="desc">PAIR Header File </td></tr>
-<tr id="row_246_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BLS383_8h.html" target="_self">pair_BLS383.h</a></td><td class="desc">PAIR Header File </td></tr>
-<tr id="row_247_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BLS461_8h.html" target="_self">pair_BLS461.h</a></td><td class="desc">PAIR Header File </td></tr>
-<tr id="row_248_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BN254_8h.html" target="_self">pair_BN254.h</a></td><td class="desc">PAIR Header File </td></tr>
-<tr id="row_249_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BN254CX_8h.html" target="_self">pair_BN254CX.h</a></td><td class="desc">PAIR Header File </td></tr>
-<tr id="row_250_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__FP256BN_8h.html" target="_self">pair_FP256BN.h</a></td><td class="desc">PAIR Header File </td></tr>
-<tr id="row_251_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__FP512BN_8h.html" target="_self">pair_FP512BN.h</a></td><td class="desc">PAIR Header File </td></tr>
-<tr id="row_252_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pbc__support_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pbc__support_8h.html" target="_self">pbc_support.h</a></td><td class="desc">Auxiliary functions for Pairing-based protocols </td></tr>
-<tr id="row_253_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="randapi_8h_source.html"><span class="icondoc"></span></a><a class="el" href="randapi_8h.html" target="_self">randapi.h</a></td><td class="desc">PRNG API File </td></tr>
-<tr id="row_254_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__2048_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__2048_8h.html" target="_self">rsa_2048.h</a></td><td class="desc">RSA Header file for implementation of RSA protocol </td></tr>
-<tr id="row_255_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__3072_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__3072_8h.html" target="_self">rsa_3072.h</a></td><td class="desc">RSA Header file for implementation of RSA protocol </td></tr>
-<tr id="row_256_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__4096_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__4096_8h.html" target="_self">rsa_4096.h</a></td><td class="desc">RSA Header file for implementation of RSA protocol </td></tr>
-<tr id="row_257_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__support_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__support_8h.html" target="_self">rsa_support.h</a></td><td class="desc">RSA Support Header File </td></tr>
-<tr id="row_258_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="utils_8c.html" target="_self">utils.c</a></td><td class="desc">AMCL Support functions for M-Pin servers </td></tr>
-<tr id="row_259_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="utils_8h_source.html"><span class="icondoc"></span></a><a class="el" href="utils_8h.html" target="_self">utils.h</a></td><td class="desc">Utility functions Header File </td></tr>
-<tr id="row_260_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="version_8c.html" target="_self">version.c</a></td><td class="desc">AMCL version support function </td></tr>
-<tr id="row_261_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="version_8h_source.html"><span class="icondoc"></span></a><b>version.h</b></td><td class="desc"></td></tr>
-<tr id="row_262_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc192__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc192__BLS24_8h.html" target="_self">wcc192_BLS24.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_263_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc256__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc256__BLS48_8h.html" target="_self">wcc256_BLS48.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_264_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BLS381_8h.html" target="_self">wcc_BLS381.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_265_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BLS383_8h.html" target="_self">wcc_BLS383.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_266_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BLS461_8h.html" target="_self">wcc_BLS461.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_267_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BN254_8h.html" target="_self">wcc_BN254.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_268_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BN254CX_8h.html" target="_self">wcc_BN254CX.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_269_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__FP256BN_8h.html" target="_self">wcc_FP256BN.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_270_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__FP512BN_8h.html" target="_self">wcc_FP512BN.h</a></td><td class="desc">WCC Header File </td></tr>
-<tr id="row_271_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="x509_8h_source.html"><span class="icondoc"></span></a><a class="el" href="x509_8h.html" target="_self">x509.h</a></td><td class="desc">X509 function Header File </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__1024__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__1024__58_8h.html" target="_self">big_1024_58.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__256__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__256__56_8h.html" target="_self">big_256_56.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__336__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__336__60_8h.html" target="_self">big_336_60.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__384__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__384__56_8h.html" target="_self">big_384_56.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__384__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__384__58_8h.html" target="_self">big_384_58.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__416__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__416__60_8h.html" target="_self">big_416_60.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__448__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__448__58_8h.html" target="_self">big_448_58.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__464__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__464__60_8h.html" target="_self">big_464_60.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__480__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__480__56_8h.html" target="_self">big_480_56.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__512__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__512__56_8h.html" target="_self">big_512_56.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__512__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__512__60_8h.html" target="_self">big_512_60.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__528__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__528__60_8h.html" target="_self">big_528_60.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="big__560__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="big__560__58_8h.html" target="_self">big_560_58.h</a></td><td class="desc">BIG Header File </td></tr>
+<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls192__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls192__BLS24_8h.html" target="_self">bls192_BLS24.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls256__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls256__BLS48_8h.html" target="_self">bls256_BLS48.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BLS381_8h.html" target="_self">bls_BLS381.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BLS383_8h.html" target="_self">bls_BLS383.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BLS461_8h.html" target="_self">bls_BLS461.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BN254_8h.html" target="_self">bls_BN254.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__BN254CX_8h.html" target="_self">bls_BN254CX.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__FP256BN_8h.html" target="_self">bls_FP256BN.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="bls__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="bls__FP512BN_8h.html" target="_self">bls_FP512BN.h</a></td><td class="desc">BLS Header file </td></tr>
+<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__1024__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__1024__58_8h.html" target="_self">config_big_1024_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__256__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__256__56_8h.html" target="_self">config_big_256_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__336__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__336__60_8h.html" target="_self">config_big_336_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__384__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__384__56_8h.html" target="_self">config_big_384_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__384__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__384__58_8h.html" target="_self">config_big_384_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__416__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__416__60_8h.html" target="_self">config_big_416_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__448__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__448__58_8h.html" target="_self">config_big_448_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__464__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__464__60_8h.html" target="_self">config_big_464_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__480__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__480__56_8h.html" target="_self">config_big_480_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__512__56_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__512__56_8h.html" target="_self">config_big_512_56.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__512__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__512__60_8h.html" target="_self">config_big_512_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_35_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__528__60_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__528__60_8h.html" target="_self">config_big_528_60.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__big__560__58_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__big__560__58_8h.html" target="_self">config_big_560_58.h</a></td><td class="desc">Config BIG Header File </td></tr>
+<tr id="row_37_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__ANSSI_8h_source.html"><span class="icondoc"></span></a><b>config_curve_ANSSI.h</b></td><td class="desc"></td></tr>
+<tr id="row_38_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS24_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS24.h</b></td><td class="desc"></td></tr>
+<tr id="row_39_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS381_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS381.h</b></td><td class="desc"></td></tr>
+<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS383_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS383.h</b></td><td class="desc"></td></tr>
+<tr id="row_41_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS461_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS461.h</b></td><td class="desc"></td></tr>
+<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BLS48_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BLS48.h</b></td><td class="desc"></td></tr>
+<tr id="row_43_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BN254_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BN254.h</b></td><td class="desc"></td></tr>
+<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BN254CX_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BN254CX.h</b></td><td class="desc"></td></tr>
+<tr id="row_45_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><b>config_curve_BRAINPOOL.h</b></td><td class="desc"></td></tr>
+<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__C25519_8h_source.html"><span class="icondoc"></span></a><b>config_curve_C25519.h</b></td><td class="desc"></td></tr>
+<tr id="row_47_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__C41417_8h_source.html"><span class="icondoc"></span></a><b>config_curve_C41417.h</b></td><td class="desc"></td></tr>
+<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__ED25519_8h_source.html"><span class="icondoc"></span></a><b>config_curve_ED25519.h</b></td><td class="desc"></td></tr>
+<tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__FP256BN_8h_source.html"><span class="icondoc"></span></a><b>config_curve_FP256BN.h</b></td><td class="desc"></td></tr>
+<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__FP512BN_8h_source.html"><span class="icondoc"></span></a><b>config_curve_FP512BN.h</b></td><td class="desc"></td></tr>
+<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><b>config_curve_GOLDILOCKS.h</b></td><td class="desc"></td></tr>
+<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__HIFIVE_8h_source.html"><span class="icondoc"></span></a><b>config_curve_HIFIVE.h</b></td><td class="desc"></td></tr>
+<tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NIST256_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NIST256.h</b></td><td class="desc"></td></tr>
+<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NIST384_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NIST384.h</b></td><td class="desc"></td></tr>
+<tr id="row_55_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NIST521_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NIST521.h</b></td><td class="desc"></td></tr>
+<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS256E_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS256E.h</b></td><td class="desc"></td></tr>
+<tr id="row_57_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS256W_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS256W.h</b></td><td class="desc"></td></tr>
+<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS384E_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS384E.h</b></td><td class="desc"></td></tr>
+<tr id="row_59_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS384W_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS384W.h</b></td><td class="desc"></td></tr>
+<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS512E_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS512E.h</b></td><td class="desc"></td></tr>
+<tr id="row_61_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__NUMS512W_8h_source.html"><span class="icondoc"></span></a><b>config_curve_NUMS512W.h</b></td><td class="desc"></td></tr>
+<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__curve__SECP256K1_8h_source.html"><span class="icondoc"></span></a><b>config_curve_SECP256K1.h</b></td><td class="desc"></td></tr>
+<tr id="row_63_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__ff__2048_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__ff__2048_8h.html" target="_self">config_ff_2048.h</a></td><td class="desc">COnfig FF Header File </td></tr>
+<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__ff__3072_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__ff__3072_8h.html" target="_self">config_ff_3072.h</a></td><td class="desc">COnfig FF Header File </td></tr>
+<tr id="row_65_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__ff__4096_8h_source.html"><span class="icondoc"></span></a><a class="el" href="config__ff__4096_8h.html" target="_self">config_ff_4096.h</a></td><td class="desc">COnfig FF Header File </td></tr>
+<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__25519_8h_source.html"><span class="icondoc"></span></a><b>config_field_25519.h</b></td><td class="desc"></td></tr>
+<tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__256PME_8h_source.html"><span class="icondoc"></span></a><b>config_field_256PME.h</b></td><td class="desc"></td></tr>
+<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__256PMW_8h_source.html"><span class="icondoc"></span></a><b>config_field_256PMW.h</b></td><td class="desc"></td></tr>
+<tr id="row_69_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__384PM_8h_source.html"><span class="icondoc"></span></a><b>config_field_384PM.h</b></td><td class="desc"></td></tr>
+<tr id="row_70_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__512PM_8h_source.html"><span class="icondoc"></span></a><b>config_field_512PM.h</b></td><td class="desc"></td></tr>
+<tr id="row_71_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__ANSSI_8h_source.html"><span class="icondoc"></span></a><b>config_field_ANSSI.h</b></td><td class="desc"></td></tr>
+<tr id="row_72_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS24_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS24.h</b></td><td class="desc"></td></tr>
+<tr id="row_73_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS381_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS381.h</b></td><td class="desc"></td></tr>
+<tr id="row_74_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS383_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS383.h</b></td><td class="desc"></td></tr>
+<tr id="row_75_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS461_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS461.h</b></td><td class="desc"></td></tr>
+<tr id="row_76_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BLS48_8h_source.html"><span class="icondoc"></span></a><b>config_field_BLS48.h</b></td><td class="desc"></td></tr>
+<tr id="row_77_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BN254_8h_source.html"><span class="icondoc"></span></a><b>config_field_BN254.h</b></td><td class="desc"></td></tr>
+<tr id="row_78_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BN254CX_8h_source.html"><span class="icondoc"></span></a><b>config_field_BN254CX.h</b></td><td class="desc"></td></tr>
+<tr id="row_79_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><b>config_field_BRAINPOOL.h</b></td><td class="desc"></td></tr>
+<tr id="row_80_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__C41417_8h_source.html"><span class="icondoc"></span></a><b>config_field_C41417.h</b></td><td class="desc"></td></tr>
+<tr id="row_81_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__FP256BN_8h_source.html"><span class="icondoc"></span></a><b>config_field_FP256BN.h</b></td><td class="desc"></td></tr>
+<tr id="row_82_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__FP512BN_8h_source.html"><span class="icondoc"></span></a><b>config_field_FP512BN.h</b></td><td class="desc"></td></tr>
+<tr id="row_83_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><b>config_field_GOLDILOCKS.h</b></td><td class="desc"></td></tr>
+<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__HIFIVE_8h_source.html"><span class="icondoc"></span></a><b>config_field_HIFIVE.h</b></td><td class="desc"></td></tr>
+<tr id="row_85_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__NIST256_8h_source.html"><span class="icondoc"></span></a><b>config_field_NIST256.h</b></td><td class="desc"></td></tr>
+<tr id="row_86_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__NIST384_8h_source.html"><span class="icondoc"></span></a><b>config_field_NIST384.h</b></td><td class="desc"></td></tr>
+<tr id="row_87_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__NIST521_8h_source.html"><span class="icondoc"></span></a><b>config_field_NIST521.h</b></td><td class="desc"></td></tr>
+<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__field__SECP256K1_8h_source.html"><span class="icondoc"></span></a><b>config_field_SECP256K1.h</b></td><td class="desc"></td></tr>
+<tr id="row_89_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="config__test_8h_source.html"><span class="icondoc"></span></a><b>config_test.h</b></td><td class="desc"></td></tr>
+<tr id="row_90_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__ANSSI_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__ANSSI_8h.html" target="_self">ecdh_ANSSI.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_91_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS24_8h.html" target="_self">ecdh_BLS24.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_92_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS381_8h.html" target="_self">ecdh_BLS381.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_93_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS383_8h.html" target="_self">ecdh_BLS383.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_94_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS461_8h.html" target="_self">ecdh_BLS461.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_95_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BLS48_8h.html" target="_self">ecdh_BLS48.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_96_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BN254_8h.html" target="_self">ecdh_BN254.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_97_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BN254CX_8h.html" target="_self">ecdh_BN254CX.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_98_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__BRAINPOOL_8h.html" target="_self">ecdh_BRAINPOOL.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_99_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__C25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__C25519_8h.html" target="_self">ecdh_C25519.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_100_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__C41417_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__C41417_8h.html" target="_self">ecdh_C41417.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_101_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__ED25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__ED25519_8h.html" target="_self">ecdh_ED25519.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_102_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__FP256BN_8h.html" target="_self">ecdh_FP256BN.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_103_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__FP512BN_8h.html" target="_self">ecdh_FP512BN.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_104_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__GOLDILOCKS_8h.html" target="_self">ecdh_GOLDILOCKS.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_105_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__HIFIVE_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__HIFIVE_8h.html" target="_self">ecdh_HIFIVE.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_106_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NIST256_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NIST256_8h.html" target="_self">ecdh_NIST256.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_107_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NIST384_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NIST384_8h.html" target="_self">ecdh_NIST384.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_108_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NIST521_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NIST521_8h.html" target="_self">ecdh_NIST521.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_109_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS256E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS256E_8h.html" target="_self">ecdh_NUMS256E.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_110_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS256W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS256W_8h.html" target="_self">ecdh_NUMS256W.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_111_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS384E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS384E_8h.html" target="_self">ecdh_NUMS384E.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_112_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS384W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS384W_8h.html" target="_self">ecdh_NUMS384W.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_113_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS512E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS512E_8h.html" target="_self">ecdh_NUMS512E.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_114_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__NUMS512W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__NUMS512W_8h.html" target="_self">ecdh_NUMS512W.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_115_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__SECP256K1_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__SECP256K1_8h.html" target="_self">ecdh_SECP256K1.h</a></td><td class="desc">ECDH Header file for implementation of standard EC protocols </td></tr>
+<tr id="row_116_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecdh__support_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecdh__support_8h.html" target="_self">ecdh_support.h</a></td><td class="desc">ECDH Support Header File </td></tr>
+<tr id="row_117_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BLS381_8h.html" target="_self">ecp2_BLS381.h</a></td><td class="desc">ECP2 Header File </td></tr>
+<tr id="row_118_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BLS383_8h.html" target="_self">ecp2_BLS383.h</a></td><td class="desc">ECP2 Header File </td></tr>
+<tr id="row_119_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BLS461_8h.html" target="_self">ecp2_BLS461.h</a></td><td class="desc">ECP2 Header File </td></tr>
+<tr id="row_120_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BN254_8h.html" target="_self">ecp2_BN254.h</a></td><td class="desc">ECP2 Header File </td></tr>
+<tr id="row_121_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__BN254CX_8h.html" target="_self">ecp2_BN254CX.h</a></td><td class="desc">ECP2 Header File </td></tr>
+<tr id="row_122_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__FP256BN_8h.html" target="_self">ecp2_FP256BN.h</a></td><td class="desc">ECP2 Header File </td></tr>
+<tr id="row_123_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp2__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp2__FP512BN_8h.html" target="_self">ecp2_FP512BN.h</a></td><td class="desc">ECP2 Header File </td></tr>
+<tr id="row_124_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp4__BLS24_8h_source.html"><span class="icondoc"></span></a><b>ecp4_BLS24.h</b></td><td class="desc"></td></tr>
+<tr id="row_125_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp8__BLS48_8h_source.html"><span class="icondoc"></span></a><b>ecp8_BLS48.h</b></td><td class="desc"></td></tr>
+<tr id="row_126_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__ANSSI_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__ANSSI_8h.html" target="_self">ecp_ANSSI.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_127_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS24_8h.html" target="_self">ecp_BLS24.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_128_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS381_8h.html" target="_self">ecp_BLS381.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_129_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS383_8h.html" target="_self">ecp_BLS383.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_130_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS461_8h.html" target="_self">ecp_BLS461.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_131_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BLS48_8h.html" target="_self">ecp_BLS48.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_132_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BN254_8h.html" target="_self">ecp_BN254.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_133_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BN254CX_8h.html" target="_self">ecp_BN254CX.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_134_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__BRAINPOOL_8h.html" target="_self">ecp_BRAINPOOL.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_135_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__C25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__C25519_8h.html" target="_self">ecp_C25519.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_136_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__C41417_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__C41417_8h.html" target="_self">ecp_C41417.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_137_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__ED25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__ED25519_8h.html" target="_self">ecp_ED25519.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_138_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__FP256BN_8h.html" target="_self">ecp_FP256BN.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_139_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__FP512BN_8h.html" target="_self">ecp_FP512BN.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_140_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__GOLDILOCKS_8h.html" target="_self">ecp_GOLDILOCKS.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_141_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__HIFIVE_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__HIFIVE_8h.html" target="_self">ecp_HIFIVE.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_142_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NIST256_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NIST256_8h.html" target="_self">ecp_NIST256.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_143_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NIST384_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NIST384_8h.html" target="_self">ecp_NIST384.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_144_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NIST521_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NIST521_8h.html" target="_self">ecp_NIST521.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_145_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS256E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS256E_8h.html" target="_self">ecp_NUMS256E.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_146_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS256W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS256W_8h.html" target="_self">ecp_NUMS256W.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_147_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS384E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS384E_8h.html" target="_self">ecp_NUMS384E.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_148_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS384W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS384W_8h.html" target="_self">ecp_NUMS384W.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_149_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS512E_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS512E_8h.html" target="_self">ecp_NUMS512E.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_150_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__NUMS512W_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__NUMS512W_8h.html" target="_self">ecp_NUMS512W.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_151_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ecp__SECP256K1_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ecp__SECP256K1_8h.html" target="_self">ecp_SECP256K1.h</a></td><td class="desc">ECP Header File </td></tr>
+<tr id="row_152_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ff__2048_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ff__2048_8h.html" target="_self">ff_2048.h</a></td><td class="desc">FF Header File </td></tr>
+<tr id="row_153_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ff__3072_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ff__3072_8h.html" target="_self">ff_3072.h</a></td><td class="desc">FF Header File </td></tr>
+<tr id="row_154_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="ff__4096_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ff__4096_8h.html" target="_self">ff_4096.h</a></td><td class="desc">FF Header File </td></tr>
+<tr id="row_155_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BLS381_8h.html" target="_self">fp12_BLS381.h</a></td><td class="desc">FP12 Header File </td></tr>
+<tr id="row_156_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BLS383_8h.html" target="_self">fp12_BLS383.h</a></td><td class="desc">FP12 Header File </td></tr>
+<tr id="row_157_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BLS461_8h.html" target="_self">fp12_BLS461.h</a></td><td class="desc">FP12 Header File </td></tr>
+<tr id="row_158_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BN254_8h.html" target="_self">fp12_BN254.h</a></td><td class="desc">FP12 Header File </td></tr>
+<tr id="row_159_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__BN254CX_8h.html" target="_self">fp12_BN254CX.h</a></td><td class="desc">FP12 Header File </td></tr>
+<tr id="row_160_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__FP256BN_8h.html" target="_self">fp12_FP256BN.h</a></td><td class="desc">FP12 Header File </td></tr>
+<tr id="row_161_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp12__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp12__FP512BN_8h.html" target="_self">fp12_FP512BN.h</a></td><td class="desc">FP12 Header File </td></tr>
+<tr id="row_162_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp16__BLS48_8h_source.html"><span class="icondoc"></span></a><b>fp16_BLS48.h</b></td><td class="desc"></td></tr>
+<tr id="row_163_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp24__BLS24_8h_source.html"><span class="icondoc"></span></a><b>fp24_BLS24.h</b></td><td class="desc"></td></tr>
+<tr id="row_164_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS24_8h.html" target="_self">fp2_BLS24.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_165_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS381_8h.html" target="_self">fp2_BLS381.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_166_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS383_8h.html" target="_self">fp2_BLS383.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_167_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS461_8h.html" target="_self">fp2_BLS461.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_168_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BLS48_8h.html" target="_self">fp2_BLS48.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_169_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BN254_8h.html" target="_self">fp2_BN254.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_170_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__BN254CX_8h.html" target="_self">fp2_BN254CX.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_171_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__FP256BN_8h.html" target="_self">fp2_FP256BN.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_172_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp2__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp2__FP512BN_8h.html" target="_self">fp2_FP512BN.h</a></td><td class="desc">FP2 Header File </td></tr>
+<tr id="row_173_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp48__BLS48_8h_source.html"><span class="icondoc"></span></a><b>fp48_BLS48.h</b></td><td class="desc"></td></tr>
+<tr id="row_174_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS24_8h.html" target="_self">fp4_BLS24.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_175_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS381_8h.html" target="_self">fp4_BLS381.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_176_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS383_8h.html" target="_self">fp4_BLS383.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_177_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS461_8h.html" target="_self">fp4_BLS461.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_178_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BLS48_8h.html" target="_self">fp4_BLS48.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_179_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BN254_8h.html" target="_self">fp4_BN254.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_180_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__BN254CX_8h.html" target="_self">fp4_BN254CX.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_181_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__FP256BN_8h.html" target="_self">fp4_FP256BN.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_182_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp4__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp4__FP512BN_8h.html" target="_self">fp4_FP512BN.h</a></td><td class="desc">FP4 Header File </td></tr>
+<tr id="row_183_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp8__BLS24_8h_source.html"><span class="icondoc"></span></a><b>fp8_BLS24.h</b></td><td class="desc"></td></tr>
+<tr id="row_184_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp8__BLS48_8h_source.html"><span class="icondoc"></span></a><b>fp8_BLS48.h</b></td><td class="desc"></td></tr>
+<tr id="row_185_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__25519_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__25519_8h.html" target="_self">fp_25519.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_186_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__256PME_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__256PME_8h.html" target="_self">fp_256PME.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_187_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__256PMW_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__256PMW_8h.html" target="_self">fp_256PMW.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_188_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__384PM_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__384PM_8h.html" target="_self">fp_384PM.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_189_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__512PM_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__512PM_8h.html" target="_self">fp_512PM.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_190_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__ANSSI_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__ANSSI_8h.html" target="_self">fp_ANSSI.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_191_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS24_8h.html" target="_self">fp_BLS24.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_192_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS381_8h.html" target="_self">fp_BLS381.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_193_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS383_8h.html" target="_self">fp_BLS383.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_194_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS461_8h.html" target="_self">fp_BLS461.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_195_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BLS48_8h.html" target="_self">fp_BLS48.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_196_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BN254_8h.html" target="_self">fp_BN254.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_197_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BN254CX_8h.html" target="_self">fp_BN254CX.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_198_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__BRAINPOOL_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__BRAINPOOL_8h.html" target="_self">fp_BRAINPOOL.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_199_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__C41417_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__C41417_8h.html" target="_self">fp_C41417.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_200_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__FP256BN_8h.html" target="_self">fp_FP256BN.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_201_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__FP512BN_8h.html" target="_self">fp_FP512BN.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_202_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__GOLDILOCKS_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__GOLDILOCKS_8h.html" target="_self">fp_GOLDILOCKS.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_203_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__HIFIVE_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__HIFIVE_8h.html" target="_self">fp_HIFIVE.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_204_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__NIST256_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__NIST256_8h.html" target="_self">fp_NIST256.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_205_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__NIST384_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__NIST384_8h.html" target="_self">fp_NIST384.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_206_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__NIST521_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__NIST521_8h.html" target="_self">fp_NIST521.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_207_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="fp__SECP256K1_8h_source.html"><span class="icondoc"></span></a><a class="el" href="fp__SECP256K1_8h.html" target="_self">fp_SECP256K1.h</a></td><td class="desc">FP Header File </td></tr>
+<tr id="row_208_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin192__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin192__BLS24_8h.html" target="_self">mpin192_BLS24.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_209_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin256__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin256__BLS48_8h.html" target="_self">mpin256_BLS48.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_210_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BLS381_8h.html" target="_self">mpin_BLS381.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_211_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BLS383_8h.html" target="_self">mpin_BLS383.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_212_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BLS461_8h.html" target="_self">mpin_BLS461.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_213_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BN254_8h.html" target="_self">mpin_BN254.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_214_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__BN254CX_8h.html" target="_self">mpin_BN254CX.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_215_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__FP256BN_8h.html" target="_self">mpin_FP256BN.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_216_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mpin__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="mpin__FP512BN_8h.html" target="_self">mpin_FP512BN.h</a></td><td class="desc">M-Pin Header file </td></tr>
+<tr id="row_217_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="paillier_8h_source.html"><span class="icondoc"></span></a><a class="el" href="paillier_8h.html" target="_self">paillier.h</a></td><td class="desc">Paillier declarations </td></tr>
+<tr id="row_218_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair192__BLS24_8h_source.html"><span class="icondoc"></span></a><b>pair192_BLS24.h</b></td><td class="desc"></td></tr>
+<tr id="row_219_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair256__BLS48_8h_source.html"><span class="icondoc"></span></a><b>pair256_BLS48.h</b></td><td class="desc"></td></tr>
+<tr id="row_220_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BLS381_8h.html" target="_self">pair_BLS381.h</a></td><td class="desc">PAIR Header File </td></tr>
+<tr id="row_221_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BLS383_8h.html" target="_self">pair_BLS383.h</a></td><td class="desc">PAIR Header File </td></tr>
+<tr id="row_222_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BLS461_8h.html" target="_self">pair_BLS461.h</a></td><td class="desc">PAIR Header File </td></tr>
+<tr id="row_223_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BN254_8h.html" target="_self">pair_BN254.h</a></td><td class="desc">PAIR Header File </td></tr>
+<tr id="row_224_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__BN254CX_8h.html" target="_self">pair_BN254CX.h</a></td><td class="desc">PAIR Header File </td></tr>
+<tr id="row_225_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__FP256BN_8h.html" target="_self">pair_FP256BN.h</a></td><td class="desc">PAIR Header File </td></tr>
+<tr id="row_226_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pair__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pair__FP512BN_8h.html" target="_self">pair_FP512BN.h</a></td><td class="desc">PAIR Header File </td></tr>
+<tr id="row_227_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="pbc__support_8h_source.html"><span class="icondoc"></span></a><a class="el" href="pbc__support_8h.html" target="_self">pbc_support.h</a></td><td class="desc">Auxiliary functions for Pairing-based protocols </td></tr>
+<tr id="row_228_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="randapi_8h_source.html"><span class="icondoc"></span></a><a class="el" href="randapi_8h.html" target="_self">randapi.h</a></td><td class="desc">PRNG API File </td></tr>
+<tr id="row_229_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__2048_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__2048_8h.html" target="_self">rsa_2048.h</a></td><td class="desc">RSA Header file for implementation of RSA protocol </td></tr>
+<tr id="row_230_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__3072_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__3072_8h.html" target="_self">rsa_3072.h</a></td><td class="desc">RSA Header file for implementation of RSA protocol </td></tr>
+<tr id="row_231_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__4096_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__4096_8h.html" target="_self">rsa_4096.h</a></td><td class="desc">RSA Header file for implementation of RSA protocol </td></tr>
+<tr id="row_232_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="rsa__support_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rsa__support_8h.html" target="_self">rsa_support.h</a></td><td class="desc">RSA Support Header File </td></tr>
+<tr id="row_233_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="utils_8c.html" target="_self">utils.c</a></td><td class="desc">AMCL Support functions for M-Pin servers </td></tr>
+<tr id="row_234_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="utils_8h_source.html"><span class="icondoc"></span></a><a class="el" href="utils_8h.html" target="_self">utils.h</a></td><td class="desc">Utility functions Header File </td></tr>
+<tr id="row_235_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="version_8c.html" target="_self">version.c</a></td><td class="desc">AMCL version support function </td></tr>
+<tr id="row_236_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="version_8h_source.html"><span class="icondoc"></span></a><b>version.h</b></td><td class="desc"></td></tr>
+<tr id="row_237_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc192__BLS24_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc192__BLS24_8h.html" target="_self">wcc192_BLS24.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_238_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc256__BLS48_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc256__BLS48_8h.html" target="_self">wcc256_BLS48.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_239_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BLS381_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BLS381_8h.html" target="_self">wcc_BLS381.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_240_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BLS383_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BLS383_8h.html" target="_self">wcc_BLS383.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_241_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BLS461_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BLS461_8h.html" target="_self">wcc_BLS461.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_242_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BN254_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BN254_8h.html" target="_self">wcc_BN254.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_243_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__BN254CX_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__BN254CX_8h.html" target="_self">wcc_BN254CX.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_244_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__FP256BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__FP256BN_8h.html" target="_self">wcc_FP256BN.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_245_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="wcc__FP512BN_8h_source.html"><span class="icondoc"></span></a><a class="el" href="wcc__FP512BN_8h.html" target="_self">wcc_FP512BN.h</a></td><td class="desc">WCC Header File </td></tr>
+<tr id="row_246_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="x509_8h_source.html"><span class="icondoc"></span></a><a class="el" href="x509_8h.html" target="_self">x509.h</a></td><td class="desc">X509 function Header File </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
@@ -346,7 +324,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/fp12__BLS381_8h.html b/website/static/cdocs/fp12__BLS381_8h.html
index b9b32a9..95a7e65 100644
--- a/website/static/cdocs/fp12__BLS381_8h.html
+++ b/website/static/cdocs/fp12__BLS381_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: fp12_BLS381.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"
@@ -1143,7 +1146,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/fp12__BLS381_8h_source.html b/website/static/cdocs/fp12__BLS381_8h_source.html
index 108eb19..672cbbb 100644
--- a/website/static/cdocs/fp12__BLS381_8h_source.html
+++ b/website/static/cdocs/fp12__BLS381_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: fp12_BLS381.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,51 +72,51 @@
 <div class="title">fp12_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp12__BLS381_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 FP12_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BLS381_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 &quot;<a class="code" href="fp4__BLS381_8h.html">fp4_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BLS381.html#a01cf792bcd5b249eec79bf28b79d0e2b">   38</a></span>&#160;    <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> <a class="code" href="structFP12__BLS381.html#a01cf792bcd5b249eec79bf28b79d0e2b">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html#ae2c9f35195321b9dd8b61bc9b8d0aab9">   39</a></span>&#160;    <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> <a class="code" href="structFP12__BLS381.html#ae2c9f35195321b9dd8b61bc9b8d0aab9">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html#a762d3c20856438c0aa63471c827a43a1">   40</a></span>&#160;    <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> <a class="code" href="structFP12__BLS381.html#a762d3c20856438c0aa63471c827a43a1">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html#adc548df4643909362e18a27871f7ace4">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BLS381.html#adc548df4643909362e18a27871f7ace4">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BLS381.html">FP12_BLS381</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS381_8h.html#a7892e31b63f733379bf6a0f2f4aeaa50">FP12_BLS381_iszilch</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS381_8h.html#a64ef347527032ae05f7ff929a8c55a8f">FP12_BLS381_isunity</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#ac734f91d9ad3684dacbfb696b6372d7d">FP12_BLS381_copy</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#ae8329da95652e33ad54d63f9cccc3794">FP12_BLS381_one</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#af0825c586d12bedf2c57bb6ff6a085b2">FP12_BLS381_zero</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS381_8h.html#abb118049c2851532a69a8c295f1ca339">FP12_BLS381_equals</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</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="fp12__BLS381_8h.html#ad8a3690c74f12108d149204336392deb">FP12_BLS381_conj</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a8f006c625d0b31e4ba1fc765e575877c">FP12_BLS381_from_FP4</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#ac654aba5d0807b56a2e2b12ae4395759">FP12_BLS381_from_FP4s</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *a,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a>* b,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a66a796501b3aef5a0e6e4dd33aba802a">FP12_BLS381_usqr</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aca92226d2dd69eb9eb22e2bd936bab6d">FP12_BLS381_sqr</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a40e0532b6feed90296f8fbbcdd01c930">FP12_BLS381_smul</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa7d4274ba2fc6a2ad7703e032f761ad4">FP12_BLS381_ssmul</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a02f48e31a96ad777d38bf646a1956a95">FP12_BLS381_mul</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</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="fp12__BLS381_8h.html#a0b85de7a59490bd2a54d4b6d7a9cd1fa">FP12_BLS381_inv</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa6d6c637e26f5324cffbf90a0dae5803">FP12_BLS381_pow</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aab9f8aabe49e21f988d7041d56fa3a6a">FP12_BLS381_pinpow</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a37b20c9cef3e6f774a8a7a85272ecd27">FP12_BLS381_compow</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *c,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BLS381_8h.html#a8827b5875b0ba8dc2c463d60fc194370">FP12_BLS381_pow4</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</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="fp12__BLS381_8h.html#ad792dd2ed22ab6a8131e16f619247e53">FP12_BLS381_frob</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa3974d788f6faa53d7d5f67e3f338a8a">FP12_BLS381_reduce</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#af8c4f8f84782ed95cfb9046d9486acef">FP12_BLS381_norm</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa36a4e586dd7654dcca3cbe9d6d7a33a">FP12_BLS381_output</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</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="fp12__BLS381_8h.html#ae7f83d6d505a5575abed6f59e9e75f67">FP12_BLS381_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#acf4096053edfca14e6bd2fcc41433abe">FP12_BLS381_fromOctet</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a1a81c7b5d92d860f053514c68ff9611a">FP12_BLS381_trace</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *t,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a42340635b42a4a1d0ecacc23218e7dbc">FP12_BLS381_cmove</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BLS381_8h_html_a1a81c7b5d92d860f053514c68ff9611a"><div class="ttname"><a href="fp12__BLS381_8h.html#a1a81c7b5d92d860f053514c68ff9611a">FP12_BLS381_trace</a></div><div class="ttdeci">void FP12_BLS381_trace(FP4_BLS381 *t, FP12_BLS381 *x)</div><div class="ttdoc">Calculate the trace of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:851</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_af0825c586d12bedf2c57bb6ff6a085b2"><div class="ttname"><a href="fp12__BLS381_8h.html#af0825c586d12bedf2c57bb6ff6a085b2">FP12_BLS381_zero</a></div><div class="ttdeci">void FP12_BLS381_zero(FP12_BLS381 *x)</div><div class="ttdoc">Set FP12 to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:98</div></div>
+<a href="fp12__BLS381_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 FP12_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BLS381_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 &quot;<a class="code" href="fp4__BLS381_8h.html">fp4_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BLS381.html#a01cf792bcd5b249eec79bf28b79d0e2b">   38</a></span>&#160;    <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> <a class="code" href="structFP12__BLS381.html#a01cf792bcd5b249eec79bf28b79d0e2b">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html#ae2c9f35195321b9dd8b61bc9b8d0aab9">   39</a></span>&#160;    <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> <a class="code" href="structFP12__BLS381.html#ae2c9f35195321b9dd8b61bc9b8d0aab9">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html#a762d3c20856438c0aa63471c827a43a1">   40</a></span>&#160;    <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> <a class="code" href="structFP12__BLS381.html#a762d3c20856438c0aa63471c827a43a1">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BLS381.html#adc548df4643909362e18a27871f7ace4">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BLS381.html#adc548df4643909362e18a27871f7ace4">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BLS381.html">FP12_BLS381</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS381_8h.html#a7892e31b63f733379bf6a0f2f4aeaa50">FP12_BLS381_iszilch</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS381_8h.html#a64ef347527032ae05f7ff929a8c55a8f">FP12_BLS381_isunity</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#ac734f91d9ad3684dacbfb696b6372d7d">FP12_BLS381_copy</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#ae8329da95652e33ad54d63f9cccc3794">FP12_BLS381_one</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#af0825c586d12bedf2c57bb6ff6a085b2">FP12_BLS381_zero</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS381_8h.html#abb118049c2851532a69a8c295f1ca339">FP12_BLS381_equals</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</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="fp12__BLS381_8h.html#ad8a3690c74f12108d149204336392deb">FP12_BLS381_conj</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a8f006c625d0b31e4ba1fc765e575877c">FP12_BLS381_from_FP4</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#ac654aba5d0807b56a2e2b12ae4395759">FP12_BLS381_from_FP4s</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *a,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a>* b,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a66a796501b3aef5a0e6e4dd33aba802a">FP12_BLS381_usqr</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aca92226d2dd69eb9eb22e2bd936bab6d">FP12_BLS381_sqr</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a40e0532b6feed90296f8fbbcdd01c930">FP12_BLS381_smul</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa7d4274ba2fc6a2ad7703e032f761ad4">FP12_BLS381_ssmul</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a02f48e31a96ad777d38bf646a1956a95">FP12_BLS381_mul</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</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="fp12__BLS381_8h.html#a0b85de7a59490bd2a54d4b6d7a9cd1fa">FP12_BLS381_inv</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa6d6c637e26f5324cffbf90a0dae5803">FP12_BLS381_pow</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aab9f8aabe49e21f988d7041d56fa3a6a">FP12_BLS381_pinpow</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a37b20c9cef3e6f774a8a7a85272ecd27">FP12_BLS381_compow</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *c,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BLS381_8h.html#a8827b5875b0ba8dc2c463d60fc194370">FP12_BLS381_pow4</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</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="fp12__BLS381_8h.html#ad792dd2ed22ab6a8131e16f619247e53">FP12_BLS381_frob</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa3974d788f6faa53d7d5f67e3f338a8a">FP12_BLS381_reduce</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#af8c4f8f84782ed95cfb9046d9486acef">FP12_BLS381_norm</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#aa36a4e586dd7654dcca3cbe9d6d7a33a">FP12_BLS381_output</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</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="fp12__BLS381_8h.html#ae7f83d6d505a5575abed6f59e9e75f67">FP12_BLS381_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#acf4096053edfca14e6bd2fcc41433abe">FP12_BLS381_fromOctet</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a1a81c7b5d92d860f053514c68ff9611a">FP12_BLS381_trace</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *t,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS381_8h.html#a42340635b42a4a1d0ecacc23218e7dbc">FP12_BLS381_cmove</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BLS381_8h_html_a1a81c7b5d92d860f053514c68ff9611a"><div class="ttname"><a href="fp12__BLS381_8h.html#a1a81c7b5d92d860f053514c68ff9611a">FP12_BLS381_trace</a></div><div class="ttdeci">void FP12_BLS381_trace(FP4_BLS381 *t, FP12_BLS381 *x)</div><div class="ttdoc">Calculate the trace of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:851</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_af0825c586d12bedf2c57bb6ff6a085b2"><div class="ttname"><a href="fp12__BLS381_8h.html#af0825c586d12bedf2c57bb6ff6a085b2">FP12_BLS381_zero</a></div><div class="ttdeci">void FP12_BLS381_zero(FP12_BLS381 *x)</div><div class="ttdoc">Set FP12 to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:98</div></div>
 <div class="ttc" id="structFP12__BLS381_html_a01cf792bcd5b249eec79bf28b79d0e2b"><div class="ttname"><a href="structFP12__BLS381.html#a01cf792bcd5b249eec79bf28b79d0e2b">FP12_BLS381::a</a></div><div class="ttdeci">FP4_BLS381 a</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:38</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a02f48e31a96ad777d38bf646a1956a95"><div class="ttname"><a href="fp12__BLS381_8h.html#a02f48e31a96ad777d38bf646a1956a95">FP12_BLS381_mul</a></div><div class="ttdeci">void FP12_BLS381_mul(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:245</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_ac654aba5d0807b56a2e2b12ae4395759"><div class="ttname"><a href="fp12__BLS381_8h.html#ac654aba5d0807b56a2e2b12ae4395759">FP12_BLS381_from_FP4s</a></div><div class="ttdeci">void FP12_BLS381_from_FP4s(FP12_BLS381 *x, FP4_BLS381 *a, FP4_BLS381 *b, FP4_BLS381 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:137</div></div>
-<div class="ttc" id="structFP4__BLS381_html"><div class="ttname"><a href="structFP4__BLS381.html">FP4_BLS381</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.h:37</div></div>
-<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_aca92226d2dd69eb9eb22e2bd936bab6d"><div class="ttname"><a href="fp12__BLS381_8h.html#aca92226d2dd69eb9eb22e2bd936bab6d">FP12_BLS381_sqr</a></div><div class="ttdeci">void FP12_BLS381_sqr(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Squaring an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:189</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a0b85de7a59490bd2a54d4b6d7a9cd1fa"><div class="ttname"><a href="fp12__BLS381_8h.html#a0b85de7a59490bd2a54d4b6d7a9cd1fa">FP12_BLS381_inv</a></div><div class="ttdeci">void FP12_BLS381_inv(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Inverting an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:582</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a02f48e31a96ad777d38bf646a1956a95"><div class="ttname"><a href="fp12__BLS381_8h.html#a02f48e31a96ad777d38bf646a1956a95">FP12_BLS381_mul</a></div><div class="ttdeci">void FP12_BLS381_mul(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:245</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_ac654aba5d0807b56a2e2b12ae4395759"><div class="ttname"><a href="fp12__BLS381_8h.html#ac654aba5d0807b56a2e2b12ae4395759">FP12_BLS381_from_FP4s</a></div><div class="ttdeci">void FP12_BLS381_from_FP4s(FP12_BLS381 *x, FP4_BLS381 *a, FP4_BLS381 *b, FP4_BLS381 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:137</div></div>
+<div class="ttc" id="structFP4__BLS381_html"><div class="ttname"><a href="structFP4__BLS381.html">FP4_BLS381</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.h:37</div></div>
+<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_aca92226d2dd69eb9eb22e2bd936bab6d"><div class="ttname"><a href="fp12__BLS381_8h.html#aca92226d2dd69eb9eb22e2bd936bab6d">FP12_BLS381_sqr</a></div><div class="ttdeci">void FP12_BLS381_sqr(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Squaring an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:189</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a0b85de7a59490bd2a54d4b6d7a9cd1fa"><div class="ttname"><a href="fp12__BLS381_8h.html#a0b85de7a59490bd2a54d4b6d7a9cd1fa">FP12_BLS381_inv</a></div><div class="ttdeci">void FP12_BLS381_inv(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Inverting an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:582</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
 <div class="ttc" id="fp12__BLS381_8h_html_a80db75c3cbe43f3353897b39d21e4f34"><div class="ttname"><a href="fp12__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a></div><div class="ttdeci">const BIG_384_58 Frb_BLS381</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_ae8329da95652e33ad54d63f9cccc3794"><div class="ttname"><a href="fp12__BLS381_8h.html#ae8329da95652e33ad54d63f9cccc3794">FP12_BLS381_one</a></div><div class="ttdeci">void FP12_BLS381_one(FP12_BLS381 *x)</div><div class="ttdoc">Set FP12 to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:90</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a64ef347527032ae05f7ff929a8c55a8f"><div class="ttname"><a href="fp12__BLS381_8h.html#a64ef347527032ae05f7ff929a8c55a8f">FP12_BLS381_isunity</a></div><div class="ttdeci">int FP12_BLS381_isunity(FP12_BLS381 *x)</div><div class="ttdoc">Tests for FP12 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:71</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a66a796501b3aef5a0e6e4dd33aba802a"><div class="ttname"><a href="fp12__BLS381_8h.html#a66a796501b3aef5a0e6e4dd33aba802a">FP12_BLS381_usqr</a></div><div class="ttdeci">void FP12_BLS381_usqr(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:147</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_aa3974d788f6faa53d7d5f67e3f338a8a"><div class="ttname"><a href="fp12__BLS381_8h.html#aa3974d788f6faa53d7d5f67e3f338a8a">FP12_BLS381_reduce</a></div><div class="ttdeci">void FP12_BLS381_reduce(FP12_BLS381 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:842</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_af8c4f8f84782ed95cfb9046d9486acef"><div class="ttname"><a href="fp12__BLS381_8h.html#af8c4f8f84782ed95cfb9046d9486acef">FP12_BLS381_norm</a></div><div class="ttdeci">void FP12_BLS381_norm(FP12_BLS381 *x)</div><div class="ttdoc">Normalises the components of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:833</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="fp12__BLS381_8h_html_a8827b5875b0ba8dc2c463d60fc194370"><div class="ttname"><a href="fp12__BLS381_8h.html#a8827b5875b0ba8dc2c463d60fc194370">FP12_BLS381_pow4</a></div><div class="ttdeci">void FP12_BLS381_pow4(FP12_BLS381 *r, FP12_BLS381 *x, BIG_384_58 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant.</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_aa36a4e586dd7654dcca3cbe9d6d7a33a"><div class="ttname"><a href="fp12__BLS381_8h.html#aa36a4e586dd7654dcca3cbe9d6d7a33a">FP12_BLS381_output</a></div><div class="ttdeci">void FP12_BLS381_output(FP12_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:859</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a8f006c625d0b31e4ba1fc765e575877c"><div class="ttname"><a href="fp12__BLS381_8h.html#a8f006c625d0b31e4ba1fc765e575877c">FP12_BLS381_from_FP4</a></div><div class="ttdeci">void FP12_BLS381_from_FP4(FP12_BLS381 *x, FP4_BLS381 *a)</div><div class="ttdoc">Initialise FP12 from single FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:127</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_ad792dd2ed22ab6a8131e16f619247e53"><div class="ttname"><a href="fp12__BLS381_8h.html#ad792dd2ed22ab6a8131e16f619247e53">FP12_BLS381_frob</a></div><div class="ttdeci">void FP12_BLS381_frob(FP12_BLS381 *x, FP2_BLS381 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:816</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_aa6d6c637e26f5324cffbf90a0dae5803"><div class="ttname"><a href="fp12__BLS381_8h.html#aa6d6c637e26f5324cffbf90a0dae5803">FP12_BLS381_pow</a></div><div class="ttdeci">void FP12_BLS381_pow(FP12_BLS381 *r, FP12_BLS381 *x, BIG_384_58 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:692</div></div>
-<div class="ttc" id="structFP12__BLS381_html"><div class="ttname"><a href="structFP12__BLS381.html">FP12_BLS381</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:36</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_abb118049c2851532a69a8c295f1ca339"><div class="ttname"><a href="fp12__BLS381_8h.html#abb118049c2851532a69a8c295f1ca339">FP12_BLS381_equals</a></div><div class="ttdeci">int FP12_BLS381_equals(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Tests for equality of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:108</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_aa7d4274ba2fc6a2ad7703e032f761ad4"><div class="ttname"><a href="fp12__BLS381_8h.html#aa7d4274ba2fc6a2ad7703e032f761ad4">FP12_BLS381_ssmul</a></div><div class="ttdeci">void FP12_BLS381_ssmul(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:302</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a37b20c9cef3e6f774a8a7a85272ecd27"><div class="ttname"><a href="fp12__BLS381_8h.html#a37b20c9cef3e6f774a8a7a85272ecd27">FP12_BLS381_compow</a></div><div class="ttdeci">void FP12_BLS381_compow(FP4_BLS381 *c, FP12_BLS381 *x, BIG_384_58 e, BIG_384_58 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:642</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_ae8329da95652e33ad54d63f9cccc3794"><div class="ttname"><a href="fp12__BLS381_8h.html#ae8329da95652e33ad54d63f9cccc3794">FP12_BLS381_one</a></div><div class="ttdeci">void FP12_BLS381_one(FP12_BLS381 *x)</div><div class="ttdoc">Set FP12 to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:90</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a64ef347527032ae05f7ff929a8c55a8f"><div class="ttname"><a href="fp12__BLS381_8h.html#a64ef347527032ae05f7ff929a8c55a8f">FP12_BLS381_isunity</a></div><div class="ttdeci">int FP12_BLS381_isunity(FP12_BLS381 *x)</div><div class="ttdoc">Tests for FP12 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:71</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a66a796501b3aef5a0e6e4dd33aba802a"><div class="ttname"><a href="fp12__BLS381_8h.html#a66a796501b3aef5a0e6e4dd33aba802a">FP12_BLS381_usqr</a></div><div class="ttdeci">void FP12_BLS381_usqr(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:147</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_aa3974d788f6faa53d7d5f67e3f338a8a"><div class="ttname"><a href="fp12__BLS381_8h.html#aa3974d788f6faa53d7d5f67e3f338a8a">FP12_BLS381_reduce</a></div><div class="ttdeci">void FP12_BLS381_reduce(FP12_BLS381 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:842</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_af8c4f8f84782ed95cfb9046d9486acef"><div class="ttname"><a href="fp12__BLS381_8h.html#af8c4f8f84782ed95cfb9046d9486acef">FP12_BLS381_norm</a></div><div class="ttdeci">void FP12_BLS381_norm(FP12_BLS381 *x)</div><div class="ttdoc">Normalises the components of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:833</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="fp12__BLS381_8h_html_a8827b5875b0ba8dc2c463d60fc194370"><div class="ttname"><a href="fp12__BLS381_8h.html#a8827b5875b0ba8dc2c463d60fc194370">FP12_BLS381_pow4</a></div><div class="ttdeci">void FP12_BLS381_pow4(FP12_BLS381 *r, FP12_BLS381 *x, BIG_384_58 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant. </div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_aa36a4e586dd7654dcca3cbe9d6d7a33a"><div class="ttname"><a href="fp12__BLS381_8h.html#aa36a4e586dd7654dcca3cbe9d6d7a33a">FP12_BLS381_output</a></div><div class="ttdeci">void FP12_BLS381_output(FP12_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:859</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a8f006c625d0b31e4ba1fc765e575877c"><div class="ttname"><a href="fp12__BLS381_8h.html#a8f006c625d0b31e4ba1fc765e575877c">FP12_BLS381_from_FP4</a></div><div class="ttdeci">void FP12_BLS381_from_FP4(FP12_BLS381 *x, FP4_BLS381 *a)</div><div class="ttdoc">Initialise FP12 from single FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:127</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_ad792dd2ed22ab6a8131e16f619247e53"><div class="ttname"><a href="fp12__BLS381_8h.html#ad792dd2ed22ab6a8131e16f619247e53">FP12_BLS381_frob</a></div><div class="ttdeci">void FP12_BLS381_frob(FP12_BLS381 *x, FP2_BLS381 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:816</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_aa6d6c637e26f5324cffbf90a0dae5803"><div class="ttname"><a href="fp12__BLS381_8h.html#aa6d6c637e26f5324cffbf90a0dae5803">FP12_BLS381_pow</a></div><div class="ttdeci">void FP12_BLS381_pow(FP12_BLS381 *r, FP12_BLS381 *x, BIG_384_58 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:692</div></div>
+<div class="ttc" id="structFP12__BLS381_html"><div class="ttname"><a href="structFP12__BLS381.html">FP12_BLS381</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:36</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_abb118049c2851532a69a8c295f1ca339"><div class="ttname"><a href="fp12__BLS381_8h.html#abb118049c2851532a69a8c295f1ca339">FP12_BLS381_equals</a></div><div class="ttdeci">int FP12_BLS381_equals(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Tests for equality of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:108</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_aa7d4274ba2fc6a2ad7703e032f761ad4"><div class="ttname"><a href="fp12__BLS381_8h.html#aa7d4274ba2fc6a2ad7703e032f761ad4">FP12_BLS381_ssmul</a></div><div class="ttdeci">void FP12_BLS381_ssmul(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:302</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a37b20c9cef3e6f774a8a7a85272ecd27"><div class="ttname"><a href="fp12__BLS381_8h.html#a37b20c9cef3e6f774a8a7a85272ecd27">FP12_BLS381_compow</a></div><div class="ttdeci">void FP12_BLS381_compow(FP4_BLS381 *c, FP12_BLS381 *x, BIG_384_58 e, BIG_384_58 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:642</div></div>
 <div class="ttc" id="structFP12__BLS381_html_a762d3c20856438c0aa63471c827a43a1"><div class="ttname"><a href="structFP12__BLS381.html#a762d3c20856438c0aa63471c827a43a1">FP12_BLS381::c</a></div><div class="ttdeci">FP4_BLS381 c</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:40</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_aab9f8aabe49e21f988d7041d56fa3a6a"><div class="ttname"><a href="fp12__BLS381_8h.html#aab9f8aabe49e21f988d7041d56fa3a6a">FP12_BLS381_pinpow</a></div><div class="ttdeci">void FP12_BLS381_pinpow(FP12_BLS381 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:623</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a7892e31b63f733379bf6a0f2f4aeaa50"><div class="ttname"><a href="fp12__BLS381_8h.html#a7892e31b63f733379bf6a0f2f4aeaa50">FP12_BLS381_iszilch</a></div><div class="ttdeci">int FP12_BLS381_iszilch(FP12_BLS381 *x)</div><div class="ttdoc">Tests for FP12 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:63</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_aab9f8aabe49e21f988d7041d56fa3a6a"><div class="ttname"><a href="fp12__BLS381_8h.html#aab9f8aabe49e21f988d7041d56fa3a6a">FP12_BLS381_pinpow</a></div><div class="ttdeci">void FP12_BLS381_pinpow(FP12_BLS381 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:623</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a7892e31b63f733379bf6a0f2f4aeaa50"><div class="ttname"><a href="fp12__BLS381_8h.html#a7892e31b63f733379bf6a0f2f4aeaa50">FP12_BLS381_iszilch</a></div><div class="ttdeci">int FP12_BLS381_iszilch(FP12_BLS381 *x)</div><div class="ttdoc">Tests for FP12 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:63</div></div>
 <div class="ttc" id="fp12__BLS381_8h_html_a1214b4014ddfebcc990efe1f496d0698"><div class="ttname"><a href="fp12__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a></div><div class="ttdeci">const BIG_384_58 Fra_BLS381</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a42340635b42a4a1d0ecacc23218e7dbc"><div class="ttname"><a href="fp12__BLS381_8h.html#a42340635b42a4a1d0ecacc23218e7dbc">FP12_BLS381_cmove</a></div><div class="ttdeci">void FP12_BLS381_cmove(FP12_BLS381 *x, FP12_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:935</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html"><div class="ttname"><a href="fp4__BLS381_8h.html">fp4_BLS381.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a42340635b42a4a1d0ecacc23218e7dbc"><div class="ttname"><a href="fp12__BLS381_8h.html#a42340635b42a4a1d0ecacc23218e7dbc">FP12_BLS381_cmove</a></div><div class="ttdeci">void FP12_BLS381_cmove(FP12_BLS381 *x, FP12_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:935</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html"><div class="ttname"><a href="fp4__BLS381_8h.html">fp4_BLS381.h</a></div><div class="ttdoc">FP4 Header File. </div></div>
 <div class="ttc" id="structFP12__BLS381_html_adc548df4643909362e18a27871f7ace4"><div class="ttname"><a href="structFP12__BLS381.html#adc548df4643909362e18a27871f7ace4">FP12_BLS381::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:41</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_ac734f91d9ad3684dacbfb696b6372d7d"><div class="ttname"><a href="fp12__BLS381_8h.html#ac734f91d9ad3684dacbfb696b6372d7d">FP12_BLS381_copy</a></div><div class="ttdeci">void FP12_BLS381_copy(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Copy FP12 to another FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:79</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_acf4096053edfca14e6bd2fcc41433abe"><div class="ttname"><a href="fp12__BLS381_8h.html#acf4096053edfca14e6bd2fcc41433abe">FP12_BLS381_fromOctet</a></div><div class="ttdeci">void FP12_BLS381_fromOctet(FP12_BLS381 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:905</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_ae7f83d6d505a5575abed6f59e9e75f67"><div class="ttname"><a href="fp12__BLS381_8h.html#ae7f83d6d505a5575abed6f59e9e75f67">FP12_BLS381_toOctet</a></div><div class="ttdeci">void FP12_BLS381_toOctet(octet *S, FP12_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:872</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_ad8a3690c74f12108d149204336392deb"><div class="ttname"><a href="fp12__BLS381_8h.html#ad8a3690c74f12108d149204336392deb">FP12_BLS381_conj</a></div><div class="ttdeci">void FP12_BLS381_conj(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Conjugation of FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:117</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html_a40e0532b6feed90296f8fbbcdd01c930"><div class="ttname"><a href="fp12__BLS381_8h.html#a40e0532b6feed90296f8fbbcdd01c930">FP12_BLS381_smul</a></div><div class="ttdeci">void FP12_BLS381_smul(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:480</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_ac734f91d9ad3684dacbfb696b6372d7d"><div class="ttname"><a href="fp12__BLS381_8h.html#ac734f91d9ad3684dacbfb696b6372d7d">FP12_BLS381_copy</a></div><div class="ttdeci">void FP12_BLS381_copy(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Copy FP12 to another FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:79</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_acf4096053edfca14e6bd2fcc41433abe"><div class="ttname"><a href="fp12__BLS381_8h.html#acf4096053edfca14e6bd2fcc41433abe">FP12_BLS381_fromOctet</a></div><div class="ttdeci">void FP12_BLS381_fromOctet(FP12_BLS381 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:905</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_ae7f83d6d505a5575abed6f59e9e75f67"><div class="ttname"><a href="fp12__BLS381_8h.html#ae7f83d6d505a5575abed6f59e9e75f67">FP12_BLS381_toOctet</a></div><div class="ttdeci">void FP12_BLS381_toOctet(octet *S, FP12_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:872</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_ad8a3690c74f12108d149204336392deb"><div class="ttname"><a href="fp12__BLS381_8h.html#ad8a3690c74f12108d149204336392deb">FP12_BLS381_conj</a></div><div class="ttdeci">void FP12_BLS381_conj(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Conjugation of FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:117</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html_a40e0532b6feed90296f8fbbcdd01c930"><div class="ttname"><a href="fp12__BLS381_8h.html#a40e0532b6feed90296f8fbbcdd01c930">FP12_BLS381_smul</a></div><div class="ttdeci">void FP12_BLS381_smul(FP12_BLS381 *x, FP12_BLS381 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.c:480</div></div>
 <div class="ttc" id="structFP12__BLS381_html_ae2c9f35195321b9dd8b61bc9b8d0aab9"><div class="ttname"><a href="structFP12__BLS381.html#ae2c9f35195321b9dd8b61bc9b8d0aab9">FP12_BLS381::b</a></div><div class="ttdeci">FP4_BLS381 b</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:39</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/fp12__BLS383_8h.html b/website/static/cdocs/fp12__BLS383_8h.html
index c6abb1f..0811b43 100644
--- a/website/static/cdocs/fp12__BLS383_8h.html
+++ b/website/static/cdocs/fp12__BLS383_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: fp12_BLS383.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"
@@ -1143,7 +1146,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/fp12__BLS383_8h_source.html b/website/static/cdocs/fp12__BLS383_8h_source.html
index 7e5eb67..0ab53b6 100644
--- a/website/static/cdocs/fp12__BLS383_8h_source.html
+++ b/website/static/cdocs/fp12__BLS383_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: fp12_BLS383.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,51 +72,51 @@
 <div class="title">fp12_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp12__BLS383_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 FP12_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BLS383_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 &quot;<a class="code" href="fp4__BLS383_8h.html">fp4_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BLS383.html#a7f9e731a1e0ebc89339ac41e33a98f9a">   38</a></span>&#160;    <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> <a class="code" href="structFP12__BLS383.html#a7f9e731a1e0ebc89339ac41e33a98f9a">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html#a8354ef85e35360fcc5e0d026a8639efc">   39</a></span>&#160;    <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> <a class="code" href="structFP12__BLS383.html#a8354ef85e35360fcc5e0d026a8639efc">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html#ab32c55ed73277ff348b4546fcc317d61">   40</a></span>&#160;    <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> <a class="code" href="structFP12__BLS383.html#ab32c55ed73277ff348b4546fcc317d61">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html#a0c635bbe807a1cdd0e083068585a37de">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BLS383.html#a0c635bbe807a1cdd0e083068585a37de">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BLS383.html">FP12_BLS383</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS383_8h.html#a9fa3f1ff00723a0f47ab8dc6d6626aa8">FP12_BLS383_iszilch</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS383_8h.html#abc227ee06b756f509b255c555f1b9382">FP12_BLS383_isunity</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#ac86ce01fd4b23f50d06e15aac944a620">FP12_BLS383_copy</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a987840d248437811f7375438a52f16fd">FP12_BLS383_one</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a01b30d8c770692a3f5717e8be61d34b7">FP12_BLS383_zero</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS383_8h.html#a06b3b2579e39e313860b7f2fb42c4999">FP12_BLS383_equals</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</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="fp12__BLS383_8h.html#a8d04118042cad88450c6136e4afce5ba">FP12_BLS383_conj</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a8d4d53a5dfc244e94290b5ddfadaa72b">FP12_BLS383_from_FP4</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a20ea589c848b822a7dcb09d1d1532dc2">FP12_BLS383_from_FP4s</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *a,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a>* b,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a5df48e9eb04b95975186c92f968aba4d">FP12_BLS383_usqr</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a008948ad25e2bb2e768b46877e2a4700">FP12_BLS383_sqr</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a388d287b18dcb4c6102c63a40ad69fb3">FP12_BLS383_smul</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a249988a4d7673e6407c06ed3ad707791">FP12_BLS383_ssmul</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a9d2dff8ebd26a170793b6437241e7eaf">FP12_BLS383_mul</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</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="fp12__BLS383_8h.html#a437c5edb6359f9fe002af258ab96a552">FP12_BLS383_inv</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a17e381b8b56bae08a9f61cfb2ca43da8">FP12_BLS383_pow</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a100f4a935293cf6c5f34b9e36521d023">FP12_BLS383_pinpow</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a29f39c72ae9241846abbfee5bf4f763e">FP12_BLS383_compow</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *c,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BLS383_8h.html#a78293c32d04f7d2e055c932750bef185">FP12_BLS383_pow4</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</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="fp12__BLS383_8h.html#a91e614d885a742b734d0801552315e23">FP12_BLS383_frob</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a56cdbce65338447d495d15037768cc77">FP12_BLS383_reduce</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a1d09ea7c64072b5f0de3539c1d0f8f0f">FP12_BLS383_norm</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a2564f890b1f9e8df817ab7a52a9f7be8">FP12_BLS383_output</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</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="fp12__BLS383_8h.html#a4114fa7ceb9d2c3b62ff4b35d878c5de">FP12_BLS383_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a872cca1adcbfc12d942b545041d5c22c">FP12_BLS383_fromOctet</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a61842c14491370ab373eaa836abbf113">FP12_BLS383_trace</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *t,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a9008d7bfdff23d15c79b4cf174db438b">FP12_BLS383_cmove</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BLS383_8h_html_a5df48e9eb04b95975186c92f968aba4d"><div class="ttname"><a href="fp12__BLS383_8h.html#a5df48e9eb04b95975186c92f968aba4d">FP12_BLS383_usqr</a></div><div class="ttdeci">void FP12_BLS383_usqr(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:147</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a437c5edb6359f9fe002af258ab96a552"><div class="ttname"><a href="fp12__BLS383_8h.html#a437c5edb6359f9fe002af258ab96a552">FP12_BLS383_inv</a></div><div class="ttdeci">void FP12_BLS383_inv(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Inverting an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:582</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a9fa3f1ff00723a0f47ab8dc6d6626aa8"><div class="ttname"><a href="fp12__BLS383_8h.html#a9fa3f1ff00723a0f47ab8dc6d6626aa8">FP12_BLS383_iszilch</a></div><div class="ttdeci">int FP12_BLS383_iszilch(FP12_BLS383 *x)</div><div class="ttdoc">Tests for FP12 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:63</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a249988a4d7673e6407c06ed3ad707791"><div class="ttname"><a href="fp12__BLS383_8h.html#a249988a4d7673e6407c06ed3ad707791">FP12_BLS383_ssmul</a></div><div class="ttdeci">void FP12_BLS383_ssmul(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:302</div></div>
-<div class="ttc" id="structFP4__BLS383_html"><div class="ttname"><a href="structFP4__BLS383.html">FP4_BLS383</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.h:37</div></div>
-<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
+<a href="fp12__BLS383_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 FP12_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BLS383_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 &quot;<a class="code" href="fp4__BLS383_8h.html">fp4_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BLS383.html#a7f9e731a1e0ebc89339ac41e33a98f9a">   38</a></span>&#160;    <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> <a class="code" href="structFP12__BLS383.html#a7f9e731a1e0ebc89339ac41e33a98f9a">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html#a8354ef85e35360fcc5e0d026a8639efc">   39</a></span>&#160;    <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> <a class="code" href="structFP12__BLS383.html#a8354ef85e35360fcc5e0d026a8639efc">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html#ab32c55ed73277ff348b4546fcc317d61">   40</a></span>&#160;    <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> <a class="code" href="structFP12__BLS383.html#ab32c55ed73277ff348b4546fcc317d61">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BLS383.html#a0c635bbe807a1cdd0e083068585a37de">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BLS383.html#a0c635bbe807a1cdd0e083068585a37de">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BLS383.html">FP12_BLS383</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp12__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS383_8h.html#a9fa3f1ff00723a0f47ab8dc6d6626aa8">FP12_BLS383_iszilch</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS383_8h.html#abc227ee06b756f509b255c555f1b9382">FP12_BLS383_isunity</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#ac86ce01fd4b23f50d06e15aac944a620">FP12_BLS383_copy</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a987840d248437811f7375438a52f16fd">FP12_BLS383_one</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a01b30d8c770692a3f5717e8be61d34b7">FP12_BLS383_zero</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS383_8h.html#a06b3b2579e39e313860b7f2fb42c4999">FP12_BLS383_equals</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</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="fp12__BLS383_8h.html#a8d04118042cad88450c6136e4afce5ba">FP12_BLS383_conj</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a8d4d53a5dfc244e94290b5ddfadaa72b">FP12_BLS383_from_FP4</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a20ea589c848b822a7dcb09d1d1532dc2">FP12_BLS383_from_FP4s</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *a,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a>* b,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a5df48e9eb04b95975186c92f968aba4d">FP12_BLS383_usqr</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a008948ad25e2bb2e768b46877e2a4700">FP12_BLS383_sqr</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a388d287b18dcb4c6102c63a40ad69fb3">FP12_BLS383_smul</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a249988a4d7673e6407c06ed3ad707791">FP12_BLS383_ssmul</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a9d2dff8ebd26a170793b6437241e7eaf">FP12_BLS383_mul</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</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="fp12__BLS383_8h.html#a437c5edb6359f9fe002af258ab96a552">FP12_BLS383_inv</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a17e381b8b56bae08a9f61cfb2ca43da8">FP12_BLS383_pow</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a100f4a935293cf6c5f34b9e36521d023">FP12_BLS383_pinpow</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a29f39c72ae9241846abbfee5bf4f763e">FP12_BLS383_compow</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *c,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BLS383_8h.html#a78293c32d04f7d2e055c932750bef185">FP12_BLS383_pow4</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> *b);</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="fp12__BLS383_8h.html#a91e614d885a742b734d0801552315e23">FP12_BLS383_frob</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a56cdbce65338447d495d15037768cc77">FP12_BLS383_reduce</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a1d09ea7c64072b5f0de3539c1d0f8f0f">FP12_BLS383_norm</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a2564f890b1f9e8df817ab7a52a9f7be8">FP12_BLS383_output</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</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="fp12__BLS383_8h.html#a4114fa7ceb9d2c3b62ff4b35d878c5de">FP12_BLS383_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a872cca1adcbfc12d942b545041d5c22c">FP12_BLS383_fromOctet</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a61842c14491370ab373eaa836abbf113">FP12_BLS383_trace</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *t,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS383_8h.html#a9008d7bfdff23d15c79b4cf174db438b">FP12_BLS383_cmove</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BLS383_8h_html_a5df48e9eb04b95975186c92f968aba4d"><div class="ttname"><a href="fp12__BLS383_8h.html#a5df48e9eb04b95975186c92f968aba4d">FP12_BLS383_usqr</a></div><div class="ttdeci">void FP12_BLS383_usqr(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:147</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a437c5edb6359f9fe002af258ab96a552"><div class="ttname"><a href="fp12__BLS383_8h.html#a437c5edb6359f9fe002af258ab96a552">FP12_BLS383_inv</a></div><div class="ttdeci">void FP12_BLS383_inv(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Inverting an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:582</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a9fa3f1ff00723a0f47ab8dc6d6626aa8"><div class="ttname"><a href="fp12__BLS383_8h.html#a9fa3f1ff00723a0f47ab8dc6d6626aa8">FP12_BLS383_iszilch</a></div><div class="ttdeci">int FP12_BLS383_iszilch(FP12_BLS383 *x)</div><div class="ttdoc">Tests for FP12 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:63</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a249988a4d7673e6407c06ed3ad707791"><div class="ttname"><a href="fp12__BLS383_8h.html#a249988a4d7673e6407c06ed3ad707791">FP12_BLS383_ssmul</a></div><div class="ttdeci">void FP12_BLS383_ssmul(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:302</div></div>
+<div class="ttc" id="structFP4__BLS383_html"><div class="ttname"><a href="structFP4__BLS383.html">FP4_BLS383</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.h:37</div></div>
+<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a61842c14491370ab373eaa836abbf113"><div class="ttname"><a href="fp12__BLS383_8h.html#a61842c14491370ab373eaa836abbf113">FP12_BLS383_trace</a></div><div class="ttdeci">void FP12_BLS383_trace(FP4_BLS383 *t, FP12_BLS383 *x)</div><div class="ttdoc">Calculate the trace of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:851</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a9d2dff8ebd26a170793b6437241e7eaf"><div class="ttname"><a href="fp12__BLS383_8h.html#a9d2dff8ebd26a170793b6437241e7eaf">FP12_BLS383_mul</a></div><div class="ttdeci">void FP12_BLS383_mul(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:245</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a872cca1adcbfc12d942b545041d5c22c"><div class="ttname"><a href="fp12__BLS383_8h.html#a872cca1adcbfc12d942b545041d5c22c">FP12_BLS383_fromOctet</a></div><div class="ttdeci">void FP12_BLS383_fromOctet(FP12_BLS383 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:905</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_ac86ce01fd4b23f50d06e15aac944a620"><div class="ttname"><a href="fp12__BLS383_8h.html#ac86ce01fd4b23f50d06e15aac944a620">FP12_BLS383_copy</a></div><div class="ttdeci">void FP12_BLS383_copy(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Copy FP12 to another FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:79</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a78293c32d04f7d2e055c932750bef185"><div class="ttname"><a href="fp12__BLS383_8h.html#a78293c32d04f7d2e055c932750bef185">FP12_BLS383_pow4</a></div><div class="ttdeci">void FP12_BLS383_pow4(FP12_BLS383 *r, FP12_BLS383 *x, BIG_384_58 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant.</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a61842c14491370ab373eaa836abbf113"><div class="ttname"><a href="fp12__BLS383_8h.html#a61842c14491370ab373eaa836abbf113">FP12_BLS383_trace</a></div><div class="ttdeci">void FP12_BLS383_trace(FP4_BLS383 *t, FP12_BLS383 *x)</div><div class="ttdoc">Calculate the trace of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:851</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a9d2dff8ebd26a170793b6437241e7eaf"><div class="ttname"><a href="fp12__BLS383_8h.html#a9d2dff8ebd26a170793b6437241e7eaf">FP12_BLS383_mul</a></div><div class="ttdeci">void FP12_BLS383_mul(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:245</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a872cca1adcbfc12d942b545041d5c22c"><div class="ttname"><a href="fp12__BLS383_8h.html#a872cca1adcbfc12d942b545041d5c22c">FP12_BLS383_fromOctet</a></div><div class="ttdeci">void FP12_BLS383_fromOctet(FP12_BLS383 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:905</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_ac86ce01fd4b23f50d06e15aac944a620"><div class="ttname"><a href="fp12__BLS383_8h.html#ac86ce01fd4b23f50d06e15aac944a620">FP12_BLS383_copy</a></div><div class="ttdeci">void FP12_BLS383_copy(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Copy FP12 to another FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:79</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a78293c32d04f7d2e055c932750bef185"><div class="ttname"><a href="fp12__BLS383_8h.html#a78293c32d04f7d2e055c932750bef185">FP12_BLS383_pow4</a></div><div class="ttdeci">void FP12_BLS383_pow4(FP12_BLS383 *r, FP12_BLS383 *x, BIG_384_58 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant. </div></div>
 <div class="ttc" id="structFP12__BLS383_html_a0c635bbe807a1cdd0e083068585a37de"><div class="ttname"><a href="structFP12__BLS383.html#a0c635bbe807a1cdd0e083068585a37de">FP12_BLS383::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:41</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a2564f890b1f9e8df817ab7a52a9f7be8"><div class="ttname"><a href="fp12__BLS383_8h.html#a2564f890b1f9e8df817ab7a52a9f7be8">FP12_BLS383_output</a></div><div class="ttdeci">void FP12_BLS383_output(FP12_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:859</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="fp12__BLS383_8h_html_a8d4d53a5dfc244e94290b5ddfadaa72b"><div class="ttname"><a href="fp12__BLS383_8h.html#a8d4d53a5dfc244e94290b5ddfadaa72b">FP12_BLS383_from_FP4</a></div><div class="ttdeci">void FP12_BLS383_from_FP4(FP12_BLS383 *x, FP4_BLS383 *a)</div><div class="ttdoc">Initialise FP12 from single FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:127</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a2564f890b1f9e8df817ab7a52a9f7be8"><div class="ttname"><a href="fp12__BLS383_8h.html#a2564f890b1f9e8df817ab7a52a9f7be8">FP12_BLS383_output</a></div><div class="ttdeci">void FP12_BLS383_output(FP12_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:859</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="fp12__BLS383_8h_html_a8d4d53a5dfc244e94290b5ddfadaa72b"><div class="ttname"><a href="fp12__BLS383_8h.html#a8d4d53a5dfc244e94290b5ddfadaa72b">FP12_BLS383_from_FP4</a></div><div class="ttdeci">void FP12_BLS383_from_FP4(FP12_BLS383 *x, FP4_BLS383 *a)</div><div class="ttdoc">Initialise FP12 from single FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:127</div></div>
 <div class="ttc" id="fp12__BLS383_8h_html_acc6ace24c297f3d1bbd70c10f12c8f40"><div class="ttname"><a href="fp12__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">Fra_BLS383</a></div><div class="ttdeci">const BIG_384_58 Fra_BLS383</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a9008d7bfdff23d15c79b4cf174db438b"><div class="ttname"><a href="fp12__BLS383_8h.html#a9008d7bfdff23d15c79b4cf174db438b">FP12_BLS383_cmove</a></div><div class="ttdeci">void FP12_BLS383_cmove(FP12_BLS383 *x, FP12_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:935</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a9008d7bfdff23d15c79b4cf174db438b"><div class="ttname"><a href="fp12__BLS383_8h.html#a9008d7bfdff23d15c79b4cf174db438b">FP12_BLS383_cmove</a></div><div class="ttdeci">void FP12_BLS383_cmove(FP12_BLS383 *x, FP12_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:935</div></div>
 <div class="ttc" id="structFP12__BLS383_html_a8354ef85e35360fcc5e0d026a8639efc"><div class="ttname"><a href="structFP12__BLS383.html#a8354ef85e35360fcc5e0d026a8639efc">FP12_BLS383::b</a></div><div class="ttdeci">FP4_BLS383 b</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:39</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a008948ad25e2bb2e768b46877e2a4700"><div class="ttname"><a href="fp12__BLS383_8h.html#a008948ad25e2bb2e768b46877e2a4700">FP12_BLS383_sqr</a></div><div class="ttdeci">void FP12_BLS383_sqr(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Squaring an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:189</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a008948ad25e2bb2e768b46877e2a4700"><div class="ttname"><a href="fp12__BLS383_8h.html#a008948ad25e2bb2e768b46877e2a4700">FP12_BLS383_sqr</a></div><div class="ttdeci">void FP12_BLS383_sqr(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Squaring an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:189</div></div>
 <div class="ttc" id="structFP12__BLS383_html_ab32c55ed73277ff348b4546fcc317d61"><div class="ttname"><a href="structFP12__BLS383.html#ab32c55ed73277ff348b4546fcc317d61">FP12_BLS383::c</a></div><div class="ttdeci">FP4_BLS383 c</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:40</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a8d04118042cad88450c6136e4afce5ba"><div class="ttname"><a href="fp12__BLS383_8h.html#a8d04118042cad88450c6136e4afce5ba">FP12_BLS383_conj</a></div><div class="ttdeci">void FP12_BLS383_conj(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Conjugation of FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:117</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a1d09ea7c64072b5f0de3539c1d0f8f0f"><div class="ttname"><a href="fp12__BLS383_8h.html#a1d09ea7c64072b5f0de3539c1d0f8f0f">FP12_BLS383_norm</a></div><div class="ttdeci">void FP12_BLS383_norm(FP12_BLS383 *x)</div><div class="ttdoc">Normalises the components of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:833</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a06b3b2579e39e313860b7f2fb42c4999"><div class="ttname"><a href="fp12__BLS383_8h.html#a06b3b2579e39e313860b7f2fb42c4999">FP12_BLS383_equals</a></div><div class="ttdeci">int FP12_BLS383_equals(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Tests for equality of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:108</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_abc227ee06b756f509b255c555f1b9382"><div class="ttname"><a href="fp12__BLS383_8h.html#abc227ee06b756f509b255c555f1b9382">FP12_BLS383_isunity</a></div><div class="ttdeci">int FP12_BLS383_isunity(FP12_BLS383 *x)</div><div class="ttdoc">Tests for FP12 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:71</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a4114fa7ceb9d2c3b62ff4b35d878c5de"><div class="ttname"><a href="fp12__BLS383_8h.html#a4114fa7ceb9d2c3b62ff4b35d878c5de">FP12_BLS383_toOctet</a></div><div class="ttdeci">void FP12_BLS383_toOctet(octet *S, FP12_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:872</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html"><div class="ttname"><a href="fp4__BLS383_8h.html">fp4_BLS383.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a987840d248437811f7375438a52f16fd"><div class="ttname"><a href="fp12__BLS383_8h.html#a987840d248437811f7375438a52f16fd">FP12_BLS383_one</a></div><div class="ttdeci">void FP12_BLS383_one(FP12_BLS383 *x)</div><div class="ttdoc">Set FP12 to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:90</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a388d287b18dcb4c6102c63a40ad69fb3"><div class="ttname"><a href="fp12__BLS383_8h.html#a388d287b18dcb4c6102c63a40ad69fb3">FP12_BLS383_smul</a></div><div class="ttdeci">void FP12_BLS383_smul(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:480</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a56cdbce65338447d495d15037768cc77"><div class="ttname"><a href="fp12__BLS383_8h.html#a56cdbce65338447d495d15037768cc77">FP12_BLS383_reduce</a></div><div class="ttdeci">void FP12_BLS383_reduce(FP12_BLS383 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:842</div></div>
-<div class="ttc" id="structFP12__BLS383_html"><div class="ttname"><a href="structFP12__BLS383.html">FP12_BLS383</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:36</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a29f39c72ae9241846abbfee5bf4f763e"><div class="ttname"><a href="fp12__BLS383_8h.html#a29f39c72ae9241846abbfee5bf4f763e">FP12_BLS383_compow</a></div><div class="ttdeci">void FP12_BLS383_compow(FP4_BLS383 *c, FP12_BLS383 *x, BIG_384_58 e, BIG_384_58 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:642</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a01b30d8c770692a3f5717e8be61d34b7"><div class="ttname"><a href="fp12__BLS383_8h.html#a01b30d8c770692a3f5717e8be61d34b7">FP12_BLS383_zero</a></div><div class="ttdeci">void FP12_BLS383_zero(FP12_BLS383 *x)</div><div class="ttdoc">Set FP12 to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:98</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a8d04118042cad88450c6136e4afce5ba"><div class="ttname"><a href="fp12__BLS383_8h.html#a8d04118042cad88450c6136e4afce5ba">FP12_BLS383_conj</a></div><div class="ttdeci">void FP12_BLS383_conj(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Conjugation of FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:117</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a1d09ea7c64072b5f0de3539c1d0f8f0f"><div class="ttname"><a href="fp12__BLS383_8h.html#a1d09ea7c64072b5f0de3539c1d0f8f0f">FP12_BLS383_norm</a></div><div class="ttdeci">void FP12_BLS383_norm(FP12_BLS383 *x)</div><div class="ttdoc">Normalises the components of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:833</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a06b3b2579e39e313860b7f2fb42c4999"><div class="ttname"><a href="fp12__BLS383_8h.html#a06b3b2579e39e313860b7f2fb42c4999">FP12_BLS383_equals</a></div><div class="ttdeci">int FP12_BLS383_equals(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Tests for equality of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:108</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_abc227ee06b756f509b255c555f1b9382"><div class="ttname"><a href="fp12__BLS383_8h.html#abc227ee06b756f509b255c555f1b9382">FP12_BLS383_isunity</a></div><div class="ttdeci">int FP12_BLS383_isunity(FP12_BLS383 *x)</div><div class="ttdoc">Tests for FP12 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:71</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a4114fa7ceb9d2c3b62ff4b35d878c5de"><div class="ttname"><a href="fp12__BLS383_8h.html#a4114fa7ceb9d2c3b62ff4b35d878c5de">FP12_BLS383_toOctet</a></div><div class="ttdeci">void FP12_BLS383_toOctet(octet *S, FP12_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:872</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html"><div class="ttname"><a href="fp4__BLS383_8h.html">fp4_BLS383.h</a></div><div class="ttdoc">FP4 Header File. </div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a987840d248437811f7375438a52f16fd"><div class="ttname"><a href="fp12__BLS383_8h.html#a987840d248437811f7375438a52f16fd">FP12_BLS383_one</a></div><div class="ttdeci">void FP12_BLS383_one(FP12_BLS383 *x)</div><div class="ttdoc">Set FP12 to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:90</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a388d287b18dcb4c6102c63a40ad69fb3"><div class="ttname"><a href="fp12__BLS383_8h.html#a388d287b18dcb4c6102c63a40ad69fb3">FP12_BLS383_smul</a></div><div class="ttdeci">void FP12_BLS383_smul(FP12_BLS383 *x, FP12_BLS383 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:480</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a56cdbce65338447d495d15037768cc77"><div class="ttname"><a href="fp12__BLS383_8h.html#a56cdbce65338447d495d15037768cc77">FP12_BLS383_reduce</a></div><div class="ttdeci">void FP12_BLS383_reduce(FP12_BLS383 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:842</div></div>
+<div class="ttc" id="structFP12__BLS383_html"><div class="ttname"><a href="structFP12__BLS383.html">FP12_BLS383</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:36</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a29f39c72ae9241846abbfee5bf4f763e"><div class="ttname"><a href="fp12__BLS383_8h.html#a29f39c72ae9241846abbfee5bf4f763e">FP12_BLS383_compow</a></div><div class="ttdeci">void FP12_BLS383_compow(FP4_BLS383 *c, FP12_BLS383 *x, BIG_384_58 e, BIG_384_58 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:642</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a01b30d8c770692a3f5717e8be61d34b7"><div class="ttname"><a href="fp12__BLS383_8h.html#a01b30d8c770692a3f5717e8be61d34b7">FP12_BLS383_zero</a></div><div class="ttdeci">void FP12_BLS383_zero(FP12_BLS383 *x)</div><div class="ttdoc">Set FP12 to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:98</div></div>
 <div class="ttc" id="fp12__BLS383_8h_html_aa2a080445c52be753695d6abd26a6f0f"><div class="ttname"><a href="fp12__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">Frb_BLS383</a></div><div class="ttdeci">const BIG_384_58 Frb_BLS383</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a17e381b8b56bae08a9f61cfb2ca43da8"><div class="ttname"><a href="fp12__BLS383_8h.html#a17e381b8b56bae08a9f61cfb2ca43da8">FP12_BLS383_pow</a></div><div class="ttdeci">void FP12_BLS383_pow(FP12_BLS383 *r, FP12_BLS383 *x, BIG_384_58 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:692</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a91e614d885a742b734d0801552315e23"><div class="ttname"><a href="fp12__BLS383_8h.html#a91e614d885a742b734d0801552315e23">FP12_BLS383_frob</a></div><div class="ttdeci">void FP12_BLS383_frob(FP12_BLS383 *x, FP2_BLS383 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:816</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a100f4a935293cf6c5f34b9e36521d023"><div class="ttname"><a href="fp12__BLS383_8h.html#a100f4a935293cf6c5f34b9e36521d023">FP12_BLS383_pinpow</a></div><div class="ttdeci">void FP12_BLS383_pinpow(FP12_BLS383 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:623</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html_a20ea589c848b822a7dcb09d1d1532dc2"><div class="ttname"><a href="fp12__BLS383_8h.html#a20ea589c848b822a7dcb09d1d1532dc2">FP12_BLS383_from_FP4s</a></div><div class="ttdeci">void FP12_BLS383_from_FP4s(FP12_BLS383 *x, FP4_BLS383 *a, FP4_BLS383 *b, FP4_BLS383 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:137</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a17e381b8b56bae08a9f61cfb2ca43da8"><div class="ttname"><a href="fp12__BLS383_8h.html#a17e381b8b56bae08a9f61cfb2ca43da8">FP12_BLS383_pow</a></div><div class="ttdeci">void FP12_BLS383_pow(FP12_BLS383 *r, FP12_BLS383 *x, BIG_384_58 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:692</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a91e614d885a742b734d0801552315e23"><div class="ttname"><a href="fp12__BLS383_8h.html#a91e614d885a742b734d0801552315e23">FP12_BLS383_frob</a></div><div class="ttdeci">void FP12_BLS383_frob(FP12_BLS383 *x, FP2_BLS383 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:816</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a100f4a935293cf6c5f34b9e36521d023"><div class="ttname"><a href="fp12__BLS383_8h.html#a100f4a935293cf6c5f34b9e36521d023">FP12_BLS383_pinpow</a></div><div class="ttdeci">void FP12_BLS383_pinpow(FP12_BLS383 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:623</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html_a20ea589c848b822a7dcb09d1d1532dc2"><div class="ttname"><a href="fp12__BLS383_8h.html#a20ea589c848b822a7dcb09d1d1532dc2">FP12_BLS383_from_FP4s</a></div><div class="ttdeci">void FP12_BLS383_from_FP4s(FP12_BLS383 *x, FP4_BLS383 *a, FP4_BLS383 *b, FP4_BLS383 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.c:137</div></div>
 <div class="ttc" id="structFP12__BLS383_html_a7f9e731a1e0ebc89339ac41e33a98f9a"><div class="ttname"><a href="structFP12__BLS383.html#a7f9e731a1e0ebc89339ac41e33a98f9a">FP12_BLS383::a</a></div><div class="ttdeci">FP4_BLS383 a</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:38</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/fp12__BLS461_8h.html b/website/static/cdocs/fp12__BLS461_8h.html
index 55c7179..e50e8c9 100644
--- a/website/static/cdocs/fp12__BLS461_8h.html
+++ b/website/static/cdocs/fp12__BLS461_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: fp12_BLS461.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"
@@ -1143,7 +1146,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/fp12__BLS461_8h_source.html b/website/static/cdocs/fp12__BLS461_8h_source.html
index 1fbdc40..0a71088 100644
--- a/website/static/cdocs/fp12__BLS461_8h_source.html
+++ b/website/static/cdocs/fp12__BLS461_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: fp12_BLS461.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,51 +72,51 @@
 <div class="title">fp12_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp12__BLS461_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 FP12_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BLS461_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 &quot;<a class="code" href="fp4__BLS461_8h.html">fp4_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BLS461.html#a3381c09b26e4f1c9bf3e723a947a5c25">   38</a></span>&#160;    <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> <a class="code" href="structFP12__BLS461.html#a3381c09b26e4f1c9bf3e723a947a5c25">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html#a65e6e6f1ddc2f4c4fa4379aea0fe78d9">   39</a></span>&#160;    <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> <a class="code" href="structFP12__BLS461.html#a65e6e6f1ddc2f4c4fa4379aea0fe78d9">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html#a7ec14ab2c02c2fcb7dda90d57a7d42aa">   40</a></span>&#160;    <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> <a class="code" href="structFP12__BLS461.html#a7ec14ab2c02c2fcb7dda90d57a7d42aa">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html#ae815a833a0ecde41e32720968aa7efd5">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BLS461.html#ae815a833a0ecde41e32720968aa7efd5">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BLS461.html">FP12_BLS461</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp12__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp12__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS461_8h.html#ab9203a8d36ddeb9baab83aeefd883b03">FP12_BLS461_iszilch</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS461_8h.html#a2ae7845193c9ff9c24070957d81ae754">FP12_BLS461_isunity</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#af08bc41b39c0cc777fcfa13654917f01">FP12_BLS461_copy</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ae16361859efc25e4cab9ff4fe5a9fba6">FP12_BLS461_one</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a947886b57401143704fad8bb75fc7418">FP12_BLS461_zero</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS461_8h.html#ad0384e5744b9c63490e18b4da4ead259">FP12_BLS461_equals</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</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="fp12__BLS461_8h.html#a19a01d9fbaca779a379b821b3920c367">FP12_BLS461_conj</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a2957bf59b0e0501920050ab6288b728d">FP12_BLS461_from_FP4</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a50da0727ec5e20e45fe34c29bba4fba9">FP12_BLS461_from_FP4s</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *a,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a>* b,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ab96f96bc167353e63da8da177922499c">FP12_BLS461_usqr</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a6f9b78be6c3f75ccece7a5b50b20afba">FP12_BLS461_sqr</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ae95d3d600b75d2932bf6d2abb1d19e68">FP12_BLS461_smul</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#aa4a5eb38c56adb9fc7b59fd23283b840">FP12_BLS461_ssmul</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a31f2b4e7ceb6bebf4df6c0dc20f81655">FP12_BLS461_mul</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</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="fp12__BLS461_8h.html#aa35500396c499e70645c5ff71b312c1e">FP12_BLS461_inv</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a63c65ef4b8391283254ee5670ae690c3">FP12_BLS461_pow</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ab0a8dcd1d6dc5c2b8ee157465eecca77">FP12_BLS461_pinpow</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#af82d69a53afce8ed2bf571ed3474d208">FP12_BLS461_compow</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *c,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> e,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BLS461_8h.html#a0aba8709905f7a81a7c334a18510006a">FP12_BLS461_pow4</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> *b);</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="fp12__BLS461_8h.html#a0f8c6ab30890d266e5cc64b28fa0965d">FP12_BLS461_frob</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a441eaec829497e50821fc604d234a0a6">FP12_BLS461_reduce</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a1bf4df278979f178287e61daf8345381">FP12_BLS461_norm</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a1718692fa96e96b2328ffd2aecd82b61">FP12_BLS461_output</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</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="fp12__BLS461_8h.html#a21467e5aacb123152b87fde4f6380cfb">FP12_BLS461_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ac7051b94df6d8addb13d7d247fae9b17">FP12_BLS461_fromOctet</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a17e554348b66fee75021c756d978d52e">FP12_BLS461_trace</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *t,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a9d5ca3943b978f4fdad951d205c0ba61">FP12_BLS461_cmove</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a2ae7845193c9ff9c24070957d81ae754"><div class="ttname"><a href="fp12__BLS461_8h.html#a2ae7845193c9ff9c24070957d81ae754">FP12_BLS461_isunity</a></div><div class="ttdeci">int FP12_BLS461_isunity(FP12_BLS461 *x)</div><div class="ttdoc">Tests for FP12 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:71</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html"><div class="ttname"><a href="fp4__BLS461_8h.html">fp4_BLS461.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a17e554348b66fee75021c756d978d52e"><div class="ttname"><a href="fp12__BLS461_8h.html#a17e554348b66fee75021c756d978d52e">FP12_BLS461_trace</a></div><div class="ttdeci">void FP12_BLS461_trace(FP4_BLS461 *t, FP12_BLS461 *x)</div><div class="ttdoc">Calculate the trace of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:851</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a50da0727ec5e20e45fe34c29bba4fba9"><div class="ttname"><a href="fp12__BLS461_8h.html#a50da0727ec5e20e45fe34c29bba4fba9">FP12_BLS461_from_FP4s</a></div><div class="ttdeci">void FP12_BLS461_from_FP4s(FP12_BLS461 *x, FP4_BLS461 *a, FP4_BLS461 *b, FP4_BLS461 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:137</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a2957bf59b0e0501920050ab6288b728d"><div class="ttname"><a href="fp12__BLS461_8h.html#a2957bf59b0e0501920050ab6288b728d">FP12_BLS461_from_FP4</a></div><div class="ttdeci">void FP12_BLS461_from_FP4(FP12_BLS461 *x, FP4_BLS461 *a)</div><div class="ttdoc">Initialise FP12 from single FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:127</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_ab96f96bc167353e63da8da177922499c"><div class="ttname"><a href="fp12__BLS461_8h.html#ab96f96bc167353e63da8da177922499c">FP12_BLS461_usqr</a></div><div class="ttdeci">void FP12_BLS461_usqr(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:147</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_aa35500396c499e70645c5ff71b312c1e"><div class="ttname"><a href="fp12__BLS461_8h.html#aa35500396c499e70645c5ff71b312c1e">FP12_BLS461_inv</a></div><div class="ttdeci">void FP12_BLS461_inv(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Inverting an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:582</div></div>
+<a href="fp12__BLS461_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 FP12_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BLS461_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 &quot;<a class="code" href="fp4__BLS461_8h.html">fp4_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BLS461.html#a3381c09b26e4f1c9bf3e723a947a5c25">   38</a></span>&#160;    <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> <a class="code" href="structFP12__BLS461.html#a3381c09b26e4f1c9bf3e723a947a5c25">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html#a65e6e6f1ddc2f4c4fa4379aea0fe78d9">   39</a></span>&#160;    <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> <a class="code" href="structFP12__BLS461.html#a65e6e6f1ddc2f4c4fa4379aea0fe78d9">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html#a7ec14ab2c02c2fcb7dda90d57a7d42aa">   40</a></span>&#160;    <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> <a class="code" href="structFP12__BLS461.html#a7ec14ab2c02c2fcb7dda90d57a7d42aa">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BLS461.html#ae815a833a0ecde41e32720968aa7efd5">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BLS461.html#ae815a833a0ecde41e32720968aa7efd5">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BLS461.html">FP12_BLS461</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp12__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp12__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS461_8h.html#ab9203a8d36ddeb9baab83aeefd883b03">FP12_BLS461_iszilch</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS461_8h.html#a2ae7845193c9ff9c24070957d81ae754">FP12_BLS461_isunity</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#af08bc41b39c0cc777fcfa13654917f01">FP12_BLS461_copy</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ae16361859efc25e4cab9ff4fe5a9fba6">FP12_BLS461_one</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a947886b57401143704fad8bb75fc7418">FP12_BLS461_zero</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BLS461_8h.html#ad0384e5744b9c63490e18b4da4ead259">FP12_BLS461_equals</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</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="fp12__BLS461_8h.html#a19a01d9fbaca779a379b821b3920c367">FP12_BLS461_conj</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a2957bf59b0e0501920050ab6288b728d">FP12_BLS461_from_FP4</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a50da0727ec5e20e45fe34c29bba4fba9">FP12_BLS461_from_FP4s</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *a,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a>* b,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ab96f96bc167353e63da8da177922499c">FP12_BLS461_usqr</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a6f9b78be6c3f75ccece7a5b50b20afba">FP12_BLS461_sqr</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ae95d3d600b75d2932bf6d2abb1d19e68">FP12_BLS461_smul</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#aa4a5eb38c56adb9fc7b59fd23283b840">FP12_BLS461_ssmul</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a31f2b4e7ceb6bebf4df6c0dc20f81655">FP12_BLS461_mul</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</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="fp12__BLS461_8h.html#aa35500396c499e70645c5ff71b312c1e">FP12_BLS461_inv</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a63c65ef4b8391283254ee5670ae690c3">FP12_BLS461_pow</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ab0a8dcd1d6dc5c2b8ee157465eecca77">FP12_BLS461_pinpow</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#af82d69a53afce8ed2bf571ed3474d208">FP12_BLS461_compow</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *c,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> e,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BLS461_8h.html#a0aba8709905f7a81a7c334a18510006a">FP12_BLS461_pow4</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> *b);</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="fp12__BLS461_8h.html#a0f8c6ab30890d266e5cc64b28fa0965d">FP12_BLS461_frob</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a441eaec829497e50821fc604d234a0a6">FP12_BLS461_reduce</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a1bf4df278979f178287e61daf8345381">FP12_BLS461_norm</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a1718692fa96e96b2328ffd2aecd82b61">FP12_BLS461_output</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</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="fp12__BLS461_8h.html#a21467e5aacb123152b87fde4f6380cfb">FP12_BLS461_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#ac7051b94df6d8addb13d7d247fae9b17">FP12_BLS461_fromOctet</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a17e554348b66fee75021c756d978d52e">FP12_BLS461_trace</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *t,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BLS461_8h.html#a9d5ca3943b978f4fdad951d205c0ba61">FP12_BLS461_cmove</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a2ae7845193c9ff9c24070957d81ae754"><div class="ttname"><a href="fp12__BLS461_8h.html#a2ae7845193c9ff9c24070957d81ae754">FP12_BLS461_isunity</a></div><div class="ttdeci">int FP12_BLS461_isunity(FP12_BLS461 *x)</div><div class="ttdoc">Tests for FP12 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:71</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html"><div class="ttname"><a href="fp4__BLS461_8h.html">fp4_BLS461.h</a></div><div class="ttdoc">FP4 Header File. </div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a17e554348b66fee75021c756d978d52e"><div class="ttname"><a href="fp12__BLS461_8h.html#a17e554348b66fee75021c756d978d52e">FP12_BLS461_trace</a></div><div class="ttdeci">void FP12_BLS461_trace(FP4_BLS461 *t, FP12_BLS461 *x)</div><div class="ttdoc">Calculate the trace of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:851</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a50da0727ec5e20e45fe34c29bba4fba9"><div class="ttname"><a href="fp12__BLS461_8h.html#a50da0727ec5e20e45fe34c29bba4fba9">FP12_BLS461_from_FP4s</a></div><div class="ttdeci">void FP12_BLS461_from_FP4s(FP12_BLS461 *x, FP4_BLS461 *a, FP4_BLS461 *b, FP4_BLS461 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:137</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a2957bf59b0e0501920050ab6288b728d"><div class="ttname"><a href="fp12__BLS461_8h.html#a2957bf59b0e0501920050ab6288b728d">FP12_BLS461_from_FP4</a></div><div class="ttdeci">void FP12_BLS461_from_FP4(FP12_BLS461 *x, FP4_BLS461 *a)</div><div class="ttdoc">Initialise FP12 from single FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:127</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_ab96f96bc167353e63da8da177922499c"><div class="ttname"><a href="fp12__BLS461_8h.html#ab96f96bc167353e63da8da177922499c">FP12_BLS461_usqr</a></div><div class="ttdeci">void FP12_BLS461_usqr(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:147</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_aa35500396c499e70645c5ff71b312c1e"><div class="ttname"><a href="fp12__BLS461_8h.html#aa35500396c499e70645c5ff71b312c1e">FP12_BLS461_inv</a></div><div class="ttdeci">void FP12_BLS461_inv(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Inverting an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:582</div></div>
 <div class="ttc" id="structFP12__BLS461_html_a7ec14ab2c02c2fcb7dda90d57a7d42aa"><div class="ttname"><a href="structFP12__BLS461.html#a7ec14ab2c02c2fcb7dda90d57a7d42aa">FP12_BLS461::c</a></div><div class="ttdeci">FP4_BLS461 c</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:40</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a19a01d9fbaca779a379b821b3920c367"><div class="ttname"><a href="fp12__BLS461_8h.html#a19a01d9fbaca779a379b821b3920c367">FP12_BLS461_conj</a></div><div class="ttdeci">void FP12_BLS461_conj(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Conjugation of FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:117</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a0f8c6ab30890d266e5cc64b28fa0965d"><div class="ttname"><a href="fp12__BLS461_8h.html#a0f8c6ab30890d266e5cc64b28fa0965d">FP12_BLS461_frob</a></div><div class="ttdeci">void FP12_BLS461_frob(FP12_BLS461 *x, FP2_BLS461 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:816</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a947886b57401143704fad8bb75fc7418"><div class="ttname"><a href="fp12__BLS461_8h.html#a947886b57401143704fad8bb75fc7418">FP12_BLS461_zero</a></div><div class="ttdeci">void FP12_BLS461_zero(FP12_BLS461 *x)</div><div class="ttdoc">Set FP12 to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:98</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="fp12__BLS461_8h_html_a19a01d9fbaca779a379b821b3920c367"><div class="ttname"><a href="fp12__BLS461_8h.html#a19a01d9fbaca779a379b821b3920c367">FP12_BLS461_conj</a></div><div class="ttdeci">void FP12_BLS461_conj(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Conjugation of FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:117</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a0f8c6ab30890d266e5cc64b28fa0965d"><div class="ttname"><a href="fp12__BLS461_8h.html#a0f8c6ab30890d266e5cc64b28fa0965d">FP12_BLS461_frob</a></div><div class="ttdeci">void FP12_BLS461_frob(FP12_BLS461 *x, FP2_BLS461 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:816</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a947886b57401143704fad8bb75fc7418"><div class="ttname"><a href="fp12__BLS461_8h.html#a947886b57401143704fad8bb75fc7418">FP12_BLS461_zero</a></div><div class="ttdeci">void FP12_BLS461_zero(FP12_BLS461 *x)</div><div class="ttdoc">Set FP12 to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:98</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="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
 <div class="ttc" id="structFP12__BLS461_html_a3381c09b26e4f1c9bf3e723a947a5c25"><div class="ttname"><a href="structFP12__BLS461.html#a3381c09b26e4f1c9bf3e723a947a5c25">FP12_BLS461::a</a></div><div class="ttdeci">FP4_BLS461 a</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:38</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a1bf4df278979f178287e61daf8345381"><div class="ttname"><a href="fp12__BLS461_8h.html#a1bf4df278979f178287e61daf8345381">FP12_BLS461_norm</a></div><div class="ttdeci">void FP12_BLS461_norm(FP12_BLS461 *x)</div><div class="ttdoc">Normalises the components of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:833</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a441eaec829497e50821fc604d234a0a6"><div class="ttname"><a href="fp12__BLS461_8h.html#a441eaec829497e50821fc604d234a0a6">FP12_BLS461_reduce</a></div><div class="ttdeci">void FP12_BLS461_reduce(FP12_BLS461 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:842</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a1bf4df278979f178287e61daf8345381"><div class="ttname"><a href="fp12__BLS461_8h.html#a1bf4df278979f178287e61daf8345381">FP12_BLS461_norm</a></div><div class="ttdeci">void FP12_BLS461_norm(FP12_BLS461 *x)</div><div class="ttdoc">Normalises the components of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:833</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a441eaec829497e50821fc604d234a0a6"><div class="ttname"><a href="fp12__BLS461_8h.html#a441eaec829497e50821fc604d234a0a6">FP12_BLS461_reduce</a></div><div class="ttdeci">void FP12_BLS461_reduce(FP12_BLS461 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:842</div></div>
 <div class="ttc" id="fp12__BLS461_8h_html_a852f1f5013cc1c12386c59d7cb7e626b"><div class="ttname"><a href="fp12__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">Frb_BLS461</a></div><div class="ttdeci">const BIG_464_60 Frb_BLS461</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a1718692fa96e96b2328ffd2aecd82b61"><div class="ttname"><a href="fp12__BLS461_8h.html#a1718692fa96e96b2328ffd2aecd82b61">FP12_BLS461_output</a></div><div class="ttdeci">void FP12_BLS461_output(FP12_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:859</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a63c65ef4b8391283254ee5670ae690c3"><div class="ttname"><a href="fp12__BLS461_8h.html#a63c65ef4b8391283254ee5670ae690c3">FP12_BLS461_pow</a></div><div class="ttdeci">void FP12_BLS461_pow(FP12_BLS461 *r, FP12_BLS461 *x, BIG_464_60 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:692</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a21467e5aacb123152b87fde4f6380cfb"><div class="ttname"><a href="fp12__BLS461_8h.html#a21467e5aacb123152b87fde4f6380cfb">FP12_BLS461_toOctet</a></div><div class="ttdeci">void FP12_BLS461_toOctet(octet *S, FP12_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:872</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a31f2b4e7ceb6bebf4df6c0dc20f81655"><div class="ttname"><a href="fp12__BLS461_8h.html#a31f2b4e7ceb6bebf4df6c0dc20f81655">FP12_BLS461_mul</a></div><div class="ttdeci">void FP12_BLS461_mul(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:245</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_ad0384e5744b9c63490e18b4da4ead259"><div class="ttname"><a href="fp12__BLS461_8h.html#ad0384e5744b9c63490e18b4da4ead259">FP12_BLS461_equals</a></div><div class="ttdeci">int FP12_BLS461_equals(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Tests for equality of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:108</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_af08bc41b39c0cc777fcfa13654917f01"><div class="ttname"><a href="fp12__BLS461_8h.html#af08bc41b39c0cc777fcfa13654917f01">FP12_BLS461_copy</a></div><div class="ttdeci">void FP12_BLS461_copy(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Copy FP12 to another FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:79</div></div>
-<div class="ttc" id="structFP12__BLS461_html"><div class="ttname"><a href="structFP12__BLS461.html">FP12_BLS461</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:36</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_ab0a8dcd1d6dc5c2b8ee157465eecca77"><div class="ttname"><a href="fp12__BLS461_8h.html#ab0a8dcd1d6dc5c2b8ee157465eecca77">FP12_BLS461_pinpow</a></div><div class="ttdeci">void FP12_BLS461_pinpow(FP12_BLS461 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:623</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_ac7051b94df6d8addb13d7d247fae9b17"><div class="ttname"><a href="fp12__BLS461_8h.html#ac7051b94df6d8addb13d7d247fae9b17">FP12_BLS461_fromOctet</a></div><div class="ttdeci">void FP12_BLS461_fromOctet(FP12_BLS461 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:905</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a1718692fa96e96b2328ffd2aecd82b61"><div class="ttname"><a href="fp12__BLS461_8h.html#a1718692fa96e96b2328ffd2aecd82b61">FP12_BLS461_output</a></div><div class="ttdeci">void FP12_BLS461_output(FP12_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:859</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a63c65ef4b8391283254ee5670ae690c3"><div class="ttname"><a href="fp12__BLS461_8h.html#a63c65ef4b8391283254ee5670ae690c3">FP12_BLS461_pow</a></div><div class="ttdeci">void FP12_BLS461_pow(FP12_BLS461 *r, FP12_BLS461 *x, BIG_464_60 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:692</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a21467e5aacb123152b87fde4f6380cfb"><div class="ttname"><a href="fp12__BLS461_8h.html#a21467e5aacb123152b87fde4f6380cfb">FP12_BLS461_toOctet</a></div><div class="ttdeci">void FP12_BLS461_toOctet(octet *S, FP12_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:872</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a31f2b4e7ceb6bebf4df6c0dc20f81655"><div class="ttname"><a href="fp12__BLS461_8h.html#a31f2b4e7ceb6bebf4df6c0dc20f81655">FP12_BLS461_mul</a></div><div class="ttdeci">void FP12_BLS461_mul(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:245</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_ad0384e5744b9c63490e18b4da4ead259"><div class="ttname"><a href="fp12__BLS461_8h.html#ad0384e5744b9c63490e18b4da4ead259">FP12_BLS461_equals</a></div><div class="ttdeci">int FP12_BLS461_equals(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Tests for equality of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:108</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_af08bc41b39c0cc777fcfa13654917f01"><div class="ttname"><a href="fp12__BLS461_8h.html#af08bc41b39c0cc777fcfa13654917f01">FP12_BLS461_copy</a></div><div class="ttdeci">void FP12_BLS461_copy(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Copy FP12 to another FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:79</div></div>
+<div class="ttc" id="structFP12__BLS461_html"><div class="ttname"><a href="structFP12__BLS461.html">FP12_BLS461</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:36</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_ab0a8dcd1d6dc5c2b8ee157465eecca77"><div class="ttname"><a href="fp12__BLS461_8h.html#ab0a8dcd1d6dc5c2b8ee157465eecca77">FP12_BLS461_pinpow</a></div><div class="ttdeci">void FP12_BLS461_pinpow(FP12_BLS461 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:623</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_ac7051b94df6d8addb13d7d247fae9b17"><div class="ttname"><a href="fp12__BLS461_8h.html#ac7051b94df6d8addb13d7d247fae9b17">FP12_BLS461_fromOctet</a></div><div class="ttdeci">void FP12_BLS461_fromOctet(FP12_BLS461 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:905</div></div>
 <div class="ttc" id="fp12__BLS461_8h_html_a6d2edb8dfee22d664e4ce1c6f107c3ae"><div class="ttname"><a href="fp12__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">Fra_BLS461</a></div><div class="ttdeci">const BIG_464_60 Fra_BLS461</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_aa4a5eb38c56adb9fc7b59fd23283b840"><div class="ttname"><a href="fp12__BLS461_8h.html#aa4a5eb38c56adb9fc7b59fd23283b840">FP12_BLS461_ssmul</a></div><div class="ttdeci">void FP12_BLS461_ssmul(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:302</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_aa4a5eb38c56adb9fc7b59fd23283b840"><div class="ttname"><a href="fp12__BLS461_8h.html#aa4a5eb38c56adb9fc7b59fd23283b840">FP12_BLS461_ssmul</a></div><div class="ttdeci">void FP12_BLS461_ssmul(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:302</div></div>
 <div class="ttc" id="structFP12__BLS461_html_ae815a833a0ecde41e32720968aa7efd5"><div class="ttname"><a href="structFP12__BLS461.html#ae815a833a0ecde41e32720968aa7efd5">FP12_BLS461::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:41</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_af82d69a53afce8ed2bf571ed3474d208"><div class="ttname"><a href="fp12__BLS461_8h.html#af82d69a53afce8ed2bf571ed3474d208">FP12_BLS461_compow</a></div><div class="ttdeci">void FP12_BLS461_compow(FP4_BLS461 *c, FP12_BLS461 *x, BIG_464_60 e, BIG_464_60 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:642</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a9d5ca3943b978f4fdad951d205c0ba61"><div class="ttname"><a href="fp12__BLS461_8h.html#a9d5ca3943b978f4fdad951d205c0ba61">FP12_BLS461_cmove</a></div><div class="ttdeci">void FP12_BLS461_cmove(FP12_BLS461 *x, FP12_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:935</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a6f9b78be6c3f75ccece7a5b50b20afba"><div class="ttname"><a href="fp12__BLS461_8h.html#a6f9b78be6c3f75ccece7a5b50b20afba">FP12_BLS461_sqr</a></div><div class="ttdeci">void FP12_BLS461_sqr(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Squaring an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:189</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_af82d69a53afce8ed2bf571ed3474d208"><div class="ttname"><a href="fp12__BLS461_8h.html#af82d69a53afce8ed2bf571ed3474d208">FP12_BLS461_compow</a></div><div class="ttdeci">void FP12_BLS461_compow(FP4_BLS461 *c, FP12_BLS461 *x, BIG_464_60 e, BIG_464_60 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:642</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a9d5ca3943b978f4fdad951d205c0ba61"><div class="ttname"><a href="fp12__BLS461_8h.html#a9d5ca3943b978f4fdad951d205c0ba61">FP12_BLS461_cmove</a></div><div class="ttdeci">void FP12_BLS461_cmove(FP12_BLS461 *x, FP12_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:935</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a6f9b78be6c3f75ccece7a5b50b20afba"><div class="ttname"><a href="fp12__BLS461_8h.html#a6f9b78be6c3f75ccece7a5b50b20afba">FP12_BLS461_sqr</a></div><div class="ttdeci">void FP12_BLS461_sqr(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Squaring an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:189</div></div>
 <div class="ttc" id="structFP12__BLS461_html_a65e6e6f1ddc2f4c4fa4379aea0fe78d9"><div class="ttname"><a href="structFP12__BLS461.html#a65e6e6f1ddc2f4c4fa4379aea0fe78d9">FP12_BLS461::b</a></div><div class="ttdeci">FP4_BLS461 b</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:39</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_ae95d3d600b75d2932bf6d2abb1d19e68"><div class="ttname"><a href="fp12__BLS461_8h.html#ae95d3d600b75d2932bf6d2abb1d19e68">FP12_BLS461_smul</a></div><div class="ttdeci">void FP12_BLS461_smul(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:480</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_a0aba8709905f7a81a7c334a18510006a"><div class="ttname"><a href="fp12__BLS461_8h.html#a0aba8709905f7a81a7c334a18510006a">FP12_BLS461_pow4</a></div><div class="ttdeci">void FP12_BLS461_pow4(FP12_BLS461 *r, FP12_BLS461 *x, BIG_464_60 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant.</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_ae16361859efc25e4cab9ff4fe5a9fba6"><div class="ttname"><a href="fp12__BLS461_8h.html#ae16361859efc25e4cab9ff4fe5a9fba6">FP12_BLS461_one</a></div><div class="ttdeci">void FP12_BLS461_one(FP12_BLS461 *x)</div><div class="ttdoc">Set FP12 to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:90</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html_ab9203a8d36ddeb9baab83aeefd883b03"><div class="ttname"><a href="fp12__BLS461_8h.html#ab9203a8d36ddeb9baab83aeefd883b03">FP12_BLS461_iszilch</a></div><div class="ttdeci">int FP12_BLS461_iszilch(FP12_BLS461 *x)</div><div class="ttdoc">Tests for FP12 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:63</div></div>
-<div class="ttc" id="structFP4__BLS461_html"><div class="ttname"><a href="structFP4__BLS461.html">FP4_BLS461</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.h:37</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_ae95d3d600b75d2932bf6d2abb1d19e68"><div class="ttname"><a href="fp12__BLS461_8h.html#ae95d3d600b75d2932bf6d2abb1d19e68">FP12_BLS461_smul</a></div><div class="ttdeci">void FP12_BLS461_smul(FP12_BLS461 *x, FP12_BLS461 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:480</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_a0aba8709905f7a81a7c334a18510006a"><div class="ttname"><a href="fp12__BLS461_8h.html#a0aba8709905f7a81a7c334a18510006a">FP12_BLS461_pow4</a></div><div class="ttdeci">void FP12_BLS461_pow4(FP12_BLS461 *r, FP12_BLS461 *x, BIG_464_60 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant. </div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_ae16361859efc25e4cab9ff4fe5a9fba6"><div class="ttname"><a href="fp12__BLS461_8h.html#ae16361859efc25e4cab9ff4fe5a9fba6">FP12_BLS461_one</a></div><div class="ttdeci">void FP12_BLS461_one(FP12_BLS461 *x)</div><div class="ttdoc">Set FP12 to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:90</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html_ab9203a8d36ddeb9baab83aeefd883b03"><div class="ttname"><a href="fp12__BLS461_8h.html#ab9203a8d36ddeb9baab83aeefd883b03">FP12_BLS461_iszilch</a></div><div class="ttdeci">int FP12_BLS461_iszilch(FP12_BLS461 *x)</div><div class="ttdoc">Tests for FP12 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.c:63</div></div>
+<div class="ttc" id="structFP4__BLS461_html"><div class="ttname"><a href="structFP4__BLS461.html">FP4_BLS461</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.h:37</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/fp12__BN254CX_8h.html b/website/static/cdocs/fp12__BN254CX_8h.html
index 2e407d8..b28a39d 100644
--- a/website/static/cdocs/fp12__BN254CX_8h.html
+++ b/website/static/cdocs/fp12__BN254CX_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: fp12_BN254CX.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"
@@ -1143,7 +1146,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/fp12__BN254CX_8h_source.html b/website/static/cdocs/fp12__BN254CX_8h_source.html
index e053c8b..44d8d6a 100644
--- a/website/static/cdocs/fp12__BN254CX_8h_source.html
+++ b/website/static/cdocs/fp12__BN254CX_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: fp12_BN254CX.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,51 +72,51 @@
 <div class="title">fp12_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp12__BN254CX_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 FP12_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BN254CX_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 &quot;<a class="code" href="fp4__BN254CX_8h.html">fp4_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BN254CX.html#a931211b2d8ca389cbb082974223834bb">   38</a></span>&#160;    <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> <a class="code" href="structFP12__BN254CX.html#a931211b2d8ca389cbb082974223834bb">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html#a386bbb29e67ca65e44945791a9a86f3c">   39</a></span>&#160;    <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> <a class="code" href="structFP12__BN254CX.html#a386bbb29e67ca65e44945791a9a86f3c">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html#a1c44eb3094a89d395d24278502309946">   40</a></span>&#160;    <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> <a class="code" href="structFP12__BN254CX.html#a1c44eb3094a89d395d24278502309946">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html#a4d36a7cb7bf145de779ee8ae4fb53f0b">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BN254CX.html#a4d36a7cb7bf145de779ee8ae4fb53f0b">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254CX_8h.html#a3f06687cfe5b2096991ed3a05d05bfcb">FP12_BN254CX_iszilch</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254CX_8h.html#a33c6b196a1129e47497d25dc75168196">FP12_BN254CX_isunity</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a9dfcacd92e055a164bb04436de415569">FP12_BN254CX_copy</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#afd404682b03b385eb712aced79bc9993">FP12_BN254CX_one</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a3f6a0918b1c06943ffa07d016f256b59">FP12_BN254CX_zero</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254CX_8h.html#a038cc63f3849780d38d5b8417810e334">FP12_BN254CX_equals</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</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="fp12__BN254CX_8h.html#a9622f54f9f3d2c134039afc806e9b8d4">FP12_BN254CX_conj</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a229277145ef3750739c7d7854c6ad99e">FP12_BN254CX_from_FP4</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#ae8b4d5493df72b955531eefbb441f99d">FP12_BN254CX_from_FP4s</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *a,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a>* b,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#afe51f34d41c0c34338c4d2a615e9f661">FP12_BN254CX_usqr</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a98f8df4044b548abe01499c928a9df9f">FP12_BN254CX_sqr</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a6e9d0ad2c27f88469eb4270214e1aed0">FP12_BN254CX_smul</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#abf58575e12f7c4fef0ad2f6ee6091321">FP12_BN254CX_ssmul</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a1ed6c8256139ec7dcdb96a1c993d7d25">FP12_BN254CX_mul</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</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="fp12__BN254CX_8h.html#afdbf1fc16acb5dae4435e46e99bae4be">FP12_BN254CX_inv</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#aaf362e192badd85c5df50d36aacd183a">FP12_BN254CX_pow</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a7db04864699b37fec47566f88d7aea92">FP12_BN254CX_pinpow</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a8afff56eb643aff310eeede416c8344d">FP12_BN254CX_compow</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *c,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BN254CX_8h.html#a16b252eda76f36d20aba57239f4cdffd">FP12_BN254CX_pow4</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</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="fp12__BN254CX_8h.html#ab564c5908da65319c6fc1ab4cdb69a02">FP12_BN254CX_frob</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#aea6e8b840d8904b3ff889e53f28b141f">FP12_BN254CX_reduce</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#ae49d1e41a322ab3f79979d156a322aa0">FP12_BN254CX_norm</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a7936143113cbe7579a419b3015aa2c03">FP12_BN254CX_output</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</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="fp12__BN254CX_8h.html#a853ab74929e11fd8f5fabf31807ae711">FP12_BN254CX_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#af0391c8e990d3de42fcb24d23cacdf8a">FP12_BN254CX_fromOctet</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#ad6078ec7d87f32b8da324638534a0986">FP12_BN254CX_trace</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *t,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a045659409044c34a9710e16823f593ae">FP12_BN254CX_cmove</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BN254CX_8h_html_afd404682b03b385eb712aced79bc9993"><div class="ttname"><a href="fp12__BN254CX_8h.html#afd404682b03b385eb712aced79bc9993">FP12_BN254CX_one</a></div><div class="ttdeci">void FP12_BN254CX_one(FP12_BN254CX *x)</div><div class="ttdoc">Set FP12 to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:90</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a7936143113cbe7579a419b3015aa2c03"><div class="ttname"><a href="fp12__BN254CX_8h.html#a7936143113cbe7579a419b3015aa2c03">FP12_BN254CX_output</a></div><div class="ttdeci">void FP12_BN254CX_output(FP12_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:859</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a853ab74929e11fd8f5fabf31807ae711"><div class="ttname"><a href="fp12__BN254CX_8h.html#a853ab74929e11fd8f5fabf31807ae711">FP12_BN254CX_toOctet</a></div><div class="ttdeci">void FP12_BN254CX_toOctet(octet *S, FP12_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:872</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_abf58575e12f7c4fef0ad2f6ee6091321"><div class="ttname"><a href="fp12__BN254CX_8h.html#abf58575e12f7c4fef0ad2f6ee6091321">FP12_BN254CX_ssmul</a></div><div class="ttdeci">void FP12_BN254CX_ssmul(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:302</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_ae49d1e41a322ab3f79979d156a322aa0"><div class="ttname"><a href="fp12__BN254CX_8h.html#ae49d1e41a322ab3f79979d156a322aa0">FP12_BN254CX_norm</a></div><div class="ttdeci">void FP12_BN254CX_norm(FP12_BN254CX *x)</div><div class="ttdoc">Normalises the components of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:833</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_aaf362e192badd85c5df50d36aacd183a"><div class="ttname"><a href="fp12__BN254CX_8h.html#aaf362e192badd85c5df50d36aacd183a">FP12_BN254CX_pow</a></div><div class="ttdeci">void FP12_BN254CX_pow(FP12_BN254CX *r, FP12_BN254CX *x, BIG_256_56 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:692</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a3f06687cfe5b2096991ed3a05d05bfcb"><div class="ttname"><a href="fp12__BN254CX_8h.html#a3f06687cfe5b2096991ed3a05d05bfcb">FP12_BN254CX_iszilch</a></div><div class="ttdeci">int FP12_BN254CX_iszilch(FP12_BN254CX *x)</div><div class="ttdoc">Tests for FP12 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:63</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a3f6a0918b1c06943ffa07d016f256b59"><div class="ttname"><a href="fp12__BN254CX_8h.html#a3f6a0918b1c06943ffa07d016f256b59">FP12_BN254CX_zero</a></div><div class="ttdeci">void FP12_BN254CX_zero(FP12_BN254CX *x)</div><div class="ttdoc">Set FP12 to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:98</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html"><div class="ttname"><a href="fp4__BN254CX_8h.html">fp4_BN254CX.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a1ed6c8256139ec7dcdb96a1c993d7d25"><div class="ttname"><a href="fp12__BN254CX_8h.html#a1ed6c8256139ec7dcdb96a1c993d7d25">FP12_BN254CX_mul</a></div><div class="ttdeci">void FP12_BN254CX_mul(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:245</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a33c6b196a1129e47497d25dc75168196"><div class="ttname"><a href="fp12__BN254CX_8h.html#a33c6b196a1129e47497d25dc75168196">FP12_BN254CX_isunity</a></div><div class="ttdeci">int FP12_BN254CX_isunity(FP12_BN254CX *x)</div><div class="ttdoc">Tests for FP12 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:71</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a8afff56eb643aff310eeede416c8344d"><div class="ttname"><a href="fp12__BN254CX_8h.html#a8afff56eb643aff310eeede416c8344d">FP12_BN254CX_compow</a></div><div class="ttdeci">void FP12_BN254CX_compow(FP4_BN254CX *c, FP12_BN254CX *x, BIG_256_56 e, BIG_256_56 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:642</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_ae8b4d5493df72b955531eefbb441f99d"><div class="ttname"><a href="fp12__BN254CX_8h.html#ae8b4d5493df72b955531eefbb441f99d">FP12_BN254CX_from_FP4s</a></div><div class="ttdeci">void FP12_BN254CX_from_FP4s(FP12_BN254CX *x, FP4_BN254CX *a, FP4_BN254CX *b, FP4_BN254CX *c)</div><div class="ttdoc">Initialise FP12 from three FP4s.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:137</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="fp12__BN254CX_8h_html_a045659409044c34a9710e16823f593ae"><div class="ttname"><a href="fp12__BN254CX_8h.html#a045659409044c34a9710e16823f593ae">FP12_BN254CX_cmove</a></div><div class="ttdeci">void FP12_BN254CX_cmove(FP12_BN254CX *x, FP12_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:935</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a6e9d0ad2c27f88469eb4270214e1aed0"><div class="ttname"><a href="fp12__BN254CX_8h.html#a6e9d0ad2c27f88469eb4270214e1aed0">FP12_BN254CX_smul</a></div><div class="ttdeci">void FP12_BN254CX_smul(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:480</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_ab564c5908da65319c6fc1ab4cdb69a02"><div class="ttname"><a href="fp12__BN254CX_8h.html#ab564c5908da65319c6fc1ab4cdb69a02">FP12_BN254CX_frob</a></div><div class="ttdeci">void FP12_BN254CX_frob(FP12_BN254CX *x, FP2_BN254CX *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:816</div></div>
+<a href="fp12__BN254CX_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 FP12_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BN254CX_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 &quot;<a class="code" href="fp4__BN254CX_8h.html">fp4_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BN254CX.html#a931211b2d8ca389cbb082974223834bb">   38</a></span>&#160;    <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> <a class="code" href="structFP12__BN254CX.html#a931211b2d8ca389cbb082974223834bb">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html#a386bbb29e67ca65e44945791a9a86f3c">   39</a></span>&#160;    <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> <a class="code" href="structFP12__BN254CX.html#a386bbb29e67ca65e44945791a9a86f3c">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html#a1c44eb3094a89d395d24278502309946">   40</a></span>&#160;    <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> <a class="code" href="structFP12__BN254CX.html#a1c44eb3094a89d395d24278502309946">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BN254CX.html#a4d36a7cb7bf145de779ee8ae4fb53f0b">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BN254CX.html#a4d36a7cb7bf145de779ee8ae4fb53f0b">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254CX_8h.html#a3f06687cfe5b2096991ed3a05d05bfcb">FP12_BN254CX_iszilch</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254CX_8h.html#a33c6b196a1129e47497d25dc75168196">FP12_BN254CX_isunity</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a9dfcacd92e055a164bb04436de415569">FP12_BN254CX_copy</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#afd404682b03b385eb712aced79bc9993">FP12_BN254CX_one</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a3f6a0918b1c06943ffa07d016f256b59">FP12_BN254CX_zero</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254CX_8h.html#a038cc63f3849780d38d5b8417810e334">FP12_BN254CX_equals</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</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="fp12__BN254CX_8h.html#a9622f54f9f3d2c134039afc806e9b8d4">FP12_BN254CX_conj</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a229277145ef3750739c7d7854c6ad99e">FP12_BN254CX_from_FP4</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#ae8b4d5493df72b955531eefbb441f99d">FP12_BN254CX_from_FP4s</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *a,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a>* b,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#afe51f34d41c0c34338c4d2a615e9f661">FP12_BN254CX_usqr</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a98f8df4044b548abe01499c928a9df9f">FP12_BN254CX_sqr</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a6e9d0ad2c27f88469eb4270214e1aed0">FP12_BN254CX_smul</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#abf58575e12f7c4fef0ad2f6ee6091321">FP12_BN254CX_ssmul</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a1ed6c8256139ec7dcdb96a1c993d7d25">FP12_BN254CX_mul</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</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="fp12__BN254CX_8h.html#afdbf1fc16acb5dae4435e46e99bae4be">FP12_BN254CX_inv</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#aaf362e192badd85c5df50d36aacd183a">FP12_BN254CX_pow</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a7db04864699b37fec47566f88d7aea92">FP12_BN254CX_pinpow</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a8afff56eb643aff310eeede416c8344d">FP12_BN254CX_compow</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *c,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BN254CX_8h.html#a16b252eda76f36d20aba57239f4cdffd">FP12_BN254CX_pow4</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</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="fp12__BN254CX_8h.html#ab564c5908da65319c6fc1ab4cdb69a02">FP12_BN254CX_frob</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#aea6e8b840d8904b3ff889e53f28b141f">FP12_BN254CX_reduce</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#ae49d1e41a322ab3f79979d156a322aa0">FP12_BN254CX_norm</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a7936143113cbe7579a419b3015aa2c03">FP12_BN254CX_output</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</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="fp12__BN254CX_8h.html#a853ab74929e11fd8f5fabf31807ae711">FP12_BN254CX_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#af0391c8e990d3de42fcb24d23cacdf8a">FP12_BN254CX_fromOctet</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#ad6078ec7d87f32b8da324638534a0986">FP12_BN254CX_trace</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *t,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254CX_8h.html#a045659409044c34a9710e16823f593ae">FP12_BN254CX_cmove</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BN254CX_8h_html_afd404682b03b385eb712aced79bc9993"><div class="ttname"><a href="fp12__BN254CX_8h.html#afd404682b03b385eb712aced79bc9993">FP12_BN254CX_one</a></div><div class="ttdeci">void FP12_BN254CX_one(FP12_BN254CX *x)</div><div class="ttdoc">Set FP12 to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:90</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a7936143113cbe7579a419b3015aa2c03"><div class="ttname"><a href="fp12__BN254CX_8h.html#a7936143113cbe7579a419b3015aa2c03">FP12_BN254CX_output</a></div><div class="ttdeci">void FP12_BN254CX_output(FP12_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:859</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a853ab74929e11fd8f5fabf31807ae711"><div class="ttname"><a href="fp12__BN254CX_8h.html#a853ab74929e11fd8f5fabf31807ae711">FP12_BN254CX_toOctet</a></div><div class="ttdeci">void FP12_BN254CX_toOctet(octet *S, FP12_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:872</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_abf58575e12f7c4fef0ad2f6ee6091321"><div class="ttname"><a href="fp12__BN254CX_8h.html#abf58575e12f7c4fef0ad2f6ee6091321">FP12_BN254CX_ssmul</a></div><div class="ttdeci">void FP12_BN254CX_ssmul(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:302</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_ae49d1e41a322ab3f79979d156a322aa0"><div class="ttname"><a href="fp12__BN254CX_8h.html#ae49d1e41a322ab3f79979d156a322aa0">FP12_BN254CX_norm</a></div><div class="ttdeci">void FP12_BN254CX_norm(FP12_BN254CX *x)</div><div class="ttdoc">Normalises the components of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:833</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_aaf362e192badd85c5df50d36aacd183a"><div class="ttname"><a href="fp12__BN254CX_8h.html#aaf362e192badd85c5df50d36aacd183a">FP12_BN254CX_pow</a></div><div class="ttdeci">void FP12_BN254CX_pow(FP12_BN254CX *r, FP12_BN254CX *x, BIG_256_56 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:692</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a3f06687cfe5b2096991ed3a05d05bfcb"><div class="ttname"><a href="fp12__BN254CX_8h.html#a3f06687cfe5b2096991ed3a05d05bfcb">FP12_BN254CX_iszilch</a></div><div class="ttdeci">int FP12_BN254CX_iszilch(FP12_BN254CX *x)</div><div class="ttdoc">Tests for FP12 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:63</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a3f6a0918b1c06943ffa07d016f256b59"><div class="ttname"><a href="fp12__BN254CX_8h.html#a3f6a0918b1c06943ffa07d016f256b59">FP12_BN254CX_zero</a></div><div class="ttdeci">void FP12_BN254CX_zero(FP12_BN254CX *x)</div><div class="ttdoc">Set FP12 to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:98</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html"><div class="ttname"><a href="fp4__BN254CX_8h.html">fp4_BN254CX.h</a></div><div class="ttdoc">FP4 Header File. </div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a1ed6c8256139ec7dcdb96a1c993d7d25"><div class="ttname"><a href="fp12__BN254CX_8h.html#a1ed6c8256139ec7dcdb96a1c993d7d25">FP12_BN254CX_mul</a></div><div class="ttdeci">void FP12_BN254CX_mul(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:245</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a33c6b196a1129e47497d25dc75168196"><div class="ttname"><a href="fp12__BN254CX_8h.html#a33c6b196a1129e47497d25dc75168196">FP12_BN254CX_isunity</a></div><div class="ttdeci">int FP12_BN254CX_isunity(FP12_BN254CX *x)</div><div class="ttdoc">Tests for FP12 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:71</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a8afff56eb643aff310eeede416c8344d"><div class="ttname"><a href="fp12__BN254CX_8h.html#a8afff56eb643aff310eeede416c8344d">FP12_BN254CX_compow</a></div><div class="ttdeci">void FP12_BN254CX_compow(FP4_BN254CX *c, FP12_BN254CX *x, BIG_256_56 e, BIG_256_56 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:642</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_ae8b4d5493df72b955531eefbb441f99d"><div class="ttname"><a href="fp12__BN254CX_8h.html#ae8b4d5493df72b955531eefbb441f99d">FP12_BN254CX_from_FP4s</a></div><div class="ttdeci">void FP12_BN254CX_from_FP4s(FP12_BN254CX *x, FP4_BN254CX *a, FP4_BN254CX *b, FP4_BN254CX *c)</div><div class="ttdoc">Initialise FP12 from three FP4s. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:137</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="fp12__BN254CX_8h_html_a045659409044c34a9710e16823f593ae"><div class="ttname"><a href="fp12__BN254CX_8h.html#a045659409044c34a9710e16823f593ae">FP12_BN254CX_cmove</a></div><div class="ttdeci">void FP12_BN254CX_cmove(FP12_BN254CX *x, FP12_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:935</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a6e9d0ad2c27f88469eb4270214e1aed0"><div class="ttname"><a href="fp12__BN254CX_8h.html#a6e9d0ad2c27f88469eb4270214e1aed0">FP12_BN254CX_smul</a></div><div class="ttdeci">void FP12_BN254CX_smul(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:480</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_ab564c5908da65319c6fc1ab4cdb69a02"><div class="ttname"><a href="fp12__BN254CX_8h.html#ab564c5908da65319c6fc1ab4cdb69a02">FP12_BN254CX_frob</a></div><div class="ttdeci">void FP12_BN254CX_frob(FP12_BN254CX *x, FP2_BN254CX *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:816</div></div>
 <div class="ttc" id="structFP12__BN254CX_html_a1c44eb3094a89d395d24278502309946"><div class="ttname"><a href="structFP12__BN254CX.html#a1c44eb3094a89d395d24278502309946">FP12_BN254CX::c</a></div><div class="ttdeci">FP4_BN254CX c</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:40</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a229277145ef3750739c7d7854c6ad99e"><div class="ttname"><a href="fp12__BN254CX_8h.html#a229277145ef3750739c7d7854c6ad99e">FP12_BN254CX_from_FP4</a></div><div class="ttdeci">void FP12_BN254CX_from_FP4(FP12_BN254CX *x, FP4_BN254CX *a)</div><div class="ttdoc">Initialise FP12 from single FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:127</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a7db04864699b37fec47566f88d7aea92"><div class="ttname"><a href="fp12__BN254CX_8h.html#a7db04864699b37fec47566f88d7aea92">FP12_BN254CX_pinpow</a></div><div class="ttdeci">void FP12_BN254CX_pinpow(FP12_BN254CX *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:623</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a16b252eda76f36d20aba57239f4cdffd"><div class="ttname"><a href="fp12__BN254CX_8h.html#a16b252eda76f36d20aba57239f4cdffd">FP12_BN254CX_pow4</a></div><div class="ttdeci">void FP12_BN254CX_pow4(FP12_BN254CX *r, FP12_BN254CX *x, BIG_256_56 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant.</div></div>
-<div class="ttc" id="structFP4__BN254CX_html"><div class="ttname"><a href="structFP4__BN254CX.html">FP4_BN254CX</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.h:37</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_aea6e8b840d8904b3ff889e53f28b141f"><div class="ttname"><a href="fp12__BN254CX_8h.html#aea6e8b840d8904b3ff889e53f28b141f">FP12_BN254CX_reduce</a></div><div class="ttdeci">void FP12_BN254CX_reduce(FP12_BN254CX *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:842</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a98f8df4044b548abe01499c928a9df9f"><div class="ttname"><a href="fp12__BN254CX_8h.html#a98f8df4044b548abe01499c928a9df9f">FP12_BN254CX_sqr</a></div><div class="ttdeci">void FP12_BN254CX_sqr(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Squaring an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:189</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a229277145ef3750739c7d7854c6ad99e"><div class="ttname"><a href="fp12__BN254CX_8h.html#a229277145ef3750739c7d7854c6ad99e">FP12_BN254CX_from_FP4</a></div><div class="ttdeci">void FP12_BN254CX_from_FP4(FP12_BN254CX *x, FP4_BN254CX *a)</div><div class="ttdoc">Initialise FP12 from single FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:127</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a7db04864699b37fec47566f88d7aea92"><div class="ttname"><a href="fp12__BN254CX_8h.html#a7db04864699b37fec47566f88d7aea92">FP12_BN254CX_pinpow</a></div><div class="ttdeci">void FP12_BN254CX_pinpow(FP12_BN254CX *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:623</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a16b252eda76f36d20aba57239f4cdffd"><div class="ttname"><a href="fp12__BN254CX_8h.html#a16b252eda76f36d20aba57239f4cdffd">FP12_BN254CX_pow4</a></div><div class="ttdeci">void FP12_BN254CX_pow4(FP12_BN254CX *r, FP12_BN254CX *x, BIG_256_56 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant. </div></div>
+<div class="ttc" id="structFP4__BN254CX_html"><div class="ttname"><a href="structFP4__BN254CX.html">FP4_BN254CX</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.h:37</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_aea6e8b840d8904b3ff889e53f28b141f"><div class="ttname"><a href="fp12__BN254CX_8h.html#aea6e8b840d8904b3ff889e53f28b141f">FP12_BN254CX_reduce</a></div><div class="ttdeci">void FP12_BN254CX_reduce(FP12_BN254CX *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:842</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a98f8df4044b548abe01499c928a9df9f"><div class="ttname"><a href="fp12__BN254CX_8h.html#a98f8df4044b548abe01499c928a9df9f">FP12_BN254CX_sqr</a></div><div class="ttdeci">void FP12_BN254CX_sqr(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Squaring an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:189</div></div>
 <div class="ttc" id="structFP12__BN254CX_html_a4d36a7cb7bf145de779ee8ae4fb53f0b"><div class="ttname"><a href="structFP12__BN254CX.html#a4d36a7cb7bf145de779ee8ae4fb53f0b">FP12_BN254CX::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:41</div></div>
 <div class="ttc" id="structFP12__BN254CX_html_a931211b2d8ca389cbb082974223834bb"><div class="ttname"><a href="structFP12__BN254CX.html#a931211b2d8ca389cbb082974223834bb">FP12_BN254CX::a</a></div><div class="ttdeci">FP4_BN254CX a</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:38</div></div>
 <div class="ttc" id="fp12__BN254CX_8h_html_a6faf844be96d5ff48e3ae1d8b0c75830"><div class="ttname"><a href="fp12__BN254CX_8h.html#a6faf844be96d5ff48e3ae1d8b0c75830">Fra_BN254CX</a></div><div class="ttdeci">const BIG_256_56 Fra_BN254CX</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_afe51f34d41c0c34338c4d2a615e9f661"><div class="ttname"><a href="fp12__BN254CX_8h.html#afe51f34d41c0c34338c4d2a615e9f661">FP12_BN254CX_usqr</a></div><div class="ttdeci">void FP12_BN254CX_usqr(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:147</div></div>
-<div class="ttc" id="structFP12__BN254CX_html"><div class="ttname"><a href="structFP12__BN254CX.html">FP12_BN254CX</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:36</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a9622f54f9f3d2c134039afc806e9b8d4"><div class="ttname"><a href="fp12__BN254CX_8h.html#a9622f54f9f3d2c134039afc806e9b8d4">FP12_BN254CX_conj</a></div><div class="ttdeci">void FP12_BN254CX_conj(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Conjugation of FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:117</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_afe51f34d41c0c34338c4d2a615e9f661"><div class="ttname"><a href="fp12__BN254CX_8h.html#afe51f34d41c0c34338c4d2a615e9f661">FP12_BN254CX_usqr</a></div><div class="ttdeci">void FP12_BN254CX_usqr(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:147</div></div>
+<div class="ttc" id="structFP12__BN254CX_html"><div class="ttname"><a href="structFP12__BN254CX.html">FP12_BN254CX</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:36</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a9622f54f9f3d2c134039afc806e9b8d4"><div class="ttname"><a href="fp12__BN254CX_8h.html#a9622f54f9f3d2c134039afc806e9b8d4">FP12_BN254CX_conj</a></div><div class="ttdeci">void FP12_BN254CX_conj(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Conjugation of FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:117</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_af0391c8e990d3de42fcb24d23cacdf8a"><div class="ttname"><a href="fp12__BN254CX_8h.html#af0391c8e990d3de42fcb24d23cacdf8a">FP12_BN254CX_fromOctet</a></div><div class="ttdeci">void FP12_BN254CX_fromOctet(FP12_BN254CX *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:905</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a9dfcacd92e055a164bb04436de415569"><div class="ttname"><a href="fp12__BN254CX_8h.html#a9dfcacd92e055a164bb04436de415569">FP12_BN254CX_copy</a></div><div class="ttdeci">void FP12_BN254CX_copy(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Copy FP12 to another FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:79</div></div>
-<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_af0391c8e990d3de42fcb24d23cacdf8a"><div class="ttname"><a href="fp12__BN254CX_8h.html#af0391c8e990d3de42fcb24d23cacdf8a">FP12_BN254CX_fromOctet</a></div><div class="ttdeci">void FP12_BN254CX_fromOctet(FP12_BN254CX *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:905</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a9dfcacd92e055a164bb04436de415569"><div class="ttname"><a href="fp12__BN254CX_8h.html#a9dfcacd92e055a164bb04436de415569">FP12_BN254CX_copy</a></div><div class="ttdeci">void FP12_BN254CX_copy(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Copy FP12 to another FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:79</div></div>
+<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
 <div class="ttc" id="structFP12__BN254CX_html_a386bbb29e67ca65e44945791a9a86f3c"><div class="ttname"><a href="structFP12__BN254CX.html#a386bbb29e67ca65e44945791a9a86f3c">FP12_BN254CX::b</a></div><div class="ttdeci">FP4_BN254CX b</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:39</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_afdbf1fc16acb5dae4435e46e99bae4be"><div class="ttname"><a href="fp12__BN254CX_8h.html#afdbf1fc16acb5dae4435e46e99bae4be">FP12_BN254CX_inv</a></div><div class="ttdeci">void FP12_BN254CX_inv(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Inverting an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:582</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_ad6078ec7d87f32b8da324638534a0986"><div class="ttname"><a href="fp12__BN254CX_8h.html#ad6078ec7d87f32b8da324638534a0986">FP12_BN254CX_trace</a></div><div class="ttdeci">void FP12_BN254CX_trace(FP4_BN254CX *t, FP12_BN254CX *x)</div><div class="ttdoc">Calculate the trace of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:851</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_afdbf1fc16acb5dae4435e46e99bae4be"><div class="ttname"><a href="fp12__BN254CX_8h.html#afdbf1fc16acb5dae4435e46e99bae4be">FP12_BN254CX_inv</a></div><div class="ttdeci">void FP12_BN254CX_inv(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Inverting an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:582</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_ad6078ec7d87f32b8da324638534a0986"><div class="ttname"><a href="fp12__BN254CX_8h.html#ad6078ec7d87f32b8da324638534a0986">FP12_BN254CX_trace</a></div><div class="ttdeci">void FP12_BN254CX_trace(FP4_BN254CX *t, FP12_BN254CX *x)</div><div class="ttdoc">Calculate the trace of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:851</div></div>
 <div class="ttc" id="fp12__BN254CX_8h_html_a17fa2a380fb640a2993fabf146be444b"><div class="ttname"><a href="fp12__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">Frb_BN254CX</a></div><div class="ttdeci">const BIG_256_56 Frb_BN254CX</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html_a038cc63f3849780d38d5b8417810e334"><div class="ttname"><a href="fp12__BN254CX_8h.html#a038cc63f3849780d38d5b8417810e334">FP12_BN254CX_equals</a></div><div class="ttdeci">int FP12_BN254CX_equals(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Tests for equality of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:108</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html_a038cc63f3849780d38d5b8417810e334"><div class="ttname"><a href="fp12__BN254CX_8h.html#a038cc63f3849780d38d5b8417810e334">FP12_BN254CX_equals</a></div><div class="ttdeci">int FP12_BN254CX_equals(FP12_BN254CX *x, FP12_BN254CX *y)</div><div class="ttdoc">Tests for equality of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.c:108</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/fp12__BN254_8h.html b/website/static/cdocs/fp12__BN254_8h.html
index 9e3aacf..d88ce23 100644
--- a/website/static/cdocs/fp12__BN254_8h.html
+++ b/website/static/cdocs/fp12__BN254_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: fp12_BN254.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"
@@ -1143,7 +1146,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/fp12__BN254_8h_source.html b/website/static/cdocs/fp12__BN254_8h_source.html
index 8739dc9..e65d9e8 100644
--- a/website/static/cdocs/fp12__BN254_8h_source.html
+++ b/website/static/cdocs/fp12__BN254_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: fp12_BN254.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,51 +72,51 @@
 <div class="title">fp12_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp12__BN254_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 FP12_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BN254_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 &quot;<a class="code" href="fp4__BN254_8h.html">fp4_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BN254.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BN254.html#a2b7db8767cb02dedf899175611ad76d5">   38</a></span>&#160;    <a class="code" href="structFP4__BN254.html">FP4_BN254</a> <a class="code" href="structFP12__BN254.html#a2b7db8767cb02dedf899175611ad76d5">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BN254.html#a62d97f1d4cc45d673d8aa018ee81c2e5">   39</a></span>&#160;    <a class="code" href="structFP4__BN254.html">FP4_BN254</a> <a class="code" href="structFP12__BN254.html#a62d97f1d4cc45d673d8aa018ee81c2e5">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BN254.html#a73d92ea8008c0354377769daae18f894">   40</a></span>&#160;    <a class="code" href="structFP4__BN254.html">FP4_BN254</a> <a class="code" href="structFP12__BN254.html#a73d92ea8008c0354377769daae18f894">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BN254.html#a606bcc1d739387ea00d8733d08f66cfe">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BN254.html#a606bcc1d739387ea00d8733d08f66cfe">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BN254.html">FP12_BN254</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254_8h.html#aae15e1861ff301328ab065a0c6b2c736">FP12_BN254_iszilch</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254_8h.html#aa7d39065624cb99feb0da2b7ec2af565">FP12_BN254_isunity</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ae477f2ee1dcfa1f4de954ec0eaf1ea68">FP12_BN254_copy</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#af8f9a442486fbdcfe1ad7f3ad5f9a018">FP12_BN254_one</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a72f651c3654012a00c7623d3d72a98d3">FP12_BN254_zero</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254_8h.html#aa063c0320cf01eb31e6bb02fee0a6959">FP12_BN254_equals</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</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="fp12__BN254_8h.html#af56639e6a87580a04b32d770549c4914">FP12_BN254_conj</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a89a40e29e01905ab294888169ad6814d">FP12_BN254_from_FP4</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ae1aca4a39c060e7312cb4c206e0d0a13">FP12_BN254_from_FP4s</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *a,<a class="code" href="structFP4__BN254.html">FP4_BN254</a>* b,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#af68099cb4ba0a55908fae8a791fc0355">FP12_BN254_usqr</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a54d1e4b6e41bf8d85bd0493376d7fe01">FP12_BN254_sqr</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a4111c0d28f2026074c451d390b8b207f">FP12_BN254_smul</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a444b73ef39f3196da601abf55c2af416">FP12_BN254_ssmul</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ace1e5dd5bec1f8b4c9f71d8a732f2bc9">FP12_BN254_mul</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</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="fp12__BN254_8h.html#a4cd7e3bc53727523c212ffe3f2a84a58">FP12_BN254_inv</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ab69293db6513f5c57d1fffc5a97a85aa">FP12_BN254_pow</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a87b1c05b6642b3762b2fbeea75945748">FP12_BN254_pinpow</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a13d2a12b87f9fe6af3ea838afb09ffd5">FP12_BN254_compow</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *c,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BN254_8h.html#a0dbf99bd0c6ab179ac27365cff448b92">FP12_BN254_pow4</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</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="fp12__BN254_8h.html#a331b9e461609cfe7aff7a061498c64e6">FP12_BN254_frob</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a905052268e5993526378269ff49223c1">FP12_BN254_reduce</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a806882b9a6a5c52524ea1ed68357012f">FP12_BN254_norm</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a9ee6a456c43bf39e28fbca670a94b446">FP12_BN254_output</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</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="fp12__BN254_8h.html#aebfdaa2d39d9b8769e3e356e196d9c64">FP12_BN254_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ab7b29484caf6395255d8cb0ab6fde025">FP12_BN254_fromOctet</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ae4fa64cfbf0514eab36525971c46ab37">FP12_BN254_trace</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *t,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a262a426e8152512ec7bd81344a07c72c">FP12_BN254_cmove</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BN254_8h_html_a806882b9a6a5c52524ea1ed68357012f"><div class="ttname"><a href="fp12__BN254_8h.html#a806882b9a6a5c52524ea1ed68357012f">FP12_BN254_norm</a></div><div class="ttdeci">void FP12_BN254_norm(FP12_BN254 *x)</div><div class="ttdoc">Normalises the components of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:833</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_ae477f2ee1dcfa1f4de954ec0eaf1ea68"><div class="ttname"><a href="fp12__BN254_8h.html#ae477f2ee1dcfa1f4de954ec0eaf1ea68">FP12_BN254_copy</a></div><div class="ttdeci">void FP12_BN254_copy(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Copy FP12 to another FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:79</div></div>
+<a href="fp12__BN254_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 FP12_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_BN254_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 &quot;<a class="code" href="fp4__BN254_8h.html">fp4_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__BN254.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__BN254.html#a2b7db8767cb02dedf899175611ad76d5">   38</a></span>&#160;    <a class="code" href="structFP4__BN254.html">FP4_BN254</a> <a class="code" href="structFP12__BN254.html#a2b7db8767cb02dedf899175611ad76d5">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__BN254.html#a62d97f1d4cc45d673d8aa018ee81c2e5">   39</a></span>&#160;    <a class="code" href="structFP4__BN254.html">FP4_BN254</a> <a class="code" href="structFP12__BN254.html#a62d97f1d4cc45d673d8aa018ee81c2e5">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__BN254.html#a73d92ea8008c0354377769daae18f894">   40</a></span>&#160;    <a class="code" href="structFP4__BN254.html">FP4_BN254</a> <a class="code" href="structFP12__BN254.html#a73d92ea8008c0354377769daae18f894">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__BN254.html#a606bcc1d739387ea00d8733d08f66cfe">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__BN254.html#a606bcc1d739387ea00d8733d08f66cfe">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__BN254.html">FP12_BN254</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254_8h.html#aae15e1861ff301328ab065a0c6b2c736">FP12_BN254_iszilch</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254_8h.html#aa7d39065624cb99feb0da2b7ec2af565">FP12_BN254_isunity</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ae477f2ee1dcfa1f4de954ec0eaf1ea68">FP12_BN254_copy</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#af8f9a442486fbdcfe1ad7f3ad5f9a018">FP12_BN254_one</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a72f651c3654012a00c7623d3d72a98d3">FP12_BN254_zero</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__BN254_8h.html#aa063c0320cf01eb31e6bb02fee0a6959">FP12_BN254_equals</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</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="fp12__BN254_8h.html#af56639e6a87580a04b32d770549c4914">FP12_BN254_conj</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a89a40e29e01905ab294888169ad6814d">FP12_BN254_from_FP4</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ae1aca4a39c060e7312cb4c206e0d0a13">FP12_BN254_from_FP4s</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *a,<a class="code" href="structFP4__BN254.html">FP4_BN254</a>* b,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#af68099cb4ba0a55908fae8a791fc0355">FP12_BN254_usqr</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a54d1e4b6e41bf8d85bd0493376d7fe01">FP12_BN254_sqr</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a4111c0d28f2026074c451d390b8b207f">FP12_BN254_smul</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a444b73ef39f3196da601abf55c2af416">FP12_BN254_ssmul</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ace1e5dd5bec1f8b4c9f71d8a732f2bc9">FP12_BN254_mul</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</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="fp12__BN254_8h.html#a4cd7e3bc53727523c212ffe3f2a84a58">FP12_BN254_inv</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ab69293db6513f5c57d1fffc5a97a85aa">FP12_BN254_pow</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a87b1c05b6642b3762b2fbeea75945748">FP12_BN254_pinpow</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a13d2a12b87f9fe6af3ea838afb09ffd5">FP12_BN254_compow</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *c,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__BN254_8h.html#a0dbf99bd0c6ab179ac27365cff448b92">FP12_BN254_pow4</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</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="fp12__BN254_8h.html#a331b9e461609cfe7aff7a061498c64e6">FP12_BN254_frob</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a905052268e5993526378269ff49223c1">FP12_BN254_reduce</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a806882b9a6a5c52524ea1ed68357012f">FP12_BN254_norm</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a9ee6a456c43bf39e28fbca670a94b446">FP12_BN254_output</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</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="fp12__BN254_8h.html#aebfdaa2d39d9b8769e3e356e196d9c64">FP12_BN254_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ab7b29484caf6395255d8cb0ab6fde025">FP12_BN254_fromOctet</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#ae4fa64cfbf0514eab36525971c46ab37">FP12_BN254_trace</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *t,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__BN254_8h.html#a262a426e8152512ec7bd81344a07c72c">FP12_BN254_cmove</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__BN254_8h_html_a806882b9a6a5c52524ea1ed68357012f"><div class="ttname"><a href="fp12__BN254_8h.html#a806882b9a6a5c52524ea1ed68357012f">FP12_BN254_norm</a></div><div class="ttdeci">void FP12_BN254_norm(FP12_BN254 *x)</div><div class="ttdoc">Normalises the components of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:833</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_ae477f2ee1dcfa1f4de954ec0eaf1ea68"><div class="ttname"><a href="fp12__BN254_8h.html#ae477f2ee1dcfa1f4de954ec0eaf1ea68">FP12_BN254_copy</a></div><div class="ttdeci">void FP12_BN254_copy(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Copy FP12 to another FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:79</div></div>
 <div class="ttc" id="fp12__BN254_8h_html_abf41342afa7230d0288d37a140d4ee9d"><div class="ttname"><a href="fp12__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">Fra_BN254</a></div><div class="ttdeci">const BIG_256_56 Fra_BN254</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a72f651c3654012a00c7623d3d72a98d3"><div class="ttname"><a href="fp12__BN254_8h.html#a72f651c3654012a00c7623d3d72a98d3">FP12_BN254_zero</a></div><div class="ttdeci">void FP12_BN254_zero(FP12_BN254 *x)</div><div class="ttdoc">Set FP12 to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:98</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a87b1c05b6642b3762b2fbeea75945748"><div class="ttname"><a href="fp12__BN254_8h.html#a87b1c05b6642b3762b2fbeea75945748">FP12_BN254_pinpow</a></div><div class="ttdeci">void FP12_BN254_pinpow(FP12_BN254 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:623</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_aae15e1861ff301328ab065a0c6b2c736"><div class="ttname"><a href="fp12__BN254_8h.html#aae15e1861ff301328ab065a0c6b2c736">FP12_BN254_iszilch</a></div><div class="ttdeci">int FP12_BN254_iszilch(FP12_BN254 *x)</div><div class="ttdoc">Tests for FP12 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:63</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a0dbf99bd0c6ab179ac27365cff448b92"><div class="ttname"><a href="fp12__BN254_8h.html#a0dbf99bd0c6ab179ac27365cff448b92">FP12_BN254_pow4</a></div><div class="ttdeci">void FP12_BN254_pow4(FP12_BN254 *r, FP12_BN254 *x, BIG_256_56 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant.</div></div>
-<div class="ttc" id="structFP12__BN254_html"><div class="ttname"><a href="structFP12__BN254.html">FP12_BN254</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:36</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_af8f9a442486fbdcfe1ad7f3ad5f9a018"><div class="ttname"><a href="fp12__BN254_8h.html#af8f9a442486fbdcfe1ad7f3ad5f9a018">FP12_BN254_one</a></div><div class="ttdeci">void FP12_BN254_one(FP12_BN254 *x)</div><div class="ttdoc">Set FP12 to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:90</div></div>
-<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a13d2a12b87f9fe6af3ea838afb09ffd5"><div class="ttname"><a href="fp12__BN254_8h.html#a13d2a12b87f9fe6af3ea838afb09ffd5">FP12_BN254_compow</a></div><div class="ttdeci">void FP12_BN254_compow(FP4_BN254 *c, FP12_BN254 *x, BIG_256_56 e, BIG_256_56 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:642</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_aebfdaa2d39d9b8769e3e356e196d9c64"><div class="ttname"><a href="fp12__BN254_8h.html#aebfdaa2d39d9b8769e3e356e196d9c64">FP12_BN254_toOctet</a></div><div class="ttdeci">void FP12_BN254_toOctet(octet *S, FP12_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:872</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_ab7b29484caf6395255d8cb0ab6fde025"><div class="ttname"><a href="fp12__BN254_8h.html#ab7b29484caf6395255d8cb0ab6fde025">FP12_BN254_fromOctet</a></div><div class="ttdeci">void FP12_BN254_fromOctet(FP12_BN254 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:905</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a905052268e5993526378269ff49223c1"><div class="ttname"><a href="fp12__BN254_8h.html#a905052268e5993526378269ff49223c1">FP12_BN254_reduce</a></div><div class="ttdeci">void FP12_BN254_reduce(FP12_BN254 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:842</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a89a40e29e01905ab294888169ad6814d"><div class="ttname"><a href="fp12__BN254_8h.html#a89a40e29e01905ab294888169ad6814d">FP12_BN254_from_FP4</a></div><div class="ttdeci">void FP12_BN254_from_FP4(FP12_BN254 *x, FP4_BN254 *a)</div><div class="ttdoc">Initialise FP12 from single FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:127</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a4111c0d28f2026074c451d390b8b207f"><div class="ttname"><a href="fp12__BN254_8h.html#a4111c0d28f2026074c451d390b8b207f">FP12_BN254_smul</a></div><div class="ttdeci">void FP12_BN254_smul(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:480</div></div>
-<div class="ttc" id="structFP4__BN254_html"><div class="ttname"><a href="structFP4__BN254.html">FP4_BN254</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.h:37</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="fp12__BN254_8h_html_a331b9e461609cfe7aff7a061498c64e6"><div class="ttname"><a href="fp12__BN254_8h.html#a331b9e461609cfe7aff7a061498c64e6">FP12_BN254_frob</a></div><div class="ttdeci">void FP12_BN254_frob(FP12_BN254 *x, FP2_BN254 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:816</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_af68099cb4ba0a55908fae8a791fc0355"><div class="ttname"><a href="fp12__BN254_8h.html#af68099cb4ba0a55908fae8a791fc0355">FP12_BN254_usqr</a></div><div class="ttdeci">void FP12_BN254_usqr(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:147</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a4cd7e3bc53727523c212ffe3f2a84a58"><div class="ttname"><a href="fp12__BN254_8h.html#a4cd7e3bc53727523c212ffe3f2a84a58">FP12_BN254_inv</a></div><div class="ttdeci">void FP12_BN254_inv(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Inverting an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:582</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_aa063c0320cf01eb31e6bb02fee0a6959"><div class="ttname"><a href="fp12__BN254_8h.html#aa063c0320cf01eb31e6bb02fee0a6959">FP12_BN254_equals</a></div><div class="ttdeci">int FP12_BN254_equals(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Tests for equality of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:108</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a72f651c3654012a00c7623d3d72a98d3"><div class="ttname"><a href="fp12__BN254_8h.html#a72f651c3654012a00c7623d3d72a98d3">FP12_BN254_zero</a></div><div class="ttdeci">void FP12_BN254_zero(FP12_BN254 *x)</div><div class="ttdoc">Set FP12 to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:98</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a87b1c05b6642b3762b2fbeea75945748"><div class="ttname"><a href="fp12__BN254_8h.html#a87b1c05b6642b3762b2fbeea75945748">FP12_BN254_pinpow</a></div><div class="ttdeci">void FP12_BN254_pinpow(FP12_BN254 *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:623</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_aae15e1861ff301328ab065a0c6b2c736"><div class="ttname"><a href="fp12__BN254_8h.html#aae15e1861ff301328ab065a0c6b2c736">FP12_BN254_iszilch</a></div><div class="ttdeci">int FP12_BN254_iszilch(FP12_BN254 *x)</div><div class="ttdoc">Tests for FP12 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:63</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a0dbf99bd0c6ab179ac27365cff448b92"><div class="ttname"><a href="fp12__BN254_8h.html#a0dbf99bd0c6ab179ac27365cff448b92">FP12_BN254_pow4</a></div><div class="ttdeci">void FP12_BN254_pow4(FP12_BN254 *r, FP12_BN254 *x, BIG_256_56 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant. </div></div>
+<div class="ttc" id="structFP12__BN254_html"><div class="ttname"><a href="structFP12__BN254.html">FP12_BN254</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:36</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_af8f9a442486fbdcfe1ad7f3ad5f9a018"><div class="ttname"><a href="fp12__BN254_8h.html#af8f9a442486fbdcfe1ad7f3ad5f9a018">FP12_BN254_one</a></div><div class="ttdeci">void FP12_BN254_one(FP12_BN254 *x)</div><div class="ttdoc">Set FP12 to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:90</div></div>
+<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a13d2a12b87f9fe6af3ea838afb09ffd5"><div class="ttname"><a href="fp12__BN254_8h.html#a13d2a12b87f9fe6af3ea838afb09ffd5">FP12_BN254_compow</a></div><div class="ttdeci">void FP12_BN254_compow(FP4_BN254 *c, FP12_BN254 *x, BIG_256_56 e, BIG_256_56 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:642</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_aebfdaa2d39d9b8769e3e356e196d9c64"><div class="ttname"><a href="fp12__BN254_8h.html#aebfdaa2d39d9b8769e3e356e196d9c64">FP12_BN254_toOctet</a></div><div class="ttdeci">void FP12_BN254_toOctet(octet *S, FP12_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:872</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_ab7b29484caf6395255d8cb0ab6fde025"><div class="ttname"><a href="fp12__BN254_8h.html#ab7b29484caf6395255d8cb0ab6fde025">FP12_BN254_fromOctet</a></div><div class="ttdeci">void FP12_BN254_fromOctet(FP12_BN254 *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:905</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a905052268e5993526378269ff49223c1"><div class="ttname"><a href="fp12__BN254_8h.html#a905052268e5993526378269ff49223c1">FP12_BN254_reduce</a></div><div class="ttdeci">void FP12_BN254_reduce(FP12_BN254 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:842</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a89a40e29e01905ab294888169ad6814d"><div class="ttname"><a href="fp12__BN254_8h.html#a89a40e29e01905ab294888169ad6814d">FP12_BN254_from_FP4</a></div><div class="ttdeci">void FP12_BN254_from_FP4(FP12_BN254 *x, FP4_BN254 *a)</div><div class="ttdoc">Initialise FP12 from single FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:127</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a4111c0d28f2026074c451d390b8b207f"><div class="ttname"><a href="fp12__BN254_8h.html#a4111c0d28f2026074c451d390b8b207f">FP12_BN254_smul</a></div><div class="ttdeci">void FP12_BN254_smul(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:480</div></div>
+<div class="ttc" id="structFP4__BN254_html"><div class="ttname"><a href="structFP4__BN254.html">FP4_BN254</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.h:37</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="fp12__BN254_8h_html_a331b9e461609cfe7aff7a061498c64e6"><div class="ttname"><a href="fp12__BN254_8h.html#a331b9e461609cfe7aff7a061498c64e6">FP12_BN254_frob</a></div><div class="ttdeci">void FP12_BN254_frob(FP12_BN254 *x, FP2_BN254 *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:816</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_af68099cb4ba0a55908fae8a791fc0355"><div class="ttname"><a href="fp12__BN254_8h.html#af68099cb4ba0a55908fae8a791fc0355">FP12_BN254_usqr</a></div><div class="ttdeci">void FP12_BN254_usqr(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:147</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a4cd7e3bc53727523c212ffe3f2a84a58"><div class="ttname"><a href="fp12__BN254_8h.html#a4cd7e3bc53727523c212ffe3f2a84a58">FP12_BN254_inv</a></div><div class="ttdeci">void FP12_BN254_inv(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Inverting an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:582</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_aa063c0320cf01eb31e6bb02fee0a6959"><div class="ttname"><a href="fp12__BN254_8h.html#aa063c0320cf01eb31e6bb02fee0a6959">FP12_BN254_equals</a></div><div class="ttdeci">int FP12_BN254_equals(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Tests for equality of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:108</div></div>
 <div class="ttc" id="structFP12__BN254_html_a73d92ea8008c0354377769daae18f894"><div class="ttname"><a href="structFP12__BN254.html#a73d92ea8008c0354377769daae18f894">FP12_BN254::c</a></div><div class="ttdeci">FP4_BN254 c</div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:40</div></div>
 <div class="ttc" id="structFP12__BN254_html_a606bcc1d739387ea00d8733d08f66cfe"><div class="ttname"><a href="structFP12__BN254.html#a606bcc1d739387ea00d8733d08f66cfe">FP12_BN254::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:41</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_ae4fa64cfbf0514eab36525971c46ab37"><div class="ttname"><a href="fp12__BN254_8h.html#ae4fa64cfbf0514eab36525971c46ab37">FP12_BN254_trace</a></div><div class="ttdeci">void FP12_BN254_trace(FP4_BN254 *t, FP12_BN254 *x)</div><div class="ttdoc">Calculate the trace of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:851</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a444b73ef39f3196da601abf55c2af416"><div class="ttname"><a href="fp12__BN254_8h.html#a444b73ef39f3196da601abf55c2af416">FP12_BN254_ssmul</a></div><div class="ttdeci">void FP12_BN254_ssmul(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:302</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_ae4fa64cfbf0514eab36525971c46ab37"><div class="ttname"><a href="fp12__BN254_8h.html#ae4fa64cfbf0514eab36525971c46ab37">FP12_BN254_trace</a></div><div class="ttdeci">void FP12_BN254_trace(FP4_BN254 *t, FP12_BN254 *x)</div><div class="ttdoc">Calculate the trace of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:851</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a444b73ef39f3196da601abf55c2af416"><div class="ttname"><a href="fp12__BN254_8h.html#a444b73ef39f3196da601abf55c2af416">FP12_BN254_ssmul</a></div><div class="ttdeci">void FP12_BN254_ssmul(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:302</div></div>
 <div class="ttc" id="structFP12__BN254_html_a2b7db8767cb02dedf899175611ad76d5"><div class="ttname"><a href="structFP12__BN254.html#a2b7db8767cb02dedf899175611ad76d5">FP12_BN254::a</a></div><div class="ttdeci">FP4_BN254 a</div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:38</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_af56639e6a87580a04b32d770549c4914"><div class="ttname"><a href="fp12__BN254_8h.html#af56639e6a87580a04b32d770549c4914">FP12_BN254_conj</a></div><div class="ttdeci">void FP12_BN254_conj(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Conjugation of FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:117</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_ae1aca4a39c060e7312cb4c206e0d0a13"><div class="ttname"><a href="fp12__BN254_8h.html#ae1aca4a39c060e7312cb4c206e0d0a13">FP12_BN254_from_FP4s</a></div><div class="ttdeci">void FP12_BN254_from_FP4s(FP12_BN254 *x, FP4_BN254 *a, FP4_BN254 *b, FP4_BN254 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:137</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_af56639e6a87580a04b32d770549c4914"><div class="ttname"><a href="fp12__BN254_8h.html#af56639e6a87580a04b32d770549c4914">FP12_BN254_conj</a></div><div class="ttdeci">void FP12_BN254_conj(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Conjugation of FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:117</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_ae1aca4a39c060e7312cb4c206e0d0a13"><div class="ttname"><a href="fp12__BN254_8h.html#ae1aca4a39c060e7312cb4c206e0d0a13">FP12_BN254_from_FP4s</a></div><div class="ttdeci">void FP12_BN254_from_FP4s(FP12_BN254 *x, FP4_BN254 *a, FP4_BN254 *b, FP4_BN254 *c)</div><div class="ttdoc">Initialise FP12 from three FP4s. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:137</div></div>
 <div class="ttc" id="structFP12__BN254_html_a62d97f1d4cc45d673d8aa018ee81c2e5"><div class="ttname"><a href="structFP12__BN254.html#a62d97f1d4cc45d673d8aa018ee81c2e5">FP12_BN254::b</a></div><div class="ttdeci">FP4_BN254 b</div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:39</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_ace1e5dd5bec1f8b4c9f71d8a732f2bc9"><div class="ttname"><a href="fp12__BN254_8h.html#ace1e5dd5bec1f8b4c9f71d8a732f2bc9">FP12_BN254_mul</a></div><div class="ttdeci">void FP12_BN254_mul(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:245</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_ab69293db6513f5c57d1fffc5a97a85aa"><div class="ttname"><a href="fp12__BN254_8h.html#ab69293db6513f5c57d1fffc5a97a85aa">FP12_BN254_pow</a></div><div class="ttdeci">void FP12_BN254_pow(FP12_BN254 *r, FP12_BN254 *x, BIG_256_56 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:692</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a262a426e8152512ec7bd81344a07c72c"><div class="ttname"><a href="fp12__BN254_8h.html#a262a426e8152512ec7bd81344a07c72c">FP12_BN254_cmove</a></div><div class="ttdeci">void FP12_BN254_cmove(FP12_BN254 *x, FP12_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:935</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_ace1e5dd5bec1f8b4c9f71d8a732f2bc9"><div class="ttname"><a href="fp12__BN254_8h.html#ace1e5dd5bec1f8b4c9f71d8a732f2bc9">FP12_BN254_mul</a></div><div class="ttdeci">void FP12_BN254_mul(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:245</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_ab69293db6513f5c57d1fffc5a97a85aa"><div class="ttname"><a href="fp12__BN254_8h.html#ab69293db6513f5c57d1fffc5a97a85aa">FP12_BN254_pow</a></div><div class="ttdeci">void FP12_BN254_pow(FP12_BN254 *r, FP12_BN254 *x, BIG_256_56 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:692</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a262a426e8152512ec7bd81344a07c72c"><div class="ttname"><a href="fp12__BN254_8h.html#a262a426e8152512ec7bd81344a07c72c">FP12_BN254_cmove</a></div><div class="ttdeci">void FP12_BN254_cmove(FP12_BN254 *x, FP12_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:935</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_aa7d39065624cb99feb0da2b7ec2af565"><div class="ttname"><a href="fp12__BN254_8h.html#aa7d39065624cb99feb0da2b7ec2af565">FP12_BN254_isunity</a></div><div class="ttdeci">int FP12_BN254_isunity(FP12_BN254 *x)</div><div class="ttdoc">Tests for FP12 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:71</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a9ee6a456c43bf39e28fbca670a94b446"><div class="ttname"><a href="fp12__BN254_8h.html#a9ee6a456c43bf39e28fbca670a94b446">FP12_BN254_output</a></div><div class="ttdeci">void FP12_BN254_output(FP12_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:859</div></div>
-<div class="ttc" id="fp4__BN254_8h_html"><div class="ttname"><a href="fp4__BN254_8h.html">fp4_BN254.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
-<div class="ttc" id="fp12__BN254_8h_html_a54d1e4b6e41bf8d85bd0493376d7fe01"><div class="ttname"><a href="fp12__BN254_8h.html#a54d1e4b6e41bf8d85bd0493376d7fe01">FP12_BN254_sqr</a></div><div class="ttdeci">void FP12_BN254_sqr(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Squaring an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:189</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_aa7d39065624cb99feb0da2b7ec2af565"><div class="ttname"><a href="fp12__BN254_8h.html#aa7d39065624cb99feb0da2b7ec2af565">FP12_BN254_isunity</a></div><div class="ttdeci">int FP12_BN254_isunity(FP12_BN254 *x)</div><div class="ttdoc">Tests for FP12 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:71</div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a9ee6a456c43bf39e28fbca670a94b446"><div class="ttname"><a href="fp12__BN254_8h.html#a9ee6a456c43bf39e28fbca670a94b446">FP12_BN254_output</a></div><div class="ttdeci">void FP12_BN254_output(FP12_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:859</div></div>
+<div class="ttc" id="fp4__BN254_8h_html"><div class="ttname"><a href="fp4__BN254_8h.html">fp4_BN254.h</a></div><div class="ttdoc">FP4 Header File. </div></div>
+<div class="ttc" id="fp12__BN254_8h_html_a54d1e4b6e41bf8d85bd0493376d7fe01"><div class="ttname"><a href="fp12__BN254_8h.html#a54d1e4b6e41bf8d85bd0493376d7fe01">FP12_BN254_sqr</a></div><div class="ttdeci">void FP12_BN254_sqr(FP12_BN254 *x, FP12_BN254 *y)</div><div class="ttdoc">Squaring an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.c:189</div></div>
 <div class="ttc" id="fp12__BN254_8h_html_a85fadba81a01e0c26213ed65cbbe7471"><div class="ttname"><a href="fp12__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">Frb_BN254</a></div><div class="ttdeci">const BIG_256_56 Frb_BN254</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/fp12__FP256BN_8h.html b/website/static/cdocs/fp12__FP256BN_8h.html
index 4652fe6..af4f315 100644
--- a/website/static/cdocs/fp12__FP256BN_8h.html
+++ b/website/static/cdocs/fp12__FP256BN_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: fp12_FP256BN.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"
@@ -1143,7 +1146,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/fp12__FP256BN_8h_source.html b/website/static/cdocs/fp12__FP256BN_8h_source.html
index 8307780..628caa7 100644
--- a/website/static/cdocs/fp12__FP256BN_8h_source.html
+++ b/website/static/cdocs/fp12__FP256BN_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: fp12_FP256BN.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,51 +72,51 @@
 <div class="title">fp12_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp12__FP256BN_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 FP12_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_FP256BN_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 &quot;<a class="code" href="fp4__FP256BN_8h.html">fp4_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__FP256BN.html#a618c0c0e9fabdd7c4c054be01f601469">   38</a></span>&#160;    <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> <a class="code" href="structFP12__FP256BN.html#a618c0c0e9fabdd7c4c054be01f601469">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html#a5ed6d3c3db45ef28440278299ed2057e">   39</a></span>&#160;    <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> <a class="code" href="structFP12__FP256BN.html#a5ed6d3c3db45ef28440278299ed2057e">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html#ac6f5be55c2e14a69939e51923203574b">   40</a></span>&#160;    <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> <a class="code" href="structFP12__FP256BN.html#ac6f5be55c2e14a69939e51923203574b">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html#a7ddac546623009a7b455b3327478d8f6">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__FP256BN.html#a7ddac546623009a7b455b3327478d8f6">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP256BN_8h.html#a7ed184f168cb8468f645dc2ce322141e">FP12_FP256BN_iszilch</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP256BN_8h.html#ad7055de65a24ad9e497d963298e6fa86">FP12_FP256BN_isunity</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#aed2909f75f0fe4dfa5bbaf598ec8a2ae">FP12_FP256BN_copy</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a00ad6e0d4a9f57a95f45a99b0247b719">FP12_FP256BN_one</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ad17efe133c8bd07123a8bc6abf63d342">FP12_FP256BN_zero</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP256BN_8h.html#a86e3615517fb8fdce97bd385f50e9e2e">FP12_FP256BN_equals</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</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="fp12__FP256BN_8h.html#a3a0e66aebef94948bc659447ea9c62ec">FP12_FP256BN_conj</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ae0faf95928f1f91b9ee8a64e898ceec5">FP12_FP256BN_from_FP4</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ad5ea7bf1368bfba902bdcd69c84cdba1">FP12_FP256BN_from_FP4s</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *a,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a>* b,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a2b82bd9b19c1e4bde37285e9bf4123d0">FP12_FP256BN_usqr</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#aaedf95e7146f4291f9e3671899015131">FP12_FP256BN_sqr</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#abcec9f5e6a3351b41fb4dd7fe29092ba">FP12_FP256BN_smul</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a87bf2b55be8123161f8db176b3b4683e">FP12_FP256BN_ssmul</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a7a37913bde3a60c1a3eb0ff45e29160d">FP12_FP256BN_mul</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</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="fp12__FP256BN_8h.html#ae6d45c47e4c5dc983809304a9603ab3a">FP12_FP256BN_inv</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#aaf0d66cc8ac7f14a36da92bc9ddfa03e">FP12_FP256BN_pow</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a18144f8f7c6195f14d67c1587615277f">FP12_FP256BN_pinpow</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a3536761aec1ffebecd5530ebb7660957">FP12_FP256BN_compow</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *c,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__FP256BN_8h.html#a4bc832c279da28250b84bb6be4d095ec">FP12_FP256BN_pow4</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</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="fp12__FP256BN_8h.html#a1c2ce854ebeebeea9d3a5f566e227672">FP12_FP256BN_frob</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ae0721b58391f89f716fbaf1f56c9e0ae">FP12_FP256BN_reduce</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ac552cbff5268b3df3b65699da7ff5ceb">FP12_FP256BN_norm</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a312614bdf4d82a1caa6cfd644ec8cca5">FP12_FP256BN_output</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</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="fp12__FP256BN_8h.html#ab087a155b3f6d21b1f83f0a44ec4a563">FP12_FP256BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a70f0ca2f79c3a78d6b1c4b9789d776b7">FP12_FP256BN_fromOctet</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a756cdc5821e391ab4dea11e6367df013">FP12_FP256BN_trace</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *t,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a9cdfbd9dcf3b1022831c0c31650599fa">FP12_FP256BN_cmove</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__FP256BN_8h_html_a1c2ce854ebeebeea9d3a5f566e227672"><div class="ttname"><a href="fp12__FP256BN_8h.html#a1c2ce854ebeebeea9d3a5f566e227672">FP12_FP256BN_frob</a></div><div class="ttdeci">void FP12_FP256BN_frob(FP12_FP256BN *x, FP2_FP256BN *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:816</div></div>
+<a href="fp12__FP256BN_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 FP12_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_FP256BN_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 &quot;<a class="code" href="fp4__FP256BN_8h.html">fp4_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__FP256BN.html#a618c0c0e9fabdd7c4c054be01f601469">   38</a></span>&#160;    <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> <a class="code" href="structFP12__FP256BN.html#a618c0c0e9fabdd7c4c054be01f601469">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html#a5ed6d3c3db45ef28440278299ed2057e">   39</a></span>&#160;    <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> <a class="code" href="structFP12__FP256BN.html#a5ed6d3c3db45ef28440278299ed2057e">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html#ac6f5be55c2e14a69939e51923203574b">   40</a></span>&#160;    <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> <a class="code" href="structFP12__FP256BN.html#ac6f5be55c2e14a69939e51923203574b">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__FP256BN.html#a7ddac546623009a7b455b3327478d8f6">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__FP256BN.html#a7ddac546623009a7b455b3327478d8f6">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp12__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP256BN_8h.html#a7ed184f168cb8468f645dc2ce322141e">FP12_FP256BN_iszilch</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP256BN_8h.html#ad7055de65a24ad9e497d963298e6fa86">FP12_FP256BN_isunity</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#aed2909f75f0fe4dfa5bbaf598ec8a2ae">FP12_FP256BN_copy</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a00ad6e0d4a9f57a95f45a99b0247b719">FP12_FP256BN_one</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ad17efe133c8bd07123a8bc6abf63d342">FP12_FP256BN_zero</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP256BN_8h.html#a86e3615517fb8fdce97bd385f50e9e2e">FP12_FP256BN_equals</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</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="fp12__FP256BN_8h.html#a3a0e66aebef94948bc659447ea9c62ec">FP12_FP256BN_conj</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ae0faf95928f1f91b9ee8a64e898ceec5">FP12_FP256BN_from_FP4</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ad5ea7bf1368bfba902bdcd69c84cdba1">FP12_FP256BN_from_FP4s</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *a,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a>* b,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a2b82bd9b19c1e4bde37285e9bf4123d0">FP12_FP256BN_usqr</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#aaedf95e7146f4291f9e3671899015131">FP12_FP256BN_sqr</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#abcec9f5e6a3351b41fb4dd7fe29092ba">FP12_FP256BN_smul</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a87bf2b55be8123161f8db176b3b4683e">FP12_FP256BN_ssmul</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a7a37913bde3a60c1a3eb0ff45e29160d">FP12_FP256BN_mul</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</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="fp12__FP256BN_8h.html#ae6d45c47e4c5dc983809304a9603ab3a">FP12_FP256BN_inv</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#aaf0d66cc8ac7f14a36da92bc9ddfa03e">FP12_FP256BN_pow</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a18144f8f7c6195f14d67c1587615277f">FP12_FP256BN_pinpow</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a3536761aec1ffebecd5530ebb7660957">FP12_FP256BN_compow</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *c,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__FP256BN_8h.html#a4bc832c279da28250b84bb6be4d095ec">FP12_FP256BN_pow4</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> *b);</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="fp12__FP256BN_8h.html#a1c2ce854ebeebeea9d3a5f566e227672">FP12_FP256BN_frob</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ae0721b58391f89f716fbaf1f56c9e0ae">FP12_FP256BN_reduce</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#ac552cbff5268b3df3b65699da7ff5ceb">FP12_FP256BN_norm</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a312614bdf4d82a1caa6cfd644ec8cca5">FP12_FP256BN_output</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</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="fp12__FP256BN_8h.html#ab087a155b3f6d21b1f83f0a44ec4a563">FP12_FP256BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a70f0ca2f79c3a78d6b1c4b9789d776b7">FP12_FP256BN_fromOctet</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a756cdc5821e391ab4dea11e6367df013">FP12_FP256BN_trace</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *t,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP256BN_8h.html#a9cdfbd9dcf3b1022831c0c31650599fa">FP12_FP256BN_cmove</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp12__FP256BN_8h_html_a1c2ce854ebeebeea9d3a5f566e227672"><div class="ttname"><a href="fp12__FP256BN_8h.html#a1c2ce854ebeebeea9d3a5f566e227672">FP12_FP256BN_frob</a></div><div class="ttdeci">void FP12_FP256BN_frob(FP12_FP256BN *x, FP2_FP256BN *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:816</div></div>
 <div class="ttc" id="structFP12__FP256BN_html_ac6f5be55c2e14a69939e51923203574b"><div class="ttname"><a href="structFP12__FP256BN.html#ac6f5be55c2e14a69939e51923203574b">FP12_FP256BN::c</a></div><div class="ttdeci">FP4_FP256BN c</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:40</div></div>
 <div class="ttc" id="fp12__FP256BN_8h_html_a682906829e5ad5c597e675693c5bd8e4"><div class="ttname"><a href="fp12__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">Fra_FP256BN</a></div><div class="ttdeci">const BIG_256_56 Fra_FP256BN</div></div>
 <div class="ttc" id="fp12__FP256BN_8h_html_ad8a72f4c35da61849fac206d83565394"><div class="ttname"><a href="fp12__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">Frb_FP256BN</a></div><div class="ttdeci">const BIG_256_56 Frb_FP256BN</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a86e3615517fb8fdce97bd385f50e9e2e"><div class="ttname"><a href="fp12__FP256BN_8h.html#a86e3615517fb8fdce97bd385f50e9e2e">FP12_FP256BN_equals</a></div><div class="ttdeci">int FP12_FP256BN_equals(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Tests for equality of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:108</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ad17efe133c8bd07123a8bc6abf63d342"><div class="ttname"><a href="fp12__FP256BN_8h.html#ad17efe133c8bd07123a8bc6abf63d342">FP12_FP256BN_zero</a></div><div class="ttdeci">void FP12_FP256BN_zero(FP12_FP256BN *x)</div><div class="ttdoc">Set FP12 to zero.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:98</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_aaf0d66cc8ac7f14a36da92bc9ddfa03e"><div class="ttname"><a href="fp12__FP256BN_8h.html#aaf0d66cc8ac7f14a36da92bc9ddfa03e">FP12_FP256BN_pow</a></div><div class="ttdeci">void FP12_FP256BN_pow(FP12_FP256BN *r, FP12_FP256BN *x, BIG_256_56 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:692</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a86e3615517fb8fdce97bd385f50e9e2e"><div class="ttname"><a href="fp12__FP256BN_8h.html#a86e3615517fb8fdce97bd385f50e9e2e">FP12_FP256BN_equals</a></div><div class="ttdeci">int FP12_FP256BN_equals(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Tests for equality of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:108</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ad17efe133c8bd07123a8bc6abf63d342"><div class="ttname"><a href="fp12__FP256BN_8h.html#ad17efe133c8bd07123a8bc6abf63d342">FP12_FP256BN_zero</a></div><div class="ttdeci">void FP12_FP256BN_zero(FP12_FP256BN *x)</div><div class="ttdoc">Set FP12 to zero. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:98</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_aaf0d66cc8ac7f14a36da92bc9ddfa03e"><div class="ttname"><a href="fp12__FP256BN_8h.html#aaf0d66cc8ac7f14a36da92bc9ddfa03e">FP12_FP256BN_pow</a></div><div class="ttdeci">void FP12_FP256BN_pow(FP12_FP256BN *r, FP12_FP256BN *x, BIG_256_56 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:692</div></div>
 <div class="ttc" id="structFP12__FP256BN_html_a5ed6d3c3db45ef28440278299ed2057e"><div class="ttname"><a href="structFP12__FP256BN.html#a5ed6d3c3db45ef28440278299ed2057e">FP12_FP256BN::b</a></div><div class="ttdeci">FP4_FP256BN b</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:39</div></div>
 <div class="ttc" id="structFP12__FP256BN_html_a7ddac546623009a7b455b3327478d8f6"><div class="ttname"><a href="structFP12__FP256BN.html#a7ddac546623009a7b455b3327478d8f6">FP12_FP256BN::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:41</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a756cdc5821e391ab4dea11e6367df013"><div class="ttname"><a href="fp12__FP256BN_8h.html#a756cdc5821e391ab4dea11e6367df013">FP12_FP256BN_trace</a></div><div class="ttdeci">void FP12_FP256BN_trace(FP4_FP256BN *t, FP12_FP256BN *x)</div><div class="ttdoc">Calculate the trace of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:851</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html"><div class="ttname"><a href="fp4__FP256BN_8h.html">fp4_FP256BN.h</a></div><div class="ttdoc">FP4 Header File.</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="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a4bc832c279da28250b84bb6be4d095ec"><div class="ttname"><a href="fp12__FP256BN_8h.html#a4bc832c279da28250b84bb6be4d095ec">FP12_FP256BN_pow4</a></div><div class="ttdeci">void FP12_FP256BN_pow4(FP12_FP256BN *r, FP12_FP256BN *x, BIG_256_56 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant.</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_aed2909f75f0fe4dfa5bbaf598ec8a2ae"><div class="ttname"><a href="fp12__FP256BN_8h.html#aed2909f75f0fe4dfa5bbaf598ec8a2ae">FP12_FP256BN_copy</a></div><div class="ttdeci">void FP12_FP256BN_copy(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Copy FP12 to another FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:79</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_abcec9f5e6a3351b41fb4dd7fe29092ba"><div class="ttname"><a href="fp12__FP256BN_8h.html#abcec9f5e6a3351b41fb4dd7fe29092ba">FP12_FP256BN_smul</a></div><div class="ttdeci">void FP12_FP256BN_smul(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:480</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a9cdfbd9dcf3b1022831c0c31650599fa"><div class="ttname"><a href="fp12__FP256BN_8h.html#a9cdfbd9dcf3b1022831c0c31650599fa">FP12_FP256BN_cmove</a></div><div class="ttdeci">void FP12_FP256BN_cmove(FP12_FP256BN *x, FP12_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:935</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a87bf2b55be8123161f8db176b3b4683e"><div class="ttname"><a href="fp12__FP256BN_8h.html#a87bf2b55be8123161f8db176b3b4683e">FP12_FP256BN_ssmul</a></div><div class="ttdeci">void FP12_FP256BN_ssmul(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:302</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a70f0ca2f79c3a78d6b1c4b9789d776b7"><div class="ttname"><a href="fp12__FP256BN_8h.html#a70f0ca2f79c3a78d6b1c4b9789d776b7">FP12_FP256BN_fromOctet</a></div><div class="ttdeci">void FP12_FP256BN_fromOctet(FP12_FP256BN *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:905</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a18144f8f7c6195f14d67c1587615277f"><div class="ttname"><a href="fp12__FP256BN_8h.html#a18144f8f7c6195f14d67c1587615277f">FP12_FP256BN_pinpow</a></div><div class="ttdeci">void FP12_FP256BN_pinpow(FP12_FP256BN *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:623</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a3536761aec1ffebecd5530ebb7660957"><div class="ttname"><a href="fp12__FP256BN_8h.html#a3536761aec1ffebecd5530ebb7660957">FP12_FP256BN_compow</a></div><div class="ttdeci">void FP12_FP256BN_compow(FP4_FP256BN *c, FP12_FP256BN *x, BIG_256_56 e, BIG_256_56 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:642</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a2b82bd9b19c1e4bde37285e9bf4123d0"><div class="ttname"><a href="fp12__FP256BN_8h.html#a2b82bd9b19c1e4bde37285e9bf4123d0">FP12_FP256BN_usqr</a></div><div class="ttdeci">void FP12_FP256BN_usqr(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:147</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ae6d45c47e4c5dc983809304a9603ab3a"><div class="ttname"><a href="fp12__FP256BN_8h.html#ae6d45c47e4c5dc983809304a9603ab3a">FP12_FP256BN_inv</a></div><div class="ttdeci">void FP12_FP256BN_inv(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Inverting an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:582</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ad5ea7bf1368bfba902bdcd69c84cdba1"><div class="ttname"><a href="fp12__FP256BN_8h.html#ad5ea7bf1368bfba902bdcd69c84cdba1">FP12_FP256BN_from_FP4s</a></div><div class="ttdeci">void FP12_FP256BN_from_FP4s(FP12_FP256BN *x, FP4_FP256BN *a, FP4_FP256BN *b, FP4_FP256BN *c)</div><div class="ttdoc">Initialise FP12 from three FP4s.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:137</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ac552cbff5268b3df3b65699da7ff5ceb"><div class="ttname"><a href="fp12__FP256BN_8h.html#ac552cbff5268b3df3b65699da7ff5ceb">FP12_FP256BN_norm</a></div><div class="ttdeci">void FP12_FP256BN_norm(FP12_FP256BN *x)</div><div class="ttdoc">Normalises the components of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:833</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a3a0e66aebef94948bc659447ea9c62ec"><div class="ttname"><a href="fp12__FP256BN_8h.html#a3a0e66aebef94948bc659447ea9c62ec">FP12_FP256BN_conj</a></div><div class="ttdeci">void FP12_FP256BN_conj(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Conjugation of FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:117</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a7a37913bde3a60c1a3eb0ff45e29160d"><div class="ttname"><a href="fp12__FP256BN_8h.html#a7a37913bde3a60c1a3eb0ff45e29160d">FP12_FP256BN_mul</a></div><div class="ttdeci">void FP12_FP256BN_mul(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:245</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ae0faf95928f1f91b9ee8a64e898ceec5"><div class="ttname"><a href="fp12__FP256BN_8h.html#ae0faf95928f1f91b9ee8a64e898ceec5">FP12_FP256BN_from_FP4</a></div><div class="ttdeci">void FP12_FP256BN_from_FP4(FP12_FP256BN *x, FP4_FP256BN *a)</div><div class="ttdoc">Initialise FP12 from single FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:127</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a7ed184f168cb8468f645dc2ce322141e"><div class="ttname"><a href="fp12__FP256BN_8h.html#a7ed184f168cb8468f645dc2ce322141e">FP12_FP256BN_iszilch</a></div><div class="ttdeci">int FP12_FP256BN_iszilch(FP12_FP256BN *x)</div><div class="ttdoc">Tests for FP12 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:63</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ad7055de65a24ad9e497d963298e6fa86"><div class="ttname"><a href="fp12__FP256BN_8h.html#ad7055de65a24ad9e497d963298e6fa86">FP12_FP256BN_isunity</a></div><div class="ttdeci">int FP12_FP256BN_isunity(FP12_FP256BN *x)</div><div class="ttdoc">Tests for FP12 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:71</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a756cdc5821e391ab4dea11e6367df013"><div class="ttname"><a href="fp12__FP256BN_8h.html#a756cdc5821e391ab4dea11e6367df013">FP12_FP256BN_trace</a></div><div class="ttdeci">void FP12_FP256BN_trace(FP4_FP256BN *t, FP12_FP256BN *x)</div><div class="ttdoc">Calculate the trace of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:851</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html"><div class="ttname"><a href="fp4__FP256BN_8h.html">fp4_FP256BN.h</a></div><div class="ttdoc">FP4 Header File. </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="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a4bc832c279da28250b84bb6be4d095ec"><div class="ttname"><a href="fp12__FP256BN_8h.html#a4bc832c279da28250b84bb6be4d095ec">FP12_FP256BN_pow4</a></div><div class="ttdeci">void FP12_FP256BN_pow4(FP12_FP256BN *r, FP12_FP256BN *x, BIG_256_56 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant. </div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_aed2909f75f0fe4dfa5bbaf598ec8a2ae"><div class="ttname"><a href="fp12__FP256BN_8h.html#aed2909f75f0fe4dfa5bbaf598ec8a2ae">FP12_FP256BN_copy</a></div><div class="ttdeci">void FP12_FP256BN_copy(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Copy FP12 to another FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:79</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_abcec9f5e6a3351b41fb4dd7fe29092ba"><div class="ttname"><a href="fp12__FP256BN_8h.html#abcec9f5e6a3351b41fb4dd7fe29092ba">FP12_FP256BN_smul</a></div><div class="ttdeci">void FP12_FP256BN_smul(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:480</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a9cdfbd9dcf3b1022831c0c31650599fa"><div class="ttname"><a href="fp12__FP256BN_8h.html#a9cdfbd9dcf3b1022831c0c31650599fa">FP12_FP256BN_cmove</a></div><div class="ttdeci">void FP12_FP256BN_cmove(FP12_FP256BN *x, FP12_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:935</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a87bf2b55be8123161f8db176b3b4683e"><div class="ttname"><a href="fp12__FP256BN_8h.html#a87bf2b55be8123161f8db176b3b4683e">FP12_FP256BN_ssmul</a></div><div class="ttdeci">void FP12_FP256BN_ssmul(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:302</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a70f0ca2f79c3a78d6b1c4b9789d776b7"><div class="ttname"><a href="fp12__FP256BN_8h.html#a70f0ca2f79c3a78d6b1c4b9789d776b7">FP12_FP256BN_fromOctet</a></div><div class="ttdeci">void FP12_FP256BN_fromOctet(FP12_FP256BN *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:905</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a18144f8f7c6195f14d67c1587615277f"><div class="ttname"><a href="fp12__FP256BN_8h.html#a18144f8f7c6195f14d67c1587615277f">FP12_FP256BN_pinpow</a></div><div class="ttdeci">void FP12_FP256BN_pinpow(FP12_FP256BN *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:623</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a3536761aec1ffebecd5530ebb7660957"><div class="ttname"><a href="fp12__FP256BN_8h.html#a3536761aec1ffebecd5530ebb7660957">FP12_FP256BN_compow</a></div><div class="ttdeci">void FP12_FP256BN_compow(FP4_FP256BN *c, FP12_FP256BN *x, BIG_256_56 e, BIG_256_56 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:642</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a2b82bd9b19c1e4bde37285e9bf4123d0"><div class="ttname"><a href="fp12__FP256BN_8h.html#a2b82bd9b19c1e4bde37285e9bf4123d0">FP12_FP256BN_usqr</a></div><div class="ttdeci">void FP12_FP256BN_usqr(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:147</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ae6d45c47e4c5dc983809304a9603ab3a"><div class="ttname"><a href="fp12__FP256BN_8h.html#ae6d45c47e4c5dc983809304a9603ab3a">FP12_FP256BN_inv</a></div><div class="ttdeci">void FP12_FP256BN_inv(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Inverting an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:582</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ad5ea7bf1368bfba902bdcd69c84cdba1"><div class="ttname"><a href="fp12__FP256BN_8h.html#ad5ea7bf1368bfba902bdcd69c84cdba1">FP12_FP256BN_from_FP4s</a></div><div class="ttdeci">void FP12_FP256BN_from_FP4s(FP12_FP256BN *x, FP4_FP256BN *a, FP4_FP256BN *b, FP4_FP256BN *c)</div><div class="ttdoc">Initialise FP12 from three FP4s. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:137</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ac552cbff5268b3df3b65699da7ff5ceb"><div class="ttname"><a href="fp12__FP256BN_8h.html#ac552cbff5268b3df3b65699da7ff5ceb">FP12_FP256BN_norm</a></div><div class="ttdeci">void FP12_FP256BN_norm(FP12_FP256BN *x)</div><div class="ttdoc">Normalises the components of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:833</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a3a0e66aebef94948bc659447ea9c62ec"><div class="ttname"><a href="fp12__FP256BN_8h.html#a3a0e66aebef94948bc659447ea9c62ec">FP12_FP256BN_conj</a></div><div class="ttdeci">void FP12_FP256BN_conj(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Conjugation of FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:117</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a7a37913bde3a60c1a3eb0ff45e29160d"><div class="ttname"><a href="fp12__FP256BN_8h.html#a7a37913bde3a60c1a3eb0ff45e29160d">FP12_FP256BN_mul</a></div><div class="ttdeci">void FP12_FP256BN_mul(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:245</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ae0faf95928f1f91b9ee8a64e898ceec5"><div class="ttname"><a href="fp12__FP256BN_8h.html#ae0faf95928f1f91b9ee8a64e898ceec5">FP12_FP256BN_from_FP4</a></div><div class="ttdeci">void FP12_FP256BN_from_FP4(FP12_FP256BN *x, FP4_FP256BN *a)</div><div class="ttdoc">Initialise FP12 from single FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:127</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a7ed184f168cb8468f645dc2ce322141e"><div class="ttname"><a href="fp12__FP256BN_8h.html#a7ed184f168cb8468f645dc2ce322141e">FP12_FP256BN_iszilch</a></div><div class="ttdeci">int FP12_FP256BN_iszilch(FP12_FP256BN *x)</div><div class="ttdoc">Tests for FP12 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:63</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ad7055de65a24ad9e497d963298e6fa86"><div class="ttname"><a href="fp12__FP256BN_8h.html#ad7055de65a24ad9e497d963298e6fa86">FP12_FP256BN_isunity</a></div><div class="ttdeci">int FP12_FP256BN_isunity(FP12_FP256BN *x)</div><div class="ttdoc">Tests for FP12 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:71</div></div>
 <div class="ttc" id="structFP12__FP256BN_html_a618c0c0e9fabdd7c4c054be01f601469"><div class="ttname"><a href="structFP12__FP256BN.html#a618c0c0e9fabdd7c4c054be01f601469">FP12_FP256BN::a</a></div><div class="ttdeci">FP4_FP256BN a</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:38</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ab087a155b3f6d21b1f83f0a44ec4a563"><div class="ttname"><a href="fp12__FP256BN_8h.html#ab087a155b3f6d21b1f83f0a44ec4a563">FP12_FP256BN_toOctet</a></div><div class="ttdeci">void FP12_FP256BN_toOctet(octet *S, FP12_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:872</div></div>
-<div class="ttc" id="structFP12__FP256BN_html"><div class="ttname"><a href="structFP12__FP256BN.html">FP12_FP256BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:36</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ab087a155b3f6d21b1f83f0a44ec4a563"><div class="ttname"><a href="fp12__FP256BN_8h.html#ab087a155b3f6d21b1f83f0a44ec4a563">FP12_FP256BN_toOctet</a></div><div class="ttdeci">void FP12_FP256BN_toOctet(octet *S, FP12_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:872</div></div>
+<div class="ttc" id="structFP12__FP256BN_html"><div class="ttname"><a href="structFP12__FP256BN.html">FP12_FP256BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:36</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_ae0721b58391f89f716fbaf1f56c9e0ae"><div class="ttname"><a href="fp12__FP256BN_8h.html#ae0721b58391f89f716fbaf1f56c9e0ae">FP12_FP256BN_reduce</a></div><div class="ttdeci">void FP12_FP256BN_reduce(FP12_FP256BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:842</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a00ad6e0d4a9f57a95f45a99b0247b719"><div class="ttname"><a href="fp12__FP256BN_8h.html#a00ad6e0d4a9f57a95f45a99b0247b719">FP12_FP256BN_one</a></div><div class="ttdeci">void FP12_FP256BN_one(FP12_FP256BN *x)</div><div class="ttdoc">Set FP12 to unity.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:90</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_a312614bdf4d82a1caa6cfd644ec8cca5"><div class="ttname"><a href="fp12__FP256BN_8h.html#a312614bdf4d82a1caa6cfd644ec8cca5">FP12_FP256BN_output</a></div><div class="ttdeci">void FP12_FP256BN_output(FP12_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:859</div></div>
-<div class="ttc" id="structFP4__FP256BN_html"><div class="ttname"><a href="structFP4__FP256BN.html">FP4_FP256BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.h:37</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html_aaedf95e7146f4291f9e3671899015131"><div class="ttname"><a href="fp12__FP256BN_8h.html#aaedf95e7146f4291f9e3671899015131">FP12_FP256BN_sqr</a></div><div class="ttdeci">void FP12_FP256BN_sqr(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Squaring an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:189</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_ae0721b58391f89f716fbaf1f56c9e0ae"><div class="ttname"><a href="fp12__FP256BN_8h.html#ae0721b58391f89f716fbaf1f56c9e0ae">FP12_FP256BN_reduce</a></div><div class="ttdeci">void FP12_FP256BN_reduce(FP12_FP256BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:842</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a00ad6e0d4a9f57a95f45a99b0247b719"><div class="ttname"><a href="fp12__FP256BN_8h.html#a00ad6e0d4a9f57a95f45a99b0247b719">FP12_FP256BN_one</a></div><div class="ttdeci">void FP12_FP256BN_one(FP12_FP256BN *x)</div><div class="ttdoc">Set FP12 to unity. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:90</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_a312614bdf4d82a1caa6cfd644ec8cca5"><div class="ttname"><a href="fp12__FP256BN_8h.html#a312614bdf4d82a1caa6cfd644ec8cca5">FP12_FP256BN_output</a></div><div class="ttdeci">void FP12_FP256BN_output(FP12_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:859</div></div>
+<div class="ttc" id="structFP4__FP256BN_html"><div class="ttname"><a href="structFP4__FP256BN.html">FP4_FP256BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.h:37</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html_aaedf95e7146f4291f9e3671899015131"><div class="ttname"><a href="fp12__FP256BN_8h.html#aaedf95e7146f4291f9e3671899015131">FP12_FP256BN_sqr</a></div><div class="ttdeci">void FP12_FP256BN_sqr(FP12_FP256BN *x, FP12_FP256BN *y)</div><div class="ttdoc">Squaring an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.c:189</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/fp12__FP512BN_8h.html b/website/static/cdocs/fp12__FP512BN_8h.html
index e4d25e0..aff5d1b 100644
--- a/website/static/cdocs/fp12__FP512BN_8h.html
+++ b/website/static/cdocs/fp12__FP512BN_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: fp12_FP512BN.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"
@@ -1143,7 +1146,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/fp12__FP512BN_8h_source.html b/website/static/cdocs/fp12__FP512BN_8h_source.html
index 6facb6b..50adc87 100644
--- a/website/static/cdocs/fp12__FP512BN_8h_source.html
+++ b/website/static/cdocs/fp12__FP512BN_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: fp12_FP512BN.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,51 +72,51 @@
 <div class="title">fp12_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp12__FP512BN_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 FP12_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_FP512BN_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 &quot;<a class="code" href="fp4__FP512BN_8h.html">fp4_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__FP512BN.html#a64dc28a2ee131075a24742a955e33600">   38</a></span>&#160;    <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> <a class="code" href="structFP12__FP512BN.html#a64dc28a2ee131075a24742a955e33600">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html#a489e2bcec3be4cecae74463786c850d0">   39</a></span>&#160;    <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> <a class="code" href="structFP12__FP512BN.html#a489e2bcec3be4cecae74463786c850d0">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html#ac4383eddc009b14f5a7dfdfd2f71194f">   40</a></span>&#160;    <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> <a class="code" href="structFP12__FP512BN.html#ac4383eddc009b14f5a7dfdfd2f71194f">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html#a05506d1c036e4920bb1d960a3f649da9">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__FP512BN.html#a05506d1c036e4920bb1d960a3f649da9">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp12__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp12__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP512BN_8h.html#a19790c7b73089851d374ae9848fbfa5c">FP12_FP512BN_iszilch</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP512BN_8h.html#a1f3babdd9479dd8a1c36d41936bfbbb8">FP12_FP512BN_isunity</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a3cbd4fddb940026a8229cd2f561a7fb9">FP12_FP512BN_copy</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a0ce2f82a834844302320126443a6b23a">FP12_FP512BN_one</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a7f0acc7745a5cab3d72f1a0d344d6199">FP12_FP512BN_zero</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP512BN_8h.html#a02d960f750136a8b403a3983c333fe5f">FP12_FP512BN_equals</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</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="fp12__FP512BN_8h.html#ace45decd1d3bfd3cc456b837bf411c4e">FP12_FP512BN_conj</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a22dffa8afaf7127fb7872ffe01dcfee7">FP12_FP512BN_from_FP4</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a077b2f20b0332099ceffd8060f6271d8">FP12_FP512BN_from_FP4s</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *a,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a>* b,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#ad058910fe143f8d64cd047c79a797cb2">FP12_FP512BN_usqr</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a92be596e66f4086902fc2e7b9ae74ef4">FP12_FP512BN_sqr</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a720b4ad3105029218be96899e519d3c0">FP12_FP512BN_smul</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a8a42bfbffd2a62213ca2fdc65197c105">FP12_FP512BN_ssmul</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#aca56833f7f38303b704d94494b5bf375">FP12_FP512BN_mul</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</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="fp12__FP512BN_8h.html#a6f523dabff9dad730ac68887c559a501">FP12_FP512BN_inv</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a26aa81c34ac866aca13513bfe599b4a4">FP12_FP512BN_pow</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a61a4312bbace323c62d067a7335f00fd">FP12_FP512BN_pinpow</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a7ee76f8fe47524c771f98fb4d3f6887f">FP12_FP512BN_compow</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *c,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__FP512BN_8h.html#a36ff17c7f060a381080946317fe54bef">FP12_FP512BN_pow4</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *b);</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="fp12__FP512BN_8h.html#ab7ea30ea1d2239c438e0b3b4b1c1aab8">FP12_FP512BN_frob</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a91f6920c76cc68fb8baf6802817168a8">FP12_FP512BN_reduce</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#ab6d4ed44349b1f5e0cd040f7f2e49e3e">FP12_FP512BN_norm</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a2a27106bfd2b7342d5b84154b7e76e6f">FP12_FP512BN_output</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</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="fp12__FP512BN_8h.html#abceb500aed4eb92470b2e07c347d8934">FP12_FP512BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a1cb1a52299b2af2840ed289f91878cbb">FP12_FP512BN_fromOctet</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#aad33e42e53a32da6e093ce2be11ecba5">FP12_FP512BN_trace</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *t,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#ac7e566d64a196d90e1885fa2b418edb3">FP12_FP512BN_cmove</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a6f523dabff9dad730ac68887c559a501"><div class="ttname"><a href="fp12__FP512BN_8h.html#a6f523dabff9dad730ac68887c559a501">FP12_FP512BN_inv</a></div><div class="ttdeci">void FP12_FP512BN_inv(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Inverting an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:582</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a61a4312bbace323c62d067a7335f00fd"><div class="ttname"><a href="fp12__FP512BN_8h.html#a61a4312bbace323c62d067a7335f00fd">FP12_FP512BN_pinpow</a></div><div class="ttdeci">void FP12_FP512BN_pinpow(FP12_FP512BN *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:623</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html"><div class="ttname"><a href="fp4__FP512BN_8h.html">fp4_FP512BN.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_abceb500aed4eb92470b2e07c347d8934"><div class="ttname"><a href="fp12__FP512BN_8h.html#abceb500aed4eb92470b2e07c347d8934">FP12_FP512BN_toOctet</a></div><div class="ttdeci">void FP12_FP512BN_toOctet(octet *S, FP12_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:872</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_aca56833f7f38303b704d94494b5bf375"><div class="ttname"><a href="fp12__FP512BN_8h.html#aca56833f7f38303b704d94494b5bf375">FP12_FP512BN_mul</a></div><div class="ttdeci">void FP12_FP512BN_mul(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:245</div></div>
-<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
+<a href="fp12__FP512BN_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 FP12_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP12_FP512BN_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 &quot;<a class="code" href="fp4__FP512BN_8h.html">fp4_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP12__FP512BN.html#a64dc28a2ee131075a24742a955e33600">   38</a></span>&#160;    <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> <a class="code" href="structFP12__FP512BN.html#a64dc28a2ee131075a24742a955e33600">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html#a489e2bcec3be4cecae74463786c850d0">   39</a></span>&#160;    <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> <a class="code" href="structFP12__FP512BN.html#a489e2bcec3be4cecae74463786c850d0">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html#ac4383eddc009b14f5a7dfdfd2f71194f">   40</a></span>&#160;    <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> <a class="code" href="structFP12__FP512BN.html#ac4383eddc009b14f5a7dfdfd2f71194f">c</a>; </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP12__FP512BN.html#a05506d1c036e4920bb1d960a3f649da9">   41</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP12__FP512BN.html#a05506d1c036e4920bb1d960a3f649da9">type</a>;  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp12__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a>; </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp12__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* FP12 prototypes */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP512BN_8h.html#a19790c7b73089851d374ae9848fbfa5c">FP12_FP512BN_iszilch</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP512BN_8h.html#a1f3babdd9479dd8a1c36d41936bfbbb8">FP12_FP512BN_isunity</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a3cbd4fddb940026a8229cd2f561a7fb9">FP12_FP512BN_copy</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a0ce2f82a834844302320126443a6b23a">FP12_FP512BN_one</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a7f0acc7745a5cab3d72f1a0d344d6199">FP12_FP512BN_zero</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp12__FP512BN_8h.html#a02d960f750136a8b403a3983c333fe5f">FP12_FP512BN_equals</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</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="fp12__FP512BN_8h.html#ace45decd1d3bfd3cc456b837bf411c4e">FP12_FP512BN_conj</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a22dffa8afaf7127fb7872ffe01dcfee7">FP12_FP512BN_from_FP4</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *a);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a077b2f20b0332099ceffd8060f6271d8">FP12_FP512BN_from_FP4s</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *a,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a>* b,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *c);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#ad058910fe143f8d64cd047c79a797cb2">FP12_FP512BN_usqr</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a92be596e66f4086902fc2e7b9ae74ef4">FP12_FP512BN_sqr</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a720b4ad3105029218be96899e519d3c0">FP12_FP512BN_smul</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a8a42bfbffd2a62213ca2fdc65197c105">FP12_FP512BN_ssmul</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#aca56833f7f38303b704d94494b5bf375">FP12_FP512BN_mul</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</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="fp12__FP512BN_8h.html#a6f523dabff9dad730ac68887c559a501">FP12_FP512BN_inv</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a26aa81c34ac866aca13513bfe599b4a4">FP12_FP512BN_pow</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a61a4312bbace323c62d067a7335f00fd">FP12_FP512BN_pinpow</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a7ee76f8fe47524c771f98fb4d3f6887f">FP12_FP512BN_compow</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *c,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> e,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> r);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</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="fp12__FP512BN_8h.html#a36ff17c7f060a381080946317fe54bef">FP12_FP512BN_pow4</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *b);</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="fp12__FP512BN_8h.html#ab7ea30ea1d2239c438e0b3b4b1c1aab8">FP12_FP512BN_frob</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *f);</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a91f6920c76cc68fb8baf6802817168a8">FP12_FP512BN_reduce</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#ab6d4ed44349b1f5e0cd040f7f2e49e3e">FP12_FP512BN_norm</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a2a27106bfd2b7342d5b84154b7e76e6f">FP12_FP512BN_output</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</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="fp12__FP512BN_8h.html#abceb500aed4eb92470b2e07c347d8934">FP12_FP512BN_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#a1cb1a52299b2af2840ed289f91878cbb">FP12_FP512BN_fromOctet</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#aad33e42e53a32da6e093ce2be11ecba5">FP12_FP512BN_trace</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *t,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp12__FP512BN_8h.html#ac7e566d64a196d90e1885fa2b418edb3">FP12_FP512BN_cmove</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a6f523dabff9dad730ac68887c559a501"><div class="ttname"><a href="fp12__FP512BN_8h.html#a6f523dabff9dad730ac68887c559a501">FP12_FP512BN_inv</a></div><div class="ttdeci">void FP12_FP512BN_inv(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Inverting an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:582</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a61a4312bbace323c62d067a7335f00fd"><div class="ttname"><a href="fp12__FP512BN_8h.html#a61a4312bbace323c62d067a7335f00fd">FP12_FP512BN_pinpow</a></div><div class="ttdeci">void FP12_FP512BN_pinpow(FP12_FP512BN *x, int i, int b)</div><div class="ttdoc">Raises an FP12 instance x to a small integer power, side-channel resistant. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:623</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html"><div class="ttname"><a href="fp4__FP512BN_8h.html">fp4_FP512BN.h</a></div><div class="ttdoc">FP4 Header File. </div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_abceb500aed4eb92470b2e07c347d8934"><div class="ttname"><a href="fp12__FP512BN_8h.html#abceb500aed4eb92470b2e07c347d8934">FP12_FP512BN_toOctet</a></div><div class="ttdeci">void FP12_FP512BN_toOctet(octet *S, FP12_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP12 instance to an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:872</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_aca56833f7f38303b704d94494b5bf375"><div class="ttname"><a href="fp12__FP512BN_8h.html#aca56833f7f38303b704d94494b5bf375">FP12_FP512BN_mul</a></div><div class="ttdeci">void FP12_FP512BN_mul(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Full unconditional Multiplication of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:245</div></div>
+<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
 <div class="ttc" id="fp12__FP512BN_8h_html_ad7da3c3186a66323a2cd55968808f253"><div class="ttname"><a href="fp12__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">Fra_FP512BN</a></div><div class="ttdeci">const BIG_512_60 Fra_FP512BN</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a36ff17c7f060a381080946317fe54bef"><div class="ttname"><a href="fp12__FP512BN_8h.html#a36ff17c7f060a381080946317fe54bef">FP12_FP512BN_pow4</a></div><div class="ttdeci">void FP12_FP512BN_pow4(FP12_FP512BN *r, FP12_FP512BN *x, BIG_512_60 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant.</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a36ff17c7f060a381080946317fe54bef"><div class="ttname"><a href="fp12__FP512BN_8h.html#a36ff17c7f060a381080946317fe54bef">FP12_FP512BN_pow4</a></div><div class="ttdeci">void FP12_FP512BN_pow4(FP12_FP512BN *r, FP12_FP512BN *x, BIG_512_60 *b)</div><div class="ttdoc">Calculate x[0]^b[0].x[1]^b[1].x[2]^b[2].x[3]^b[3], side-channel resistant. </div></div>
 <div class="ttc" id="structFP12__FP512BN_html_a64dc28a2ee131075a24742a955e33600"><div class="ttname"><a href="structFP12__FP512BN.html#a64dc28a2ee131075a24742a955e33600">FP12_FP512BN::a</a></div><div class="ttdeci">FP4_FP512BN a</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:38</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_ab6d4ed44349b1f5e0cd040f7f2e49e3e"><div class="ttname"><a href="fp12__FP512BN_8h.html#ab6d4ed44349b1f5e0cd040f7f2e49e3e">FP12_FP512BN_norm</a></div><div class="ttdeci">void FP12_FP512BN_norm(FP12_FP512BN *x)</div><div class="ttdoc">Normalises the components of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:833</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="fp12__FP512BN_8h_html_ace45decd1d3bfd3cc456b837bf411c4e"><div class="ttname"><a href="fp12__FP512BN_8h.html#ace45decd1d3bfd3cc456b837bf411c4e">FP12_FP512BN_conj</a></div><div class="ttdeci">void FP12_FP512BN_conj(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Conjugation of FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:117</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_aad33e42e53a32da6e093ce2be11ecba5"><div class="ttname"><a href="fp12__FP512BN_8h.html#aad33e42e53a32da6e093ce2be11ecba5">FP12_FP512BN_trace</a></div><div class="ttdeci">void FP12_FP512BN_trace(FP4_FP512BN *t, FP12_FP512BN *x)</div><div class="ttdoc">Calculate the trace of an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:851</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a22dffa8afaf7127fb7872ffe01dcfee7"><div class="ttname"><a href="fp12__FP512BN_8h.html#a22dffa8afaf7127fb7872ffe01dcfee7">FP12_FP512BN_from_FP4</a></div><div class="ttdeci">void FP12_FP512BN_from_FP4(FP12_FP512BN *x, FP4_FP512BN *a)</div><div class="ttdoc">Initialise FP12 from single FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:127</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a1cb1a52299b2af2840ed289f91878cbb"><div class="ttname"><a href="fp12__FP512BN_8h.html#a1cb1a52299b2af2840ed289f91878cbb">FP12_FP512BN_fromOctet</a></div><div class="ttdeci">void FP12_FP512BN_fromOctet(FP12_FP512BN *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:905</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a02d960f750136a8b403a3983c333fe5f"><div class="ttname"><a href="fp12__FP512BN_8h.html#a02d960f750136a8b403a3983c333fe5f">FP12_FP512BN_equals</a></div><div class="ttdeci">int FP12_FP512BN_equals(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Tests for equality of two FP12s.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:108</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_ad058910fe143f8d64cd047c79a797cb2"><div class="ttname"><a href="fp12__FP512BN_8h.html#ad058910fe143f8d64cd047c79a797cb2">FP12_FP512BN_usqr</a></div><div class="ttdeci">void FP12_FP512BN_usqr(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:147</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_ab6d4ed44349b1f5e0cd040f7f2e49e3e"><div class="ttname"><a href="fp12__FP512BN_8h.html#ab6d4ed44349b1f5e0cd040f7f2e49e3e">FP12_FP512BN_norm</a></div><div class="ttdeci">void FP12_FP512BN_norm(FP12_FP512BN *x)</div><div class="ttdoc">Normalises the components of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:833</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="fp12__FP512BN_8h_html_ace45decd1d3bfd3cc456b837bf411c4e"><div class="ttname"><a href="fp12__FP512BN_8h.html#ace45decd1d3bfd3cc456b837bf411c4e">FP12_FP512BN_conj</a></div><div class="ttdeci">void FP12_FP512BN_conj(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Conjugation of FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:117</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_aad33e42e53a32da6e093ce2be11ecba5"><div class="ttname"><a href="fp12__FP512BN_8h.html#aad33e42e53a32da6e093ce2be11ecba5">FP12_FP512BN_trace</a></div><div class="ttdeci">void FP12_FP512BN_trace(FP4_FP512BN *t, FP12_FP512BN *x)</div><div class="ttdoc">Calculate the trace of an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:851</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a22dffa8afaf7127fb7872ffe01dcfee7"><div class="ttname"><a href="fp12__FP512BN_8h.html#a22dffa8afaf7127fb7872ffe01dcfee7">FP12_FP512BN_from_FP4</a></div><div class="ttdeci">void FP12_FP512BN_from_FP4(FP12_FP512BN *x, FP4_FP512BN *a)</div><div class="ttdoc">Initialise FP12 from single FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:127</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a1cb1a52299b2af2840ed289f91878cbb"><div class="ttname"><a href="fp12__FP512BN_8h.html#a1cb1a52299b2af2840ed289f91878cbb">FP12_FP512BN_fromOctet</a></div><div class="ttdeci">void FP12_FP512BN_fromOctet(FP12_FP512BN *x, octet *S)</div><div class="ttdoc">Creates an FP12 instance from an octet string. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:905</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a02d960f750136a8b403a3983c333fe5f"><div class="ttname"><a href="fp12__FP512BN_8h.html#a02d960f750136a8b403a3983c333fe5f">FP12_FP512BN_equals</a></div><div class="ttdeci">int FP12_FP512BN_equals(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Tests for equality of two FP12s. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:108</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_ad058910fe143f8d64cd047c79a797cb2"><div class="ttname"><a href="fp12__FP512BN_8h.html#ad058910fe143f8d64cd047c79a797cb2">FP12_FP512BN_usqr</a></div><div class="ttdeci">void FP12_FP512BN_usqr(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Fast Squaring of an FP12 in &quot;unitary&quot; form. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:147</div></div>
 <div class="ttc" id="fp12__FP512BN_8h_html_a99f0e0c6148339ac0862403fdc477991"><div class="ttname"><a href="fp12__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">Frb_FP512BN</a></div><div class="ttdeci">const BIG_512_60 Frb_FP512BN</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a8a42bfbffd2a62213ca2fdc65197c105"><div class="ttname"><a href="fp12__FP512BN_8h.html#a8a42bfbffd2a62213ca2fdc65197c105">FP12_FP512BN_ssmul</a></div><div class="ttdeci">void FP12_FP512BN_ssmul(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:302</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a7f0acc7745a5cab3d72f1a0d344d6199"><div class="ttname"><a href="fp12__FP512BN_8h.html#a7f0acc7745a5cab3d72f1a0d344d6199">FP12_FP512BN_zero</a></div><div class="ttdeci">void FP12_FP512BN_zero(FP12_FP512BN *x)</div><div class="ttdoc">Set FP12 to zero.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:98</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_ac7e566d64a196d90e1885fa2b418edb3"><div class="ttname"><a href="fp12__FP512BN_8h.html#ac7e566d64a196d90e1885fa2b418edb3">FP12_FP512BN_cmove</a></div><div class="ttdeci">void FP12_FP512BN_cmove(FP12_FP512BN *x, FP12_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:935</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a92be596e66f4086902fc2e7b9ae74ef4"><div class="ttname"><a href="fp12__FP512BN_8h.html#a92be596e66f4086902fc2e7b9ae74ef4">FP12_FP512BN_sqr</a></div><div class="ttdeci">void FP12_FP512BN_sqr(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Squaring an FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:189</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a7ee76f8fe47524c771f98fb4d3f6887f"><div class="ttname"><a href="fp12__FP512BN_8h.html#a7ee76f8fe47524c771f98fb4d3f6887f">FP12_FP512BN_compow</a></div><div class="ttdeci">void FP12_FP512BN_compow(FP4_FP512BN *c, FP12_FP512BN *x, BIG_512_60 e, BIG_512_60 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:642</div></div>
-<div class="ttc" id="structFP4__FP512BN_html"><div class="ttname"><a href="structFP4__FP512BN.html">FP4_FP512BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.h:37</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a077b2f20b0332099ceffd8060f6271d8"><div class="ttname"><a href="fp12__FP512BN_8h.html#a077b2f20b0332099ceffd8060f6271d8">FP12_FP512BN_from_FP4s</a></div><div class="ttdeci">void FP12_FP512BN_from_FP4s(FP12_FP512BN *x, FP4_FP512BN *a, FP4_FP512BN *b, FP4_FP512BN *c)</div><div class="ttdoc">Initialise FP12 from three FP4s.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:137</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a3cbd4fddb940026a8229cd2f561a7fb9"><div class="ttname"><a href="fp12__FP512BN_8h.html#a3cbd4fddb940026a8229cd2f561a7fb9">FP12_FP512BN_copy</a></div><div class="ttdeci">void FP12_FP512BN_copy(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Copy FP12 to another FP12.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:79</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a1f3babdd9479dd8a1c36d41936bfbbb8"><div class="ttname"><a href="fp12__FP512BN_8h.html#a1f3babdd9479dd8a1c36d41936bfbbb8">FP12_FP512BN_isunity</a></div><div class="ttdeci">int FP12_FP512BN_isunity(FP12_FP512BN *x)</div><div class="ttdoc">Tests for FP12 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:71</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a91f6920c76cc68fb8baf6802817168a8"><div class="ttname"><a href="fp12__FP512BN_8h.html#a91f6920c76cc68fb8baf6802817168a8">FP12_FP512BN_reduce</a></div><div class="ttdeci">void FP12_FP512BN_reduce(FP12_FP512BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:842</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a2a27106bfd2b7342d5b84154b7e76e6f"><div class="ttname"><a href="fp12__FP512BN_8h.html#a2a27106bfd2b7342d5b84154b7e76e6f">FP12_FP512BN_output</a></div><div class="ttdeci">void FP12_FP512BN_output(FP12_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:859</div></div>
-<div class="ttc" id="structFP12__FP512BN_html"><div class="ttname"><a href="structFP12__FP512BN.html">FP12_FP512BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:36</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a8a42bfbffd2a62213ca2fdc65197c105"><div class="ttname"><a href="fp12__FP512BN_8h.html#a8a42bfbffd2a62213ca2fdc65197c105">FP12_FP512BN_ssmul</a></div><div class="ttdeci">void FP12_FP512BN_ssmul(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Fast multiplication of what may be sparse multiplicands. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:302</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a7f0acc7745a5cab3d72f1a0d344d6199"><div class="ttname"><a href="fp12__FP512BN_8h.html#a7f0acc7745a5cab3d72f1a0d344d6199">FP12_FP512BN_zero</a></div><div class="ttdeci">void FP12_FP512BN_zero(FP12_FP512BN *x)</div><div class="ttdoc">Set FP12 to zero. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:98</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_ac7e566d64a196d90e1885fa2b418edb3"><div class="ttname"><a href="fp12__FP512BN_8h.html#ac7e566d64a196d90e1885fa2b418edb3">FP12_FP512BN_cmove</a></div><div class="ttdeci">void FP12_FP512BN_cmove(FP12_FP512BN *x, FP12_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP12 number. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:935</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a92be596e66f4086902fc2e7b9ae74ef4"><div class="ttname"><a href="fp12__FP512BN_8h.html#a92be596e66f4086902fc2e7b9ae74ef4">FP12_FP512BN_sqr</a></div><div class="ttdeci">void FP12_FP512BN_sqr(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Squaring an FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:189</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a7ee76f8fe47524c771f98fb4d3f6887f"><div class="ttname"><a href="fp12__FP512BN_8h.html#a7ee76f8fe47524c771f98fb4d3f6887f">FP12_FP512BN_compow</a></div><div class="ttdeci">void FP12_FP512BN_compow(FP4_FP512BN *c, FP12_FP512BN *x, BIG_512_60 e, BIG_512_60 r)</div><div class="ttdoc">Raises an FP12 instance x to a BIG power, compressed to FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:642</div></div>
+<div class="ttc" id="structFP4__FP512BN_html"><div class="ttname"><a href="structFP4__FP512BN.html">FP4_FP512BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.h:37</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a077b2f20b0332099ceffd8060f6271d8"><div class="ttname"><a href="fp12__FP512BN_8h.html#a077b2f20b0332099ceffd8060f6271d8">FP12_FP512BN_from_FP4s</a></div><div class="ttdeci">void FP12_FP512BN_from_FP4s(FP12_FP512BN *x, FP4_FP512BN *a, FP4_FP512BN *b, FP4_FP512BN *c)</div><div class="ttdoc">Initialise FP12 from three FP4s. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:137</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a3cbd4fddb940026a8229cd2f561a7fb9"><div class="ttname"><a href="fp12__FP512BN_8h.html#a3cbd4fddb940026a8229cd2f561a7fb9">FP12_FP512BN_copy</a></div><div class="ttdeci">void FP12_FP512BN_copy(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Copy FP12 to another FP12. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:79</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a1f3babdd9479dd8a1c36d41936bfbbb8"><div class="ttname"><a href="fp12__FP512BN_8h.html#a1f3babdd9479dd8a1c36d41936bfbbb8">FP12_FP512BN_isunity</a></div><div class="ttdeci">int FP12_FP512BN_isunity(FP12_FP512BN *x)</div><div class="ttdoc">Tests for FP12 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:71</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a91f6920c76cc68fb8baf6802817168a8"><div class="ttname"><a href="fp12__FP512BN_8h.html#a91f6920c76cc68fb8baf6802817168a8">FP12_FP512BN_reduce</a></div><div class="ttdeci">void FP12_FP512BN_reduce(FP12_FP512BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP12 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:842</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a2a27106bfd2b7342d5b84154b7e76e6f"><div class="ttname"><a href="fp12__FP512BN_8h.html#a2a27106bfd2b7342d5b84154b7e76e6f">FP12_FP512BN_output</a></div><div class="ttdeci">void FP12_FP512BN_output(FP12_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP12 to the console. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:859</div></div>
+<div class="ttc" id="structFP12__FP512BN_html"><div class="ttname"><a href="structFP12__FP512BN.html">FP12_FP512BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:36</div></div>
 <div class="ttc" id="structFP12__FP512BN_html_a05506d1c036e4920bb1d960a3f649da9"><div class="ttname"><a href="structFP12__FP512BN.html#a05506d1c036e4920bb1d960a3f649da9">FP12_FP512BN::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:41</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a0ce2f82a834844302320126443a6b23a"><div class="ttname"><a href="fp12__FP512BN_8h.html#a0ce2f82a834844302320126443a6b23a">FP12_FP512BN_one</a></div><div class="ttdeci">void FP12_FP512BN_one(FP12_FP512BN *x)</div><div class="ttdoc">Set FP12 to unity.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:90</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_ab7ea30ea1d2239c438e0b3b4b1c1aab8"><div class="ttname"><a href="fp12__FP512BN_8h.html#ab7ea30ea1d2239c438e0b3b4b1c1aab8">FP12_FP512BN_frob</a></div><div class="ttdeci">void FP12_FP512BN_frob(FP12_FP512BN *x, FP2_FP512BN *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:816</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a720b4ad3105029218be96899e519d3c0"><div class="ttname"><a href="fp12__FP512BN_8h.html#a720b4ad3105029218be96899e519d3c0">FP12_FP512BN_smul</a></div><div class="ttdeci">void FP12_FP512BN_smul(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:480</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a0ce2f82a834844302320126443a6b23a"><div class="ttname"><a href="fp12__FP512BN_8h.html#a0ce2f82a834844302320126443a6b23a">FP12_FP512BN_one</a></div><div class="ttdeci">void FP12_FP512BN_one(FP12_FP512BN *x)</div><div class="ttdoc">Set FP12 to unity. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:90</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_ab7ea30ea1d2239c438e0b3b4b1c1aab8"><div class="ttname"><a href="fp12__FP512BN_8h.html#ab7ea30ea1d2239c438e0b3b4b1c1aab8">FP12_FP512BN_frob</a></div><div class="ttdeci">void FP12_FP512BN_frob(FP12_FP512BN *x, FP2_FP512BN *f)</div><div class="ttdoc">Raises an FP12 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:816</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a720b4ad3105029218be96899e519d3c0"><div class="ttname"><a href="fp12__FP512BN_8h.html#a720b4ad3105029218be96899e519d3c0">FP12_FP512BN_smul</a></div><div class="ttdeci">void FP12_FP512BN_smul(FP12_FP512BN *x, FP12_FP512BN *y)</div><div class="ttdoc">Fast multiplication of two sparse FP12s that arises from ATE pairing line functions. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:480</div></div>
 <div class="ttc" id="structFP12__FP512BN_html_ac4383eddc009b14f5a7dfdfd2f71194f"><div class="ttname"><a href="structFP12__FP512BN.html#ac4383eddc009b14f5a7dfdfd2f71194f">FP12_FP512BN::c</a></div><div class="ttdeci">FP4_FP512BN c</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:40</div></div>
 <div class="ttc" id="structFP12__FP512BN_html_a489e2bcec3be4cecae74463786c850d0"><div class="ttname"><a href="structFP12__FP512BN.html#a489e2bcec3be4cecae74463786c850d0">FP12_FP512BN::b</a></div><div class="ttdeci">FP4_FP512BN b</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:39</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a19790c7b73089851d374ae9848fbfa5c"><div class="ttname"><a href="fp12__FP512BN_8h.html#a19790c7b73089851d374ae9848fbfa5c">FP12_FP512BN_iszilch</a></div><div class="ttdeci">int FP12_FP512BN_iszilch(FP12_FP512BN *x)</div><div class="ttdoc">Tests for FP12 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:63</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html_a26aa81c34ac866aca13513bfe599b4a4"><div class="ttname"><a href="fp12__FP512BN_8h.html#a26aa81c34ac866aca13513bfe599b4a4">FP12_FP512BN_pow</a></div><div class="ttdeci">void FP12_FP512BN_pow(FP12_FP512BN *r, FP12_FP512BN *x, BIG_512_60 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:692</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a19790c7b73089851d374ae9848fbfa5c"><div class="ttname"><a href="fp12__FP512BN_8h.html#a19790c7b73089851d374ae9848fbfa5c">FP12_FP512BN_iszilch</a></div><div class="ttdeci">int FP12_FP512BN_iszilch(FP12_FP512BN *x)</div><div class="ttdoc">Tests for FP12 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:63</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html_a26aa81c34ac866aca13513bfe599b4a4"><div class="ttname"><a href="fp12__FP512BN_8h.html#a26aa81c34ac866aca13513bfe599b4a4">FP12_FP512BN_pow</a></div><div class="ttdeci">void FP12_FP512BN_pow(FP12_FP512BN *r, FP12_FP512BN *x, BIG_512_60 b)</div><div class="ttdoc">Raises an FP12 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.c:692</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/fp16__BLS48_8h_source.html b/website/static/cdocs/fp16__BLS48_8h_source.html
index a623c83..802bc93 100644
--- a/website/static/cdocs/fp16__BLS48_8h_source.html
+++ b/website/static/cdocs/fp16__BLS48_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: fp16_BLS48.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,9 +72,9 @@
 <div class="title">fp16_BLS48.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;<span class="preprocessor">#ifndef FP16_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define FP16_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp8_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structFP16__BLS48.html">   31</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFP16__BLS48.html#a0c2f448d1ce68c7ed19f02baf2c11bb0">   33</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structFP16__BLS48.html#a0c2f448d1ce68c7ed19f02baf2c11bb0">a</a>; </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structFP16__BLS48.html#a1403e156a14e0591aa4954856b7249a6">   34</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structFP16__BLS48.html#a1403e156a14e0591aa4954856b7249a6">b</a>; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;} <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a>;</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;<span class="comment">/* FP16 prototypes */</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_iszilch(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_isunity(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_equals(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_isreal(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_from_FP8s(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *b);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_from_FP8(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_from_FP8H(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_copy(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_zero(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_one(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_neg(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_conj(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_nconj(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_add(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_sub(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_pmul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</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> FP16_BLS48_qmul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_imul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_sqr(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_mul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_inv(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_output(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_rawoutput(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_times_i(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_times_i2(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_times_i4(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_norm(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_reduce(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_pow(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_frob(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *f);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_A(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *w,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_D(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_pow(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_pow2(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *c,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *d,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *e,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *f,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_cmove(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="ttc" id="structFP8__BLS48_html"><div class="ttname"><a href="structFP8__BLS48.html">FP8_BLS48</a></div><div class="ttdoc">FP8 Structure - towered over two FP4.</div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:31</div></div>
-<div class="ttc" id="structFP16__BLS48_html"><div class="ttname"><a href="structFP16__BLS48.html">FP16_BLS48</a></div><div class="ttdoc">FP16 Structure - towered over two FP8.</div><div class="ttdef"><b>Definition:</b> fp16_BLS48.h:31</div></div>
-<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</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;<span class="preprocessor">#ifndef FP16_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define FP16_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp8_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structFP16__BLS48.html">   31</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFP16__BLS48.html#a0c2f448d1ce68c7ed19f02baf2c11bb0">   33</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structFP16__BLS48.html#a0c2f448d1ce68c7ed19f02baf2c11bb0">a</a>; </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structFP16__BLS48.html#a1403e156a14e0591aa4954856b7249a6">   34</a></span>&#160;    <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> <a class="code" href="structFP16__BLS48.html#a1403e156a14e0591aa4954856b7249a6">b</a>; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;} <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a>;</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;<span class="comment">/* FP16 prototypes */</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_iszilch(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_isunity(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_equals(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP16_BLS48_isreal(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_from_FP8s(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *b);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_from_FP8(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_from_FP8H(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_copy(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_zero(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_one(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_neg(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_conj(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_nconj(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_add(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_sub(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_pmul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *a);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</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> FP16_BLS48_qmul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_imul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_sqr(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_mul(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_inv(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_output(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_rawoutput(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_times_i(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_times_i2(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_times_i4(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_norm(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_reduce(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_pow(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_frob(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *f);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_A(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *w,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *z);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_D(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_pow(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_xtr_pow2(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *r,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *c,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *d,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *e,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *f,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP16_BLS48_cmove(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="ttc" id="structFP8__BLS48_html"><div class="ttname"><a href="structFP8__BLS48.html">FP8_BLS48</a></div><div class="ttdoc">FP8 Structure - towered over two FP4. </div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:31</div></div>
+<div class="ttc" id="structFP16__BLS48_html"><div class="ttname"><a href="structFP16__BLS48.html">FP16_BLS48</a></div><div class="ttdoc">FP16 Structure - towered over two FP8. </div><div class="ttdef"><b>Definition:</b> fp16_BLS48.h:31</div></div>
+<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
 <div class="ttc" id="structFP16__BLS48_html_a1403e156a14e0591aa4954856b7249a6"><div class="ttname"><a href="structFP16__BLS48.html#a1403e156a14e0591aa4954856b7249a6">FP16_BLS48::b</a></div><div class="ttdeci">FP8_BLS48 b</div><div class="ttdef"><b>Definition:</b> fp16_BLS48.h:34</div></div>
 <div class="ttc" id="structFP16__BLS48_html_a0c2f448d1ce68c7ed19f02baf2c11bb0"><div class="ttname"><a href="structFP16__BLS48.html#a0c2f448d1ce68c7ed19f02baf2c11bb0">FP16_BLS48::a</a></div><div class="ttdeci">FP8_BLS48 a</div><div class="ttdef"><b>Definition:</b> fp16_BLS48.h:33</div></div>
@@ -80,7 +83,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/fp24__BLS24_8h_source.html b/website/static/cdocs/fp24__BLS24_8h_source.html
index 886220c..1721655 100644
--- a/website/static/cdocs/fp24__BLS24_8h_source.html
+++ b/website/static/cdocs/fp24__BLS24_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: fp24_BLS24.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"
@@ -70,14 +73,14 @@
 </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;<span class="preprocessor">#ifndef FP24_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define FP24_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp8_BLS24.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structFP24__BLS24.html">   29</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structFP24__BLS24.html#af88106322dd78f906fa88a7ad1ec7285">   31</a></span>&#160;    <a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> <a class="code" href="structFP24__BLS24.html#af88106322dd78f906fa88a7ad1ec7285">a</a>; </div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structFP24__BLS24.html#ae5447ecae9c66ed52889671d9a56830a">   32</a></span>&#160;    <a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> <a class="code" href="structFP24__BLS24.html#ae5447ecae9c66ed52889671d9a56830a">b</a>; </div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFP24__BLS24.html#a64c0a7fce0b13d188588501ef4f2e437">   33</a></span>&#160;    <a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> <a class="code" href="structFP24__BLS24.html#a64c0a7fce0b13d188588501ef4f2e437">c</a>; </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structFP24__BLS24.html#ad1b71b8567ec7130fb5dc75f4077e7e5">   34</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP24__BLS24.html#ad1b71b8567ec7130fb5dc75f4077e7e5">type</a>;  </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;} <a class="code" href="structFP24__BLS24.html">FP24_BLS24</a>;</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a>; </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">/* FP24 prototypes */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP24_BLS24_iszilch(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP24_BLS24_isunity(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_copy(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_one(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_zero(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP24_BLS24_equals(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_conj(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_from_FP8(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *a);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_from_FP8s(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *a,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a>* b,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *c);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_usqr(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_sqr(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_smul(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_ssmul(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_mul(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_inv(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_pow(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *r,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">//extern void FP24_ppow(FP24 *r,FP24 *x,BIG b);</span></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_pinpow(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_compow(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *c,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> e,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> r);</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_pow8(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *r,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> *b);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_frob(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *f,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_reduce(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_norm(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_output(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_toOctet(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_fromOctet(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_trace(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *t,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP24_BLS24_cmove(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP24__BLS24_html_ad1b71b8567ec7130fb5dc75f4077e7e5"><div class="ttname"><a href="structFP24__BLS24.html#ad1b71b8567ec7130fb5dc75f4077e7e5">FP24_BLS24::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:34</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="ecp__BLS24_8h_html_ace1762644c051c9e3624407912507ae1"><div class="ttname"><a href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">Fra_BLS24</a></div><div class="ttdeci">const BIG_480_56 Fra_BLS24</div></div>
-<div class="ttc" id="structFP8__BLS24_html"><div class="ttname"><a href="structFP8__BLS24.html">FP8_BLS24</a></div><div class="ttdoc">FP8 Structure - towered over two FP4.</div><div class="ttdef"><b>Definition:</b> fp8_BLS24.h:31</div></div>
+<div class="ttc" id="structFP8__BLS24_html"><div class="ttname"><a href="structFP8__BLS24.html">FP8_BLS24</a></div><div class="ttdoc">FP8 Structure - towered over two FP4. </div><div class="ttdef"><b>Definition:</b> fp8_BLS24.h:31</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_ae504594c892c33118948f80c86f4abae"><div class="ttname"><a href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">Frb_BLS24</a></div><div class="ttdeci">const BIG_480_56 Frb_BLS24</div></div>
 <div class="ttc" id="structFP24__BLS24_html_af88106322dd78f906fa88a7ad1ec7285"><div class="ttname"><a href="structFP24__BLS24.html#af88106322dd78f906fa88a7ad1ec7285">FP24_BLS24::a</a></div><div class="ttdeci">FP8_BLS24 a</div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:31</div></div>
-<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
+<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
 <div class="ttc" id="structFP24__BLS24_html_a64c0a7fce0b13d188588501ef4f2e437"><div class="ttname"><a href="structFP24__BLS24.html#a64c0a7fce0b13d188588501ef4f2e437">FP24_BLS24::c</a></div><div class="ttdeci">FP8_BLS24 c</div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:33</div></div>
-<div class="ttc" id="structFP24__BLS24_html"><div class="ttname"><a href="structFP24__BLS24.html">FP24_BLS24</a></div><div class="ttdoc">FP12 Structure - towered over three FP8.</div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:29</div></div>
+<div class="ttc" id="structFP24__BLS24_html"><div class="ttname"><a href="structFP24__BLS24.html">FP24_BLS24</a></div><div class="ttdoc">FP12 Structure - towered over three FP8. </div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:29</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
 <div class="ttc" id="structFP24__BLS24_html_ae5447ecae9c66ed52889671d9a56830a"><div class="ttname"><a href="structFP24__BLS24.html#ae5447ecae9c66ed52889671d9a56830a">FP24_BLS24::b</a></div><div class="ttdeci">FP8_BLS24 b</div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:32</div></div>
 </div><!-- fragment --></div><!-- contents -->
@@ -85,7 +88,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/fp2__BLS24_8h.html b/website/static/cdocs/fp2__BLS24_8h.html
index 9300ea6..b0f32d6 100644
--- a/website/static/cdocs/fp2__BLS24_8h.html
+++ b/website/static/cdocs/fp2__BLS24_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: fp2_BLS24.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"
@@ -1208,7 +1211,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/fp2__BLS24_8h_source.html b/website/static/cdocs/fp2__BLS24_8h_source.html
index 8ca0692..1931086 100644
--- a/website/static/cdocs/fp2__BLS24_8h_source.html
+++ b/website/static/cdocs/fp2__BLS24_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: fp2_BLS24.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,49 +72,49 @@
 <div class="title">fp2_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__BLS24_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 FP2_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS24_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 &quot;<a class="code" href="fp__BLS24_8h.html">fp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS24.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS24.html#a269f0c3fe5a5e808526e51de565d0fdd">   38</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structFP2__BLS24.html#a269f0c3fe5a5e808526e51de565d0fdd">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS24.html#acf1b609cc556dc974bf42ecf15b71fd0">   39</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structFP2__BLS24.html#acf1b609cc556dc974bf42ecf15b71fd0">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS24.html">FP2_BLS24</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#ac37dd0cf181c2ee91b0f16c8373b6284">FP2_BLS24_iszilch</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a313bb6ed04be22ef80bb04120f5d33ca">FP2_BLS24_cmove</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#af21263df633f3d7e00367184bfe6869b">FP2_BLS24_isunity</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#a9a64974842b6c1262edf04815ec24cc7">FP2_BLS24_equals</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a8801c74a0792ae5ec31358a28b53b5c4">FP2_BLS24_from_FPs</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *a,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#ac95a845953d078d58f40880307232c47">FP2_BLS24_from_BIGs</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</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="fp2__BLS24_8h.html#af12b7481005431402264a59428606b3c">FP2_BLS24_from_FP</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a1698881eb5668ec41cced8c60cd3d7d9">FP2_BLS24_from_BIG</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a97469664e157dba8f5aa8b950ef47557">FP2_BLS24_copy</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aeed2525e96bc18781322c98ac3a1de5c">FP2_BLS24_zero</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#ac88162d2ea81f3ea1fa44ca978ea5a46">FP2_BLS24_one</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a76c12eaccb5df7f5283b8672635507ef">FP2_BLS24_neg</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</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="fp2__BLS24_8h.html#a1200dff7bdfa06b4f0331bc1d893677d">FP2_BLS24_conj</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</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="fp2__BLS24_8h.html#a6d6271e2717a55032084be2b43506e66">FP2_BLS24_add</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *z);</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="fp2__BLS24_8h.html#adcf7f687ef1065a409ced72127f95c9d">FP2_BLS24_sub</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a950666b43ba2c47d87cd9b2cd8dccd21">FP2_BLS24_pmul</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#ad87fd54c4a18dbc19d893c98e171ef09">FP2_BLS24_imul</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#af14188199f4a2fa04aba22d2285e04ae">FP2_BLS24_sqr</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aa70d9f91b5ae5150d20dd1f198582e44">FP2_BLS24_mul</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a603ffc6c6254136feca69b67376f3e6d">FP2_BLS24_output</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#af91d5737387963743121694e701c3fc1">FP2_BLS24_rawoutput</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aff2162e8190cd5d9684bb67f7e545067">FP2_BLS24_inv</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a3a6d4e48f27effc00727be3f933947d4">FP2_BLS24_div2</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#afd0fb4ca64eb0a75c93c8fa4fab3833f">FP2_BLS24_mul_ip</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a1928068f0131a033dd6111ddd8eed940">FP2_BLS24_div_ip2</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a3e6c29f73813ace50fe1c59794dc6300">FP2_BLS24_div_ip</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a467ee96e3cae7cf785296492a67b8938">FP2_BLS24_norm</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aa6da94a3e7417a3ab59310125c50da41">FP2_BLS24_reduce</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a99e0bb1b822093eca127265563753b35">FP2_BLS24_pow</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#a89916f7b7fbedbd7d3246ccb1c293cd3">FP2_BLS24_sqrt</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a812a9295f65c3fd75faae5471bafc808">FP2_BLS24_times_i</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS24_8h_html_a8801c74a0792ae5ec31358a28b53b5c4"><div class="ttname"><a href="fp2__BLS24_8h.html#a8801c74a0792ae5ec31358a28b53b5c4">FP2_BLS24_from_FPs</a></div><div class="ttdeci">void FP2_BLS24_from_FPs(FP2_BLS24 *x, FP_BLS24 *a, FP_BLS24 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:71</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a1200dff7bdfa06b4f0331bc1d893677d"><div class="ttname"><a href="fp2__BLS24_8h.html#a1200dff7bdfa06b4f0331bc1d893677d">FP2_BLS24_conj</a></div><div class="ttdeci">void FP2_BLS24_conj(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:143</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_ac88162d2ea81f3ea1fa44ca978ea5a46"><div class="ttname"><a href="fp2__BLS24_8h.html#ac88162d2ea81f3ea1fa44ca978ea5a46">FP2_BLS24_one</a></div><div class="ttdeci">void FP2_BLS24_one(FP2_BLS24 *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:120</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_aeed2525e96bc18781322c98ac3a1de5c"><div class="ttname"><a href="fp2__BLS24_8h.html#aeed2525e96bc18781322c98ac3a1de5c">FP2_BLS24_zero</a></div><div class="ttdeci">void FP2_BLS24_zero(FP2_BLS24 *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:112</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_ac95a845953d078d58f40880307232c47"><div class="ttname"><a href="fp2__BLS24_8h.html#ac95a845953d078d58f40880307232c47">FP2_BLS24_from_BIGs</a></div><div class="ttdeci">void FP2_BLS24_from_BIGs(FP2_BLS24 *x, BIG_480_56 a, BIG_480_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:79</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a3e6c29f73813ace50fe1c59794dc6300"><div class="ttname"><a href="fp2__BLS24_8h.html#a3e6c29f73813ace50fe1c59794dc6300">FP2_BLS24_div_ip</a></div><div class="ttdeci">void FP2_BLS24_div_ip(FP2_BLS24 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:337</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a1698881eb5668ec41cced8c60cd3d7d9"><div class="ttname"><a href="fp2__BLS24_8h.html#a1698881eb5668ec41cced8c60cd3d7d9">FP2_BLS24_from_BIG</a></div><div class="ttdeci">void FP2_BLS24_from_BIG(FP2_BLS24 *x, BIG_480_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:95</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_af12b7481005431402264a59428606b3c"><div class="ttname"><a href="fp2__BLS24_8h.html#af12b7481005431402264a59428606b3c">FP2_BLS24_from_FP</a></div><div class="ttdeci">void FP2_BLS24_from_FP(FP2_BLS24 *x, FP_BLS24 *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:87</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_af14188199f4a2fa04aba22d2285e04ae"><div class="ttname"><a href="fp2__BLS24_8h.html#af14188199f4a2fa04aba22d2285e04ae">FP2_BLS24_sqr</a></div><div class="ttdeci">void FP2_BLS24_sqr(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:185</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a467ee96e3cae7cf785296492a67b8938"><div class="ttname"><a href="fp2__BLS24_8h.html#a467ee96e3cae7cf785296492a67b8938">FP2_BLS24_norm</a></div><div class="ttdeci">void FP2_BLS24_norm(FP2_BLS24 *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:349</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a6d6271e2717a55032084be2b43506e66"><div class="ttname"><a href="fp2__BLS24_8h.html#a6d6271e2717a55032084be2b43506e66">FP2_BLS24_add</a></div><div class="ttdeci">void FP2_BLS24_add(FP2_BLS24 *x, FP2_BLS24 *y, FP2_BLS24 *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:152</div></div>
-<div class="ttc" id="fp__BLS24_8h_html"><div class="ttname"><a href="fp__BLS24_8h.html">fp_BLS24.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_aff2162e8190cd5d9684bb67f7e545067"><div class="ttname"><a href="fp2__BLS24_8h.html#aff2162e8190cd5d9684bb67f7e545067">FP2_BLS24_inv</a></div><div class="ttdeci">void FP2_BLS24_inv(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:280</div></div>
+<a href="fp2__BLS24_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 FP2_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS24_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 &quot;<a class="code" href="fp__BLS24_8h.html">fp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS24.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS24.html#a269f0c3fe5a5e808526e51de565d0fdd">   38</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structFP2__BLS24.html#a269f0c3fe5a5e808526e51de565d0fdd">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS24.html#acf1b609cc556dc974bf42ecf15b71fd0">   39</a></span>&#160;    <a class="code" href="structFP__BLS24.html">FP_BLS24</a> <a class="code" href="structFP2__BLS24.html#acf1b609cc556dc974bf42ecf15b71fd0">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS24.html">FP2_BLS24</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#ac37dd0cf181c2ee91b0f16c8373b6284">FP2_BLS24_iszilch</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a313bb6ed04be22ef80bb04120f5d33ca">FP2_BLS24_cmove</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#af21263df633f3d7e00367184bfe6869b">FP2_BLS24_isunity</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#a9a64974842b6c1262edf04815ec24cc7">FP2_BLS24_equals</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a8801c74a0792ae5ec31358a28b53b5c4">FP2_BLS24_from_FPs</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *a,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#ac95a845953d078d58f40880307232c47">FP2_BLS24_from_BIGs</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</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="fp2__BLS24_8h.html#af12b7481005431402264a59428606b3c">FP2_BLS24_from_FP</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a1698881eb5668ec41cced8c60cd3d7d9">FP2_BLS24_from_BIG</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a97469664e157dba8f5aa8b950ef47557">FP2_BLS24_copy</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aeed2525e96bc18781322c98ac3a1de5c">FP2_BLS24_zero</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#ac88162d2ea81f3ea1fa44ca978ea5a46">FP2_BLS24_one</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a76c12eaccb5df7f5283b8672635507ef">FP2_BLS24_neg</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</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="fp2__BLS24_8h.html#a1200dff7bdfa06b4f0331bc1d893677d">FP2_BLS24_conj</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</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="fp2__BLS24_8h.html#a6d6271e2717a55032084be2b43506e66">FP2_BLS24_add</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *z);</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="fp2__BLS24_8h.html#adcf7f687ef1065a409ced72127f95c9d">FP2_BLS24_sub</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a950666b43ba2c47d87cd9b2cd8dccd21">FP2_BLS24_pmul</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#ad87fd54c4a18dbc19d893c98e171ef09">FP2_BLS24_imul</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#af14188199f4a2fa04aba22d2285e04ae">FP2_BLS24_sqr</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aa70d9f91b5ae5150d20dd1f198582e44">FP2_BLS24_mul</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a603ffc6c6254136feca69b67376f3e6d">FP2_BLS24_output</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#af91d5737387963743121694e701c3fc1">FP2_BLS24_rawoutput</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aff2162e8190cd5d9684bb67f7e545067">FP2_BLS24_inv</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a3a6d4e48f27effc00727be3f933947d4">FP2_BLS24_div2</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#afd0fb4ca64eb0a75c93c8fa4fab3833f">FP2_BLS24_mul_ip</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a1928068f0131a033dd6111ddd8eed940">FP2_BLS24_div_ip2</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a3e6c29f73813ace50fe1c59794dc6300">FP2_BLS24_div_ip</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a467ee96e3cae7cf785296492a67b8938">FP2_BLS24_norm</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#aa6da94a3e7417a3ab59310125c50da41">FP2_BLS24_reduce</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a99e0bb1b822093eca127265563753b35">FP2_BLS24_pow</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS24_8h.html#a89916f7b7fbedbd7d3246ccb1c293cd3">FP2_BLS24_sqrt</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS24_8h.html#a812a9295f65c3fd75faae5471bafc808">FP2_BLS24_times_i</a>(<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS24_8h_html_a8801c74a0792ae5ec31358a28b53b5c4"><div class="ttname"><a href="fp2__BLS24_8h.html#a8801c74a0792ae5ec31358a28b53b5c4">FP2_BLS24_from_FPs</a></div><div class="ttdeci">void FP2_BLS24_from_FPs(FP2_BLS24 *x, FP_BLS24 *a, FP_BLS24 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:71</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a1200dff7bdfa06b4f0331bc1d893677d"><div class="ttname"><a href="fp2__BLS24_8h.html#a1200dff7bdfa06b4f0331bc1d893677d">FP2_BLS24_conj</a></div><div class="ttdeci">void FP2_BLS24_conj(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:143</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_ac88162d2ea81f3ea1fa44ca978ea5a46"><div class="ttname"><a href="fp2__BLS24_8h.html#ac88162d2ea81f3ea1fa44ca978ea5a46">FP2_BLS24_one</a></div><div class="ttdeci">void FP2_BLS24_one(FP2_BLS24 *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:120</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_aeed2525e96bc18781322c98ac3a1de5c"><div class="ttname"><a href="fp2__BLS24_8h.html#aeed2525e96bc18781322c98ac3a1de5c">FP2_BLS24_zero</a></div><div class="ttdeci">void FP2_BLS24_zero(FP2_BLS24 *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:112</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_ac95a845953d078d58f40880307232c47"><div class="ttname"><a href="fp2__BLS24_8h.html#ac95a845953d078d58f40880307232c47">FP2_BLS24_from_BIGs</a></div><div class="ttdeci">void FP2_BLS24_from_BIGs(FP2_BLS24 *x, BIG_480_56 a, BIG_480_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:79</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a3e6c29f73813ace50fe1c59794dc6300"><div class="ttname"><a href="fp2__BLS24_8h.html#a3e6c29f73813ace50fe1c59794dc6300">FP2_BLS24_div_ip</a></div><div class="ttdeci">void FP2_BLS24_div_ip(FP2_BLS24 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:337</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a1698881eb5668ec41cced8c60cd3d7d9"><div class="ttname"><a href="fp2__BLS24_8h.html#a1698881eb5668ec41cced8c60cd3d7d9">FP2_BLS24_from_BIG</a></div><div class="ttdeci">void FP2_BLS24_from_BIG(FP2_BLS24 *x, BIG_480_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:95</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_af12b7481005431402264a59428606b3c"><div class="ttname"><a href="fp2__BLS24_8h.html#af12b7481005431402264a59428606b3c">FP2_BLS24_from_FP</a></div><div class="ttdeci">void FP2_BLS24_from_FP(FP2_BLS24 *x, FP_BLS24 *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:87</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_af14188199f4a2fa04aba22d2285e04ae"><div class="ttname"><a href="fp2__BLS24_8h.html#af14188199f4a2fa04aba22d2285e04ae">FP2_BLS24_sqr</a></div><div class="ttdeci">void FP2_BLS24_sqr(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:185</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a467ee96e3cae7cf785296492a67b8938"><div class="ttname"><a href="fp2__BLS24_8h.html#a467ee96e3cae7cf785296492a67b8938">FP2_BLS24_norm</a></div><div class="ttdeci">void FP2_BLS24_norm(FP2_BLS24 *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:349</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a6d6271e2717a55032084be2b43506e66"><div class="ttname"><a href="fp2__BLS24_8h.html#a6d6271e2717a55032084be2b43506e66">FP2_BLS24_add</a></div><div class="ttdeci">void FP2_BLS24_add(FP2_BLS24 *x, FP2_BLS24 *y, FP2_BLS24 *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:152</div></div>
+<div class="ttc" id="fp__BLS24_8h_html"><div class="ttname"><a href="fp__BLS24_8h.html">fp_BLS24.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_aff2162e8190cd5d9684bb67f7e545067"><div class="ttname"><a href="fp2__BLS24_8h.html#aff2162e8190cd5d9684bb67f7e545067">FP2_BLS24_inv</a></div><div class="ttdeci">void FP2_BLS24_inv(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:280</div></div>
 <div class="ttc" id="structFP2__BLS24_html_a269f0c3fe5a5e808526e51de565d0fdd"><div class="ttname"><a href="structFP2__BLS24.html#a269f0c3fe5a5e808526e51de565d0fdd">FP2_BLS24::a</a></div><div class="ttdeci">FP_BLS24 a</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:38</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_afd0fb4ca64eb0a75c93c8fa4fab3833f"><div class="ttname"><a href="fp2__BLS24_8h.html#afd0fb4ca64eb0a75c93c8fa4fab3833f">FP2_BLS24_mul_ip</a></div><div class="ttdeci">void FP2_BLS24_mul_ip(FP2_BLS24 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:310</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_ac37dd0cf181c2ee91b0f16c8373b6284"><div class="ttname"><a href="fp2__BLS24_8h.html#ac37dd0cf181c2ee91b0f16c8373b6284">FP2_BLS24_iszilch</a></div><div class="ttdeci">int FP2_BLS24_iszilch(FP2_BLS24 *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:29</div></div>
-<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_aa70d9f91b5ae5150d20dd1f198582e44"><div class="ttname"><a href="fp2__BLS24_8h.html#aa70d9f91b5ae5150d20dd1f198582e44">FP2_BLS24_mul</a></div><div class="ttdeci">void FP2_BLS24_mul(FP2_BLS24 *x, FP2_BLS24 *y, FP2_BLS24 *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:207</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_adcf7f687ef1065a409ced72127f95c9d"><div class="ttname"><a href="fp2__BLS24_8h.html#adcf7f687ef1065a409ced72127f95c9d">FP2_BLS24_sub</a></div><div class="ttdeci">void FP2_BLS24_sub(FP2_BLS24 *x, FP2_BLS24 *y, FP2_BLS24 *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:160</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a950666b43ba2c47d87cd9b2cd8dccd21"><div class="ttname"><a href="fp2__BLS24_8h.html#a950666b43ba2c47d87cd9b2cd8dccd21">FP2_BLS24_pmul</a></div><div class="ttdeci">void FP2_BLS24_pmul(FP2_BLS24 *x, FP2_BLS24 *y, FP_BLS24 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:169</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_ad87fd54c4a18dbc19d893c98e171ef09"><div class="ttname"><a href="fp2__BLS24_8h.html#ad87fd54c4a18dbc19d893c98e171ef09">FP2_BLS24_imul</a></div><div class="ttdeci">void FP2_BLS24_imul(FP2_BLS24 *x, FP2_BLS24 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:177</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_aa6da94a3e7417a3ab59310125c50da41"><div class="ttname"><a href="fp2__BLS24_8h.html#aa6da94a3e7417a3ab59310125c50da41">FP2_BLS24_reduce</a></div><div class="ttdeci">void FP2_BLS24_reduce(FP2_BLS24 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:54</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a99e0bb1b822093eca127265563753b35"><div class="ttname"><a href="fp2__BLS24_8h.html#a99e0bb1b822093eca127265563753b35">FP2_BLS24_pow</a></div><div class="ttdeci">void FP2_BLS24_pow(FP2_BLS24 *x, FP2_BLS24 *y, BIG_480_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:357</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a76c12eaccb5df7f5283b8672635507ef"><div class="ttname"><a href="fp2__BLS24_8h.html#a76c12eaccb5df7f5283b8672635507ef">FP2_BLS24_neg</a></div><div class="ttdeci">void FP2_BLS24_neg(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:129</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_af91d5737387963743121694e701c3fc1"><div class="ttname"><a href="fp2__BLS24_8h.html#af91d5737387963743121694e701c3fc1">FP2_BLS24_rawoutput</a></div><div class="ttdeci">void FP2_BLS24_rawoutput(FP2_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:268</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a1928068f0131a033dd6111ddd8eed940"><div class="ttname"><a href="fp2__BLS24_8h.html#a1928068f0131a033dd6111ddd8eed940">FP2_BLS24_div_ip2</a></div><div class="ttdeci">void FP2_BLS24_div_ip2(FP2_BLS24 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:325</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_afd0fb4ca64eb0a75c93c8fa4fab3833f"><div class="ttname"><a href="fp2__BLS24_8h.html#afd0fb4ca64eb0a75c93c8fa4fab3833f">FP2_BLS24_mul_ip</a></div><div class="ttdeci">void FP2_BLS24_mul_ip(FP2_BLS24 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:310</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_ac37dd0cf181c2ee91b0f16c8373b6284"><div class="ttname"><a href="fp2__BLS24_8h.html#ac37dd0cf181c2ee91b0f16c8373b6284">FP2_BLS24_iszilch</a></div><div class="ttdeci">int FP2_BLS24_iszilch(FP2_BLS24 *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:29</div></div>
+<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_aa70d9f91b5ae5150d20dd1f198582e44"><div class="ttname"><a href="fp2__BLS24_8h.html#aa70d9f91b5ae5150d20dd1f198582e44">FP2_BLS24_mul</a></div><div class="ttdeci">void FP2_BLS24_mul(FP2_BLS24 *x, FP2_BLS24 *y, FP2_BLS24 *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:207</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_adcf7f687ef1065a409ced72127f95c9d"><div class="ttname"><a href="fp2__BLS24_8h.html#adcf7f687ef1065a409ced72127f95c9d">FP2_BLS24_sub</a></div><div class="ttdeci">void FP2_BLS24_sub(FP2_BLS24 *x, FP2_BLS24 *y, FP2_BLS24 *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:160</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a950666b43ba2c47d87cd9b2cd8dccd21"><div class="ttname"><a href="fp2__BLS24_8h.html#a950666b43ba2c47d87cd9b2cd8dccd21">FP2_BLS24_pmul</a></div><div class="ttdeci">void FP2_BLS24_pmul(FP2_BLS24 *x, FP2_BLS24 *y, FP_BLS24 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:169</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_ad87fd54c4a18dbc19d893c98e171ef09"><div class="ttname"><a href="fp2__BLS24_8h.html#ad87fd54c4a18dbc19d893c98e171ef09">FP2_BLS24_imul</a></div><div class="ttdeci">void FP2_BLS24_imul(FP2_BLS24 *x, FP2_BLS24 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:177</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_aa6da94a3e7417a3ab59310125c50da41"><div class="ttname"><a href="fp2__BLS24_8h.html#aa6da94a3e7417a3ab59310125c50da41">FP2_BLS24_reduce</a></div><div class="ttdeci">void FP2_BLS24_reduce(FP2_BLS24 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:54</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a99e0bb1b822093eca127265563753b35"><div class="ttname"><a href="fp2__BLS24_8h.html#a99e0bb1b822093eca127265563753b35">FP2_BLS24_pow</a></div><div class="ttdeci">void FP2_BLS24_pow(FP2_BLS24 *x, FP2_BLS24 *y, BIG_480_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:357</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a76c12eaccb5df7f5283b8672635507ef"><div class="ttname"><a href="fp2__BLS24_8h.html#a76c12eaccb5df7f5283b8672635507ef">FP2_BLS24_neg</a></div><div class="ttdeci">void FP2_BLS24_neg(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:129</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_af91d5737387963743121694e701c3fc1"><div class="ttname"><a href="fp2__BLS24_8h.html#af91d5737387963743121694e701c3fc1">FP2_BLS24_rawoutput</a></div><div class="ttdeci">void FP2_BLS24_rawoutput(FP2_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:268</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a1928068f0131a033dd6111ddd8eed940"><div class="ttname"><a href="fp2__BLS24_8h.html#a1928068f0131a033dd6111ddd8eed940">FP2_BLS24_div_ip2</a></div><div class="ttdeci">void FP2_BLS24_div_ip2(FP2_BLS24 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:325</div></div>
 <div class="ttc" id="structFP2__BLS24_html_acf1b609cc556dc974bf42ecf15b71fd0"><div class="ttname"><a href="structFP2__BLS24.html#acf1b609cc556dc974bf42ecf15b71fd0">FP2_BLS24::b</a></div><div class="ttdeci">FP_BLS24 b</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:39</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a603ffc6c6254136feca69b67376f3e6d"><div class="ttname"><a href="fp2__BLS24_8h.html#a603ffc6c6254136feca69b67376f3e6d">FP2_BLS24_output</a></div><div class="ttdeci">void FP2_BLS24_output(FP2_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:252</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a313bb6ed04be22ef80bb04120f5d33ca"><div class="ttname"><a href="fp2__BLS24_8h.html#a313bb6ed04be22ef80bb04120f5d33ca">FP2_BLS24_cmove</a></div><div class="ttdeci">void FP2_BLS24_cmove(FP2_BLS24 *x, FP2_BLS24 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:36</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a9a64974842b6c1262edf04815ec24cc7"><div class="ttname"><a href="fp2__BLS24_8h.html#a9a64974842b6c1262edf04815ec24cc7">FP2_BLS24_equals</a></div><div class="ttdeci">int FP2_BLS24_equals(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:62</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a3a6d4e48f27effc00727be3f933947d4"><div class="ttname"><a href="fp2__BLS24_8h.html#a3a6d4e48f27effc00727be3f933947d4">FP2_BLS24_div2</a></div><div class="ttdeci">void FP2_BLS24_div2(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:300</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_af21263df633f3d7e00367184bfe6869b"><div class="ttname"><a href="fp2__BLS24_8h.html#af21263df633f3d7e00367184bfe6869b">FP2_BLS24_isunity</a></div><div class="ttdeci">int FP2_BLS24_isunity(FP2_BLS24 *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:44</div></div>
-<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a97469664e157dba8f5aa8b950ef47557"><div class="ttname"><a href="fp2__BLS24_8h.html#a97469664e157dba8f5aa8b950ef47557">FP2_BLS24_copy</a></div><div class="ttdeci">void FP2_BLS24_copy(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:103</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a603ffc6c6254136feca69b67376f3e6d"><div class="ttname"><a href="fp2__BLS24_8h.html#a603ffc6c6254136feca69b67376f3e6d">FP2_BLS24_output</a></div><div class="ttdeci">void FP2_BLS24_output(FP2_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:252</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a313bb6ed04be22ef80bb04120f5d33ca"><div class="ttname"><a href="fp2__BLS24_8h.html#a313bb6ed04be22ef80bb04120f5d33ca">FP2_BLS24_cmove</a></div><div class="ttdeci">void FP2_BLS24_cmove(FP2_BLS24 *x, FP2_BLS24 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:36</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a9a64974842b6c1262edf04815ec24cc7"><div class="ttname"><a href="fp2__BLS24_8h.html#a9a64974842b6c1262edf04815ec24cc7">FP2_BLS24_equals</a></div><div class="ttdeci">int FP2_BLS24_equals(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:62</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a3a6d4e48f27effc00727be3f933947d4"><div class="ttname"><a href="fp2__BLS24_8h.html#a3a6d4e48f27effc00727be3f933947d4">FP2_BLS24_div2</a></div><div class="ttdeci">void FP2_BLS24_div2(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:300</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_af21263df633f3d7e00367184bfe6869b"><div class="ttname"><a href="fp2__BLS24_8h.html#af21263df633f3d7e00367184bfe6869b">FP2_BLS24_isunity</a></div><div class="ttdeci">int FP2_BLS24_isunity(FP2_BLS24 *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:44</div></div>
+<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a97469664e157dba8f5aa8b950ef47557"><div class="ttname"><a href="fp2__BLS24_8h.html#a97469664e157dba8f5aa8b950ef47557">FP2_BLS24_copy</a></div><div class="ttdeci">void FP2_BLS24_copy(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:103</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a89916f7b7fbedbd7d3246ccb1c293cd3"><div class="ttname"><a href="fp2__BLS24_8h.html#a89916f7b7fbedbd7d3246ccb1c293cd3">FP2_BLS24_sqrt</a></div><div class="ttdeci">int FP2_BLS24_sqrt(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:384</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html_a812a9295f65c3fd75faae5471bafc808"><div class="ttname"><a href="fp2__BLS24_8h.html#a812a9295f65c3fd75faae5471bafc808">FP2_BLS24_times_i</a></div><div class="ttdeci">void FP2_BLS24_times_i(FP2_BLS24 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:426</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a89916f7b7fbedbd7d3246ccb1c293cd3"><div class="ttname"><a href="fp2__BLS24_8h.html#a89916f7b7fbedbd7d3246ccb1c293cd3">FP2_BLS24_sqrt</a></div><div class="ttdeci">int FP2_BLS24_sqrt(FP2_BLS24 *x, FP2_BLS24 *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:384</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html_a812a9295f65c3fd75faae5471bafc808"><div class="ttname"><a href="fp2__BLS24_8h.html#a812a9295f65c3fd75faae5471bafc808">FP2_BLS24_times_i</a></div><div class="ttdeci">void FP2_BLS24_times_i(FP2_BLS24 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.c:426</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/fp2__BLS381_8h.html b/website/static/cdocs/fp2__BLS381_8h.html
index 42a1f7d..4dfbe53 100644
--- a/website/static/cdocs/fp2__BLS381_8h.html
+++ b/website/static/cdocs/fp2__BLS381_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: fp2_BLS381.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"
@@ -1208,7 +1211,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/fp2__BLS381_8h_source.html b/website/static/cdocs/fp2__BLS381_8h_source.html
index d73bbee..46b5e7d 100644
--- a/website/static/cdocs/fp2__BLS381_8h_source.html
+++ b/website/static/cdocs/fp2__BLS381_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: fp2_BLS381.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,49 +72,49 @@
 <div class="title">fp2_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__BLS381_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 FP2_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS381_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 &quot;<a class="code" href="fp__BLS381_8h.html">fp_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS381.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS381.html#a509fea18dcd7950f4e1b5e273406fe50">   38</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structFP2__BLS381.html#a509fea18dcd7950f4e1b5e273406fe50">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS381.html#a7b141a50df80ec50c6cb104d1f8f4c14">   39</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structFP2__BLS381.html#a7b141a50df80ec50c6cb104d1f8f4c14">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#a40289fabff0a18e180b07b471e5d8cd9">FP2_BLS381_iszilch</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a1b7c3a8dd5120d24cb25ea914b547cd2">FP2_BLS381_cmove</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#a2ba96521c0cdb989252815e646bb71ef">FP2_BLS381_isunity</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#ad00aebdec80b5dfd305b11552885a5da">FP2_BLS381_equals</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a4b08a60ff28389620f582ac2f45fda76">FP2_BLS381_from_FPs</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *a,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a74bd1940eaf9025b0df9646f6ba9ca59">FP2_BLS381_from_BIGs</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</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="fp2__BLS381_8h.html#a576be24a416e3eb19c844b73adf27bd7">FP2_BLS381_from_FP</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#abaf0706d3320f8a9b92f6fd93b804bc8">FP2_BLS381_from_BIG</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a96da7f3bedd560f7be28d880a682fbfa">FP2_BLS381_copy</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ab19163dc700b9479653bca5e37444054">FP2_BLS381_zero</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a8e56daa06c033cb0453da3ce91096f6f">FP2_BLS381_one</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a860ab1d21705f1e32a37f89f2d774803">FP2_BLS381_neg</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</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="fp2__BLS381_8h.html#a5337788c51877c61ae6a90a1f68f2ba7">FP2_BLS381_conj</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</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="fp2__BLS381_8h.html#a1697932e5758716262fe3abaec8b76a1">FP2_BLS381_add</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *z);</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="fp2__BLS381_8h.html#acaedfc2753bea7faf224a7bf3f410604">FP2_BLS381_sub</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ae9c0ca3179c86bfb07609c5f0ea01c72">FP2_BLS381_pmul</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a724524b28caad933baf4589b7e9ae47d">FP2_BLS381_imul</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a95322de463114e36e296c3c38cb20ff7">FP2_BLS381_sqr</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a8ac32994ec45c0f08cafc1a756c43641">FP2_BLS381_mul</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a1022fd6ddafe7f71ab3eb9d7fdfc65d9">FP2_BLS381_output</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#acc206d1d57fe02dcb897340bceee3588">FP2_BLS381_rawoutput</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ab5d6f4bda63c614681e69b2d51e0e819">FP2_BLS381_inv</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ae73682808445434eec1f88c295aefc87">FP2_BLS381_div2</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#aba7872896d24075e422ff9ddc7b3a5b5">FP2_BLS381_mul_ip</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a83d0b1690f3217ecae39d89e50e76e64">FP2_BLS381_div_ip2</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a88e2eaa2d7e085f6e653e55172e8efa9">FP2_BLS381_div_ip</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a23856cad2fcb755d2736880c3c2186d4">FP2_BLS381_norm</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#aa87bf0baf23cb33e520a0eb59851237e">FP2_BLS381_reduce</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a16d1c66a60417932356fc55543ca60d7">FP2_BLS381_pow</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#aa775a1b8ca6673ad36e53b9ca1ad2037">FP2_BLS381_sqrt</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a7fe4b253d8c6a5b84e773603808644c0">FP2_BLS381_times_i</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS381_8h_html_acaedfc2753bea7faf224a7bf3f410604"><div class="ttname"><a href="fp2__BLS381_8h.html#acaedfc2753bea7faf224a7bf3f410604">FP2_BLS381_sub</a></div><div class="ttdeci">void FP2_BLS381_sub(FP2_BLS381 *x, FP2_BLS381 *y, FP2_BLS381 *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:160</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a83d0b1690f3217ecae39d89e50e76e64"><div class="ttname"><a href="fp2__BLS381_8h.html#a83d0b1690f3217ecae39d89e50e76e64">FP2_BLS381_div_ip2</a></div><div class="ttdeci">void FP2_BLS381_div_ip2(FP2_BLS381 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:325</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_ab5d6f4bda63c614681e69b2d51e0e819"><div class="ttname"><a href="fp2__BLS381_8h.html#ab5d6f4bda63c614681e69b2d51e0e819">FP2_BLS381_inv</a></div><div class="ttdeci">void FP2_BLS381_inv(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:280</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a74bd1940eaf9025b0df9646f6ba9ca59"><div class="ttname"><a href="fp2__BLS381_8h.html#a74bd1940eaf9025b0df9646f6ba9ca59">FP2_BLS381_from_BIGs</a></div><div class="ttdeci">void FP2_BLS381_from_BIGs(FP2_BLS381 *x, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:79</div></div>
-<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
+<a href="fp2__BLS381_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 FP2_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS381_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 &quot;<a class="code" href="fp__BLS381_8h.html">fp_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS381.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS381.html#a509fea18dcd7950f4e1b5e273406fe50">   38</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structFP2__BLS381.html#a509fea18dcd7950f4e1b5e273406fe50">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS381.html#a7b141a50df80ec50c6cb104d1f8f4c14">   39</a></span>&#160;    <a class="code" href="structFP__BLS381.html">FP_BLS381</a> <a class="code" href="structFP2__BLS381.html#a7b141a50df80ec50c6cb104d1f8f4c14">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#a40289fabff0a18e180b07b471e5d8cd9">FP2_BLS381_iszilch</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a1b7c3a8dd5120d24cb25ea914b547cd2">FP2_BLS381_cmove</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#a2ba96521c0cdb989252815e646bb71ef">FP2_BLS381_isunity</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#ad00aebdec80b5dfd305b11552885a5da">FP2_BLS381_equals</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a4b08a60ff28389620f582ac2f45fda76">FP2_BLS381_from_FPs</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *a,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a74bd1940eaf9025b0df9646f6ba9ca59">FP2_BLS381_from_BIGs</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</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="fp2__BLS381_8h.html#a576be24a416e3eb19c844b73adf27bd7">FP2_BLS381_from_FP</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#abaf0706d3320f8a9b92f6fd93b804bc8">FP2_BLS381_from_BIG</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a96da7f3bedd560f7be28d880a682fbfa">FP2_BLS381_copy</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ab19163dc700b9479653bca5e37444054">FP2_BLS381_zero</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a8e56daa06c033cb0453da3ce91096f6f">FP2_BLS381_one</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a860ab1d21705f1e32a37f89f2d774803">FP2_BLS381_neg</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</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="fp2__BLS381_8h.html#a5337788c51877c61ae6a90a1f68f2ba7">FP2_BLS381_conj</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</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="fp2__BLS381_8h.html#a1697932e5758716262fe3abaec8b76a1">FP2_BLS381_add</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *z);</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="fp2__BLS381_8h.html#acaedfc2753bea7faf224a7bf3f410604">FP2_BLS381_sub</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ae9c0ca3179c86bfb07609c5f0ea01c72">FP2_BLS381_pmul</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a724524b28caad933baf4589b7e9ae47d">FP2_BLS381_imul</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a95322de463114e36e296c3c38cb20ff7">FP2_BLS381_sqr</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a8ac32994ec45c0f08cafc1a756c43641">FP2_BLS381_mul</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a1022fd6ddafe7f71ab3eb9d7fdfc65d9">FP2_BLS381_output</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#acc206d1d57fe02dcb897340bceee3588">FP2_BLS381_rawoutput</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ab5d6f4bda63c614681e69b2d51e0e819">FP2_BLS381_inv</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#ae73682808445434eec1f88c295aefc87">FP2_BLS381_div2</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#aba7872896d24075e422ff9ddc7b3a5b5">FP2_BLS381_mul_ip</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a83d0b1690f3217ecae39d89e50e76e64">FP2_BLS381_div_ip2</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a88e2eaa2d7e085f6e653e55172e8efa9">FP2_BLS381_div_ip</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a23856cad2fcb755d2736880c3c2186d4">FP2_BLS381_norm</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#aa87bf0baf23cb33e520a0eb59851237e">FP2_BLS381_reduce</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a16d1c66a60417932356fc55543ca60d7">FP2_BLS381_pow</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS381_8h.html#aa775a1b8ca6673ad36e53b9ca1ad2037">FP2_BLS381_sqrt</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS381_8h.html#a7fe4b253d8c6a5b84e773603808644c0">FP2_BLS381_times_i</a>(<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS381_8h_html_acaedfc2753bea7faf224a7bf3f410604"><div class="ttname"><a href="fp2__BLS381_8h.html#acaedfc2753bea7faf224a7bf3f410604">FP2_BLS381_sub</a></div><div class="ttdeci">void FP2_BLS381_sub(FP2_BLS381 *x, FP2_BLS381 *y, FP2_BLS381 *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:160</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a83d0b1690f3217ecae39d89e50e76e64"><div class="ttname"><a href="fp2__BLS381_8h.html#a83d0b1690f3217ecae39d89e50e76e64">FP2_BLS381_div_ip2</a></div><div class="ttdeci">void FP2_BLS381_div_ip2(FP2_BLS381 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:325</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_ab5d6f4bda63c614681e69b2d51e0e819"><div class="ttname"><a href="fp2__BLS381_8h.html#ab5d6f4bda63c614681e69b2d51e0e819">FP2_BLS381_inv</a></div><div class="ttdeci">void FP2_BLS381_inv(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:280</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a74bd1940eaf9025b0df9646f6ba9ca59"><div class="ttname"><a href="fp2__BLS381_8h.html#a74bd1940eaf9025b0df9646f6ba9ca59">FP2_BLS381_from_BIGs</a></div><div class="ttdeci">void FP2_BLS381_from_BIGs(FP2_BLS381 *x, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:79</div></div>
+<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a5337788c51877c61ae6a90a1f68f2ba7"><div class="ttname"><a href="fp2__BLS381_8h.html#a5337788c51877c61ae6a90a1f68f2ba7">FP2_BLS381_conj</a></div><div class="ttdeci">void FP2_BLS381_conj(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:143</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a40289fabff0a18e180b07b471e5d8cd9"><div class="ttname"><a href="fp2__BLS381_8h.html#a40289fabff0a18e180b07b471e5d8cd9">FP2_BLS381_iszilch</a></div><div class="ttdeci">int FP2_BLS381_iszilch(FP2_BLS381 *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:29</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a724524b28caad933baf4589b7e9ae47d"><div class="ttname"><a href="fp2__BLS381_8h.html#a724524b28caad933baf4589b7e9ae47d">FP2_BLS381_imul</a></div><div class="ttdeci">void FP2_BLS381_imul(FP2_BLS381 *x, FP2_BLS381 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:177</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a95322de463114e36e296c3c38cb20ff7"><div class="ttname"><a href="fp2__BLS381_8h.html#a95322de463114e36e296c3c38cb20ff7">FP2_BLS381_sqr</a></div><div class="ttdeci">void FP2_BLS381_sqr(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:185</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_aba7872896d24075e422ff9ddc7b3a5b5"><div class="ttname"><a href="fp2__BLS381_8h.html#aba7872896d24075e422ff9ddc7b3a5b5">FP2_BLS381_mul_ip</a></div><div class="ttdeci">void FP2_BLS381_mul_ip(FP2_BLS381 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:310</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_ae9c0ca3179c86bfb07609c5f0ea01c72"><div class="ttname"><a href="fp2__BLS381_8h.html#ae9c0ca3179c86bfb07609c5f0ea01c72">FP2_BLS381_pmul</a></div><div class="ttdeci">void FP2_BLS381_pmul(FP2_BLS381 *x, FP2_BLS381 *y, FP_BLS381 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:169</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a4b08a60ff28389620f582ac2f45fda76"><div class="ttname"><a href="fp2__BLS381_8h.html#a4b08a60ff28389620f582ac2f45fda76">FP2_BLS381_from_FPs</a></div><div class="ttdeci">void FP2_BLS381_from_FPs(FP2_BLS381 *x, FP_BLS381 *a, FP_BLS381 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:71</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a96da7f3bedd560f7be28d880a682fbfa"><div class="ttname"><a href="fp2__BLS381_8h.html#a96da7f3bedd560f7be28d880a682fbfa">FP2_BLS381_copy</a></div><div class="ttdeci">void FP2_BLS381_copy(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:103</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a23856cad2fcb755d2736880c3c2186d4"><div class="ttname"><a href="fp2__BLS381_8h.html#a23856cad2fcb755d2736880c3c2186d4">FP2_BLS381_norm</a></div><div class="ttdeci">void FP2_BLS381_norm(FP2_BLS381 *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:349</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a2ba96521c0cdb989252815e646bb71ef"><div class="ttname"><a href="fp2__BLS381_8h.html#a2ba96521c0cdb989252815e646bb71ef">FP2_BLS381_isunity</a></div><div class="ttdeci">int FP2_BLS381_isunity(FP2_BLS381 *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:44</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a16d1c66a60417932356fc55543ca60d7"><div class="ttname"><a href="fp2__BLS381_8h.html#a16d1c66a60417932356fc55543ca60d7">FP2_BLS381_pow</a></div><div class="ttdeci">void FP2_BLS381_pow(FP2_BLS381 *x, FP2_BLS381 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:357</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a8e56daa06c033cb0453da3ce91096f6f"><div class="ttname"><a href="fp2__BLS381_8h.html#a8e56daa06c033cb0453da3ce91096f6f">FP2_BLS381_one</a></div><div class="ttdeci">void FP2_BLS381_one(FP2_BLS381 *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:120</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_aa87bf0baf23cb33e520a0eb59851237e"><div class="ttname"><a href="fp2__BLS381_8h.html#aa87bf0baf23cb33e520a0eb59851237e">FP2_BLS381_reduce</a></div><div class="ttdeci">void FP2_BLS381_reduce(FP2_BLS381 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:54</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_abaf0706d3320f8a9b92f6fd93b804bc8"><div class="ttname"><a href="fp2__BLS381_8h.html#abaf0706d3320f8a9b92f6fd93b804bc8">FP2_BLS381_from_BIG</a></div><div class="ttdeci">void FP2_BLS381_from_BIG(FP2_BLS381 *x, BIG_384_58 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:95</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a5337788c51877c61ae6a90a1f68f2ba7"><div class="ttname"><a href="fp2__BLS381_8h.html#a5337788c51877c61ae6a90a1f68f2ba7">FP2_BLS381_conj</a></div><div class="ttdeci">void FP2_BLS381_conj(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:143</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a40289fabff0a18e180b07b471e5d8cd9"><div class="ttname"><a href="fp2__BLS381_8h.html#a40289fabff0a18e180b07b471e5d8cd9">FP2_BLS381_iszilch</a></div><div class="ttdeci">int FP2_BLS381_iszilch(FP2_BLS381 *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:29</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a724524b28caad933baf4589b7e9ae47d"><div class="ttname"><a href="fp2__BLS381_8h.html#a724524b28caad933baf4589b7e9ae47d">FP2_BLS381_imul</a></div><div class="ttdeci">void FP2_BLS381_imul(FP2_BLS381 *x, FP2_BLS381 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:177</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a95322de463114e36e296c3c38cb20ff7"><div class="ttname"><a href="fp2__BLS381_8h.html#a95322de463114e36e296c3c38cb20ff7">FP2_BLS381_sqr</a></div><div class="ttdeci">void FP2_BLS381_sqr(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:185</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_aba7872896d24075e422ff9ddc7b3a5b5"><div class="ttname"><a href="fp2__BLS381_8h.html#aba7872896d24075e422ff9ddc7b3a5b5">FP2_BLS381_mul_ip</a></div><div class="ttdeci">void FP2_BLS381_mul_ip(FP2_BLS381 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:310</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_ae9c0ca3179c86bfb07609c5f0ea01c72"><div class="ttname"><a href="fp2__BLS381_8h.html#ae9c0ca3179c86bfb07609c5f0ea01c72">FP2_BLS381_pmul</a></div><div class="ttdeci">void FP2_BLS381_pmul(FP2_BLS381 *x, FP2_BLS381 *y, FP_BLS381 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:169</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a4b08a60ff28389620f582ac2f45fda76"><div class="ttname"><a href="fp2__BLS381_8h.html#a4b08a60ff28389620f582ac2f45fda76">FP2_BLS381_from_FPs</a></div><div class="ttdeci">void FP2_BLS381_from_FPs(FP2_BLS381 *x, FP_BLS381 *a, FP_BLS381 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:71</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a96da7f3bedd560f7be28d880a682fbfa"><div class="ttname"><a href="fp2__BLS381_8h.html#a96da7f3bedd560f7be28d880a682fbfa">FP2_BLS381_copy</a></div><div class="ttdeci">void FP2_BLS381_copy(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:103</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a23856cad2fcb755d2736880c3c2186d4"><div class="ttname"><a href="fp2__BLS381_8h.html#a23856cad2fcb755d2736880c3c2186d4">FP2_BLS381_norm</a></div><div class="ttdeci">void FP2_BLS381_norm(FP2_BLS381 *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:349</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a2ba96521c0cdb989252815e646bb71ef"><div class="ttname"><a href="fp2__BLS381_8h.html#a2ba96521c0cdb989252815e646bb71ef">FP2_BLS381_isunity</a></div><div class="ttdeci">int FP2_BLS381_isunity(FP2_BLS381 *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:44</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a16d1c66a60417932356fc55543ca60d7"><div class="ttname"><a href="fp2__BLS381_8h.html#a16d1c66a60417932356fc55543ca60d7">FP2_BLS381_pow</a></div><div class="ttdeci">void FP2_BLS381_pow(FP2_BLS381 *x, FP2_BLS381 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:357</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a8e56daa06c033cb0453da3ce91096f6f"><div class="ttname"><a href="fp2__BLS381_8h.html#a8e56daa06c033cb0453da3ce91096f6f">FP2_BLS381_one</a></div><div class="ttdeci">void FP2_BLS381_one(FP2_BLS381 *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:120</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_aa87bf0baf23cb33e520a0eb59851237e"><div class="ttname"><a href="fp2__BLS381_8h.html#aa87bf0baf23cb33e520a0eb59851237e">FP2_BLS381_reduce</a></div><div class="ttdeci">void FP2_BLS381_reduce(FP2_BLS381 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:54</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_abaf0706d3320f8a9b92f6fd93b804bc8"><div class="ttname"><a href="fp2__BLS381_8h.html#abaf0706d3320f8a9b92f6fd93b804bc8">FP2_BLS381_from_BIG</a></div><div class="ttdeci">void FP2_BLS381_from_BIG(FP2_BLS381 *x, BIG_384_58 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:95</div></div>
 <div class="ttc" id="structFP2__BLS381_html_a509fea18dcd7950f4e1b5e273406fe50"><div class="ttname"><a href="structFP2__BLS381.html#a509fea18dcd7950f4e1b5e273406fe50">FP2_BLS381::a</a></div><div class="ttdeci">FP_BLS381 a</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:38</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_ae73682808445434eec1f88c295aefc87"><div class="ttname"><a href="fp2__BLS381_8h.html#ae73682808445434eec1f88c295aefc87">FP2_BLS381_div2</a></div><div class="ttdeci">void FP2_BLS381_div2(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:300</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_ad00aebdec80b5dfd305b11552885a5da"><div class="ttname"><a href="fp2__BLS381_8h.html#ad00aebdec80b5dfd305b11552885a5da">FP2_BLS381_equals</a></div><div class="ttdeci">int FP2_BLS381_equals(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:62</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a1022fd6ddafe7f71ab3eb9d7fdfc65d9"><div class="ttname"><a href="fp2__BLS381_8h.html#a1022fd6ddafe7f71ab3eb9d7fdfc65d9">FP2_BLS381_output</a></div><div class="ttdeci">void FP2_BLS381_output(FP2_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:252</div></div>
-<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a7fe4b253d8c6a5b84e773603808644c0"><div class="ttname"><a href="fp2__BLS381_8h.html#a7fe4b253d8c6a5b84e773603808644c0">FP2_BLS381_times_i</a></div><div class="ttdeci">void FP2_BLS381_times_i(FP2_BLS381 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:426</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a1b7c3a8dd5120d24cb25ea914b547cd2"><div class="ttname"><a href="fp2__BLS381_8h.html#a1b7c3a8dd5120d24cb25ea914b547cd2">FP2_BLS381_cmove</a></div><div class="ttdeci">void FP2_BLS381_cmove(FP2_BLS381 *x, FP2_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:36</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a860ab1d21705f1e32a37f89f2d774803"><div class="ttname"><a href="fp2__BLS381_8h.html#a860ab1d21705f1e32a37f89f2d774803">FP2_BLS381_neg</a></div><div class="ttdeci">void FP2_BLS381_neg(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:129</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a1697932e5758716262fe3abaec8b76a1"><div class="ttname"><a href="fp2__BLS381_8h.html#a1697932e5758716262fe3abaec8b76a1">FP2_BLS381_add</a></div><div class="ttdeci">void FP2_BLS381_add(FP2_BLS381 *x, FP2_BLS381 *y, FP2_BLS381 *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:152</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_acc206d1d57fe02dcb897340bceee3588"><div class="ttname"><a href="fp2__BLS381_8h.html#acc206d1d57fe02dcb897340bceee3588">FP2_BLS381_rawoutput</a></div><div class="ttdeci">void FP2_BLS381_rawoutput(FP2_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:268</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a576be24a416e3eb19c844b73adf27bd7"><div class="ttname"><a href="fp2__BLS381_8h.html#a576be24a416e3eb19c844b73adf27bd7">FP2_BLS381_from_FP</a></div><div class="ttdeci">void FP2_BLS381_from_FP(FP2_BLS381 *x, FP_BLS381 *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:87</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_ae73682808445434eec1f88c295aefc87"><div class="ttname"><a href="fp2__BLS381_8h.html#ae73682808445434eec1f88c295aefc87">FP2_BLS381_div2</a></div><div class="ttdeci">void FP2_BLS381_div2(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:300</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_ad00aebdec80b5dfd305b11552885a5da"><div class="ttname"><a href="fp2__BLS381_8h.html#ad00aebdec80b5dfd305b11552885a5da">FP2_BLS381_equals</a></div><div class="ttdeci">int FP2_BLS381_equals(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:62</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a1022fd6ddafe7f71ab3eb9d7fdfc65d9"><div class="ttname"><a href="fp2__BLS381_8h.html#a1022fd6ddafe7f71ab3eb9d7fdfc65d9">FP2_BLS381_output</a></div><div class="ttdeci">void FP2_BLS381_output(FP2_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:252</div></div>
+<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a7fe4b253d8c6a5b84e773603808644c0"><div class="ttname"><a href="fp2__BLS381_8h.html#a7fe4b253d8c6a5b84e773603808644c0">FP2_BLS381_times_i</a></div><div class="ttdeci">void FP2_BLS381_times_i(FP2_BLS381 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:426</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a1b7c3a8dd5120d24cb25ea914b547cd2"><div class="ttname"><a href="fp2__BLS381_8h.html#a1b7c3a8dd5120d24cb25ea914b547cd2">FP2_BLS381_cmove</a></div><div class="ttdeci">void FP2_BLS381_cmove(FP2_BLS381 *x, FP2_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:36</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a860ab1d21705f1e32a37f89f2d774803"><div class="ttname"><a href="fp2__BLS381_8h.html#a860ab1d21705f1e32a37f89f2d774803">FP2_BLS381_neg</a></div><div class="ttdeci">void FP2_BLS381_neg(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:129</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a1697932e5758716262fe3abaec8b76a1"><div class="ttname"><a href="fp2__BLS381_8h.html#a1697932e5758716262fe3abaec8b76a1">FP2_BLS381_add</a></div><div class="ttdeci">void FP2_BLS381_add(FP2_BLS381 *x, FP2_BLS381 *y, FP2_BLS381 *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:152</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_acc206d1d57fe02dcb897340bceee3588"><div class="ttname"><a href="fp2__BLS381_8h.html#acc206d1d57fe02dcb897340bceee3588">FP2_BLS381_rawoutput</a></div><div class="ttdeci">void FP2_BLS381_rawoutput(FP2_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:268</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a576be24a416e3eb19c844b73adf27bd7"><div class="ttname"><a href="fp2__BLS381_8h.html#a576be24a416e3eb19c844b73adf27bd7">FP2_BLS381_from_FP</a></div><div class="ttdeci">void FP2_BLS381_from_FP(FP2_BLS381 *x, FP_BLS381 *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:87</div></div>
 <div class="ttc" id="structFP2__BLS381_html_a7b141a50df80ec50c6cb104d1f8f4c14"><div class="ttname"><a href="structFP2__BLS381.html#a7b141a50df80ec50c6cb104d1f8f4c14">FP2_BLS381::b</a></div><div class="ttdeci">FP_BLS381 b</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:39</div></div>
-<div class="ttc" id="fp__BLS381_8h_html"><div class="ttname"><a href="fp__BLS381_8h.html">fp_BLS381.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a8ac32994ec45c0f08cafc1a756c43641"><div class="ttname"><a href="fp2__BLS381_8h.html#a8ac32994ec45c0f08cafc1a756c43641">FP2_BLS381_mul</a></div><div class="ttdeci">void FP2_BLS381_mul(FP2_BLS381 *x, FP2_BLS381 *y, FP2_BLS381 *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:207</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_aa775a1b8ca6673ad36e53b9ca1ad2037"><div class="ttname"><a href="fp2__BLS381_8h.html#aa775a1b8ca6673ad36e53b9ca1ad2037">FP2_BLS381_sqrt</a></div><div class="ttdeci">int FP2_BLS381_sqrt(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:384</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_ab19163dc700b9479653bca5e37444054"><div class="ttname"><a href="fp2__BLS381_8h.html#ab19163dc700b9479653bca5e37444054">FP2_BLS381_zero</a></div><div class="ttdeci">void FP2_BLS381_zero(FP2_BLS381 *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:112</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html_a88e2eaa2d7e085f6e653e55172e8efa9"><div class="ttname"><a href="fp2__BLS381_8h.html#a88e2eaa2d7e085f6e653e55172e8efa9">FP2_BLS381_div_ip</a></div><div class="ttdeci">void FP2_BLS381_div_ip(FP2_BLS381 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:337</div></div>
+<div class="ttc" id="fp__BLS381_8h_html"><div class="ttname"><a href="fp__BLS381_8h.html">fp_BLS381.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a8ac32994ec45c0f08cafc1a756c43641"><div class="ttname"><a href="fp2__BLS381_8h.html#a8ac32994ec45c0f08cafc1a756c43641">FP2_BLS381_mul</a></div><div class="ttdeci">void FP2_BLS381_mul(FP2_BLS381 *x, FP2_BLS381 *y, FP2_BLS381 *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:207</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_aa775a1b8ca6673ad36e53b9ca1ad2037"><div class="ttname"><a href="fp2__BLS381_8h.html#aa775a1b8ca6673ad36e53b9ca1ad2037">FP2_BLS381_sqrt</a></div><div class="ttdeci">int FP2_BLS381_sqrt(FP2_BLS381 *x, FP2_BLS381 *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:384</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_ab19163dc700b9479653bca5e37444054"><div class="ttname"><a href="fp2__BLS381_8h.html#ab19163dc700b9479653bca5e37444054">FP2_BLS381_zero</a></div><div class="ttdeci">void FP2_BLS381_zero(FP2_BLS381 *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:112</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html_a88e2eaa2d7e085f6e653e55172e8efa9"><div class="ttname"><a href="fp2__BLS381_8h.html#a88e2eaa2d7e085f6e653e55172e8efa9">FP2_BLS381_div_ip</a></div><div class="ttdeci">void FP2_BLS381_div_ip(FP2_BLS381 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.c:337</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/fp2__BLS383_8h.html b/website/static/cdocs/fp2__BLS383_8h.html
index b090c6c..fea1822 100644
--- a/website/static/cdocs/fp2__BLS383_8h.html
+++ b/website/static/cdocs/fp2__BLS383_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: fp2_BLS383.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"
@@ -1208,7 +1211,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/fp2__BLS383_8h_source.html b/website/static/cdocs/fp2__BLS383_8h_source.html
index 889014c..3794914 100644
--- a/website/static/cdocs/fp2__BLS383_8h_source.html
+++ b/website/static/cdocs/fp2__BLS383_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: fp2_BLS383.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,49 +72,49 @@
 <div class="title">fp2_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__BLS383_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 FP2_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS383_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 &quot;<a class="code" href="fp__BLS383_8h.html">fp_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS383.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS383.html#ae6c11a0b60558c7c217006011db3245b">   38</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structFP2__BLS383.html#ae6c11a0b60558c7c217006011db3245b">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS383.html#a6ef23563e45402ac7e217ff51a5e9cd5">   39</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structFP2__BLS383.html#a6ef23563e45402ac7e217ff51a5e9cd5">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#a3a495e7f48657f10231115dc725df45f">FP2_BLS383_iszilch</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a37fc8349bfd662b4754ed16005d2b65d">FP2_BLS383_cmove</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#ae2f6663c05baa183e417556476294110">FP2_BLS383_isunity</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#ada98457f292be8b356ebe89f8ca3b980">FP2_BLS383_equals</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a8f64db5c0329cc7f3bd45bbe95640286">FP2_BLS383_from_FPs</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *a,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a1e7c1a46251bf58e1616fef6d2bf40f5">FP2_BLS383_from_BIGs</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</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="fp2__BLS383_8h.html#a037d2a52cf602627852600b7b6cd010c">FP2_BLS383_from_FP</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a0f73bbf544cb2dbbebdc20296c86a165">FP2_BLS383_from_BIG</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a7998226aa40b4ba61b4879f4e27349fb">FP2_BLS383_copy</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#af463da554a7daeea880ae3cc5d57fc3f">FP2_BLS383_zero</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#abfbd90052bd89b961256b332f7aa1686">FP2_BLS383_one</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aa88a84ca9056d8eb3be681f685f40d58">FP2_BLS383_neg</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</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="fp2__BLS383_8h.html#a46e60f91612d7cd8d5449cfd79ab817a">FP2_BLS383_conj</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</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="fp2__BLS383_8h.html#a31be2fc80384c1caf063a6806227e96d">FP2_BLS383_add</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *z);</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="fp2__BLS383_8h.html#a3c07cdc0d57e1bb1676a515ab625c2b0">FP2_BLS383_sub</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#abf58cde2faf57b407ebf8907903ea238">FP2_BLS383_pmul</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a0d329c43834020414ed41fb1a1d244a0">FP2_BLS383_imul</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#ae2e33273f57c50698e0bc18579ec047b">FP2_BLS383_sqr</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aedb83573a3e87580e5d112f0eee7b182">FP2_BLS383_mul</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a8c39664d9a5634b3e3003606c1aa6bfd">FP2_BLS383_output</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aa9fed0e4bda47bfa4e5277e8d17471e3">FP2_BLS383_rawoutput</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aed304d91d17833a690af6d5972d2637a">FP2_BLS383_inv</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a4b6fda1ba9e96c5a9f992c2773754f25">FP2_BLS383_div2</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a020e5201827b4ae5deecfaea61c2ea5a">FP2_BLS383_mul_ip</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a1ab0304b3b7a6ed1cc9591bef0041352">FP2_BLS383_div_ip2</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a2992b7664aeb0331dadb504929b285c8">FP2_BLS383_div_ip</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#ac7867179a6d451f5f4419686a253a53b">FP2_BLS383_norm</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a04f0f9bec2b3ec1a15d1219094f9d7f4">FP2_BLS383_reduce</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a945f491189325ae9b02f1326b130b18b">FP2_BLS383_pow</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#a538d6a24f1f66105824e4d275271d449">FP2_BLS383_sqrt</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#abab080f105dd85fcf23397304d91522d">FP2_BLS383_times_i</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS383_8h_html_abfbd90052bd89b961256b332f7aa1686"><div class="ttname"><a href="fp2__BLS383_8h.html#abfbd90052bd89b961256b332f7aa1686">FP2_BLS383_one</a></div><div class="ttdeci">void FP2_BLS383_one(FP2_BLS383 *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:120</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_ae2e33273f57c50698e0bc18579ec047b"><div class="ttname"><a href="fp2__BLS383_8h.html#ae2e33273f57c50698e0bc18579ec047b">FP2_BLS383_sqr</a></div><div class="ttdeci">void FP2_BLS383_sqr(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:185</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a0d329c43834020414ed41fb1a1d244a0"><div class="ttname"><a href="fp2__BLS383_8h.html#a0d329c43834020414ed41fb1a1d244a0">FP2_BLS383_imul</a></div><div class="ttdeci">void FP2_BLS383_imul(FP2_BLS383 *x, FP2_BLS383 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:177</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_aed304d91d17833a690af6d5972d2637a"><div class="ttname"><a href="fp2__BLS383_8h.html#aed304d91d17833a690af6d5972d2637a">FP2_BLS383_inv</a></div><div class="ttdeci">void FP2_BLS383_inv(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:280</div></div>
-<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
+<a href="fp2__BLS383_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 FP2_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS383_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 &quot;<a class="code" href="fp__BLS383_8h.html">fp_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS383.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS383.html#ae6c11a0b60558c7c217006011db3245b">   38</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structFP2__BLS383.html#ae6c11a0b60558c7c217006011db3245b">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS383.html#a6ef23563e45402ac7e217ff51a5e9cd5">   39</a></span>&#160;    <a class="code" href="structFP__BLS383.html">FP_BLS383</a> <a class="code" href="structFP2__BLS383.html#a6ef23563e45402ac7e217ff51a5e9cd5">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#a3a495e7f48657f10231115dc725df45f">FP2_BLS383_iszilch</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a37fc8349bfd662b4754ed16005d2b65d">FP2_BLS383_cmove</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#ae2f6663c05baa183e417556476294110">FP2_BLS383_isunity</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#ada98457f292be8b356ebe89f8ca3b980">FP2_BLS383_equals</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a8f64db5c0329cc7f3bd45bbe95640286">FP2_BLS383_from_FPs</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *a,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a1e7c1a46251bf58e1616fef6d2bf40f5">FP2_BLS383_from_BIGs</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</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="fp2__BLS383_8h.html#a037d2a52cf602627852600b7b6cd010c">FP2_BLS383_from_FP</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a0f73bbf544cb2dbbebdc20296c86a165">FP2_BLS383_from_BIG</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a7998226aa40b4ba61b4879f4e27349fb">FP2_BLS383_copy</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#af463da554a7daeea880ae3cc5d57fc3f">FP2_BLS383_zero</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#abfbd90052bd89b961256b332f7aa1686">FP2_BLS383_one</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aa88a84ca9056d8eb3be681f685f40d58">FP2_BLS383_neg</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</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="fp2__BLS383_8h.html#a46e60f91612d7cd8d5449cfd79ab817a">FP2_BLS383_conj</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</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="fp2__BLS383_8h.html#a31be2fc80384c1caf063a6806227e96d">FP2_BLS383_add</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *z);</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="fp2__BLS383_8h.html#a3c07cdc0d57e1bb1676a515ab625c2b0">FP2_BLS383_sub</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#abf58cde2faf57b407ebf8907903ea238">FP2_BLS383_pmul</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a0d329c43834020414ed41fb1a1d244a0">FP2_BLS383_imul</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#ae2e33273f57c50698e0bc18579ec047b">FP2_BLS383_sqr</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aedb83573a3e87580e5d112f0eee7b182">FP2_BLS383_mul</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a8c39664d9a5634b3e3003606c1aa6bfd">FP2_BLS383_output</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aa9fed0e4bda47bfa4e5277e8d17471e3">FP2_BLS383_rawoutput</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#aed304d91d17833a690af6d5972d2637a">FP2_BLS383_inv</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a4b6fda1ba9e96c5a9f992c2773754f25">FP2_BLS383_div2</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a020e5201827b4ae5deecfaea61c2ea5a">FP2_BLS383_mul_ip</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a1ab0304b3b7a6ed1cc9591bef0041352">FP2_BLS383_div_ip2</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a2992b7664aeb0331dadb504929b285c8">FP2_BLS383_div_ip</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#ac7867179a6d451f5f4419686a253a53b">FP2_BLS383_norm</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a04f0f9bec2b3ec1a15d1219094f9d7f4">FP2_BLS383_reduce</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#a945f491189325ae9b02f1326b130b18b">FP2_BLS383_pow</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS383_8h.html#a538d6a24f1f66105824e4d275271d449">FP2_BLS383_sqrt</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS383_8h.html#abab080f105dd85fcf23397304d91522d">FP2_BLS383_times_i</a>(<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS383_8h_html_abfbd90052bd89b961256b332f7aa1686"><div class="ttname"><a href="fp2__BLS383_8h.html#abfbd90052bd89b961256b332f7aa1686">FP2_BLS383_one</a></div><div class="ttdeci">void FP2_BLS383_one(FP2_BLS383 *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:120</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_ae2e33273f57c50698e0bc18579ec047b"><div class="ttname"><a href="fp2__BLS383_8h.html#ae2e33273f57c50698e0bc18579ec047b">FP2_BLS383_sqr</a></div><div class="ttdeci">void FP2_BLS383_sqr(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:185</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a0d329c43834020414ed41fb1a1d244a0"><div class="ttname"><a href="fp2__BLS383_8h.html#a0d329c43834020414ed41fb1a1d244a0">FP2_BLS383_imul</a></div><div class="ttdeci">void FP2_BLS383_imul(FP2_BLS383 *x, FP2_BLS383 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:177</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_aed304d91d17833a690af6d5972d2637a"><div class="ttname"><a href="fp2__BLS383_8h.html#aed304d91d17833a690af6d5972d2637a">FP2_BLS383_inv</a></div><div class="ttdeci">void FP2_BLS383_inv(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:280</div></div>
+<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a2992b7664aeb0331dadb504929b285c8"><div class="ttname"><a href="fp2__BLS383_8h.html#a2992b7664aeb0331dadb504929b285c8">FP2_BLS383_div_ip</a></div><div class="ttdeci">void FP2_BLS383_div_ip(FP2_BLS383 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:337</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_ac7867179a6d451f5f4419686a253a53b"><div class="ttname"><a href="fp2__BLS383_8h.html#ac7867179a6d451f5f4419686a253a53b">FP2_BLS383_norm</a></div><div class="ttdeci">void FP2_BLS383_norm(FP2_BLS383 *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:349</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a1e7c1a46251bf58e1616fef6d2bf40f5"><div class="ttname"><a href="fp2__BLS383_8h.html#a1e7c1a46251bf58e1616fef6d2bf40f5">FP2_BLS383_from_BIGs</a></div><div class="ttdeci">void FP2_BLS383_from_BIGs(FP2_BLS383 *x, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:79</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_aa9fed0e4bda47bfa4e5277e8d17471e3"><div class="ttname"><a href="fp2__BLS383_8h.html#aa9fed0e4bda47bfa4e5277e8d17471e3">FP2_BLS383_rawoutput</a></div><div class="ttdeci">void FP2_BLS383_rawoutput(FP2_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:268</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_aa88a84ca9056d8eb3be681f685f40d58"><div class="ttname"><a href="fp2__BLS383_8h.html#aa88a84ca9056d8eb3be681f685f40d58">FP2_BLS383_neg</a></div><div class="ttdeci">void FP2_BLS383_neg(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:129</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a1ab0304b3b7a6ed1cc9591bef0041352"><div class="ttname"><a href="fp2__BLS383_8h.html#a1ab0304b3b7a6ed1cc9591bef0041352">FP2_BLS383_div_ip2</a></div><div class="ttdeci">void FP2_BLS383_div_ip2(FP2_BLS383 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:325</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a0f73bbf544cb2dbbebdc20296c86a165"><div class="ttname"><a href="fp2__BLS383_8h.html#a0f73bbf544cb2dbbebdc20296c86a165">FP2_BLS383_from_BIG</a></div><div class="ttdeci">void FP2_BLS383_from_BIG(FP2_BLS383 *x, BIG_384_58 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:95</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a037d2a52cf602627852600b7b6cd010c"><div class="ttname"><a href="fp2__BLS383_8h.html#a037d2a52cf602627852600b7b6cd010c">FP2_BLS383_from_FP</a></div><div class="ttdeci">void FP2_BLS383_from_FP(FP2_BLS383 *x, FP_BLS383 *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:87</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a37fc8349bfd662b4754ed16005d2b65d"><div class="ttname"><a href="fp2__BLS383_8h.html#a37fc8349bfd662b4754ed16005d2b65d">FP2_BLS383_cmove</a></div><div class="ttdeci">void FP2_BLS383_cmove(FP2_BLS383 *x, FP2_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:36</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a2992b7664aeb0331dadb504929b285c8"><div class="ttname"><a href="fp2__BLS383_8h.html#a2992b7664aeb0331dadb504929b285c8">FP2_BLS383_div_ip</a></div><div class="ttdeci">void FP2_BLS383_div_ip(FP2_BLS383 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:337</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_ac7867179a6d451f5f4419686a253a53b"><div class="ttname"><a href="fp2__BLS383_8h.html#ac7867179a6d451f5f4419686a253a53b">FP2_BLS383_norm</a></div><div class="ttdeci">void FP2_BLS383_norm(FP2_BLS383 *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:349</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a1e7c1a46251bf58e1616fef6d2bf40f5"><div class="ttname"><a href="fp2__BLS383_8h.html#a1e7c1a46251bf58e1616fef6d2bf40f5">FP2_BLS383_from_BIGs</a></div><div class="ttdeci">void FP2_BLS383_from_BIGs(FP2_BLS383 *x, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:79</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_aa9fed0e4bda47bfa4e5277e8d17471e3"><div class="ttname"><a href="fp2__BLS383_8h.html#aa9fed0e4bda47bfa4e5277e8d17471e3">FP2_BLS383_rawoutput</a></div><div class="ttdeci">void FP2_BLS383_rawoutput(FP2_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:268</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_aa88a84ca9056d8eb3be681f685f40d58"><div class="ttname"><a href="fp2__BLS383_8h.html#aa88a84ca9056d8eb3be681f685f40d58">FP2_BLS383_neg</a></div><div class="ttdeci">void FP2_BLS383_neg(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:129</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a1ab0304b3b7a6ed1cc9591bef0041352"><div class="ttname"><a href="fp2__BLS383_8h.html#a1ab0304b3b7a6ed1cc9591bef0041352">FP2_BLS383_div_ip2</a></div><div class="ttdeci">void FP2_BLS383_div_ip2(FP2_BLS383 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:325</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a0f73bbf544cb2dbbebdc20296c86a165"><div class="ttname"><a href="fp2__BLS383_8h.html#a0f73bbf544cb2dbbebdc20296c86a165">FP2_BLS383_from_BIG</a></div><div class="ttdeci">void FP2_BLS383_from_BIG(FP2_BLS383 *x, BIG_384_58 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:95</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a037d2a52cf602627852600b7b6cd010c"><div class="ttname"><a href="fp2__BLS383_8h.html#a037d2a52cf602627852600b7b6cd010c">FP2_BLS383_from_FP</a></div><div class="ttdeci">void FP2_BLS383_from_FP(FP2_BLS383 *x, FP_BLS383 *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:87</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a37fc8349bfd662b4754ed16005d2b65d"><div class="ttname"><a href="fp2__BLS383_8h.html#a37fc8349bfd662b4754ed16005d2b65d">FP2_BLS383_cmove</a></div><div class="ttdeci">void FP2_BLS383_cmove(FP2_BLS383 *x, FP2_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:36</div></div>
 <div class="ttc" id="structFP2__BLS383_html_a6ef23563e45402ac7e217ff51a5e9cd5"><div class="ttname"><a href="structFP2__BLS383.html#a6ef23563e45402ac7e217ff51a5e9cd5">FP2_BLS383::b</a></div><div class="ttdeci">FP_BLS383 b</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:39</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a4b6fda1ba9e96c5a9f992c2773754f25"><div class="ttname"><a href="fp2__BLS383_8h.html#a4b6fda1ba9e96c5a9f992c2773754f25">FP2_BLS383_div2</a></div><div class="ttdeci">void FP2_BLS383_div2(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:300</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_aedb83573a3e87580e5d112f0eee7b182"><div class="ttname"><a href="fp2__BLS383_8h.html#aedb83573a3e87580e5d112f0eee7b182">FP2_BLS383_mul</a></div><div class="ttdeci">void FP2_BLS383_mul(FP2_BLS383 *x, FP2_BLS383 *y, FP2_BLS383 *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:207</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a46e60f91612d7cd8d5449cfd79ab817a"><div class="ttname"><a href="fp2__BLS383_8h.html#a46e60f91612d7cd8d5449cfd79ab817a">FP2_BLS383_conj</a></div><div class="ttdeci">void FP2_BLS383_conj(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:143</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_ae2f6663c05baa183e417556476294110"><div class="ttname"><a href="fp2__BLS383_8h.html#ae2f6663c05baa183e417556476294110">FP2_BLS383_isunity</a></div><div class="ttdeci">int FP2_BLS383_isunity(FP2_BLS383 *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:44</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a945f491189325ae9b02f1326b130b18b"><div class="ttname"><a href="fp2__BLS383_8h.html#a945f491189325ae9b02f1326b130b18b">FP2_BLS383_pow</a></div><div class="ttdeci">void FP2_BLS383_pow(FP2_BLS383 *x, FP2_BLS383 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:357</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_abf58cde2faf57b407ebf8907903ea238"><div class="ttname"><a href="fp2__BLS383_8h.html#abf58cde2faf57b407ebf8907903ea238">FP2_BLS383_pmul</a></div><div class="ttdeci">void FP2_BLS383_pmul(FP2_BLS383 *x, FP2_BLS383 *y, FP_BLS383 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:169</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a8c39664d9a5634b3e3003606c1aa6bfd"><div class="ttname"><a href="fp2__BLS383_8h.html#a8c39664d9a5634b3e3003606c1aa6bfd">FP2_BLS383_output</a></div><div class="ttdeci">void FP2_BLS383_output(FP2_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:252</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a020e5201827b4ae5deecfaea61c2ea5a"><div class="ttname"><a href="fp2__BLS383_8h.html#a020e5201827b4ae5deecfaea61c2ea5a">FP2_BLS383_mul_ip</a></div><div class="ttdeci">void FP2_BLS383_mul_ip(FP2_BLS383 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:310</div></div>
-<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a31be2fc80384c1caf063a6806227e96d"><div class="ttname"><a href="fp2__BLS383_8h.html#a31be2fc80384c1caf063a6806227e96d">FP2_BLS383_add</a></div><div class="ttdeci">void FP2_BLS383_add(FP2_BLS383 *x, FP2_BLS383 *y, FP2_BLS383 *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:152</div></div>
-<div class="ttc" id="fp__BLS383_8h_html"><div class="ttname"><a href="fp__BLS383_8h.html">fp_BLS383.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a04f0f9bec2b3ec1a15d1219094f9d7f4"><div class="ttname"><a href="fp2__BLS383_8h.html#a04f0f9bec2b3ec1a15d1219094f9d7f4">FP2_BLS383_reduce</a></div><div class="ttdeci">void FP2_BLS383_reduce(FP2_BLS383 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:54</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a8f64db5c0329cc7f3bd45bbe95640286"><div class="ttname"><a href="fp2__BLS383_8h.html#a8f64db5c0329cc7f3bd45bbe95640286">FP2_BLS383_from_FPs</a></div><div class="ttdeci">void FP2_BLS383_from_FPs(FP2_BLS383 *x, FP_BLS383 *a, FP_BLS383 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:71</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_abab080f105dd85fcf23397304d91522d"><div class="ttname"><a href="fp2__BLS383_8h.html#abab080f105dd85fcf23397304d91522d">FP2_BLS383_times_i</a></div><div class="ttdeci">void FP2_BLS383_times_i(FP2_BLS383 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:426</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a538d6a24f1f66105824e4d275271d449"><div class="ttname"><a href="fp2__BLS383_8h.html#a538d6a24f1f66105824e4d275271d449">FP2_BLS383_sqrt</a></div><div class="ttdeci">int FP2_BLS383_sqrt(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:384</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_ada98457f292be8b356ebe89f8ca3b980"><div class="ttname"><a href="fp2__BLS383_8h.html#ada98457f292be8b356ebe89f8ca3b980">FP2_BLS383_equals</a></div><div class="ttdeci">int FP2_BLS383_equals(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:62</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a3c07cdc0d57e1bb1676a515ab625c2b0"><div class="ttname"><a href="fp2__BLS383_8h.html#a3c07cdc0d57e1bb1676a515ab625c2b0">FP2_BLS383_sub</a></div><div class="ttdeci">void FP2_BLS383_sub(FP2_BLS383 *x, FP2_BLS383 *y, FP2_BLS383 *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:160</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a4b6fda1ba9e96c5a9f992c2773754f25"><div class="ttname"><a href="fp2__BLS383_8h.html#a4b6fda1ba9e96c5a9f992c2773754f25">FP2_BLS383_div2</a></div><div class="ttdeci">void FP2_BLS383_div2(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:300</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_aedb83573a3e87580e5d112f0eee7b182"><div class="ttname"><a href="fp2__BLS383_8h.html#aedb83573a3e87580e5d112f0eee7b182">FP2_BLS383_mul</a></div><div class="ttdeci">void FP2_BLS383_mul(FP2_BLS383 *x, FP2_BLS383 *y, FP2_BLS383 *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:207</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a46e60f91612d7cd8d5449cfd79ab817a"><div class="ttname"><a href="fp2__BLS383_8h.html#a46e60f91612d7cd8d5449cfd79ab817a">FP2_BLS383_conj</a></div><div class="ttdeci">void FP2_BLS383_conj(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:143</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_ae2f6663c05baa183e417556476294110"><div class="ttname"><a href="fp2__BLS383_8h.html#ae2f6663c05baa183e417556476294110">FP2_BLS383_isunity</a></div><div class="ttdeci">int FP2_BLS383_isunity(FP2_BLS383 *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:44</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a945f491189325ae9b02f1326b130b18b"><div class="ttname"><a href="fp2__BLS383_8h.html#a945f491189325ae9b02f1326b130b18b">FP2_BLS383_pow</a></div><div class="ttdeci">void FP2_BLS383_pow(FP2_BLS383 *x, FP2_BLS383 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:357</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_abf58cde2faf57b407ebf8907903ea238"><div class="ttname"><a href="fp2__BLS383_8h.html#abf58cde2faf57b407ebf8907903ea238">FP2_BLS383_pmul</a></div><div class="ttdeci">void FP2_BLS383_pmul(FP2_BLS383 *x, FP2_BLS383 *y, FP_BLS383 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:169</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a8c39664d9a5634b3e3003606c1aa6bfd"><div class="ttname"><a href="fp2__BLS383_8h.html#a8c39664d9a5634b3e3003606c1aa6bfd">FP2_BLS383_output</a></div><div class="ttdeci">void FP2_BLS383_output(FP2_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:252</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a020e5201827b4ae5deecfaea61c2ea5a"><div class="ttname"><a href="fp2__BLS383_8h.html#a020e5201827b4ae5deecfaea61c2ea5a">FP2_BLS383_mul_ip</a></div><div class="ttdeci">void FP2_BLS383_mul_ip(FP2_BLS383 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:310</div></div>
+<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a31be2fc80384c1caf063a6806227e96d"><div class="ttname"><a href="fp2__BLS383_8h.html#a31be2fc80384c1caf063a6806227e96d">FP2_BLS383_add</a></div><div class="ttdeci">void FP2_BLS383_add(FP2_BLS383 *x, FP2_BLS383 *y, FP2_BLS383 *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:152</div></div>
+<div class="ttc" id="fp__BLS383_8h_html"><div class="ttname"><a href="fp__BLS383_8h.html">fp_BLS383.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a04f0f9bec2b3ec1a15d1219094f9d7f4"><div class="ttname"><a href="fp2__BLS383_8h.html#a04f0f9bec2b3ec1a15d1219094f9d7f4">FP2_BLS383_reduce</a></div><div class="ttdeci">void FP2_BLS383_reduce(FP2_BLS383 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:54</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a8f64db5c0329cc7f3bd45bbe95640286"><div class="ttname"><a href="fp2__BLS383_8h.html#a8f64db5c0329cc7f3bd45bbe95640286">FP2_BLS383_from_FPs</a></div><div class="ttdeci">void FP2_BLS383_from_FPs(FP2_BLS383 *x, FP_BLS383 *a, FP_BLS383 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:71</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_abab080f105dd85fcf23397304d91522d"><div class="ttname"><a href="fp2__BLS383_8h.html#abab080f105dd85fcf23397304d91522d">FP2_BLS383_times_i</a></div><div class="ttdeci">void FP2_BLS383_times_i(FP2_BLS383 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:426</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a538d6a24f1f66105824e4d275271d449"><div class="ttname"><a href="fp2__BLS383_8h.html#a538d6a24f1f66105824e4d275271d449">FP2_BLS383_sqrt</a></div><div class="ttdeci">int FP2_BLS383_sqrt(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:384</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_ada98457f292be8b356ebe89f8ca3b980"><div class="ttname"><a href="fp2__BLS383_8h.html#ada98457f292be8b356ebe89f8ca3b980">FP2_BLS383_equals</a></div><div class="ttdeci">int FP2_BLS383_equals(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:62</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a3c07cdc0d57e1bb1676a515ab625c2b0"><div class="ttname"><a href="fp2__BLS383_8h.html#a3c07cdc0d57e1bb1676a515ab625c2b0">FP2_BLS383_sub</a></div><div class="ttdeci">void FP2_BLS383_sub(FP2_BLS383 *x, FP2_BLS383 *y, FP2_BLS383 *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:160</div></div>
 <div class="ttc" id="structFP2__BLS383_html_ae6c11a0b60558c7c217006011db3245b"><div class="ttname"><a href="structFP2__BLS383.html#ae6c11a0b60558c7c217006011db3245b">FP2_BLS383::a</a></div><div class="ttdeci">FP_BLS383 a</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:38</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_af463da554a7daeea880ae3cc5d57fc3f"><div class="ttname"><a href="fp2__BLS383_8h.html#af463da554a7daeea880ae3cc5d57fc3f">FP2_BLS383_zero</a></div><div class="ttdeci">void FP2_BLS383_zero(FP2_BLS383 *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:112</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a7998226aa40b4ba61b4879f4e27349fb"><div class="ttname"><a href="fp2__BLS383_8h.html#a7998226aa40b4ba61b4879f4e27349fb">FP2_BLS383_copy</a></div><div class="ttdeci">void FP2_BLS383_copy(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:103</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html_a3a495e7f48657f10231115dc725df45f"><div class="ttname"><a href="fp2__BLS383_8h.html#a3a495e7f48657f10231115dc725df45f">FP2_BLS383_iszilch</a></div><div class="ttdeci">int FP2_BLS383_iszilch(FP2_BLS383 *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:29</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_af463da554a7daeea880ae3cc5d57fc3f"><div class="ttname"><a href="fp2__BLS383_8h.html#af463da554a7daeea880ae3cc5d57fc3f">FP2_BLS383_zero</a></div><div class="ttdeci">void FP2_BLS383_zero(FP2_BLS383 *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:112</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a7998226aa40b4ba61b4879f4e27349fb"><div class="ttname"><a href="fp2__BLS383_8h.html#a7998226aa40b4ba61b4879f4e27349fb">FP2_BLS383_copy</a></div><div class="ttdeci">void FP2_BLS383_copy(FP2_BLS383 *x, FP2_BLS383 *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:103</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html_a3a495e7f48657f10231115dc725df45f"><div class="ttname"><a href="fp2__BLS383_8h.html#a3a495e7f48657f10231115dc725df45f">FP2_BLS383_iszilch</a></div><div class="ttdeci">int FP2_BLS383_iszilch(FP2_BLS383 *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.c:29</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/fp2__BLS461_8h.html b/website/static/cdocs/fp2__BLS461_8h.html
index 62cc1b7..2b42525 100644
--- a/website/static/cdocs/fp2__BLS461_8h.html
+++ b/website/static/cdocs/fp2__BLS461_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: fp2_BLS461.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"
@@ -1208,7 +1211,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/fp2__BLS461_8h_source.html b/website/static/cdocs/fp2__BLS461_8h_source.html
index 1bd9058..313bece 100644
--- a/website/static/cdocs/fp2__BLS461_8h_source.html
+++ b/website/static/cdocs/fp2__BLS461_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: fp2_BLS461.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,49 +72,49 @@
 <div class="title">fp2_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__BLS461_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 FP2_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS461_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 &quot;<a class="code" href="fp__BLS461_8h.html">fp_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS461.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS461.html#a51dd2dfb3fafbb1f8356ae12e8a0ee74">   38</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structFP2__BLS461.html#a51dd2dfb3fafbb1f8356ae12e8a0ee74">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS461.html#a66c6dc0ed8de250caa6fc41351d6041f">   39</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structFP2__BLS461.html#a66c6dc0ed8de250caa6fc41351d6041f">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#a342f9f0d843d1e6d25009668fe6675f9">FP2_BLS461_iszilch</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a9b7f10846bfc8f385a89af43b0dbd2ca">FP2_BLS461_cmove</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#a7e9787ca2ed62eb6331c4bb1a0cef199">FP2_BLS461_isunity</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#acdf7c98e3470e01cb139f0aadb8cdff9">FP2_BLS461_equals</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a38a1159ac5e0fd17969c9e7a0bb4b19b">FP2_BLS461_from_FPs</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *a,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a105fc94d0a1fbe5b9098b21cb93b8dae">FP2_BLS461_from_BIGs</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</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="fp2__BLS461_8h.html#a943144873cc905b4bd928ade20e403b2">FP2_BLS461_from_FP</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a02bb1dc9c8efd276d81777229d55c650">FP2_BLS461_from_BIG</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a30dbfef620b1ba2814184a7f15a368a1">FP2_BLS461_copy</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a40bfb0aefff6cc620edec17991e63165">FP2_BLS461_zero</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a19d685290bc3d3edec55cbcb1c321f25">FP2_BLS461_one</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a336a59c81e2944087e563dd9ebf1b6cf">FP2_BLS461_neg</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</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="fp2__BLS461_8h.html#a386fce088010e1e566d614dbbd5c78f5">FP2_BLS461_conj</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</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="fp2__BLS461_8h.html#a87668354ed4733dd51739711ca4b4c9d">FP2_BLS461_add</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *z);</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="fp2__BLS461_8h.html#afe919da0ac9f2485f1175d2481d825b1">FP2_BLS461_sub</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a1d501442200214d1a04809af9aa80187">FP2_BLS461_pmul</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a249cef3cd996e6a9401949d0f002ad5c">FP2_BLS461_imul</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#aab0eae3cb3c78be0ee193f2f8fd521e7">FP2_BLS461_sqr</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#ac64a0c17b3a26b48b335722e26239b73">FP2_BLS461_mul</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a9003d127e7748a270b2e12dfaa7f8c3d">FP2_BLS461_output</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a072d5583b3701121bddd9e593123f510">FP2_BLS461_rawoutput</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a34172ec8c4cefc19252bb208ea5c32db">FP2_BLS461_inv</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a91e7d9f85a7c9390d33fccbe9741c4f1">FP2_BLS461_div2</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#aed8d640eb2affedfa6bb072a8b3debd8">FP2_BLS461_mul_ip</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a7e00ac1a38b5e02c5dcc4fe9ae5c9c57">FP2_BLS461_div_ip2</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a461a3750fe6c954c7b14d263ed155907">FP2_BLS461_div_ip</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a074edb59382cfc41f635008c8169a6be">FP2_BLS461_norm</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a7a47b813fbdda09b7f9143f139820751">FP2_BLS461_reduce</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#af34146664c3f044611a9cec35cb6bbaf">FP2_BLS461_pow</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#a0309114cd8924a905566153b34c9fa42">FP2_BLS461_sqrt</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a8c97aa768c710055123f3acfd2aa1aed">FP2_BLS461_times_i</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS461_8h_html_a461a3750fe6c954c7b14d263ed155907"><div class="ttname"><a href="fp2__BLS461_8h.html#a461a3750fe6c954c7b14d263ed155907">FP2_BLS461_div_ip</a></div><div class="ttdeci">void FP2_BLS461_div_ip(FP2_BLS461 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:337</div></div>
-<div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a0309114cd8924a905566153b34c9fa42"><div class="ttname"><a href="fp2__BLS461_8h.html#a0309114cd8924a905566153b34c9fa42">FP2_BLS461_sqrt</a></div><div class="ttdeci">int FP2_BLS461_sqrt(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:384</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_ac64a0c17b3a26b48b335722e26239b73"><div class="ttname"><a href="fp2__BLS461_8h.html#ac64a0c17b3a26b48b335722e26239b73">FP2_BLS461_mul</a></div><div class="ttdeci">void FP2_BLS461_mul(FP2_BLS461 *x, FP2_BLS461 *y, FP2_BLS461 *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:207</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a072d5583b3701121bddd9e593123f510"><div class="ttname"><a href="fp2__BLS461_8h.html#a072d5583b3701121bddd9e593123f510">FP2_BLS461_rawoutput</a></div><div class="ttdeci">void FP2_BLS461_rawoutput(FP2_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:268</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a34172ec8c4cefc19252bb208ea5c32db"><div class="ttname"><a href="fp2__BLS461_8h.html#a34172ec8c4cefc19252bb208ea5c32db">FP2_BLS461_inv</a></div><div class="ttdeci">void FP2_BLS461_inv(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:280</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a074edb59382cfc41f635008c8169a6be"><div class="ttname"><a href="fp2__BLS461_8h.html#a074edb59382cfc41f635008c8169a6be">FP2_BLS461_norm</a></div><div class="ttdeci">void FP2_BLS461_norm(FP2_BLS461 *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:349</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_acdf7c98e3470e01cb139f0aadb8cdff9"><div class="ttname"><a href="fp2__BLS461_8h.html#acdf7c98e3470e01cb139f0aadb8cdff9">FP2_BLS461_equals</a></div><div class="ttdeci">int FP2_BLS461_equals(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:62</div></div>
-<div class="ttc" id="fp__BLS461_8h_html"><div class="ttname"><a href="fp__BLS461_8h.html">fp_BLS461.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a943144873cc905b4bd928ade20e403b2"><div class="ttname"><a href="fp2__BLS461_8h.html#a943144873cc905b4bd928ade20e403b2">FP2_BLS461_from_FP</a></div><div class="ttdeci">void FP2_BLS461_from_FP(FP2_BLS461 *x, FP_BLS461 *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:87</div></div>
+<a href="fp2__BLS461_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 FP2_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS461_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 &quot;<a class="code" href="fp__BLS461_8h.html">fp_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS461.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS461.html#a51dd2dfb3fafbb1f8356ae12e8a0ee74">   38</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structFP2__BLS461.html#a51dd2dfb3fafbb1f8356ae12e8a0ee74">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS461.html#a66c6dc0ed8de250caa6fc41351d6041f">   39</a></span>&#160;    <a class="code" href="structFP__BLS461.html">FP_BLS461</a> <a class="code" href="structFP2__BLS461.html#a66c6dc0ed8de250caa6fc41351d6041f">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#a342f9f0d843d1e6d25009668fe6675f9">FP2_BLS461_iszilch</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a9b7f10846bfc8f385a89af43b0dbd2ca">FP2_BLS461_cmove</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#a7e9787ca2ed62eb6331c4bb1a0cef199">FP2_BLS461_isunity</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#acdf7c98e3470e01cb139f0aadb8cdff9">FP2_BLS461_equals</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a38a1159ac5e0fd17969c9e7a0bb4b19b">FP2_BLS461_from_FPs</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *a,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a105fc94d0a1fbe5b9098b21cb93b8dae">FP2_BLS461_from_BIGs</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</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="fp2__BLS461_8h.html#a943144873cc905b4bd928ade20e403b2">FP2_BLS461_from_FP</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a02bb1dc9c8efd276d81777229d55c650">FP2_BLS461_from_BIG</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a30dbfef620b1ba2814184a7f15a368a1">FP2_BLS461_copy</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a40bfb0aefff6cc620edec17991e63165">FP2_BLS461_zero</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a19d685290bc3d3edec55cbcb1c321f25">FP2_BLS461_one</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a336a59c81e2944087e563dd9ebf1b6cf">FP2_BLS461_neg</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</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="fp2__BLS461_8h.html#a386fce088010e1e566d614dbbd5c78f5">FP2_BLS461_conj</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</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="fp2__BLS461_8h.html#a87668354ed4733dd51739711ca4b4c9d">FP2_BLS461_add</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *z);</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="fp2__BLS461_8h.html#afe919da0ac9f2485f1175d2481d825b1">FP2_BLS461_sub</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a1d501442200214d1a04809af9aa80187">FP2_BLS461_pmul</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a249cef3cd996e6a9401949d0f002ad5c">FP2_BLS461_imul</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#aab0eae3cb3c78be0ee193f2f8fd521e7">FP2_BLS461_sqr</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#ac64a0c17b3a26b48b335722e26239b73">FP2_BLS461_mul</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a9003d127e7748a270b2e12dfaa7f8c3d">FP2_BLS461_output</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a072d5583b3701121bddd9e593123f510">FP2_BLS461_rawoutput</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a34172ec8c4cefc19252bb208ea5c32db">FP2_BLS461_inv</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a91e7d9f85a7c9390d33fccbe9741c4f1">FP2_BLS461_div2</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#aed8d640eb2affedfa6bb072a8b3debd8">FP2_BLS461_mul_ip</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a7e00ac1a38b5e02c5dcc4fe9ae5c9c57">FP2_BLS461_div_ip2</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a461a3750fe6c954c7b14d263ed155907">FP2_BLS461_div_ip</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a074edb59382cfc41f635008c8169a6be">FP2_BLS461_norm</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a7a47b813fbdda09b7f9143f139820751">FP2_BLS461_reduce</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#af34146664c3f044611a9cec35cb6bbaf">FP2_BLS461_pow</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS461_8h.html#a0309114cd8924a905566153b34c9fa42">FP2_BLS461_sqrt</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS461_8h.html#a8c97aa768c710055123f3acfd2aa1aed">FP2_BLS461_times_i</a>(<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BLS461_8h_html_a461a3750fe6c954c7b14d263ed155907"><div class="ttname"><a href="fp2__BLS461_8h.html#a461a3750fe6c954c7b14d263ed155907">FP2_BLS461_div_ip</a></div><div class="ttdeci">void FP2_BLS461_div_ip(FP2_BLS461 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:337</div></div>
+<div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a0309114cd8924a905566153b34c9fa42"><div class="ttname"><a href="fp2__BLS461_8h.html#a0309114cd8924a905566153b34c9fa42">FP2_BLS461_sqrt</a></div><div class="ttdeci">int FP2_BLS461_sqrt(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:384</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_ac64a0c17b3a26b48b335722e26239b73"><div class="ttname"><a href="fp2__BLS461_8h.html#ac64a0c17b3a26b48b335722e26239b73">FP2_BLS461_mul</a></div><div class="ttdeci">void FP2_BLS461_mul(FP2_BLS461 *x, FP2_BLS461 *y, FP2_BLS461 *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:207</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a072d5583b3701121bddd9e593123f510"><div class="ttname"><a href="fp2__BLS461_8h.html#a072d5583b3701121bddd9e593123f510">FP2_BLS461_rawoutput</a></div><div class="ttdeci">void FP2_BLS461_rawoutput(FP2_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:268</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a34172ec8c4cefc19252bb208ea5c32db"><div class="ttname"><a href="fp2__BLS461_8h.html#a34172ec8c4cefc19252bb208ea5c32db">FP2_BLS461_inv</a></div><div class="ttdeci">void FP2_BLS461_inv(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:280</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a074edb59382cfc41f635008c8169a6be"><div class="ttname"><a href="fp2__BLS461_8h.html#a074edb59382cfc41f635008c8169a6be">FP2_BLS461_norm</a></div><div class="ttdeci">void FP2_BLS461_norm(FP2_BLS461 *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:349</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_acdf7c98e3470e01cb139f0aadb8cdff9"><div class="ttname"><a href="fp2__BLS461_8h.html#acdf7c98e3470e01cb139f0aadb8cdff9">FP2_BLS461_equals</a></div><div class="ttdeci">int FP2_BLS461_equals(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:62</div></div>
+<div class="ttc" id="fp__BLS461_8h_html"><div class="ttname"><a href="fp__BLS461_8h.html">fp_BLS461.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a943144873cc905b4bd928ade20e403b2"><div class="ttname"><a href="fp2__BLS461_8h.html#a943144873cc905b4bd928ade20e403b2">FP2_BLS461_from_FP</a></div><div class="ttdeci">void FP2_BLS461_from_FP(FP2_BLS461 *x, FP_BLS461 *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:87</div></div>
 <div class="ttc" id="structFP2__BLS461_html_a51dd2dfb3fafbb1f8356ae12e8a0ee74"><div class="ttname"><a href="structFP2__BLS461.html#a51dd2dfb3fafbb1f8356ae12e8a0ee74">FP2_BLS461::a</a></div><div class="ttdeci">FP_BLS461 a</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:38</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a7a47b813fbdda09b7f9143f139820751"><div class="ttname"><a href="fp2__BLS461_8h.html#a7a47b813fbdda09b7f9143f139820751">FP2_BLS461_reduce</a></div><div class="ttdeci">void FP2_BLS461_reduce(FP2_BLS461 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:54</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_aab0eae3cb3c78be0ee193f2f8fd521e7"><div class="ttname"><a href="fp2__BLS461_8h.html#aab0eae3cb3c78be0ee193f2f8fd521e7">FP2_BLS461_sqr</a></div><div class="ttdeci">void FP2_BLS461_sqr(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:185</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a7a47b813fbdda09b7f9143f139820751"><div class="ttname"><a href="fp2__BLS461_8h.html#a7a47b813fbdda09b7f9143f139820751">FP2_BLS461_reduce</a></div><div class="ttdeci">void FP2_BLS461_reduce(FP2_BLS461 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:54</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_aab0eae3cb3c78be0ee193f2f8fd521e7"><div class="ttname"><a href="fp2__BLS461_8h.html#aab0eae3cb3c78be0ee193f2f8fd521e7">FP2_BLS461_sqr</a></div><div class="ttdeci">void FP2_BLS461_sqr(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:185</div></div>
 <div class="ttc" id="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_aed8d640eb2affedfa6bb072a8b3debd8"><div class="ttname"><a href="fp2__BLS461_8h.html#aed8d640eb2affedfa6bb072a8b3debd8">FP2_BLS461_mul_ip</a></div><div class="ttdeci">void FP2_BLS461_mul_ip(FP2_BLS461 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:310</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_aed8d640eb2affedfa6bb072a8b3debd8"><div class="ttname"><a href="fp2__BLS461_8h.html#aed8d640eb2affedfa6bb072a8b3debd8">FP2_BLS461_mul_ip</a></div><div class="ttdeci">void FP2_BLS461_mul_ip(FP2_BLS461 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:310</div></div>
 <div class="ttc" id="structFP2__BLS461_html_a66c6dc0ed8de250caa6fc41351d6041f"><div class="ttname"><a href="structFP2__BLS461.html#a66c6dc0ed8de250caa6fc41351d6041f">FP2_BLS461::b</a></div><div class="ttdeci">FP_BLS461 b</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:39</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a19d685290bc3d3edec55cbcb1c321f25"><div class="ttname"><a href="fp2__BLS461_8h.html#a19d685290bc3d3edec55cbcb1c321f25">FP2_BLS461_one</a></div><div class="ttdeci">void FP2_BLS461_one(FP2_BLS461 *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:120</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a91e7d9f85a7c9390d33fccbe9741c4f1"><div class="ttname"><a href="fp2__BLS461_8h.html#a91e7d9f85a7c9390d33fccbe9741c4f1">FP2_BLS461_div2</a></div><div class="ttdeci">void FP2_BLS461_div2(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:300</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a7e9787ca2ed62eb6331c4bb1a0cef199"><div class="ttname"><a href="fp2__BLS461_8h.html#a7e9787ca2ed62eb6331c4bb1a0cef199">FP2_BLS461_isunity</a></div><div class="ttdeci">int FP2_BLS461_isunity(FP2_BLS461 *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:44</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a7e00ac1a38b5e02c5dcc4fe9ae5c9c57"><div class="ttname"><a href="fp2__BLS461_8h.html#a7e00ac1a38b5e02c5dcc4fe9ae5c9c57">FP2_BLS461_div_ip2</a></div><div class="ttdeci">void FP2_BLS461_div_ip2(FP2_BLS461 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:325</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a9b7f10846bfc8f385a89af43b0dbd2ca"><div class="ttname"><a href="fp2__BLS461_8h.html#a9b7f10846bfc8f385a89af43b0dbd2ca">FP2_BLS461_cmove</a></div><div class="ttdeci">void FP2_BLS461_cmove(FP2_BLS461 *x, FP2_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:36</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a9003d127e7748a270b2e12dfaa7f8c3d"><div class="ttname"><a href="fp2__BLS461_8h.html#a9003d127e7748a270b2e12dfaa7f8c3d">FP2_BLS461_output</a></div><div class="ttdeci">void FP2_BLS461_output(FP2_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:252</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a8c97aa768c710055123f3acfd2aa1aed"><div class="ttname"><a href="fp2__BLS461_8h.html#a8c97aa768c710055123f3acfd2aa1aed">FP2_BLS461_times_i</a></div><div class="ttdeci">void FP2_BLS461_times_i(FP2_BLS461 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:426</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a342f9f0d843d1e6d25009668fe6675f9"><div class="ttname"><a href="fp2__BLS461_8h.html#a342f9f0d843d1e6d25009668fe6675f9">FP2_BLS461_iszilch</a></div><div class="ttdeci">int FP2_BLS461_iszilch(FP2_BLS461 *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:29</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a249cef3cd996e6a9401949d0f002ad5c"><div class="ttname"><a href="fp2__BLS461_8h.html#a249cef3cd996e6a9401949d0f002ad5c">FP2_BLS461_imul</a></div><div class="ttdeci">void FP2_BLS461_imul(FP2_BLS461 *x, FP2_BLS461 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:177</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a02bb1dc9c8efd276d81777229d55c650"><div class="ttname"><a href="fp2__BLS461_8h.html#a02bb1dc9c8efd276d81777229d55c650">FP2_BLS461_from_BIG</a></div><div class="ttdeci">void FP2_BLS461_from_BIG(FP2_BLS461 *x, BIG_464_60 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:95</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a1d501442200214d1a04809af9aa80187"><div class="ttname"><a href="fp2__BLS461_8h.html#a1d501442200214d1a04809af9aa80187">FP2_BLS461_pmul</a></div><div class="ttdeci">void FP2_BLS461_pmul(FP2_BLS461 *x, FP2_BLS461 *y, FP_BLS461 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:169</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a386fce088010e1e566d614dbbd5c78f5"><div class="ttname"><a href="fp2__BLS461_8h.html#a386fce088010e1e566d614dbbd5c78f5">FP2_BLS461_conj</a></div><div class="ttdeci">void FP2_BLS461_conj(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:143</div></div>
-<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a87668354ed4733dd51739711ca4b4c9d"><div class="ttname"><a href="fp2__BLS461_8h.html#a87668354ed4733dd51739711ca4b4c9d">FP2_BLS461_add</a></div><div class="ttdeci">void FP2_BLS461_add(FP2_BLS461 *x, FP2_BLS461 *y, FP2_BLS461 *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:152</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a38a1159ac5e0fd17969c9e7a0bb4b19b"><div class="ttname"><a href="fp2__BLS461_8h.html#a38a1159ac5e0fd17969c9e7a0bb4b19b">FP2_BLS461_from_FPs</a></div><div class="ttdeci">void FP2_BLS461_from_FPs(FP2_BLS461 *x, FP_BLS461 *a, FP_BLS461 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:71</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a105fc94d0a1fbe5b9098b21cb93b8dae"><div class="ttname"><a href="fp2__BLS461_8h.html#a105fc94d0a1fbe5b9098b21cb93b8dae">FP2_BLS461_from_BIGs</a></div><div class="ttdeci">void FP2_BLS461_from_BIGs(FP2_BLS461 *x, BIG_464_60 a, BIG_464_60 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:79</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_afe919da0ac9f2485f1175d2481d825b1"><div class="ttname"><a href="fp2__BLS461_8h.html#afe919da0ac9f2485f1175d2481d825b1">FP2_BLS461_sub</a></div><div class="ttdeci">void FP2_BLS461_sub(FP2_BLS461 *x, FP2_BLS461 *y, FP2_BLS461 *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:160</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_af34146664c3f044611a9cec35cb6bbaf"><div class="ttname"><a href="fp2__BLS461_8h.html#af34146664c3f044611a9cec35cb6bbaf">FP2_BLS461_pow</a></div><div class="ttdeci">void FP2_BLS461_pow(FP2_BLS461 *x, FP2_BLS461 *y, BIG_464_60 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:357</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a40bfb0aefff6cc620edec17991e63165"><div class="ttname"><a href="fp2__BLS461_8h.html#a40bfb0aefff6cc620edec17991e63165">FP2_BLS461_zero</a></div><div class="ttdeci">void FP2_BLS461_zero(FP2_BLS461 *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:112</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a336a59c81e2944087e563dd9ebf1b6cf"><div class="ttname"><a href="fp2__BLS461_8h.html#a336a59c81e2944087e563dd9ebf1b6cf">FP2_BLS461_neg</a></div><div class="ttdeci">void FP2_BLS461_neg(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:129</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html_a30dbfef620b1ba2814184a7f15a368a1"><div class="ttname"><a href="fp2__BLS461_8h.html#a30dbfef620b1ba2814184a7f15a368a1">FP2_BLS461_copy</a></div><div class="ttdeci">void FP2_BLS461_copy(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:103</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a19d685290bc3d3edec55cbcb1c321f25"><div class="ttname"><a href="fp2__BLS461_8h.html#a19d685290bc3d3edec55cbcb1c321f25">FP2_BLS461_one</a></div><div class="ttdeci">void FP2_BLS461_one(FP2_BLS461 *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:120</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a91e7d9f85a7c9390d33fccbe9741c4f1"><div class="ttname"><a href="fp2__BLS461_8h.html#a91e7d9f85a7c9390d33fccbe9741c4f1">FP2_BLS461_div2</a></div><div class="ttdeci">void FP2_BLS461_div2(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:300</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a7e9787ca2ed62eb6331c4bb1a0cef199"><div class="ttname"><a href="fp2__BLS461_8h.html#a7e9787ca2ed62eb6331c4bb1a0cef199">FP2_BLS461_isunity</a></div><div class="ttdeci">int FP2_BLS461_isunity(FP2_BLS461 *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:44</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a7e00ac1a38b5e02c5dcc4fe9ae5c9c57"><div class="ttname"><a href="fp2__BLS461_8h.html#a7e00ac1a38b5e02c5dcc4fe9ae5c9c57">FP2_BLS461_div_ip2</a></div><div class="ttdeci">void FP2_BLS461_div_ip2(FP2_BLS461 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:325</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a9b7f10846bfc8f385a89af43b0dbd2ca"><div class="ttname"><a href="fp2__BLS461_8h.html#a9b7f10846bfc8f385a89af43b0dbd2ca">FP2_BLS461_cmove</a></div><div class="ttdeci">void FP2_BLS461_cmove(FP2_BLS461 *x, FP2_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:36</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a9003d127e7748a270b2e12dfaa7f8c3d"><div class="ttname"><a href="fp2__BLS461_8h.html#a9003d127e7748a270b2e12dfaa7f8c3d">FP2_BLS461_output</a></div><div class="ttdeci">void FP2_BLS461_output(FP2_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:252</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a8c97aa768c710055123f3acfd2aa1aed"><div class="ttname"><a href="fp2__BLS461_8h.html#a8c97aa768c710055123f3acfd2aa1aed">FP2_BLS461_times_i</a></div><div class="ttdeci">void FP2_BLS461_times_i(FP2_BLS461 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:426</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a342f9f0d843d1e6d25009668fe6675f9"><div class="ttname"><a href="fp2__BLS461_8h.html#a342f9f0d843d1e6d25009668fe6675f9">FP2_BLS461_iszilch</a></div><div class="ttdeci">int FP2_BLS461_iszilch(FP2_BLS461 *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:29</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a249cef3cd996e6a9401949d0f002ad5c"><div class="ttname"><a href="fp2__BLS461_8h.html#a249cef3cd996e6a9401949d0f002ad5c">FP2_BLS461_imul</a></div><div class="ttdeci">void FP2_BLS461_imul(FP2_BLS461 *x, FP2_BLS461 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:177</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a02bb1dc9c8efd276d81777229d55c650"><div class="ttname"><a href="fp2__BLS461_8h.html#a02bb1dc9c8efd276d81777229d55c650">FP2_BLS461_from_BIG</a></div><div class="ttdeci">void FP2_BLS461_from_BIG(FP2_BLS461 *x, BIG_464_60 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:95</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a1d501442200214d1a04809af9aa80187"><div class="ttname"><a href="fp2__BLS461_8h.html#a1d501442200214d1a04809af9aa80187">FP2_BLS461_pmul</a></div><div class="ttdeci">void FP2_BLS461_pmul(FP2_BLS461 *x, FP2_BLS461 *y, FP_BLS461 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:169</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a386fce088010e1e566d614dbbd5c78f5"><div class="ttname"><a href="fp2__BLS461_8h.html#a386fce088010e1e566d614dbbd5c78f5">FP2_BLS461_conj</a></div><div class="ttdeci">void FP2_BLS461_conj(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:143</div></div>
+<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a87668354ed4733dd51739711ca4b4c9d"><div class="ttname"><a href="fp2__BLS461_8h.html#a87668354ed4733dd51739711ca4b4c9d">FP2_BLS461_add</a></div><div class="ttdeci">void FP2_BLS461_add(FP2_BLS461 *x, FP2_BLS461 *y, FP2_BLS461 *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:152</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a38a1159ac5e0fd17969c9e7a0bb4b19b"><div class="ttname"><a href="fp2__BLS461_8h.html#a38a1159ac5e0fd17969c9e7a0bb4b19b">FP2_BLS461_from_FPs</a></div><div class="ttdeci">void FP2_BLS461_from_FPs(FP2_BLS461 *x, FP_BLS461 *a, FP_BLS461 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:71</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a105fc94d0a1fbe5b9098b21cb93b8dae"><div class="ttname"><a href="fp2__BLS461_8h.html#a105fc94d0a1fbe5b9098b21cb93b8dae">FP2_BLS461_from_BIGs</a></div><div class="ttdeci">void FP2_BLS461_from_BIGs(FP2_BLS461 *x, BIG_464_60 a, BIG_464_60 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:79</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_afe919da0ac9f2485f1175d2481d825b1"><div class="ttname"><a href="fp2__BLS461_8h.html#afe919da0ac9f2485f1175d2481d825b1">FP2_BLS461_sub</a></div><div class="ttdeci">void FP2_BLS461_sub(FP2_BLS461 *x, FP2_BLS461 *y, FP2_BLS461 *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:160</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_af34146664c3f044611a9cec35cb6bbaf"><div class="ttname"><a href="fp2__BLS461_8h.html#af34146664c3f044611a9cec35cb6bbaf">FP2_BLS461_pow</a></div><div class="ttdeci">void FP2_BLS461_pow(FP2_BLS461 *x, FP2_BLS461 *y, BIG_464_60 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:357</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a40bfb0aefff6cc620edec17991e63165"><div class="ttname"><a href="fp2__BLS461_8h.html#a40bfb0aefff6cc620edec17991e63165">FP2_BLS461_zero</a></div><div class="ttdeci">void FP2_BLS461_zero(FP2_BLS461 *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:112</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a336a59c81e2944087e563dd9ebf1b6cf"><div class="ttname"><a href="fp2__BLS461_8h.html#a336a59c81e2944087e563dd9ebf1b6cf">FP2_BLS461_neg</a></div><div class="ttdeci">void FP2_BLS461_neg(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:129</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html_a30dbfef620b1ba2814184a7f15a368a1"><div class="ttname"><a href="fp2__BLS461_8h.html#a30dbfef620b1ba2814184a7f15a368a1">FP2_BLS461_copy</a></div><div class="ttdeci">void FP2_BLS461_copy(FP2_BLS461 *x, FP2_BLS461 *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.c:103</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/fp2__BLS48_8h.html b/website/static/cdocs/fp2__BLS48_8h.html
index 57a862c..46d585e 100644
--- a/website/static/cdocs/fp2__BLS48_8h.html
+++ b/website/static/cdocs/fp2__BLS48_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: fp2_BLS48.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"
@@ -1208,7 +1211,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/fp2__BLS48_8h_source.html b/website/static/cdocs/fp2__BLS48_8h_source.html
index 395b4cf..2f204b6 100644
--- a/website/static/cdocs/fp2__BLS48_8h_source.html
+++ b/website/static/cdocs/fp2__BLS48_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: fp2_BLS48.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,49 +72,49 @@
 <div class="title">fp2_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__BLS48_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 FP2_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS48_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 &quot;<a class="code" href="fp__BLS48_8h.html">fp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS48.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS48.html#a2547e83216e49e8948697238b17708ba">   38</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structFP2__BLS48.html#a2547e83216e49e8948697238b17708ba">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS48.html#a075df0cd3747e49481975970b39baa5b">   39</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structFP2__BLS48.html#a075df0cd3747e49481975970b39baa5b">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS48.html">FP2_BLS48</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a8cf154be2dfad46b4a5a1c2ae0fe27a2">FP2_BLS48_iszilch</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a78189879116ed2af18d68c117aed28d6">FP2_BLS48_cmove</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a0400df4eda4c3dae533e614aeb7923bf">FP2_BLS48_isunity</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a0178dd97f6382b6b2d9cd17641618b1d">FP2_BLS48_equals</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a67b24eff8b330eb787e25df1ee3305a8">FP2_BLS48_from_FPs</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *a,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a8a279005af4441565de92f7fb0353806">FP2_BLS48_from_BIGs</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</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="fp2__BLS48_8h.html#ad7a5055c1c6fc2706ffbf77a3983bb96">FP2_BLS48_from_FP</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a760ba9f046ce9cf5e2487afddeaf5c33">FP2_BLS48_from_BIG</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a75e936e15810fc9a160c404abbdbe149">FP2_BLS48_copy</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a12e137d856434984f98a69b2c7091ef5">FP2_BLS48_zero</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a4169b3ae916b86d0b136c3469d2eee0e">FP2_BLS48_one</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae2ff2aa7369f1341132b65d3d311e35a">FP2_BLS48_neg</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</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="fp2__BLS48_8h.html#a7e3c06ba91a8dd98ecc6f4e8c6231af9">FP2_BLS48_conj</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</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="fp2__BLS48_8h.html#a059e84292daa9c4d33a1af934d36a908">FP2_BLS48_add</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *z);</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="fp2__BLS48_8h.html#a24f9153b7fe11e0db96d2065722ea69d">FP2_BLS48_sub</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae14eb4fac0028d022877551d1defe0b8">FP2_BLS48_pmul</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ac3f63c990685a751078429525cbf6aa7">FP2_BLS48_imul</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a1cce8a2b4b6590e8356ff891d09d97f3">FP2_BLS48_sqr</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a43f4f07c87e101c17caffabdb9c73220">FP2_BLS48_mul</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a74f59e056b8bb8aaaf411d448358695e">FP2_BLS48_output</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae64865e3749326fd0f98cad45840b8ad">FP2_BLS48_rawoutput</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a04c1492f51ee1fc5188ae785aae3c8a1">FP2_BLS48_inv</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a13da3335e3656cea217901b38df94639">FP2_BLS48_div2</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a67e5d546ec698980693bf25b2e54ee8f">FP2_BLS48_mul_ip</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae5b1469a99940ef4326a1d92d1c1d6ec">FP2_BLS48_div_ip2</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a410fc3276c891b0fbe644651e5b5cbd2">FP2_BLS48_div_ip</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a04a51601aa0e8d839f66db5f858d7645">FP2_BLS48_norm</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#abb0d3be7523bbb3910777ffb0da04765">FP2_BLS48_reduce</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a413ba4e407f4a3a4d9a54e7cf2946058">FP2_BLS48_pow</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a2a7ddd5bb0001e47d7e0da1ba53ae4d7">FP2_BLS48_sqrt</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ad88ec5fbe5393bfa9010662aa283df10">FP2_BLS48_times_i</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP2__BLS48_html_a2547e83216e49e8948697238b17708ba"><div class="ttname"><a href="structFP2__BLS48.html#a2547e83216e49e8948697238b17708ba">FP2_BLS48::a</a></div><div class="ttdeci">FP_BLS48 a</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:38</div></div>
-<div class="ttc" id="fp__BLS48_8h_html"><div class="ttname"><a href="fp__BLS48_8h.html">fp_BLS48.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a43f4f07c87e101c17caffabdb9c73220"><div class="ttname"><a href="fp2__BLS48_8h.html#a43f4f07c87e101c17caffabdb9c73220">FP2_BLS48_mul</a></div><div class="ttdeci">void FP2_BLS48_mul(FP2_BLS48 *x, FP2_BLS48 *y, FP2_BLS48 *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:207</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a13da3335e3656cea217901b38df94639"><div class="ttname"><a href="fp2__BLS48_8h.html#a13da3335e3656cea217901b38df94639">FP2_BLS48_div2</a></div><div class="ttdeci">void FP2_BLS48_div2(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:300</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a8cf154be2dfad46b4a5a1c2ae0fe27a2"><div class="ttname"><a href="fp2__BLS48_8h.html#a8cf154be2dfad46b4a5a1c2ae0fe27a2">FP2_BLS48_iszilch</a></div><div class="ttdeci">int FP2_BLS48_iszilch(FP2_BLS48 *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:29</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a413ba4e407f4a3a4d9a54e7cf2946058"><div class="ttname"><a href="fp2__BLS48_8h.html#a413ba4e407f4a3a4d9a54e7cf2946058">FP2_BLS48_pow</a></div><div class="ttdeci">void FP2_BLS48_pow(FP2_BLS48 *x, FP2_BLS48 *y, BIG_560_58 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:357</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_ad7a5055c1c6fc2706ffbf77a3983bb96"><div class="ttname"><a href="fp2__BLS48_8h.html#ad7a5055c1c6fc2706ffbf77a3983bb96">FP2_BLS48_from_FP</a></div><div class="ttdeci">void FP2_BLS48_from_FP(FP2_BLS48 *x, FP_BLS48 *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:87</div></div>
+<a href="fp2__BLS48_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 FP2_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BLS48_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 &quot;<a class="code" href="fp__BLS48_8h.html">fp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BLS48.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BLS48.html#a2547e83216e49e8948697238b17708ba">   38</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structFP2__BLS48.html#a2547e83216e49e8948697238b17708ba">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BLS48.html#a075df0cd3747e49481975970b39baa5b">   39</a></span>&#160;    <a class="code" href="structFP__BLS48.html">FP_BLS48</a> <a class="code" href="structFP2__BLS48.html#a075df0cd3747e49481975970b39baa5b">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BLS48.html">FP2_BLS48</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a8cf154be2dfad46b4a5a1c2ae0fe27a2">FP2_BLS48_iszilch</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a78189879116ed2af18d68c117aed28d6">FP2_BLS48_cmove</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a0400df4eda4c3dae533e614aeb7923bf">FP2_BLS48_isunity</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a0178dd97f6382b6b2d9cd17641618b1d">FP2_BLS48_equals</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a67b24eff8b330eb787e25df1ee3305a8">FP2_BLS48_from_FPs</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *a,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a8a279005af4441565de92f7fb0353806">FP2_BLS48_from_BIGs</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</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="fp2__BLS48_8h.html#ad7a5055c1c6fc2706ffbf77a3983bb96">FP2_BLS48_from_FP</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a760ba9f046ce9cf5e2487afddeaf5c33">FP2_BLS48_from_BIG</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a75e936e15810fc9a160c404abbdbe149">FP2_BLS48_copy</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a12e137d856434984f98a69b2c7091ef5">FP2_BLS48_zero</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a4169b3ae916b86d0b136c3469d2eee0e">FP2_BLS48_one</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae2ff2aa7369f1341132b65d3d311e35a">FP2_BLS48_neg</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</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="fp2__BLS48_8h.html#a7e3c06ba91a8dd98ecc6f4e8c6231af9">FP2_BLS48_conj</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</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="fp2__BLS48_8h.html#a059e84292daa9c4d33a1af934d36a908">FP2_BLS48_add</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *z);</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="fp2__BLS48_8h.html#a24f9153b7fe11e0db96d2065722ea69d">FP2_BLS48_sub</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae14eb4fac0028d022877551d1defe0b8">FP2_BLS48_pmul</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ac3f63c990685a751078429525cbf6aa7">FP2_BLS48_imul</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a1cce8a2b4b6590e8356ff891d09d97f3">FP2_BLS48_sqr</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a43f4f07c87e101c17caffabdb9c73220">FP2_BLS48_mul</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a74f59e056b8bb8aaaf411d448358695e">FP2_BLS48_output</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae64865e3749326fd0f98cad45840b8ad">FP2_BLS48_rawoutput</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a04c1492f51ee1fc5188ae785aae3c8a1">FP2_BLS48_inv</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a13da3335e3656cea217901b38df94639">FP2_BLS48_div2</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a67e5d546ec698980693bf25b2e54ee8f">FP2_BLS48_mul_ip</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ae5b1469a99940ef4326a1d92d1c1d6ec">FP2_BLS48_div_ip2</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a410fc3276c891b0fbe644651e5b5cbd2">FP2_BLS48_div_ip</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a04a51601aa0e8d839f66db5f858d7645">FP2_BLS48_norm</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#abb0d3be7523bbb3910777ffb0da04765">FP2_BLS48_reduce</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#a413ba4e407f4a3a4d9a54e7cf2946058">FP2_BLS48_pow</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BLS48_8h.html#a2a7ddd5bb0001e47d7e0da1ba53ae4d7">FP2_BLS48_sqrt</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BLS48_8h.html#ad88ec5fbe5393bfa9010662aa283df10">FP2_BLS48_times_i</a>(<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP2__BLS48_html_a2547e83216e49e8948697238b17708ba"><div class="ttname"><a href="structFP2__BLS48.html#a2547e83216e49e8948697238b17708ba">FP2_BLS48::a</a></div><div class="ttdeci">FP_BLS48 a</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:38</div></div>
+<div class="ttc" id="fp__BLS48_8h_html"><div class="ttname"><a href="fp__BLS48_8h.html">fp_BLS48.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a43f4f07c87e101c17caffabdb9c73220"><div class="ttname"><a href="fp2__BLS48_8h.html#a43f4f07c87e101c17caffabdb9c73220">FP2_BLS48_mul</a></div><div class="ttdeci">void FP2_BLS48_mul(FP2_BLS48 *x, FP2_BLS48 *y, FP2_BLS48 *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:207</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a13da3335e3656cea217901b38df94639"><div class="ttname"><a href="fp2__BLS48_8h.html#a13da3335e3656cea217901b38df94639">FP2_BLS48_div2</a></div><div class="ttdeci">void FP2_BLS48_div2(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:300</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a8cf154be2dfad46b4a5a1c2ae0fe27a2"><div class="ttname"><a href="fp2__BLS48_8h.html#a8cf154be2dfad46b4a5a1c2ae0fe27a2">FP2_BLS48_iszilch</a></div><div class="ttdeci">int FP2_BLS48_iszilch(FP2_BLS48 *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:29</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a413ba4e407f4a3a4d9a54e7cf2946058"><div class="ttname"><a href="fp2__BLS48_8h.html#a413ba4e407f4a3a4d9a54e7cf2946058">FP2_BLS48_pow</a></div><div class="ttdeci">void FP2_BLS48_pow(FP2_BLS48 *x, FP2_BLS48 *y, BIG_560_58 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:357</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_ad7a5055c1c6fc2706ffbf77a3983bb96"><div class="ttname"><a href="fp2__BLS48_8h.html#ad7a5055c1c6fc2706ffbf77a3983bb96">FP2_BLS48_from_FP</a></div><div class="ttdeci">void FP2_BLS48_from_FP(FP2_BLS48 *x, FP_BLS48 *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:87</div></div>
 <div class="ttc" id="structFP2__BLS48_html_a075df0cd3747e49481975970b39baa5b"><div class="ttname"><a href="structFP2__BLS48.html#a075df0cd3747e49481975970b39baa5b">FP2_BLS48::b</a></div><div class="ttdeci">FP_BLS48 b</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:39</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a410fc3276c891b0fbe644651e5b5cbd2"><div class="ttname"><a href="fp2__BLS48_8h.html#a410fc3276c891b0fbe644651e5b5cbd2">FP2_BLS48_div_ip</a></div><div class="ttdeci">void FP2_BLS48_div_ip(FP2_BLS48 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:337</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_ae2ff2aa7369f1341132b65d3d311e35a"><div class="ttname"><a href="fp2__BLS48_8h.html#ae2ff2aa7369f1341132b65d3d311e35a">FP2_BLS48_neg</a></div><div class="ttdeci">void FP2_BLS48_neg(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:129</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a0178dd97f6382b6b2d9cd17641618b1d"><div class="ttname"><a href="fp2__BLS48_8h.html#a0178dd97f6382b6b2d9cd17641618b1d">FP2_BLS48_equals</a></div><div class="ttdeci">int FP2_BLS48_equals(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:62</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a4169b3ae916b86d0b136c3469d2eee0e"><div class="ttname"><a href="fp2__BLS48_8h.html#a4169b3ae916b86d0b136c3469d2eee0e">FP2_BLS48_one</a></div><div class="ttdeci">void FP2_BLS48_one(FP2_BLS48 *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:120</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a0400df4eda4c3dae533e614aeb7923bf"><div class="ttname"><a href="fp2__BLS48_8h.html#a0400df4eda4c3dae533e614aeb7923bf">FP2_BLS48_isunity</a></div><div class="ttdeci">int FP2_BLS48_isunity(FP2_BLS48 *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:44</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a059e84292daa9c4d33a1af934d36a908"><div class="ttname"><a href="fp2__BLS48_8h.html#a059e84292daa9c4d33a1af934d36a908">FP2_BLS48_add</a></div><div class="ttdeci">void FP2_BLS48_add(FP2_BLS48 *x, FP2_BLS48 *y, FP2_BLS48 *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:152</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a24f9153b7fe11e0db96d2065722ea69d"><div class="ttname"><a href="fp2__BLS48_8h.html#a24f9153b7fe11e0db96d2065722ea69d">FP2_BLS48_sub</a></div><div class="ttdeci">void FP2_BLS48_sub(FP2_BLS48 *x, FP2_BLS48 *y, FP2_BLS48 *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:160</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a67e5d546ec698980693bf25b2e54ee8f"><div class="ttname"><a href="fp2__BLS48_8h.html#a67e5d546ec698980693bf25b2e54ee8f">FP2_BLS48_mul_ip</a></div><div class="ttdeci">void FP2_BLS48_mul_ip(FP2_BLS48 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:310</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_abb0d3be7523bbb3910777ffb0da04765"><div class="ttname"><a href="fp2__BLS48_8h.html#abb0d3be7523bbb3910777ffb0da04765">FP2_BLS48_reduce</a></div><div class="ttdeci">void FP2_BLS48_reduce(FP2_BLS48 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:54</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a67b24eff8b330eb787e25df1ee3305a8"><div class="ttname"><a href="fp2__BLS48_8h.html#a67b24eff8b330eb787e25df1ee3305a8">FP2_BLS48_from_FPs</a></div><div class="ttdeci">void FP2_BLS48_from_FPs(FP2_BLS48 *x, FP_BLS48 *a, FP_BLS48 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:71</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a7e3c06ba91a8dd98ecc6f4e8c6231af9"><div class="ttname"><a href="fp2__BLS48_8h.html#a7e3c06ba91a8dd98ecc6f4e8c6231af9">FP2_BLS48_conj</a></div><div class="ttdeci">void FP2_BLS48_conj(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:143</div></div>
-<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a75e936e15810fc9a160c404abbdbe149"><div class="ttname"><a href="fp2__BLS48_8h.html#a75e936e15810fc9a160c404abbdbe149">FP2_BLS48_copy</a></div><div class="ttdeci">void FP2_BLS48_copy(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:103</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_ae14eb4fac0028d022877551d1defe0b8"><div class="ttname"><a href="fp2__BLS48_8h.html#ae14eb4fac0028d022877551d1defe0b8">FP2_BLS48_pmul</a></div><div class="ttdeci">void FP2_BLS48_pmul(FP2_BLS48 *x, FP2_BLS48 *y, FP_BLS48 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:169</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a760ba9f046ce9cf5e2487afddeaf5c33"><div class="ttname"><a href="fp2__BLS48_8h.html#a760ba9f046ce9cf5e2487afddeaf5c33">FP2_BLS48_from_BIG</a></div><div class="ttdeci">void FP2_BLS48_from_BIG(FP2_BLS48 *x, BIG_560_58 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:95</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a04c1492f51ee1fc5188ae785aae3c8a1"><div class="ttname"><a href="fp2__BLS48_8h.html#a04c1492f51ee1fc5188ae785aae3c8a1">FP2_BLS48_inv</a></div><div class="ttdeci">void FP2_BLS48_inv(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:280</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a12e137d856434984f98a69b2c7091ef5"><div class="ttname"><a href="fp2__BLS48_8h.html#a12e137d856434984f98a69b2c7091ef5">FP2_BLS48_zero</a></div><div class="ttdeci">void FP2_BLS48_zero(FP2_BLS48 *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:112</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a2a7ddd5bb0001e47d7e0da1ba53ae4d7"><div class="ttname"><a href="fp2__BLS48_8h.html#a2a7ddd5bb0001e47d7e0da1ba53ae4d7">FP2_BLS48_sqrt</a></div><div class="ttdeci">int FP2_BLS48_sqrt(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:384</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a74f59e056b8bb8aaaf411d448358695e"><div class="ttname"><a href="fp2__BLS48_8h.html#a74f59e056b8bb8aaaf411d448358695e">FP2_BLS48_output</a></div><div class="ttdeci">void FP2_BLS48_output(FP2_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:252</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_ac3f63c990685a751078429525cbf6aa7"><div class="ttname"><a href="fp2__BLS48_8h.html#ac3f63c990685a751078429525cbf6aa7">FP2_BLS48_imul</a></div><div class="ttdeci">void FP2_BLS48_imul(FP2_BLS48 *x, FP2_BLS48 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:177</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a78189879116ed2af18d68c117aed28d6"><div class="ttname"><a href="fp2__BLS48_8h.html#a78189879116ed2af18d68c117aed28d6">FP2_BLS48_cmove</a></div><div class="ttdeci">void FP2_BLS48_cmove(FP2_BLS48 *x, FP2_BLS48 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:36</div></div>
-<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a410fc3276c891b0fbe644651e5b5cbd2"><div class="ttname"><a href="fp2__BLS48_8h.html#a410fc3276c891b0fbe644651e5b5cbd2">FP2_BLS48_div_ip</a></div><div class="ttdeci">void FP2_BLS48_div_ip(FP2_BLS48 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:337</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_ae2ff2aa7369f1341132b65d3d311e35a"><div class="ttname"><a href="fp2__BLS48_8h.html#ae2ff2aa7369f1341132b65d3d311e35a">FP2_BLS48_neg</a></div><div class="ttdeci">void FP2_BLS48_neg(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:129</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a0178dd97f6382b6b2d9cd17641618b1d"><div class="ttname"><a href="fp2__BLS48_8h.html#a0178dd97f6382b6b2d9cd17641618b1d">FP2_BLS48_equals</a></div><div class="ttdeci">int FP2_BLS48_equals(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:62</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a4169b3ae916b86d0b136c3469d2eee0e"><div class="ttname"><a href="fp2__BLS48_8h.html#a4169b3ae916b86d0b136c3469d2eee0e">FP2_BLS48_one</a></div><div class="ttdeci">void FP2_BLS48_one(FP2_BLS48 *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:120</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a0400df4eda4c3dae533e614aeb7923bf"><div class="ttname"><a href="fp2__BLS48_8h.html#a0400df4eda4c3dae533e614aeb7923bf">FP2_BLS48_isunity</a></div><div class="ttdeci">int FP2_BLS48_isunity(FP2_BLS48 *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:44</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a059e84292daa9c4d33a1af934d36a908"><div class="ttname"><a href="fp2__BLS48_8h.html#a059e84292daa9c4d33a1af934d36a908">FP2_BLS48_add</a></div><div class="ttdeci">void FP2_BLS48_add(FP2_BLS48 *x, FP2_BLS48 *y, FP2_BLS48 *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:152</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a24f9153b7fe11e0db96d2065722ea69d"><div class="ttname"><a href="fp2__BLS48_8h.html#a24f9153b7fe11e0db96d2065722ea69d">FP2_BLS48_sub</a></div><div class="ttdeci">void FP2_BLS48_sub(FP2_BLS48 *x, FP2_BLS48 *y, FP2_BLS48 *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:160</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a67e5d546ec698980693bf25b2e54ee8f"><div class="ttname"><a href="fp2__BLS48_8h.html#a67e5d546ec698980693bf25b2e54ee8f">FP2_BLS48_mul_ip</a></div><div class="ttdeci">void FP2_BLS48_mul_ip(FP2_BLS48 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:310</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_abb0d3be7523bbb3910777ffb0da04765"><div class="ttname"><a href="fp2__BLS48_8h.html#abb0d3be7523bbb3910777ffb0da04765">FP2_BLS48_reduce</a></div><div class="ttdeci">void FP2_BLS48_reduce(FP2_BLS48 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:54</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a67b24eff8b330eb787e25df1ee3305a8"><div class="ttname"><a href="fp2__BLS48_8h.html#a67b24eff8b330eb787e25df1ee3305a8">FP2_BLS48_from_FPs</a></div><div class="ttdeci">void FP2_BLS48_from_FPs(FP2_BLS48 *x, FP_BLS48 *a, FP_BLS48 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:71</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a7e3c06ba91a8dd98ecc6f4e8c6231af9"><div class="ttname"><a href="fp2__BLS48_8h.html#a7e3c06ba91a8dd98ecc6f4e8c6231af9">FP2_BLS48_conj</a></div><div class="ttdeci">void FP2_BLS48_conj(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:143</div></div>
+<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a75e936e15810fc9a160c404abbdbe149"><div class="ttname"><a href="fp2__BLS48_8h.html#a75e936e15810fc9a160c404abbdbe149">FP2_BLS48_copy</a></div><div class="ttdeci">void FP2_BLS48_copy(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:103</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_ae14eb4fac0028d022877551d1defe0b8"><div class="ttname"><a href="fp2__BLS48_8h.html#ae14eb4fac0028d022877551d1defe0b8">FP2_BLS48_pmul</a></div><div class="ttdeci">void FP2_BLS48_pmul(FP2_BLS48 *x, FP2_BLS48 *y, FP_BLS48 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:169</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a760ba9f046ce9cf5e2487afddeaf5c33"><div class="ttname"><a href="fp2__BLS48_8h.html#a760ba9f046ce9cf5e2487afddeaf5c33">FP2_BLS48_from_BIG</a></div><div class="ttdeci">void FP2_BLS48_from_BIG(FP2_BLS48 *x, BIG_560_58 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:95</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a04c1492f51ee1fc5188ae785aae3c8a1"><div class="ttname"><a href="fp2__BLS48_8h.html#a04c1492f51ee1fc5188ae785aae3c8a1">FP2_BLS48_inv</a></div><div class="ttdeci">void FP2_BLS48_inv(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:280</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a12e137d856434984f98a69b2c7091ef5"><div class="ttname"><a href="fp2__BLS48_8h.html#a12e137d856434984f98a69b2c7091ef5">FP2_BLS48_zero</a></div><div class="ttdeci">void FP2_BLS48_zero(FP2_BLS48 *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:112</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a2a7ddd5bb0001e47d7e0da1ba53ae4d7"><div class="ttname"><a href="fp2__BLS48_8h.html#a2a7ddd5bb0001e47d7e0da1ba53ae4d7">FP2_BLS48_sqrt</a></div><div class="ttdeci">int FP2_BLS48_sqrt(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:384</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a74f59e056b8bb8aaaf411d448358695e"><div class="ttname"><a href="fp2__BLS48_8h.html#a74f59e056b8bb8aaaf411d448358695e">FP2_BLS48_output</a></div><div class="ttdeci">void FP2_BLS48_output(FP2_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:252</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_ac3f63c990685a751078429525cbf6aa7"><div class="ttname"><a href="fp2__BLS48_8h.html#ac3f63c990685a751078429525cbf6aa7">FP2_BLS48_imul</a></div><div class="ttdeci">void FP2_BLS48_imul(FP2_BLS48 *x, FP2_BLS48 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:177</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a78189879116ed2af18d68c117aed28d6"><div class="ttname"><a href="fp2__BLS48_8h.html#a78189879116ed2af18d68c117aed28d6">FP2_BLS48_cmove</a></div><div class="ttdeci">void FP2_BLS48_cmove(FP2_BLS48 *x, FP2_BLS48 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:36</div></div>
+<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_ae5b1469a99940ef4326a1d92d1c1d6ec"><div class="ttname"><a href="fp2__BLS48_8h.html#ae5b1469a99940ef4326a1d92d1c1d6ec">FP2_BLS48_div_ip2</a></div><div class="ttdeci">void FP2_BLS48_div_ip2(FP2_BLS48 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:325</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a04a51601aa0e8d839f66db5f858d7645"><div class="ttname"><a href="fp2__BLS48_8h.html#a04a51601aa0e8d839f66db5f858d7645">FP2_BLS48_norm</a></div><div class="ttdeci">void FP2_BLS48_norm(FP2_BLS48 *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:349</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a8a279005af4441565de92f7fb0353806"><div class="ttname"><a href="fp2__BLS48_8h.html#a8a279005af4441565de92f7fb0353806">FP2_BLS48_from_BIGs</a></div><div class="ttdeci">void FP2_BLS48_from_BIGs(FP2_BLS48 *x, BIG_560_58 a, BIG_560_58 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:79</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_ae64865e3749326fd0f98cad45840b8ad"><div class="ttname"><a href="fp2__BLS48_8h.html#ae64865e3749326fd0f98cad45840b8ad">FP2_BLS48_rawoutput</a></div><div class="ttdeci">void FP2_BLS48_rawoutput(FP2_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:268</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_ad88ec5fbe5393bfa9010662aa283df10"><div class="ttname"><a href="fp2__BLS48_8h.html#ad88ec5fbe5393bfa9010662aa283df10">FP2_BLS48_times_i</a></div><div class="ttdeci">void FP2_BLS48_times_i(FP2_BLS48 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:426</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html_a1cce8a2b4b6590e8356ff891d09d97f3"><div class="ttname"><a href="fp2__BLS48_8h.html#a1cce8a2b4b6590e8356ff891d09d97f3">FP2_BLS48_sqr</a></div><div class="ttdeci">void FP2_BLS48_sqr(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:185</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_ae5b1469a99940ef4326a1d92d1c1d6ec"><div class="ttname"><a href="fp2__BLS48_8h.html#ae5b1469a99940ef4326a1d92d1c1d6ec">FP2_BLS48_div_ip2</a></div><div class="ttdeci">void FP2_BLS48_div_ip2(FP2_BLS48 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:325</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a04a51601aa0e8d839f66db5f858d7645"><div class="ttname"><a href="fp2__BLS48_8h.html#a04a51601aa0e8d839f66db5f858d7645">FP2_BLS48_norm</a></div><div class="ttdeci">void FP2_BLS48_norm(FP2_BLS48 *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:349</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a8a279005af4441565de92f7fb0353806"><div class="ttname"><a href="fp2__BLS48_8h.html#a8a279005af4441565de92f7fb0353806">FP2_BLS48_from_BIGs</a></div><div class="ttdeci">void FP2_BLS48_from_BIGs(FP2_BLS48 *x, BIG_560_58 a, BIG_560_58 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:79</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_ae64865e3749326fd0f98cad45840b8ad"><div class="ttname"><a href="fp2__BLS48_8h.html#ae64865e3749326fd0f98cad45840b8ad">FP2_BLS48_rawoutput</a></div><div class="ttdeci">void FP2_BLS48_rawoutput(FP2_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:268</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_ad88ec5fbe5393bfa9010662aa283df10"><div class="ttname"><a href="fp2__BLS48_8h.html#ad88ec5fbe5393bfa9010662aa283df10">FP2_BLS48_times_i</a></div><div class="ttdeci">void FP2_BLS48_times_i(FP2_BLS48 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:426</div></div>
+<div class="ttc" id="fp2__BLS48_8h_html_a1cce8a2b4b6590e8356ff891d09d97f3"><div class="ttname"><a href="fp2__BLS48_8h.html#a1cce8a2b4b6590e8356ff891d09d97f3">FP2_BLS48_sqr</a></div><div class="ttdeci">void FP2_BLS48_sqr(FP2_BLS48 *x, FP2_BLS48 *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.c:185</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/fp2__BN254CX_8h.html b/website/static/cdocs/fp2__BN254CX_8h.html
index e7c631d..2da0191 100644
--- a/website/static/cdocs/fp2__BN254CX_8h.html
+++ b/website/static/cdocs/fp2__BN254CX_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: fp2_BN254CX.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"
@@ -1208,7 +1211,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/fp2__BN254CX_8h_source.html b/website/static/cdocs/fp2__BN254CX_8h_source.html
index cad5111..beca398 100644
--- a/website/static/cdocs/fp2__BN254CX_8h_source.html
+++ b/website/static/cdocs/fp2__BN254CX_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: fp2_BN254CX.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,49 +72,49 @@
 <div class="title">fp2_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__BN254CX_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 FP2_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BN254CX_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 &quot;<a class="code" href="fp__BN254CX_8h.html">fp_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BN254CX.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BN254CX.html#a681bf9cafacaf7d8e7b5e3e86af924f5">   38</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structFP2__BN254CX.html#a681bf9cafacaf7d8e7b5e3e86af924f5">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BN254CX.html#a9c0ee083a28bd9ae240e3ef4b85e8e9f">   39</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structFP2__BN254CX.html#a9c0ee083a28bd9ae240e3ef4b85e8e9f">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a214af8ebd86c773a13d77ee667aa903c">FP2_BN254CX_iszilch</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a827c447bc41fdfeb035b6c44ad83106c">FP2_BN254CX_cmove</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a0cfbcd132234e9675daaa7995ac36362">FP2_BN254CX_isunity</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a4d77dbdf208964a63b2176fd156095d9">FP2_BN254CX_equals</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ae4743b00fe7feaa02e15e92b5dd749f5">FP2_BN254CX_from_FPs</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *a,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#acbba403075d51eafdd978e3e619d9d85">FP2_BN254CX_from_BIGs</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</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="fp2__BN254CX_8h.html#a68039be55a087b9b81a2388fdb05c9d1">FP2_BN254CX_from_FP</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a437dc0867373ceeabfa54583117f7d16">FP2_BN254CX_from_BIG</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a4a325a64ff570fa3b7d79e0bc7ad4d55">FP2_BN254CX_copy</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ab62590b488de2022d993d6f81e139886">FP2_BN254CX_zero</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#acb20335e53d01fc1c0769955159ae02f">FP2_BN254CX_one</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a60ee4ffbd9ba9dec701d70bbac1b97a2">FP2_BN254CX_neg</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</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="fp2__BN254CX_8h.html#a2a1e1bee9342d6ed58229414489b48ec">FP2_BN254CX_conj</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</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="fp2__BN254CX_8h.html#a7dc540eec31f929aebca3814189d1d22">FP2_BN254CX_add</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *z);</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="fp2__BN254CX_8h.html#a17bd9e44d4fd76ad3c327e231587486f">FP2_BN254CX_sub</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#acbd4677e6f63a149ff0d5a6bfa42c5a9">FP2_BN254CX_pmul</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a5313e8d037d4175e79f602b6f2bf41e2">FP2_BN254CX_imul</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a8fa6a2a2f06eb9c50de17823db16fad1">FP2_BN254CX_sqr</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ad5546e623124af9c1cd297c8384b7f2b">FP2_BN254CX_mul</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a2aea520ed3894269e7aa24b00e0d1f43">FP2_BN254CX_output</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a2ba773ac51820722360d46d7e0e19b33">FP2_BN254CX_rawoutput</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ab1e285d6356489e75f383b430f740d1f">FP2_BN254CX_inv</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a36c65900edc5bd77fd3920b240973797">FP2_BN254CX_div2</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#afbe829666f2cbabc478f1199305814bb">FP2_BN254CX_mul_ip</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a7ff042c532e12e703a8927003e29851f">FP2_BN254CX_div_ip2</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a5d124e85f7f5a8dd9eb3b0d8520e97bb">FP2_BN254CX_div_ip</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a2385bedd710e75c655c74ba43956490b">FP2_BN254CX_norm</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ab930d13c7b061f11bbd615cb1cc89374">FP2_BN254CX_reduce</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#aae2025a3cc00a170118877b419e599fc">FP2_BN254CX_pow</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a823b90a6cc24cea6e283441855613937">FP2_BN254CX_sqrt</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ae8909a043cb54e6eeca817f8d95eddd2">FP2_BN254CX_times_i</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BN254CX_8h_html_a2ba773ac51820722360d46d7e0e19b33"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2ba773ac51820722360d46d7e0e19b33">FP2_BN254CX_rawoutput</a></div><div class="ttdeci">void FP2_BN254CX_rawoutput(FP2_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:268</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a36c65900edc5bd77fd3920b240973797"><div class="ttname"><a href="fp2__BN254CX_8h.html#a36c65900edc5bd77fd3920b240973797">FP2_BN254CX_div2</a></div><div class="ttdeci">void FP2_BN254CX_div2(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:300</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_ab62590b488de2022d993d6f81e139886"><div class="ttname"><a href="fp2__BN254CX_8h.html#ab62590b488de2022d993d6f81e139886">FP2_BN254CX_zero</a></div><div class="ttdeci">void FP2_BN254CX_zero(FP2_BN254CX *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:112</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_aae2025a3cc00a170118877b419e599fc"><div class="ttname"><a href="fp2__BN254CX_8h.html#aae2025a3cc00a170118877b419e599fc">FP2_BN254CX_pow</a></div><div class="ttdeci">void FP2_BN254CX_pow(FP2_BN254CX *x, FP2_BN254CX *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:357</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a4d77dbdf208964a63b2176fd156095d9"><div class="ttname"><a href="fp2__BN254CX_8h.html#a4d77dbdf208964a63b2176fd156095d9">FP2_BN254CX_equals</a></div><div class="ttdeci">int FP2_BN254CX_equals(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:62</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a2385bedd710e75c655c74ba43956490b"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2385bedd710e75c655c74ba43956490b">FP2_BN254CX_norm</a></div><div class="ttdeci">void FP2_BN254CX_norm(FP2_BN254CX *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:349</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_ab930d13c7b061f11bbd615cb1cc89374"><div class="ttname"><a href="fp2__BN254CX_8h.html#ab930d13c7b061f11bbd615cb1cc89374">FP2_BN254CX_reduce</a></div><div class="ttdeci">void FP2_BN254CX_reduce(FP2_BN254CX *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:54</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a0cfbcd132234e9675daaa7995ac36362"><div class="ttname"><a href="fp2__BN254CX_8h.html#a0cfbcd132234e9675daaa7995ac36362">FP2_BN254CX_isunity</a></div><div class="ttdeci">int FP2_BN254CX_isunity(FP2_BN254CX *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:44</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a68039be55a087b9b81a2388fdb05c9d1"><div class="ttname"><a href="fp2__BN254CX_8h.html#a68039be55a087b9b81a2388fdb05c9d1">FP2_BN254CX_from_FP</a></div><div class="ttdeci">void FP2_BN254CX_from_FP(FP2_BN254CX *x, FP_BN254CX *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:87</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a5d124e85f7f5a8dd9eb3b0d8520e97bb"><div class="ttname"><a href="fp2__BN254CX_8h.html#a5d124e85f7f5a8dd9eb3b0d8520e97bb">FP2_BN254CX_div_ip</a></div><div class="ttdeci">void FP2_BN254CX_div_ip(FP2_BN254CX *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:337</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a17bd9e44d4fd76ad3c327e231587486f"><div class="ttname"><a href="fp2__BN254CX_8h.html#a17bd9e44d4fd76ad3c327e231587486f">FP2_BN254CX_sub</a></div><div class="ttdeci">void FP2_BN254CX_sub(FP2_BN254CX *x, FP2_BN254CX *y, FP2_BN254CX *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:160</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a437dc0867373ceeabfa54583117f7d16"><div class="ttname"><a href="fp2__BN254CX_8h.html#a437dc0867373ceeabfa54583117f7d16">FP2_BN254CX_from_BIG</a></div><div class="ttdeci">void FP2_BN254CX_from_BIG(FP2_BN254CX *x, BIG_256_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:95</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a7ff042c532e12e703a8927003e29851f"><div class="ttname"><a href="fp2__BN254CX_8h.html#a7ff042c532e12e703a8927003e29851f">FP2_BN254CX_div_ip2</a></div><div class="ttdeci">void FP2_BN254CX_div_ip2(FP2_BN254CX *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:325</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a2a1e1bee9342d6ed58229414489b48ec"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2a1e1bee9342d6ed58229414489b48ec">FP2_BN254CX_conj</a></div><div class="ttdeci">void FP2_BN254CX_conj(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:143</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_ab1e285d6356489e75f383b430f740d1f"><div class="ttname"><a href="fp2__BN254CX_8h.html#ab1e285d6356489e75f383b430f740d1f">FP2_BN254CX_inv</a></div><div class="ttdeci">void FP2_BN254CX_inv(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:280</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a8fa6a2a2f06eb9c50de17823db16fad1"><div class="ttname"><a href="fp2__BN254CX_8h.html#a8fa6a2a2f06eb9c50de17823db16fad1">FP2_BN254CX_sqr</a></div><div class="ttdeci">void FP2_BN254CX_sqr(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:185</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_ae8909a043cb54e6eeca817f8d95eddd2"><div class="ttname"><a href="fp2__BN254CX_8h.html#ae8909a043cb54e6eeca817f8d95eddd2">FP2_BN254CX_times_i</a></div><div class="ttdeci">void FP2_BN254CX_times_i(FP2_BN254CX *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:426</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a5313e8d037d4175e79f602b6f2bf41e2"><div class="ttname"><a href="fp2__BN254CX_8h.html#a5313e8d037d4175e79f602b6f2bf41e2">FP2_BN254CX_imul</a></div><div class="ttdeci">void FP2_BN254CX_imul(FP2_BN254CX *x, FP2_BN254CX *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:177</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a827c447bc41fdfeb035b6c44ad83106c"><div class="ttname"><a href="fp2__BN254CX_8h.html#a827c447bc41fdfeb035b6c44ad83106c">FP2_BN254CX_cmove</a></div><div class="ttdeci">void FP2_BN254CX_cmove(FP2_BN254CX *x, FP2_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:36</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html"><div class="ttname"><a href="fp__BN254CX_8h.html">fp_BN254CX.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_acbd4677e6f63a149ff0d5a6bfa42c5a9"><div class="ttname"><a href="fp2__BN254CX_8h.html#acbd4677e6f63a149ff0d5a6bfa42c5a9">FP2_BN254CX_pmul</a></div><div class="ttdeci">void FP2_BN254CX_pmul(FP2_BN254CX *x, FP2_BN254CX *y, FP_BN254CX *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:169</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_afbe829666f2cbabc478f1199305814bb"><div class="ttname"><a href="fp2__BN254CX_8h.html#afbe829666f2cbabc478f1199305814bb">FP2_BN254CX_mul_ip</a></div><div class="ttdeci">void FP2_BN254CX_mul_ip(FP2_BN254CX *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:310</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a60ee4ffbd9ba9dec701d70bbac1b97a2"><div class="ttname"><a href="fp2__BN254CX_8h.html#a60ee4ffbd9ba9dec701d70bbac1b97a2">FP2_BN254CX_neg</a></div><div class="ttdeci">void FP2_BN254CX_neg(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:129</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_acbba403075d51eafdd978e3e619d9d85"><div class="ttname"><a href="fp2__BN254CX_8h.html#acbba403075d51eafdd978e3e619d9d85">FP2_BN254CX_from_BIGs</a></div><div class="ttdeci">void FP2_BN254CX_from_BIGs(FP2_BN254CX *x, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:79</div></div>
+<a href="fp2__BN254CX_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 FP2_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BN254CX_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 &quot;<a class="code" href="fp__BN254CX_8h.html">fp_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BN254CX.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BN254CX.html#a681bf9cafacaf7d8e7b5e3e86af924f5">   38</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structFP2__BN254CX.html#a681bf9cafacaf7d8e7b5e3e86af924f5">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BN254CX.html#a9c0ee083a28bd9ae240e3ef4b85e8e9f">   39</a></span>&#160;    <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> <a class="code" href="structFP2__BN254CX.html#a9c0ee083a28bd9ae240e3ef4b85e8e9f">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a214af8ebd86c773a13d77ee667aa903c">FP2_BN254CX_iszilch</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a827c447bc41fdfeb035b6c44ad83106c">FP2_BN254CX_cmove</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a0cfbcd132234e9675daaa7995ac36362">FP2_BN254CX_isunity</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a4d77dbdf208964a63b2176fd156095d9">FP2_BN254CX_equals</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ae4743b00fe7feaa02e15e92b5dd749f5">FP2_BN254CX_from_FPs</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *a,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#acbba403075d51eafdd978e3e619d9d85">FP2_BN254CX_from_BIGs</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</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="fp2__BN254CX_8h.html#a68039be55a087b9b81a2388fdb05c9d1">FP2_BN254CX_from_FP</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a437dc0867373ceeabfa54583117f7d16">FP2_BN254CX_from_BIG</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a4a325a64ff570fa3b7d79e0bc7ad4d55">FP2_BN254CX_copy</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ab62590b488de2022d993d6f81e139886">FP2_BN254CX_zero</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#acb20335e53d01fc1c0769955159ae02f">FP2_BN254CX_one</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a60ee4ffbd9ba9dec701d70bbac1b97a2">FP2_BN254CX_neg</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</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="fp2__BN254CX_8h.html#a2a1e1bee9342d6ed58229414489b48ec">FP2_BN254CX_conj</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</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="fp2__BN254CX_8h.html#a7dc540eec31f929aebca3814189d1d22">FP2_BN254CX_add</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *z);</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="fp2__BN254CX_8h.html#a17bd9e44d4fd76ad3c327e231587486f">FP2_BN254CX_sub</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#acbd4677e6f63a149ff0d5a6bfa42c5a9">FP2_BN254CX_pmul</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a5313e8d037d4175e79f602b6f2bf41e2">FP2_BN254CX_imul</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a8fa6a2a2f06eb9c50de17823db16fad1">FP2_BN254CX_sqr</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ad5546e623124af9c1cd297c8384b7f2b">FP2_BN254CX_mul</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a2aea520ed3894269e7aa24b00e0d1f43">FP2_BN254CX_output</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a2ba773ac51820722360d46d7e0e19b33">FP2_BN254CX_rawoutput</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ab1e285d6356489e75f383b430f740d1f">FP2_BN254CX_inv</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a36c65900edc5bd77fd3920b240973797">FP2_BN254CX_div2</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#afbe829666f2cbabc478f1199305814bb">FP2_BN254CX_mul_ip</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a7ff042c532e12e703a8927003e29851f">FP2_BN254CX_div_ip2</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a5d124e85f7f5a8dd9eb3b0d8520e97bb">FP2_BN254CX_div_ip</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#a2385bedd710e75c655c74ba43956490b">FP2_BN254CX_norm</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ab930d13c7b061f11bbd615cb1cc89374">FP2_BN254CX_reduce</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#aae2025a3cc00a170118877b419e599fc">FP2_BN254CX_pow</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254CX_8h.html#a823b90a6cc24cea6e283441855613937">FP2_BN254CX_sqrt</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254CX_8h.html#ae8909a043cb54e6eeca817f8d95eddd2">FP2_BN254CX_times_i</a>(<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BN254CX_8h_html_a2ba773ac51820722360d46d7e0e19b33"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2ba773ac51820722360d46d7e0e19b33">FP2_BN254CX_rawoutput</a></div><div class="ttdeci">void FP2_BN254CX_rawoutput(FP2_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:268</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a36c65900edc5bd77fd3920b240973797"><div class="ttname"><a href="fp2__BN254CX_8h.html#a36c65900edc5bd77fd3920b240973797">FP2_BN254CX_div2</a></div><div class="ttdeci">void FP2_BN254CX_div2(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:300</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_ab62590b488de2022d993d6f81e139886"><div class="ttname"><a href="fp2__BN254CX_8h.html#ab62590b488de2022d993d6f81e139886">FP2_BN254CX_zero</a></div><div class="ttdeci">void FP2_BN254CX_zero(FP2_BN254CX *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:112</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_aae2025a3cc00a170118877b419e599fc"><div class="ttname"><a href="fp2__BN254CX_8h.html#aae2025a3cc00a170118877b419e599fc">FP2_BN254CX_pow</a></div><div class="ttdeci">void FP2_BN254CX_pow(FP2_BN254CX *x, FP2_BN254CX *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:357</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a4d77dbdf208964a63b2176fd156095d9"><div class="ttname"><a href="fp2__BN254CX_8h.html#a4d77dbdf208964a63b2176fd156095d9">FP2_BN254CX_equals</a></div><div class="ttdeci">int FP2_BN254CX_equals(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:62</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a2385bedd710e75c655c74ba43956490b"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2385bedd710e75c655c74ba43956490b">FP2_BN254CX_norm</a></div><div class="ttdeci">void FP2_BN254CX_norm(FP2_BN254CX *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:349</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_ab930d13c7b061f11bbd615cb1cc89374"><div class="ttname"><a href="fp2__BN254CX_8h.html#ab930d13c7b061f11bbd615cb1cc89374">FP2_BN254CX_reduce</a></div><div class="ttdeci">void FP2_BN254CX_reduce(FP2_BN254CX *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:54</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a0cfbcd132234e9675daaa7995ac36362"><div class="ttname"><a href="fp2__BN254CX_8h.html#a0cfbcd132234e9675daaa7995ac36362">FP2_BN254CX_isunity</a></div><div class="ttdeci">int FP2_BN254CX_isunity(FP2_BN254CX *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:44</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a68039be55a087b9b81a2388fdb05c9d1"><div class="ttname"><a href="fp2__BN254CX_8h.html#a68039be55a087b9b81a2388fdb05c9d1">FP2_BN254CX_from_FP</a></div><div class="ttdeci">void FP2_BN254CX_from_FP(FP2_BN254CX *x, FP_BN254CX *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:87</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a5d124e85f7f5a8dd9eb3b0d8520e97bb"><div class="ttname"><a href="fp2__BN254CX_8h.html#a5d124e85f7f5a8dd9eb3b0d8520e97bb">FP2_BN254CX_div_ip</a></div><div class="ttdeci">void FP2_BN254CX_div_ip(FP2_BN254CX *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:337</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a17bd9e44d4fd76ad3c327e231587486f"><div class="ttname"><a href="fp2__BN254CX_8h.html#a17bd9e44d4fd76ad3c327e231587486f">FP2_BN254CX_sub</a></div><div class="ttdeci">void FP2_BN254CX_sub(FP2_BN254CX *x, FP2_BN254CX *y, FP2_BN254CX *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:160</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a437dc0867373ceeabfa54583117f7d16"><div class="ttname"><a href="fp2__BN254CX_8h.html#a437dc0867373ceeabfa54583117f7d16">FP2_BN254CX_from_BIG</a></div><div class="ttdeci">void FP2_BN254CX_from_BIG(FP2_BN254CX *x, BIG_256_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:95</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a7ff042c532e12e703a8927003e29851f"><div class="ttname"><a href="fp2__BN254CX_8h.html#a7ff042c532e12e703a8927003e29851f">FP2_BN254CX_div_ip2</a></div><div class="ttdeci">void FP2_BN254CX_div_ip2(FP2_BN254CX *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:325</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a2a1e1bee9342d6ed58229414489b48ec"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2a1e1bee9342d6ed58229414489b48ec">FP2_BN254CX_conj</a></div><div class="ttdeci">void FP2_BN254CX_conj(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:143</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_ab1e285d6356489e75f383b430f740d1f"><div class="ttname"><a href="fp2__BN254CX_8h.html#ab1e285d6356489e75f383b430f740d1f">FP2_BN254CX_inv</a></div><div class="ttdeci">void FP2_BN254CX_inv(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:280</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a8fa6a2a2f06eb9c50de17823db16fad1"><div class="ttname"><a href="fp2__BN254CX_8h.html#a8fa6a2a2f06eb9c50de17823db16fad1">FP2_BN254CX_sqr</a></div><div class="ttdeci">void FP2_BN254CX_sqr(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:185</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_ae8909a043cb54e6eeca817f8d95eddd2"><div class="ttname"><a href="fp2__BN254CX_8h.html#ae8909a043cb54e6eeca817f8d95eddd2">FP2_BN254CX_times_i</a></div><div class="ttdeci">void FP2_BN254CX_times_i(FP2_BN254CX *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:426</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a5313e8d037d4175e79f602b6f2bf41e2"><div class="ttname"><a href="fp2__BN254CX_8h.html#a5313e8d037d4175e79f602b6f2bf41e2">FP2_BN254CX_imul</a></div><div class="ttdeci">void FP2_BN254CX_imul(FP2_BN254CX *x, FP2_BN254CX *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:177</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a827c447bc41fdfeb035b6c44ad83106c"><div class="ttname"><a href="fp2__BN254CX_8h.html#a827c447bc41fdfeb035b6c44ad83106c">FP2_BN254CX_cmove</a></div><div class="ttdeci">void FP2_BN254CX_cmove(FP2_BN254CX *x, FP2_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:36</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html"><div class="ttname"><a href="fp__BN254CX_8h.html">fp_BN254CX.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_acbd4677e6f63a149ff0d5a6bfa42c5a9"><div class="ttname"><a href="fp2__BN254CX_8h.html#acbd4677e6f63a149ff0d5a6bfa42c5a9">FP2_BN254CX_pmul</a></div><div class="ttdeci">void FP2_BN254CX_pmul(FP2_BN254CX *x, FP2_BN254CX *y, FP_BN254CX *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:169</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_afbe829666f2cbabc478f1199305814bb"><div class="ttname"><a href="fp2__BN254CX_8h.html#afbe829666f2cbabc478f1199305814bb">FP2_BN254CX_mul_ip</a></div><div class="ttdeci">void FP2_BN254CX_mul_ip(FP2_BN254CX *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:310</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a60ee4ffbd9ba9dec701d70bbac1b97a2"><div class="ttname"><a href="fp2__BN254CX_8h.html#a60ee4ffbd9ba9dec701d70bbac1b97a2">FP2_BN254CX_neg</a></div><div class="ttdeci">void FP2_BN254CX_neg(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:129</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_acbba403075d51eafdd978e3e619d9d85"><div class="ttname"><a href="fp2__BN254CX_8h.html#acbba403075d51eafdd978e3e619d9d85">FP2_BN254CX_from_BIGs</a></div><div class="ttdeci">void FP2_BN254CX_from_BIGs(FP2_BN254CX *x, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:79</div></div>
 <div class="ttc" id="structFP2__BN254CX_html_a681bf9cafacaf7d8e7b5e3e86af924f5"><div class="ttname"><a href="structFP2__BN254CX.html#a681bf9cafacaf7d8e7b5e3e86af924f5">FP2_BN254CX::a</a></div><div class="ttdeci">FP_BN254CX a</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:38</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_acb20335e53d01fc1c0769955159ae02f"><div class="ttname"><a href="fp2__BN254CX_8h.html#acb20335e53d01fc1c0769955159ae02f">FP2_BN254CX_one</a></div><div class="ttdeci">void FP2_BN254CX_one(FP2_BN254CX *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:120</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a7dc540eec31f929aebca3814189d1d22"><div class="ttname"><a href="fp2__BN254CX_8h.html#a7dc540eec31f929aebca3814189d1d22">FP2_BN254CX_add</a></div><div class="ttdeci">void FP2_BN254CX_add(FP2_BN254CX *x, FP2_BN254CX *y, FP2_BN254CX *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:152</div></div>
-<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a2aea520ed3894269e7aa24b00e0d1f43"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2aea520ed3894269e7aa24b00e0d1f43">FP2_BN254CX_output</a></div><div class="ttdeci">void FP2_BN254CX_output(FP2_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:252</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a4a325a64ff570fa3b7d79e0bc7ad4d55"><div class="ttname"><a href="fp2__BN254CX_8h.html#a4a325a64ff570fa3b7d79e0bc7ad4d55">FP2_BN254CX_copy</a></div><div class="ttdeci">void FP2_BN254CX_copy(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:103</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_acb20335e53d01fc1c0769955159ae02f"><div class="ttname"><a href="fp2__BN254CX_8h.html#acb20335e53d01fc1c0769955159ae02f">FP2_BN254CX_one</a></div><div class="ttdeci">void FP2_BN254CX_one(FP2_BN254CX *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:120</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a7dc540eec31f929aebca3814189d1d22"><div class="ttname"><a href="fp2__BN254CX_8h.html#a7dc540eec31f929aebca3814189d1d22">FP2_BN254CX_add</a></div><div class="ttdeci">void FP2_BN254CX_add(FP2_BN254CX *x, FP2_BN254CX *y, FP2_BN254CX *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:152</div></div>
+<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a2aea520ed3894269e7aa24b00e0d1f43"><div class="ttname"><a href="fp2__BN254CX_8h.html#a2aea520ed3894269e7aa24b00e0d1f43">FP2_BN254CX_output</a></div><div class="ttdeci">void FP2_BN254CX_output(FP2_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:252</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a4a325a64ff570fa3b7d79e0bc7ad4d55"><div class="ttname"><a href="fp2__BN254CX_8h.html#a4a325a64ff570fa3b7d79e0bc7ad4d55">FP2_BN254CX_copy</a></div><div class="ttdeci">void FP2_BN254CX_copy(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:103</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_ad5546e623124af9c1cd297c8384b7f2b"><div class="ttname"><a href="fp2__BN254CX_8h.html#ad5546e623124af9c1cd297c8384b7f2b">FP2_BN254CX_mul</a></div><div class="ttdeci">void FP2_BN254CX_mul(FP2_BN254CX *x, FP2_BN254CX *y, FP2_BN254CX *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:207</div></div>
-<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_ad5546e623124af9c1cd297c8384b7f2b"><div class="ttname"><a href="fp2__BN254CX_8h.html#ad5546e623124af9c1cd297c8384b7f2b">FP2_BN254CX_mul</a></div><div class="ttdeci">void FP2_BN254CX_mul(FP2_BN254CX *x, FP2_BN254CX *y, FP2_BN254CX *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:207</div></div>
+<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
 <div class="ttc" id="structFP2__BN254CX_html_a9c0ee083a28bd9ae240e3ef4b85e8e9f"><div class="ttname"><a href="structFP2__BN254CX.html#a9c0ee083a28bd9ae240e3ef4b85e8e9f">FP2_BN254CX::b</a></div><div class="ttdeci">FP_BN254CX b</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:39</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_ae4743b00fe7feaa02e15e92b5dd749f5"><div class="ttname"><a href="fp2__BN254CX_8h.html#ae4743b00fe7feaa02e15e92b5dd749f5">FP2_BN254CX_from_FPs</a></div><div class="ttdeci">void FP2_BN254CX_from_FPs(FP2_BN254CX *x, FP_BN254CX *a, FP_BN254CX *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:71</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a823b90a6cc24cea6e283441855613937"><div class="ttname"><a href="fp2__BN254CX_8h.html#a823b90a6cc24cea6e283441855613937">FP2_BN254CX_sqrt</a></div><div class="ttdeci">int FP2_BN254CX_sqrt(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:384</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html_a214af8ebd86c773a13d77ee667aa903c"><div class="ttname"><a href="fp2__BN254CX_8h.html#a214af8ebd86c773a13d77ee667aa903c">FP2_BN254CX_iszilch</a></div><div class="ttdeci">int FP2_BN254CX_iszilch(FP2_BN254CX *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:29</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_ae4743b00fe7feaa02e15e92b5dd749f5"><div class="ttname"><a href="fp2__BN254CX_8h.html#ae4743b00fe7feaa02e15e92b5dd749f5">FP2_BN254CX_from_FPs</a></div><div class="ttdeci">void FP2_BN254CX_from_FPs(FP2_BN254CX *x, FP_BN254CX *a, FP_BN254CX *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:71</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a823b90a6cc24cea6e283441855613937"><div class="ttname"><a href="fp2__BN254CX_8h.html#a823b90a6cc24cea6e283441855613937">FP2_BN254CX_sqrt</a></div><div class="ttdeci">int FP2_BN254CX_sqrt(FP2_BN254CX *x, FP2_BN254CX *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:384</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html_a214af8ebd86c773a13d77ee667aa903c"><div class="ttname"><a href="fp2__BN254CX_8h.html#a214af8ebd86c773a13d77ee667aa903c">FP2_BN254CX_iszilch</a></div><div class="ttdeci">int FP2_BN254CX_iszilch(FP2_BN254CX *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.c:29</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/fp2__BN254_8h.html b/website/static/cdocs/fp2__BN254_8h.html
index c9bf91a..2300880 100644
--- a/website/static/cdocs/fp2__BN254_8h.html
+++ b/website/static/cdocs/fp2__BN254_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: fp2_BN254.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"
@@ -1208,7 +1211,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/fp2__BN254_8h_source.html b/website/static/cdocs/fp2__BN254_8h_source.html
index 37ce5d0..4ad8564 100644
--- a/website/static/cdocs/fp2__BN254_8h_source.html
+++ b/website/static/cdocs/fp2__BN254_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: fp2_BN254.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,49 +72,49 @@
 <div class="title">fp2_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__BN254_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 FP2_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BN254_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 &quot;<a class="code" href="fp__BN254_8h.html">fp_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BN254.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BN254.html#a0404699fc23930d177c43bc36023563b">   38</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structFP2__BN254.html#a0404699fc23930d177c43bc36023563b">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BN254.html#ab1ca32260ede24a103cfa981462c2c84">   39</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structFP2__BN254.html#ab1ca32260ede24a103cfa981462c2c84">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BN254.html">FP2_BN254</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#a8a0211125b06623021a5d88177b7ad09">FP2_BN254_iszilch</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#ab85fa38b64bf516823a3f44ee02d1105">FP2_BN254_cmove</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#aa3a37c7157967c85eef164d1d5ada7f9">FP2_BN254_isunity</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#ac35c269782a9c50c2a4a7f0f7eb59c85">FP2_BN254_equals</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#aff82cb726b8db070099434f7567bcdbb">FP2_BN254_from_FPs</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *a,<a class="code" href="structFP__BN254.html">FP_BN254</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#af6a6f13d8b3d9303cd3a941015b512de">FP2_BN254_from_BIGs</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</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="fp2__BN254_8h.html#a690f1b2f00c04a826fbdf0b1edf452e0">FP2_BN254_from_FP</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a2d0330d00fa06c54950156d8b9b4e397">FP2_BN254_from_BIG</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#aedec591a1b436f7079e609de188eb0e3">FP2_BN254_copy</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a06a4cbd531ab40e5b7450f0320f78c58">FP2_BN254_zero</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#aa0661313fc0aaf0189ca9434c50e2d15">FP2_BN254_one</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#affb8f7756e9787c90af15475625d1752">FP2_BN254_neg</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</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="fp2__BN254_8h.html#a7b6c69d71b8819db43bf8beb270ec666">FP2_BN254_conj</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</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="fp2__BN254_8h.html#a1102f14d4bb70c05f69423e8864ccd3a">FP2_BN254_add</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *z);</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="fp2__BN254_8h.html#abed281de2b418ffe42e4926a4276a21b">FP2_BN254_sub</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a2793cb43119dca382c0d91b910eef30a">FP2_BN254_pmul</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a98dc5550629973587dcd370637a59184">FP2_BN254_imul</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a69bdc7b3a097f4f26861f36bc53d3b80">FP2_BN254_sqr</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a9155826c0c313604a4a777885b9594ff">FP2_BN254_mul</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#abbf3a0ac10cfc495281a10464f7eb63c">FP2_BN254_output</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a8d4cf5f5ddebf71b92d61fdfee80f0ba">FP2_BN254_rawoutput</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a9900b790c2c3aa3a3470c5d95e8662ff">FP2_BN254_inv</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#ab23344bbcfd3cd6c06ef75c4772a65d1">FP2_BN254_div2</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a1b9071be029d78a8f5becd6204311c19">FP2_BN254_mul_ip</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#ab742bbb7714039af62218e92f32d5f21">FP2_BN254_div_ip2</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#af4f55df31206ab55e02d635a2c021eeb">FP2_BN254_div_ip</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#acb09afb23d212f2c2d37e3a3a50ab837">FP2_BN254_norm</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a9c3e83ab012e7cdc16efe803c1c612ea">FP2_BN254_reduce</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a8113c98d6a54c4d1e13412d8e30548d7">FP2_BN254_pow</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#a2019a313b40c4c95021c6c752c3bccfe">FP2_BN254_sqrt</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a46c5eb6372d6adefff59cc02ad1457e1">FP2_BN254_times_i</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BN254_8h_html_a98dc5550629973587dcd370637a59184"><div class="ttname"><a href="fp2__BN254_8h.html#a98dc5550629973587dcd370637a59184">FP2_BN254_imul</a></div><div class="ttdeci">void FP2_BN254_imul(FP2_BN254 *x, FP2_BN254 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:177</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a1102f14d4bb70c05f69423e8864ccd3a"><div class="ttname"><a href="fp2__BN254_8h.html#a1102f14d4bb70c05f69423e8864ccd3a">FP2_BN254_add</a></div><div class="ttdeci">void FP2_BN254_add(FP2_BN254 *x, FP2_BN254 *y, FP2_BN254 *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:152</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a9c3e83ab012e7cdc16efe803c1c612ea"><div class="ttname"><a href="fp2__BN254_8h.html#a9c3e83ab012e7cdc16efe803c1c612ea">FP2_BN254_reduce</a></div><div class="ttdeci">void FP2_BN254_reduce(FP2_BN254 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:54</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_abed281de2b418ffe42e4926a4276a21b"><div class="ttname"><a href="fp2__BN254_8h.html#abed281de2b418ffe42e4926a4276a21b">FP2_BN254_sub</a></div><div class="ttdeci">void FP2_BN254_sub(FP2_BN254 *x, FP2_BN254 *y, FP2_BN254 *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:160</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_aedec591a1b436f7079e609de188eb0e3"><div class="ttname"><a href="fp2__BN254_8h.html#aedec591a1b436f7079e609de188eb0e3">FP2_BN254_copy</a></div><div class="ttdeci">void FP2_BN254_copy(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:103</div></div>
-<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
-<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
+<a href="fp2__BN254_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 FP2_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_BN254_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 &quot;<a class="code" href="fp__BN254_8h.html">fp_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__BN254.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__BN254.html#a0404699fc23930d177c43bc36023563b">   38</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structFP2__BN254.html#a0404699fc23930d177c43bc36023563b">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__BN254.html#ab1ca32260ede24a103cfa981462c2c84">   39</a></span>&#160;    <a class="code" href="structFP__BN254.html">FP_BN254</a> <a class="code" href="structFP2__BN254.html#ab1ca32260ede24a103cfa981462c2c84">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__BN254.html">FP2_BN254</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#a8a0211125b06623021a5d88177b7ad09">FP2_BN254_iszilch</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#ab85fa38b64bf516823a3f44ee02d1105">FP2_BN254_cmove</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#aa3a37c7157967c85eef164d1d5ada7f9">FP2_BN254_isunity</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#ac35c269782a9c50c2a4a7f0f7eb59c85">FP2_BN254_equals</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#aff82cb726b8db070099434f7567bcdbb">FP2_BN254_from_FPs</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *a,<a class="code" href="structFP__BN254.html">FP_BN254</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#af6a6f13d8b3d9303cd3a941015b512de">FP2_BN254_from_BIGs</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</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="fp2__BN254_8h.html#a690f1b2f00c04a826fbdf0b1edf452e0">FP2_BN254_from_FP</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a2d0330d00fa06c54950156d8b9b4e397">FP2_BN254_from_BIG</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#aedec591a1b436f7079e609de188eb0e3">FP2_BN254_copy</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a06a4cbd531ab40e5b7450f0320f78c58">FP2_BN254_zero</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#aa0661313fc0aaf0189ca9434c50e2d15">FP2_BN254_one</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#affb8f7756e9787c90af15475625d1752">FP2_BN254_neg</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</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="fp2__BN254_8h.html#a7b6c69d71b8819db43bf8beb270ec666">FP2_BN254_conj</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</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="fp2__BN254_8h.html#a1102f14d4bb70c05f69423e8864ccd3a">FP2_BN254_add</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *z);</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="fp2__BN254_8h.html#abed281de2b418ffe42e4926a4276a21b">FP2_BN254_sub</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a2793cb43119dca382c0d91b910eef30a">FP2_BN254_pmul</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a98dc5550629973587dcd370637a59184">FP2_BN254_imul</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a69bdc7b3a097f4f26861f36bc53d3b80">FP2_BN254_sqr</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a9155826c0c313604a4a777885b9594ff">FP2_BN254_mul</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#abbf3a0ac10cfc495281a10464f7eb63c">FP2_BN254_output</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a8d4cf5f5ddebf71b92d61fdfee80f0ba">FP2_BN254_rawoutput</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a9900b790c2c3aa3a3470c5d95e8662ff">FP2_BN254_inv</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#ab23344bbcfd3cd6c06ef75c4772a65d1">FP2_BN254_div2</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a1b9071be029d78a8f5becd6204311c19">FP2_BN254_mul_ip</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#ab742bbb7714039af62218e92f32d5f21">FP2_BN254_div_ip2</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#af4f55df31206ab55e02d635a2c021eeb">FP2_BN254_div_ip</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#acb09afb23d212f2c2d37e3a3a50ab837">FP2_BN254_norm</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a9c3e83ab012e7cdc16efe803c1c612ea">FP2_BN254_reduce</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a8113c98d6a54c4d1e13412d8e30548d7">FP2_BN254_pow</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__BN254_8h.html#a2019a313b40c4c95021c6c752c3bccfe">FP2_BN254_sqrt</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__BN254_8h.html#a46c5eb6372d6adefff59cc02ad1457e1">FP2_BN254_times_i</a>(<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__BN254_8h_html_a98dc5550629973587dcd370637a59184"><div class="ttname"><a href="fp2__BN254_8h.html#a98dc5550629973587dcd370637a59184">FP2_BN254_imul</a></div><div class="ttdeci">void FP2_BN254_imul(FP2_BN254 *x, FP2_BN254 *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:177</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a1102f14d4bb70c05f69423e8864ccd3a"><div class="ttname"><a href="fp2__BN254_8h.html#a1102f14d4bb70c05f69423e8864ccd3a">FP2_BN254_add</a></div><div class="ttdeci">void FP2_BN254_add(FP2_BN254 *x, FP2_BN254 *y, FP2_BN254 *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:152</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a9c3e83ab012e7cdc16efe803c1c612ea"><div class="ttname"><a href="fp2__BN254_8h.html#a9c3e83ab012e7cdc16efe803c1c612ea">FP2_BN254_reduce</a></div><div class="ttdeci">void FP2_BN254_reduce(FP2_BN254 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:54</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_abed281de2b418ffe42e4926a4276a21b"><div class="ttname"><a href="fp2__BN254_8h.html#abed281de2b418ffe42e4926a4276a21b">FP2_BN254_sub</a></div><div class="ttdeci">void FP2_BN254_sub(FP2_BN254 *x, FP2_BN254 *y, FP2_BN254 *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:160</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_aedec591a1b436f7079e609de188eb0e3"><div class="ttname"><a href="fp2__BN254_8h.html#aedec591a1b436f7079e609de188eb0e3">FP2_BN254_copy</a></div><div class="ttdeci">void FP2_BN254_copy(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:103</div></div>
+<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
+<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
 <div class="ttc" id="structFP2__BN254_html_ab1ca32260ede24a103cfa981462c2c84"><div class="ttname"><a href="structFP2__BN254.html#ab1ca32260ede24a103cfa981462c2c84">FP2_BN254::b</a></div><div class="ttdeci">FP_BN254 b</div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:39</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_ac35c269782a9c50c2a4a7f0f7eb59c85"><div class="ttname"><a href="fp2__BN254_8h.html#ac35c269782a9c50c2a4a7f0f7eb59c85">FP2_BN254_equals</a></div><div class="ttdeci">int FP2_BN254_equals(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:62</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a690f1b2f00c04a826fbdf0b1edf452e0"><div class="ttname"><a href="fp2__BN254_8h.html#a690f1b2f00c04a826fbdf0b1edf452e0">FP2_BN254_from_FP</a></div><div class="ttdeci">void FP2_BN254_from_FP(FP2_BN254 *x, FP_BN254 *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:87</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a2793cb43119dca382c0d91b910eef30a"><div class="ttname"><a href="fp2__BN254_8h.html#a2793cb43119dca382c0d91b910eef30a">FP2_BN254_pmul</a></div><div class="ttdeci">void FP2_BN254_pmul(FP2_BN254 *x, FP2_BN254 *y, FP_BN254 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:169</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a69bdc7b3a097f4f26861f36bc53d3b80"><div class="ttname"><a href="fp2__BN254_8h.html#a69bdc7b3a097f4f26861f36bc53d3b80">FP2_BN254_sqr</a></div><div class="ttdeci">void FP2_BN254_sqr(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:185</div></div>
-<div class="ttc" id="fp__BN254_8h_html"><div class="ttname"><a href="fp__BN254_8h.html">fp_BN254.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_acb09afb23d212f2c2d37e3a3a50ab837"><div class="ttname"><a href="fp2__BN254_8h.html#acb09afb23d212f2c2d37e3a3a50ab837">FP2_BN254_norm</a></div><div class="ttdeci">void FP2_BN254_norm(FP2_BN254 *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:349</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a8d4cf5f5ddebf71b92d61fdfee80f0ba"><div class="ttname"><a href="fp2__BN254_8h.html#a8d4cf5f5ddebf71b92d61fdfee80f0ba">FP2_BN254_rawoutput</a></div><div class="ttdeci">void FP2_BN254_rawoutput(FP2_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:268</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_ab23344bbcfd3cd6c06ef75c4772a65d1"><div class="ttname"><a href="fp2__BN254_8h.html#ab23344bbcfd3cd6c06ef75c4772a65d1">FP2_BN254_div2</a></div><div class="ttdeci">void FP2_BN254_div2(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:300</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a2019a313b40c4c95021c6c752c3bccfe"><div class="ttname"><a href="fp2__BN254_8h.html#a2019a313b40c4c95021c6c752c3bccfe">FP2_BN254_sqrt</a></div><div class="ttdeci">int FP2_BN254_sqrt(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:384</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a46c5eb6372d6adefff59cc02ad1457e1"><div class="ttname"><a href="fp2__BN254_8h.html#a46c5eb6372d6adefff59cc02ad1457e1">FP2_BN254_times_i</a></div><div class="ttdeci">void FP2_BN254_times_i(FP2_BN254 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:426</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a2d0330d00fa06c54950156d8b9b4e397"><div class="ttname"><a href="fp2__BN254_8h.html#a2d0330d00fa06c54950156d8b9b4e397">FP2_BN254_from_BIG</a></div><div class="ttdeci">void FP2_BN254_from_BIG(FP2_BN254 *x, BIG_256_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:95</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_affb8f7756e9787c90af15475625d1752"><div class="ttname"><a href="fp2__BN254_8h.html#affb8f7756e9787c90af15475625d1752">FP2_BN254_neg</a></div><div class="ttdeci">void FP2_BN254_neg(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:129</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_abbf3a0ac10cfc495281a10464f7eb63c"><div class="ttname"><a href="fp2__BN254_8h.html#abbf3a0ac10cfc495281a10464f7eb63c">FP2_BN254_output</a></div><div class="ttdeci">void FP2_BN254_output(FP2_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:252</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a7b6c69d71b8819db43bf8beb270ec666"><div class="ttname"><a href="fp2__BN254_8h.html#a7b6c69d71b8819db43bf8beb270ec666">FP2_BN254_conj</a></div><div class="ttdeci">void FP2_BN254_conj(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:143</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_ac35c269782a9c50c2a4a7f0f7eb59c85"><div class="ttname"><a href="fp2__BN254_8h.html#ac35c269782a9c50c2a4a7f0f7eb59c85">FP2_BN254_equals</a></div><div class="ttdeci">int FP2_BN254_equals(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:62</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a690f1b2f00c04a826fbdf0b1edf452e0"><div class="ttname"><a href="fp2__BN254_8h.html#a690f1b2f00c04a826fbdf0b1edf452e0">FP2_BN254_from_FP</a></div><div class="ttdeci">void FP2_BN254_from_FP(FP2_BN254 *x, FP_BN254 *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:87</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a2793cb43119dca382c0d91b910eef30a"><div class="ttname"><a href="fp2__BN254_8h.html#a2793cb43119dca382c0d91b910eef30a">FP2_BN254_pmul</a></div><div class="ttdeci">void FP2_BN254_pmul(FP2_BN254 *x, FP2_BN254 *y, FP_BN254 *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:169</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a69bdc7b3a097f4f26861f36bc53d3b80"><div class="ttname"><a href="fp2__BN254_8h.html#a69bdc7b3a097f4f26861f36bc53d3b80">FP2_BN254_sqr</a></div><div class="ttdeci">void FP2_BN254_sqr(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:185</div></div>
+<div class="ttc" id="fp__BN254_8h_html"><div class="ttname"><a href="fp__BN254_8h.html">fp_BN254.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__BN254_8h_html_acb09afb23d212f2c2d37e3a3a50ab837"><div class="ttname"><a href="fp2__BN254_8h.html#acb09afb23d212f2c2d37e3a3a50ab837">FP2_BN254_norm</a></div><div class="ttdeci">void FP2_BN254_norm(FP2_BN254 *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:349</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a8d4cf5f5ddebf71b92d61fdfee80f0ba"><div class="ttname"><a href="fp2__BN254_8h.html#a8d4cf5f5ddebf71b92d61fdfee80f0ba">FP2_BN254_rawoutput</a></div><div class="ttdeci">void FP2_BN254_rawoutput(FP2_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:268</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_ab23344bbcfd3cd6c06ef75c4772a65d1"><div class="ttname"><a href="fp2__BN254_8h.html#ab23344bbcfd3cd6c06ef75c4772a65d1">FP2_BN254_div2</a></div><div class="ttdeci">void FP2_BN254_div2(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:300</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a2019a313b40c4c95021c6c752c3bccfe"><div class="ttname"><a href="fp2__BN254_8h.html#a2019a313b40c4c95021c6c752c3bccfe">FP2_BN254_sqrt</a></div><div class="ttdeci">int FP2_BN254_sqrt(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:384</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a46c5eb6372d6adefff59cc02ad1457e1"><div class="ttname"><a href="fp2__BN254_8h.html#a46c5eb6372d6adefff59cc02ad1457e1">FP2_BN254_times_i</a></div><div class="ttdeci">void FP2_BN254_times_i(FP2_BN254 *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:426</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a2d0330d00fa06c54950156d8b9b4e397"><div class="ttname"><a href="fp2__BN254_8h.html#a2d0330d00fa06c54950156d8b9b4e397">FP2_BN254_from_BIG</a></div><div class="ttdeci">void FP2_BN254_from_BIG(FP2_BN254 *x, BIG_256_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:95</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_affb8f7756e9787c90af15475625d1752"><div class="ttname"><a href="fp2__BN254_8h.html#affb8f7756e9787c90af15475625d1752">FP2_BN254_neg</a></div><div class="ttdeci">void FP2_BN254_neg(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:129</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_abbf3a0ac10cfc495281a10464f7eb63c"><div class="ttname"><a href="fp2__BN254_8h.html#abbf3a0ac10cfc495281a10464f7eb63c">FP2_BN254_output</a></div><div class="ttdeci">void FP2_BN254_output(FP2_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:252</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a7b6c69d71b8819db43bf8beb270ec666"><div class="ttname"><a href="fp2__BN254_8h.html#a7b6c69d71b8819db43bf8beb270ec666">FP2_BN254_conj</a></div><div class="ttdeci">void FP2_BN254_conj(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:143</div></div>
 <div class="ttc" id="structFP2__BN254_html_a0404699fc23930d177c43bc36023563b"><div class="ttname"><a href="structFP2__BN254.html#a0404699fc23930d177c43bc36023563b">FP2_BN254::a</a></div><div class="ttdeci">FP_BN254 a</div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:38</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_af4f55df31206ab55e02d635a2c021eeb"><div class="ttname"><a href="fp2__BN254_8h.html#af4f55df31206ab55e02d635a2c021eeb">FP2_BN254_div_ip</a></div><div class="ttdeci">void FP2_BN254_div_ip(FP2_BN254 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:337</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a8a0211125b06623021a5d88177b7ad09"><div class="ttname"><a href="fp2__BN254_8h.html#a8a0211125b06623021a5d88177b7ad09">FP2_BN254_iszilch</a></div><div class="ttdeci">int FP2_BN254_iszilch(FP2_BN254 *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:29</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a06a4cbd531ab40e5b7450f0320f78c58"><div class="ttname"><a href="fp2__BN254_8h.html#a06a4cbd531ab40e5b7450f0320f78c58">FP2_BN254_zero</a></div><div class="ttdeci">void FP2_BN254_zero(FP2_BN254 *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:112</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_aa3a37c7157967c85eef164d1d5ada7f9"><div class="ttname"><a href="fp2__BN254_8h.html#aa3a37c7157967c85eef164d1d5ada7f9">FP2_BN254_isunity</a></div><div class="ttdeci">int FP2_BN254_isunity(FP2_BN254 *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:44</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_aa0661313fc0aaf0189ca9434c50e2d15"><div class="ttname"><a href="fp2__BN254_8h.html#aa0661313fc0aaf0189ca9434c50e2d15">FP2_BN254_one</a></div><div class="ttdeci">void FP2_BN254_one(FP2_BN254 *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:120</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a9155826c0c313604a4a777885b9594ff"><div class="ttname"><a href="fp2__BN254_8h.html#a9155826c0c313604a4a777885b9594ff">FP2_BN254_mul</a></div><div class="ttdeci">void FP2_BN254_mul(FP2_BN254 *x, FP2_BN254 *y, FP2_BN254 *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:207</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_af6a6f13d8b3d9303cd3a941015b512de"><div class="ttname"><a href="fp2__BN254_8h.html#af6a6f13d8b3d9303cd3a941015b512de">FP2_BN254_from_BIGs</a></div><div class="ttdeci">void FP2_BN254_from_BIGs(FP2_BN254 *x, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:79</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_af4f55df31206ab55e02d635a2c021eeb"><div class="ttname"><a href="fp2__BN254_8h.html#af4f55df31206ab55e02d635a2c021eeb">FP2_BN254_div_ip</a></div><div class="ttdeci">void FP2_BN254_div_ip(FP2_BN254 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:337</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a8a0211125b06623021a5d88177b7ad09"><div class="ttname"><a href="fp2__BN254_8h.html#a8a0211125b06623021a5d88177b7ad09">FP2_BN254_iszilch</a></div><div class="ttdeci">int FP2_BN254_iszilch(FP2_BN254 *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:29</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a06a4cbd531ab40e5b7450f0320f78c58"><div class="ttname"><a href="fp2__BN254_8h.html#a06a4cbd531ab40e5b7450f0320f78c58">FP2_BN254_zero</a></div><div class="ttdeci">void FP2_BN254_zero(FP2_BN254 *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:112</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_aa3a37c7157967c85eef164d1d5ada7f9"><div class="ttname"><a href="fp2__BN254_8h.html#aa3a37c7157967c85eef164d1d5ada7f9">FP2_BN254_isunity</a></div><div class="ttdeci">int FP2_BN254_isunity(FP2_BN254 *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:44</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_aa0661313fc0aaf0189ca9434c50e2d15"><div class="ttname"><a href="fp2__BN254_8h.html#aa0661313fc0aaf0189ca9434c50e2d15">FP2_BN254_one</a></div><div class="ttdeci">void FP2_BN254_one(FP2_BN254 *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:120</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a9155826c0c313604a4a777885b9594ff"><div class="ttname"><a href="fp2__BN254_8h.html#a9155826c0c313604a4a777885b9594ff">FP2_BN254_mul</a></div><div class="ttdeci">void FP2_BN254_mul(FP2_BN254 *x, FP2_BN254 *y, FP2_BN254 *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:207</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_af6a6f13d8b3d9303cd3a941015b512de"><div class="ttname"><a href="fp2__BN254_8h.html#af6a6f13d8b3d9303cd3a941015b512de">FP2_BN254_from_BIGs</a></div><div class="ttdeci">void FP2_BN254_from_BIGs(FP2_BN254 *x, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:79</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_ab85fa38b64bf516823a3f44ee02d1105"><div class="ttname"><a href="fp2__BN254_8h.html#ab85fa38b64bf516823a3f44ee02d1105">FP2_BN254_cmove</a></div><div class="ttdeci">void FP2_BN254_cmove(FP2_BN254 *x, FP2_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:36</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a9900b790c2c3aa3a3470c5d95e8662ff"><div class="ttname"><a href="fp2__BN254_8h.html#a9900b790c2c3aa3a3470c5d95e8662ff">FP2_BN254_inv</a></div><div class="ttdeci">void FP2_BN254_inv(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:280</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_aff82cb726b8db070099434f7567bcdbb"><div class="ttname"><a href="fp2__BN254_8h.html#aff82cb726b8db070099434f7567bcdbb">FP2_BN254_from_FPs</a></div><div class="ttdeci">void FP2_BN254_from_FPs(FP2_BN254 *x, FP_BN254 *a, FP_BN254 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:71</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a8113c98d6a54c4d1e13412d8e30548d7"><div class="ttname"><a href="fp2__BN254_8h.html#a8113c98d6a54c4d1e13412d8e30548d7">FP2_BN254_pow</a></div><div class="ttdeci">void FP2_BN254_pow(FP2_BN254 *x, FP2_BN254 *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:357</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_a1b9071be029d78a8f5becd6204311c19"><div class="ttname"><a href="fp2__BN254_8h.html#a1b9071be029d78a8f5becd6204311c19">FP2_BN254_mul_ip</a></div><div class="ttdeci">void FP2_BN254_mul_ip(FP2_BN254 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:310</div></div>
-<div class="ttc" id="fp2__BN254_8h_html_ab742bbb7714039af62218e92f32d5f21"><div class="ttname"><a href="fp2__BN254_8h.html#ab742bbb7714039af62218e92f32d5f21">FP2_BN254_div_ip2</a></div><div class="ttdeci">void FP2_BN254_div_ip2(FP2_BN254 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:325</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_ab85fa38b64bf516823a3f44ee02d1105"><div class="ttname"><a href="fp2__BN254_8h.html#ab85fa38b64bf516823a3f44ee02d1105">FP2_BN254_cmove</a></div><div class="ttdeci">void FP2_BN254_cmove(FP2_BN254 *x, FP2_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:36</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a9900b790c2c3aa3a3470c5d95e8662ff"><div class="ttname"><a href="fp2__BN254_8h.html#a9900b790c2c3aa3a3470c5d95e8662ff">FP2_BN254_inv</a></div><div class="ttdeci">void FP2_BN254_inv(FP2_BN254 *x, FP2_BN254 *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:280</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_aff82cb726b8db070099434f7567bcdbb"><div class="ttname"><a href="fp2__BN254_8h.html#aff82cb726b8db070099434f7567bcdbb">FP2_BN254_from_FPs</a></div><div class="ttdeci">void FP2_BN254_from_FPs(FP2_BN254 *x, FP_BN254 *a, FP_BN254 *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:71</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a8113c98d6a54c4d1e13412d8e30548d7"><div class="ttname"><a href="fp2__BN254_8h.html#a8113c98d6a54c4d1e13412d8e30548d7">FP2_BN254_pow</a></div><div class="ttdeci">void FP2_BN254_pow(FP2_BN254 *x, FP2_BN254 *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:357</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_a1b9071be029d78a8f5becd6204311c19"><div class="ttname"><a href="fp2__BN254_8h.html#a1b9071be029d78a8f5becd6204311c19">FP2_BN254_mul_ip</a></div><div class="ttdeci">void FP2_BN254_mul_ip(FP2_BN254 *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:310</div></div>
+<div class="ttc" id="fp2__BN254_8h_html_ab742bbb7714039af62218e92f32d5f21"><div class="ttname"><a href="fp2__BN254_8h.html#ab742bbb7714039af62218e92f32d5f21">FP2_BN254_div_ip2</a></div><div class="ttdeci">void FP2_BN254_div_ip2(FP2_BN254 *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.c:325</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/fp2__FP256BN_8h.html b/website/static/cdocs/fp2__FP256BN_8h.html
index d639013..203fabb 100644
--- a/website/static/cdocs/fp2__FP256BN_8h.html
+++ b/website/static/cdocs/fp2__FP256BN_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: fp2_FP256BN.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"
@@ -1208,7 +1211,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/fp2__FP256BN_8h_source.html b/website/static/cdocs/fp2__FP256BN_8h_source.html
index 49fc1ca..e50dd0a 100644
--- a/website/static/cdocs/fp2__FP256BN_8h_source.html
+++ b/website/static/cdocs/fp2__FP256BN_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: fp2_FP256BN.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,49 +72,49 @@
 <div class="title">fp2_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__FP256BN_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 FP2_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_FP256BN_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 &quot;<a class="code" href="fp__FP256BN_8h.html">fp_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__FP256BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__FP256BN.html#ad06649f156e9ec89922e95cada7b8b67">   38</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structFP2__FP256BN.html#ad06649f156e9ec89922e95cada7b8b67">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__FP256BN.html#a24419686c04d26258e51c110434048ec">   39</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structFP2__FP256BN.html#a24419686c04d26258e51c110434048ec">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#adf7390977e811eb5ac3bf23a862b0ce4">FP2_FP256BN_iszilch</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a33e28f51df1847a589aa066ad4e0dd2a">FP2_FP256BN_cmove</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#a78bd5907dab56196909b461a1d668fd8">FP2_FP256BN_isunity</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#afafff550f25d87a837a7da8ad716be3d">FP2_FP256BN_equals</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aae1ac7562e2a736eab90136ae82897a8">FP2_FP256BN_from_FPs</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *a,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#afd93ace5362f82012ddef6e37c55e220">FP2_FP256BN_from_BIGs</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</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="fp2__FP256BN_8h.html#ac8b7f1265e344b8b3b792bc35d9738ac">FP2_FP256BN_from_FP</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a4b24beda4af84b84efcb1827ddc4a8e5">FP2_FP256BN_from_BIG</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a072ca4e2a190c4bf678418b79dd9b318">FP2_FP256BN_copy</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a57a6af2e5f2921acc5aabff8d935031e">FP2_FP256BN_zero</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a5b859685fdd6c242b777a0916e2d4cc7">FP2_FP256BN_one</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aaf9f2ad8d5cd5d7b7bc0e0c4e9dc22d7">FP2_FP256BN_neg</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</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="fp2__FP256BN_8h.html#a8b2497b3089310c5ca08d4b19a082384">FP2_FP256BN_conj</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</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="fp2__FP256BN_8h.html#aa172c6ac8ea756e7acec847ef65054d1">FP2_FP256BN_add</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *z);</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="fp2__FP256BN_8h.html#aa6fffecf48380002479b49921207ba79">FP2_FP256BN_sub</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#ac28ce653d3b8811b1ea0a0f636e3d590">FP2_FP256BN_pmul</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a98705d2e9cd523b7a395e132c825f013">FP2_FP256BN_imul</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a07a6ab98b50fac08beb1302e66aa51c1">FP2_FP256BN_sqr</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a96942fd3fb01a38c22fc96b7c6594ace">FP2_FP256BN_mul</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a339e2d7a5d0300e890904f0cd40cd4e1">FP2_FP256BN_output</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a0b09b77179ac7b04337b6f1cec3c6728">FP2_FP256BN_rawoutput</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#ac60bfb6a57298a0ae718443f306b3438">FP2_FP256BN_inv</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a9372a5a1d084161fd9fdeb79370d11e5">FP2_FP256BN_div2</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aec0f45c5eea4c6cbe58afb7053896aa3">FP2_FP256BN_mul_ip</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a302353dd211a8c196aaad24dbc9ad293">FP2_FP256BN_div_ip2</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a77af0cfed0057f8288cc82b02d55d6cb">FP2_FP256BN_div_ip</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a7fc4f451da7a8a5f75ef948f415a1710">FP2_FP256BN_norm</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#ad469dbaa969194d64368a8af0254aa4e">FP2_FP256BN_reduce</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aff88cafbfb19bab12e889f5a92d45d72">FP2_FP256BN_pow</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#a5dbf5fafc5b4d9b36f012bfeb5b4b6ad">FP2_FP256BN_sqrt</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#acd4cf0ffad8810374c5dbf63dfbaad66">FP2_FP256BN_times_i</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__FP256BN_8h_html_a5dbf5fafc5b4d9b36f012bfeb5b4b6ad"><div class="ttname"><a href="fp2__FP256BN_8h.html#a5dbf5fafc5b4d9b36f012bfeb5b4b6ad">FP2_FP256BN_sqrt</a></div><div class="ttdeci">int FP2_FP256BN_sqrt(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:384</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a8b2497b3089310c5ca08d4b19a082384"><div class="ttname"><a href="fp2__FP256BN_8h.html#a8b2497b3089310c5ca08d4b19a082384">FP2_FP256BN_conj</a></div><div class="ttdeci">void FP2_FP256BN_conj(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:143</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a78bd5907dab56196909b461a1d668fd8"><div class="ttname"><a href="fp2__FP256BN_8h.html#a78bd5907dab56196909b461a1d668fd8">FP2_FP256BN_isunity</a></div><div class="ttdeci">int FP2_FP256BN_isunity(FP2_FP256BN *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:44</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a072ca4e2a190c4bf678418b79dd9b318"><div class="ttname"><a href="fp2__FP256BN_8h.html#a072ca4e2a190c4bf678418b79dd9b318">FP2_FP256BN_copy</a></div><div class="ttdeci">void FP2_FP256BN_copy(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:103</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_afafff550f25d87a837a7da8ad716be3d"><div class="ttname"><a href="fp2__FP256BN_8h.html#afafff550f25d87a837a7da8ad716be3d">FP2_FP256BN_equals</a></div><div class="ttdeci">int FP2_FP256BN_equals(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:62</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_acd4cf0ffad8810374c5dbf63dfbaad66"><div class="ttname"><a href="fp2__FP256BN_8h.html#acd4cf0ffad8810374c5dbf63dfbaad66">FP2_FP256BN_times_i</a></div><div class="ttdeci">void FP2_FP256BN_times_i(FP2_FP256BN *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:426</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_aff88cafbfb19bab12e889f5a92d45d72"><div class="ttname"><a href="fp2__FP256BN_8h.html#aff88cafbfb19bab12e889f5a92d45d72">FP2_FP256BN_pow</a></div><div class="ttdeci">void FP2_FP256BN_pow(FP2_FP256BN *x, FP2_FP256BN *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:357</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a5b859685fdd6c242b777a0916e2d4cc7"><div class="ttname"><a href="fp2__FP256BN_8h.html#a5b859685fdd6c242b777a0916e2d4cc7">FP2_FP256BN_one</a></div><div class="ttdeci">void FP2_FP256BN_one(FP2_FP256BN *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:120</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_aaf9f2ad8d5cd5d7b7bc0e0c4e9dc22d7"><div class="ttname"><a href="fp2__FP256BN_8h.html#aaf9f2ad8d5cd5d7b7bc0e0c4e9dc22d7">FP2_FP256BN_neg</a></div><div class="ttdeci">void FP2_FP256BN_neg(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:129</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a33e28f51df1847a589aa066ad4e0dd2a"><div class="ttname"><a href="fp2__FP256BN_8h.html#a33e28f51df1847a589aa066ad4e0dd2a">FP2_FP256BN_cmove</a></div><div class="ttdeci">void FP2_FP256BN_cmove(FP2_FP256BN *x, FP2_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:36</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a339e2d7a5d0300e890904f0cd40cd4e1"><div class="ttname"><a href="fp2__FP256BN_8h.html#a339e2d7a5d0300e890904f0cd40cd4e1">FP2_FP256BN_output</a></div><div class="ttdeci">void FP2_FP256BN_output(FP2_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:252</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_afd93ace5362f82012ddef6e37c55e220"><div class="ttname"><a href="fp2__FP256BN_8h.html#afd93ace5362f82012ddef6e37c55e220">FP2_FP256BN_from_BIGs</a></div><div class="ttdeci">void FP2_FP256BN_from_BIGs(FP2_FP256BN *x, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:79</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a302353dd211a8c196aaad24dbc9ad293"><div class="ttname"><a href="fp2__FP256BN_8h.html#a302353dd211a8c196aaad24dbc9ad293">FP2_FP256BN_div_ip2</a></div><div class="ttdeci">void FP2_FP256BN_div_ip2(FP2_FP256BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:325</div></div>
-<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a9372a5a1d084161fd9fdeb79370d11e5"><div class="ttname"><a href="fp2__FP256BN_8h.html#a9372a5a1d084161fd9fdeb79370d11e5">FP2_FP256BN_div2</a></div><div class="ttdeci">void FP2_FP256BN_div2(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:300</div></div>
-<div class="ttc" id="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a0b09b77179ac7b04337b6f1cec3c6728"><div class="ttname"><a href="fp2__FP256BN_8h.html#a0b09b77179ac7b04337b6f1cec3c6728">FP2_FP256BN_rawoutput</a></div><div class="ttdeci">void FP2_FP256BN_rawoutput(FP2_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:268</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a96942fd3fb01a38c22fc96b7c6594ace"><div class="ttname"><a href="fp2__FP256BN_8h.html#a96942fd3fb01a38c22fc96b7c6594ace">FP2_FP256BN_mul</a></div><div class="ttdeci">void FP2_FP256BN_mul(FP2_FP256BN *x, FP2_FP256BN *y, FP2_FP256BN *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:207</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_ac28ce653d3b8811b1ea0a0f636e3d590"><div class="ttname"><a href="fp2__FP256BN_8h.html#ac28ce653d3b8811b1ea0a0f636e3d590">FP2_FP256BN_pmul</a></div><div class="ttdeci">void FP2_FP256BN_pmul(FP2_FP256BN *x, FP2_FP256BN *y, FP_FP256BN *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:169</div></div>
+<a href="fp2__FP256BN_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 FP2_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_FP256BN_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 &quot;<a class="code" href="fp__FP256BN_8h.html">fp_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__FP256BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__FP256BN.html#ad06649f156e9ec89922e95cada7b8b67">   38</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structFP2__FP256BN.html#ad06649f156e9ec89922e95cada7b8b67">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__FP256BN.html#a24419686c04d26258e51c110434048ec">   39</a></span>&#160;    <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> <a class="code" href="structFP2__FP256BN.html#a24419686c04d26258e51c110434048ec">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#adf7390977e811eb5ac3bf23a862b0ce4">FP2_FP256BN_iszilch</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a33e28f51df1847a589aa066ad4e0dd2a">FP2_FP256BN_cmove</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#a78bd5907dab56196909b461a1d668fd8">FP2_FP256BN_isunity</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#afafff550f25d87a837a7da8ad716be3d">FP2_FP256BN_equals</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aae1ac7562e2a736eab90136ae82897a8">FP2_FP256BN_from_FPs</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *a,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#afd93ace5362f82012ddef6e37c55e220">FP2_FP256BN_from_BIGs</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</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="fp2__FP256BN_8h.html#ac8b7f1265e344b8b3b792bc35d9738ac">FP2_FP256BN_from_FP</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a4b24beda4af84b84efcb1827ddc4a8e5">FP2_FP256BN_from_BIG</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a072ca4e2a190c4bf678418b79dd9b318">FP2_FP256BN_copy</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a57a6af2e5f2921acc5aabff8d935031e">FP2_FP256BN_zero</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a5b859685fdd6c242b777a0916e2d4cc7">FP2_FP256BN_one</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aaf9f2ad8d5cd5d7b7bc0e0c4e9dc22d7">FP2_FP256BN_neg</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</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="fp2__FP256BN_8h.html#a8b2497b3089310c5ca08d4b19a082384">FP2_FP256BN_conj</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</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="fp2__FP256BN_8h.html#aa172c6ac8ea756e7acec847ef65054d1">FP2_FP256BN_add</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *z);</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="fp2__FP256BN_8h.html#aa6fffecf48380002479b49921207ba79">FP2_FP256BN_sub</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#ac28ce653d3b8811b1ea0a0f636e3d590">FP2_FP256BN_pmul</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a98705d2e9cd523b7a395e132c825f013">FP2_FP256BN_imul</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a07a6ab98b50fac08beb1302e66aa51c1">FP2_FP256BN_sqr</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a96942fd3fb01a38c22fc96b7c6594ace">FP2_FP256BN_mul</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a339e2d7a5d0300e890904f0cd40cd4e1">FP2_FP256BN_output</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a0b09b77179ac7b04337b6f1cec3c6728">FP2_FP256BN_rawoutput</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#ac60bfb6a57298a0ae718443f306b3438">FP2_FP256BN_inv</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a9372a5a1d084161fd9fdeb79370d11e5">FP2_FP256BN_div2</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aec0f45c5eea4c6cbe58afb7053896aa3">FP2_FP256BN_mul_ip</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a302353dd211a8c196aaad24dbc9ad293">FP2_FP256BN_div_ip2</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a77af0cfed0057f8288cc82b02d55d6cb">FP2_FP256BN_div_ip</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#a7fc4f451da7a8a5f75ef948f415a1710">FP2_FP256BN_norm</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#ad469dbaa969194d64368a8af0254aa4e">FP2_FP256BN_reduce</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#aff88cafbfb19bab12e889f5a92d45d72">FP2_FP256BN_pow</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP256BN_8h.html#a5dbf5fafc5b4d9b36f012bfeb5b4b6ad">FP2_FP256BN_sqrt</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP256BN_8h.html#acd4cf0ffad8810374c5dbf63dfbaad66">FP2_FP256BN_times_i</a>(<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__FP256BN_8h_html_a5dbf5fafc5b4d9b36f012bfeb5b4b6ad"><div class="ttname"><a href="fp2__FP256BN_8h.html#a5dbf5fafc5b4d9b36f012bfeb5b4b6ad">FP2_FP256BN_sqrt</a></div><div class="ttdeci">int FP2_FP256BN_sqrt(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:384</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a8b2497b3089310c5ca08d4b19a082384"><div class="ttname"><a href="fp2__FP256BN_8h.html#a8b2497b3089310c5ca08d4b19a082384">FP2_FP256BN_conj</a></div><div class="ttdeci">void FP2_FP256BN_conj(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:143</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a78bd5907dab56196909b461a1d668fd8"><div class="ttname"><a href="fp2__FP256BN_8h.html#a78bd5907dab56196909b461a1d668fd8">FP2_FP256BN_isunity</a></div><div class="ttdeci">int FP2_FP256BN_isunity(FP2_FP256BN *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:44</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a072ca4e2a190c4bf678418b79dd9b318"><div class="ttname"><a href="fp2__FP256BN_8h.html#a072ca4e2a190c4bf678418b79dd9b318">FP2_FP256BN_copy</a></div><div class="ttdeci">void FP2_FP256BN_copy(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:103</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_afafff550f25d87a837a7da8ad716be3d"><div class="ttname"><a href="fp2__FP256BN_8h.html#afafff550f25d87a837a7da8ad716be3d">FP2_FP256BN_equals</a></div><div class="ttdeci">int FP2_FP256BN_equals(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:62</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_acd4cf0ffad8810374c5dbf63dfbaad66"><div class="ttname"><a href="fp2__FP256BN_8h.html#acd4cf0ffad8810374c5dbf63dfbaad66">FP2_FP256BN_times_i</a></div><div class="ttdeci">void FP2_FP256BN_times_i(FP2_FP256BN *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:426</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_aff88cafbfb19bab12e889f5a92d45d72"><div class="ttname"><a href="fp2__FP256BN_8h.html#aff88cafbfb19bab12e889f5a92d45d72">FP2_FP256BN_pow</a></div><div class="ttdeci">void FP2_FP256BN_pow(FP2_FP256BN *x, FP2_FP256BN *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:357</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a5b859685fdd6c242b777a0916e2d4cc7"><div class="ttname"><a href="fp2__FP256BN_8h.html#a5b859685fdd6c242b777a0916e2d4cc7">FP2_FP256BN_one</a></div><div class="ttdeci">void FP2_FP256BN_one(FP2_FP256BN *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:120</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_aaf9f2ad8d5cd5d7b7bc0e0c4e9dc22d7"><div class="ttname"><a href="fp2__FP256BN_8h.html#aaf9f2ad8d5cd5d7b7bc0e0c4e9dc22d7">FP2_FP256BN_neg</a></div><div class="ttdeci">void FP2_FP256BN_neg(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:129</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a33e28f51df1847a589aa066ad4e0dd2a"><div class="ttname"><a href="fp2__FP256BN_8h.html#a33e28f51df1847a589aa066ad4e0dd2a">FP2_FP256BN_cmove</a></div><div class="ttdeci">void FP2_FP256BN_cmove(FP2_FP256BN *x, FP2_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:36</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a339e2d7a5d0300e890904f0cd40cd4e1"><div class="ttname"><a href="fp2__FP256BN_8h.html#a339e2d7a5d0300e890904f0cd40cd4e1">FP2_FP256BN_output</a></div><div class="ttdeci">void FP2_FP256BN_output(FP2_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:252</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_afd93ace5362f82012ddef6e37c55e220"><div class="ttname"><a href="fp2__FP256BN_8h.html#afd93ace5362f82012ddef6e37c55e220">FP2_FP256BN_from_BIGs</a></div><div class="ttdeci">void FP2_FP256BN_from_BIGs(FP2_FP256BN *x, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:79</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a302353dd211a8c196aaad24dbc9ad293"><div class="ttname"><a href="fp2__FP256BN_8h.html#a302353dd211a8c196aaad24dbc9ad293">FP2_FP256BN_div_ip2</a></div><div class="ttdeci">void FP2_FP256BN_div_ip2(FP2_FP256BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:325</div></div>
+<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a9372a5a1d084161fd9fdeb79370d11e5"><div class="ttname"><a href="fp2__FP256BN_8h.html#a9372a5a1d084161fd9fdeb79370d11e5">FP2_FP256BN_div2</a></div><div class="ttdeci">void FP2_FP256BN_div2(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:300</div></div>
+<div class="ttc" id="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a0b09b77179ac7b04337b6f1cec3c6728"><div class="ttname"><a href="fp2__FP256BN_8h.html#a0b09b77179ac7b04337b6f1cec3c6728">FP2_FP256BN_rawoutput</a></div><div class="ttdeci">void FP2_FP256BN_rawoutput(FP2_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:268</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a96942fd3fb01a38c22fc96b7c6594ace"><div class="ttname"><a href="fp2__FP256BN_8h.html#a96942fd3fb01a38c22fc96b7c6594ace">FP2_FP256BN_mul</a></div><div class="ttdeci">void FP2_FP256BN_mul(FP2_FP256BN *x, FP2_FP256BN *y, FP2_FP256BN *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:207</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_ac28ce653d3b8811b1ea0a0f636e3d590"><div class="ttname"><a href="fp2__FP256BN_8h.html#ac28ce653d3b8811b1ea0a0f636e3d590">FP2_FP256BN_pmul</a></div><div class="ttdeci">void FP2_FP256BN_pmul(FP2_FP256BN *x, FP2_FP256BN *y, FP_FP256BN *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:169</div></div>
 <div class="ttc" id="structFP2__FP256BN_html_a24419686c04d26258e51c110434048ec"><div class="ttname"><a href="structFP2__FP256BN.html#a24419686c04d26258e51c110434048ec">FP2_FP256BN::b</a></div><div class="ttdeci">FP_FP256BN b</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:39</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_aec0f45c5eea4c6cbe58afb7053896aa3"><div class="ttname"><a href="fp2__FP256BN_8h.html#aec0f45c5eea4c6cbe58afb7053896aa3">FP2_FP256BN_mul_ip</a></div><div class="ttdeci">void FP2_FP256BN_mul_ip(FP2_FP256BN *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:310</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a07a6ab98b50fac08beb1302e66aa51c1"><div class="ttname"><a href="fp2__FP256BN_8h.html#a07a6ab98b50fac08beb1302e66aa51c1">FP2_FP256BN_sqr</a></div><div class="ttdeci">void FP2_FP256BN_sqr(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:185</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_ac8b7f1265e344b8b3b792bc35d9738ac"><div class="ttname"><a href="fp2__FP256BN_8h.html#ac8b7f1265e344b8b3b792bc35d9738ac">FP2_FP256BN_from_FP</a></div><div class="ttdeci">void FP2_FP256BN_from_FP(FP2_FP256BN *x, FP_FP256BN *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:87</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_ad469dbaa969194d64368a8af0254aa4e"><div class="ttname"><a href="fp2__FP256BN_8h.html#ad469dbaa969194d64368a8af0254aa4e">FP2_FP256BN_reduce</a></div><div class="ttdeci">void FP2_FP256BN_reduce(FP2_FP256BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:54</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_aa172c6ac8ea756e7acec847ef65054d1"><div class="ttname"><a href="fp2__FP256BN_8h.html#aa172c6ac8ea756e7acec847ef65054d1">FP2_FP256BN_add</a></div><div class="ttdeci">void FP2_FP256BN_add(FP2_FP256BN *x, FP2_FP256BN *y, FP2_FP256BN *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:152</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a98705d2e9cd523b7a395e132c825f013"><div class="ttname"><a href="fp2__FP256BN_8h.html#a98705d2e9cd523b7a395e132c825f013">FP2_FP256BN_imul</a></div><div class="ttdeci">void FP2_FP256BN_imul(FP2_FP256BN *x, FP2_FP256BN *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:177</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html"><div class="ttname"><a href="fp__FP256BN_8h.html">fp_FP256BN.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a7fc4f451da7a8a5f75ef948f415a1710"><div class="ttname"><a href="fp2__FP256BN_8h.html#a7fc4f451da7a8a5f75ef948f415a1710">FP2_FP256BN_norm</a></div><div class="ttdeci">void FP2_FP256BN_norm(FP2_FP256BN *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:349</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a77af0cfed0057f8288cc82b02d55d6cb"><div class="ttname"><a href="fp2__FP256BN_8h.html#a77af0cfed0057f8288cc82b02d55d6cb">FP2_FP256BN_div_ip</a></div><div class="ttdeci">void FP2_FP256BN_div_ip(FP2_FP256BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:337</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a57a6af2e5f2921acc5aabff8d935031e"><div class="ttname"><a href="fp2__FP256BN_8h.html#a57a6af2e5f2921acc5aabff8d935031e">FP2_FP256BN_zero</a></div><div class="ttdeci">void FP2_FP256BN_zero(FP2_FP256BN *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:112</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_aae1ac7562e2a736eab90136ae82897a8"><div class="ttname"><a href="fp2__FP256BN_8h.html#aae1ac7562e2a736eab90136ae82897a8">FP2_FP256BN_from_FPs</a></div><div class="ttdeci">void FP2_FP256BN_from_FPs(FP2_FP256BN *x, FP_FP256BN *a, FP_FP256BN *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:71</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_ac60bfb6a57298a0ae718443f306b3438"><div class="ttname"><a href="fp2__FP256BN_8h.html#ac60bfb6a57298a0ae718443f306b3438">FP2_FP256BN_inv</a></div><div class="ttdeci">void FP2_FP256BN_inv(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:280</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_aec0f45c5eea4c6cbe58afb7053896aa3"><div class="ttname"><a href="fp2__FP256BN_8h.html#aec0f45c5eea4c6cbe58afb7053896aa3">FP2_FP256BN_mul_ip</a></div><div class="ttdeci">void FP2_FP256BN_mul_ip(FP2_FP256BN *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:310</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a07a6ab98b50fac08beb1302e66aa51c1"><div class="ttname"><a href="fp2__FP256BN_8h.html#a07a6ab98b50fac08beb1302e66aa51c1">FP2_FP256BN_sqr</a></div><div class="ttdeci">void FP2_FP256BN_sqr(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:185</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_ac8b7f1265e344b8b3b792bc35d9738ac"><div class="ttname"><a href="fp2__FP256BN_8h.html#ac8b7f1265e344b8b3b792bc35d9738ac">FP2_FP256BN_from_FP</a></div><div class="ttdeci">void FP2_FP256BN_from_FP(FP2_FP256BN *x, FP_FP256BN *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:87</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_ad469dbaa969194d64368a8af0254aa4e"><div class="ttname"><a href="fp2__FP256BN_8h.html#ad469dbaa969194d64368a8af0254aa4e">FP2_FP256BN_reduce</a></div><div class="ttdeci">void FP2_FP256BN_reduce(FP2_FP256BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:54</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_aa172c6ac8ea756e7acec847ef65054d1"><div class="ttname"><a href="fp2__FP256BN_8h.html#aa172c6ac8ea756e7acec847ef65054d1">FP2_FP256BN_add</a></div><div class="ttdeci">void FP2_FP256BN_add(FP2_FP256BN *x, FP2_FP256BN *y, FP2_FP256BN *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:152</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a98705d2e9cd523b7a395e132c825f013"><div class="ttname"><a href="fp2__FP256BN_8h.html#a98705d2e9cd523b7a395e132c825f013">FP2_FP256BN_imul</a></div><div class="ttdeci">void FP2_FP256BN_imul(FP2_FP256BN *x, FP2_FP256BN *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:177</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html"><div class="ttname"><a href="fp__FP256BN_8h.html">fp_FP256BN.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a7fc4f451da7a8a5f75ef948f415a1710"><div class="ttname"><a href="fp2__FP256BN_8h.html#a7fc4f451da7a8a5f75ef948f415a1710">FP2_FP256BN_norm</a></div><div class="ttdeci">void FP2_FP256BN_norm(FP2_FP256BN *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:349</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a77af0cfed0057f8288cc82b02d55d6cb"><div class="ttname"><a href="fp2__FP256BN_8h.html#a77af0cfed0057f8288cc82b02d55d6cb">FP2_FP256BN_div_ip</a></div><div class="ttdeci">void FP2_FP256BN_div_ip(FP2_FP256BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:337</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a57a6af2e5f2921acc5aabff8d935031e"><div class="ttname"><a href="fp2__FP256BN_8h.html#a57a6af2e5f2921acc5aabff8d935031e">FP2_FP256BN_zero</a></div><div class="ttdeci">void FP2_FP256BN_zero(FP2_FP256BN *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:112</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_aae1ac7562e2a736eab90136ae82897a8"><div class="ttname"><a href="fp2__FP256BN_8h.html#aae1ac7562e2a736eab90136ae82897a8">FP2_FP256BN_from_FPs</a></div><div class="ttdeci">void FP2_FP256BN_from_FPs(FP2_FP256BN *x, FP_FP256BN *a, FP_FP256BN *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:71</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_ac60bfb6a57298a0ae718443f306b3438"><div class="ttname"><a href="fp2__FP256BN_8h.html#ac60bfb6a57298a0ae718443f306b3438">FP2_FP256BN_inv</a></div><div class="ttdeci">void FP2_FP256BN_inv(FP2_FP256BN *x, FP2_FP256BN *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:280</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
 <div class="ttc" id="structFP2__FP256BN_html_ad06649f156e9ec89922e95cada7b8b67"><div class="ttname"><a href="structFP2__FP256BN.html#ad06649f156e9ec89922e95cada7b8b67">FP2_FP256BN::a</a></div><div class="ttdeci">FP_FP256BN a</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:38</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_aa6fffecf48380002479b49921207ba79"><div class="ttname"><a href="fp2__FP256BN_8h.html#aa6fffecf48380002479b49921207ba79">FP2_FP256BN_sub</a></div><div class="ttdeci">void FP2_FP256BN_sub(FP2_FP256BN *x, FP2_FP256BN *y, FP2_FP256BN *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:160</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_a4b24beda4af84b84efcb1827ddc4a8e5"><div class="ttname"><a href="fp2__FP256BN_8h.html#a4b24beda4af84b84efcb1827ddc4a8e5">FP2_FP256BN_from_BIG</a></div><div class="ttdeci">void FP2_FP256BN_from_BIG(FP2_FP256BN *x, BIG_256_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:95</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html_adf7390977e811eb5ac3bf23a862b0ce4"><div class="ttname"><a href="fp2__FP256BN_8h.html#adf7390977e811eb5ac3bf23a862b0ce4">FP2_FP256BN_iszilch</a></div><div class="ttdeci">int FP2_FP256BN_iszilch(FP2_FP256BN *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:29</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_aa6fffecf48380002479b49921207ba79"><div class="ttname"><a href="fp2__FP256BN_8h.html#aa6fffecf48380002479b49921207ba79">FP2_FP256BN_sub</a></div><div class="ttdeci">void FP2_FP256BN_sub(FP2_FP256BN *x, FP2_FP256BN *y, FP2_FP256BN *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:160</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_a4b24beda4af84b84efcb1827ddc4a8e5"><div class="ttname"><a href="fp2__FP256BN_8h.html#a4b24beda4af84b84efcb1827ddc4a8e5">FP2_FP256BN_from_BIG</a></div><div class="ttdeci">void FP2_FP256BN_from_BIG(FP2_FP256BN *x, BIG_256_56 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:95</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html_adf7390977e811eb5ac3bf23a862b0ce4"><div class="ttname"><a href="fp2__FP256BN_8h.html#adf7390977e811eb5ac3bf23a862b0ce4">FP2_FP256BN_iszilch</a></div><div class="ttdeci">int FP2_FP256BN_iszilch(FP2_FP256BN *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.c:29</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/fp2__FP512BN_8h.html b/website/static/cdocs/fp2__FP512BN_8h.html
index 025ba11..a27ea76 100644
--- a/website/static/cdocs/fp2__FP512BN_8h.html
+++ b/website/static/cdocs/fp2__FP512BN_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: fp2_FP512BN.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"
@@ -1208,7 +1211,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/fp2__FP512BN_8h_source.html b/website/static/cdocs/fp2__FP512BN_8h_source.html
index fa12a27..c993ca7 100644
--- a/website/static/cdocs/fp2__FP512BN_8h_source.html
+++ b/website/static/cdocs/fp2__FP512BN_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: fp2_FP512BN.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,49 +72,49 @@
 <div class="title">fp2_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp2__FP512BN_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 FP2_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_FP512BN_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 &quot;<a class="code" href="fp__FP512BN_8h.html">fp_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__FP512BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__FP512BN.html#a808d4f588886d7abdc5cda7e8165bd25">   38</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structFP2__FP512BN.html#a808d4f588886d7abdc5cda7e8165bd25">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__FP512BN.html#a786f81b6232b396c0df5ad4c419b784c">   39</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structFP2__FP512BN.html#a786f81b6232b396c0df5ad4c419b784c">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#a625f6b7bf94e38d0cb74b37535ca47b2">FP2_FP512BN_iszilch</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a6c279c9b82d65f8b2530a59ba93d197e">FP2_FP512BN_cmove</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#ab9d8398669e91879076ee1b107858b20">FP2_FP512BN_isunity</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#a4d74104c6216bd9bf4fa640f6a7e33e1">FP2_FP512BN_equals</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a13aed7bb2b8b5e2c0956b94b9c0739e9">FP2_FP512BN_from_FPs</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *a,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a0fa4dbbc9ce49955156d6baf5e00c42a">FP2_FP512BN_from_BIGs</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</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="fp2__FP512BN_8h.html#a9a0508f5175be6c6c3b9d08c3b0e26de">FP2_FP512BN_from_FP</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a9a5a8f34f244f6565b8a147c39fd91bd">FP2_FP512BN_from_BIG</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a57d0b4312bd55d6faabe72ff85c439ba">FP2_FP512BN_copy</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#ae737cbc9ef0fa17a01bab6db1e50fed0">FP2_FP512BN_zero</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#aa892fa82c0ffdec26fa946a3ca1382cd">FP2_FP512BN_one</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a3506da754c2eeaeaec34b1cb30abb5d8">FP2_FP512BN_neg</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</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="fp2__FP512BN_8h.html#afa66927f6088a5966026cb04f2b90d4a">FP2_FP512BN_conj</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</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="fp2__FP512BN_8h.html#ae67185ea859e23e7638ac638f4928fc1">FP2_FP512BN_add</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *z);</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="fp2__FP512BN_8h.html#a192c17b2ab8af7de46f63070c5b7af79">FP2_FP512BN_sub</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#acc16ecabc741ad7d8e3534d5a51da635">FP2_FP512BN_pmul</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a29fba738c0085e9cf59592b930e41a70">FP2_FP512BN_imul</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a0229cfe4781a066e96e7bf46b64295f0">FP2_FP512BN_sqr</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a6575e45774416cfab48d96cf84461c3d">FP2_FP512BN_mul</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a08f733965e5930f9903eaf94d3a2a288">FP2_FP512BN_output</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#ac88eed5ffa2db9a4dedf128686ba7aa1">FP2_FP512BN_rawoutput</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a4746f00b41c0b8b2f3e0ac2b67dd8e46">FP2_FP512BN_inv</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#af5af58692aef23417b8ddc34a066d204">FP2_FP512BN_div2</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a4394fb1001b21c6677795df6b7e21534">FP2_FP512BN_mul_ip</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#aa2dff0b605f4baed35109c98a355a2ad">FP2_FP512BN_div_ip2</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a01980fd8e12ef9e68affff3454d62343">FP2_FP512BN_div_ip</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a6e629f368865b6f04c2a7de98670b0ae">FP2_FP512BN_norm</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#afd06d6f3aca9e7ce5aa63b7adda78df2">FP2_FP512BN_reduce</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a934d46157354ae34dbedd441b0fd66b5">FP2_FP512BN_pow</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#a07c4583fbf44b7b746913e25d8b40de7">FP2_FP512BN_sqrt</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a9e1117113dc21b62d5bc9325a1659178">FP2_FP512BN_times_i</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__FP512BN_8h_html_ae737cbc9ef0fa17a01bab6db1e50fed0"><div class="ttname"><a href="fp2__FP512BN_8h.html#ae737cbc9ef0fa17a01bab6db1e50fed0">FP2_FP512BN_zero</a></div><div class="ttdeci">void FP2_FP512BN_zero(FP2_FP512BN *x)</div><div class="ttdoc">Set FP2 to zero.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:112</div></div>
+<a href="fp2__FP512BN_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 FP2_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP2_FP512BN_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 &quot;<a class="code" href="fp__FP512BN_8h.html">fp_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structFP2__FP512BN.html">   36</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP2__FP512BN.html#a808d4f588886d7abdc5cda7e8165bd25">   38</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structFP2__FP512BN.html#a808d4f588886d7abdc5cda7e8165bd25">a</a>; </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structFP2__FP512BN.html#a786f81b6232b396c0df5ad4c419b784c">   39</a></span>&#160;    <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> <a class="code" href="structFP2__FP512BN.html#a786f81b6232b396c0df5ad4c419b784c">b</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a>;</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="comment">/* FP2 prototypes */</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#a625f6b7bf94e38d0cb74b37535ca47b2">FP2_FP512BN_iszilch</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a6c279c9b82d65f8b2530a59ba93d197e">FP2_FP512BN_cmove</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#ab9d8398669e91879076ee1b107858b20">FP2_FP512BN_isunity</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#a4d74104c6216bd9bf4fa640f6a7e33e1">FP2_FP512BN_equals</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a13aed7bb2b8b5e2c0956b94b9c0739e9">FP2_FP512BN_from_FPs</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *a,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *b);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a0fa4dbbc9ce49955156d6baf5e00c42a">FP2_FP512BN_from_BIGs</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</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="fp2__FP512BN_8h.html#a9a0508f5175be6c6c3b9d08c3b0e26de">FP2_FP512BN_from_FP</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *a);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a9a5a8f34f244f6565b8a147c39fd91bd">FP2_FP512BN_from_BIG</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a57d0b4312bd55d6faabe72ff85c439ba">FP2_FP512BN_copy</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#ae737cbc9ef0fa17a01bab6db1e50fed0">FP2_FP512BN_zero</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#aa892fa82c0ffdec26fa946a3ca1382cd">FP2_FP512BN_one</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a3506da754c2eeaeaec34b1cb30abb5d8">FP2_FP512BN_neg</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</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="fp2__FP512BN_8h.html#afa66927f6088a5966026cb04f2b90d4a">FP2_FP512BN_conj</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</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="fp2__FP512BN_8h.html#ae67185ea859e23e7638ac638f4928fc1">FP2_FP512BN_add</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *z);</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="fp2__FP512BN_8h.html#a192c17b2ab8af7de46f63070c5b7af79">FP2_FP512BN_sub</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *z);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#acc16ecabc741ad7d8e3534d5a51da635">FP2_FP512BN_pmul</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *b);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a29fba738c0085e9cf59592b930e41a70">FP2_FP512BN_imul</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a0229cfe4781a066e96e7bf46b64295f0">FP2_FP512BN_sqr</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a6575e45774416cfab48d96cf84461c3d">FP2_FP512BN_mul</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *z);</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a08f733965e5930f9903eaf94d3a2a288">FP2_FP512BN_output</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#ac88eed5ffa2db9a4dedf128686ba7aa1">FP2_FP512BN_rawoutput</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a4746f00b41c0b8b2f3e0ac2b67dd8e46">FP2_FP512BN_inv</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#af5af58692aef23417b8ddc34a066d204">FP2_FP512BN_div2</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a4394fb1001b21c6677795df6b7e21534">FP2_FP512BN_mul_ip</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#aa2dff0b605f4baed35109c98a355a2ad">FP2_FP512BN_div_ip2</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a01980fd8e12ef9e68affff3454d62343">FP2_FP512BN_div_ip</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a6e629f368865b6f04c2a7de98670b0ae">FP2_FP512BN_norm</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#afd06d6f3aca9e7ce5aa63b7adda78df2">FP2_FP512BN_reduce</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a934d46157354ae34dbedd441b0fd66b5">FP2_FP512BN_pow</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp2__FP512BN_8h.html#a07c4583fbf44b7b746913e25d8b40de7">FP2_FP512BN_sqrt</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *y);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp2__FP512BN_8h.html#a9e1117113dc21b62d5bc9325a1659178">FP2_FP512BN_times_i</a>(<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *x);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp2__FP512BN_8h_html_ae737cbc9ef0fa17a01bab6db1e50fed0"><div class="ttname"><a href="fp2__FP512BN_8h.html#ae737cbc9ef0fa17a01bab6db1e50fed0">FP2_FP512BN_zero</a></div><div class="ttdeci">void FP2_FP512BN_zero(FP2_FP512BN *x)</div><div class="ttdoc">Set FP2 to zero. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:112</div></div>
 <div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a01980fd8e12ef9e68affff3454d62343"><div class="ttname"><a href="fp2__FP512BN_8h.html#a01980fd8e12ef9e68affff3454d62343">FP2_FP512BN_div_ip</a></div><div class="ttdeci">void FP2_FP512BN_div_ip(FP2_FP512BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:337</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_af5af58692aef23417b8ddc34a066d204"><div class="ttname"><a href="fp2__FP512BN_8h.html#af5af58692aef23417b8ddc34a066d204">FP2_FP512BN_div2</a></div><div class="ttdeci">void FP2_FP512BN_div2(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Divide an FP2 by 2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:300</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a9a0508f5175be6c6c3b9d08c3b0e26de"><div class="ttname"><a href="fp2__FP512BN_8h.html#a9a0508f5175be6c6c3b9d08c3b0e26de">FP2_FP512BN_from_FP</a></div><div class="ttdeci">void FP2_FP512BN_from_FP(FP2_FP512BN *x, FP_FP512BN *a)</div><div class="ttdoc">Initialise FP2 from single FP.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:87</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a4746f00b41c0b8b2f3e0ac2b67dd8e46"><div class="ttname"><a href="fp2__FP512BN_8h.html#a4746f00b41c0b8b2f3e0ac2b67dd8e46">FP2_FP512BN_inv</a></div><div class="ttdeci">void FP2_FP512BN_inv(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Inverting an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:280</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a6e629f368865b6f04c2a7de98670b0ae"><div class="ttname"><a href="fp2__FP512BN_8h.html#a6e629f368865b6f04c2a7de98670b0ae">FP2_FP512BN_norm</a></div><div class="ttdeci">void FP2_FP512BN_norm(FP2_FP512BN *x)</div><div class="ttdoc">Normalises the components of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:349</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_ae67185ea859e23e7638ac638f4928fc1"><div class="ttname"><a href="fp2__FP512BN_8h.html#ae67185ea859e23e7638ac638f4928fc1">FP2_FP512BN_add</a></div><div class="ttdeci">void FP2_FP512BN_add(FP2_FP512BN *x, FP2_FP512BN *y, FP2_FP512BN *z)</div><div class="ttdoc">addition of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:152</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a57d0b4312bd55d6faabe72ff85c439ba"><div class="ttname"><a href="fp2__FP512BN_8h.html#a57d0b4312bd55d6faabe72ff85c439ba">FP2_FP512BN_copy</a></div><div class="ttdeci">void FP2_FP512BN_copy(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Copy FP2 to another FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:103</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a9e1117113dc21b62d5bc9325a1659178"><div class="ttname"><a href="fp2__FP512BN_8h.html#a9e1117113dc21b62d5bc9325a1659178">FP2_FP512BN_times_i</a></div><div class="ttdeci">void FP2_FP512BN_times_i(FP2_FP512BN *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1)</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:426</div></div>
-<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_aa2dff0b605f4baed35109c98a355a2ad"><div class="ttname"><a href="fp2__FP512BN_8h.html#aa2dff0b605f4baed35109c98a355a2ad">FP2_FP512BN_div_ip2</a></div><div class="ttdeci">void FP2_FP512BN_div_ip2(FP2_FP512BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:325</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_ab9d8398669e91879076ee1b107858b20"><div class="ttname"><a href="fp2__FP512BN_8h.html#ab9d8398669e91879076ee1b107858b20">FP2_FP512BN_isunity</a></div><div class="ttdeci">int FP2_FP512BN_isunity(FP2_FP512BN *x)</div><div class="ttdoc">Tests for FP2 equal to one.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:44</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a0229cfe4781a066e96e7bf46b64295f0"><div class="ttname"><a href="fp2__FP512BN_8h.html#a0229cfe4781a066e96e7bf46b64295f0">FP2_FP512BN_sqr</a></div><div class="ttdeci">void FP2_FP512BN_sqr(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Squaring an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:185</div></div>
+<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a01980fd8e12ef9e68affff3454d62343"><div class="ttname"><a href="fp2__FP512BN_8h.html#a01980fd8e12ef9e68affff3454d62343">FP2_FP512BN_div_ip</a></div><div class="ttdeci">void FP2_FP512BN_div_ip(FP2_FP512BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:337</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_af5af58692aef23417b8ddc34a066d204"><div class="ttname"><a href="fp2__FP512BN_8h.html#af5af58692aef23417b8ddc34a066d204">FP2_FP512BN_div2</a></div><div class="ttdeci">void FP2_FP512BN_div2(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Divide an FP2 by 2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:300</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a9a0508f5175be6c6c3b9d08c3b0e26de"><div class="ttname"><a href="fp2__FP512BN_8h.html#a9a0508f5175be6c6c3b9d08c3b0e26de">FP2_FP512BN_from_FP</a></div><div class="ttdeci">void FP2_FP512BN_from_FP(FP2_FP512BN *x, FP_FP512BN *a)</div><div class="ttdoc">Initialise FP2 from single FP. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:87</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a4746f00b41c0b8b2f3e0ac2b67dd8e46"><div class="ttname"><a href="fp2__FP512BN_8h.html#a4746f00b41c0b8b2f3e0ac2b67dd8e46">FP2_FP512BN_inv</a></div><div class="ttdeci">void FP2_FP512BN_inv(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Inverting an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:280</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a6e629f368865b6f04c2a7de98670b0ae"><div class="ttname"><a href="fp2__FP512BN_8h.html#a6e629f368865b6f04c2a7de98670b0ae">FP2_FP512BN_norm</a></div><div class="ttdeci">void FP2_FP512BN_norm(FP2_FP512BN *x)</div><div class="ttdoc">Normalises the components of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:349</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_ae67185ea859e23e7638ac638f4928fc1"><div class="ttname"><a href="fp2__FP512BN_8h.html#ae67185ea859e23e7638ac638f4928fc1">FP2_FP512BN_add</a></div><div class="ttdeci">void FP2_FP512BN_add(FP2_FP512BN *x, FP2_FP512BN *y, FP2_FP512BN *z)</div><div class="ttdoc">addition of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:152</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a57d0b4312bd55d6faabe72ff85c439ba"><div class="ttname"><a href="fp2__FP512BN_8h.html#a57d0b4312bd55d6faabe72ff85c439ba">FP2_FP512BN_copy</a></div><div class="ttdeci">void FP2_FP512BN_copy(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Copy FP2 to another FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:103</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a9e1117113dc21b62d5bc9325a1659178"><div class="ttname"><a href="fp2__FP512BN_8h.html#a9e1117113dc21b62d5bc9325a1659178">FP2_FP512BN_times_i</a></div><div class="ttdeci">void FP2_FP512BN_times_i(FP2_FP512BN *x)</div><div class="ttdoc">Multiply an FP2 by sqrt(-1) </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:426</div></div>
+<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_aa2dff0b605f4baed35109c98a355a2ad"><div class="ttname"><a href="fp2__FP512BN_8h.html#aa2dff0b605f4baed35109c98a355a2ad">FP2_FP512BN_div_ip2</a></div><div class="ttdeci">void FP2_FP512BN_div_ip2(FP2_FP512BN *x)</div><div class="ttdoc">Divide an FP2 by (1+sqrt(-1))/2 -. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:325</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_ab9d8398669e91879076ee1b107858b20"><div class="ttname"><a href="fp2__FP512BN_8h.html#ab9d8398669e91879076ee1b107858b20">FP2_FP512BN_isunity</a></div><div class="ttdeci">int FP2_FP512BN_isunity(FP2_FP512BN *x)</div><div class="ttdoc">Tests for FP2 equal to one. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:44</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a0229cfe4781a066e96e7bf46b64295f0"><div class="ttname"><a href="fp2__FP512BN_8h.html#a0229cfe4781a066e96e7bf46b64295f0">FP2_FP512BN_sqr</a></div><div class="ttdeci">void FP2_FP512BN_sqr(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Squaring an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:185</div></div>
 <div class="ttc" id="structFP2__FP512BN_html_a786f81b6232b396c0df5ad4c419b784c"><div class="ttname"><a href="structFP2__FP512BN.html#a786f81b6232b396c0df5ad4c419b784c">FP2_FP512BN::b</a></div><div class="ttdeci">FP_FP512BN b</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:39</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a4394fb1001b21c6677795df6b7e21534"><div class="ttname"><a href="fp2__FP512BN_8h.html#a4394fb1001b21c6677795df6b7e21534">FP2_FP512BN_mul_ip</a></div><div class="ttdeci">void FP2_FP512BN_mul_ip(FP2_FP512BN *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:310</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a0fa4dbbc9ce49955156d6baf5e00c42a"><div class="ttname"><a href="fp2__FP512BN_8h.html#a0fa4dbbc9ce49955156d6baf5e00c42a">FP2_FP512BN_from_BIGs</a></div><div class="ttdeci">void FP2_FP512BN_from_BIGs(FP2_FP512BN *x, BIG_512_60 a, BIG_512_60 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:79</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a3506da754c2eeaeaec34b1cb30abb5d8"><div class="ttname"><a href="fp2__FP512BN_8h.html#a3506da754c2eeaeaec34b1cb30abb5d8">FP2_FP512BN_neg</a></div><div class="ttdeci">void FP2_FP512BN_neg(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Negation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:129</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_ac88eed5ffa2db9a4dedf128686ba7aa1"><div class="ttname"><a href="fp2__FP512BN_8h.html#ac88eed5ffa2db9a4dedf128686ba7aa1">FP2_FP512BN_rawoutput</a></div><div class="ttdeci">void FP2_FP512BN_rawoutput(FP2_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:268</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a08f733965e5930f9903eaf94d3a2a288"><div class="ttname"><a href="fp2__FP512BN_8h.html#a08f733965e5930f9903eaf94d3a2a288">FP2_FP512BN_output</a></div><div class="ttdeci">void FP2_FP512BN_output(FP2_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:252</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a625f6b7bf94e38d0cb74b37535ca47b2"><div class="ttname"><a href="fp2__FP512BN_8h.html#a625f6b7bf94e38d0cb74b37535ca47b2">FP2_FP512BN_iszilch</a></div><div class="ttdeci">int FP2_FP512BN_iszilch(FP2_FP512BN *x)</div><div class="ttdoc">Tests for FP2 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:29</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a192c17b2ab8af7de46f63070c5b7af79"><div class="ttname"><a href="fp2__FP512BN_8h.html#a192c17b2ab8af7de46f63070c5b7af79">FP2_FP512BN_sub</a></div><div class="ttdeci">void FP2_FP512BN_sub(FP2_FP512BN *x, FP2_FP512BN *y, FP2_FP512BN *z)</div><div class="ttdoc">subtraction of two FP2s</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:160</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_acc16ecabc741ad7d8e3534d5a51da635"><div class="ttname"><a href="fp2__FP512BN_8h.html#acc16ecabc741ad7d8e3534d5a51da635">FP2_FP512BN_pmul</a></div><div class="ttdeci">void FP2_FP512BN_pmul(FP2_FP512BN *x, FP2_FP512BN *y, FP_FP512BN *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:169</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a13aed7bb2b8b5e2c0956b94b9c0739e9"><div class="ttname"><a href="fp2__FP512BN_8h.html#a13aed7bb2b8b5e2c0956b94b9c0739e9">FP2_FP512BN_from_FPs</a></div><div class="ttdeci">void FP2_FP512BN_from_FPs(FP2_FP512BN *x, FP_FP512BN *a, FP_FP512BN *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:71</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a9a5a8f34f244f6565b8a147c39fd91bd"><div class="ttname"><a href="fp2__FP512BN_8h.html#a9a5a8f34f244f6565b8a147c39fd91bd">FP2_FP512BN_from_BIG</a></div><div class="ttdeci">void FP2_FP512BN_from_BIG(FP2_FP512BN *x, BIG_512_60 a)</div><div class="ttdoc">Initialise FP2 from single BIG.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:95</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_aa892fa82c0ffdec26fa946a3ca1382cd"><div class="ttname"><a href="fp2__FP512BN_8h.html#aa892fa82c0ffdec26fa946a3ca1382cd">FP2_FP512BN_one</a></div><div class="ttdeci">void FP2_FP512BN_one(FP2_FP512BN *x)</div><div class="ttdoc">Set FP2 to unity.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:120</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a4394fb1001b21c6677795df6b7e21534"><div class="ttname"><a href="fp2__FP512BN_8h.html#a4394fb1001b21c6677795df6b7e21534">FP2_FP512BN_mul_ip</a></div><div class="ttdeci">void FP2_FP512BN_mul_ip(FP2_FP512BN *x)</div><div class="ttdoc">Multiply an FP2 by (1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:310</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a0fa4dbbc9ce49955156d6baf5e00c42a"><div class="ttname"><a href="fp2__FP512BN_8h.html#a0fa4dbbc9ce49955156d6baf5e00c42a">FP2_FP512BN_from_BIGs</a></div><div class="ttdeci">void FP2_FP512BN_from_BIGs(FP2_FP512BN *x, BIG_512_60 a, BIG_512_60 b)</div><div class="ttdoc">Initialise FP2 from two BIG integers. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:79</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a3506da754c2eeaeaec34b1cb30abb5d8"><div class="ttname"><a href="fp2__FP512BN_8h.html#a3506da754c2eeaeaec34b1cb30abb5d8">FP2_FP512BN_neg</a></div><div class="ttdeci">void FP2_FP512BN_neg(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Negation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:129</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_ac88eed5ffa2db9a4dedf128686ba7aa1"><div class="ttname"><a href="fp2__FP512BN_8h.html#ac88eed5ffa2db9a4dedf128686ba7aa1">FP2_FP512BN_rawoutput</a></div><div class="ttdeci">void FP2_FP512BN_rawoutput(FP2_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:268</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a08f733965e5930f9903eaf94d3a2a288"><div class="ttname"><a href="fp2__FP512BN_8h.html#a08f733965e5930f9903eaf94d3a2a288">FP2_FP512BN_output</a></div><div class="ttdeci">void FP2_FP512BN_output(FP2_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP2 to the console. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:252</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a625f6b7bf94e38d0cb74b37535ca47b2"><div class="ttname"><a href="fp2__FP512BN_8h.html#a625f6b7bf94e38d0cb74b37535ca47b2">FP2_FP512BN_iszilch</a></div><div class="ttdeci">int FP2_FP512BN_iszilch(FP2_FP512BN *x)</div><div class="ttdoc">Tests for FP2 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:29</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a192c17b2ab8af7de46f63070c5b7af79"><div class="ttname"><a href="fp2__FP512BN_8h.html#a192c17b2ab8af7de46f63070c5b7af79">FP2_FP512BN_sub</a></div><div class="ttdeci">void FP2_FP512BN_sub(FP2_FP512BN *x, FP2_FP512BN *y, FP2_FP512BN *z)</div><div class="ttdoc">subtraction of two FP2s </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:160</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_acc16ecabc741ad7d8e3534d5a51da635"><div class="ttname"><a href="fp2__FP512BN_8h.html#acc16ecabc741ad7d8e3534d5a51da635">FP2_FP512BN_pmul</a></div><div class="ttdeci">void FP2_FP512BN_pmul(FP2_FP512BN *x, FP2_FP512BN *y, FP_FP512BN *b)</div><div class="ttdoc">Multiplication of an FP2 by an FP. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:169</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a13aed7bb2b8b5e2c0956b94b9c0739e9"><div class="ttname"><a href="fp2__FP512BN_8h.html#a13aed7bb2b8b5e2c0956b94b9c0739e9">FP2_FP512BN_from_FPs</a></div><div class="ttdeci">void FP2_FP512BN_from_FPs(FP2_FP512BN *x, FP_FP512BN *a, FP_FP512BN *b)</div><div class="ttdoc">Initialise FP2 from two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:71</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a9a5a8f34f244f6565b8a147c39fd91bd"><div class="ttname"><a href="fp2__FP512BN_8h.html#a9a5a8f34f244f6565b8a147c39fd91bd">FP2_FP512BN_from_BIG</a></div><div class="ttdeci">void FP2_FP512BN_from_BIG(FP2_FP512BN *x, BIG_512_60 a)</div><div class="ttdoc">Initialise FP2 from single BIG. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:95</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_aa892fa82c0ffdec26fa946a3ca1382cd"><div class="ttname"><a href="fp2__FP512BN_8h.html#aa892fa82c0ffdec26fa946a3ca1382cd">FP2_FP512BN_one</a></div><div class="ttdeci">void FP2_FP512BN_one(FP2_FP512BN *x)</div><div class="ttdoc">Set FP2 to unity. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:120</div></div>
 <div class="ttc" id="structFP2__FP512BN_html_a808d4f588886d7abdc5cda7e8165bd25"><div class="ttname"><a href="structFP2__FP512BN.html#a808d4f588886d7abdc5cda7e8165bd25">FP2_FP512BN::a</a></div><div class="ttdeci">FP_FP512BN a</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:38</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_afa66927f6088a5966026cb04f2b90d4a"><div class="ttname"><a href="fp2__FP512BN_8h.html#afa66927f6088a5966026cb04f2b90d4a">FP2_FP512BN_conj</a></div><div class="ttdeci">void FP2_FP512BN_conj(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Conjugation of FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:143</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a6575e45774416cfab48d96cf84461c3d"><div class="ttname"><a href="fp2__FP512BN_8h.html#a6575e45774416cfab48d96cf84461c3d">FP2_FP512BN_mul</a></div><div class="ttdeci">void FP2_FP512BN_mul(FP2_FP512BN *x, FP2_FP512BN *y, FP2_FP512BN *z)</div><div class="ttdoc">Multiplication of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:207</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a6c279c9b82d65f8b2530a59ba93d197e"><div class="ttname"><a href="fp2__FP512BN_8h.html#a6c279c9b82d65f8b2530a59ba93d197e">FP2_FP512BN_cmove</a></div><div class="ttdeci">void FP2_FP512BN_cmove(FP2_FP512BN *x, FP2_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:36</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html"><div class="ttname"><a href="fp__FP512BN_8h.html">fp_FP512BN.h</a></div><div class="ttdoc">FP Header File.</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a4d74104c6216bd9bf4fa640f6a7e33e1"><div class="ttname"><a href="fp2__FP512BN_8h.html#a4d74104c6216bd9bf4fa640f6a7e33e1">FP2_FP512BN_equals</a></div><div class="ttdeci">int FP2_FP512BN_equals(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Tests for equality of two FP2s.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:62</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a29fba738c0085e9cf59592b930e41a70"><div class="ttname"><a href="fp2__FP512BN_8h.html#a29fba738c0085e9cf59592b930e41a70">FP2_FP512BN_imul</a></div><div class="ttdeci">void FP2_FP512BN_imul(FP2_FP512BN *x, FP2_FP512BN *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:177</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_afd06d6f3aca9e7ce5aa63b7adda78df2"><div class="ttname"><a href="fp2__FP512BN_8h.html#afd06d6f3aca9e7ce5aa63b7adda78df2">FP2_FP512BN_reduce</a></div><div class="ttdeci">void FP2_FP512BN_reduce(FP2_FP512BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:54</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a07c4583fbf44b7b746913e25d8b40de7"><div class="ttname"><a href="fp2__FP512BN_8h.html#a07c4583fbf44b7b746913e25d8b40de7">FP2_FP512BN_sqrt</a></div><div class="ttdeci">int FP2_FP512BN_sqrt(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Square root of an FP2.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:384</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html_a934d46157354ae34dbedd441b0fd66b5"><div class="ttname"><a href="fp2__FP512BN_8h.html#a934d46157354ae34dbedd441b0fd66b5">FP2_FP512BN_pow</a></div><div class="ttdeci">void FP2_FP512BN_pow(FP2_FP512BN *x, FP2_FP512BN *y, BIG_512_60 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:357</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_afa66927f6088a5966026cb04f2b90d4a"><div class="ttname"><a href="fp2__FP512BN_8h.html#afa66927f6088a5966026cb04f2b90d4a">FP2_FP512BN_conj</a></div><div class="ttdeci">void FP2_FP512BN_conj(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Conjugation of FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:143</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a6575e45774416cfab48d96cf84461c3d"><div class="ttname"><a href="fp2__FP512BN_8h.html#a6575e45774416cfab48d96cf84461c3d">FP2_FP512BN_mul</a></div><div class="ttdeci">void FP2_FP512BN_mul(FP2_FP512BN *x, FP2_FP512BN *y, FP2_FP512BN *z)</div><div class="ttdoc">Multiplication of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:207</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a6c279c9b82d65f8b2530a59ba93d197e"><div class="ttname"><a href="fp2__FP512BN_8h.html#a6c279c9b82d65f8b2530a59ba93d197e">FP2_FP512BN_cmove</a></div><div class="ttdeci">void FP2_FP512BN_cmove(FP2_FP512BN *x, FP2_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP2 number. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:36</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html"><div class="ttname"><a href="fp__FP512BN_8h.html">fp_FP512BN.h</a></div><div class="ttdoc">FP Header File. </div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a4d74104c6216bd9bf4fa640f6a7e33e1"><div class="ttname"><a href="fp2__FP512BN_8h.html#a4d74104c6216bd9bf4fa640f6a7e33e1">FP2_FP512BN_equals</a></div><div class="ttdeci">int FP2_FP512BN_equals(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Tests for equality of two FP2s. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:62</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a29fba738c0085e9cf59592b930e41a70"><div class="ttname"><a href="fp2__FP512BN_8h.html#a29fba738c0085e9cf59592b930e41a70">FP2_FP512BN_imul</a></div><div class="ttdeci">void FP2_FP512BN_imul(FP2_FP512BN *x, FP2_FP512BN *y, int i)</div><div class="ttdoc">Multiplication of an FP2 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:177</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_afd06d6f3aca9e7ce5aa63b7adda78df2"><div class="ttname"><a href="fp2__FP512BN_8h.html#afd06d6f3aca9e7ce5aa63b7adda78df2">FP2_FP512BN_reduce</a></div><div class="ttdeci">void FP2_FP512BN_reduce(FP2_FP512BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP2 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:54</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a07c4583fbf44b7b746913e25d8b40de7"><div class="ttname"><a href="fp2__FP512BN_8h.html#a07c4583fbf44b7b746913e25d8b40de7">FP2_FP512BN_sqrt</a></div><div class="ttdeci">int FP2_FP512BN_sqrt(FP2_FP512BN *x, FP2_FP512BN *y)</div><div class="ttdoc">Square root of an FP2. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:384</div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html_a934d46157354ae34dbedd441b0fd66b5"><div class="ttname"><a href="fp2__FP512BN_8h.html#a934d46157354ae34dbedd441b0fd66b5">FP2_FP512BN_pow</a></div><div class="ttdeci">void FP2_FP512BN_pow(FP2_FP512BN *x, FP2_FP512BN *y, BIG_512_60 b)</div><div class="ttdoc">Raises an FP2 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.c:357</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/fp48__BLS48_8h_source.html b/website/static/cdocs/fp48__BLS48_8h_source.html
index dfffed0..c14ab11 100644
--- a/website/static/cdocs/fp48__BLS48_8h_source.html
+++ b/website/static/cdocs/fp48__BLS48_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: fp48_BLS48.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,14 +72,14 @@
 <div class="title">fp48_BLS48.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;<span class="preprocessor">#ifndef FP48_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define FP48_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp16_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html">   29</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#ad86d320df1e4fed7ece02b11d8ccf757">   31</a></span>&#160;    <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> <a class="code" href="structFP48__BLS48.html#ad86d320df1e4fed7ece02b11d8ccf757">a</a>; </div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#a6f48e7495562cce4c1132c502fab945b">   32</a></span>&#160;    <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> <a class="code" href="structFP48__BLS48.html#a6f48e7495562cce4c1132c502fab945b">b</a>; </div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#acd6053438907e731f6b7633ed162bbc4">   33</a></span>&#160;    <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> <a class="code" href="structFP48__BLS48.html#acd6053438907e731f6b7633ed162bbc4">c</a>; </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#a0676f60d402c89ed1c26e0dfbe593dc3">   34</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP48__BLS48.html#a0676f60d402c89ed1c26e0dfbe593dc3">type</a>;   </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;} <a class="code" href="structFP48__BLS48.html">FP48_BLS48</a>;</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a>; </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">/* FP48 prototypes */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP48_BLS48_iszilch(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP48_BLS48_isunity(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_copy(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_one(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_zero(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP48_BLS48_equals(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_conj(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_from_FP16(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *a);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_from_FP16s(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *a,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a>* b,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *c);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_usqr(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_sqr(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_smul(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_ssmul(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_mul(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_inv(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_pow(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">//extern void FP48_ppow(FP48 *r,FP48 *x,BIG b);</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_pinpow(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_compow(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *c,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> e,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> r);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_pow16(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> *b);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_frob(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *f,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_reduce(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_norm(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_output(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_toOctet(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</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> FP48_BLS48_fromOctet(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_trace(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *t,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_cmove(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP48__BLS48_html"><div class="ttname"><a href="structFP48__BLS48.html">FP48_BLS48</a></div><div class="ttdoc">FP12 Structure - towered over three FP16.</div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:29</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="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="preprocessor">#ifndef FP48_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define FP48_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp16_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html">   29</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#ad86d320df1e4fed7ece02b11d8ccf757">   31</a></span>&#160;    <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> <a class="code" href="structFP48__BLS48.html#ad86d320df1e4fed7ece02b11d8ccf757">a</a>; </div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#a6f48e7495562cce4c1132c502fab945b">   32</a></span>&#160;    <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> <a class="code" href="structFP48__BLS48.html#a6f48e7495562cce4c1132c502fab945b">b</a>; </div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#acd6053438907e731f6b7633ed162bbc4">   33</a></span>&#160;    <a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> <a class="code" href="structFP48__BLS48.html#acd6053438907e731f6b7633ed162bbc4">c</a>; </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structFP48__BLS48.html#a0676f60d402c89ed1c26e0dfbe593dc3">   34</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structFP48__BLS48.html#a0676f60d402c89ed1c26e0dfbe593dc3">type</a>;   </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;} <a class="code" href="structFP48__BLS48.html">FP48_BLS48</a>;</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a>; </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">/* FP48 prototypes */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP48_BLS48_iszilch(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP48_BLS48_isunity(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_copy(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_one(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_zero(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP48_BLS48_equals(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_conj(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_from_FP16(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *a);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_from_FP16s(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *a,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a>* b,<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *c);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_usqr(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_sqr(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_smul(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_ssmul(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_mul(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_inv(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_pow(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">//extern void FP48_ppow(FP48 *r,FP48 *x,BIG b);</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_pinpow(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<span class="keywordtype">int</span> i,<span class="keywordtype">int</span> b);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_compow(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *c,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> e,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> r);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_pow16(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> *b);</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_frob(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *f,<span class="keywordtype">int</span> n);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_reduce(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_norm(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_output(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_toOctet(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</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> FP48_BLS48_fromOctet(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_trace(<a class="code" href="structFP16__BLS48.html">FP16_BLS48</a> *t,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP48_BLS48_cmove(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP48__BLS48_html"><div class="ttname"><a href="structFP48__BLS48.html">FP48_BLS48</a></div><div class="ttdoc">FP12 Structure - towered over three FP16. </div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:29</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="structFP48__BLS48_html_acd6053438907e731f6b7633ed162bbc4"><div class="ttname"><a href="structFP48__BLS48.html#acd6053438907e731f6b7633ed162bbc4">FP48_BLS48::c</a></div><div class="ttdeci">FP16_BLS48 c</div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:33</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a93bf4c71a6093999ba8e5a84de936a5d"><div class="ttname"><a href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">Frb_BLS48</a></div><div class="ttdeci">const BIG_560_58 Frb_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_aa2f84b8ba9625ad4617db4dfb8c84194"><div class="ttname"><a href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">Fra_BLS48</a></div><div class="ttdeci">const BIG_560_58 Fra_BLS48</div></div>
-<div class="ttc" id="structFP16__BLS48_html"><div class="ttname"><a href="structFP16__BLS48.html">FP16_BLS48</a></div><div class="ttdoc">FP16 Structure - towered over two FP8.</div><div class="ttdef"><b>Definition:</b> fp16_BLS48.h:31</div></div>
+<div class="ttc" id="structFP16__BLS48_html"><div class="ttname"><a href="structFP16__BLS48.html">FP16_BLS48</a></div><div class="ttdoc">FP16 Structure - towered over two FP8. </div><div class="ttdef"><b>Definition:</b> fp16_BLS48.h:31</div></div>
 <div class="ttc" id="structFP48__BLS48_html_a0676f60d402c89ed1c26e0dfbe593dc3"><div class="ttname"><a href="structFP48__BLS48.html#a0676f60d402c89ed1c26e0dfbe593dc3">FP48_BLS48::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:34</div></div>
-<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
+<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
 <div class="ttc" id="structFP48__BLS48_html_a6f48e7495562cce4c1132c502fab945b"><div class="ttname"><a href="structFP48__BLS48.html#a6f48e7495562cce4c1132c502fab945b">FP48_BLS48::b</a></div><div class="ttdeci">FP16_BLS48 b</div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:32</div></div>
 <div class="ttc" id="structFP48__BLS48_html_ad86d320df1e4fed7ece02b11d8ccf757"><div class="ttname"><a href="structFP48__BLS48.html#ad86d320df1e4fed7ece02b11d8ccf757">FP48_BLS48::a</a></div><div class="ttdeci">FP16_BLS48 a</div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:31</div></div>
@@ -85,7 +88,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/fp4__BLS24_8h.html b/website/static/cdocs/fp4__BLS24_8h.html
index 00e9cda..eca0d1c 100644
--- a/website/static/cdocs/fp4__BLS24_8h.html
+++ b/website/static/cdocs/fp4__BLS24_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: fp4_BLS24.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"
@@ -1502,7 +1505,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/fp4__BLS24_8h_source.html b/website/static/cdocs/fp4__BLS24_8h_source.html
index 834b153..5d13e2e 100644
--- a/website/static/cdocs/fp4__BLS24_8h_source.html
+++ b/website/static/cdocs/fp4__BLS24_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: fp4_BLS24.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,56 +72,56 @@
 <div class="title">fp4_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__BLS24_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 FP4_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS24_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 &quot;<a class="code" href="fp2__BLS24_8h.html">fp2_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS24.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS24.html#a53cbdb8a88cd252aa2f62cbfcf7eaa8c">   39</a></span>&#160;    <a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> <a class="code" href="structFP4__BLS24.html#a53cbdb8a88cd252aa2f62cbfcf7eaa8c">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS24.html#a20e23cd7abac73cfaf22f2be5156dd10">   40</a></span>&#160;    <a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> <a class="code" href="structFP4__BLS24.html#a20e23cd7abac73cfaf22f2be5156dd10">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS24_8h.html#a12912abdd589b9e6342f5a279ada862a">FP4_BLS24_iszilch</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS24_8h.html#a5977613624843bd02a5580e265e2b6e8">FP4_BLS24_isunity</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS24_8h.html#a6d504373f6d14c8052cab95060f9c6c1">FP4_BLS24_equals</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</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="fp4__BLS24_8h.html#af8c7823949978a925ef66ec409dfe022">FP4_BLS24_isreal</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a67f4af603fbd0d35423490ad353370b0">FP4_BLS24_from_FP2s</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#ab2a2958935aba1b7557b8739bc99ce6e">FP4_BLS24_from_FP2</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS24_8h.html#aa9d366e3cb26180c3e8a13a5b2b83217">FP4_BLS24_from_FP2H</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS24_8h.html#ae48a05f1f020de218ccc23b3923d42f5">FP4_BLS24_copy</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#aed91df9abd5ca7ecd1733abaf7794e5d">FP4_BLS24_zero</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#abd676ba46b4cf11e1de84dd90130468c">FP4_BLS24_one</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</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="fp4__BLS24_8h.html#a1ae64287abbacdc5cb1545c2168b5e9b">FP4_BLS24_neg</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a7e061d25e2d61828ebade0e07dceb459">FP4_BLS24_conj</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a21e113d9f008d76ba316c21f8941a2de">FP4_BLS24_nconj</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#acdfe69511baca15113ed759bcddccdb1">FP4_BLS24_add</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#af2c12f6f87a5fcc0c7b3b3f0e7db8312">FP4_BLS24_sub</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a7e3c6ae7813793284acc65ff42df93be">FP4_BLS24_pmul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a15a066a8329ea6f5feb7c471303dd054">FP4_BLS24_qmul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#abbefd4a3e0b4c3629db577762186b314">FP4_BLS24_imul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#acae99ec2a563570870d14cbb07df7602">FP4_BLS24_sqr</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#abc347edcbcf0cf41c676906ee5cef282">FP4_BLS24_mul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a5ce587706631da3997b23ab2af25e20f">FP4_BLS24_inv</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a6119c4bd72cc838a13894878c7330e70">FP4_BLS24_output</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</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="fp4__BLS24_8h.html#a7e7959ea28922c0d92486c63c2d6f8e1">FP4_BLS24_rawoutput</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</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="fp4__BLS24_8h.html#a86af9f623313e08d2a593b24d3d64c58">FP4_BLS24_times_i</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</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="fp4__BLS24_8h.html#ad12ec58c7861e94bfcc22eaf8530dfd6">FP4_BLS24_norm</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</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="fp4__BLS24_8h.html#a3aa991a5bf012326d19e6ac031d901c7">FP4_BLS24_reduce</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a9c5fbdc552a61490f7eb6d28f31dbadb">FP4_BLS24_pow</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a8f4395c5a6e505d407714a048d4163b9">FP4_BLS24_frob</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a94b3a23253c038f20bdc312145ed5380">FP4_BLS24_xtr_A</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *w,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#aafbe6ac150fbdf3fed35c52ad7291d64">FP4_BLS24_xtr_D</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a8d3df7018ef9e32ae6294ac4a0841b73">FP4_BLS24_xtr_pow</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#afcc6c27e49775538ce9c141d61f3f4ad">FP4_BLS24_xtr_pow2</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *c,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *d,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *e,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *f,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#ac069ebcacb6f97055c39272cc645b287">FP4_BLS24_cmove</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS24_8h.html#a288ad04e1ac4251390be909f91135ea0">FP4_BLS24_sqrt</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a7064e736f52002e755612d0a10878e36">FP4_BLS24_div_i</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#ac75f2b5f3125e44e71c87e3a8f523906">FP4_BLS24_div_2i</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a65ea2b48cdfe5d414c19d4a529dd5be0">FP4_BLS24_div2</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS24_8h_html_aafbe6ac150fbdf3fed35c52ad7291d64"><div class="ttname"><a href="fp4__BLS24_8h.html#aafbe6ac150fbdf3fed35c52ad7291d64">FP4_BLS24_xtr_D</a></div><div class="ttdeci">void FP4_BLS24_xtr_D(FP4_BLS24 *r, FP4_BLS24 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:373</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a7e3c6ae7813793284acc65ff42df93be"><div class="ttname"><a href="fp4__BLS24_8h.html#a7e3c6ae7813793284acc65ff42df93be">FP4_BLS24_pmul</a></div><div class="ttdeci">void FP4_BLS24_pmul(FP4_BLS24 *x, FP4_BLS24 *y, FP2_BLS24 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:174</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_abd676ba46b4cf11e1de84dd90130468c"><div class="ttname"><a href="fp4__BLS24_8h.html#abd676ba46b4cf11e1de84dd90130468c">FP4_BLS24_one</a></div><div class="ttdeci">void FP4_BLS24_one(FP4_BLS24 *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:101</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a5977613624843bd02a5580e265e2b6e8"><div class="ttname"><a href="fp4__BLS24_8h.html#a5977613624843bd02a5580e265e2b6e8">FP4_BLS24_isunity</a></div><div class="ttdeci">int FP4_BLS24_isunity(FP4_BLS24 *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:37</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a7e061d25e2d61828ebade0e07dceb459"><div class="ttname"><a href="fp4__BLS24_8h.html#a7e061d25e2d61828ebade0e07dceb459">FP4_BLS24_conj</a></div><div class="ttdeci">void FP4_BLS24_conj(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:124</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_ab2a2958935aba1b7557b8739bc99ce6e"><div class="ttname"><a href="fp4__BLS24_8h.html#ab2a2958935aba1b7557b8739bc99ce6e">FP4_BLS24_from_FP2</a></div><div class="ttdeci">void FP4_BLS24_from_FP2(FP4_BLS24 *x, FP2_BLS24 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:68</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a8d3df7018ef9e32ae6294ac4a0841b73"><div class="ttname"><a href="fp4__BLS24_8h.html#a8d3df7018ef9e32ae6294ac4a0841b73">FP4_BLS24_xtr_pow</a></div><div class="ttdeci">void FP4_BLS24_xtr_pow(FP4_BLS24 *r, FP4_BLS24 *x, BIG_480_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:387</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a67f4af603fbd0d35423490ad353370b0"><div class="ttname"><a href="fp4__BLS24_8h.html#a67f4af603fbd0d35423490ad353370b0">FP4_BLS24_from_FP2s</a></div><div class="ttdeci">void FP4_BLS24_from_FP2s(FP4_BLS24 *x, FP2_BLS24 *a, FP2_BLS24 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:60</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a5ce587706631da3997b23ab2af25e20f"><div class="ttname"><a href="fp4__BLS24_8h.html#a5ce587706631da3997b23ab2af25e20f">FP4_BLS24_inv</a></div><div class="ttdeci">void FP4_BLS24_inv(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:279</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a8f4395c5a6e505d407714a048d4163b9"><div class="ttname"><a href="fp4__BLS24_8h.html#a8f4395c5a6e505d407714a048d4163b9">FP4_BLS24_frob</a></div><div class="ttdeci">void FP4_BLS24_frob(FP4_BLS24 *x, FP2_BLS24 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:317</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_ad12ec58c7861e94bfcc22eaf8530dfd6"><div class="ttname"><a href="fp4__BLS24_8h.html#ad12ec58c7861e94bfcc22eaf8530dfd6">FP4_BLS24_norm</a></div><div class="ttdeci">void FP4_BLS24_norm(FP4_BLS24 *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:166</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a86af9f623313e08d2a593b24d3d64c58"><div class="ttname"><a href="fp4__BLS24_8h.html#a86af9f623313e08d2a593b24d3d64c58">FP4_BLS24_times_i</a></div><div class="ttdeci">void FP4_BLS24_times_i(FP4_BLS24 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:296</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_aa9d366e3cb26180c3e8a13a5b2b83217"><div class="ttname"><a href="fp4__BLS24_8h.html#aa9d366e3cb26180c3e8a13a5b2b83217">FP4_BLS24_from_FP2H</a></div><div class="ttdeci">void FP4_BLS24_from_FP2H(FP4_BLS24 *x, FP2_BLS24 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:76</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_acae99ec2a563570870d14cbb07df7602"><div class="ttname"><a href="fp4__BLS24_8h.html#acae99ec2a563570870d14cbb07df7602">FP4_BLS24_sqr</a></div><div class="ttdeci">void FP4_BLS24_sqr(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:197</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a21e113d9f008d76ba316c21f8941a2de"><div class="ttname"><a href="fp4__BLS24_8h.html#a21e113d9f008d76ba316c21f8941a2de">FP4_BLS24_nconj</a></div><div class="ttdeci">void FP4_BLS24_nconj(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:133</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a3aa991a5bf012326d19e6ac031d901c7"><div class="ttname"><a href="fp4__BLS24_8h.html#a3aa991a5bf012326d19e6ac031d901c7">FP4_BLS24_reduce</a></div><div class="ttdeci">void FP4_BLS24_reduce(FP4_BLS24 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:158</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_abbefd4a3e0b4c3629db577762186b314"><div class="ttname"><a href="fp4__BLS24_8h.html#abbefd4a3e0b4c3629db577762186b314">FP4_BLS24_imul</a></div><div class="ttdeci">void FP4_BLS24_imul(FP4_BLS24 *x, FP4_BLS24 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:189</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a65ea2b48cdfe5d414c19d4a529dd5be0"><div class="ttname"><a href="fp4__BLS24_8h.html#a65ea2b48cdfe5d414c19d4a529dd5be0">FP4_BLS24_div2</a></div><div class="ttdeci">void FP4_BLS24_div2(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:586</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_abc347edcbcf0cf41c676906ee5cef282"><div class="ttname"><a href="fp4__BLS24_8h.html#abc347edcbcf0cf41c676906ee5cef282">FP4_BLS24_mul</a></div><div class="ttdeci">void FP4_BLS24_mul(FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:228</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a288ad04e1ac4251390be909f91135ea0"><div class="ttname"><a href="fp4__BLS24_8h.html#a288ad04e1ac4251390be909f91135ea0">FP4_BLS24_sqrt</a></div><div class="ttdeci">int FP4_BLS24_sqrt(FP4_BLS24 *r, FP4_BLS24 *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a6119c4bd72cc838a13894878c7330e70"><div class="ttname"><a href="fp4__BLS24_8h.html#a6119c4bd72cc838a13894878c7330e70">FP4_BLS24_output</a></div><div class="ttdeci">void FP4_BLS24_output(FP4_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:258</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_aed91df9abd5ca7ecd1733abaf7794e5d"><div class="ttname"><a href="fp4__BLS24_8h.html#aed91df9abd5ca7ecd1733abaf7794e5d">FP4_BLS24_zero</a></div><div class="ttdeci">void FP4_BLS24_zero(FP4_BLS24 *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:93</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_acdfe69511baca15113ed759bcddccdb1"><div class="ttname"><a href="fp4__BLS24_8h.html#acdfe69511baca15113ed759bcddccdb1">FP4_BLS24_add</a></div><div class="ttdeci">void FP4_BLS24_add(FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:142</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a7064e736f52002e755612d0a10878e36"><div class="ttname"><a href="fp4__BLS24_8h.html#a7064e736f52002e755612d0a10878e36">FP4_BLS24_div_i</a></div><div class="ttdeci">void FP4_BLS24_div_i(FP4_BLS24 *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a7e7959ea28922c0d92486c63c2d6f8e1"><div class="ttname"><a href="fp4__BLS24_8h.html#a7e7959ea28922c0d92486c63c2d6f8e1">FP4_BLS24_rawoutput</a></div><div class="ttdeci">void FP4_BLS24_rawoutput(FP4_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:268</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_afcc6c27e49775538ce9c141d61f3f4ad"><div class="ttname"><a href="fp4__BLS24_8h.html#afcc6c27e49775538ce9c141d61f3f4ad">FP4_BLS24_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS24_xtr_pow2(FP4_BLS24 *r, FP4_BLS24 *c, FP4_BLS24 *d, FP4_BLS24 *e, FP4_BLS24 *f, BIG_480_56 a, BIG_480_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:444</div></div>
+<a href="fp4__BLS24_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 FP4_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS24_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 &quot;<a class="code" href="fp2__BLS24_8h.html">fp2_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS24.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS24.html#a53cbdb8a88cd252aa2f62cbfcf7eaa8c">   39</a></span>&#160;    <a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> <a class="code" href="structFP4__BLS24.html#a53cbdb8a88cd252aa2f62cbfcf7eaa8c">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS24.html#a20e23cd7abac73cfaf22f2be5156dd10">   40</a></span>&#160;    <a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> <a class="code" href="structFP4__BLS24.html#a20e23cd7abac73cfaf22f2be5156dd10">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS24_8h.html#a12912abdd589b9e6342f5a279ada862a">FP4_BLS24_iszilch</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS24_8h.html#a5977613624843bd02a5580e265e2b6e8">FP4_BLS24_isunity</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS24_8h.html#a6d504373f6d14c8052cab95060f9c6c1">FP4_BLS24_equals</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</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="fp4__BLS24_8h.html#af8c7823949978a925ef66ec409dfe022">FP4_BLS24_isreal</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a67f4af603fbd0d35423490ad353370b0">FP4_BLS24_from_FP2s</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#ab2a2958935aba1b7557b8739bc99ce6e">FP4_BLS24_from_FP2</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS24_8h.html#aa9d366e3cb26180c3e8a13a5b2b83217">FP4_BLS24_from_FP2H</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS24_8h.html#ae48a05f1f020de218ccc23b3923d42f5">FP4_BLS24_copy</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#aed91df9abd5ca7ecd1733abaf7794e5d">FP4_BLS24_zero</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#abd676ba46b4cf11e1de84dd90130468c">FP4_BLS24_one</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</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="fp4__BLS24_8h.html#a1ae64287abbacdc5cb1545c2168b5e9b">FP4_BLS24_neg</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a7e061d25e2d61828ebade0e07dceb459">FP4_BLS24_conj</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a21e113d9f008d76ba316c21f8941a2de">FP4_BLS24_nconj</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#acdfe69511baca15113ed759bcddccdb1">FP4_BLS24_add</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#af2c12f6f87a5fcc0c7b3b3f0e7db8312">FP4_BLS24_sub</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a7e3c6ae7813793284acc65ff42df93be">FP4_BLS24_pmul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a15a066a8329ea6f5feb7c471303dd054">FP4_BLS24_qmul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#abbefd4a3e0b4c3629db577762186b314">FP4_BLS24_imul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#acae99ec2a563570870d14cbb07df7602">FP4_BLS24_sqr</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#abc347edcbcf0cf41c676906ee5cef282">FP4_BLS24_mul</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a5ce587706631da3997b23ab2af25e20f">FP4_BLS24_inv</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a6119c4bd72cc838a13894878c7330e70">FP4_BLS24_output</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</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="fp4__BLS24_8h.html#a7e7959ea28922c0d92486c63c2d6f8e1">FP4_BLS24_rawoutput</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</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="fp4__BLS24_8h.html#a86af9f623313e08d2a593b24d3d64c58">FP4_BLS24_times_i</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</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="fp4__BLS24_8h.html#ad12ec58c7861e94bfcc22eaf8530dfd6">FP4_BLS24_norm</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</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="fp4__BLS24_8h.html#a3aa991a5bf012326d19e6ac031d901c7">FP4_BLS24_reduce</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a9c5fbdc552a61490f7eb6d28f31dbadb">FP4_BLS24_pow</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a8f4395c5a6e505d407714a048d4163b9">FP4_BLS24_frob</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a94b3a23253c038f20bdc312145ed5380">FP4_BLS24_xtr_A</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *w,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#aafbe6ac150fbdf3fed35c52ad7291d64">FP4_BLS24_xtr_D</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a8d3df7018ef9e32ae6294ac4a0841b73">FP4_BLS24_xtr_pow</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#afcc6c27e49775538ce9c141d61f3f4ad">FP4_BLS24_xtr_pow2</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *c,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *d,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *e,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *f,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#ac069ebcacb6f97055c39272cc645b287">FP4_BLS24_cmove</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS24_8h.html#a288ad04e1ac4251390be909f91135ea0">FP4_BLS24_sqrt</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *r,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a7064e736f52002e755612d0a10878e36">FP4_BLS24_div_i</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#ac75f2b5f3125e44e71c87e3a8f523906">FP4_BLS24_div_2i</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS24_8h.html#a65ea2b48cdfe5d414c19d4a529dd5be0">FP4_BLS24_div2</a>(<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS24_8h_html_aafbe6ac150fbdf3fed35c52ad7291d64"><div class="ttname"><a href="fp4__BLS24_8h.html#aafbe6ac150fbdf3fed35c52ad7291d64">FP4_BLS24_xtr_D</a></div><div class="ttdeci">void FP4_BLS24_xtr_D(FP4_BLS24 *r, FP4_BLS24 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:373</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a7e3c6ae7813793284acc65ff42df93be"><div class="ttname"><a href="fp4__BLS24_8h.html#a7e3c6ae7813793284acc65ff42df93be">FP4_BLS24_pmul</a></div><div class="ttdeci">void FP4_BLS24_pmul(FP4_BLS24 *x, FP4_BLS24 *y, FP2_BLS24 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:174</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_abd676ba46b4cf11e1de84dd90130468c"><div class="ttname"><a href="fp4__BLS24_8h.html#abd676ba46b4cf11e1de84dd90130468c">FP4_BLS24_one</a></div><div class="ttdeci">void FP4_BLS24_one(FP4_BLS24 *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:101</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a5977613624843bd02a5580e265e2b6e8"><div class="ttname"><a href="fp4__BLS24_8h.html#a5977613624843bd02a5580e265e2b6e8">FP4_BLS24_isunity</a></div><div class="ttdeci">int FP4_BLS24_isunity(FP4_BLS24 *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:37</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a7e061d25e2d61828ebade0e07dceb459"><div class="ttname"><a href="fp4__BLS24_8h.html#a7e061d25e2d61828ebade0e07dceb459">FP4_BLS24_conj</a></div><div class="ttdeci">void FP4_BLS24_conj(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:124</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_ab2a2958935aba1b7557b8739bc99ce6e"><div class="ttname"><a href="fp4__BLS24_8h.html#ab2a2958935aba1b7557b8739bc99ce6e">FP4_BLS24_from_FP2</a></div><div class="ttdeci">void FP4_BLS24_from_FP2(FP4_BLS24 *x, FP2_BLS24 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:68</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a8d3df7018ef9e32ae6294ac4a0841b73"><div class="ttname"><a href="fp4__BLS24_8h.html#a8d3df7018ef9e32ae6294ac4a0841b73">FP4_BLS24_xtr_pow</a></div><div class="ttdeci">void FP4_BLS24_xtr_pow(FP4_BLS24 *r, FP4_BLS24 *x, BIG_480_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:387</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a67f4af603fbd0d35423490ad353370b0"><div class="ttname"><a href="fp4__BLS24_8h.html#a67f4af603fbd0d35423490ad353370b0">FP4_BLS24_from_FP2s</a></div><div class="ttdeci">void FP4_BLS24_from_FP2s(FP4_BLS24 *x, FP2_BLS24 *a, FP2_BLS24 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:60</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a5ce587706631da3997b23ab2af25e20f"><div class="ttname"><a href="fp4__BLS24_8h.html#a5ce587706631da3997b23ab2af25e20f">FP4_BLS24_inv</a></div><div class="ttdeci">void FP4_BLS24_inv(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:279</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a8f4395c5a6e505d407714a048d4163b9"><div class="ttname"><a href="fp4__BLS24_8h.html#a8f4395c5a6e505d407714a048d4163b9">FP4_BLS24_frob</a></div><div class="ttdeci">void FP4_BLS24_frob(FP4_BLS24 *x, FP2_BLS24 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:317</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_ad12ec58c7861e94bfcc22eaf8530dfd6"><div class="ttname"><a href="fp4__BLS24_8h.html#ad12ec58c7861e94bfcc22eaf8530dfd6">FP4_BLS24_norm</a></div><div class="ttdeci">void FP4_BLS24_norm(FP4_BLS24 *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:166</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a86af9f623313e08d2a593b24d3d64c58"><div class="ttname"><a href="fp4__BLS24_8h.html#a86af9f623313e08d2a593b24d3d64c58">FP4_BLS24_times_i</a></div><div class="ttdeci">void FP4_BLS24_times_i(FP4_BLS24 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:296</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_aa9d366e3cb26180c3e8a13a5b2b83217"><div class="ttname"><a href="fp4__BLS24_8h.html#aa9d366e3cb26180c3e8a13a5b2b83217">FP4_BLS24_from_FP2H</a></div><div class="ttdeci">void FP4_BLS24_from_FP2H(FP4_BLS24 *x, FP2_BLS24 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:76</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_acae99ec2a563570870d14cbb07df7602"><div class="ttname"><a href="fp4__BLS24_8h.html#acae99ec2a563570870d14cbb07df7602">FP4_BLS24_sqr</a></div><div class="ttdeci">void FP4_BLS24_sqr(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:197</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a21e113d9f008d76ba316c21f8941a2de"><div class="ttname"><a href="fp4__BLS24_8h.html#a21e113d9f008d76ba316c21f8941a2de">FP4_BLS24_nconj</a></div><div class="ttdeci">void FP4_BLS24_nconj(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:133</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a3aa991a5bf012326d19e6ac031d901c7"><div class="ttname"><a href="fp4__BLS24_8h.html#a3aa991a5bf012326d19e6ac031d901c7">FP4_BLS24_reduce</a></div><div class="ttdeci">void FP4_BLS24_reduce(FP4_BLS24 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:158</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_abbefd4a3e0b4c3629db577762186b314"><div class="ttname"><a href="fp4__BLS24_8h.html#abbefd4a3e0b4c3629db577762186b314">FP4_BLS24_imul</a></div><div class="ttdeci">void FP4_BLS24_imul(FP4_BLS24 *x, FP4_BLS24 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:189</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a65ea2b48cdfe5d414c19d4a529dd5be0"><div class="ttname"><a href="fp4__BLS24_8h.html#a65ea2b48cdfe5d414c19d4a529dd5be0">FP4_BLS24_div2</a></div><div class="ttdeci">void FP4_BLS24_div2(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:586</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_abc347edcbcf0cf41c676906ee5cef282"><div class="ttname"><a href="fp4__BLS24_8h.html#abc347edcbcf0cf41c676906ee5cef282">FP4_BLS24_mul</a></div><div class="ttdeci">void FP4_BLS24_mul(FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:228</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a288ad04e1ac4251390be909f91135ea0"><div class="ttname"><a href="fp4__BLS24_8h.html#a288ad04e1ac4251390be909f91135ea0">FP4_BLS24_sqrt</a></div><div class="ttdeci">int FP4_BLS24_sqrt(FP4_BLS24 *r, FP4_BLS24 *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a6119c4bd72cc838a13894878c7330e70"><div class="ttname"><a href="fp4__BLS24_8h.html#a6119c4bd72cc838a13894878c7330e70">FP4_BLS24_output</a></div><div class="ttdeci">void FP4_BLS24_output(FP4_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:258</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_aed91df9abd5ca7ecd1733abaf7794e5d"><div class="ttname"><a href="fp4__BLS24_8h.html#aed91df9abd5ca7ecd1733abaf7794e5d">FP4_BLS24_zero</a></div><div class="ttdeci">void FP4_BLS24_zero(FP4_BLS24 *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:93</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_acdfe69511baca15113ed759bcddccdb1"><div class="ttname"><a href="fp4__BLS24_8h.html#acdfe69511baca15113ed759bcddccdb1">FP4_BLS24_add</a></div><div class="ttdeci">void FP4_BLS24_add(FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:142</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a7064e736f52002e755612d0a10878e36"><div class="ttname"><a href="fp4__BLS24_8h.html#a7064e736f52002e755612d0a10878e36">FP4_BLS24_div_i</a></div><div class="ttdeci">void FP4_BLS24_div_i(FP4_BLS24 *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a7e7959ea28922c0d92486c63c2d6f8e1"><div class="ttname"><a href="fp4__BLS24_8h.html#a7e7959ea28922c0d92486c63c2d6f8e1">FP4_BLS24_rawoutput</a></div><div class="ttdeci">void FP4_BLS24_rawoutput(FP4_BLS24 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:268</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_afcc6c27e49775538ce9c141d61f3f4ad"><div class="ttname"><a href="fp4__BLS24_8h.html#afcc6c27e49775538ce9c141d61f3f4ad">FP4_BLS24_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS24_xtr_pow2(FP4_BLS24 *r, FP4_BLS24 *c, FP4_BLS24 *d, FP4_BLS24 *e, FP4_BLS24 *f, BIG_480_56 a, BIG_480_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:444</div></div>
 <div class="ttc" id="structFP4__BLS24_html_a20e23cd7abac73cfaf22f2be5156dd10"><div class="ttname"><a href="structFP4__BLS24.html#a20e23cd7abac73cfaf22f2be5156dd10">FP4_BLS24::b</a></div><div class="ttdeci">FP2_BLS24 b</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:40</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_ac069ebcacb6f97055c39272cc645b287"><div class="ttname"><a href="fp4__BLS24_8h.html#ac069ebcacb6f97055c39272cc645b287">FP4_BLS24_cmove</a></div><div class="ttdeci">void FP4_BLS24_cmove(FP4_BLS24 *x, FP4_BLS24 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:577</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_ae48a05f1f020de218ccc23b3923d42f5"><div class="ttname"><a href="fp4__BLS24_8h.html#ae48a05f1f020de218ccc23b3923d42f5">FP4_BLS24_copy</a></div><div class="ttdeci">void FP4_BLS24_copy(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:84</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a1ae64287abbacdc5cb1545c2168b5e9b"><div class="ttname"><a href="fp4__BLS24_8h.html#a1ae64287abbacdc5cb1545c2168b5e9b">FP4_BLS24_neg</a></div><div class="ttdeci">void FP4_BLS24_neg(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:109</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a15a066a8329ea6f5feb7c471303dd054"><div class="ttname"><a href="fp4__BLS24_8h.html#a15a066a8329ea6f5feb7c471303dd054">FP4_BLS24_qmul</a></div><div class="ttdeci">void FP4_BLS24_qmul(FP4_BLS24 *x, FP4_BLS24 *y, FP_BLS24 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:181</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_af2c12f6f87a5fcc0c7b3b3f0e7db8312"><div class="ttname"><a href="fp4__BLS24_8h.html#af2c12f6f87a5fcc0c7b3b3f0e7db8312">FP4_BLS24_sub</a></div><div class="ttdeci">void FP4_BLS24_sub(FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:150</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_ac75f2b5f3125e44e71c87e3a8f523906"><div class="ttname"><a href="fp4__BLS24_8h.html#ac75f2b5f3125e44e71c87e3a8f523906">FP4_BLS24_div_2i</a></div><div class="ttdeci">void FP4_BLS24_div_2i(FP4_BLS24 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="structFP4__BLS24_html"><div class="ttname"><a href="structFP4__BLS24.html">FP4_BLS24</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:37</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a12912abdd589b9e6342f5a279ada862a"><div class="ttname"><a href="fp4__BLS24_8h.html#a12912abdd589b9e6342f5a279ada862a">FP4_BLS24_iszilch</a></div><div class="ttdeci">int FP4_BLS24_iszilch(FP4_BLS24 *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:29</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_ac069ebcacb6f97055c39272cc645b287"><div class="ttname"><a href="fp4__BLS24_8h.html#ac069ebcacb6f97055c39272cc645b287">FP4_BLS24_cmove</a></div><div class="ttdeci">void FP4_BLS24_cmove(FP4_BLS24 *x, FP4_BLS24 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:577</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_ae48a05f1f020de218ccc23b3923d42f5"><div class="ttname"><a href="fp4__BLS24_8h.html#ae48a05f1f020de218ccc23b3923d42f5">FP4_BLS24_copy</a></div><div class="ttdeci">void FP4_BLS24_copy(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:84</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a1ae64287abbacdc5cb1545c2168b5e9b"><div class="ttname"><a href="fp4__BLS24_8h.html#a1ae64287abbacdc5cb1545c2168b5e9b">FP4_BLS24_neg</a></div><div class="ttdeci">void FP4_BLS24_neg(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:109</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a15a066a8329ea6f5feb7c471303dd054"><div class="ttname"><a href="fp4__BLS24_8h.html#a15a066a8329ea6f5feb7c471303dd054">FP4_BLS24_qmul</a></div><div class="ttdeci">void FP4_BLS24_qmul(FP4_BLS24 *x, FP4_BLS24 *y, FP_BLS24 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:181</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_af2c12f6f87a5fcc0c7b3b3f0e7db8312"><div class="ttname"><a href="fp4__BLS24_8h.html#af2c12f6f87a5fcc0c7b3b3f0e7db8312">FP4_BLS24_sub</a></div><div class="ttdeci">void FP4_BLS24_sub(FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:150</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_ac75f2b5f3125e44e71c87e3a8f523906"><div class="ttname"><a href="fp4__BLS24_8h.html#ac75f2b5f3125e44e71c87e3a8f523906">FP4_BLS24_div_2i</a></div><div class="ttdeci">void FP4_BLS24_div_2i(FP4_BLS24 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="structFP4__BLS24_html"><div class="ttname"><a href="structFP4__BLS24.html">FP4_BLS24</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:37</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a12912abdd589b9e6342f5a279ada862a"><div class="ttname"><a href="fp4__BLS24_8h.html#a12912abdd589b9e6342f5a279ada862a">FP4_BLS24_iszilch</a></div><div class="ttdeci">int FP4_BLS24_iszilch(FP4_BLS24 *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:29</div></div>
 <div class="ttc" id="structFP4__BLS24_html_a53cbdb8a88cd252aa2f62cbfcf7eaa8c"><div class="ttname"><a href="structFP4__BLS24.html#a53cbdb8a88cd252aa2f62cbfcf7eaa8c">FP4_BLS24::a</a></div><div class="ttdeci">FP2_BLS24 a</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:39</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a9c5fbdc552a61490f7eb6d28f31dbadb"><div class="ttname"><a href="fp4__BLS24_8h.html#a9c5fbdc552a61490f7eb6d28f31dbadb">FP4_BLS24_pow</a></div><div class="ttdeci">void FP4_BLS24_pow(FP4_BLS24 *x, FP4_BLS24 *y, BIG_480_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:326</div></div>
-<div class="ttc" id="fp2__BLS24_8h_html"><div class="ttname"><a href="fp2__BLS24_8h.html">fp2_BLS24.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a9c5fbdc552a61490f7eb6d28f31dbadb"><div class="ttname"><a href="fp4__BLS24_8h.html#a9c5fbdc552a61490f7eb6d28f31dbadb">FP4_BLS24_pow</a></div><div class="ttdeci">void FP4_BLS24_pow(FP4_BLS24 *x, FP4_BLS24 *y, BIG_480_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:326</div></div>
+<div class="ttc" id="fp2__BLS24_8h_html"><div class="ttname"><a href="fp2__BLS24_8h.html">fp2_BLS24.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a6d504373f6d14c8052cab95060f9c6c1"><div class="ttname"><a href="fp4__BLS24_8h.html#a6d504373f6d14c8052cab95060f9c6c1">FP4_BLS24_equals</a></div><div class="ttdeci">int FP4_BLS24_equals(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:51</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_a94b3a23253c038f20bdc312145ed5380"><div class="ttname"><a href="fp4__BLS24_8h.html#a94b3a23253c038f20bdc312145ed5380">FP4_BLS24_xtr_A</a></div><div class="ttdeci">void FP4_BLS24_xtr_A(FP4_BLS24 *r, FP4_BLS24 *w, FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:353</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html_af8c7823949978a925ef66ec409dfe022"><div class="ttname"><a href="fp4__BLS24_8h.html#af8c7823949978a925ef66ec409dfe022">FP4_BLS24_isreal</a></div><div class="ttdeci">int FP4_BLS24_isreal(FP4_BLS24 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:44</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a6d504373f6d14c8052cab95060f9c6c1"><div class="ttname"><a href="fp4__BLS24_8h.html#a6d504373f6d14c8052cab95060f9c6c1">FP4_BLS24_equals</a></div><div class="ttdeci">int FP4_BLS24_equals(FP4_BLS24 *x, FP4_BLS24 *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:51</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_a94b3a23253c038f20bdc312145ed5380"><div class="ttname"><a href="fp4__BLS24_8h.html#a94b3a23253c038f20bdc312145ed5380">FP4_BLS24_xtr_A</a></div><div class="ttdeci">void FP4_BLS24_xtr_A(FP4_BLS24 *r, FP4_BLS24 *w, FP4_BLS24 *x, FP4_BLS24 *y, FP4_BLS24 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:353</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html_af8c7823949978a925ef66ec409dfe022"><div class="ttname"><a href="fp4__BLS24_8h.html#af8c7823949978a925ef66ec409dfe022">FP4_BLS24_isreal</a></div><div class="ttdeci">int FP4_BLS24_isreal(FP4_BLS24 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.c:44</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/fp4__BLS381_8h.html b/website/static/cdocs/fp4__BLS381_8h.html
index 52b66d8..c68b442 100644
--- a/website/static/cdocs/fp4__BLS381_8h.html
+++ b/website/static/cdocs/fp4__BLS381_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: fp4_BLS381.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"
@@ -1502,7 +1505,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/fp4__BLS381_8h_source.html b/website/static/cdocs/fp4__BLS381_8h_source.html
index 594e16d..69c7ad2 100644
--- a/website/static/cdocs/fp4__BLS381_8h_source.html
+++ b/website/static/cdocs/fp4__BLS381_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: fp4_BLS381.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,56 +72,56 @@
 <div class="title">fp4_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__BLS381_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 FP4_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS381_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 &quot;<a class="code" href="fp2__BLS381_8h.html">fp2_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS381.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS381.html#a899f33e45062a3d340930fa31b1965d4">   39</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structFP4__BLS381.html#a899f33e45062a3d340930fa31b1965d4">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS381.html#a8f2c3b4c985c0901afc03685d09819c3">   40</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structFP4__BLS381.html#a8f2c3b4c985c0901afc03685d09819c3">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS381_8h.html#aa51157714a2a0e4a5c50e64cd504fe46">FP4_BLS381_iszilch</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS381_8h.html#af9cf51971cc8f573c7344558d1339789">FP4_BLS381_isunity</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS381_8h.html#aac0ad2e15f4cc8f49f83e601ab5f671f">FP4_BLS381_equals</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</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="fp4__BLS381_8h.html#aa662afe5c788246962d2c96755dd3c1d">FP4_BLS381_isreal</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#af5d76817be2ee127e046e643f39b6a75">FP4_BLS381_from_FP2s</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a4daafa3cb6a391dfcb5f41820afa9c7a">FP4_BLS381_from_FP2</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS381_8h.html#a742271ef2bb176f6497e902f07052025">FP4_BLS381_from_FP2H</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS381_8h.html#a70c4281ed16fcad78ee7e0b3fb2f6bf9">FP4_BLS381_copy</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a4b786b60ed5079d3adc5e0b5133d6517">FP4_BLS381_zero</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ab50beba776de6e348b054362008d4728">FP4_BLS381_one</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</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="fp4__BLS381_8h.html#a2946cee8c062bd7380d7d8c7747bb9be">FP4_BLS381_neg</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ae493deeb5cec8fb062bd7151df22236f">FP4_BLS381_conj</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a8e5b68257df8c729f8c1d6b96ef23592">FP4_BLS381_nconj</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a707b4c9c640bd8a4e88dfc4c808c9a2c">FP4_BLS381_add</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#aa0923c97b9168620ba93e4f242a889a5">FP4_BLS381_sub</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ae7dd9851711144d355178b3d48fc67ad">FP4_BLS381_pmul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#aae7d3c9887889f5f575fe9af27f0f94c">FP4_BLS381_qmul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a8def6afdc8a243542cb59343663e6628">FP4_BLS381_imul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a333363f97cf7558d6f0ec3524458c27b">FP4_BLS381_sqr</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a99d5aeda5071fc021fd04929ffc2a46c">FP4_BLS381_mul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a8fc2b9f1287b263ef7a67ec45b9492eb">FP4_BLS381_inv</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a5a0bfd56e0ebe0550f6246c8d595d29b">FP4_BLS381_output</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</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="fp4__BLS381_8h.html#a9d2481ac152e700d040a534c81ce131d">FP4_BLS381_rawoutput</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</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="fp4__BLS381_8h.html#a20d505b5f92360e5237b129c9eb7a9cb">FP4_BLS381_times_i</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</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="fp4__BLS381_8h.html#a4a821f4a2406ef5919090263d36ca176">FP4_BLS381_norm</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</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="fp4__BLS381_8h.html#a2dcdfcc87f2f05e7ddb3430a49608da1">FP4_BLS381_reduce</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#af06473736ed6b470cee82b8ae152846b">FP4_BLS381_pow</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ac0f5e5bc27525249478b9fc45a049f90">FP4_BLS381_frob</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a231fabac382ff8bb90773fa86a1d5ace">FP4_BLS381_xtr_A</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *w,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a05b0df476b4be3442432332a5865bbd8">FP4_BLS381_xtr_D</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a6a586dd443c97009bd1a98a30cadc4ae">FP4_BLS381_xtr_pow</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#abeddca18c79d425fd681a93b63a20186">FP4_BLS381_xtr_pow2</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *c,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *d,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *e,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *f,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ae62020709f74c67526d4f06856f17ced">FP4_BLS381_cmove</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS381_8h.html#a53b81fdb390a6058ddd042cc0c448d9c">FP4_BLS381_sqrt</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a5c264ea7b67e3ea964563eada37fc3ae">FP4_BLS381_div_i</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a42f96c4b1ae9a9f6a4e0268e232e8048">FP4_BLS381_div_2i</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a190b8a55edc215fc6dfb211f8d88face">FP4_BLS381_div2</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS381_8h_html_aae7d3c9887889f5f575fe9af27f0f94c"><div class="ttname"><a href="fp4__BLS381_8h.html#aae7d3c9887889f5f575fe9af27f0f94c">FP4_BLS381_qmul</a></div><div class="ttdeci">void FP4_BLS381_qmul(FP4_BLS381 *x, FP4_BLS381 *y, FP_BLS381 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:181</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a42f96c4b1ae9a9f6a4e0268e232e8048"><div class="ttname"><a href="fp4__BLS381_8h.html#a42f96c4b1ae9a9f6a4e0268e232e8048">FP4_BLS381_div_2i</a></div><div class="ttdeci">void FP4_BLS381_div_2i(FP4_BLS381 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a2dcdfcc87f2f05e7ddb3430a49608da1"><div class="ttname"><a href="fp4__BLS381_8h.html#a2dcdfcc87f2f05e7ddb3430a49608da1">FP4_BLS381_reduce</a></div><div class="ttdeci">void FP4_BLS381_reduce(FP4_BLS381 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:158</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_aa51157714a2a0e4a5c50e64cd504fe46"><div class="ttname"><a href="fp4__BLS381_8h.html#aa51157714a2a0e4a5c50e64cd504fe46">FP4_BLS381_iszilch</a></div><div class="ttdeci">int FP4_BLS381_iszilch(FP4_BLS381 *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:29</div></div>
-<div class="ttc" id="structFP4__BLS381_html"><div class="ttname"><a href="structFP4__BLS381.html">FP4_BLS381</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.h:37</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a8e5b68257df8c729f8c1d6b96ef23592"><div class="ttname"><a href="fp4__BLS381_8h.html#a8e5b68257df8c729f8c1d6b96ef23592">FP4_BLS381_nconj</a></div><div class="ttdeci">void FP4_BLS381_nconj(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:133</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a2946cee8c062bd7380d7d8c7747bb9be"><div class="ttname"><a href="fp4__BLS381_8h.html#a2946cee8c062bd7380d7d8c7747bb9be">FP4_BLS381_neg</a></div><div class="ttdeci">void FP4_BLS381_neg(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:109</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a5a0bfd56e0ebe0550f6246c8d595d29b"><div class="ttname"><a href="fp4__BLS381_8h.html#a5a0bfd56e0ebe0550f6246c8d595d29b">FP4_BLS381_output</a></div><div class="ttdeci">void FP4_BLS381_output(FP4_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:258</div></div>
-<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a20d505b5f92360e5237b129c9eb7a9cb"><div class="ttname"><a href="fp4__BLS381_8h.html#a20d505b5f92360e5237b129c9eb7a9cb">FP4_BLS381_times_i</a></div><div class="ttdeci">void FP4_BLS381_times_i(FP4_BLS381 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:296</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a9d2481ac152e700d040a534c81ce131d"><div class="ttname"><a href="fp4__BLS381_8h.html#a9d2481ac152e700d040a534c81ce131d">FP4_BLS381_rawoutput</a></div><div class="ttdeci">void FP4_BLS381_rawoutput(FP4_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:268</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a231fabac382ff8bb90773fa86a1d5ace"><div class="ttname"><a href="fp4__BLS381_8h.html#a231fabac382ff8bb90773fa86a1d5ace">FP4_BLS381_xtr_A</a></div><div class="ttdeci">void FP4_BLS381_xtr_A(FP4_BLS381 *r, FP4_BLS381 *w, FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:353</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a53b81fdb390a6058ddd042cc0c448d9c"><div class="ttname"><a href="fp4__BLS381_8h.html#a53b81fdb390a6058ddd042cc0c448d9c">FP4_BLS381_sqrt</a></div><div class="ttdeci">int FP4_BLS381_sqrt(FP4_BLS381 *r, FP4_BLS381 *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
+<a href="fp4__BLS381_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 FP4_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS381_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 &quot;<a class="code" href="fp2__BLS381_8h.html">fp2_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS381.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS381.html#a899f33e45062a3d340930fa31b1965d4">   39</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structFP4__BLS381.html#a899f33e45062a3d340930fa31b1965d4">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS381.html#a8f2c3b4c985c0901afc03685d09819c3">   40</a></span>&#160;    <a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> <a class="code" href="structFP4__BLS381.html#a8f2c3b4c985c0901afc03685d09819c3">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS381.html">FP4_BLS381</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS381_8h.html#aa51157714a2a0e4a5c50e64cd504fe46">FP4_BLS381_iszilch</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS381_8h.html#af9cf51971cc8f573c7344558d1339789">FP4_BLS381_isunity</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS381_8h.html#aac0ad2e15f4cc8f49f83e601ab5f671f">FP4_BLS381_equals</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</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="fp4__BLS381_8h.html#aa662afe5c788246962d2c96755dd3c1d">FP4_BLS381_isreal</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#af5d76817be2ee127e046e643f39b6a75">FP4_BLS381_from_FP2s</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a4daafa3cb6a391dfcb5f41820afa9c7a">FP4_BLS381_from_FP2</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS381_8h.html#a742271ef2bb176f6497e902f07052025">FP4_BLS381_from_FP2H</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS381_8h.html#a70c4281ed16fcad78ee7e0b3fb2f6bf9">FP4_BLS381_copy</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a4b786b60ed5079d3adc5e0b5133d6517">FP4_BLS381_zero</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ab50beba776de6e348b054362008d4728">FP4_BLS381_one</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</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="fp4__BLS381_8h.html#a2946cee8c062bd7380d7d8c7747bb9be">FP4_BLS381_neg</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ae493deeb5cec8fb062bd7151df22236f">FP4_BLS381_conj</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a8e5b68257df8c729f8c1d6b96ef23592">FP4_BLS381_nconj</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a707b4c9c640bd8a4e88dfc4c808c9a2c">FP4_BLS381_add</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#aa0923c97b9168620ba93e4f242a889a5">FP4_BLS381_sub</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ae7dd9851711144d355178b3d48fc67ad">FP4_BLS381_pmul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#aae7d3c9887889f5f575fe9af27f0f94c">FP4_BLS381_qmul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a8def6afdc8a243542cb59343663e6628">FP4_BLS381_imul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a333363f97cf7558d6f0ec3524458c27b">FP4_BLS381_sqr</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a99d5aeda5071fc021fd04929ffc2a46c">FP4_BLS381_mul</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a8fc2b9f1287b263ef7a67ec45b9492eb">FP4_BLS381_inv</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a5a0bfd56e0ebe0550f6246c8d595d29b">FP4_BLS381_output</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</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="fp4__BLS381_8h.html#a9d2481ac152e700d040a534c81ce131d">FP4_BLS381_rawoutput</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</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="fp4__BLS381_8h.html#a20d505b5f92360e5237b129c9eb7a9cb">FP4_BLS381_times_i</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</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="fp4__BLS381_8h.html#a4a821f4a2406ef5919090263d36ca176">FP4_BLS381_norm</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</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="fp4__BLS381_8h.html#a2dcdfcc87f2f05e7ddb3430a49608da1">FP4_BLS381_reduce</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#af06473736ed6b470cee82b8ae152846b">FP4_BLS381_pow</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ac0f5e5bc27525249478b9fc45a049f90">FP4_BLS381_frob</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP2__BLS381.html">FP2_BLS381</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a231fabac382ff8bb90773fa86a1d5ace">FP4_BLS381_xtr_A</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *w,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a05b0df476b4be3442432332a5865bbd8">FP4_BLS381_xtr_D</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a6a586dd443c97009bd1a98a30cadc4ae">FP4_BLS381_xtr_pow</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#abeddca18c79d425fd681a93b63a20186">FP4_BLS381_xtr_pow2</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *c,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *d,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *e,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *f,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#ae62020709f74c67526d4f06856f17ced">FP4_BLS381_cmove</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS381_8h.html#a53b81fdb390a6058ddd042cc0c448d9c">FP4_BLS381_sqrt</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *r,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a5c264ea7b67e3ea964563eada37fc3ae">FP4_BLS381_div_i</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a42f96c4b1ae9a9f6a4e0268e232e8048">FP4_BLS381_div_2i</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS381_8h.html#a190b8a55edc215fc6dfb211f8d88face">FP4_BLS381_div2</a>(<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *x,<a class="code" href="structFP4__BLS381.html">FP4_BLS381</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS381_8h_html_aae7d3c9887889f5f575fe9af27f0f94c"><div class="ttname"><a href="fp4__BLS381_8h.html#aae7d3c9887889f5f575fe9af27f0f94c">FP4_BLS381_qmul</a></div><div class="ttdeci">void FP4_BLS381_qmul(FP4_BLS381 *x, FP4_BLS381 *y, FP_BLS381 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:181</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a42f96c4b1ae9a9f6a4e0268e232e8048"><div class="ttname"><a href="fp4__BLS381_8h.html#a42f96c4b1ae9a9f6a4e0268e232e8048">FP4_BLS381_div_2i</a></div><div class="ttdeci">void FP4_BLS381_div_2i(FP4_BLS381 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a2dcdfcc87f2f05e7ddb3430a49608da1"><div class="ttname"><a href="fp4__BLS381_8h.html#a2dcdfcc87f2f05e7ddb3430a49608da1">FP4_BLS381_reduce</a></div><div class="ttdeci">void FP4_BLS381_reduce(FP4_BLS381 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:158</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_aa51157714a2a0e4a5c50e64cd504fe46"><div class="ttname"><a href="fp4__BLS381_8h.html#aa51157714a2a0e4a5c50e64cd504fe46">FP4_BLS381_iszilch</a></div><div class="ttdeci">int FP4_BLS381_iszilch(FP4_BLS381 *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:29</div></div>
+<div class="ttc" id="structFP4__BLS381_html"><div class="ttname"><a href="structFP4__BLS381.html">FP4_BLS381</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.h:37</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a8e5b68257df8c729f8c1d6b96ef23592"><div class="ttname"><a href="fp4__BLS381_8h.html#a8e5b68257df8c729f8c1d6b96ef23592">FP4_BLS381_nconj</a></div><div class="ttdeci">void FP4_BLS381_nconj(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:133</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a2946cee8c062bd7380d7d8c7747bb9be"><div class="ttname"><a href="fp4__BLS381_8h.html#a2946cee8c062bd7380d7d8c7747bb9be">FP4_BLS381_neg</a></div><div class="ttdeci">void FP4_BLS381_neg(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:109</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a5a0bfd56e0ebe0550f6246c8d595d29b"><div class="ttname"><a href="fp4__BLS381_8h.html#a5a0bfd56e0ebe0550f6246c8d595d29b">FP4_BLS381_output</a></div><div class="ttdeci">void FP4_BLS381_output(FP4_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:258</div></div>
+<div class="ttc" id="structFP2__BLS381_html"><div class="ttname"><a href="structFP2__BLS381.html">FP2_BLS381</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS381.h:36</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a20d505b5f92360e5237b129c9eb7a9cb"><div class="ttname"><a href="fp4__BLS381_8h.html#a20d505b5f92360e5237b129c9eb7a9cb">FP4_BLS381_times_i</a></div><div class="ttdeci">void FP4_BLS381_times_i(FP4_BLS381 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:296</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a9d2481ac152e700d040a534c81ce131d"><div class="ttname"><a href="fp4__BLS381_8h.html#a9d2481ac152e700d040a534c81ce131d">FP4_BLS381_rawoutput</a></div><div class="ttdeci">void FP4_BLS381_rawoutput(FP4_BLS381 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:268</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a231fabac382ff8bb90773fa86a1d5ace"><div class="ttname"><a href="fp4__BLS381_8h.html#a231fabac382ff8bb90773fa86a1d5ace">FP4_BLS381_xtr_A</a></div><div class="ttdeci">void FP4_BLS381_xtr_A(FP4_BLS381 *r, FP4_BLS381 *w, FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:353</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a53b81fdb390a6058ddd042cc0c448d9c"><div class="ttname"><a href="fp4__BLS381_8h.html#a53b81fdb390a6058ddd042cc0c448d9c">FP4_BLS381_sqrt</a></div><div class="ttdeci">int FP4_BLS381_sqrt(FP4_BLS381 *r, FP4_BLS381 *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a05b0df476b4be3442432332a5865bbd8"><div class="ttname"><a href="fp4__BLS381_8h.html#a05b0df476b4be3442432332a5865bbd8">FP4_BLS381_xtr_D</a></div><div class="ttdeci">void FP4_BLS381_xtr_D(FP4_BLS381 *r, FP4_BLS381 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:373</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_aa0923c97b9168620ba93e4f242a889a5"><div class="ttname"><a href="fp4__BLS381_8h.html#aa0923c97b9168620ba93e4f242a889a5">FP4_BLS381_sub</a></div><div class="ttdeci">void FP4_BLS381_sub(FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:150</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_aa662afe5c788246962d2c96755dd3c1d"><div class="ttname"><a href="fp4__BLS381_8h.html#aa662afe5c788246962d2c96755dd3c1d">FP4_BLS381_isreal</a></div><div class="ttdeci">int FP4_BLS381_isreal(FP4_BLS381 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:44</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a05b0df476b4be3442432332a5865bbd8"><div class="ttname"><a href="fp4__BLS381_8h.html#a05b0df476b4be3442432332a5865bbd8">FP4_BLS381_xtr_D</a></div><div class="ttdeci">void FP4_BLS381_xtr_D(FP4_BLS381 *r, FP4_BLS381 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:373</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_aa0923c97b9168620ba93e4f242a889a5"><div class="ttname"><a href="fp4__BLS381_8h.html#aa0923c97b9168620ba93e4f242a889a5">FP4_BLS381_sub</a></div><div class="ttdeci">void FP4_BLS381_sub(FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:150</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_aa662afe5c788246962d2c96755dd3c1d"><div class="ttname"><a href="fp4__BLS381_8h.html#aa662afe5c788246962d2c96755dd3c1d">FP4_BLS381_isreal</a></div><div class="ttdeci">int FP4_BLS381_isreal(FP4_BLS381 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:44</div></div>
 <div class="ttc" id="structFP4__BLS381_html_a899f33e45062a3d340930fa31b1965d4"><div class="ttname"><a href="structFP4__BLS381.html#a899f33e45062a3d340930fa31b1965d4">FP4_BLS381::a</a></div><div class="ttdeci">FP2_BLS381 a</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.h:39</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_af06473736ed6b470cee82b8ae152846b"><div class="ttname"><a href="fp4__BLS381_8h.html#af06473736ed6b470cee82b8ae152846b">FP4_BLS381_pow</a></div><div class="ttdeci">void FP4_BLS381_pow(FP4_BLS381 *x, FP4_BLS381 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:326</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a4b786b60ed5079d3adc5e0b5133d6517"><div class="ttname"><a href="fp4__BLS381_8h.html#a4b786b60ed5079d3adc5e0b5133d6517">FP4_BLS381_zero</a></div><div class="ttdeci">void FP4_BLS381_zero(FP4_BLS381 *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:93</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a333363f97cf7558d6f0ec3524458c27b"><div class="ttname"><a href="fp4__BLS381_8h.html#a333363f97cf7558d6f0ec3524458c27b">FP4_BLS381_sqr</a></div><div class="ttdeci">void FP4_BLS381_sqr(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:197</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a5c264ea7b67e3ea964563eada37fc3ae"><div class="ttname"><a href="fp4__BLS381_8h.html#a5c264ea7b67e3ea964563eada37fc3ae">FP4_BLS381_div_i</a></div><div class="ttdeci">void FP4_BLS381_div_i(FP4_BLS381 *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a70c4281ed16fcad78ee7e0b3fb2f6bf9"><div class="ttname"><a href="fp4__BLS381_8h.html#a70c4281ed16fcad78ee7e0b3fb2f6bf9">FP4_BLS381_copy</a></div><div class="ttdeci">void FP4_BLS381_copy(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:84</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_af06473736ed6b470cee82b8ae152846b"><div class="ttname"><a href="fp4__BLS381_8h.html#af06473736ed6b470cee82b8ae152846b">FP4_BLS381_pow</a></div><div class="ttdeci">void FP4_BLS381_pow(FP4_BLS381 *x, FP4_BLS381 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:326</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a4b786b60ed5079d3adc5e0b5133d6517"><div class="ttname"><a href="fp4__BLS381_8h.html#a4b786b60ed5079d3adc5e0b5133d6517">FP4_BLS381_zero</a></div><div class="ttdeci">void FP4_BLS381_zero(FP4_BLS381 *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:93</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a333363f97cf7558d6f0ec3524458c27b"><div class="ttname"><a href="fp4__BLS381_8h.html#a333363f97cf7558d6f0ec3524458c27b">FP4_BLS381_sqr</a></div><div class="ttdeci">void FP4_BLS381_sqr(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:197</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a5c264ea7b67e3ea964563eada37fc3ae"><div class="ttname"><a href="fp4__BLS381_8h.html#a5c264ea7b67e3ea964563eada37fc3ae">FP4_BLS381_div_i</a></div><div class="ttdeci">void FP4_BLS381_div_i(FP4_BLS381 *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a70c4281ed16fcad78ee7e0b3fb2f6bf9"><div class="ttname"><a href="fp4__BLS381_8h.html#a70c4281ed16fcad78ee7e0b3fb2f6bf9">FP4_BLS381_copy</a></div><div class="ttdeci">void FP4_BLS381_copy(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:84</div></div>
 <div class="ttc" id="structFP4__BLS381_html_a8f2c3b4c985c0901afc03685d09819c3"><div class="ttname"><a href="structFP4__BLS381.html#a8f2c3b4c985c0901afc03685d09819c3">FP4_BLS381::b</a></div><div class="ttdeci">FP2_BLS381 b</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.h:40</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_ac0f5e5bc27525249478b9fc45a049f90"><div class="ttname"><a href="fp4__BLS381_8h.html#ac0f5e5bc27525249478b9fc45a049f90">FP4_BLS381_frob</a></div><div class="ttdeci">void FP4_BLS381_frob(FP4_BLS381 *x, FP2_BLS381 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:317</div></div>
-<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_af9cf51971cc8f573c7344558d1339789"><div class="ttname"><a href="fp4__BLS381_8h.html#af9cf51971cc8f573c7344558d1339789">FP4_BLS381_isunity</a></div><div class="ttdeci">int FP4_BLS381_isunity(FP4_BLS381 *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:37</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_ae7dd9851711144d355178b3d48fc67ad"><div class="ttname"><a href="fp4__BLS381_8h.html#ae7dd9851711144d355178b3d48fc67ad">FP4_BLS381_pmul</a></div><div class="ttdeci">void FP4_BLS381_pmul(FP4_BLS381 *x, FP4_BLS381 *y, FP2_BLS381 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:174</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_af5d76817be2ee127e046e643f39b6a75"><div class="ttname"><a href="fp4__BLS381_8h.html#af5d76817be2ee127e046e643f39b6a75">FP4_BLS381_from_FP2s</a></div><div class="ttdeci">void FP4_BLS381_from_FP2s(FP4_BLS381 *x, FP2_BLS381 *a, FP2_BLS381 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:60</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a707b4c9c640bd8a4e88dfc4c808c9a2c"><div class="ttname"><a href="fp4__BLS381_8h.html#a707b4c9c640bd8a4e88dfc4c808c9a2c">FP4_BLS381_add</a></div><div class="ttdeci">void FP4_BLS381_add(FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:142</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a6a586dd443c97009bd1a98a30cadc4ae"><div class="ttname"><a href="fp4__BLS381_8h.html#a6a586dd443c97009bd1a98a30cadc4ae">FP4_BLS381_xtr_pow</a></div><div class="ttdeci">void FP4_BLS381_xtr_pow(FP4_BLS381 *r, FP4_BLS381 *x, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:387</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_ae62020709f74c67526d4f06856f17ced"><div class="ttname"><a href="fp4__BLS381_8h.html#ae62020709f74c67526d4f06856f17ced">FP4_BLS381_cmove</a></div><div class="ttdeci">void FP4_BLS381_cmove(FP4_BLS381 *x, FP4_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:577</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_ae493deeb5cec8fb062bd7151df22236f"><div class="ttname"><a href="fp4__BLS381_8h.html#ae493deeb5cec8fb062bd7151df22236f">FP4_BLS381_conj</a></div><div class="ttdeci">void FP4_BLS381_conj(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:124</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a99d5aeda5071fc021fd04929ffc2a46c"><div class="ttname"><a href="fp4__BLS381_8h.html#a99d5aeda5071fc021fd04929ffc2a46c">FP4_BLS381_mul</a></div><div class="ttdeci">void FP4_BLS381_mul(FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:228</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a8def6afdc8a243542cb59343663e6628"><div class="ttname"><a href="fp4__BLS381_8h.html#a8def6afdc8a243542cb59343663e6628">FP4_BLS381_imul</a></div><div class="ttdeci">void FP4_BLS381_imul(FP4_BLS381 *x, FP4_BLS381 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:189</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a8fc2b9f1287b263ef7a67ec45b9492eb"><div class="ttname"><a href="fp4__BLS381_8h.html#a8fc2b9f1287b263ef7a67ec45b9492eb">FP4_BLS381_inv</a></div><div class="ttdeci">void FP4_BLS381_inv(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:279</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_ab50beba776de6e348b054362008d4728"><div class="ttname"><a href="fp4__BLS381_8h.html#ab50beba776de6e348b054362008d4728">FP4_BLS381_one</a></div><div class="ttdeci">void FP4_BLS381_one(FP4_BLS381 *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:101</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a4a821f4a2406ef5919090263d36ca176"><div class="ttname"><a href="fp4__BLS381_8h.html#a4a821f4a2406ef5919090263d36ca176">FP4_BLS381_norm</a></div><div class="ttdeci">void FP4_BLS381_norm(FP4_BLS381 *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:166</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_aac0ad2e15f4cc8f49f83e601ab5f671f"><div class="ttname"><a href="fp4__BLS381_8h.html#aac0ad2e15f4cc8f49f83e601ab5f671f">FP4_BLS381_equals</a></div><div class="ttdeci">int FP4_BLS381_equals(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:51</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a742271ef2bb176f6497e902f07052025"><div class="ttname"><a href="fp4__BLS381_8h.html#a742271ef2bb176f6497e902f07052025">FP4_BLS381_from_FP2H</a></div><div class="ttdeci">void FP4_BLS381_from_FP2H(FP4_BLS381 *x, FP2_BLS381 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:76</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_abeddca18c79d425fd681a93b63a20186"><div class="ttname"><a href="fp4__BLS381_8h.html#abeddca18c79d425fd681a93b63a20186">FP4_BLS381_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS381_xtr_pow2(FP4_BLS381 *r, FP4_BLS381 *c, FP4_BLS381 *d, FP4_BLS381 *e, FP4_BLS381 *f, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:444</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a190b8a55edc215fc6dfb211f8d88face"><div class="ttname"><a href="fp4__BLS381_8h.html#a190b8a55edc215fc6dfb211f8d88face">FP4_BLS381_div2</a></div><div class="ttdeci">void FP4_BLS381_div2(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:586</div></div>
-<div class="ttc" id="fp2__BLS381_8h_html"><div class="ttname"><a href="fp2__BLS381_8h.html">fp2_BLS381.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__BLS381_8h_html_a4daafa3cb6a391dfcb5f41820afa9c7a"><div class="ttname"><a href="fp4__BLS381_8h.html#a4daafa3cb6a391dfcb5f41820afa9c7a">FP4_BLS381_from_FP2</a></div><div class="ttdeci">void FP4_BLS381_from_FP2(FP4_BLS381 *x, FP2_BLS381 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:68</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_ac0f5e5bc27525249478b9fc45a049f90"><div class="ttname"><a href="fp4__BLS381_8h.html#ac0f5e5bc27525249478b9fc45a049f90">FP4_BLS381_frob</a></div><div class="ttdeci">void FP4_BLS381_frob(FP4_BLS381 *x, FP2_BLS381 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:317</div></div>
+<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_af9cf51971cc8f573c7344558d1339789"><div class="ttname"><a href="fp4__BLS381_8h.html#af9cf51971cc8f573c7344558d1339789">FP4_BLS381_isunity</a></div><div class="ttdeci">int FP4_BLS381_isunity(FP4_BLS381 *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:37</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_ae7dd9851711144d355178b3d48fc67ad"><div class="ttname"><a href="fp4__BLS381_8h.html#ae7dd9851711144d355178b3d48fc67ad">FP4_BLS381_pmul</a></div><div class="ttdeci">void FP4_BLS381_pmul(FP4_BLS381 *x, FP4_BLS381 *y, FP2_BLS381 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:174</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_af5d76817be2ee127e046e643f39b6a75"><div class="ttname"><a href="fp4__BLS381_8h.html#af5d76817be2ee127e046e643f39b6a75">FP4_BLS381_from_FP2s</a></div><div class="ttdeci">void FP4_BLS381_from_FP2s(FP4_BLS381 *x, FP2_BLS381 *a, FP2_BLS381 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:60</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a707b4c9c640bd8a4e88dfc4c808c9a2c"><div class="ttname"><a href="fp4__BLS381_8h.html#a707b4c9c640bd8a4e88dfc4c808c9a2c">FP4_BLS381_add</a></div><div class="ttdeci">void FP4_BLS381_add(FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:142</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a6a586dd443c97009bd1a98a30cadc4ae"><div class="ttname"><a href="fp4__BLS381_8h.html#a6a586dd443c97009bd1a98a30cadc4ae">FP4_BLS381_xtr_pow</a></div><div class="ttdeci">void FP4_BLS381_xtr_pow(FP4_BLS381 *r, FP4_BLS381 *x, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:387</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_ae62020709f74c67526d4f06856f17ced"><div class="ttname"><a href="fp4__BLS381_8h.html#ae62020709f74c67526d4f06856f17ced">FP4_BLS381_cmove</a></div><div class="ttdeci">void FP4_BLS381_cmove(FP4_BLS381 *x, FP4_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:577</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_ae493deeb5cec8fb062bd7151df22236f"><div class="ttname"><a href="fp4__BLS381_8h.html#ae493deeb5cec8fb062bd7151df22236f">FP4_BLS381_conj</a></div><div class="ttdeci">void FP4_BLS381_conj(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:124</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a99d5aeda5071fc021fd04929ffc2a46c"><div class="ttname"><a href="fp4__BLS381_8h.html#a99d5aeda5071fc021fd04929ffc2a46c">FP4_BLS381_mul</a></div><div class="ttdeci">void FP4_BLS381_mul(FP4_BLS381 *x, FP4_BLS381 *y, FP4_BLS381 *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:228</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a8def6afdc8a243542cb59343663e6628"><div class="ttname"><a href="fp4__BLS381_8h.html#a8def6afdc8a243542cb59343663e6628">FP4_BLS381_imul</a></div><div class="ttdeci">void FP4_BLS381_imul(FP4_BLS381 *x, FP4_BLS381 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:189</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a8fc2b9f1287b263ef7a67ec45b9492eb"><div class="ttname"><a href="fp4__BLS381_8h.html#a8fc2b9f1287b263ef7a67ec45b9492eb">FP4_BLS381_inv</a></div><div class="ttdeci">void FP4_BLS381_inv(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:279</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_ab50beba776de6e348b054362008d4728"><div class="ttname"><a href="fp4__BLS381_8h.html#ab50beba776de6e348b054362008d4728">FP4_BLS381_one</a></div><div class="ttdeci">void FP4_BLS381_one(FP4_BLS381 *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:101</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a4a821f4a2406ef5919090263d36ca176"><div class="ttname"><a href="fp4__BLS381_8h.html#a4a821f4a2406ef5919090263d36ca176">FP4_BLS381_norm</a></div><div class="ttdeci">void FP4_BLS381_norm(FP4_BLS381 *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:166</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_aac0ad2e15f4cc8f49f83e601ab5f671f"><div class="ttname"><a href="fp4__BLS381_8h.html#aac0ad2e15f4cc8f49f83e601ab5f671f">FP4_BLS381_equals</a></div><div class="ttdeci">int FP4_BLS381_equals(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:51</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a742271ef2bb176f6497e902f07052025"><div class="ttname"><a href="fp4__BLS381_8h.html#a742271ef2bb176f6497e902f07052025">FP4_BLS381_from_FP2H</a></div><div class="ttdeci">void FP4_BLS381_from_FP2H(FP4_BLS381 *x, FP2_BLS381 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:76</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_abeddca18c79d425fd681a93b63a20186"><div class="ttname"><a href="fp4__BLS381_8h.html#abeddca18c79d425fd681a93b63a20186">FP4_BLS381_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS381_xtr_pow2(FP4_BLS381 *r, FP4_BLS381 *c, FP4_BLS381 *d, FP4_BLS381 *e, FP4_BLS381 *f, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:444</div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a190b8a55edc215fc6dfb211f8d88face"><div class="ttname"><a href="fp4__BLS381_8h.html#a190b8a55edc215fc6dfb211f8d88face">FP4_BLS381_div2</a></div><div class="ttdeci">void FP4_BLS381_div2(FP4_BLS381 *x, FP4_BLS381 *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:586</div></div>
+<div class="ttc" id="fp2__BLS381_8h_html"><div class="ttname"><a href="fp2__BLS381_8h.html">fp2_BLS381.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__BLS381_8h_html_a4daafa3cb6a391dfcb5f41820afa9c7a"><div class="ttname"><a href="fp4__BLS381_8h.html#a4daafa3cb6a391dfcb5f41820afa9c7a">FP4_BLS381_from_FP2</a></div><div class="ttdeci">void FP4_BLS381_from_FP2(FP4_BLS381 *x, FP2_BLS381 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS381.c:68</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/fp4__BLS383_8h.html b/website/static/cdocs/fp4__BLS383_8h.html
index 17a9ad4..e9b7b0c 100644
--- a/website/static/cdocs/fp4__BLS383_8h.html
+++ b/website/static/cdocs/fp4__BLS383_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: fp4_BLS383.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"
@@ -1502,7 +1505,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/fp4__BLS383_8h_source.html b/website/static/cdocs/fp4__BLS383_8h_source.html
index 693428d..9b282df 100644
--- a/website/static/cdocs/fp4__BLS383_8h_source.html
+++ b/website/static/cdocs/fp4__BLS383_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: fp4_BLS383.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,56 +72,56 @@
 <div class="title">fp4_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__BLS383_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 FP4_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS383_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 &quot;<a class="code" href="fp2__BLS383_8h.html">fp2_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS383.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS383.html#a75d5eddfc3348fe3d0259146aa08c491">   39</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structFP4__BLS383.html#a75d5eddfc3348fe3d0259146aa08c491">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS383.html#a20392109e5ef2a45a9a0bfa773fadde2">   40</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structFP4__BLS383.html#a20392109e5ef2a45a9a0bfa773fadde2">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS383_8h.html#af392d8afa481afa7c2849ebbb0a2c8d7">FP4_BLS383_iszilch</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS383_8h.html#a001316abba02d845651e08fe6534a25d">FP4_BLS383_isunity</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS383_8h.html#ab215c25519eacf129b376e13976069fa">FP4_BLS383_equals</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</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="fp4__BLS383_8h.html#a5af48416b4d2ce42591b4679c66b6bb4">FP4_BLS383_isreal</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ac2aeb0be60e11abde5fdc36c2b515869">FP4_BLS383_from_FP2s</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#aae65852974bc83f0a8fc5baf7bd1bbfd">FP4_BLS383_from_FP2</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS383_8h.html#ab67c3e736cf48453d8463813097e100b">FP4_BLS383_from_FP2H</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS383_8h.html#afe2c4b3de8d7006b3f973cd796df7349">FP4_BLS383_copy</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a47ea4f8cc329289fd2508592d62400c0">FP4_BLS383_zero</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a0b4cdba86e23c2cfc051f0434b720822">FP4_BLS383_one</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</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="fp4__BLS383_8h.html#a8390da11596afb06aafd7031cd1e350a">FP4_BLS383_neg</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a6dec5df5094dc1ba820238e6942c4332">FP4_BLS383_conj</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a20ec668425f1ed3d299dba6c5ff5224a">FP4_BLS383_nconj</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ae2fbcbec6560c90a1c8ed3c823af23c1">FP4_BLS383_add</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#addd3f71f8b3e6385ca6a686a6860b6a0">FP4_BLS383_sub</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ae32f1df936bf9d769effa1f99eda8b9d">FP4_BLS383_pmul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a75cc77032223e21654de33b5d65fe666">FP4_BLS383_qmul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a7c16bf85506044676456c18d6b7ee256">FP4_BLS383_imul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a9727e54456aaf00606beea7d89834546">FP4_BLS383_sqr</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a055dc72733b71644880c94cfa9f4d8ac">FP4_BLS383_mul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a564d88a7b70f8c68ab613ca77adcb618">FP4_BLS383_inv</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#acf026f320f1aedd167830cb45aea2699">FP4_BLS383_output</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</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="fp4__BLS383_8h.html#abc73d9384b1fc83671261bb18a4afc5d">FP4_BLS383_rawoutput</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</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="fp4__BLS383_8h.html#a1da7609f0338ce02ba69e7cec72b86cb">FP4_BLS383_times_i</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</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="fp4__BLS383_8h.html#a7079319227a0affb942e9945a759bdd3">FP4_BLS383_norm</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</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="fp4__BLS383_8h.html#a9a341544f10f2684a1b0392d3e43a4a0">FP4_BLS383_reduce</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ad8f1d5edb7b0e0c0d6589c1ec6686e15">FP4_BLS383_pow</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a82358272affadd36376e1bdc3b765797">FP4_BLS383_frob</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a48a9849bcbaa20678e1a420cc3c537ae">FP4_BLS383_xtr_A</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *w,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#afa2c2c1ad3bac5088239dd58b9bb46c8">FP4_BLS383_xtr_D</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a032d4814121ce4ce8b40d800507982d7">FP4_BLS383_xtr_pow</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a5434598532839797f94249d922818dbc">FP4_BLS383_xtr_pow2</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *c,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *d,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *e,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *f,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a2785b3cbc51c54ac21038bc0377faf53">FP4_BLS383_cmove</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS383_8h.html#abd829080987a8f08a6076874d599a893">FP4_BLS383_sqrt</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#af4ebd4cc74f5e8e818a6e437830a1688">FP4_BLS383_div_i</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a73a8b51f290eb02d33f72c6fab859b7c">FP4_BLS383_div_2i</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a1eac18e5d575d177a6f9489408ca7e14">FP4_BLS383_div2</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS383_8h_html_a1da7609f0338ce02ba69e7cec72b86cb"><div class="ttname"><a href="fp4__BLS383_8h.html#a1da7609f0338ce02ba69e7cec72b86cb">FP4_BLS383_times_i</a></div><div class="ttdeci">void FP4_BLS383_times_i(FP4_BLS383 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:296</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a1eac18e5d575d177a6f9489408ca7e14"><div class="ttname"><a href="fp4__BLS383_8h.html#a1eac18e5d575d177a6f9489408ca7e14">FP4_BLS383_div2</a></div><div class="ttdeci">void FP4_BLS383_div2(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:586</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a8390da11596afb06aafd7031cd1e350a"><div class="ttname"><a href="fp4__BLS383_8h.html#a8390da11596afb06aafd7031cd1e350a">FP4_BLS383_neg</a></div><div class="ttdeci">void FP4_BLS383_neg(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:109</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a032d4814121ce4ce8b40d800507982d7"><div class="ttname"><a href="fp4__BLS383_8h.html#a032d4814121ce4ce8b40d800507982d7">FP4_BLS383_xtr_pow</a></div><div class="ttdeci">void FP4_BLS383_xtr_pow(FP4_BLS383 *r, FP4_BLS383 *x, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:387</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_afe2c4b3de8d7006b3f973cd796df7349"><div class="ttname"><a href="fp4__BLS383_8h.html#afe2c4b3de8d7006b3f973cd796df7349">FP4_BLS383_copy</a></div><div class="ttdeci">void FP4_BLS383_copy(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:84</div></div>
+<a href="fp4__BLS383_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 FP4_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS383_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 &quot;<a class="code" href="fp2__BLS383_8h.html">fp2_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS383.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS383.html#a75d5eddfc3348fe3d0259146aa08c491">   39</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structFP4__BLS383.html#a75d5eddfc3348fe3d0259146aa08c491">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS383.html#a20392109e5ef2a45a9a0bfa773fadde2">   40</a></span>&#160;    <a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> <a class="code" href="structFP4__BLS383.html#a20392109e5ef2a45a9a0bfa773fadde2">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS383.html">FP4_BLS383</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS383_8h.html#af392d8afa481afa7c2849ebbb0a2c8d7">FP4_BLS383_iszilch</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS383_8h.html#a001316abba02d845651e08fe6534a25d">FP4_BLS383_isunity</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS383_8h.html#ab215c25519eacf129b376e13976069fa">FP4_BLS383_equals</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</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="fp4__BLS383_8h.html#a5af48416b4d2ce42591b4679c66b6bb4">FP4_BLS383_isreal</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ac2aeb0be60e11abde5fdc36c2b515869">FP4_BLS383_from_FP2s</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#aae65852974bc83f0a8fc5baf7bd1bbfd">FP4_BLS383_from_FP2</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS383_8h.html#ab67c3e736cf48453d8463813097e100b">FP4_BLS383_from_FP2H</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS383_8h.html#afe2c4b3de8d7006b3f973cd796df7349">FP4_BLS383_copy</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a47ea4f8cc329289fd2508592d62400c0">FP4_BLS383_zero</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a0b4cdba86e23c2cfc051f0434b720822">FP4_BLS383_one</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</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="fp4__BLS383_8h.html#a8390da11596afb06aafd7031cd1e350a">FP4_BLS383_neg</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a6dec5df5094dc1ba820238e6942c4332">FP4_BLS383_conj</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a20ec668425f1ed3d299dba6c5ff5224a">FP4_BLS383_nconj</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ae2fbcbec6560c90a1c8ed3c823af23c1">FP4_BLS383_add</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#addd3f71f8b3e6385ca6a686a6860b6a0">FP4_BLS383_sub</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ae32f1df936bf9d769effa1f99eda8b9d">FP4_BLS383_pmul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a75cc77032223e21654de33b5d65fe666">FP4_BLS383_qmul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a7c16bf85506044676456c18d6b7ee256">FP4_BLS383_imul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a9727e54456aaf00606beea7d89834546">FP4_BLS383_sqr</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a055dc72733b71644880c94cfa9f4d8ac">FP4_BLS383_mul</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a564d88a7b70f8c68ab613ca77adcb618">FP4_BLS383_inv</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#acf026f320f1aedd167830cb45aea2699">FP4_BLS383_output</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</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="fp4__BLS383_8h.html#abc73d9384b1fc83671261bb18a4afc5d">FP4_BLS383_rawoutput</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</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="fp4__BLS383_8h.html#a1da7609f0338ce02ba69e7cec72b86cb">FP4_BLS383_times_i</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</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="fp4__BLS383_8h.html#a7079319227a0affb942e9945a759bdd3">FP4_BLS383_norm</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</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="fp4__BLS383_8h.html#a9a341544f10f2684a1b0392d3e43a4a0">FP4_BLS383_reduce</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#ad8f1d5edb7b0e0c0d6589c1ec6686e15">FP4_BLS383_pow</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a82358272affadd36376e1bdc3b765797">FP4_BLS383_frob</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP2__BLS383.html">FP2_BLS383</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a48a9849bcbaa20678e1a420cc3c537ae">FP4_BLS383_xtr_A</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *w,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#afa2c2c1ad3bac5088239dd58b9bb46c8">FP4_BLS383_xtr_D</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a032d4814121ce4ce8b40d800507982d7">FP4_BLS383_xtr_pow</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a5434598532839797f94249d922818dbc">FP4_BLS383_xtr_pow2</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *c,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *d,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *e,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *f,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> a,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a2785b3cbc51c54ac21038bc0377faf53">FP4_BLS383_cmove</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS383_8h.html#abd829080987a8f08a6076874d599a893">FP4_BLS383_sqrt</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *r,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#af4ebd4cc74f5e8e818a6e437830a1688">FP4_BLS383_div_i</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a73a8b51f290eb02d33f72c6fab859b7c">FP4_BLS383_div_2i</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS383_8h.html#a1eac18e5d575d177a6f9489408ca7e14">FP4_BLS383_div2</a>(<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *x,<a class="code" href="structFP4__BLS383.html">FP4_BLS383</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS383_8h_html_a1da7609f0338ce02ba69e7cec72b86cb"><div class="ttname"><a href="fp4__BLS383_8h.html#a1da7609f0338ce02ba69e7cec72b86cb">FP4_BLS383_times_i</a></div><div class="ttdeci">void FP4_BLS383_times_i(FP4_BLS383 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:296</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a1eac18e5d575d177a6f9489408ca7e14"><div class="ttname"><a href="fp4__BLS383_8h.html#a1eac18e5d575d177a6f9489408ca7e14">FP4_BLS383_div2</a></div><div class="ttdeci">void FP4_BLS383_div2(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:586</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a8390da11596afb06aafd7031cd1e350a"><div class="ttname"><a href="fp4__BLS383_8h.html#a8390da11596afb06aafd7031cd1e350a">FP4_BLS383_neg</a></div><div class="ttdeci">void FP4_BLS383_neg(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:109</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a032d4814121ce4ce8b40d800507982d7"><div class="ttname"><a href="fp4__BLS383_8h.html#a032d4814121ce4ce8b40d800507982d7">FP4_BLS383_xtr_pow</a></div><div class="ttdeci">void FP4_BLS383_xtr_pow(FP4_BLS383 *r, FP4_BLS383 *x, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:387</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_afe2c4b3de8d7006b3f973cd796df7349"><div class="ttname"><a href="fp4__BLS383_8h.html#afe2c4b3de8d7006b3f973cd796df7349">FP4_BLS383_copy</a></div><div class="ttdeci">void FP4_BLS383_copy(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:84</div></div>
 <div class="ttc" id="structFP4__BLS383_html_a20392109e5ef2a45a9a0bfa773fadde2"><div class="ttname"><a href="structFP4__BLS383.html#a20392109e5ef2a45a9a0bfa773fadde2">FP4_BLS383::b</a></div><div class="ttdeci">FP2_BLS383 b</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.h:40</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a2785b3cbc51c54ac21038bc0377faf53"><div class="ttname"><a href="fp4__BLS383_8h.html#a2785b3cbc51c54ac21038bc0377faf53">FP4_BLS383_cmove</a></div><div class="ttdeci">void FP4_BLS383_cmove(FP4_BLS383 *x, FP4_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:577</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_addd3f71f8b3e6385ca6a686a6860b6a0"><div class="ttname"><a href="fp4__BLS383_8h.html#addd3f71f8b3e6385ca6a686a6860b6a0">FP4_BLS383_sub</a></div><div class="ttdeci">void FP4_BLS383_sub(FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:150</div></div>
-<div class="ttc" id="structFP4__BLS383_html"><div class="ttname"><a href="structFP4__BLS383.html">FP4_BLS383</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.h:37</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a2785b3cbc51c54ac21038bc0377faf53"><div class="ttname"><a href="fp4__BLS383_8h.html#a2785b3cbc51c54ac21038bc0377faf53">FP4_BLS383_cmove</a></div><div class="ttdeci">void FP4_BLS383_cmove(FP4_BLS383 *x, FP4_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:577</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_addd3f71f8b3e6385ca6a686a6860b6a0"><div class="ttname"><a href="fp4__BLS383_8h.html#addd3f71f8b3e6385ca6a686a6860b6a0">FP4_BLS383_sub</a></div><div class="ttdeci">void FP4_BLS383_sub(FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:150</div></div>
+<div class="ttc" id="structFP4__BLS383_html"><div class="ttname"><a href="structFP4__BLS383.html">FP4_BLS383</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.h:37</div></div>
 <div class="ttc" id="structFP4__BLS383_html_a75d5eddfc3348fe3d0259146aa08c491"><div class="ttname"><a href="structFP4__BLS383.html#a75d5eddfc3348fe3d0259146aa08c491">FP4_BLS383::a</a></div><div class="ttdeci">FP2_BLS383 a</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.h:39</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a5af48416b4d2ce42591b4679c66b6bb4"><div class="ttname"><a href="fp4__BLS383_8h.html#a5af48416b4d2ce42591b4679c66b6bb4">FP4_BLS383_isreal</a></div><div class="ttdeci">int FP4_BLS383_isreal(FP4_BLS383 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:44</div></div>
-<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a7079319227a0affb942e9945a759bdd3"><div class="ttname"><a href="fp4__BLS383_8h.html#a7079319227a0affb942e9945a759bdd3">FP4_BLS383_norm</a></div><div class="ttdeci">void FP4_BLS383_norm(FP4_BLS383 *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:166</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a5af48416b4d2ce42591b4679c66b6bb4"><div class="ttname"><a href="fp4__BLS383_8h.html#a5af48416b4d2ce42591b4679c66b6bb4">FP4_BLS383_isreal</a></div><div class="ttdeci">int FP4_BLS383_isreal(FP4_BLS383 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:44</div></div>
+<div class="ttc" id="structFP2__BLS383_html"><div class="ttname"><a href="structFP2__BLS383.html">FP2_BLS383</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS383.h:36</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a7079319227a0affb942e9945a759bdd3"><div class="ttname"><a href="fp4__BLS383_8h.html#a7079319227a0affb942e9945a759bdd3">FP4_BLS383_norm</a></div><div class="ttdeci">void FP4_BLS383_norm(FP4_BLS383 *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:166</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a9a341544f10f2684a1b0392d3e43a4a0"><div class="ttname"><a href="fp4__BLS383_8h.html#a9a341544f10f2684a1b0392d3e43a4a0">FP4_BLS383_reduce</a></div><div class="ttdeci">void FP4_BLS383_reduce(FP4_BLS383 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:158</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a7c16bf85506044676456c18d6b7ee256"><div class="ttname"><a href="fp4__BLS383_8h.html#a7c16bf85506044676456c18d6b7ee256">FP4_BLS383_imul</a></div><div class="ttdeci">void FP4_BLS383_imul(FP4_BLS383 *x, FP4_BLS383 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:189</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a9727e54456aaf00606beea7d89834546"><div class="ttname"><a href="fp4__BLS383_8h.html#a9727e54456aaf00606beea7d89834546">FP4_BLS383_sqr</a></div><div class="ttdeci">void FP4_BLS383_sqr(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:197</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_ab67c3e736cf48453d8463813097e100b"><div class="ttname"><a href="fp4__BLS383_8h.html#ab67c3e736cf48453d8463813097e100b">FP4_BLS383_from_FP2H</a></div><div class="ttdeci">void FP4_BLS383_from_FP2H(FP4_BLS383 *x, FP2_BLS383 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:76</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_abd829080987a8f08a6076874d599a893"><div class="ttname"><a href="fp4__BLS383_8h.html#abd829080987a8f08a6076874d599a893">FP4_BLS383_sqrt</a></div><div class="ttdeci">int FP4_BLS383_sqrt(FP4_BLS383 *r, FP4_BLS383 *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_af4ebd4cc74f5e8e818a6e437830a1688"><div class="ttname"><a href="fp4__BLS383_8h.html#af4ebd4cc74f5e8e818a6e437830a1688">FP4_BLS383_div_i</a></div><div class="ttdeci">void FP4_BLS383_div_i(FP4_BLS383 *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a73a8b51f290eb02d33f72c6fab859b7c"><div class="ttname"><a href="fp4__BLS383_8h.html#a73a8b51f290eb02d33f72c6fab859b7c">FP4_BLS383_div_2i</a></div><div class="ttdeci">void FP4_BLS383_div_2i(FP4_BLS383 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a5434598532839797f94249d922818dbc"><div class="ttname"><a href="fp4__BLS383_8h.html#a5434598532839797f94249d922818dbc">FP4_BLS383_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS383_xtr_pow2(FP4_BLS383 *r, FP4_BLS383 *c, FP4_BLS383 *d, FP4_BLS383 *e, FP4_BLS383 *f, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:444</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_acf026f320f1aedd167830cb45aea2699"><div class="ttname"><a href="fp4__BLS383_8h.html#acf026f320f1aedd167830cb45aea2699">FP4_BLS383_output</a></div><div class="ttdeci">void FP4_BLS383_output(FP4_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:258</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a82358272affadd36376e1bdc3b765797"><div class="ttname"><a href="fp4__BLS383_8h.html#a82358272affadd36376e1bdc3b765797">FP4_BLS383_frob</a></div><div class="ttdeci">void FP4_BLS383_frob(FP4_BLS383 *x, FP2_BLS383 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:317</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_ac2aeb0be60e11abde5fdc36c2b515869"><div class="ttname"><a href="fp4__BLS383_8h.html#ac2aeb0be60e11abde5fdc36c2b515869">FP4_BLS383_from_FP2s</a></div><div class="ttdeci">void FP4_BLS383_from_FP2s(FP4_BLS383 *x, FP2_BLS383 *a, FP2_BLS383 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:60</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a564d88a7b70f8c68ab613ca77adcb618"><div class="ttname"><a href="fp4__BLS383_8h.html#a564d88a7b70f8c68ab613ca77adcb618">FP4_BLS383_inv</a></div><div class="ttdeci">void FP4_BLS383_inv(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:279</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_abc73d9384b1fc83671261bb18a4afc5d"><div class="ttname"><a href="fp4__BLS383_8h.html#abc73d9384b1fc83671261bb18a4afc5d">FP4_BLS383_rawoutput</a></div><div class="ttdeci">void FP4_BLS383_rawoutput(FP4_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:268</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a75cc77032223e21654de33b5d65fe666"><div class="ttname"><a href="fp4__BLS383_8h.html#a75cc77032223e21654de33b5d65fe666">FP4_BLS383_qmul</a></div><div class="ttdeci">void FP4_BLS383_qmul(FP4_BLS383 *x, FP4_BLS383 *y, FP_BLS383 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:181</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a001316abba02d845651e08fe6534a25d"><div class="ttname"><a href="fp4__BLS383_8h.html#a001316abba02d845651e08fe6534a25d">FP4_BLS383_isunity</a></div><div class="ttdeci">int FP4_BLS383_isunity(FP4_BLS383 *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:37</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a0b4cdba86e23c2cfc051f0434b720822"><div class="ttname"><a href="fp4__BLS383_8h.html#a0b4cdba86e23c2cfc051f0434b720822">FP4_BLS383_one</a></div><div class="ttdeci">void FP4_BLS383_one(FP4_BLS383 *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:101</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_ab215c25519eacf129b376e13976069fa"><div class="ttname"><a href="fp4__BLS383_8h.html#ab215c25519eacf129b376e13976069fa">FP4_BLS383_equals</a></div><div class="ttdeci">int FP4_BLS383_equals(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:51</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a47ea4f8cc329289fd2508592d62400c0"><div class="ttname"><a href="fp4__BLS383_8h.html#a47ea4f8cc329289fd2508592d62400c0">FP4_BLS383_zero</a></div><div class="ttdeci">void FP4_BLS383_zero(FP4_BLS383 *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:93</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_ae32f1df936bf9d769effa1f99eda8b9d"><div class="ttname"><a href="fp4__BLS383_8h.html#ae32f1df936bf9d769effa1f99eda8b9d">FP4_BLS383_pmul</a></div><div class="ttdeci">void FP4_BLS383_pmul(FP4_BLS383 *x, FP4_BLS383 *y, FP2_BLS383 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:174</div></div>
-<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a6dec5df5094dc1ba820238e6942c4332"><div class="ttname"><a href="fp4__BLS383_8h.html#a6dec5df5094dc1ba820238e6942c4332">FP4_BLS383_conj</a></div><div class="ttdeci">void FP4_BLS383_conj(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:124</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a20ec668425f1ed3d299dba6c5ff5224a"><div class="ttname"><a href="fp4__BLS383_8h.html#a20ec668425f1ed3d299dba6c5ff5224a">FP4_BLS383_nconj</a></div><div class="ttdeci">void FP4_BLS383_nconj(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:133</div></div>
-<div class="ttc" id="fp2__BLS383_8h_html"><div class="ttname"><a href="fp2__BLS383_8h.html">fp2_BLS383.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_ae2fbcbec6560c90a1c8ed3c823af23c1"><div class="ttname"><a href="fp4__BLS383_8h.html#ae2fbcbec6560c90a1c8ed3c823af23c1">FP4_BLS383_add</a></div><div class="ttdeci">void FP4_BLS383_add(FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:142</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_af392d8afa481afa7c2849ebbb0a2c8d7"><div class="ttname"><a href="fp4__BLS383_8h.html#af392d8afa481afa7c2849ebbb0a2c8d7">FP4_BLS383_iszilch</a></div><div class="ttdeci">int FP4_BLS383_iszilch(FP4_BLS383 *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:29</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_ad8f1d5edb7b0e0c0d6589c1ec6686e15"><div class="ttname"><a href="fp4__BLS383_8h.html#ad8f1d5edb7b0e0c0d6589c1ec6686e15">FP4_BLS383_pow</a></div><div class="ttdeci">void FP4_BLS383_pow(FP4_BLS383 *x, FP4_BLS383 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:326</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a055dc72733b71644880c94cfa9f4d8ac"><div class="ttname"><a href="fp4__BLS383_8h.html#a055dc72733b71644880c94cfa9f4d8ac">FP4_BLS383_mul</a></div><div class="ttdeci">void FP4_BLS383_mul(FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:228</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_afa2c2c1ad3bac5088239dd58b9bb46c8"><div class="ttname"><a href="fp4__BLS383_8h.html#afa2c2c1ad3bac5088239dd58b9bb46c8">FP4_BLS383_xtr_D</a></div><div class="ttdeci">void FP4_BLS383_xtr_D(FP4_BLS383 *r, FP4_BLS383 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:373</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_aae65852974bc83f0a8fc5baf7bd1bbfd"><div class="ttname"><a href="fp4__BLS383_8h.html#aae65852974bc83f0a8fc5baf7bd1bbfd">FP4_BLS383_from_FP2</a></div><div class="ttdeci">void FP4_BLS383_from_FP2(FP4_BLS383 *x, FP2_BLS383 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:68</div></div>
-<div class="ttc" id="fp4__BLS383_8h_html_a48a9849bcbaa20678e1a420cc3c537ae"><div class="ttname"><a href="fp4__BLS383_8h.html#a48a9849bcbaa20678e1a420cc3c537ae">FP4_BLS383_xtr_A</a></div><div class="ttdeci">void FP4_BLS383_xtr_A(FP4_BLS383 *r, FP4_BLS383 *w, FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:353</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a9a341544f10f2684a1b0392d3e43a4a0"><div class="ttname"><a href="fp4__BLS383_8h.html#a9a341544f10f2684a1b0392d3e43a4a0">FP4_BLS383_reduce</a></div><div class="ttdeci">void FP4_BLS383_reduce(FP4_BLS383 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:158</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a7c16bf85506044676456c18d6b7ee256"><div class="ttname"><a href="fp4__BLS383_8h.html#a7c16bf85506044676456c18d6b7ee256">FP4_BLS383_imul</a></div><div class="ttdeci">void FP4_BLS383_imul(FP4_BLS383 *x, FP4_BLS383 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:189</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a9727e54456aaf00606beea7d89834546"><div class="ttname"><a href="fp4__BLS383_8h.html#a9727e54456aaf00606beea7d89834546">FP4_BLS383_sqr</a></div><div class="ttdeci">void FP4_BLS383_sqr(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:197</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_ab67c3e736cf48453d8463813097e100b"><div class="ttname"><a href="fp4__BLS383_8h.html#ab67c3e736cf48453d8463813097e100b">FP4_BLS383_from_FP2H</a></div><div class="ttdeci">void FP4_BLS383_from_FP2H(FP4_BLS383 *x, FP2_BLS383 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:76</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_abd829080987a8f08a6076874d599a893"><div class="ttname"><a href="fp4__BLS383_8h.html#abd829080987a8f08a6076874d599a893">FP4_BLS383_sqrt</a></div><div class="ttdeci">int FP4_BLS383_sqrt(FP4_BLS383 *r, FP4_BLS383 *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_af4ebd4cc74f5e8e818a6e437830a1688"><div class="ttname"><a href="fp4__BLS383_8h.html#af4ebd4cc74f5e8e818a6e437830a1688">FP4_BLS383_div_i</a></div><div class="ttdeci">void FP4_BLS383_div_i(FP4_BLS383 *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a73a8b51f290eb02d33f72c6fab859b7c"><div class="ttname"><a href="fp4__BLS383_8h.html#a73a8b51f290eb02d33f72c6fab859b7c">FP4_BLS383_div_2i</a></div><div class="ttdeci">void FP4_BLS383_div_2i(FP4_BLS383 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a5434598532839797f94249d922818dbc"><div class="ttname"><a href="fp4__BLS383_8h.html#a5434598532839797f94249d922818dbc">FP4_BLS383_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS383_xtr_pow2(FP4_BLS383 *r, FP4_BLS383 *c, FP4_BLS383 *d, FP4_BLS383 *e, FP4_BLS383 *f, BIG_384_58 a, BIG_384_58 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:444</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_acf026f320f1aedd167830cb45aea2699"><div class="ttname"><a href="fp4__BLS383_8h.html#acf026f320f1aedd167830cb45aea2699">FP4_BLS383_output</a></div><div class="ttdeci">void FP4_BLS383_output(FP4_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:258</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a82358272affadd36376e1bdc3b765797"><div class="ttname"><a href="fp4__BLS383_8h.html#a82358272affadd36376e1bdc3b765797">FP4_BLS383_frob</a></div><div class="ttdeci">void FP4_BLS383_frob(FP4_BLS383 *x, FP2_BLS383 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:317</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_ac2aeb0be60e11abde5fdc36c2b515869"><div class="ttname"><a href="fp4__BLS383_8h.html#ac2aeb0be60e11abde5fdc36c2b515869">FP4_BLS383_from_FP2s</a></div><div class="ttdeci">void FP4_BLS383_from_FP2s(FP4_BLS383 *x, FP2_BLS383 *a, FP2_BLS383 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:60</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a564d88a7b70f8c68ab613ca77adcb618"><div class="ttname"><a href="fp4__BLS383_8h.html#a564d88a7b70f8c68ab613ca77adcb618">FP4_BLS383_inv</a></div><div class="ttdeci">void FP4_BLS383_inv(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:279</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_abc73d9384b1fc83671261bb18a4afc5d"><div class="ttname"><a href="fp4__BLS383_8h.html#abc73d9384b1fc83671261bb18a4afc5d">FP4_BLS383_rawoutput</a></div><div class="ttdeci">void FP4_BLS383_rawoutput(FP4_BLS383 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:268</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a75cc77032223e21654de33b5d65fe666"><div class="ttname"><a href="fp4__BLS383_8h.html#a75cc77032223e21654de33b5d65fe666">FP4_BLS383_qmul</a></div><div class="ttdeci">void FP4_BLS383_qmul(FP4_BLS383 *x, FP4_BLS383 *y, FP_BLS383 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:181</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a001316abba02d845651e08fe6534a25d"><div class="ttname"><a href="fp4__BLS383_8h.html#a001316abba02d845651e08fe6534a25d">FP4_BLS383_isunity</a></div><div class="ttdeci">int FP4_BLS383_isunity(FP4_BLS383 *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:37</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a0b4cdba86e23c2cfc051f0434b720822"><div class="ttname"><a href="fp4__BLS383_8h.html#a0b4cdba86e23c2cfc051f0434b720822">FP4_BLS383_one</a></div><div class="ttdeci">void FP4_BLS383_one(FP4_BLS383 *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:101</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_ab215c25519eacf129b376e13976069fa"><div class="ttname"><a href="fp4__BLS383_8h.html#ab215c25519eacf129b376e13976069fa">FP4_BLS383_equals</a></div><div class="ttdeci">int FP4_BLS383_equals(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:51</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a47ea4f8cc329289fd2508592d62400c0"><div class="ttname"><a href="fp4__BLS383_8h.html#a47ea4f8cc329289fd2508592d62400c0">FP4_BLS383_zero</a></div><div class="ttdeci">void FP4_BLS383_zero(FP4_BLS383 *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:93</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_ae32f1df936bf9d769effa1f99eda8b9d"><div class="ttname"><a href="fp4__BLS383_8h.html#ae32f1df936bf9d769effa1f99eda8b9d">FP4_BLS383_pmul</a></div><div class="ttdeci">void FP4_BLS383_pmul(FP4_BLS383 *x, FP4_BLS383 *y, FP2_BLS383 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:174</div></div>
+<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a6dec5df5094dc1ba820238e6942c4332"><div class="ttname"><a href="fp4__BLS383_8h.html#a6dec5df5094dc1ba820238e6942c4332">FP4_BLS383_conj</a></div><div class="ttdeci">void FP4_BLS383_conj(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:124</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a20ec668425f1ed3d299dba6c5ff5224a"><div class="ttname"><a href="fp4__BLS383_8h.html#a20ec668425f1ed3d299dba6c5ff5224a">FP4_BLS383_nconj</a></div><div class="ttdeci">void FP4_BLS383_nconj(FP4_BLS383 *x, FP4_BLS383 *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:133</div></div>
+<div class="ttc" id="fp2__BLS383_8h_html"><div class="ttname"><a href="fp2__BLS383_8h.html">fp2_BLS383.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_ae2fbcbec6560c90a1c8ed3c823af23c1"><div class="ttname"><a href="fp4__BLS383_8h.html#ae2fbcbec6560c90a1c8ed3c823af23c1">FP4_BLS383_add</a></div><div class="ttdeci">void FP4_BLS383_add(FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:142</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_af392d8afa481afa7c2849ebbb0a2c8d7"><div class="ttname"><a href="fp4__BLS383_8h.html#af392d8afa481afa7c2849ebbb0a2c8d7">FP4_BLS383_iszilch</a></div><div class="ttdeci">int FP4_BLS383_iszilch(FP4_BLS383 *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:29</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_ad8f1d5edb7b0e0c0d6589c1ec6686e15"><div class="ttname"><a href="fp4__BLS383_8h.html#ad8f1d5edb7b0e0c0d6589c1ec6686e15">FP4_BLS383_pow</a></div><div class="ttdeci">void FP4_BLS383_pow(FP4_BLS383 *x, FP4_BLS383 *y, BIG_384_58 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:326</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a055dc72733b71644880c94cfa9f4d8ac"><div class="ttname"><a href="fp4__BLS383_8h.html#a055dc72733b71644880c94cfa9f4d8ac">FP4_BLS383_mul</a></div><div class="ttdeci">void FP4_BLS383_mul(FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:228</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_afa2c2c1ad3bac5088239dd58b9bb46c8"><div class="ttname"><a href="fp4__BLS383_8h.html#afa2c2c1ad3bac5088239dd58b9bb46c8">FP4_BLS383_xtr_D</a></div><div class="ttdeci">void FP4_BLS383_xtr_D(FP4_BLS383 *r, FP4_BLS383 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:373</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_aae65852974bc83f0a8fc5baf7bd1bbfd"><div class="ttname"><a href="fp4__BLS383_8h.html#aae65852974bc83f0a8fc5baf7bd1bbfd">FP4_BLS383_from_FP2</a></div><div class="ttdeci">void FP4_BLS383_from_FP2(FP4_BLS383 *x, FP2_BLS383 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:68</div></div>
+<div class="ttc" id="fp4__BLS383_8h_html_a48a9849bcbaa20678e1a420cc3c537ae"><div class="ttname"><a href="fp4__BLS383_8h.html#a48a9849bcbaa20678e1a420cc3c537ae">FP4_BLS383_xtr_A</a></div><div class="ttdeci">void FP4_BLS383_xtr_A(FP4_BLS383 *r, FP4_BLS383 *w, FP4_BLS383 *x, FP4_BLS383 *y, FP4_BLS383 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_BLS383.c:353</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/fp4__BLS461_8h.html b/website/static/cdocs/fp4__BLS461_8h.html
index f33b7c5..e9f0ea4 100644
--- a/website/static/cdocs/fp4__BLS461_8h.html
+++ b/website/static/cdocs/fp4__BLS461_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: fp4_BLS461.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"
@@ -1502,7 +1505,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/fp4__BLS461_8h_source.html b/website/static/cdocs/fp4__BLS461_8h_source.html
index a301aca..daf46cc 100644
--- a/website/static/cdocs/fp4__BLS461_8h_source.html
+++ b/website/static/cdocs/fp4__BLS461_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: fp4_BLS461.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,56 +72,56 @@
 <div class="title">fp4_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__BLS461_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 FP4_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS461_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 &quot;<a class="code" href="fp2__BLS461_8h.html">fp2_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS461.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS461.html#a1a500f0e45c4a22866401153826db12b">   39</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structFP4__BLS461.html#a1a500f0e45c4a22866401153826db12b">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS461.html#a37b9711e42d6a1e1f5f01ee487beaaf2">   40</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structFP4__BLS461.html#a37b9711e42d6a1e1f5f01ee487beaaf2">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS461_8h.html#a98bfe8a7f2629e42f9f39e6ff04410ac">FP4_BLS461_iszilch</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS461_8h.html#afaf221f536d638f98ddc26af635fbe73">FP4_BLS461_isunity</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS461_8h.html#a2661f118a5e4d719112e6c3626edeb45">FP4_BLS461_equals</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</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="fp4__BLS461_8h.html#acca2605dfa9068eb5c89fe7e6c0aee32">FP4_BLS461_isreal</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a5544da9c7972e9882189dd537a4efa4e">FP4_BLS461_from_FP2s</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ad6e8af9d8e879d3e5b6d39bf4812cd85">FP4_BLS461_from_FP2</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS461_8h.html#a58b5b22a299a7506eef8f80204a0aa66">FP4_BLS461_from_FP2H</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS461_8h.html#a7818b6dfa02b88095acddc2a7ea1ee08">FP4_BLS461_copy</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a016fa917249e62d567ab54abdbd555d0">FP4_BLS461_zero</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a95283b1785cf8e0880ea38c8c9e60e93">FP4_BLS461_one</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</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="fp4__BLS461_8h.html#a4a0b432b3e3d574e21a1aec555952ba6">FP4_BLS461_neg</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a8978130ad7e7d58543589c41c4b330b3">FP4_BLS461_conj</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ace692d2cdb4291f16a543859fcaeb043">FP4_BLS461_nconj</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ad9f384f79b574ac89b5e4329dfabe337">FP4_BLS461_add</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a861f15623459e95ca558057a8c480308">FP4_BLS461_sub</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ae3de290ca285dc117149f2f41d9ca801">FP4_BLS461_pmul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a5533c7c723ed8fdfc02aaa525b24d64f">FP4_BLS461_qmul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a2a7ddf469560567085f78c6c9151d7f7">FP4_BLS461_imul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a38e66d2819e3367dbb6534cb2535a978">FP4_BLS461_sqr</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a4741d41d1adf48cccbf268f001cb1e2f">FP4_BLS461_mul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ab4cff9b5db009d09d467ab2340c1706d">FP4_BLS461_inv</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a84aaca0e78492b2e15da994f14c72e9e">FP4_BLS461_output</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</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="fp4__BLS461_8h.html#accb91925c127fce05cf2893832ac3af7">FP4_BLS461_rawoutput</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</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="fp4__BLS461_8h.html#a12723c6219e8804047bceb4727bfb5f3">FP4_BLS461_times_i</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</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="fp4__BLS461_8h.html#a4b2fc26aa765859d197ccf235a1bf9d9">FP4_BLS461_norm</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</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="fp4__BLS461_8h.html#a65653334586773499c8684b9a5425a31">FP4_BLS461_reduce</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ae1db51e917dbbba5316022196c5b9efa">FP4_BLS461_pow</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a6bf13afb2b79ec64be7e2c854be756c7">FP4_BLS461_frob</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a7e2bad19714c06c862cf999e157385c9">FP4_BLS461_xtr_A</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *w,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a41a70fca0ed27e9438afdfa455e344a1">FP4_BLS461_xtr_D</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ac3e3b738f376dbdcbaeffd6be1faca7a">FP4_BLS461_xtr_pow</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a0cd694e53e47fe0620e2b69251667907">FP4_BLS461_xtr_pow2</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *c,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *d,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *e,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *f,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a0e17726cdbc36f10124b8587a2b62cd2">FP4_BLS461_cmove</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS461_8h.html#a8fbcbde142bfd70019b67573c845bb99">FP4_BLS461_sqrt</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a8de1db3c15bddfa415e0d3b237d1b745">FP4_BLS461_div_i</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a90671f77e8e8853676892462e43178a2">FP4_BLS461_div_2i</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a31acc02692347fd9d3a2cf9b30e99c60">FP4_BLS461_div2</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a8de1db3c15bddfa415e0d3b237d1b745"><div class="ttname"><a href="fp4__BLS461_8h.html#a8de1db3c15bddfa415e0d3b237d1b745">FP4_BLS461_div_i</a></div><div class="ttdeci">void FP4_BLS461_div_i(FP4_BLS461 *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a5533c7c723ed8fdfc02aaa525b24d64f"><div class="ttname"><a href="fp4__BLS461_8h.html#a5533c7c723ed8fdfc02aaa525b24d64f">FP4_BLS461_qmul</a></div><div class="ttdeci">void FP4_BLS461_qmul(FP4_BLS461 *x, FP4_BLS461 *y, FP_BLS461 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:181</div></div>
-<div class="ttc" id="fp2__BLS461_8h_html"><div class="ttname"><a href="fp2__BLS461_8h.html">fp2_BLS461.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a8fbcbde142bfd70019b67573c845bb99"><div class="ttname"><a href="fp4__BLS461_8h.html#a8fbcbde142bfd70019b67573c845bb99">FP4_BLS461_sqrt</a></div><div class="ttdeci">int FP4_BLS461_sqrt(FP4_BLS461 *r, FP4_BLS461 *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a2661f118a5e4d719112e6c3626edeb45"><div class="ttname"><a href="fp4__BLS461_8h.html#a2661f118a5e4d719112e6c3626edeb45">FP4_BLS461_equals</a></div><div class="ttdeci">int FP4_BLS461_equals(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:51</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_ad9f384f79b574ac89b5e4329dfabe337"><div class="ttname"><a href="fp4__BLS461_8h.html#ad9f384f79b574ac89b5e4329dfabe337">FP4_BLS461_add</a></div><div class="ttdeci">void FP4_BLS461_add(FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:142</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_acca2605dfa9068eb5c89fe7e6c0aee32"><div class="ttname"><a href="fp4__BLS461_8h.html#acca2605dfa9068eb5c89fe7e6c0aee32">FP4_BLS461_isreal</a></div><div class="ttdeci">int FP4_BLS461_isreal(FP4_BLS461 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:44</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a8978130ad7e7d58543589c41c4b330b3"><div class="ttname"><a href="fp4__BLS461_8h.html#a8978130ad7e7d58543589c41c4b330b3">FP4_BLS461_conj</a></div><div class="ttdeci">void FP4_BLS461_conj(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:124</div></div>
+<a href="fp4__BLS461_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 FP4_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS461_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 &quot;<a class="code" href="fp2__BLS461_8h.html">fp2_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS461.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS461.html#a1a500f0e45c4a22866401153826db12b">   39</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structFP4__BLS461.html#a1a500f0e45c4a22866401153826db12b">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS461.html#a37b9711e42d6a1e1f5f01ee487beaaf2">   40</a></span>&#160;    <a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> <a class="code" href="structFP4__BLS461.html#a37b9711e42d6a1e1f5f01ee487beaaf2">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS461.html">FP4_BLS461</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS461_8h.html#a98bfe8a7f2629e42f9f39e6ff04410ac">FP4_BLS461_iszilch</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS461_8h.html#afaf221f536d638f98ddc26af635fbe73">FP4_BLS461_isunity</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS461_8h.html#a2661f118a5e4d719112e6c3626edeb45">FP4_BLS461_equals</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</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="fp4__BLS461_8h.html#acca2605dfa9068eb5c89fe7e6c0aee32">FP4_BLS461_isreal</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a5544da9c7972e9882189dd537a4efa4e">FP4_BLS461_from_FP2s</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ad6e8af9d8e879d3e5b6d39bf4812cd85">FP4_BLS461_from_FP2</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS461_8h.html#a58b5b22a299a7506eef8f80204a0aa66">FP4_BLS461_from_FP2H</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS461_8h.html#a7818b6dfa02b88095acddc2a7ea1ee08">FP4_BLS461_copy</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a016fa917249e62d567ab54abdbd555d0">FP4_BLS461_zero</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a95283b1785cf8e0880ea38c8c9e60e93">FP4_BLS461_one</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</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="fp4__BLS461_8h.html#a4a0b432b3e3d574e21a1aec555952ba6">FP4_BLS461_neg</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a8978130ad7e7d58543589c41c4b330b3">FP4_BLS461_conj</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ace692d2cdb4291f16a543859fcaeb043">FP4_BLS461_nconj</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ad9f384f79b574ac89b5e4329dfabe337">FP4_BLS461_add</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a861f15623459e95ca558057a8c480308">FP4_BLS461_sub</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ae3de290ca285dc117149f2f41d9ca801">FP4_BLS461_pmul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a5533c7c723ed8fdfc02aaa525b24d64f">FP4_BLS461_qmul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a2a7ddf469560567085f78c6c9151d7f7">FP4_BLS461_imul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a38e66d2819e3367dbb6534cb2535a978">FP4_BLS461_sqr</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a4741d41d1adf48cccbf268f001cb1e2f">FP4_BLS461_mul</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ab4cff9b5db009d09d467ab2340c1706d">FP4_BLS461_inv</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a84aaca0e78492b2e15da994f14c72e9e">FP4_BLS461_output</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</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="fp4__BLS461_8h.html#accb91925c127fce05cf2893832ac3af7">FP4_BLS461_rawoutput</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</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="fp4__BLS461_8h.html#a12723c6219e8804047bceb4727bfb5f3">FP4_BLS461_times_i</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</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="fp4__BLS461_8h.html#a4b2fc26aa765859d197ccf235a1bf9d9">FP4_BLS461_norm</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</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="fp4__BLS461_8h.html#a65653334586773499c8684b9a5425a31">FP4_BLS461_reduce</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ae1db51e917dbbba5316022196c5b9efa">FP4_BLS461_pow</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a6bf13afb2b79ec64be7e2c854be756c7">FP4_BLS461_frob</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP2__BLS461.html">FP2_BLS461</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a7e2bad19714c06c862cf999e157385c9">FP4_BLS461_xtr_A</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *w,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a41a70fca0ed27e9438afdfa455e344a1">FP4_BLS461_xtr_D</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#ac3e3b738f376dbdcbaeffd6be1faca7a">FP4_BLS461_xtr_pow</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a0cd694e53e47fe0620e2b69251667907">FP4_BLS461_xtr_pow2</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *c,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *d,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *e,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *f,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> a,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a0e17726cdbc36f10124b8587a2b62cd2">FP4_BLS461_cmove</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS461_8h.html#a8fbcbde142bfd70019b67573c845bb99">FP4_BLS461_sqrt</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *r,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a8de1db3c15bddfa415e0d3b237d1b745">FP4_BLS461_div_i</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a90671f77e8e8853676892462e43178a2">FP4_BLS461_div_2i</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS461_8h.html#a31acc02692347fd9d3a2cf9b30e99c60">FP4_BLS461_div2</a>(<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *x,<a class="code" href="structFP4__BLS461.html">FP4_BLS461</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="structFP2__BLS461_html"><div class="ttname"><a href="structFP2__BLS461.html">FP2_BLS461</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS461.h:36</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a8de1db3c15bddfa415e0d3b237d1b745"><div class="ttname"><a href="fp4__BLS461_8h.html#a8de1db3c15bddfa415e0d3b237d1b745">FP4_BLS461_div_i</a></div><div class="ttdeci">void FP4_BLS461_div_i(FP4_BLS461 *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a5533c7c723ed8fdfc02aaa525b24d64f"><div class="ttname"><a href="fp4__BLS461_8h.html#a5533c7c723ed8fdfc02aaa525b24d64f">FP4_BLS461_qmul</a></div><div class="ttdeci">void FP4_BLS461_qmul(FP4_BLS461 *x, FP4_BLS461 *y, FP_BLS461 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:181</div></div>
+<div class="ttc" id="fp2__BLS461_8h_html"><div class="ttname"><a href="fp2__BLS461_8h.html">fp2_BLS461.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a8fbcbde142bfd70019b67573c845bb99"><div class="ttname"><a href="fp4__BLS461_8h.html#a8fbcbde142bfd70019b67573c845bb99">FP4_BLS461_sqrt</a></div><div class="ttdeci">int FP4_BLS461_sqrt(FP4_BLS461 *r, FP4_BLS461 *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a2661f118a5e4d719112e6c3626edeb45"><div class="ttname"><a href="fp4__BLS461_8h.html#a2661f118a5e4d719112e6c3626edeb45">FP4_BLS461_equals</a></div><div class="ttdeci">int FP4_BLS461_equals(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:51</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_ad9f384f79b574ac89b5e4329dfabe337"><div class="ttname"><a href="fp4__BLS461_8h.html#ad9f384f79b574ac89b5e4329dfabe337">FP4_BLS461_add</a></div><div class="ttdeci">void FP4_BLS461_add(FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:142</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_acca2605dfa9068eb5c89fe7e6c0aee32"><div class="ttname"><a href="fp4__BLS461_8h.html#acca2605dfa9068eb5c89fe7e6c0aee32">FP4_BLS461_isreal</a></div><div class="ttdeci">int FP4_BLS461_isreal(FP4_BLS461 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:44</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a8978130ad7e7d58543589c41c4b330b3"><div class="ttname"><a href="fp4__BLS461_8h.html#a8978130ad7e7d58543589c41c4b330b3">FP4_BLS461_conj</a></div><div class="ttdeci">void FP4_BLS461_conj(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:124</div></div>
 <div class="ttc" id="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a95283b1785cf8e0880ea38c8c9e60e93"><div class="ttname"><a href="fp4__BLS461_8h.html#a95283b1785cf8e0880ea38c8c9e60e93">FP4_BLS461_one</a></div><div class="ttdeci">void FP4_BLS461_one(FP4_BLS461 *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:101</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_ab4cff9b5db009d09d467ab2340c1706d"><div class="ttname"><a href="fp4__BLS461_8h.html#ab4cff9b5db009d09d467ab2340c1706d">FP4_BLS461_inv</a></div><div class="ttdeci">void FP4_BLS461_inv(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:279</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_accb91925c127fce05cf2893832ac3af7"><div class="ttname"><a href="fp4__BLS461_8h.html#accb91925c127fce05cf2893832ac3af7">FP4_BLS461_rawoutput</a></div><div class="ttdeci">void FP4_BLS461_rawoutput(FP4_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:268</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_ae1db51e917dbbba5316022196c5b9efa"><div class="ttname"><a href="fp4__BLS461_8h.html#ae1db51e917dbbba5316022196c5b9efa">FP4_BLS461_pow</a></div><div class="ttdeci">void FP4_BLS461_pow(FP4_BLS461 *x, FP4_BLS461 *y, BIG_464_60 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:326</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a95283b1785cf8e0880ea38c8c9e60e93"><div class="ttname"><a href="fp4__BLS461_8h.html#a95283b1785cf8e0880ea38c8c9e60e93">FP4_BLS461_one</a></div><div class="ttdeci">void FP4_BLS461_one(FP4_BLS461 *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:101</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_ab4cff9b5db009d09d467ab2340c1706d"><div class="ttname"><a href="fp4__BLS461_8h.html#ab4cff9b5db009d09d467ab2340c1706d">FP4_BLS461_inv</a></div><div class="ttdeci">void FP4_BLS461_inv(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:279</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_accb91925c127fce05cf2893832ac3af7"><div class="ttname"><a href="fp4__BLS461_8h.html#accb91925c127fce05cf2893832ac3af7">FP4_BLS461_rawoutput</a></div><div class="ttdeci">void FP4_BLS461_rawoutput(FP4_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:268</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_ae1db51e917dbbba5316022196c5b9efa"><div class="ttname"><a href="fp4__BLS461_8h.html#ae1db51e917dbbba5316022196c5b9efa">FP4_BLS461_pow</a></div><div class="ttdeci">void FP4_BLS461_pow(FP4_BLS461 *x, FP4_BLS461 *y, BIG_464_60 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:326</div></div>
 <div class="ttc" id="structFP4__BLS461_html_a1a500f0e45c4a22866401153826db12b"><div class="ttname"><a href="structFP4__BLS461.html#a1a500f0e45c4a22866401153826db12b">FP4_BLS461::a</a></div><div class="ttdeci">FP2_BLS461 a</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.h:39</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a84aaca0e78492b2e15da994f14c72e9e"><div class="ttname"><a href="fp4__BLS461_8h.html#a84aaca0e78492b2e15da994f14c72e9e">FP4_BLS461_output</a></div><div class="ttdeci">void FP4_BLS461_output(FP4_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:258</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_ae3de290ca285dc117149f2f41d9ca801"><div class="ttname"><a href="fp4__BLS461_8h.html#ae3de290ca285dc117149f2f41d9ca801">FP4_BLS461_pmul</a></div><div class="ttdeci">void FP4_BLS461_pmul(FP4_BLS461 *x, FP4_BLS461 *y, FP2_BLS461 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:174</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_ace692d2cdb4291f16a543859fcaeb043"><div class="ttname"><a href="fp4__BLS461_8h.html#ace692d2cdb4291f16a543859fcaeb043">FP4_BLS461_nconj</a></div><div class="ttdeci">void FP4_BLS461_nconj(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:133</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a90671f77e8e8853676892462e43178a2"><div class="ttname"><a href="fp4__BLS461_8h.html#a90671f77e8e8853676892462e43178a2">FP4_BLS461_div_2i</a></div><div class="ttdeci">void FP4_BLS461_div_2i(FP4_BLS461 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a7e2bad19714c06c862cf999e157385c9"><div class="ttname"><a href="fp4__BLS461_8h.html#a7e2bad19714c06c862cf999e157385c9">FP4_BLS461_xtr_A</a></div><div class="ttdeci">void FP4_BLS461_xtr_A(FP4_BLS461 *r, FP4_BLS461 *w, FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:353</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a41a70fca0ed27e9438afdfa455e344a1"><div class="ttname"><a href="fp4__BLS461_8h.html#a41a70fca0ed27e9438afdfa455e344a1">FP4_BLS461_xtr_D</a></div><div class="ttdeci">void FP4_BLS461_xtr_D(FP4_BLS461 *r, FP4_BLS461 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:373</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_afaf221f536d638f98ddc26af635fbe73"><div class="ttname"><a href="fp4__BLS461_8h.html#afaf221f536d638f98ddc26af635fbe73">FP4_BLS461_isunity</a></div><div class="ttdeci">int FP4_BLS461_isunity(FP4_BLS461 *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:37</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a016fa917249e62d567ab54abdbd555d0"><div class="ttname"><a href="fp4__BLS461_8h.html#a016fa917249e62d567ab54abdbd555d0">FP4_BLS461_zero</a></div><div class="ttdeci">void FP4_BLS461_zero(FP4_BLS461 *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:93</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a31acc02692347fd9d3a2cf9b30e99c60"><div class="ttname"><a href="fp4__BLS461_8h.html#a31acc02692347fd9d3a2cf9b30e99c60">FP4_BLS461_div2</a></div><div class="ttdeci">void FP4_BLS461_div2(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:586</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a4741d41d1adf48cccbf268f001cb1e2f"><div class="ttname"><a href="fp4__BLS461_8h.html#a4741d41d1adf48cccbf268f001cb1e2f">FP4_BLS461_mul</a></div><div class="ttdeci">void FP4_BLS461_mul(FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:228</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_ac3e3b738f376dbdcbaeffd6be1faca7a"><div class="ttname"><a href="fp4__BLS461_8h.html#ac3e3b738f376dbdcbaeffd6be1faca7a">FP4_BLS461_xtr_pow</a></div><div class="ttdeci">void FP4_BLS461_xtr_pow(FP4_BLS461 *r, FP4_BLS461 *x, BIG_464_60 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:387</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a84aaca0e78492b2e15da994f14c72e9e"><div class="ttname"><a href="fp4__BLS461_8h.html#a84aaca0e78492b2e15da994f14c72e9e">FP4_BLS461_output</a></div><div class="ttdeci">void FP4_BLS461_output(FP4_BLS461 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:258</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_ae3de290ca285dc117149f2f41d9ca801"><div class="ttname"><a href="fp4__BLS461_8h.html#ae3de290ca285dc117149f2f41d9ca801">FP4_BLS461_pmul</a></div><div class="ttdeci">void FP4_BLS461_pmul(FP4_BLS461 *x, FP4_BLS461 *y, FP2_BLS461 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:174</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_ace692d2cdb4291f16a543859fcaeb043"><div class="ttname"><a href="fp4__BLS461_8h.html#ace692d2cdb4291f16a543859fcaeb043">FP4_BLS461_nconj</a></div><div class="ttdeci">void FP4_BLS461_nconj(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:133</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a90671f77e8e8853676892462e43178a2"><div class="ttname"><a href="fp4__BLS461_8h.html#a90671f77e8e8853676892462e43178a2">FP4_BLS461_div_2i</a></div><div class="ttdeci">void FP4_BLS461_div_2i(FP4_BLS461 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a7e2bad19714c06c862cf999e157385c9"><div class="ttname"><a href="fp4__BLS461_8h.html#a7e2bad19714c06c862cf999e157385c9">FP4_BLS461_xtr_A</a></div><div class="ttdeci">void FP4_BLS461_xtr_A(FP4_BLS461 *r, FP4_BLS461 *w, FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:353</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a41a70fca0ed27e9438afdfa455e344a1"><div class="ttname"><a href="fp4__BLS461_8h.html#a41a70fca0ed27e9438afdfa455e344a1">FP4_BLS461_xtr_D</a></div><div class="ttdeci">void FP4_BLS461_xtr_D(FP4_BLS461 *r, FP4_BLS461 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:373</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_afaf221f536d638f98ddc26af635fbe73"><div class="ttname"><a href="fp4__BLS461_8h.html#afaf221f536d638f98ddc26af635fbe73">FP4_BLS461_isunity</a></div><div class="ttdeci">int FP4_BLS461_isunity(FP4_BLS461 *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:37</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a016fa917249e62d567ab54abdbd555d0"><div class="ttname"><a href="fp4__BLS461_8h.html#a016fa917249e62d567ab54abdbd555d0">FP4_BLS461_zero</a></div><div class="ttdeci">void FP4_BLS461_zero(FP4_BLS461 *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:93</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a31acc02692347fd9d3a2cf9b30e99c60"><div class="ttname"><a href="fp4__BLS461_8h.html#a31acc02692347fd9d3a2cf9b30e99c60">FP4_BLS461_div2</a></div><div class="ttdeci">void FP4_BLS461_div2(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:586</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a4741d41d1adf48cccbf268f001cb1e2f"><div class="ttname"><a href="fp4__BLS461_8h.html#a4741d41d1adf48cccbf268f001cb1e2f">FP4_BLS461_mul</a></div><div class="ttdeci">void FP4_BLS461_mul(FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:228</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_ac3e3b738f376dbdcbaeffd6be1faca7a"><div class="ttname"><a href="fp4__BLS461_8h.html#ac3e3b738f376dbdcbaeffd6be1faca7a">FP4_BLS461_xtr_pow</a></div><div class="ttdeci">void FP4_BLS461_xtr_pow(FP4_BLS461 *r, FP4_BLS461 *x, BIG_464_60 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:387</div></div>
 <div class="ttc" id="structFP4__BLS461_html_a37b9711e42d6a1e1f5f01ee487beaaf2"><div class="ttname"><a href="structFP4__BLS461.html#a37b9711e42d6a1e1f5f01ee487beaaf2">FP4_BLS461::b</a></div><div class="ttdeci">FP2_BLS461 b</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.h:40</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a7818b6dfa02b88095acddc2a7ea1ee08"><div class="ttname"><a href="fp4__BLS461_8h.html#a7818b6dfa02b88095acddc2a7ea1ee08">FP4_BLS461_copy</a></div><div class="ttdeci">void FP4_BLS461_copy(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:84</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a0cd694e53e47fe0620e2b69251667907"><div class="ttname"><a href="fp4__BLS461_8h.html#a0cd694e53e47fe0620e2b69251667907">FP4_BLS461_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS461_xtr_pow2(FP4_BLS461 *r, FP4_BLS461 *c, FP4_BLS461 *d, FP4_BLS461 *e, FP4_BLS461 *f, BIG_464_60 a, BIG_464_60 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:444</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a4b2fc26aa765859d197ccf235a1bf9d9"><div class="ttname"><a href="fp4__BLS461_8h.html#a4b2fc26aa765859d197ccf235a1bf9d9">FP4_BLS461_norm</a></div><div class="ttdeci">void FP4_BLS461_norm(FP4_BLS461 *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:166</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a4a0b432b3e3d574e21a1aec555952ba6"><div class="ttname"><a href="fp4__BLS461_8h.html#a4a0b432b3e3d574e21a1aec555952ba6">FP4_BLS461_neg</a></div><div class="ttdeci">void FP4_BLS461_neg(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:109</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a65653334586773499c8684b9a5425a31"><div class="ttname"><a href="fp4__BLS461_8h.html#a65653334586773499c8684b9a5425a31">FP4_BLS461_reduce</a></div><div class="ttdeci">void FP4_BLS461_reduce(FP4_BLS461 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:158</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a0e17726cdbc36f10124b8587a2b62cd2"><div class="ttname"><a href="fp4__BLS461_8h.html#a0e17726cdbc36f10124b8587a2b62cd2">FP4_BLS461_cmove</a></div><div class="ttdeci">void FP4_BLS461_cmove(FP4_BLS461 *x, FP4_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:577</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a2a7ddf469560567085f78c6c9151d7f7"><div class="ttname"><a href="fp4__BLS461_8h.html#a2a7ddf469560567085f78c6c9151d7f7">FP4_BLS461_imul</a></div><div class="ttdeci">void FP4_BLS461_imul(FP4_BLS461 *x, FP4_BLS461 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:189</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a58b5b22a299a7506eef8f80204a0aa66"><div class="ttname"><a href="fp4__BLS461_8h.html#a58b5b22a299a7506eef8f80204a0aa66">FP4_BLS461_from_FP2H</a></div><div class="ttdeci">void FP4_BLS461_from_FP2H(FP4_BLS461 *x, FP2_BLS461 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:76</div></div>
-<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a38e66d2819e3367dbb6534cb2535a978"><div class="ttname"><a href="fp4__BLS461_8h.html#a38e66d2819e3367dbb6534cb2535a978">FP4_BLS461_sqr</a></div><div class="ttdeci">void FP4_BLS461_sqr(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:197</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a6bf13afb2b79ec64be7e2c854be756c7"><div class="ttname"><a href="fp4__BLS461_8h.html#a6bf13afb2b79ec64be7e2c854be756c7">FP4_BLS461_frob</a></div><div class="ttdeci">void FP4_BLS461_frob(FP4_BLS461 *x, FP2_BLS461 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:317</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a98bfe8a7f2629e42f9f39e6ff04410ac"><div class="ttname"><a href="fp4__BLS461_8h.html#a98bfe8a7f2629e42f9f39e6ff04410ac">FP4_BLS461_iszilch</a></div><div class="ttdeci">int FP4_BLS461_iszilch(FP4_BLS461 *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:29</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a5544da9c7972e9882189dd537a4efa4e"><div class="ttname"><a href="fp4__BLS461_8h.html#a5544da9c7972e9882189dd537a4efa4e">FP4_BLS461_from_FP2s</a></div><div class="ttdeci">void FP4_BLS461_from_FP2s(FP4_BLS461 *x, FP2_BLS461 *a, FP2_BLS461 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:60</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a861f15623459e95ca558057a8c480308"><div class="ttname"><a href="fp4__BLS461_8h.html#a861f15623459e95ca558057a8c480308">FP4_BLS461_sub</a></div><div class="ttdeci">void FP4_BLS461_sub(FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:150</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_a12723c6219e8804047bceb4727bfb5f3"><div class="ttname"><a href="fp4__BLS461_8h.html#a12723c6219e8804047bceb4727bfb5f3">FP4_BLS461_times_i</a></div><div class="ttdeci">void FP4_BLS461_times_i(FP4_BLS461 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:296</div></div>
-<div class="ttc" id="fp4__BLS461_8h_html_ad6e8af9d8e879d3e5b6d39bf4812cd85"><div class="ttname"><a href="fp4__BLS461_8h.html#ad6e8af9d8e879d3e5b6d39bf4812cd85">FP4_BLS461_from_FP2</a></div><div class="ttdeci">void FP4_BLS461_from_FP2(FP4_BLS461 *x, FP2_BLS461 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:68</div></div>
-<div class="ttc" id="structFP4__BLS461_html"><div class="ttname"><a href="structFP4__BLS461.html">FP4_BLS461</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS461.h:37</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a7818b6dfa02b88095acddc2a7ea1ee08"><div class="ttname"><a href="fp4__BLS461_8h.html#a7818b6dfa02b88095acddc2a7ea1ee08">FP4_BLS461_copy</a></div><div class="ttdeci">void FP4_BLS461_copy(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:84</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a0cd694e53e47fe0620e2b69251667907"><div class="ttname"><a href="fp4__BLS461_8h.html#a0cd694e53e47fe0620e2b69251667907">FP4_BLS461_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS461_xtr_pow2(FP4_BLS461 *r, FP4_BLS461 *c, FP4_BLS461 *d, FP4_BLS461 *e, FP4_BLS461 *f, BIG_464_60 a, BIG_464_60 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:444</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a4b2fc26aa765859d197ccf235a1bf9d9"><div class="ttname"><a href="fp4__BLS461_8h.html#a4b2fc26aa765859d197ccf235a1bf9d9">FP4_BLS461_norm</a></div><div class="ttdeci">void FP4_BLS461_norm(FP4_BLS461 *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:166</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a4a0b432b3e3d574e21a1aec555952ba6"><div class="ttname"><a href="fp4__BLS461_8h.html#a4a0b432b3e3d574e21a1aec555952ba6">FP4_BLS461_neg</a></div><div class="ttdeci">void FP4_BLS461_neg(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:109</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a65653334586773499c8684b9a5425a31"><div class="ttname"><a href="fp4__BLS461_8h.html#a65653334586773499c8684b9a5425a31">FP4_BLS461_reduce</a></div><div class="ttdeci">void FP4_BLS461_reduce(FP4_BLS461 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:158</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a0e17726cdbc36f10124b8587a2b62cd2"><div class="ttname"><a href="fp4__BLS461_8h.html#a0e17726cdbc36f10124b8587a2b62cd2">FP4_BLS461_cmove</a></div><div class="ttdeci">void FP4_BLS461_cmove(FP4_BLS461 *x, FP4_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:577</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a2a7ddf469560567085f78c6c9151d7f7"><div class="ttname"><a href="fp4__BLS461_8h.html#a2a7ddf469560567085f78c6c9151d7f7">FP4_BLS461_imul</a></div><div class="ttdeci">void FP4_BLS461_imul(FP4_BLS461 *x, FP4_BLS461 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:189</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a58b5b22a299a7506eef8f80204a0aa66"><div class="ttname"><a href="fp4__BLS461_8h.html#a58b5b22a299a7506eef8f80204a0aa66">FP4_BLS461_from_FP2H</a></div><div class="ttdeci">void FP4_BLS461_from_FP2H(FP4_BLS461 *x, FP2_BLS461 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:76</div></div>
+<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a38e66d2819e3367dbb6534cb2535a978"><div class="ttname"><a href="fp4__BLS461_8h.html#a38e66d2819e3367dbb6534cb2535a978">FP4_BLS461_sqr</a></div><div class="ttdeci">void FP4_BLS461_sqr(FP4_BLS461 *x, FP4_BLS461 *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:197</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a6bf13afb2b79ec64be7e2c854be756c7"><div class="ttname"><a href="fp4__BLS461_8h.html#a6bf13afb2b79ec64be7e2c854be756c7">FP4_BLS461_frob</a></div><div class="ttdeci">void FP4_BLS461_frob(FP4_BLS461 *x, FP2_BLS461 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:317</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a98bfe8a7f2629e42f9f39e6ff04410ac"><div class="ttname"><a href="fp4__BLS461_8h.html#a98bfe8a7f2629e42f9f39e6ff04410ac">FP4_BLS461_iszilch</a></div><div class="ttdeci">int FP4_BLS461_iszilch(FP4_BLS461 *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:29</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a5544da9c7972e9882189dd537a4efa4e"><div class="ttname"><a href="fp4__BLS461_8h.html#a5544da9c7972e9882189dd537a4efa4e">FP4_BLS461_from_FP2s</a></div><div class="ttdeci">void FP4_BLS461_from_FP2s(FP4_BLS461 *x, FP2_BLS461 *a, FP2_BLS461 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:60</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a861f15623459e95ca558057a8c480308"><div class="ttname"><a href="fp4__BLS461_8h.html#a861f15623459e95ca558057a8c480308">FP4_BLS461_sub</a></div><div class="ttdeci">void FP4_BLS461_sub(FP4_BLS461 *x, FP4_BLS461 *y, FP4_BLS461 *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:150</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_a12723c6219e8804047bceb4727bfb5f3"><div class="ttname"><a href="fp4__BLS461_8h.html#a12723c6219e8804047bceb4727bfb5f3">FP4_BLS461_times_i</a></div><div class="ttdeci">void FP4_BLS461_times_i(FP4_BLS461 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:296</div></div>
+<div class="ttc" id="fp4__BLS461_8h_html_ad6e8af9d8e879d3e5b6d39bf4812cd85"><div class="ttname"><a href="fp4__BLS461_8h.html#ad6e8af9d8e879d3e5b6d39bf4812cd85">FP4_BLS461_from_FP2</a></div><div class="ttdeci">void FP4_BLS461_from_FP2(FP4_BLS461 *x, FP2_BLS461 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.c:68</div></div>
+<div class="ttc" id="structFP4__BLS461_html"><div class="ttname"><a href="structFP4__BLS461.html">FP4_BLS461</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS461.h:37</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/fp4__BLS48_8h.html b/website/static/cdocs/fp4__BLS48_8h.html
index ae6160e..1f878a9 100644
--- a/website/static/cdocs/fp4__BLS48_8h.html
+++ b/website/static/cdocs/fp4__BLS48_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: fp4_BLS48.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"
@@ -1502,7 +1505,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/fp4__BLS48_8h_source.html b/website/static/cdocs/fp4__BLS48_8h_source.html
index 03d28dd..2eff780 100644
--- a/website/static/cdocs/fp4__BLS48_8h_source.html
+++ b/website/static/cdocs/fp4__BLS48_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: fp4_BLS48.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,56 +72,56 @@
 <div class="title">fp4_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__BLS48_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 FP4_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS48_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 &quot;<a class="code" href="fp2__BLS48_8h.html">fp2_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS48.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS48.html#a724e2e8a3e6980420f72d8b08221c04c">   39</a></span>&#160;    <a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> <a class="code" href="structFP4__BLS48.html#a724e2e8a3e6980420f72d8b08221c04c">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS48.html#af5478a59b96586d558e008c26352a40f">   40</a></span>&#160;    <a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> <a class="code" href="structFP4__BLS48.html#af5478a59b96586d558e008c26352a40f">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS48.html">FP4_BLS48</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS48_8h.html#a611249afb40710ab421ef9613a1a5514">FP4_BLS48_iszilch</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS48_8h.html#a47f6c83a0cd2fa8f823582aa8679697a">FP4_BLS48_isunity</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS48_8h.html#a70dd2a09a51461b47ab7dc4e194c49b6">FP4_BLS48_equals</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</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="fp4__BLS48_8h.html#aee712744f5a6490f398a2169ab079305">FP4_BLS48_isreal</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a6257c181dcb5169cf3b7ef0a71ed6cc6">FP4_BLS48_from_FP2s</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#af5adb021441cfcfa36edfec9cc847563">FP4_BLS48_from_FP2</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS48_8h.html#ac051c6ce5cf2ec1ce2fb191346780ec4">FP4_BLS48_from_FP2H</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS48_8h.html#af56ef475c8920506a91f68ca35ffdce7">FP4_BLS48_copy</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a5f843b9d548c32a78f3b7bc3fcf3317c">FP4_BLS48_zero</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#af8b1fe406e11592dc5a43104830688b2">FP4_BLS48_one</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</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="fp4__BLS48_8h.html#af3af02656fbe4dc092e970963375b317">FP4_BLS48_neg</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a746de0c0bc1ec861cfed6722e0d30e8b">FP4_BLS48_conj</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a5cdf7be4a85d7d2ebe47e15c7e0f13c4">FP4_BLS48_nconj</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ae620370a55b3cc57c32a5b3a792cc83f">FP4_BLS48_add</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a413bbba3f3c447b099af89a593dd0e9c">FP4_BLS48_sub</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ad312305310dec6c7711a618569ad0e55">FP4_BLS48_pmul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#afd999e44fb13758199e613d1bae1c50b">FP4_BLS48_qmul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ae581788163f859ba4441bc9dbf8e2871">FP4_BLS48_imul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a3c770dc5f63dc7b98312d89bc0bf3ced">FP4_BLS48_sqr</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#acb7e1028a445e89d140601da6d435163">FP4_BLS48_mul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ae4db9824ecd22b07903bc0634e53a525">FP4_BLS48_inv</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#aeef78c9ffe63c523ae8aa7999864dfe1">FP4_BLS48_output</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</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="fp4__BLS48_8h.html#ab0b448803ddb2cea361e9ac0040809ac">FP4_BLS48_rawoutput</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</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="fp4__BLS48_8h.html#ace1922795087728455377dd367de0edf">FP4_BLS48_times_i</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</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="fp4__BLS48_8h.html#a1f93ad93d5ba74d6d94faaa1f20a3804">FP4_BLS48_norm</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</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="fp4__BLS48_8h.html#af0be99ef8adc0fa40b416ad19a637c24">FP4_BLS48_reduce</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a7e5d6e85ee5a2b220bebaaeb337b514f">FP4_BLS48_pow</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a0e216c665d9fa1b58b97b6c632dea3fe">FP4_BLS48_frob</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a75ec2f8c29a4ee5d89e80512f4eb1fd7">FP4_BLS48_xtr_A</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *w,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#aa1b4d7399cf0772b267955d0e8947c60">FP4_BLS48_xtr_D</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a6432453fb0c1651a2fe5a1ae800e42f0">FP4_BLS48_xtr_pow</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a7761ccbdac6b2c1d8f7ec4ddd9b52888">FP4_BLS48_xtr_pow2</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *c,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *d,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *e,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *f,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a6d5c64f5dfc4759326fae880204cfaee">FP4_BLS48_cmove</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS48_8h.html#aabcbc11c52f6135339c5f718e00b8e5b">FP4_BLS48_sqrt</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#aba6a37948a143c156c1efe1be1e1095f">FP4_BLS48_div_i</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a11666c444b99c9d75c2a15fe664fdf85">FP4_BLS48_div_2i</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a2590a102da0a4a35beb128ef12c98274">FP4_BLS48_div2</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS48_8h_html_ac051c6ce5cf2ec1ce2fb191346780ec4"><div class="ttname"><a href="fp4__BLS48_8h.html#ac051c6ce5cf2ec1ce2fb191346780ec4">FP4_BLS48_from_FP2H</a></div><div class="ttdeci">void FP4_BLS48_from_FP2H(FP4_BLS48 *x, FP2_BLS48 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:76</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a47f6c83a0cd2fa8f823582aa8679697a"><div class="ttname"><a href="fp4__BLS48_8h.html#a47f6c83a0cd2fa8f823582aa8679697a">FP4_BLS48_isunity</a></div><div class="ttdeci">int FP4_BLS48_isunity(FP4_BLS48 *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:37</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a75ec2f8c29a4ee5d89e80512f4eb1fd7"><div class="ttname"><a href="fp4__BLS48_8h.html#a75ec2f8c29a4ee5d89e80512f4eb1fd7">FP4_BLS48_xtr_A</a></div><div class="ttdeci">void FP4_BLS48_xtr_A(FP4_BLS48 *r, FP4_BLS48 *w, FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:353</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_aabcbc11c52f6135339c5f718e00b8e5b"><div class="ttname"><a href="fp4__BLS48_8h.html#aabcbc11c52f6135339c5f718e00b8e5b">FP4_BLS48_sqrt</a></div><div class="ttdeci">int FP4_BLS48_sqrt(FP4_BLS48 *r, FP4_BLS48 *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a5cdf7be4a85d7d2ebe47e15c7e0f13c4"><div class="ttname"><a href="fp4__BLS48_8h.html#a5cdf7be4a85d7d2ebe47e15c7e0f13c4">FP4_BLS48_nconj</a></div><div class="ttdeci">void FP4_BLS48_nconj(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:133</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a2590a102da0a4a35beb128ef12c98274"><div class="ttname"><a href="fp4__BLS48_8h.html#a2590a102da0a4a35beb128ef12c98274">FP4_BLS48_div2</a></div><div class="ttdeci">void FP4_BLS48_div2(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:586</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_af8b1fe406e11592dc5a43104830688b2"><div class="ttname"><a href="fp4__BLS48_8h.html#af8b1fe406e11592dc5a43104830688b2">FP4_BLS48_one</a></div><div class="ttdeci">void FP4_BLS48_one(FP4_BLS48 *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:101</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_ad312305310dec6c7711a618569ad0e55"><div class="ttname"><a href="fp4__BLS48_8h.html#ad312305310dec6c7711a618569ad0e55">FP4_BLS48_pmul</a></div><div class="ttdeci">void FP4_BLS48_pmul(FP4_BLS48 *x, FP4_BLS48 *y, FP2_BLS48 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:174</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_af3af02656fbe4dc092e970963375b317"><div class="ttname"><a href="fp4__BLS48_8h.html#af3af02656fbe4dc092e970963375b317">FP4_BLS48_neg</a></div><div class="ttdeci">void FP4_BLS48_neg(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:109</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a6d5c64f5dfc4759326fae880204cfaee"><div class="ttname"><a href="fp4__BLS48_8h.html#a6d5c64f5dfc4759326fae880204cfaee">FP4_BLS48_cmove</a></div><div class="ttdeci">void FP4_BLS48_cmove(FP4_BLS48 *x, FP4_BLS48 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:577</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_ae4db9824ecd22b07903bc0634e53a525"><div class="ttname"><a href="fp4__BLS48_8h.html#ae4db9824ecd22b07903bc0634e53a525">FP4_BLS48_inv</a></div><div class="ttdeci">void FP4_BLS48_inv(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:279</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a413bbba3f3c447b099af89a593dd0e9c"><div class="ttname"><a href="fp4__BLS48_8h.html#a413bbba3f3c447b099af89a593dd0e9c">FP4_BLS48_sub</a></div><div class="ttdeci">void FP4_BLS48_sub(FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:150</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_aa1b4d7399cf0772b267955d0e8947c60"><div class="ttname"><a href="fp4__BLS48_8h.html#aa1b4d7399cf0772b267955d0e8947c60">FP4_BLS48_xtr_D</a></div><div class="ttdeci">void FP4_BLS48_xtr_D(FP4_BLS48 *r, FP4_BLS48 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:373</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a1f93ad93d5ba74d6d94faaa1f20a3804"><div class="ttname"><a href="fp4__BLS48_8h.html#a1f93ad93d5ba74d6d94faaa1f20a3804">FP4_BLS48_norm</a></div><div class="ttdeci">void FP4_BLS48_norm(FP4_BLS48 *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:166</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_aeef78c9ffe63c523ae8aa7999864dfe1"><div class="ttname"><a href="fp4__BLS48_8h.html#aeef78c9ffe63c523ae8aa7999864dfe1">FP4_BLS48_output</a></div><div class="ttdeci">void FP4_BLS48_output(FP4_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:258</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_aba6a37948a143c156c1efe1be1e1095f"><div class="ttname"><a href="fp4__BLS48_8h.html#aba6a37948a143c156c1efe1be1e1095f">FP4_BLS48_div_i</a></div><div class="ttdeci">void FP4_BLS48_div_i(FP4_BLS48 *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a6257c181dcb5169cf3b7ef0a71ed6cc6"><div class="ttname"><a href="fp4__BLS48_8h.html#a6257c181dcb5169cf3b7ef0a71ed6cc6">FP4_BLS48_from_FP2s</a></div><div class="ttdeci">void FP4_BLS48_from_FP2s(FP4_BLS48 *x, FP2_BLS48 *a, FP2_BLS48 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:60</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a5f843b9d548c32a78f3b7bc3fcf3317c"><div class="ttname"><a href="fp4__BLS48_8h.html#a5f843b9d548c32a78f3b7bc3fcf3317c">FP4_BLS48_zero</a></div><div class="ttdeci">void FP4_BLS48_zero(FP4_BLS48 *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:93</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a3c770dc5f63dc7b98312d89bc0bf3ced"><div class="ttname"><a href="fp4__BLS48_8h.html#a3c770dc5f63dc7b98312d89bc0bf3ced">FP4_BLS48_sqr</a></div><div class="ttdeci">void FP4_BLS48_sqr(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:197</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_ace1922795087728455377dd367de0edf"><div class="ttname"><a href="fp4__BLS48_8h.html#ace1922795087728455377dd367de0edf">FP4_BLS48_times_i</a></div><div class="ttdeci">void FP4_BLS48_times_i(FP4_BLS48 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:296</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a0e216c665d9fa1b58b97b6c632dea3fe"><div class="ttname"><a href="fp4__BLS48_8h.html#a0e216c665d9fa1b58b97b6c632dea3fe">FP4_BLS48_frob</a></div><div class="ttdeci">void FP4_BLS48_frob(FP4_BLS48 *x, FP2_BLS48 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:317</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a746de0c0bc1ec861cfed6722e0d30e8b"><div class="ttname"><a href="fp4__BLS48_8h.html#a746de0c0bc1ec861cfed6722e0d30e8b">FP4_BLS48_conj</a></div><div class="ttdeci">void FP4_BLS48_conj(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:124</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_acb7e1028a445e89d140601da6d435163"><div class="ttname"><a href="fp4__BLS48_8h.html#acb7e1028a445e89d140601da6d435163">FP4_BLS48_mul</a></div><div class="ttdeci">void FP4_BLS48_mul(FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:228</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_afd999e44fb13758199e613d1bae1c50b"><div class="ttname"><a href="fp4__BLS48_8h.html#afd999e44fb13758199e613d1bae1c50b">FP4_BLS48_qmul</a></div><div class="ttdeci">void FP4_BLS48_qmul(FP4_BLS48 *x, FP4_BLS48 *y, FP_BLS48 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:181</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_ab0b448803ddb2cea361e9ac0040809ac"><div class="ttname"><a href="fp4__BLS48_8h.html#ab0b448803ddb2cea361e9ac0040809ac">FP4_BLS48_rawoutput</a></div><div class="ttdeci">void FP4_BLS48_rawoutput(FP4_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:268</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_af56ef475c8920506a91f68ca35ffdce7"><div class="ttname"><a href="fp4__BLS48_8h.html#af56ef475c8920506a91f68ca35ffdce7">FP4_BLS48_copy</a></div><div class="ttdeci">void FP4_BLS48_copy(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:84</div></div>
-<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a611249afb40710ab421ef9613a1a5514"><div class="ttname"><a href="fp4__BLS48_8h.html#a611249afb40710ab421ef9613a1a5514">FP4_BLS48_iszilch</a></div><div class="ttdeci">int FP4_BLS48_iszilch(FP4_BLS48 *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:29</div></div>
+<a href="fp4__BLS48_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 FP4_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BLS48_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 &quot;<a class="code" href="fp2__BLS48_8h.html">fp2_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BLS48.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BLS48.html#a724e2e8a3e6980420f72d8b08221c04c">   39</a></span>&#160;    <a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> <a class="code" href="structFP4__BLS48.html#a724e2e8a3e6980420f72d8b08221c04c">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BLS48.html#af5478a59b96586d558e008c26352a40f">   40</a></span>&#160;    <a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> <a class="code" href="structFP4__BLS48.html#af5478a59b96586d558e008c26352a40f">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BLS48.html">FP4_BLS48</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS48_8h.html#a611249afb40710ab421ef9613a1a5514">FP4_BLS48_iszilch</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS48_8h.html#a47f6c83a0cd2fa8f823582aa8679697a">FP4_BLS48_isunity</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BLS48_8h.html#a70dd2a09a51461b47ab7dc4e194c49b6">FP4_BLS48_equals</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</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="fp4__BLS48_8h.html#aee712744f5a6490f398a2169ab079305">FP4_BLS48_isreal</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a6257c181dcb5169cf3b7ef0a71ed6cc6">FP4_BLS48_from_FP2s</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#af5adb021441cfcfa36edfec9cc847563">FP4_BLS48_from_FP2</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BLS48_8h.html#ac051c6ce5cf2ec1ce2fb191346780ec4">FP4_BLS48_from_FP2H</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BLS48_8h.html#af56ef475c8920506a91f68ca35ffdce7">FP4_BLS48_copy</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a5f843b9d548c32a78f3b7bc3fcf3317c">FP4_BLS48_zero</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#af8b1fe406e11592dc5a43104830688b2">FP4_BLS48_one</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</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="fp4__BLS48_8h.html#af3af02656fbe4dc092e970963375b317">FP4_BLS48_neg</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a746de0c0bc1ec861cfed6722e0d30e8b">FP4_BLS48_conj</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a5cdf7be4a85d7d2ebe47e15c7e0f13c4">FP4_BLS48_nconj</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ae620370a55b3cc57c32a5b3a792cc83f">FP4_BLS48_add</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a413bbba3f3c447b099af89a593dd0e9c">FP4_BLS48_sub</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ad312305310dec6c7711a618569ad0e55">FP4_BLS48_pmul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#afd999e44fb13758199e613d1bae1c50b">FP4_BLS48_qmul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ae581788163f859ba4441bc9dbf8e2871">FP4_BLS48_imul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a3c770dc5f63dc7b98312d89bc0bf3ced">FP4_BLS48_sqr</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#acb7e1028a445e89d140601da6d435163">FP4_BLS48_mul</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#ae4db9824ecd22b07903bc0634e53a525">FP4_BLS48_inv</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#aeef78c9ffe63c523ae8aa7999864dfe1">FP4_BLS48_output</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</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="fp4__BLS48_8h.html#ab0b448803ddb2cea361e9ac0040809ac">FP4_BLS48_rawoutput</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</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="fp4__BLS48_8h.html#ace1922795087728455377dd367de0edf">FP4_BLS48_times_i</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</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="fp4__BLS48_8h.html#a1f93ad93d5ba74d6d94faaa1f20a3804">FP4_BLS48_norm</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</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="fp4__BLS48_8h.html#af0be99ef8adc0fa40b416ad19a637c24">FP4_BLS48_reduce</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a7e5d6e85ee5a2b220bebaaeb337b514f">FP4_BLS48_pow</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a0e216c665d9fa1b58b97b6c632dea3fe">FP4_BLS48_frob</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a75ec2f8c29a4ee5d89e80512f4eb1fd7">FP4_BLS48_xtr_A</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *w,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#aa1b4d7399cf0772b267955d0e8947c60">FP4_BLS48_xtr_D</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a6432453fb0c1651a2fe5a1ae800e42f0">FP4_BLS48_xtr_pow</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a7761ccbdac6b2c1d8f7ec4ddd9b52888">FP4_BLS48_xtr_pow2</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *c,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *d,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *e,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *f,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a6d5c64f5dfc4759326fae880204cfaee">FP4_BLS48_cmove</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BLS48_8h.html#aabcbc11c52f6135339c5f718e00b8e5b">FP4_BLS48_sqrt</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *r,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#aba6a37948a143c156c1efe1be1e1095f">FP4_BLS48_div_i</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a11666c444b99c9d75c2a15fe664fdf85">FP4_BLS48_div_2i</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BLS48_8h.html#a2590a102da0a4a35beb128ef12c98274">FP4_BLS48_div2</a>(<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BLS48_8h_html_ac051c6ce5cf2ec1ce2fb191346780ec4"><div class="ttname"><a href="fp4__BLS48_8h.html#ac051c6ce5cf2ec1ce2fb191346780ec4">FP4_BLS48_from_FP2H</a></div><div class="ttdeci">void FP4_BLS48_from_FP2H(FP4_BLS48 *x, FP2_BLS48 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:76</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a47f6c83a0cd2fa8f823582aa8679697a"><div class="ttname"><a href="fp4__BLS48_8h.html#a47f6c83a0cd2fa8f823582aa8679697a">FP4_BLS48_isunity</a></div><div class="ttdeci">int FP4_BLS48_isunity(FP4_BLS48 *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:37</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a75ec2f8c29a4ee5d89e80512f4eb1fd7"><div class="ttname"><a href="fp4__BLS48_8h.html#a75ec2f8c29a4ee5d89e80512f4eb1fd7">FP4_BLS48_xtr_A</a></div><div class="ttdeci">void FP4_BLS48_xtr_A(FP4_BLS48 *r, FP4_BLS48 *w, FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:353</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_aabcbc11c52f6135339c5f718e00b8e5b"><div class="ttname"><a href="fp4__BLS48_8h.html#aabcbc11c52f6135339c5f718e00b8e5b">FP4_BLS48_sqrt</a></div><div class="ttdeci">int FP4_BLS48_sqrt(FP4_BLS48 *r, FP4_BLS48 *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a5cdf7be4a85d7d2ebe47e15c7e0f13c4"><div class="ttname"><a href="fp4__BLS48_8h.html#a5cdf7be4a85d7d2ebe47e15c7e0f13c4">FP4_BLS48_nconj</a></div><div class="ttdeci">void FP4_BLS48_nconj(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:133</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a2590a102da0a4a35beb128ef12c98274"><div class="ttname"><a href="fp4__BLS48_8h.html#a2590a102da0a4a35beb128ef12c98274">FP4_BLS48_div2</a></div><div class="ttdeci">void FP4_BLS48_div2(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:586</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_af8b1fe406e11592dc5a43104830688b2"><div class="ttname"><a href="fp4__BLS48_8h.html#af8b1fe406e11592dc5a43104830688b2">FP4_BLS48_one</a></div><div class="ttdeci">void FP4_BLS48_one(FP4_BLS48 *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:101</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_ad312305310dec6c7711a618569ad0e55"><div class="ttname"><a href="fp4__BLS48_8h.html#ad312305310dec6c7711a618569ad0e55">FP4_BLS48_pmul</a></div><div class="ttdeci">void FP4_BLS48_pmul(FP4_BLS48 *x, FP4_BLS48 *y, FP2_BLS48 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:174</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_af3af02656fbe4dc092e970963375b317"><div class="ttname"><a href="fp4__BLS48_8h.html#af3af02656fbe4dc092e970963375b317">FP4_BLS48_neg</a></div><div class="ttdeci">void FP4_BLS48_neg(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:109</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a6d5c64f5dfc4759326fae880204cfaee"><div class="ttname"><a href="fp4__BLS48_8h.html#a6d5c64f5dfc4759326fae880204cfaee">FP4_BLS48_cmove</a></div><div class="ttdeci">void FP4_BLS48_cmove(FP4_BLS48 *x, FP4_BLS48 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:577</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_ae4db9824ecd22b07903bc0634e53a525"><div class="ttname"><a href="fp4__BLS48_8h.html#ae4db9824ecd22b07903bc0634e53a525">FP4_BLS48_inv</a></div><div class="ttdeci">void FP4_BLS48_inv(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:279</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a413bbba3f3c447b099af89a593dd0e9c"><div class="ttname"><a href="fp4__BLS48_8h.html#a413bbba3f3c447b099af89a593dd0e9c">FP4_BLS48_sub</a></div><div class="ttdeci">void FP4_BLS48_sub(FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:150</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_aa1b4d7399cf0772b267955d0e8947c60"><div class="ttname"><a href="fp4__BLS48_8h.html#aa1b4d7399cf0772b267955d0e8947c60">FP4_BLS48_xtr_D</a></div><div class="ttdeci">void FP4_BLS48_xtr_D(FP4_BLS48 *r, FP4_BLS48 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:373</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a1f93ad93d5ba74d6d94faaa1f20a3804"><div class="ttname"><a href="fp4__BLS48_8h.html#a1f93ad93d5ba74d6d94faaa1f20a3804">FP4_BLS48_norm</a></div><div class="ttdeci">void FP4_BLS48_norm(FP4_BLS48 *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:166</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_aeef78c9ffe63c523ae8aa7999864dfe1"><div class="ttname"><a href="fp4__BLS48_8h.html#aeef78c9ffe63c523ae8aa7999864dfe1">FP4_BLS48_output</a></div><div class="ttdeci">void FP4_BLS48_output(FP4_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:258</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_aba6a37948a143c156c1efe1be1e1095f"><div class="ttname"><a href="fp4__BLS48_8h.html#aba6a37948a143c156c1efe1be1e1095f">FP4_BLS48_div_i</a></div><div class="ttdeci">void FP4_BLS48_div_i(FP4_BLS48 *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a6257c181dcb5169cf3b7ef0a71ed6cc6"><div class="ttname"><a href="fp4__BLS48_8h.html#a6257c181dcb5169cf3b7ef0a71ed6cc6">FP4_BLS48_from_FP2s</a></div><div class="ttdeci">void FP4_BLS48_from_FP2s(FP4_BLS48 *x, FP2_BLS48 *a, FP2_BLS48 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:60</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a5f843b9d548c32a78f3b7bc3fcf3317c"><div class="ttname"><a href="fp4__BLS48_8h.html#a5f843b9d548c32a78f3b7bc3fcf3317c">FP4_BLS48_zero</a></div><div class="ttdeci">void FP4_BLS48_zero(FP4_BLS48 *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:93</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a3c770dc5f63dc7b98312d89bc0bf3ced"><div class="ttname"><a href="fp4__BLS48_8h.html#a3c770dc5f63dc7b98312d89bc0bf3ced">FP4_BLS48_sqr</a></div><div class="ttdeci">void FP4_BLS48_sqr(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:197</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_ace1922795087728455377dd367de0edf"><div class="ttname"><a href="fp4__BLS48_8h.html#ace1922795087728455377dd367de0edf">FP4_BLS48_times_i</a></div><div class="ttdeci">void FP4_BLS48_times_i(FP4_BLS48 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:296</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a0e216c665d9fa1b58b97b6c632dea3fe"><div class="ttname"><a href="fp4__BLS48_8h.html#a0e216c665d9fa1b58b97b6c632dea3fe">FP4_BLS48_frob</a></div><div class="ttdeci">void FP4_BLS48_frob(FP4_BLS48 *x, FP2_BLS48 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:317</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a746de0c0bc1ec861cfed6722e0d30e8b"><div class="ttname"><a href="fp4__BLS48_8h.html#a746de0c0bc1ec861cfed6722e0d30e8b">FP4_BLS48_conj</a></div><div class="ttdeci">void FP4_BLS48_conj(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:124</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_acb7e1028a445e89d140601da6d435163"><div class="ttname"><a href="fp4__BLS48_8h.html#acb7e1028a445e89d140601da6d435163">FP4_BLS48_mul</a></div><div class="ttdeci">void FP4_BLS48_mul(FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:228</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_afd999e44fb13758199e613d1bae1c50b"><div class="ttname"><a href="fp4__BLS48_8h.html#afd999e44fb13758199e613d1bae1c50b">FP4_BLS48_qmul</a></div><div class="ttdeci">void FP4_BLS48_qmul(FP4_BLS48 *x, FP4_BLS48 *y, FP_BLS48 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:181</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_ab0b448803ddb2cea361e9ac0040809ac"><div class="ttname"><a href="fp4__BLS48_8h.html#ab0b448803ddb2cea361e9ac0040809ac">FP4_BLS48_rawoutput</a></div><div class="ttdeci">void FP4_BLS48_rawoutput(FP4_BLS48 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:268</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_af56ef475c8920506a91f68ca35ffdce7"><div class="ttname"><a href="fp4__BLS48_8h.html#af56ef475c8920506a91f68ca35ffdce7">FP4_BLS48_copy</a></div><div class="ttdeci">void FP4_BLS48_copy(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:84</div></div>
+<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a611249afb40710ab421ef9613a1a5514"><div class="ttname"><a href="fp4__BLS48_8h.html#a611249afb40710ab421ef9613a1a5514">FP4_BLS48_iszilch</a></div><div class="ttdeci">int FP4_BLS48_iszilch(FP4_BLS48 *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:29</div></div>
 <div class="ttc" id="structFP4__BLS48_html_af5478a59b96586d558e008c26352a40f"><div class="ttname"><a href="structFP4__BLS48.html#af5478a59b96586d558e008c26352a40f">FP4_BLS48::b</a></div><div class="ttdeci">FP2_BLS48 b</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.h:40</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a7761ccbdac6b2c1d8f7ec4ddd9b52888"><div class="ttname"><a href="fp4__BLS48_8h.html#a7761ccbdac6b2c1d8f7ec4ddd9b52888">FP4_BLS48_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS48_xtr_pow2(FP4_BLS48 *r, FP4_BLS48 *c, FP4_BLS48 *d, FP4_BLS48 *e, FP4_BLS48 *f, BIG_560_58 a, BIG_560_58 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:444</div></div>
-<div class="ttc" id="structFP4__BLS48_html"><div class="ttname"><a href="structFP4__BLS48.html">FP4_BLS48</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.h:37</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a7761ccbdac6b2c1d8f7ec4ddd9b52888"><div class="ttname"><a href="fp4__BLS48_8h.html#a7761ccbdac6b2c1d8f7ec4ddd9b52888">FP4_BLS48_xtr_pow2</a></div><div class="ttdeci">void FP4_BLS48_xtr_pow2(FP4_BLS48 *r, FP4_BLS48 *c, FP4_BLS48 *d, FP4_BLS48 *e, FP4_BLS48 *f, BIG_560_58 a, BIG_560_58 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:444</div></div>
+<div class="ttc" id="structFP4__BLS48_html"><div class="ttname"><a href="structFP4__BLS48.html">FP4_BLS48</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.h:37</div></div>
 <div class="ttc" id="structFP4__BLS48_html_a724e2e8a3e6980420f72d8b08221c04c"><div class="ttname"><a href="structFP4__BLS48.html#a724e2e8a3e6980420f72d8b08221c04c">FP4_BLS48::a</a></div><div class="ttdeci">FP2_BLS48 a</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.h:39</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_ae620370a55b3cc57c32a5b3a792cc83f"><div class="ttname"><a href="fp4__BLS48_8h.html#ae620370a55b3cc57c32a5b3a792cc83f">FP4_BLS48_add</a></div><div class="ttdeci">void FP4_BLS48_add(FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:142</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_af5adb021441cfcfa36edfec9cc847563"><div class="ttname"><a href="fp4__BLS48_8h.html#af5adb021441cfcfa36edfec9cc847563">FP4_BLS48_from_FP2</a></div><div class="ttdeci">void FP4_BLS48_from_FP2(FP4_BLS48 *x, FP2_BLS48 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:68</div></div>
-<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_ae620370a55b3cc57c32a5b3a792cc83f"><div class="ttname"><a href="fp4__BLS48_8h.html#ae620370a55b3cc57c32a5b3a792cc83f">FP4_BLS48_add</a></div><div class="ttdeci">void FP4_BLS48_add(FP4_BLS48 *x, FP4_BLS48 *y, FP4_BLS48 *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:142</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_af5adb021441cfcfa36edfec9cc847563"><div class="ttname"><a href="fp4__BLS48_8h.html#af5adb021441cfcfa36edfec9cc847563">FP4_BLS48_from_FP2</a></div><div class="ttdeci">void FP4_BLS48_from_FP2(FP4_BLS48 *x, FP2_BLS48 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:68</div></div>
+<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_ae581788163f859ba4441bc9dbf8e2871"><div class="ttname"><a href="fp4__BLS48_8h.html#ae581788163f859ba4441bc9dbf8e2871">FP4_BLS48_imul</a></div><div class="ttdeci">void FP4_BLS48_imul(FP4_BLS48 *x, FP4_BLS48 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:189</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a6432453fb0c1651a2fe5a1ae800e42f0"><div class="ttname"><a href="fp4__BLS48_8h.html#a6432453fb0c1651a2fe5a1ae800e42f0">FP4_BLS48_xtr_pow</a></div><div class="ttdeci">void FP4_BLS48_xtr_pow(FP4_BLS48 *r, FP4_BLS48 *x, BIG_560_58 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:387</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_af0be99ef8adc0fa40b416ad19a637c24"><div class="ttname"><a href="fp4__BLS48_8h.html#af0be99ef8adc0fa40b416ad19a637c24">FP4_BLS48_reduce</a></div><div class="ttdeci">void FP4_BLS48_reduce(FP4_BLS48 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:158</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a70dd2a09a51461b47ab7dc4e194c49b6"><div class="ttname"><a href="fp4__BLS48_8h.html#a70dd2a09a51461b47ab7dc4e194c49b6">FP4_BLS48_equals</a></div><div class="ttdeci">int FP4_BLS48_equals(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:51</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a11666c444b99c9d75c2a15fe664fdf85"><div class="ttname"><a href="fp4__BLS48_8h.html#a11666c444b99c9d75c2a15fe664fdf85">FP4_BLS48_div_2i</a></div><div class="ttdeci">void FP4_BLS48_div_2i(FP4_BLS48 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="fp2__BLS48_8h_html"><div class="ttname"><a href="fp2__BLS48_8h.html">fp2_BLS48.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_a7e5d6e85ee5a2b220bebaaeb337b514f"><div class="ttname"><a href="fp4__BLS48_8h.html#a7e5d6e85ee5a2b220bebaaeb337b514f">FP4_BLS48_pow</a></div><div class="ttdeci">void FP4_BLS48_pow(FP4_BLS48 *x, FP4_BLS48 *y, BIG_560_58 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:326</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html_aee712744f5a6490f398a2169ab079305"><div class="ttname"><a href="fp4__BLS48_8h.html#aee712744f5a6490f398a2169ab079305">FP4_BLS48_isreal</a></div><div class="ttdeci">int FP4_BLS48_isreal(FP4_BLS48 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:44</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_ae581788163f859ba4441bc9dbf8e2871"><div class="ttname"><a href="fp4__BLS48_8h.html#ae581788163f859ba4441bc9dbf8e2871">FP4_BLS48_imul</a></div><div class="ttdeci">void FP4_BLS48_imul(FP4_BLS48 *x, FP4_BLS48 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:189</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a6432453fb0c1651a2fe5a1ae800e42f0"><div class="ttname"><a href="fp4__BLS48_8h.html#a6432453fb0c1651a2fe5a1ae800e42f0">FP4_BLS48_xtr_pow</a></div><div class="ttdeci">void FP4_BLS48_xtr_pow(FP4_BLS48 *r, FP4_BLS48 *x, BIG_560_58 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:387</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_af0be99ef8adc0fa40b416ad19a637c24"><div class="ttname"><a href="fp4__BLS48_8h.html#af0be99ef8adc0fa40b416ad19a637c24">FP4_BLS48_reduce</a></div><div class="ttdeci">void FP4_BLS48_reduce(FP4_BLS48 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:158</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a70dd2a09a51461b47ab7dc4e194c49b6"><div class="ttname"><a href="fp4__BLS48_8h.html#a70dd2a09a51461b47ab7dc4e194c49b6">FP4_BLS48_equals</a></div><div class="ttdeci">int FP4_BLS48_equals(FP4_BLS48 *x, FP4_BLS48 *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:51</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a11666c444b99c9d75c2a15fe664fdf85"><div class="ttname"><a href="fp4__BLS48_8h.html#a11666c444b99c9d75c2a15fe664fdf85">FP4_BLS48_div_2i</a></div><div class="ttdeci">void FP4_BLS48_div_2i(FP4_BLS48 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="fp2__BLS48_8h_html"><div class="ttname"><a href="fp2__BLS48_8h.html">fp2_BLS48.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_a7e5d6e85ee5a2b220bebaaeb337b514f"><div class="ttname"><a href="fp4__BLS48_8h.html#a7e5d6e85ee5a2b220bebaaeb337b514f">FP4_BLS48_pow</a></div><div class="ttdeci">void FP4_BLS48_pow(FP4_BLS48 *x, FP4_BLS48 *y, BIG_560_58 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:326</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html_aee712744f5a6490f398a2169ab079305"><div class="ttname"><a href="fp4__BLS48_8h.html#aee712744f5a6490f398a2169ab079305">FP4_BLS48_isreal</a></div><div class="ttdeci">int FP4_BLS48_isreal(FP4_BLS48 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.c:44</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/fp4__BN254CX_8h.html b/website/static/cdocs/fp4__BN254CX_8h.html
index a2e6cf8..56839be 100644
--- a/website/static/cdocs/fp4__BN254CX_8h.html
+++ b/website/static/cdocs/fp4__BN254CX_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: fp4_BN254CX.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"
@@ -1502,7 +1505,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/fp4__BN254CX_8h_source.html b/website/static/cdocs/fp4__BN254CX_8h_source.html
index c5b1a3b..d744787 100644
--- a/website/static/cdocs/fp4__BN254CX_8h_source.html
+++ b/website/static/cdocs/fp4__BN254CX_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: fp4_BN254CX.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,56 +72,56 @@
 <div class="title">fp4_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__BN254CX_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 FP4_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BN254CX_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 &quot;<a class="code" href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BN254CX.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BN254CX.html#a7128773470b8777a45f74d20cd330def">   39</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structFP4__BN254CX.html#a7128773470b8777a45f74d20cd330def">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BN254CX.html#ab0f5c9cb9f8eab1431a0c5873c67b104">   40</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structFP4__BN254CX.html#ab0f5c9cb9f8eab1431a0c5873c67b104">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254CX_8h.html#a2177a0fa7a20bbfc97575da3214455c6">FP4_BN254CX_iszilch</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254CX_8h.html#a921cf2143d579e099c673c7e9087ef3f">FP4_BN254CX_isunity</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254CX_8h.html#a6919878b95717f620a34aacdc651367d">FP4_BN254CX_equals</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</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="fp4__BN254CX_8h.html#a4d444f5019a68d23e5ab68d71844345d">FP4_BN254CX_isreal</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a38618540def839f71d8529fa80fff78e">FP4_BN254CX_from_FP2s</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a8dc15deab3019afd281de803f1a53e39">FP4_BN254CX_from_FP2</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BN254CX_8h.html#a12d9e4ac268ed1bd57ce8d884e10807f">FP4_BN254CX_from_FP2H</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BN254CX_8h.html#a2fbac5e565f9e43c06a45ba1b7c4f97d">FP4_BN254CX_copy</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a3e9b2cf667ad70963d8d1af2160063f1">FP4_BN254CX_zero</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a5477abfc459e84bdc0ad14a2107b6ff9">FP4_BN254CX_one</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</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="fp4__BN254CX_8h.html#a4f8287b4f431f10cc4c4788c7e26148c">FP4_BN254CX_neg</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a2e0a84ff4432d8da52d8a7d0be712dfd">FP4_BN254CX_conj</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a2374738525a84cdb458ad944e7c6d0fe">FP4_BN254CX_nconj</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a7c4de9e05ee0b5b2fc9ddb99fa43e968">FP4_BN254CX_add</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#adc26a890a088ceb45a75cfb12f10d807">FP4_BN254CX_sub</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a9676c1658d9305e4c9c417c5e6b0c16c">FP4_BN254CX_pmul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a12bc496b620af4ba4750866d3a56e81e">FP4_BN254CX_qmul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a448b5213c500da0bdfff1db94ab07bb3">FP4_BN254CX_imul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a55b06739ff81e15a74b8236c447a0f9b">FP4_BN254CX_sqr</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#aaf3f245bf13e1bce751d1274339eee62">FP4_BN254CX_mul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#aefc4dc9cfb622f245518b34af28bc68f">FP4_BN254CX_inv</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#aa66548297b46da4b042dcde506aaef43">FP4_BN254CX_output</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</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="fp4__BN254CX_8h.html#ac6848e2150cc5f67513226d9415743fb">FP4_BN254CX_rawoutput</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</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="fp4__BN254CX_8h.html#a05b4c19076f4af7fa233395f682a30b9">FP4_BN254CX_times_i</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</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="fp4__BN254CX_8h.html#aa427716e18c0bd38e19c7e2e3350e02b">FP4_BN254CX_norm</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</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="fp4__BN254CX_8h.html#a6fd4e9915aa4f9c8779d3333f243d55d">FP4_BN254CX_reduce</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#ada4b691d6fe84d0a39951df4818c0cbc">FP4_BN254CX_pow</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a2431223a4a8b6b0da536564bd4b51f03">FP4_BN254CX_frob</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#af43b3913ac61b465c2945b8d70f2a160">FP4_BN254CX_xtr_A</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *w,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a78a88b21db07ad5014014da894e7ca7e">FP4_BN254CX_xtr_D</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#af7fd16e511f22f5428021d477266af66">FP4_BN254CX_xtr_pow</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a667cf815d3e826ad02d672d647466fc5">FP4_BN254CX_xtr_pow2</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *c,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *d,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *e,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *f,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a1b3cd258b0e0ac866f31fc0f875e54ce">FP4_BN254CX_cmove</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BN254CX_8h.html#adb0c1a684c51f6744bed6f3e95fdd989">FP4_BN254CX_sqrt</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a4411a9586f2febe719ef62ab05d96d43">FP4_BN254CX_div_i</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#acd17e44b9687cde9b1d57691fc6652ce">FP4_BN254CX_div_2i</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#ac23fe2bce0343b95187f177b36ff0e80">FP4_BN254CX_div2</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BN254CX_8h_html_a448b5213c500da0bdfff1db94ab07bb3"><div class="ttname"><a href="fp4__BN254CX_8h.html#a448b5213c500da0bdfff1db94ab07bb3">FP4_BN254CX_imul</a></div><div class="ttdeci">void FP4_BN254CX_imul(FP4_BN254CX *x, FP4_BN254CX *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:189</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_aa427716e18c0bd38e19c7e2e3350e02b"><div class="ttname"><a href="fp4__BN254CX_8h.html#aa427716e18c0bd38e19c7e2e3350e02b">FP4_BN254CX_norm</a></div><div class="ttdeci">void FP4_BN254CX_norm(FP4_BN254CX *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:166</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a55b06739ff81e15a74b8236c447a0f9b"><div class="ttname"><a href="fp4__BN254CX_8h.html#a55b06739ff81e15a74b8236c447a0f9b">FP4_BN254CX_sqr</a></div><div class="ttdeci">void FP4_BN254CX_sqr(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:197</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a4d444f5019a68d23e5ab68d71844345d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a4d444f5019a68d23e5ab68d71844345d">FP4_BN254CX_isreal</a></div><div class="ttdeci">int FP4_BN254CX_isreal(FP4_BN254CX *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:44</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a4411a9586f2febe719ef62ab05d96d43"><div class="ttname"><a href="fp4__BN254CX_8h.html#a4411a9586f2febe719ef62ab05d96d43">FP4_BN254CX_div_i</a></div><div class="ttdeci">void FP4_BN254CX_div_i(FP4_BN254CX *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_acd17e44b9687cde9b1d57691fc6652ce"><div class="ttname"><a href="fp4__BN254CX_8h.html#acd17e44b9687cde9b1d57691fc6652ce">FP4_BN254CX_div_2i</a></div><div class="ttdeci">void FP4_BN254CX_div_2i(FP4_BN254CX *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_aa66548297b46da4b042dcde506aaef43"><div class="ttname"><a href="fp4__BN254CX_8h.html#aa66548297b46da4b042dcde506aaef43">FP4_BN254CX_output</a></div><div class="ttdeci">void FP4_BN254CX_output(FP4_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:258</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a05b4c19076f4af7fa233395f682a30b9"><div class="ttname"><a href="fp4__BN254CX_8h.html#a05b4c19076f4af7fa233395f682a30b9">FP4_BN254CX_times_i</a></div><div class="ttdeci">void FP4_BN254CX_times_i(FP4_BN254CX *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:296</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a3e9b2cf667ad70963d8d1af2160063f1"><div class="ttname"><a href="fp4__BN254CX_8h.html#a3e9b2cf667ad70963d8d1af2160063f1">FP4_BN254CX_zero</a></div><div class="ttdeci">void FP4_BN254CX_zero(FP4_BN254CX *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:93</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a921cf2143d579e099c673c7e9087ef3f"><div class="ttname"><a href="fp4__BN254CX_8h.html#a921cf2143d579e099c673c7e9087ef3f">FP4_BN254CX_isunity</a></div><div class="ttdeci">int FP4_BN254CX_isunity(FP4_BN254CX *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:37</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a2431223a4a8b6b0da536564bd4b51f03"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2431223a4a8b6b0da536564bd4b51f03">FP4_BN254CX_frob</a></div><div class="ttdeci">void FP4_BN254CX_frob(FP4_BN254CX *x, FP2_BN254CX *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:317</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a1b3cd258b0e0ac866f31fc0f875e54ce"><div class="ttname"><a href="fp4__BN254CX_8h.html#a1b3cd258b0e0ac866f31fc0f875e54ce">FP4_BN254CX_cmove</a></div><div class="ttdeci">void FP4_BN254CX_cmove(FP4_BN254CX *x, FP4_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:577</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_adc26a890a088ceb45a75cfb12f10d807"><div class="ttname"><a href="fp4__BN254CX_8h.html#adc26a890a088ceb45a75cfb12f10d807">FP4_BN254CX_sub</a></div><div class="ttdeci">void FP4_BN254CX_sub(FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:150</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_aefc4dc9cfb622f245518b34af28bc68f"><div class="ttname"><a href="fp4__BN254CX_8h.html#aefc4dc9cfb622f245518b34af28bc68f">FP4_BN254CX_inv</a></div><div class="ttdeci">void FP4_BN254CX_inv(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:279</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a2e0a84ff4432d8da52d8a7d0be712dfd"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2e0a84ff4432d8da52d8a7d0be712dfd">FP4_BN254CX_conj</a></div><div class="ttdeci">void FP4_BN254CX_conj(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:124</div></div>
-<div class="ttc" id="structFP4__BN254CX_html"><div class="ttname"><a href="structFP4__BN254CX.html">FP4_BN254CX</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.h:37</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a12bc496b620af4ba4750866d3a56e81e"><div class="ttname"><a href="fp4__BN254CX_8h.html#a12bc496b620af4ba4750866d3a56e81e">FP4_BN254CX_qmul</a></div><div class="ttdeci">void FP4_BN254CX_qmul(FP4_BN254CX *x, FP4_BN254CX *y, FP_BN254CX *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:181</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_ac6848e2150cc5f67513226d9415743fb"><div class="ttname"><a href="fp4__BN254CX_8h.html#ac6848e2150cc5f67513226d9415743fb">FP4_BN254CX_rawoutput</a></div><div class="ttdeci">void FP4_BN254CX_rawoutput(FP4_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:268</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_ada4b691d6fe84d0a39951df4818c0cbc"><div class="ttname"><a href="fp4__BN254CX_8h.html#ada4b691d6fe84d0a39951df4818c0cbc">FP4_BN254CX_pow</a></div><div class="ttdeci">void FP4_BN254CX_pow(FP4_BN254CX *x, FP4_BN254CX *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:326</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_aaf3f245bf13e1bce751d1274339eee62"><div class="ttname"><a href="fp4__BN254CX_8h.html#aaf3f245bf13e1bce751d1274339eee62">FP4_BN254CX_mul</a></div><div class="ttdeci">void FP4_BN254CX_mul(FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:228</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a6919878b95717f620a34aacdc651367d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a6919878b95717f620a34aacdc651367d">FP4_BN254CX_equals</a></div><div class="ttdeci">int FP4_BN254CX_equals(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:51</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a78a88b21db07ad5014014da894e7ca7e"><div class="ttname"><a href="fp4__BN254CX_8h.html#a78a88b21db07ad5014014da894e7ca7e">FP4_BN254CX_xtr_D</a></div><div class="ttdeci">void FP4_BN254CX_xtr_D(FP4_BN254CX *r, FP4_BN254CX *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:373</div></div>
-<div class="ttc" id="fp2__BN254CX_8h_html"><div class="ttname"><a href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_af7fd16e511f22f5428021d477266af66"><div class="ttname"><a href="fp4__BN254CX_8h.html#af7fd16e511f22f5428021d477266af66">FP4_BN254CX_xtr_pow</a></div><div class="ttdeci">void FP4_BN254CX_xtr_pow(FP4_BN254CX *r, FP4_BN254CX *x, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:387</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a2374738525a84cdb458ad944e7c6d0fe"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2374738525a84cdb458ad944e7c6d0fe">FP4_BN254CX_nconj</a></div><div class="ttdeci">void FP4_BN254CX_nconj(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:133</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a5477abfc459e84bdc0ad14a2107b6ff9"><div class="ttname"><a href="fp4__BN254CX_8h.html#a5477abfc459e84bdc0ad14a2107b6ff9">FP4_BN254CX_one</a></div><div class="ttdeci">void FP4_BN254CX_one(FP4_BN254CX *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:101</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a8dc15deab3019afd281de803f1a53e39"><div class="ttname"><a href="fp4__BN254CX_8h.html#a8dc15deab3019afd281de803f1a53e39">FP4_BN254CX_from_FP2</a></div><div class="ttdeci">void FP4_BN254CX_from_FP2(FP4_BN254CX *x, FP2_BN254CX *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:68</div></div>
-<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a2177a0fa7a20bbfc97575da3214455c6"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2177a0fa7a20bbfc97575da3214455c6">FP4_BN254CX_iszilch</a></div><div class="ttdeci">int FP4_BN254CX_iszilch(FP4_BN254CX *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:29</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_af43b3913ac61b465c2945b8d70f2a160"><div class="ttname"><a href="fp4__BN254CX_8h.html#af43b3913ac61b465c2945b8d70f2a160">FP4_BN254CX_xtr_A</a></div><div class="ttdeci">void FP4_BN254CX_xtr_A(FP4_BN254CX *r, FP4_BN254CX *w, FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:353</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a2fbac5e565f9e43c06a45ba1b7c4f97d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2fbac5e565f9e43c06a45ba1b7c4f97d">FP4_BN254CX_copy</a></div><div class="ttdeci">void FP4_BN254CX_copy(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:84</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_ac23fe2bce0343b95187f177b36ff0e80"><div class="ttname"><a href="fp4__BN254CX_8h.html#ac23fe2bce0343b95187f177b36ff0e80">FP4_BN254CX_div2</a></div><div class="ttdeci">void FP4_BN254CX_div2(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:586</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_adb0c1a684c51f6744bed6f3e95fdd989"><div class="ttname"><a href="fp4__BN254CX_8h.html#adb0c1a684c51f6744bed6f3e95fdd989">FP4_BN254CX_sqrt</a></div><div class="ttdeci">int FP4_BN254CX_sqrt(FP4_BN254CX *r, FP4_BN254CX *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a7c4de9e05ee0b5b2fc9ddb99fa43e968"><div class="ttname"><a href="fp4__BN254CX_8h.html#a7c4de9e05ee0b5b2fc9ddb99fa43e968">FP4_BN254CX_add</a></div><div class="ttdeci">void FP4_BN254CX_add(FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:142</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a38618540def839f71d8529fa80fff78e"><div class="ttname"><a href="fp4__BN254CX_8h.html#a38618540def839f71d8529fa80fff78e">FP4_BN254CX_from_FP2s</a></div><div class="ttdeci">void FP4_BN254CX_from_FP2s(FP4_BN254CX *x, FP2_BN254CX *a, FP2_BN254CX *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:60</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a12d9e4ac268ed1bd57ce8d884e10807f"><div class="ttname"><a href="fp4__BN254CX_8h.html#a12d9e4ac268ed1bd57ce8d884e10807f">FP4_BN254CX_from_FP2H</a></div><div class="ttdeci">void FP4_BN254CX_from_FP2H(FP4_BN254CX *x, FP2_BN254CX *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:76</div></div>
+<a href="fp4__BN254CX_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 FP4_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BN254CX_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 &quot;<a class="code" href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BN254CX.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BN254CX.html#a7128773470b8777a45f74d20cd330def">   39</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structFP4__BN254CX.html#a7128773470b8777a45f74d20cd330def">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BN254CX.html#ab0f5c9cb9f8eab1431a0c5873c67b104">   40</a></span>&#160;    <a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> <a class="code" href="structFP4__BN254CX.html#ab0f5c9cb9f8eab1431a0c5873c67b104">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254CX_8h.html#a2177a0fa7a20bbfc97575da3214455c6">FP4_BN254CX_iszilch</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254CX_8h.html#a921cf2143d579e099c673c7e9087ef3f">FP4_BN254CX_isunity</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254CX_8h.html#a6919878b95717f620a34aacdc651367d">FP4_BN254CX_equals</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</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="fp4__BN254CX_8h.html#a4d444f5019a68d23e5ab68d71844345d">FP4_BN254CX_isreal</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a38618540def839f71d8529fa80fff78e">FP4_BN254CX_from_FP2s</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a8dc15deab3019afd281de803f1a53e39">FP4_BN254CX_from_FP2</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BN254CX_8h.html#a12d9e4ac268ed1bd57ce8d884e10807f">FP4_BN254CX_from_FP2H</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BN254CX_8h.html#a2fbac5e565f9e43c06a45ba1b7c4f97d">FP4_BN254CX_copy</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a3e9b2cf667ad70963d8d1af2160063f1">FP4_BN254CX_zero</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a5477abfc459e84bdc0ad14a2107b6ff9">FP4_BN254CX_one</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</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="fp4__BN254CX_8h.html#a4f8287b4f431f10cc4c4788c7e26148c">FP4_BN254CX_neg</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a2e0a84ff4432d8da52d8a7d0be712dfd">FP4_BN254CX_conj</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a2374738525a84cdb458ad944e7c6d0fe">FP4_BN254CX_nconj</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a7c4de9e05ee0b5b2fc9ddb99fa43e968">FP4_BN254CX_add</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#adc26a890a088ceb45a75cfb12f10d807">FP4_BN254CX_sub</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a9676c1658d9305e4c9c417c5e6b0c16c">FP4_BN254CX_pmul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a12bc496b620af4ba4750866d3a56e81e">FP4_BN254CX_qmul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a448b5213c500da0bdfff1db94ab07bb3">FP4_BN254CX_imul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a55b06739ff81e15a74b8236c447a0f9b">FP4_BN254CX_sqr</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#aaf3f245bf13e1bce751d1274339eee62">FP4_BN254CX_mul</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#aefc4dc9cfb622f245518b34af28bc68f">FP4_BN254CX_inv</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#aa66548297b46da4b042dcde506aaef43">FP4_BN254CX_output</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</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="fp4__BN254CX_8h.html#ac6848e2150cc5f67513226d9415743fb">FP4_BN254CX_rawoutput</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</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="fp4__BN254CX_8h.html#a05b4c19076f4af7fa233395f682a30b9">FP4_BN254CX_times_i</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</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="fp4__BN254CX_8h.html#aa427716e18c0bd38e19c7e2e3350e02b">FP4_BN254CX_norm</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</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="fp4__BN254CX_8h.html#a6fd4e9915aa4f9c8779d3333f243d55d">FP4_BN254CX_reduce</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#ada4b691d6fe84d0a39951df4818c0cbc">FP4_BN254CX_pow</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a2431223a4a8b6b0da536564bd4b51f03">FP4_BN254CX_frob</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP2__BN254CX.html">FP2_BN254CX</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#af43b3913ac61b465c2945b8d70f2a160">FP4_BN254CX_xtr_A</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *w,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a78a88b21db07ad5014014da894e7ca7e">FP4_BN254CX_xtr_D</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#af7fd16e511f22f5428021d477266af66">FP4_BN254CX_xtr_pow</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a667cf815d3e826ad02d672d647466fc5">FP4_BN254CX_xtr_pow2</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *c,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *d,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *e,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *f,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a1b3cd258b0e0ac866f31fc0f875e54ce">FP4_BN254CX_cmove</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BN254CX_8h.html#adb0c1a684c51f6744bed6f3e95fdd989">FP4_BN254CX_sqrt</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *r,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#a4411a9586f2febe719ef62ab05d96d43">FP4_BN254CX_div_i</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#acd17e44b9687cde9b1d57691fc6652ce">FP4_BN254CX_div_2i</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254CX_8h.html#ac23fe2bce0343b95187f177b36ff0e80">FP4_BN254CX_div2</a>(<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *x,<a class="code" href="structFP4__BN254CX.html">FP4_BN254CX</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BN254CX_8h_html_a448b5213c500da0bdfff1db94ab07bb3"><div class="ttname"><a href="fp4__BN254CX_8h.html#a448b5213c500da0bdfff1db94ab07bb3">FP4_BN254CX_imul</a></div><div class="ttdeci">void FP4_BN254CX_imul(FP4_BN254CX *x, FP4_BN254CX *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:189</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_aa427716e18c0bd38e19c7e2e3350e02b"><div class="ttname"><a href="fp4__BN254CX_8h.html#aa427716e18c0bd38e19c7e2e3350e02b">FP4_BN254CX_norm</a></div><div class="ttdeci">void FP4_BN254CX_norm(FP4_BN254CX *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:166</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a55b06739ff81e15a74b8236c447a0f9b"><div class="ttname"><a href="fp4__BN254CX_8h.html#a55b06739ff81e15a74b8236c447a0f9b">FP4_BN254CX_sqr</a></div><div class="ttdeci">void FP4_BN254CX_sqr(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:197</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a4d444f5019a68d23e5ab68d71844345d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a4d444f5019a68d23e5ab68d71844345d">FP4_BN254CX_isreal</a></div><div class="ttdeci">int FP4_BN254CX_isreal(FP4_BN254CX *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:44</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a4411a9586f2febe719ef62ab05d96d43"><div class="ttname"><a href="fp4__BN254CX_8h.html#a4411a9586f2febe719ef62ab05d96d43">FP4_BN254CX_div_i</a></div><div class="ttdeci">void FP4_BN254CX_div_i(FP4_BN254CX *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_acd17e44b9687cde9b1d57691fc6652ce"><div class="ttname"><a href="fp4__BN254CX_8h.html#acd17e44b9687cde9b1d57691fc6652ce">FP4_BN254CX_div_2i</a></div><div class="ttdeci">void FP4_BN254CX_div_2i(FP4_BN254CX *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_aa66548297b46da4b042dcde506aaef43"><div class="ttname"><a href="fp4__BN254CX_8h.html#aa66548297b46da4b042dcde506aaef43">FP4_BN254CX_output</a></div><div class="ttdeci">void FP4_BN254CX_output(FP4_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:258</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a05b4c19076f4af7fa233395f682a30b9"><div class="ttname"><a href="fp4__BN254CX_8h.html#a05b4c19076f4af7fa233395f682a30b9">FP4_BN254CX_times_i</a></div><div class="ttdeci">void FP4_BN254CX_times_i(FP4_BN254CX *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:296</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a3e9b2cf667ad70963d8d1af2160063f1"><div class="ttname"><a href="fp4__BN254CX_8h.html#a3e9b2cf667ad70963d8d1af2160063f1">FP4_BN254CX_zero</a></div><div class="ttdeci">void FP4_BN254CX_zero(FP4_BN254CX *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:93</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a921cf2143d579e099c673c7e9087ef3f"><div class="ttname"><a href="fp4__BN254CX_8h.html#a921cf2143d579e099c673c7e9087ef3f">FP4_BN254CX_isunity</a></div><div class="ttdeci">int FP4_BN254CX_isunity(FP4_BN254CX *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:37</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a2431223a4a8b6b0da536564bd4b51f03"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2431223a4a8b6b0da536564bd4b51f03">FP4_BN254CX_frob</a></div><div class="ttdeci">void FP4_BN254CX_frob(FP4_BN254CX *x, FP2_BN254CX *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:317</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a1b3cd258b0e0ac866f31fc0f875e54ce"><div class="ttname"><a href="fp4__BN254CX_8h.html#a1b3cd258b0e0ac866f31fc0f875e54ce">FP4_BN254CX_cmove</a></div><div class="ttdeci">void FP4_BN254CX_cmove(FP4_BN254CX *x, FP4_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:577</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_adc26a890a088ceb45a75cfb12f10d807"><div class="ttname"><a href="fp4__BN254CX_8h.html#adc26a890a088ceb45a75cfb12f10d807">FP4_BN254CX_sub</a></div><div class="ttdeci">void FP4_BN254CX_sub(FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:150</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_aefc4dc9cfb622f245518b34af28bc68f"><div class="ttname"><a href="fp4__BN254CX_8h.html#aefc4dc9cfb622f245518b34af28bc68f">FP4_BN254CX_inv</a></div><div class="ttdeci">void FP4_BN254CX_inv(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:279</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a2e0a84ff4432d8da52d8a7d0be712dfd"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2e0a84ff4432d8da52d8a7d0be712dfd">FP4_BN254CX_conj</a></div><div class="ttdeci">void FP4_BN254CX_conj(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:124</div></div>
+<div class="ttc" id="structFP4__BN254CX_html"><div class="ttname"><a href="structFP4__BN254CX.html">FP4_BN254CX</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.h:37</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a12bc496b620af4ba4750866d3a56e81e"><div class="ttname"><a href="fp4__BN254CX_8h.html#a12bc496b620af4ba4750866d3a56e81e">FP4_BN254CX_qmul</a></div><div class="ttdeci">void FP4_BN254CX_qmul(FP4_BN254CX *x, FP4_BN254CX *y, FP_BN254CX *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:181</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_ac6848e2150cc5f67513226d9415743fb"><div class="ttname"><a href="fp4__BN254CX_8h.html#ac6848e2150cc5f67513226d9415743fb">FP4_BN254CX_rawoutput</a></div><div class="ttdeci">void FP4_BN254CX_rawoutput(FP4_BN254CX *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:268</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_ada4b691d6fe84d0a39951df4818c0cbc"><div class="ttname"><a href="fp4__BN254CX_8h.html#ada4b691d6fe84d0a39951df4818c0cbc">FP4_BN254CX_pow</a></div><div class="ttdeci">void FP4_BN254CX_pow(FP4_BN254CX *x, FP4_BN254CX *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:326</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_aaf3f245bf13e1bce751d1274339eee62"><div class="ttname"><a href="fp4__BN254CX_8h.html#aaf3f245bf13e1bce751d1274339eee62">FP4_BN254CX_mul</a></div><div class="ttdeci">void FP4_BN254CX_mul(FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:228</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a6919878b95717f620a34aacdc651367d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a6919878b95717f620a34aacdc651367d">FP4_BN254CX_equals</a></div><div class="ttdeci">int FP4_BN254CX_equals(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:51</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a78a88b21db07ad5014014da894e7ca7e"><div class="ttname"><a href="fp4__BN254CX_8h.html#a78a88b21db07ad5014014da894e7ca7e">FP4_BN254CX_xtr_D</a></div><div class="ttdeci">void FP4_BN254CX_xtr_D(FP4_BN254CX *r, FP4_BN254CX *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:373</div></div>
+<div class="ttc" id="fp2__BN254CX_8h_html"><div class="ttname"><a href="fp2__BN254CX_8h.html">fp2_BN254CX.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_af7fd16e511f22f5428021d477266af66"><div class="ttname"><a href="fp4__BN254CX_8h.html#af7fd16e511f22f5428021d477266af66">FP4_BN254CX_xtr_pow</a></div><div class="ttdeci">void FP4_BN254CX_xtr_pow(FP4_BN254CX *r, FP4_BN254CX *x, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:387</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a2374738525a84cdb458ad944e7c6d0fe"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2374738525a84cdb458ad944e7c6d0fe">FP4_BN254CX_nconj</a></div><div class="ttdeci">void FP4_BN254CX_nconj(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:133</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a5477abfc459e84bdc0ad14a2107b6ff9"><div class="ttname"><a href="fp4__BN254CX_8h.html#a5477abfc459e84bdc0ad14a2107b6ff9">FP4_BN254CX_one</a></div><div class="ttdeci">void FP4_BN254CX_one(FP4_BN254CX *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:101</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a8dc15deab3019afd281de803f1a53e39"><div class="ttname"><a href="fp4__BN254CX_8h.html#a8dc15deab3019afd281de803f1a53e39">FP4_BN254CX_from_FP2</a></div><div class="ttdeci">void FP4_BN254CX_from_FP2(FP4_BN254CX *x, FP2_BN254CX *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:68</div></div>
+<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a2177a0fa7a20bbfc97575da3214455c6"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2177a0fa7a20bbfc97575da3214455c6">FP4_BN254CX_iszilch</a></div><div class="ttdeci">int FP4_BN254CX_iszilch(FP4_BN254CX *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:29</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_af43b3913ac61b465c2945b8d70f2a160"><div class="ttname"><a href="fp4__BN254CX_8h.html#af43b3913ac61b465c2945b8d70f2a160">FP4_BN254CX_xtr_A</a></div><div class="ttdeci">void FP4_BN254CX_xtr_A(FP4_BN254CX *r, FP4_BN254CX *w, FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:353</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a2fbac5e565f9e43c06a45ba1b7c4f97d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a2fbac5e565f9e43c06a45ba1b7c4f97d">FP4_BN254CX_copy</a></div><div class="ttdeci">void FP4_BN254CX_copy(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:84</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_ac23fe2bce0343b95187f177b36ff0e80"><div class="ttname"><a href="fp4__BN254CX_8h.html#ac23fe2bce0343b95187f177b36ff0e80">FP4_BN254CX_div2</a></div><div class="ttdeci">void FP4_BN254CX_div2(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:586</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_adb0c1a684c51f6744bed6f3e95fdd989"><div class="ttname"><a href="fp4__BN254CX_8h.html#adb0c1a684c51f6744bed6f3e95fdd989">FP4_BN254CX_sqrt</a></div><div class="ttdeci">int FP4_BN254CX_sqrt(FP4_BN254CX *r, FP4_BN254CX *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a7c4de9e05ee0b5b2fc9ddb99fa43e968"><div class="ttname"><a href="fp4__BN254CX_8h.html#a7c4de9e05ee0b5b2fc9ddb99fa43e968">FP4_BN254CX_add</a></div><div class="ttdeci">void FP4_BN254CX_add(FP4_BN254CX *x, FP4_BN254CX *y, FP4_BN254CX *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:142</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a38618540def839f71d8529fa80fff78e"><div class="ttname"><a href="fp4__BN254CX_8h.html#a38618540def839f71d8529fa80fff78e">FP4_BN254CX_from_FP2s</a></div><div class="ttdeci">void FP4_BN254CX_from_FP2s(FP4_BN254CX *x, FP2_BN254CX *a, FP2_BN254CX *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:60</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a12d9e4ac268ed1bd57ce8d884e10807f"><div class="ttname"><a href="fp4__BN254CX_8h.html#a12d9e4ac268ed1bd57ce8d884e10807f">FP4_BN254CX_from_FP2H</a></div><div class="ttdeci">void FP4_BN254CX_from_FP2H(FP4_BN254CX *x, FP2_BN254CX *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:76</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
 <div class="ttc" id="structFP4__BN254CX_html_ab0f5c9cb9f8eab1431a0c5873c67b104"><div class="ttname"><a href="structFP4__BN254CX.html#ab0f5c9cb9f8eab1431a0c5873c67b104">FP4_BN254CX::b</a></div><div class="ttdeci">FP2_BN254CX b</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.h:40</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a6fd4e9915aa4f9c8779d3333f243d55d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a6fd4e9915aa4f9c8779d3333f243d55d">FP4_BN254CX_reduce</a></div><div class="ttdeci">void FP4_BN254CX_reduce(FP4_BN254CX *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:158</div></div>
-<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a4f8287b4f431f10cc4c4788c7e26148c"><div class="ttname"><a href="fp4__BN254CX_8h.html#a4f8287b4f431f10cc4c4788c7e26148c">FP4_BN254CX_neg</a></div><div class="ttdeci">void FP4_BN254CX_neg(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:109</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a667cf815d3e826ad02d672d647466fc5"><div class="ttname"><a href="fp4__BN254CX_8h.html#a667cf815d3e826ad02d672d647466fc5">FP4_BN254CX_xtr_pow2</a></div><div class="ttdeci">void FP4_BN254CX_xtr_pow2(FP4_BN254CX *r, FP4_BN254CX *c, FP4_BN254CX *d, FP4_BN254CX *e, FP4_BN254CX *f, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:444</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a6fd4e9915aa4f9c8779d3333f243d55d"><div class="ttname"><a href="fp4__BN254CX_8h.html#a6fd4e9915aa4f9c8779d3333f243d55d">FP4_BN254CX_reduce</a></div><div class="ttdeci">void FP4_BN254CX_reduce(FP4_BN254CX *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:158</div></div>
+<div class="ttc" id="structFP2__BN254CX_html"><div class="ttname"><a href="structFP2__BN254CX.html">FP2_BN254CX</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254CX.h:36</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a4f8287b4f431f10cc4c4788c7e26148c"><div class="ttname"><a href="fp4__BN254CX_8h.html#a4f8287b4f431f10cc4c4788c7e26148c">FP4_BN254CX_neg</a></div><div class="ttdeci">void FP4_BN254CX_neg(FP4_BN254CX *x, FP4_BN254CX *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:109</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a667cf815d3e826ad02d672d647466fc5"><div class="ttname"><a href="fp4__BN254CX_8h.html#a667cf815d3e826ad02d672d647466fc5">FP4_BN254CX_xtr_pow2</a></div><div class="ttdeci">void FP4_BN254CX_xtr_pow2(FP4_BN254CX *r, FP4_BN254CX *c, FP4_BN254CX *d, FP4_BN254CX *e, FP4_BN254CX *f, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:444</div></div>
 <div class="ttc" id="structFP4__BN254CX_html_a7128773470b8777a45f74d20cd330def"><div class="ttname"><a href="structFP4__BN254CX.html#a7128773470b8777a45f74d20cd330def">FP4_BN254CX::a</a></div><div class="ttdeci">FP2_BN254CX a</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.h:39</div></div>
-<div class="ttc" id="fp4__BN254CX_8h_html_a9676c1658d9305e4c9c417c5e6b0c16c"><div class="ttname"><a href="fp4__BN254CX_8h.html#a9676c1658d9305e4c9c417c5e6b0c16c">FP4_BN254CX_pmul</a></div><div class="ttdeci">void FP4_BN254CX_pmul(FP4_BN254CX *x, FP4_BN254CX *y, FP2_BN254CX *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:174</div></div>
+<div class="ttc" id="fp4__BN254CX_8h_html_a9676c1658d9305e4c9c417c5e6b0c16c"><div class="ttname"><a href="fp4__BN254CX_8h.html#a9676c1658d9305e4c9c417c5e6b0c16c">FP4_BN254CX_pmul</a></div><div class="ttdeci">void FP4_BN254CX_pmul(FP4_BN254CX *x, FP4_BN254CX *y, FP2_BN254CX *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254CX.c:174</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/fp4__BN254_8h.html b/website/static/cdocs/fp4__BN254_8h.html
index e572def..793ebf2 100644
--- a/website/static/cdocs/fp4__BN254_8h.html
+++ b/website/static/cdocs/fp4__BN254_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: fp4_BN254.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"
@@ -1502,7 +1505,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/fp4__BN254_8h_source.html b/website/static/cdocs/fp4__BN254_8h_source.html
index b882e32..1125f46 100644
--- a/website/static/cdocs/fp4__BN254_8h_source.html
+++ b/website/static/cdocs/fp4__BN254_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: fp4_BN254.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,56 +72,56 @@
 <div class="title">fp4_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__BN254_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 FP4_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BN254_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 &quot;<a class="code" href="fp2__BN254_8h.html">fp2_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BN254.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BN254.html#a5d2c39d05d12975d4ac03386c52f98ea">   39</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structFP4__BN254.html#a5d2c39d05d12975d4ac03386c52f98ea">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BN254.html#a29bbb32252281a775bd23f7c9adf41f5">   40</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structFP4__BN254.html#a29bbb32252281a775bd23f7c9adf41f5">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BN254.html">FP4_BN254</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254_8h.html#aa83c0350e09a654e0219aff0dd9df1d0">FP4_BN254_iszilch</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254_8h.html#a56e15938762d9e097e31c258a4dcc74e">FP4_BN254_isunity</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254_8h.html#a521bbe885e3e4bbe780ce3e890b4dfda">FP4_BN254_equals</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</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="fp4__BN254_8h.html#aa3bdff6a286155a80e524f511180c3af">FP4_BN254_isreal</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#ae2e42bfea7bd6ddec3f00e783f6c47d9">FP4_BN254_from_FP2s</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a667460a185bbd20c2fa67c3160384b48">FP4_BN254_from_FP2</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BN254_8h.html#aef4a30f1f025b0f81462fdbc403dcc84">FP4_BN254_from_FP2H</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BN254_8h.html#af38fb58d4385ea9bd816ca9702feb544">FP4_BN254_copy</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aed690456e48247df5176b15ec6a10371">FP4_BN254_zero</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aaa60ecdd37b2b400d549ad8465a05425">FP4_BN254_one</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</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="fp4__BN254_8h.html#ab0c11f83f08c7eec9d17ce7fb52f3218">FP4_BN254_neg</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a651ab29c2558572bd267a1fc2e36001b">FP4_BN254_conj</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a099f94de010153ffdbba4adcce26d280">FP4_BN254_nconj</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aaa51737d39e4d9ac302ff0bf29fbf3f2">FP4_BN254_add</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#ab0a3d5b8a0a73cc5c759b47b4a32cf38">FP4_BN254_sub</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a0f24c196af5251895abf9c5a4bc18422">FP4_BN254_pmul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a8dc66280e767d60554ef27a7f017b83d">FP4_BN254_qmul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aad333ebb28b11bfa722b301d4aa1502a">FP4_BN254_imul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a657fe6418be98756c9938a28722d8579">FP4_BN254_sqr</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a3042df2a7a20fe04c8f1468ee8a278c3">FP4_BN254_mul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a41b78481da2b5651bb7068ef4ea0a7bd">FP4_BN254_inv</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a7571f07e93d30cdb0889413da6fe466c">FP4_BN254_output</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</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="fp4__BN254_8h.html#a0c049d20e51167cbe3728585fcbd00af">FP4_BN254_rawoutput</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</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="fp4__BN254_8h.html#a40fa376337bdd88ca9cd2f0cd4e0c161">FP4_BN254_times_i</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</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="fp4__BN254_8h.html#a40e7899a49a34a23cc8bd7e60e84d2d7">FP4_BN254_norm</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</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="fp4__BN254_8h.html#aeefd1224bd2e1f3937f588955fd7b226">FP4_BN254_reduce</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#ad25b69dfc45183709fc8fd69169bc548">FP4_BN254_pow</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a8b41a10f71b94c63f53a74e20e8a6665">FP4_BN254_frob</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a07c983031babda29ee8435990d7e224d">FP4_BN254_xtr_A</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *w,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a06437b27677caa8a79725d08cb2d5a6f">FP4_BN254_xtr_D</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#afa02d66a51bdfcd6c47c71348e546c20">FP4_BN254_xtr_pow</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a4909b0bd405391c0899b5904548a751d">FP4_BN254_xtr_pow2</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *c,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *d,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *e,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *f,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aef07ce27faeeadde2ac9e8205bc1ce02">FP4_BN254_cmove</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BN254_8h.html#ac35aa5110e1a581fe6ad287efd7d08bc">FP4_BN254_sqrt</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aa0810ddc046fbd3612dbb9695725a25b">FP4_BN254_div_i</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a33faf9fd1b23e8a90a01f801256c23a8">FP4_BN254_div_2i</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a5bfff796a0a38114bb6ab4b22de789b6">FP4_BN254_div2</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BN254_8h_html_aeefd1224bd2e1f3937f588955fd7b226"><div class="ttname"><a href="fp4__BN254_8h.html#aeefd1224bd2e1f3937f588955fd7b226">FP4_BN254_reduce</a></div><div class="ttdeci">void FP4_BN254_reduce(FP4_BN254 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:158</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a41b78481da2b5651bb7068ef4ea0a7bd"><div class="ttname"><a href="fp4__BN254_8h.html#a41b78481da2b5651bb7068ef4ea0a7bd">FP4_BN254_inv</a></div><div class="ttdeci">void FP4_BN254_inv(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:279</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aef07ce27faeeadde2ac9e8205bc1ce02"><div class="ttname"><a href="fp4__BN254_8h.html#aef07ce27faeeadde2ac9e8205bc1ce02">FP4_BN254_cmove</a></div><div class="ttdeci">void FP4_BN254_cmove(FP4_BN254 *x, FP4_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:577</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a3042df2a7a20fe04c8f1468ee8a278c3"><div class="ttname"><a href="fp4__BN254_8h.html#a3042df2a7a20fe04c8f1468ee8a278c3">FP4_BN254_mul</a></div><div class="ttdeci">void FP4_BN254_mul(FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:228</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_ab0c11f83f08c7eec9d17ce7fb52f3218"><div class="ttname"><a href="fp4__BN254_8h.html#ab0c11f83f08c7eec9d17ce7fb52f3218">FP4_BN254_neg</a></div><div class="ttdeci">void FP4_BN254_neg(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:109</div></div>
-<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_ac35aa5110e1a581fe6ad287efd7d08bc"><div class="ttname"><a href="fp4__BN254_8h.html#ac35aa5110e1a581fe6ad287efd7d08bc">FP4_BN254_sqrt</a></div><div class="ttdeci">int FP4_BN254_sqrt(FP4_BN254 *r, FP4_BN254 *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aad333ebb28b11bfa722b301d4aa1502a"><div class="ttname"><a href="fp4__BN254_8h.html#aad333ebb28b11bfa722b301d4aa1502a">FP4_BN254_imul</a></div><div class="ttdeci">void FP4_BN254_imul(FP4_BN254 *x, FP4_BN254 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:189</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a56e15938762d9e097e31c258a4dcc74e"><div class="ttname"><a href="fp4__BN254_8h.html#a56e15938762d9e097e31c258a4dcc74e">FP4_BN254_isunity</a></div><div class="ttdeci">int FP4_BN254_isunity(FP4_BN254 *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:37</div></div>
-<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a33faf9fd1b23e8a90a01f801256c23a8"><div class="ttname"><a href="fp4__BN254_8h.html#a33faf9fd1b23e8a90a01f801256c23a8">FP4_BN254_div_2i</a></div><div class="ttdeci">void FP4_BN254_div_2i(FP4_BN254 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_af38fb58d4385ea9bd816ca9702feb544"><div class="ttname"><a href="fp4__BN254_8h.html#af38fb58d4385ea9bd816ca9702feb544">FP4_BN254_copy</a></div><div class="ttdeci">void FP4_BN254_copy(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:84</div></div>
-<div class="ttc" id="structFP4__BN254_html"><div class="ttname"><a href="structFP4__BN254.html">FP4_BN254</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.h:37</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aa83c0350e09a654e0219aff0dd9df1d0"><div class="ttname"><a href="fp4__BN254_8h.html#aa83c0350e09a654e0219aff0dd9df1d0">FP4_BN254_iszilch</a></div><div class="ttdeci">int FP4_BN254_iszilch(FP4_BN254 *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:29</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aaa51737d39e4d9ac302ff0bf29fbf3f2"><div class="ttname"><a href="fp4__BN254_8h.html#aaa51737d39e4d9ac302ff0bf29fbf3f2">FP4_BN254_add</a></div><div class="ttdeci">void FP4_BN254_add(FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:142</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_afa02d66a51bdfcd6c47c71348e546c20"><div class="ttname"><a href="fp4__BN254_8h.html#afa02d66a51bdfcd6c47c71348e546c20">FP4_BN254_xtr_pow</a></div><div class="ttdeci">void FP4_BN254_xtr_pow(FP4_BN254 *r, FP4_BN254 *x, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:387</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a07c983031babda29ee8435990d7e224d"><div class="ttname"><a href="fp4__BN254_8h.html#a07c983031babda29ee8435990d7e224d">FP4_BN254_xtr_A</a></div><div class="ttdeci">void FP4_BN254_xtr_A(FP4_BN254 *r, FP4_BN254 *w, FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:353</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aa0810ddc046fbd3612dbb9695725a25b"><div class="ttname"><a href="fp4__BN254_8h.html#aa0810ddc046fbd3612dbb9695725a25b">FP4_BN254_div_i</a></div><div class="ttdeci">void FP4_BN254_div_i(FP4_BN254 *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aed690456e48247df5176b15ec6a10371"><div class="ttname"><a href="fp4__BN254_8h.html#aed690456e48247df5176b15ec6a10371">FP4_BN254_zero</a></div><div class="ttdeci">void FP4_BN254_zero(FP4_BN254 *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:93</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a8b41a10f71b94c63f53a74e20e8a6665"><div class="ttname"><a href="fp4__BN254_8h.html#a8b41a10f71b94c63f53a74e20e8a6665">FP4_BN254_frob</a></div><div class="ttdeci">void FP4_BN254_frob(FP4_BN254 *x, FP2_BN254 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:317</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a06437b27677caa8a79725d08cb2d5a6f"><div class="ttname"><a href="fp4__BN254_8h.html#a06437b27677caa8a79725d08cb2d5a6f">FP4_BN254_xtr_D</a></div><div class="ttdeci">void FP4_BN254_xtr_D(FP4_BN254 *r, FP4_BN254 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:373</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_ab0a3d5b8a0a73cc5c759b47b4a32cf38"><div class="ttname"><a href="fp4__BN254_8h.html#ab0a3d5b8a0a73cc5c759b47b4a32cf38">FP4_BN254_sub</a></div><div class="ttdeci">void FP4_BN254_sub(FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:150</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a5bfff796a0a38114bb6ab4b22de789b6"><div class="ttname"><a href="fp4__BN254_8h.html#a5bfff796a0a38114bb6ab4b22de789b6">FP4_BN254_div2</a></div><div class="ttdeci">void FP4_BN254_div2(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:586</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a4909b0bd405391c0899b5904548a751d"><div class="ttname"><a href="fp4__BN254_8h.html#a4909b0bd405391c0899b5904548a751d">FP4_BN254_xtr_pow2</a></div><div class="ttdeci">void FP4_BN254_xtr_pow2(FP4_BN254 *r, FP4_BN254 *c, FP4_BN254 *d, FP4_BN254 *e, FP4_BN254 *f, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:444</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a099f94de010153ffdbba4adcce26d280"><div class="ttname"><a href="fp4__BN254_8h.html#a099f94de010153ffdbba4adcce26d280">FP4_BN254_nconj</a></div><div class="ttdeci">void FP4_BN254_nconj(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:133</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a667460a185bbd20c2fa67c3160384b48"><div class="ttname"><a href="fp4__BN254_8h.html#a667460a185bbd20c2fa67c3160384b48">FP4_BN254_from_FP2</a></div><div class="ttdeci">void FP4_BN254_from_FP2(FP4_BN254 *x, FP2_BN254 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:68</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a521bbe885e3e4bbe780ce3e890b4dfda"><div class="ttname"><a href="fp4__BN254_8h.html#a521bbe885e3e4bbe780ce3e890b4dfda">FP4_BN254_equals</a></div><div class="ttdeci">int FP4_BN254_equals(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:51</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a8dc66280e767d60554ef27a7f017b83d"><div class="ttname"><a href="fp4__BN254_8h.html#a8dc66280e767d60554ef27a7f017b83d">FP4_BN254_qmul</a></div><div class="ttdeci">void FP4_BN254_qmul(FP4_BN254 *x, FP4_BN254 *y, FP_BN254 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:181</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a40fa376337bdd88ca9cd2f0cd4e0c161"><div class="ttname"><a href="fp4__BN254_8h.html#a40fa376337bdd88ca9cd2f0cd4e0c161">FP4_BN254_times_i</a></div><div class="ttdeci">void FP4_BN254_times_i(FP4_BN254 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:296</div></div>
+<a href="fp4__BN254_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 FP4_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_BN254_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 &quot;<a class="code" href="fp2__BN254_8h.html">fp2_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__BN254.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__BN254.html#a5d2c39d05d12975d4ac03386c52f98ea">   39</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structFP4__BN254.html#a5d2c39d05d12975d4ac03386c52f98ea">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__BN254.html#a29bbb32252281a775bd23f7c9adf41f5">   40</a></span>&#160;    <a class="code" href="structFP2__BN254.html">FP2_BN254</a> <a class="code" href="structFP4__BN254.html#a29bbb32252281a775bd23f7c9adf41f5">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__BN254.html">FP4_BN254</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254_8h.html#aa83c0350e09a654e0219aff0dd9df1d0">FP4_BN254_iszilch</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254_8h.html#a56e15938762d9e097e31c258a4dcc74e">FP4_BN254_isunity</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__BN254_8h.html#a521bbe885e3e4bbe780ce3e890b4dfda">FP4_BN254_equals</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</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="fp4__BN254_8h.html#aa3bdff6a286155a80e524f511180c3af">FP4_BN254_isreal</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#ae2e42bfea7bd6ddec3f00e783f6c47d9">FP4_BN254_from_FP2s</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a667460a185bbd20c2fa67c3160384b48">FP4_BN254_from_FP2</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__BN254_8h.html#aef4a30f1f025b0f81462fdbc403dcc84">FP4_BN254_from_FP2H</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__BN254_8h.html#af38fb58d4385ea9bd816ca9702feb544">FP4_BN254_copy</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aed690456e48247df5176b15ec6a10371">FP4_BN254_zero</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aaa60ecdd37b2b400d549ad8465a05425">FP4_BN254_one</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</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="fp4__BN254_8h.html#ab0c11f83f08c7eec9d17ce7fb52f3218">FP4_BN254_neg</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a651ab29c2558572bd267a1fc2e36001b">FP4_BN254_conj</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a099f94de010153ffdbba4adcce26d280">FP4_BN254_nconj</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aaa51737d39e4d9ac302ff0bf29fbf3f2">FP4_BN254_add</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#ab0a3d5b8a0a73cc5c759b47b4a32cf38">FP4_BN254_sub</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a0f24c196af5251895abf9c5a4bc18422">FP4_BN254_pmul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a8dc66280e767d60554ef27a7f017b83d">FP4_BN254_qmul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aad333ebb28b11bfa722b301d4aa1502a">FP4_BN254_imul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a657fe6418be98756c9938a28722d8579">FP4_BN254_sqr</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a3042df2a7a20fe04c8f1468ee8a278c3">FP4_BN254_mul</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a41b78481da2b5651bb7068ef4ea0a7bd">FP4_BN254_inv</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a7571f07e93d30cdb0889413da6fe466c">FP4_BN254_output</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</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="fp4__BN254_8h.html#a0c049d20e51167cbe3728585fcbd00af">FP4_BN254_rawoutput</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</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="fp4__BN254_8h.html#a40fa376337bdd88ca9cd2f0cd4e0c161">FP4_BN254_times_i</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</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="fp4__BN254_8h.html#a40e7899a49a34a23cc8bd7e60e84d2d7">FP4_BN254_norm</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</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="fp4__BN254_8h.html#aeefd1224bd2e1f3937f588955fd7b226">FP4_BN254_reduce</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#ad25b69dfc45183709fc8fd69169bc548">FP4_BN254_pow</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a8b41a10f71b94c63f53a74e20e8a6665">FP4_BN254_frob</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP2__BN254.html">FP2_BN254</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a07c983031babda29ee8435990d7e224d">FP4_BN254_xtr_A</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *w,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a06437b27677caa8a79725d08cb2d5a6f">FP4_BN254_xtr_D</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#afa02d66a51bdfcd6c47c71348e546c20">FP4_BN254_xtr_pow</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a4909b0bd405391c0899b5904548a751d">FP4_BN254_xtr_pow2</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *c,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *d,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *e,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *f,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aef07ce27faeeadde2ac9e8205bc1ce02">FP4_BN254_cmove</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__BN254_8h.html#ac35aa5110e1a581fe6ad287efd7d08bc">FP4_BN254_sqrt</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *r,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#aa0810ddc046fbd3612dbb9695725a25b">FP4_BN254_div_i</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a33faf9fd1b23e8a90a01f801256c23a8">FP4_BN254_div_2i</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__BN254_8h.html#a5bfff796a0a38114bb6ab4b22de789b6">FP4_BN254_div2</a>(<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *x,<a class="code" href="structFP4__BN254.html">FP4_BN254</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__BN254_8h_html_aeefd1224bd2e1f3937f588955fd7b226"><div class="ttname"><a href="fp4__BN254_8h.html#aeefd1224bd2e1f3937f588955fd7b226">FP4_BN254_reduce</a></div><div class="ttdeci">void FP4_BN254_reduce(FP4_BN254 *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:158</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a41b78481da2b5651bb7068ef4ea0a7bd"><div class="ttname"><a href="fp4__BN254_8h.html#a41b78481da2b5651bb7068ef4ea0a7bd">FP4_BN254_inv</a></div><div class="ttdeci">void FP4_BN254_inv(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:279</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aef07ce27faeeadde2ac9e8205bc1ce02"><div class="ttname"><a href="fp4__BN254_8h.html#aef07ce27faeeadde2ac9e8205bc1ce02">FP4_BN254_cmove</a></div><div class="ttdeci">void FP4_BN254_cmove(FP4_BN254 *x, FP4_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:577</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a3042df2a7a20fe04c8f1468ee8a278c3"><div class="ttname"><a href="fp4__BN254_8h.html#a3042df2a7a20fe04c8f1468ee8a278c3">FP4_BN254_mul</a></div><div class="ttdeci">void FP4_BN254_mul(FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:228</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_ab0c11f83f08c7eec9d17ce7fb52f3218"><div class="ttname"><a href="fp4__BN254_8h.html#ab0c11f83f08c7eec9d17ce7fb52f3218">FP4_BN254_neg</a></div><div class="ttdeci">void FP4_BN254_neg(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:109</div></div>
+<div class="ttc" id="structFP2__BN254_html"><div class="ttname"><a href="structFP2__BN254.html">FP2_BN254</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BN254.h:36</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_ac35aa5110e1a581fe6ad287efd7d08bc"><div class="ttname"><a href="fp4__BN254_8h.html#ac35aa5110e1a581fe6ad287efd7d08bc">FP4_BN254_sqrt</a></div><div class="ttdeci">int FP4_BN254_sqrt(FP4_BN254 *r, FP4_BN254 *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aad333ebb28b11bfa722b301d4aa1502a"><div class="ttname"><a href="fp4__BN254_8h.html#aad333ebb28b11bfa722b301d4aa1502a">FP4_BN254_imul</a></div><div class="ttdeci">void FP4_BN254_imul(FP4_BN254 *x, FP4_BN254 *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:189</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a56e15938762d9e097e31c258a4dcc74e"><div class="ttname"><a href="fp4__BN254_8h.html#a56e15938762d9e097e31c258a4dcc74e">FP4_BN254_isunity</a></div><div class="ttdeci">int FP4_BN254_isunity(FP4_BN254 *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:37</div></div>
+<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a33faf9fd1b23e8a90a01f801256c23a8"><div class="ttname"><a href="fp4__BN254_8h.html#a33faf9fd1b23e8a90a01f801256c23a8">FP4_BN254_div_2i</a></div><div class="ttdeci">void FP4_BN254_div_2i(FP4_BN254 *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="fp4__BN254_8h_html_af38fb58d4385ea9bd816ca9702feb544"><div class="ttname"><a href="fp4__BN254_8h.html#af38fb58d4385ea9bd816ca9702feb544">FP4_BN254_copy</a></div><div class="ttdeci">void FP4_BN254_copy(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:84</div></div>
+<div class="ttc" id="structFP4__BN254_html"><div class="ttname"><a href="structFP4__BN254.html">FP4_BN254</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.h:37</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aa83c0350e09a654e0219aff0dd9df1d0"><div class="ttname"><a href="fp4__BN254_8h.html#aa83c0350e09a654e0219aff0dd9df1d0">FP4_BN254_iszilch</a></div><div class="ttdeci">int FP4_BN254_iszilch(FP4_BN254 *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:29</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aaa51737d39e4d9ac302ff0bf29fbf3f2"><div class="ttname"><a href="fp4__BN254_8h.html#aaa51737d39e4d9ac302ff0bf29fbf3f2">FP4_BN254_add</a></div><div class="ttdeci">void FP4_BN254_add(FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:142</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_afa02d66a51bdfcd6c47c71348e546c20"><div class="ttname"><a href="fp4__BN254_8h.html#afa02d66a51bdfcd6c47c71348e546c20">FP4_BN254_xtr_pow</a></div><div class="ttdeci">void FP4_BN254_xtr_pow(FP4_BN254 *r, FP4_BN254 *x, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:387</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a07c983031babda29ee8435990d7e224d"><div class="ttname"><a href="fp4__BN254_8h.html#a07c983031babda29ee8435990d7e224d">FP4_BN254_xtr_A</a></div><div class="ttdeci">void FP4_BN254_xtr_A(FP4_BN254 *r, FP4_BN254 *w, FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:353</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aa0810ddc046fbd3612dbb9695725a25b"><div class="ttname"><a href="fp4__BN254_8h.html#aa0810ddc046fbd3612dbb9695725a25b">FP4_BN254_div_i</a></div><div class="ttdeci">void FP4_BN254_div_i(FP4_BN254 *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aed690456e48247df5176b15ec6a10371"><div class="ttname"><a href="fp4__BN254_8h.html#aed690456e48247df5176b15ec6a10371">FP4_BN254_zero</a></div><div class="ttdeci">void FP4_BN254_zero(FP4_BN254 *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:93</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a8b41a10f71b94c63f53a74e20e8a6665"><div class="ttname"><a href="fp4__BN254_8h.html#a8b41a10f71b94c63f53a74e20e8a6665">FP4_BN254_frob</a></div><div class="ttdeci">void FP4_BN254_frob(FP4_BN254 *x, FP2_BN254 *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:317</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a06437b27677caa8a79725d08cb2d5a6f"><div class="ttname"><a href="fp4__BN254_8h.html#a06437b27677caa8a79725d08cb2d5a6f">FP4_BN254_xtr_D</a></div><div class="ttdeci">void FP4_BN254_xtr_D(FP4_BN254 *r, FP4_BN254 *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:373</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_ab0a3d5b8a0a73cc5c759b47b4a32cf38"><div class="ttname"><a href="fp4__BN254_8h.html#ab0a3d5b8a0a73cc5c759b47b4a32cf38">FP4_BN254_sub</a></div><div class="ttdeci">void FP4_BN254_sub(FP4_BN254 *x, FP4_BN254 *y, FP4_BN254 *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:150</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a5bfff796a0a38114bb6ab4b22de789b6"><div class="ttname"><a href="fp4__BN254_8h.html#a5bfff796a0a38114bb6ab4b22de789b6">FP4_BN254_div2</a></div><div class="ttdeci">void FP4_BN254_div2(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:586</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a4909b0bd405391c0899b5904548a751d"><div class="ttname"><a href="fp4__BN254_8h.html#a4909b0bd405391c0899b5904548a751d">FP4_BN254_xtr_pow2</a></div><div class="ttdeci">void FP4_BN254_xtr_pow2(FP4_BN254 *r, FP4_BN254 *c, FP4_BN254 *d, FP4_BN254 *e, FP4_BN254 *f, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:444</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a099f94de010153ffdbba4adcce26d280"><div class="ttname"><a href="fp4__BN254_8h.html#a099f94de010153ffdbba4adcce26d280">FP4_BN254_nconj</a></div><div class="ttdeci">void FP4_BN254_nconj(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:133</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a667460a185bbd20c2fa67c3160384b48"><div class="ttname"><a href="fp4__BN254_8h.html#a667460a185bbd20c2fa67c3160384b48">FP4_BN254_from_FP2</a></div><div class="ttdeci">void FP4_BN254_from_FP2(FP4_BN254 *x, FP2_BN254 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:68</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a521bbe885e3e4bbe780ce3e890b4dfda"><div class="ttname"><a href="fp4__BN254_8h.html#a521bbe885e3e4bbe780ce3e890b4dfda">FP4_BN254_equals</a></div><div class="ttdeci">int FP4_BN254_equals(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:51</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a8dc66280e767d60554ef27a7f017b83d"><div class="ttname"><a href="fp4__BN254_8h.html#a8dc66280e767d60554ef27a7f017b83d">FP4_BN254_qmul</a></div><div class="ttdeci">void FP4_BN254_qmul(FP4_BN254 *x, FP4_BN254 *y, FP_BN254 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:181</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a40fa376337bdd88ca9cd2f0cd4e0c161"><div class="ttname"><a href="fp4__BN254_8h.html#a40fa376337bdd88ca9cd2f0cd4e0c161">FP4_BN254_times_i</a></div><div class="ttdeci">void FP4_BN254_times_i(FP4_BN254 *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:296</div></div>
 <div class="ttc" id="structFP4__BN254_html_a29bbb32252281a775bd23f7c9adf41f5"><div class="ttname"><a href="structFP4__BN254.html#a29bbb32252281a775bd23f7c9adf41f5">FP4_BN254::b</a></div><div class="ttdeci">FP2_BN254 b</div><div class="ttdef"><b>Definition:</b> fp4_BN254.h:40</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a0c049d20e51167cbe3728585fcbd00af"><div class="ttname"><a href="fp4__BN254_8h.html#a0c049d20e51167cbe3728585fcbd00af">FP4_BN254_rawoutput</a></div><div class="ttdeci">void FP4_BN254_rawoutput(FP4_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:268</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a0c049d20e51167cbe3728585fcbd00af"><div class="ttname"><a href="fp4__BN254_8h.html#a0c049d20e51167cbe3728585fcbd00af">FP4_BN254_rawoutput</a></div><div class="ttdeci">void FP4_BN254_rawoutput(FP4_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:268</div></div>
 <div class="ttc" id="structFP4__BN254_html_a5d2c39d05d12975d4ac03386c52f98ea"><div class="ttname"><a href="structFP4__BN254.html#a5d2c39d05d12975d4ac03386c52f98ea">FP4_BN254::a</a></div><div class="ttdeci">FP2_BN254 a</div><div class="ttdef"><b>Definition:</b> fp4_BN254.h:39</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_ad25b69dfc45183709fc8fd69169bc548"><div class="ttname"><a href="fp4__BN254_8h.html#ad25b69dfc45183709fc8fd69169bc548">FP4_BN254_pow</a></div><div class="ttdeci">void FP4_BN254_pow(FP4_BN254 *x, FP4_BN254 *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:326</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a0f24c196af5251895abf9c5a4bc18422"><div class="ttname"><a href="fp4__BN254_8h.html#a0f24c196af5251895abf9c5a4bc18422">FP4_BN254_pmul</a></div><div class="ttdeci">void FP4_BN254_pmul(FP4_BN254 *x, FP4_BN254 *y, FP2_BN254 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:174</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aa3bdff6a286155a80e524f511180c3af"><div class="ttname"><a href="fp4__BN254_8h.html#aa3bdff6a286155a80e524f511180c3af">FP4_BN254_isreal</a></div><div class="ttdeci">int FP4_BN254_isreal(FP4_BN254 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:44</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aaa60ecdd37b2b400d549ad8465a05425"><div class="ttname"><a href="fp4__BN254_8h.html#aaa60ecdd37b2b400d549ad8465a05425">FP4_BN254_one</a></div><div class="ttdeci">void FP4_BN254_one(FP4_BN254 *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:101</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a40e7899a49a34a23cc8bd7e60e84d2d7"><div class="ttname"><a href="fp4__BN254_8h.html#a40e7899a49a34a23cc8bd7e60e84d2d7">FP4_BN254_norm</a></div><div class="ttdeci">void FP4_BN254_norm(FP4_BN254 *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:166</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a657fe6418be98756c9938a28722d8579"><div class="ttname"><a href="fp4__BN254_8h.html#a657fe6418be98756c9938a28722d8579">FP4_BN254_sqr</a></div><div class="ttdeci">void FP4_BN254_sqr(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:197</div></div>
-<div class="ttc" id="fp2__BN254_8h_html"><div class="ttname"><a href="fp2__BN254_8h.html">fp2_BN254.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_ae2e42bfea7bd6ddec3f00e783f6c47d9"><div class="ttname"><a href="fp4__BN254_8h.html#ae2e42bfea7bd6ddec3f00e783f6c47d9">FP4_BN254_from_FP2s</a></div><div class="ttdeci">void FP4_BN254_from_FP2s(FP4_BN254 *x, FP2_BN254 *a, FP2_BN254 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:60</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_ad25b69dfc45183709fc8fd69169bc548"><div class="ttname"><a href="fp4__BN254_8h.html#ad25b69dfc45183709fc8fd69169bc548">FP4_BN254_pow</a></div><div class="ttdeci">void FP4_BN254_pow(FP4_BN254 *x, FP4_BN254 *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:326</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a0f24c196af5251895abf9c5a4bc18422"><div class="ttname"><a href="fp4__BN254_8h.html#a0f24c196af5251895abf9c5a4bc18422">FP4_BN254_pmul</a></div><div class="ttdeci">void FP4_BN254_pmul(FP4_BN254 *x, FP4_BN254 *y, FP2_BN254 *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:174</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aa3bdff6a286155a80e524f511180c3af"><div class="ttname"><a href="fp4__BN254_8h.html#aa3bdff6a286155a80e524f511180c3af">FP4_BN254_isreal</a></div><div class="ttdeci">int FP4_BN254_isreal(FP4_BN254 *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:44</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aaa60ecdd37b2b400d549ad8465a05425"><div class="ttname"><a href="fp4__BN254_8h.html#aaa60ecdd37b2b400d549ad8465a05425">FP4_BN254_one</a></div><div class="ttdeci">void FP4_BN254_one(FP4_BN254 *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:101</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a40e7899a49a34a23cc8bd7e60e84d2d7"><div class="ttname"><a href="fp4__BN254_8h.html#a40e7899a49a34a23cc8bd7e60e84d2d7">FP4_BN254_norm</a></div><div class="ttdeci">void FP4_BN254_norm(FP4_BN254 *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:166</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a657fe6418be98756c9938a28722d8579"><div class="ttname"><a href="fp4__BN254_8h.html#a657fe6418be98756c9938a28722d8579">FP4_BN254_sqr</a></div><div class="ttdeci">void FP4_BN254_sqr(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:197</div></div>
+<div class="ttc" id="fp2__BN254_8h_html"><div class="ttname"><a href="fp2__BN254_8h.html">fp2_BN254.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__BN254_8h_html_ae2e42bfea7bd6ddec3f00e783f6c47d9"><div class="ttname"><a href="fp4__BN254_8h.html#ae2e42bfea7bd6ddec3f00e783f6c47d9">FP4_BN254_from_FP2s</a></div><div class="ttdeci">void FP4_BN254_from_FP2s(FP4_BN254 *x, FP2_BN254 *a, FP2_BN254 *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:60</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_aef4a30f1f025b0f81462fdbc403dcc84"><div class="ttname"><a href="fp4__BN254_8h.html#aef4a30f1f025b0f81462fdbc403dcc84">FP4_BN254_from_FP2H</a></div><div class="ttdeci">void FP4_BN254_from_FP2H(FP4_BN254 *x, FP2_BN254 *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:76</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a651ab29c2558572bd267a1fc2e36001b"><div class="ttname"><a href="fp4__BN254_8h.html#a651ab29c2558572bd267a1fc2e36001b">FP4_BN254_conj</a></div><div class="ttdeci">void FP4_BN254_conj(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:124</div></div>
-<div class="ttc" id="fp4__BN254_8h_html_a7571f07e93d30cdb0889413da6fe466c"><div class="ttname"><a href="fp4__BN254_8h.html#a7571f07e93d30cdb0889413da6fe466c">FP4_BN254_output</a></div><div class="ttdeci">void FP4_BN254_output(FP4_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:258</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_aef4a30f1f025b0f81462fdbc403dcc84"><div class="ttname"><a href="fp4__BN254_8h.html#aef4a30f1f025b0f81462fdbc403dcc84">FP4_BN254_from_FP2H</a></div><div class="ttdeci">void FP4_BN254_from_FP2H(FP4_BN254 *x, FP2_BN254 *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:76</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a651ab29c2558572bd267a1fc2e36001b"><div class="ttname"><a href="fp4__BN254_8h.html#a651ab29c2558572bd267a1fc2e36001b">FP4_BN254_conj</a></div><div class="ttdeci">void FP4_BN254_conj(FP4_BN254 *x, FP4_BN254 *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:124</div></div>
+<div class="ttc" id="fp4__BN254_8h_html_a7571f07e93d30cdb0889413da6fe466c"><div class="ttname"><a href="fp4__BN254_8h.html#a7571f07e93d30cdb0889413da6fe466c">FP4_BN254_output</a></div><div class="ttdeci">void FP4_BN254_output(FP4_BN254 *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_BN254.c:258</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/fp4__FP256BN_8h.html b/website/static/cdocs/fp4__FP256BN_8h.html
index 248e1b8..add534b 100644
--- a/website/static/cdocs/fp4__FP256BN_8h.html
+++ b/website/static/cdocs/fp4__FP256BN_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: fp4_FP256BN.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"
@@ -1502,7 +1505,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/fp4__FP256BN_8h_source.html b/website/static/cdocs/fp4__FP256BN_8h_source.html
index ac222d1..9c98802 100644
--- a/website/static/cdocs/fp4__FP256BN_8h_source.html
+++ b/website/static/cdocs/fp4__FP256BN_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: fp4_FP256BN.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,56 +72,56 @@
 <div class="title">fp4_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__FP256BN_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 FP4_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_FP256BN_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 &quot;<a class="code" href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__FP256BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__FP256BN.html#a3e607721a6f9c7ea95c2aa0adddc60e7">   39</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structFP4__FP256BN.html#a3e607721a6f9c7ea95c2aa0adddc60e7">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__FP256BN.html#ad6777dda8daf02c71dcae01b3b86819f">   40</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structFP4__FP256BN.html#ad6777dda8daf02c71dcae01b3b86819f">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP256BN_8h.html#a6254a812179f40f940199f910ebadf11">FP4_FP256BN_iszilch</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP256BN_8h.html#ac3d10cea356f3dd1b64d31fc9fef5bfc">FP4_FP256BN_isunity</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP256BN_8h.html#ab7d63dfadb047ece7be03c9c9804ae1b">FP4_FP256BN_equals</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</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="fp4__FP256BN_8h.html#a846a6fbadb9e277d049266066a02274e">FP4_FP256BN_isreal</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#afb06e4b9fbf56a7c8137e39677369931">FP4_FP256BN_from_FP2s</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a0aca822840b0307d00f6314be85f0751">FP4_FP256BN_from_FP2</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__FP256BN_8h.html#a481cb0b8e166d414e20109e45644c1d7">FP4_FP256BN_from_FP2H</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__FP256BN_8h.html#a2073b8dd17670e26a21b1e1a59922a83">FP4_FP256BN_copy</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a773498a89391b919f6246882da525c12">FP4_FP256BN_zero</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a3a2443d35f313d00c372d434838e6f23">FP4_FP256BN_one</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</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="fp4__FP256BN_8h.html#a86c956bbdfc6e300d5e255dbe1971b3c">FP4_FP256BN_neg</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a2cb7168382b258431c62eb2b653a1722">FP4_FP256BN_conj</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a64fa3dc1e25fbc0ca2d759873ef67e03">FP4_FP256BN_nconj</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a5f5fd95bf292c5351aa1286d3102473d">FP4_FP256BN_add</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a7c4f2b82dd00b4b9bd32ad194b5915eb">FP4_FP256BN_sub</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a9a733fa130464e87ba0c41d8f36f2c71">FP4_FP256BN_pmul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a401bfb75733fc778dc6a3142cc5d69fb">FP4_FP256BN_qmul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a130978950759dd2fb78a696cd046c757">FP4_FP256BN_imul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ab3dcf11e964c673efd66f363f153e460">FP4_FP256BN_sqr</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a6dc91c5c817967288bcdf2fabdf0ba24">FP4_FP256BN_mul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ad0645a295bcc25736d3491a74dd9f576">FP4_FP256BN_inv</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a306a9ef0860c525b9456ceb694727934">FP4_FP256BN_output</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</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="fp4__FP256BN_8h.html#ac6ca73201a848932fccb615fde9dc770">FP4_FP256BN_rawoutput</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</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="fp4__FP256BN_8h.html#a823d7ae791f9c9e98296a78c997f23df">FP4_FP256BN_times_i</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</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="fp4__FP256BN_8h.html#a9c0be501c943362a1da8a3c585efaa27">FP4_FP256BN_norm</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</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="fp4__FP256BN_8h.html#a074b78a1c8dfe032998e7e44be957959">FP4_FP256BN_reduce</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a884727f8b9e6bd8a6e2a2476b41cad66">FP4_FP256BN_pow</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a3a230bb54dba041abb06e3f7384170f7">FP4_FP256BN_frob</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a5a082b7c04376b2e5d6d7a8b485e06cc">FP4_FP256BN_xtr_A</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *w,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ae94c49d807838945fd8b9b40914f70ce">FP4_FP256BN_xtr_D</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#aab43369dcadefdb798dea858a04b4d46">FP4_FP256BN_xtr_pow</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a7aa5543add1ec1c71d70096b1587f69e">FP4_FP256BN_xtr_pow2</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *c,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *d,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *e,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *f,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a6865fd6ec567c9dcde56de80f1849038">FP4_FP256BN_cmove</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__FP256BN_8h.html#a30c8143fc80aec305d6808ad857111e6">FP4_FP256BN_sqrt</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a56b52d2e9122742f2b7b112564cd25b2">FP4_FP256BN_div_i</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#abf12a196bd4bd76c7cb6294ff22126ad">FP4_FP256BN_div_2i</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ae971c64134f3aacae3539fa4dcdc2de4">FP4_FP256BN_div2</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__FP256BN_8h_html_a3a230bb54dba041abb06e3f7384170f7"><div class="ttname"><a href="fp4__FP256BN_8h.html#a3a230bb54dba041abb06e3f7384170f7">FP4_FP256BN_frob</a></div><div class="ttdeci">void FP4_FP256BN_frob(FP4_FP256BN *x, FP2_FP256BN *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:317</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_aab43369dcadefdb798dea858a04b4d46"><div class="ttname"><a href="fp4__FP256BN_8h.html#aab43369dcadefdb798dea858a04b4d46">FP4_FP256BN_xtr_pow</a></div><div class="ttdeci">void FP4_FP256BN_xtr_pow(FP4_FP256BN *r, FP4_FP256BN *x, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:387</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a6254a812179f40f940199f910ebadf11"><div class="ttname"><a href="fp4__FP256BN_8h.html#a6254a812179f40f940199f910ebadf11">FP4_FP256BN_iszilch</a></div><div class="ttdeci">int FP4_FP256BN_iszilch(FP4_FP256BN *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:29</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a306a9ef0860c525b9456ceb694727934"><div class="ttname"><a href="fp4__FP256BN_8h.html#a306a9ef0860c525b9456ceb694727934">FP4_FP256BN_output</a></div><div class="ttdeci">void FP4_FP256BN_output(FP4_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:258</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a86c956bbdfc6e300d5e255dbe1971b3c"><div class="ttname"><a href="fp4__FP256BN_8h.html#a86c956bbdfc6e300d5e255dbe1971b3c">FP4_FP256BN_neg</a></div><div class="ttdeci">void FP4_FP256BN_neg(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:109</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a074b78a1c8dfe032998e7e44be957959"><div class="ttname"><a href="fp4__FP256BN_8h.html#a074b78a1c8dfe032998e7e44be957959">FP4_FP256BN_reduce</a></div><div class="ttdeci">void FP4_FP256BN_reduce(FP4_FP256BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:158</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a6dc91c5c817967288bcdf2fabdf0ba24"><div class="ttname"><a href="fp4__FP256BN_8h.html#a6dc91c5c817967288bcdf2fabdf0ba24">FP4_FP256BN_mul</a></div><div class="ttdeci">void FP4_FP256BN_mul(FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:228</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_ac6ca73201a848932fccb615fde9dc770"><div class="ttname"><a href="fp4__FP256BN_8h.html#ac6ca73201a848932fccb615fde9dc770">FP4_FP256BN_rawoutput</a></div><div class="ttdeci">void FP4_FP256BN_rawoutput(FP4_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:268</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_ae94c49d807838945fd8b9b40914f70ce"><div class="ttname"><a href="fp4__FP256BN_8h.html#ae94c49d807838945fd8b9b40914f70ce">FP4_FP256BN_xtr_D</a></div><div class="ttdeci">void FP4_FP256BN_xtr_D(FP4_FP256BN *r, FP4_FP256BN *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:373</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a2cb7168382b258431c62eb2b653a1722"><div class="ttname"><a href="fp4__FP256BN_8h.html#a2cb7168382b258431c62eb2b653a1722">FP4_FP256BN_conj</a></div><div class="ttdeci">void FP4_FP256BN_conj(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:124</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a6865fd6ec567c9dcde56de80f1849038"><div class="ttname"><a href="fp4__FP256BN_8h.html#a6865fd6ec567c9dcde56de80f1849038">FP4_FP256BN_cmove</a></div><div class="ttdeci">void FP4_FP256BN_cmove(FP4_FP256BN *x, FP4_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:577</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a401bfb75733fc778dc6a3142cc5d69fb"><div class="ttname"><a href="fp4__FP256BN_8h.html#a401bfb75733fc778dc6a3142cc5d69fb">FP4_FP256BN_qmul</a></div><div class="ttdeci">void FP4_FP256BN_qmul(FP4_FP256BN *x, FP4_FP256BN *y, FP_FP256BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:181</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a2073b8dd17670e26a21b1e1a59922a83"><div class="ttname"><a href="fp4__FP256BN_8h.html#a2073b8dd17670e26a21b1e1a59922a83">FP4_FP256BN_copy</a></div><div class="ttdeci">void FP4_FP256BN_copy(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:84</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a481cb0b8e166d414e20109e45644c1d7"><div class="ttname"><a href="fp4__FP256BN_8h.html#a481cb0b8e166d414e20109e45644c1d7">FP4_FP256BN_from_FP2H</a></div><div class="ttdeci">void FP4_FP256BN_from_FP2H(FP4_FP256BN *x, FP2_FP256BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:76</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a5f5fd95bf292c5351aa1286d3102473d"><div class="ttname"><a href="fp4__FP256BN_8h.html#a5f5fd95bf292c5351aa1286d3102473d">FP4_FP256BN_add</a></div><div class="ttdeci">void FP4_FP256BN_add(FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:142</div></div>
-<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
-<div class="ttc" id="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_ab7d63dfadb047ece7be03c9c9804ae1b"><div class="ttname"><a href="fp4__FP256BN_8h.html#ab7d63dfadb047ece7be03c9c9804ae1b">FP4_FP256BN_equals</a></div><div class="ttdeci">int FP4_FP256BN_equals(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:51</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_abf12a196bd4bd76c7cb6294ff22126ad"><div class="ttname"><a href="fp4__FP256BN_8h.html#abf12a196bd4bd76c7cb6294ff22126ad">FP4_FP256BN_div_2i</a></div><div class="ttdeci">void FP4_FP256BN_div_2i(FP4_FP256BN *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a30c8143fc80aec305d6808ad857111e6"><div class="ttname"><a href="fp4__FP256BN_8h.html#a30c8143fc80aec305d6808ad857111e6">FP4_FP256BN_sqrt</a></div><div class="ttdeci">int FP4_FP256BN_sqrt(FP4_FP256BN *r, FP4_FP256BN *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a773498a89391b919f6246882da525c12"><div class="ttname"><a href="fp4__FP256BN_8h.html#a773498a89391b919f6246882da525c12">FP4_FP256BN_zero</a></div><div class="ttdeci">void FP4_FP256BN_zero(FP4_FP256BN *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:93</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a884727f8b9e6bd8a6e2a2476b41cad66"><div class="ttname"><a href="fp4__FP256BN_8h.html#a884727f8b9e6bd8a6e2a2476b41cad66">FP4_FP256BN_pow</a></div><div class="ttdeci">void FP4_FP256BN_pow(FP4_FP256BN *x, FP4_FP256BN *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:326</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_ad0645a295bcc25736d3491a74dd9f576"><div class="ttname"><a href="fp4__FP256BN_8h.html#ad0645a295bcc25736d3491a74dd9f576">FP4_FP256BN_inv</a></div><div class="ttdeci">void FP4_FP256BN_inv(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:279</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a846a6fbadb9e277d049266066a02274e"><div class="ttname"><a href="fp4__FP256BN_8h.html#a846a6fbadb9e277d049266066a02274e">FP4_FP256BN_isreal</a></div><div class="ttdeci">int FP4_FP256BN_isreal(FP4_FP256BN *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:44</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a9c0be501c943362a1da8a3c585efaa27"><div class="ttname"><a href="fp4__FP256BN_8h.html#a9c0be501c943362a1da8a3c585efaa27">FP4_FP256BN_norm</a></div><div class="ttdeci">void FP4_FP256BN_norm(FP4_FP256BN *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:166</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a130978950759dd2fb78a696cd046c757"><div class="ttname"><a href="fp4__FP256BN_8h.html#a130978950759dd2fb78a696cd046c757">FP4_FP256BN_imul</a></div><div class="ttdeci">void FP4_FP256BN_imul(FP4_FP256BN *x, FP4_FP256BN *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:189</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a7aa5543add1ec1c71d70096b1587f69e"><div class="ttname"><a href="fp4__FP256BN_8h.html#a7aa5543add1ec1c71d70096b1587f69e">FP4_FP256BN_xtr_pow2</a></div><div class="ttdeci">void FP4_FP256BN_xtr_pow2(FP4_FP256BN *r, FP4_FP256BN *c, FP4_FP256BN *d, FP4_FP256BN *e, FP4_FP256BN *f, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:444</div></div>
-<div class="ttc" id="fp2__FP256BN_8h_html"><div class="ttname"><a href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a0aca822840b0307d00f6314be85f0751"><div class="ttname"><a href="fp4__FP256BN_8h.html#a0aca822840b0307d00f6314be85f0751">FP4_FP256BN_from_FP2</a></div><div class="ttdeci">void FP4_FP256BN_from_FP2(FP4_FP256BN *x, FP2_FP256BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:68</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a64fa3dc1e25fbc0ca2d759873ef67e03"><div class="ttname"><a href="fp4__FP256BN_8h.html#a64fa3dc1e25fbc0ca2d759873ef67e03">FP4_FP256BN_nconj</a></div><div class="ttdeci">void FP4_FP256BN_nconj(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:133</div></div>
+<a href="fp4__FP256BN_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 FP4_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_FP256BN_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 &quot;<a class="code" href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__FP256BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__FP256BN.html#a3e607721a6f9c7ea95c2aa0adddc60e7">   39</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structFP4__FP256BN.html#a3e607721a6f9c7ea95c2aa0adddc60e7">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__FP256BN.html#ad6777dda8daf02c71dcae01b3b86819f">   40</a></span>&#160;    <a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> <a class="code" href="structFP4__FP256BN.html#ad6777dda8daf02c71dcae01b3b86819f">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP256BN_8h.html#a6254a812179f40f940199f910ebadf11">FP4_FP256BN_iszilch</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP256BN_8h.html#ac3d10cea356f3dd1b64d31fc9fef5bfc">FP4_FP256BN_isunity</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP256BN_8h.html#ab7d63dfadb047ece7be03c9c9804ae1b">FP4_FP256BN_equals</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</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="fp4__FP256BN_8h.html#a846a6fbadb9e277d049266066a02274e">FP4_FP256BN_isreal</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#afb06e4b9fbf56a7c8137e39677369931">FP4_FP256BN_from_FP2s</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a0aca822840b0307d00f6314be85f0751">FP4_FP256BN_from_FP2</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__FP256BN_8h.html#a481cb0b8e166d414e20109e45644c1d7">FP4_FP256BN_from_FP2H</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__FP256BN_8h.html#a2073b8dd17670e26a21b1e1a59922a83">FP4_FP256BN_copy</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a773498a89391b919f6246882da525c12">FP4_FP256BN_zero</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a3a2443d35f313d00c372d434838e6f23">FP4_FP256BN_one</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</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="fp4__FP256BN_8h.html#a86c956bbdfc6e300d5e255dbe1971b3c">FP4_FP256BN_neg</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a2cb7168382b258431c62eb2b653a1722">FP4_FP256BN_conj</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a64fa3dc1e25fbc0ca2d759873ef67e03">FP4_FP256BN_nconj</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a5f5fd95bf292c5351aa1286d3102473d">FP4_FP256BN_add</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a7c4f2b82dd00b4b9bd32ad194b5915eb">FP4_FP256BN_sub</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a9a733fa130464e87ba0c41d8f36f2c71">FP4_FP256BN_pmul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a401bfb75733fc778dc6a3142cc5d69fb">FP4_FP256BN_qmul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a130978950759dd2fb78a696cd046c757">FP4_FP256BN_imul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ab3dcf11e964c673efd66f363f153e460">FP4_FP256BN_sqr</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a6dc91c5c817967288bcdf2fabdf0ba24">FP4_FP256BN_mul</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ad0645a295bcc25736d3491a74dd9f576">FP4_FP256BN_inv</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a306a9ef0860c525b9456ceb694727934">FP4_FP256BN_output</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</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="fp4__FP256BN_8h.html#ac6ca73201a848932fccb615fde9dc770">FP4_FP256BN_rawoutput</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</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="fp4__FP256BN_8h.html#a823d7ae791f9c9e98296a78c997f23df">FP4_FP256BN_times_i</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</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="fp4__FP256BN_8h.html#a9c0be501c943362a1da8a3c585efaa27">FP4_FP256BN_norm</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</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="fp4__FP256BN_8h.html#a074b78a1c8dfe032998e7e44be957959">FP4_FP256BN_reduce</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a884727f8b9e6bd8a6e2a2476b41cad66">FP4_FP256BN_pow</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a3a230bb54dba041abb06e3f7384170f7">FP4_FP256BN_frob</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP2__FP256BN.html">FP2_FP256BN</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a5a082b7c04376b2e5d6d7a8b485e06cc">FP4_FP256BN_xtr_A</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *w,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ae94c49d807838945fd8b9b40914f70ce">FP4_FP256BN_xtr_D</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#aab43369dcadefdb798dea858a04b4d46">FP4_FP256BN_xtr_pow</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a7aa5543add1ec1c71d70096b1587f69e">FP4_FP256BN_xtr_pow2</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *c,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *d,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *e,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *f,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> a,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a6865fd6ec567c9dcde56de80f1849038">FP4_FP256BN_cmove</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__FP256BN_8h.html#a30c8143fc80aec305d6808ad857111e6">FP4_FP256BN_sqrt</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *r,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#a56b52d2e9122742f2b7b112564cd25b2">FP4_FP256BN_div_i</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#abf12a196bd4bd76c7cb6294ff22126ad">FP4_FP256BN_div_2i</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP256BN_8h.html#ae971c64134f3aacae3539fa4dcdc2de4">FP4_FP256BN_div2</a>(<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *x,<a class="code" href="structFP4__FP256BN.html">FP4_FP256BN</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__FP256BN_8h_html_a3a230bb54dba041abb06e3f7384170f7"><div class="ttname"><a href="fp4__FP256BN_8h.html#a3a230bb54dba041abb06e3f7384170f7">FP4_FP256BN_frob</a></div><div class="ttdeci">void FP4_FP256BN_frob(FP4_FP256BN *x, FP2_FP256BN *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:317</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_aab43369dcadefdb798dea858a04b4d46"><div class="ttname"><a href="fp4__FP256BN_8h.html#aab43369dcadefdb798dea858a04b4d46">FP4_FP256BN_xtr_pow</a></div><div class="ttdeci">void FP4_FP256BN_xtr_pow(FP4_FP256BN *r, FP4_FP256BN *x, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:387</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a6254a812179f40f940199f910ebadf11"><div class="ttname"><a href="fp4__FP256BN_8h.html#a6254a812179f40f940199f910ebadf11">FP4_FP256BN_iszilch</a></div><div class="ttdeci">int FP4_FP256BN_iszilch(FP4_FP256BN *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:29</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a306a9ef0860c525b9456ceb694727934"><div class="ttname"><a href="fp4__FP256BN_8h.html#a306a9ef0860c525b9456ceb694727934">FP4_FP256BN_output</a></div><div class="ttdeci">void FP4_FP256BN_output(FP4_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:258</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a86c956bbdfc6e300d5e255dbe1971b3c"><div class="ttname"><a href="fp4__FP256BN_8h.html#a86c956bbdfc6e300d5e255dbe1971b3c">FP4_FP256BN_neg</a></div><div class="ttdeci">void FP4_FP256BN_neg(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:109</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a074b78a1c8dfe032998e7e44be957959"><div class="ttname"><a href="fp4__FP256BN_8h.html#a074b78a1c8dfe032998e7e44be957959">FP4_FP256BN_reduce</a></div><div class="ttdeci">void FP4_FP256BN_reduce(FP4_FP256BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:158</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a6dc91c5c817967288bcdf2fabdf0ba24"><div class="ttname"><a href="fp4__FP256BN_8h.html#a6dc91c5c817967288bcdf2fabdf0ba24">FP4_FP256BN_mul</a></div><div class="ttdeci">void FP4_FP256BN_mul(FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:228</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_ac6ca73201a848932fccb615fde9dc770"><div class="ttname"><a href="fp4__FP256BN_8h.html#ac6ca73201a848932fccb615fde9dc770">FP4_FP256BN_rawoutput</a></div><div class="ttdeci">void FP4_FP256BN_rawoutput(FP4_FP256BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:268</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_ae94c49d807838945fd8b9b40914f70ce"><div class="ttname"><a href="fp4__FP256BN_8h.html#ae94c49d807838945fd8b9b40914f70ce">FP4_FP256BN_xtr_D</a></div><div class="ttdeci">void FP4_FP256BN_xtr_D(FP4_FP256BN *r, FP4_FP256BN *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:373</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a2cb7168382b258431c62eb2b653a1722"><div class="ttname"><a href="fp4__FP256BN_8h.html#a2cb7168382b258431c62eb2b653a1722">FP4_FP256BN_conj</a></div><div class="ttdeci">void FP4_FP256BN_conj(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:124</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a6865fd6ec567c9dcde56de80f1849038"><div class="ttname"><a href="fp4__FP256BN_8h.html#a6865fd6ec567c9dcde56de80f1849038">FP4_FP256BN_cmove</a></div><div class="ttdeci">void FP4_FP256BN_cmove(FP4_FP256BN *x, FP4_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:577</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a401bfb75733fc778dc6a3142cc5d69fb"><div class="ttname"><a href="fp4__FP256BN_8h.html#a401bfb75733fc778dc6a3142cc5d69fb">FP4_FP256BN_qmul</a></div><div class="ttdeci">void FP4_FP256BN_qmul(FP4_FP256BN *x, FP4_FP256BN *y, FP_FP256BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:181</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a2073b8dd17670e26a21b1e1a59922a83"><div class="ttname"><a href="fp4__FP256BN_8h.html#a2073b8dd17670e26a21b1e1a59922a83">FP4_FP256BN_copy</a></div><div class="ttdeci">void FP4_FP256BN_copy(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:84</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a481cb0b8e166d414e20109e45644c1d7"><div class="ttname"><a href="fp4__FP256BN_8h.html#a481cb0b8e166d414e20109e45644c1d7">FP4_FP256BN_from_FP2H</a></div><div class="ttdeci">void FP4_FP256BN_from_FP2H(FP4_FP256BN *x, FP2_FP256BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:76</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a5f5fd95bf292c5351aa1286d3102473d"><div class="ttname"><a href="fp4__FP256BN_8h.html#a5f5fd95bf292c5351aa1286d3102473d">FP4_FP256BN_add</a></div><div class="ttdeci">void FP4_FP256BN_add(FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:142</div></div>
+<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
+<div class="ttc" id="structFP2__FP256BN_html"><div class="ttname"><a href="structFP2__FP256BN.html">FP2_FP256BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP256BN.h:36</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_ab7d63dfadb047ece7be03c9c9804ae1b"><div class="ttname"><a href="fp4__FP256BN_8h.html#ab7d63dfadb047ece7be03c9c9804ae1b">FP4_FP256BN_equals</a></div><div class="ttdeci">int FP4_FP256BN_equals(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:51</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_abf12a196bd4bd76c7cb6294ff22126ad"><div class="ttname"><a href="fp4__FP256BN_8h.html#abf12a196bd4bd76c7cb6294ff22126ad">FP4_FP256BN_div_2i</a></div><div class="ttdeci">void FP4_FP256BN_div_2i(FP4_FP256BN *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a30c8143fc80aec305d6808ad857111e6"><div class="ttname"><a href="fp4__FP256BN_8h.html#a30c8143fc80aec305d6808ad857111e6">FP4_FP256BN_sqrt</a></div><div class="ttdeci">int FP4_FP256BN_sqrt(FP4_FP256BN *r, FP4_FP256BN *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a773498a89391b919f6246882da525c12"><div class="ttname"><a href="fp4__FP256BN_8h.html#a773498a89391b919f6246882da525c12">FP4_FP256BN_zero</a></div><div class="ttdeci">void FP4_FP256BN_zero(FP4_FP256BN *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:93</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a884727f8b9e6bd8a6e2a2476b41cad66"><div class="ttname"><a href="fp4__FP256BN_8h.html#a884727f8b9e6bd8a6e2a2476b41cad66">FP4_FP256BN_pow</a></div><div class="ttdeci">void FP4_FP256BN_pow(FP4_FP256BN *x, FP4_FP256BN *y, BIG_256_56 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:326</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_ad0645a295bcc25736d3491a74dd9f576"><div class="ttname"><a href="fp4__FP256BN_8h.html#ad0645a295bcc25736d3491a74dd9f576">FP4_FP256BN_inv</a></div><div class="ttdeci">void FP4_FP256BN_inv(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:279</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a846a6fbadb9e277d049266066a02274e"><div class="ttname"><a href="fp4__FP256BN_8h.html#a846a6fbadb9e277d049266066a02274e">FP4_FP256BN_isreal</a></div><div class="ttdeci">int FP4_FP256BN_isreal(FP4_FP256BN *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:44</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a9c0be501c943362a1da8a3c585efaa27"><div class="ttname"><a href="fp4__FP256BN_8h.html#a9c0be501c943362a1da8a3c585efaa27">FP4_FP256BN_norm</a></div><div class="ttdeci">void FP4_FP256BN_norm(FP4_FP256BN *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:166</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a130978950759dd2fb78a696cd046c757"><div class="ttname"><a href="fp4__FP256BN_8h.html#a130978950759dd2fb78a696cd046c757">FP4_FP256BN_imul</a></div><div class="ttdeci">void FP4_FP256BN_imul(FP4_FP256BN *x, FP4_FP256BN *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:189</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a7aa5543add1ec1c71d70096b1587f69e"><div class="ttname"><a href="fp4__FP256BN_8h.html#a7aa5543add1ec1c71d70096b1587f69e">FP4_FP256BN_xtr_pow2</a></div><div class="ttdeci">void FP4_FP256BN_xtr_pow2(FP4_FP256BN *r, FP4_FP256BN *c, FP4_FP256BN *d, FP4_FP256BN *e, FP4_FP256BN *f, BIG_256_56 a, BIG_256_56 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:444</div></div>
+<div class="ttc" id="fp2__FP256BN_8h_html"><div class="ttname"><a href="fp2__FP256BN_8h.html">fp2_FP256BN.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a0aca822840b0307d00f6314be85f0751"><div class="ttname"><a href="fp4__FP256BN_8h.html#a0aca822840b0307d00f6314be85f0751">FP4_FP256BN_from_FP2</a></div><div class="ttdeci">void FP4_FP256BN_from_FP2(FP4_FP256BN *x, FP2_FP256BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:68</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a64fa3dc1e25fbc0ca2d759873ef67e03"><div class="ttname"><a href="fp4__FP256BN_8h.html#a64fa3dc1e25fbc0ca2d759873ef67e03">FP4_FP256BN_nconj</a></div><div class="ttdeci">void FP4_FP256BN_nconj(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:133</div></div>
 <div class="ttc" id="structFP4__FP256BN_html_ad6777dda8daf02c71dcae01b3b86819f"><div class="ttname"><a href="structFP4__FP256BN.html#ad6777dda8daf02c71dcae01b3b86819f">FP4_FP256BN::b</a></div><div class="ttdeci">FP2_FP256BN b</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.h:40</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_afb06e4b9fbf56a7c8137e39677369931"><div class="ttname"><a href="fp4__FP256BN_8h.html#afb06e4b9fbf56a7c8137e39677369931">FP4_FP256BN_from_FP2s</a></div><div class="ttdeci">void FP4_FP256BN_from_FP2s(FP4_FP256BN *x, FP2_FP256BN *a, FP2_FP256BN *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:60</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_afb06e4b9fbf56a7c8137e39677369931"><div class="ttname"><a href="fp4__FP256BN_8h.html#afb06e4b9fbf56a7c8137e39677369931">FP4_FP256BN_from_FP2s</a></div><div class="ttdeci">void FP4_FP256BN_from_FP2s(FP4_FP256BN *x, FP2_FP256BN *a, FP2_FP256BN *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:60</div></div>
 <div class="ttc" id="structFP4__FP256BN_html_a3e607721a6f9c7ea95c2aa0adddc60e7"><div class="ttname"><a href="structFP4__FP256BN.html#a3e607721a6f9c7ea95c2aa0adddc60e7">FP4_FP256BN::a</a></div><div class="ttdeci">FP2_FP256BN a</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.h:39</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_ae971c64134f3aacae3539fa4dcdc2de4"><div class="ttname"><a href="fp4__FP256BN_8h.html#ae971c64134f3aacae3539fa4dcdc2de4">FP4_FP256BN_div2</a></div><div class="ttdeci">void FP4_FP256BN_div2(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:586</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a5a082b7c04376b2e5d6d7a8b485e06cc"><div class="ttname"><a href="fp4__FP256BN_8h.html#a5a082b7c04376b2e5d6d7a8b485e06cc">FP4_FP256BN_xtr_A</a></div><div class="ttdeci">void FP4_FP256BN_xtr_A(FP4_FP256BN *r, FP4_FP256BN *w, FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:353</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_ac3d10cea356f3dd1b64d31fc9fef5bfc"><div class="ttname"><a href="fp4__FP256BN_8h.html#ac3d10cea356f3dd1b64d31fc9fef5bfc">FP4_FP256BN_isunity</a></div><div class="ttdeci">int FP4_FP256BN_isunity(FP4_FP256BN *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:37</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_ae971c64134f3aacae3539fa4dcdc2de4"><div class="ttname"><a href="fp4__FP256BN_8h.html#ae971c64134f3aacae3539fa4dcdc2de4">FP4_FP256BN_div2</a></div><div class="ttdeci">void FP4_FP256BN_div2(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:586</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a5a082b7c04376b2e5d6d7a8b485e06cc"><div class="ttname"><a href="fp4__FP256BN_8h.html#a5a082b7c04376b2e5d6d7a8b485e06cc">FP4_FP256BN_xtr_A</a></div><div class="ttdeci">void FP4_FP256BN_xtr_A(FP4_FP256BN *r, FP4_FP256BN *w, FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:353</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_ac3d10cea356f3dd1b64d31fc9fef5bfc"><div class="ttname"><a href="fp4__FP256BN_8h.html#ac3d10cea356f3dd1b64d31fc9fef5bfc">FP4_FP256BN_isunity</a></div><div class="ttdeci">int FP4_FP256BN_isunity(FP4_FP256BN *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:37</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a56b52d2e9122742f2b7b112564cd25b2"><div class="ttname"><a href="fp4__FP256BN_8h.html#a56b52d2e9122742f2b7b112564cd25b2">FP4_FP256BN_div_i</a></div><div class="ttdeci">void FP4_FP256BN_div_i(FP4_FP256BN *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a7c4f2b82dd00b4b9bd32ad194b5915eb"><div class="ttname"><a href="fp4__FP256BN_8h.html#a7c4f2b82dd00b4b9bd32ad194b5915eb">FP4_FP256BN_sub</a></div><div class="ttdeci">void FP4_FP256BN_sub(FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:150</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a3a2443d35f313d00c372d434838e6f23"><div class="ttname"><a href="fp4__FP256BN_8h.html#a3a2443d35f313d00c372d434838e6f23">FP4_FP256BN_one</a></div><div class="ttdeci">void FP4_FP256BN_one(FP4_FP256BN *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:101</div></div>
-<div class="ttc" id="structFP4__FP256BN_html"><div class="ttname"><a href="structFP4__FP256BN.html">FP4_FP256BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.h:37</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a9a733fa130464e87ba0c41d8f36f2c71"><div class="ttname"><a href="fp4__FP256BN_8h.html#a9a733fa130464e87ba0c41d8f36f2c71">FP4_FP256BN_pmul</a></div><div class="ttdeci">void FP4_FP256BN_pmul(FP4_FP256BN *x, FP4_FP256BN *y, FP2_FP256BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:174</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_ab3dcf11e964c673efd66f363f153e460"><div class="ttname"><a href="fp4__FP256BN_8h.html#ab3dcf11e964c673efd66f363f153e460">FP4_FP256BN_sqr</a></div><div class="ttdeci">void FP4_FP256BN_sqr(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:197</div></div>
-<div class="ttc" id="fp4__FP256BN_8h_html_a823d7ae791f9c9e98296a78c997f23df"><div class="ttname"><a href="fp4__FP256BN_8h.html#a823d7ae791f9c9e98296a78c997f23df">FP4_FP256BN_times_i</a></div><div class="ttdeci">void FP4_FP256BN_times_i(FP4_FP256BN *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:296</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a56b52d2e9122742f2b7b112564cd25b2"><div class="ttname"><a href="fp4__FP256BN_8h.html#a56b52d2e9122742f2b7b112564cd25b2">FP4_FP256BN_div_i</a></div><div class="ttdeci">void FP4_FP256BN_div_i(FP4_FP256BN *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a7c4f2b82dd00b4b9bd32ad194b5915eb"><div class="ttname"><a href="fp4__FP256BN_8h.html#a7c4f2b82dd00b4b9bd32ad194b5915eb">FP4_FP256BN_sub</a></div><div class="ttdeci">void FP4_FP256BN_sub(FP4_FP256BN *x, FP4_FP256BN *y, FP4_FP256BN *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:150</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a3a2443d35f313d00c372d434838e6f23"><div class="ttname"><a href="fp4__FP256BN_8h.html#a3a2443d35f313d00c372d434838e6f23">FP4_FP256BN_one</a></div><div class="ttdeci">void FP4_FP256BN_one(FP4_FP256BN *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:101</div></div>
+<div class="ttc" id="structFP4__FP256BN_html"><div class="ttname"><a href="structFP4__FP256BN.html">FP4_FP256BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.h:37</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a9a733fa130464e87ba0c41d8f36f2c71"><div class="ttname"><a href="fp4__FP256BN_8h.html#a9a733fa130464e87ba0c41d8f36f2c71">FP4_FP256BN_pmul</a></div><div class="ttdeci">void FP4_FP256BN_pmul(FP4_FP256BN *x, FP4_FP256BN *y, FP2_FP256BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:174</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_ab3dcf11e964c673efd66f363f153e460"><div class="ttname"><a href="fp4__FP256BN_8h.html#ab3dcf11e964c673efd66f363f153e460">FP4_FP256BN_sqr</a></div><div class="ttdeci">void FP4_FP256BN_sqr(FP4_FP256BN *x, FP4_FP256BN *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:197</div></div>
+<div class="ttc" id="fp4__FP256BN_8h_html_a823d7ae791f9c9e98296a78c997f23df"><div class="ttname"><a href="fp4__FP256BN_8h.html#a823d7ae791f9c9e98296a78c997f23df">FP4_FP256BN_times_i</a></div><div class="ttdeci">void FP4_FP256BN_times_i(FP4_FP256BN *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_FP256BN.c:296</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/fp4__FP512BN_8h.html b/website/static/cdocs/fp4__FP512BN_8h.html
index 387500b..028927a 100644
--- a/website/static/cdocs/fp4__FP512BN_8h.html
+++ b/website/static/cdocs/fp4__FP512BN_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: fp4_FP512BN.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"
@@ -1502,7 +1505,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/fp4__FP512BN_8h_source.html b/website/static/cdocs/fp4__FP512BN_8h_source.html
index 30d3981..4a2e38d 100644
--- a/website/static/cdocs/fp4__FP512BN_8h_source.html
+++ b/website/static/cdocs/fp4__FP512BN_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: fp4_FP512BN.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,56 +72,56 @@
 <div class="title">fp4_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp4__FP512BN_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 FP4_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_FP512BN_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 &quot;<a class="code" href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__FP512BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__FP512BN.html#a1b4bc5338f72373ea2d873ac2fa56738">   39</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structFP4__FP512BN.html#a1b4bc5338f72373ea2d873ac2fa56738">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__FP512BN.html#a9ed745b9be02391665e4fd43cd2a6665">   40</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structFP4__FP512BN.html#a9ed745b9be02391665e4fd43cd2a6665">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP512BN_8h.html#a9bf6e54ebdf4cf77ce498c0e01315bb8">FP4_FP512BN_iszilch</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP512BN_8h.html#a6e7f8e53d4fd9b50d38e34406be704eb">FP4_FP512BN_isunity</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP512BN_8h.html#a1547e186db86b79552f24fa155328762">FP4_FP512BN_equals</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</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="fp4__FP512BN_8h.html#a131f3d69c4f02a3fd77552800312a9b0">FP4_FP512BN_isreal</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a1ba45e3a45e44fc0d557eab693f8f0c1">FP4_FP512BN_from_FP2s</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a11a400fdbceac7932ecc5d151dc4b268">FP4_FP512BN_from_FP2</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__FP512BN_8h.html#a4321901ba6571f18f0bc34ee6034cf6a">FP4_FP512BN_from_FP2H</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__FP512BN_8h.html#abd0b618186ec3ff610cdf4f3c0a0ecb0">FP4_FP512BN_copy</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a0f46b3f4f84ce7e0e9bf904d347cce67">FP4_FP512BN_zero</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a6991205e8dc3ea3cf96232e418ebbe7e">FP4_FP512BN_one</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</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="fp4__FP512BN_8h.html#a668a798a3ef290d07c61a2476d512a7b">FP4_FP512BN_neg</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a4f96e2e83333432e945cf0dd7c09d6df">FP4_FP512BN_conj</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a8eb2d3331714b15dd853741bc5ed891b">FP4_FP512BN_nconj</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a511999d4f1c5095d7218cfb6bed10836">FP4_FP512BN_add</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a5e3502fed7ff972b79f2aaa4f279eda4">FP4_FP512BN_sub</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#ae844274cce222eea5666b72fd437ed5e">FP4_FP512BN_pmul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#ac7559aca29c1eba4a1632f6540be328d">FP4_FP512BN_qmul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#abfd09dcead65f65ec0c182dd04a12e5d">FP4_FP512BN_imul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a7b0a9d8ff1697840b3ece1bdf228f5c9">FP4_FP512BN_sqr</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a017e146ddde3dadaf352d0f76b1b6e5c">FP4_FP512BN_mul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a1c479aaca4c807bc3e9c23b21926a860">FP4_FP512BN_inv</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a2425241a9aff02d1a9e482760dcd6e9a">FP4_FP512BN_output</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</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="fp4__FP512BN_8h.html#af2ff06306e5afa6c0980b65de0befef9">FP4_FP512BN_rawoutput</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</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="fp4__FP512BN_8h.html#ab64a6c0b8a22e61740dda8aa0b67a9bd">FP4_FP512BN_times_i</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</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="fp4__FP512BN_8h.html#a2d988a02e4dd570e48936448e9634bab">FP4_FP512BN_norm</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</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="fp4__FP512BN_8h.html#a842271a8acfb88d76bd380f94f11ef28">FP4_FP512BN_reduce</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#aa58001e923ceffe6ce9ae7a9cd3fb706">FP4_FP512BN_pow</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a72b63df60bb1fc00522373999f1708c2">FP4_FP512BN_frob</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#ae313d51df7f087720e248f7ed45cae58">FP4_FP512BN_xtr_A</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *w,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a4d9e50f4df0e1c6df6b6f9db5cf2cd4f">FP4_FP512BN_xtr_D</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a78a205ce8e9aba387ca26c21a5e0f607">FP4_FP512BN_xtr_pow</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#afb710c546a34d86968dd427806911893">FP4_FP512BN_xtr_pow2</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *c,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *d,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *e,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *f,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a17c85a954730bb105c835013feed9301">FP4_FP512BN_cmove</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__FP512BN_8h.html#a8f27ea24f45e96d6cac00b68eff1b08f">FP4_FP512BN_sqrt</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a130f53f1160218c4dfca4edb4be888dd">FP4_FP512BN_div_i</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a094efe0f530e6d824caea5e1175f71ff">FP4_FP512BN_div_2i</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#afbd984d611446c470bb72f51576dc7ee">FP4_FP512BN_div2</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__FP512BN_8h_html_ac7559aca29c1eba4a1632f6540be328d"><div class="ttname"><a href="fp4__FP512BN_8h.html#ac7559aca29c1eba4a1632f6540be328d">FP4_FP512BN_qmul</a></div><div class="ttdeci">void FP4_FP512BN_qmul(FP4_FP512BN *x, FP4_FP512BN *y, FP_FP512BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:181</div></div>
+<a href="fp4__FP512BN_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 FP4_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP4_FP512BN_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 &quot;<a class="code" href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_curve_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structFP4__FP512BN.html">   37</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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="structFP4__FP512BN.html#a1b4bc5338f72373ea2d873ac2fa56738">   39</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structFP4__FP512BN.html#a1b4bc5338f72373ea2d873ac2fa56738">a</a>; </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structFP4__FP512BN.html#a9ed745b9be02391665e4fd43cd2a6665">   40</a></span>&#160;    <a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> <a class="code" href="structFP4__FP512BN.html#a9ed745b9be02391665e4fd43cd2a6665">b</a>; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;} <a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* FP4 prototypes */</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP512BN_8h.html#a9bf6e54ebdf4cf77ce498c0e01315bb8">FP4_FP512BN_iszilch</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP512BN_8h.html#a6e7f8e53d4fd9b50d38e34406be704eb">FP4_FP512BN_isunity</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp4__FP512BN_8h.html#a1547e186db86b79552f24fa155328762">FP4_FP512BN_equals</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</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="fp4__FP512BN_8h.html#a131f3d69c4f02a3fd77552800312a9b0">FP4_FP512BN_isreal</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a1ba45e3a45e44fc0d557eab693f8f0c1">FP4_FP512BN_from_FP2s</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *b);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a11a400fdbceac7932ecc5d151dc4b268">FP4_FP512BN_from_FP2</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a);</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</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="fp4__FP512BN_8h.html#a4321901ba6571f18f0bc34ee6034cf6a">FP4_FP512BN_from_FP2H</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</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="fp4__FP512BN_8h.html#abd0b618186ec3ff610cdf4f3c0a0ecb0">FP4_FP512BN_copy</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a0f46b3f4f84ce7e0e9bf904d347cce67">FP4_FP512BN_zero</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a6991205e8dc3ea3cf96232e418ebbe7e">FP4_FP512BN_one</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</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="fp4__FP512BN_8h.html#a668a798a3ef290d07c61a2476d512a7b">FP4_FP512BN_neg</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a4f96e2e83333432e945cf0dd7c09d6df">FP4_FP512BN_conj</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a8eb2d3331714b15dd853741bc5ed891b">FP4_FP512BN_nconj</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a511999d4f1c5095d7218cfb6bed10836">FP4_FP512BN_add</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a5e3502fed7ff972b79f2aaa4f279eda4">FP4_FP512BN_sub</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#ae844274cce222eea5666b72fd437ed5e">FP4_FP512BN_pmul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *a);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#ac7559aca29c1eba4a1632f6540be328d">FP4_FP512BN_qmul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *a);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#abfd09dcead65f65ec0c182dd04a12e5d">FP4_FP512BN_imul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a7b0a9d8ff1697840b3ece1bdf228f5c9">FP4_FP512BN_sqr</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a017e146ddde3dadaf352d0f76b1b6e5c">FP4_FP512BN_mul</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a1c479aaca4c807bc3e9c23b21926a860">FP4_FP512BN_inv</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a2425241a9aff02d1a9e482760dcd6e9a">FP4_FP512BN_output</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</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="fp4__FP512BN_8h.html#af2ff06306e5afa6c0980b65de0befef9">FP4_FP512BN_rawoutput</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</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="fp4__FP512BN_8h.html#ab64a6c0b8a22e61740dda8aa0b67a9bd">FP4_FP512BN_times_i</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</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="fp4__FP512BN_8h.html#a2d988a02e4dd570e48936448e9634bab">FP4_FP512BN_norm</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</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="fp4__FP512BN_8h.html#a842271a8acfb88d76bd380f94f11ef28">FP4_FP512BN_reduce</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#aa58001e923ceffe6ce9ae7a9cd3fb706">FP4_FP512BN_pow</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a72b63df60bb1fc00522373999f1708c2">FP4_FP512BN_frob</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP2__FP512BN.html">FP2_FP512BN</a> *f);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#ae313d51df7f087720e248f7ed45cae58">FP4_FP512BN_xtr_A</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *w,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *z);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a4d9e50f4df0e1c6df6b6f9db5cf2cd4f">FP4_FP512BN_xtr_D</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a78a205ce8e9aba387ca26c21a5e0f607">FP4_FP512BN_xtr_pow</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#afb710c546a34d86968dd427806911893">FP4_FP512BN_xtr_pow2</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *c,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *d,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *e,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *f,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> a,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a17c85a954730bb105c835013feed9301">FP4_FP512BN_cmove</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="fp4__FP512BN_8h.html#a8f27ea24f45e96d6cac00b68eff1b08f">FP4_FP512BN_sqrt</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *r,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a130f53f1160218c4dfca4edb4be888dd">FP4_FP512BN_div_i</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#a094efe0f530e6d824caea5e1175f71ff">FP4_FP512BN_div_2i</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x);</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp4__FP512BN_8h.html#afbd984d611446c470bb72f51576dc7ee">FP4_FP512BN_div2</a>(<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *x,<a class="code" href="structFP4__FP512BN.html">FP4_FP512BN</a> *y);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div><div class="ttc" id="fp4__FP512BN_8h_html_ac7559aca29c1eba4a1632f6540be328d"><div class="ttname"><a href="fp4__FP512BN_8h.html#ac7559aca29c1eba4a1632f6540be328d">FP4_FP512BN_qmul</a></div><div class="ttdeci">void FP4_FP512BN_qmul(FP4_FP512BN *x, FP4_FP512BN *y, FP_FP512BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:181</div></div>
 <div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a4d9e50f4df0e1c6df6b6f9db5cf2cd4f"><div class="ttname"><a href="fp4__FP512BN_8h.html#a4d9e50f4df0e1c6df6b6f9db5cf2cd4f">FP4_FP512BN_xtr_D</a></div><div class="ttdeci">void FP4_FP512BN_xtr_D(FP4_FP512BN *r, FP4_FP512BN *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x)</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:373</div></div>
+<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a4d9e50f4df0e1c6df6b6f9db5cf2cd4f"><div class="ttname"><a href="fp4__FP512BN_8h.html#a4d9e50f4df0e1c6df6b6f9db5cf2cd4f">FP4_FP512BN_xtr_D</a></div><div class="ttdeci">void FP4_FP512BN_xtr_D(FP4_FP512BN *r, FP4_FP512BN *x)</div><div class="ttdoc">Calculates the XTR doubling function r=x^2-2*conj(x) </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:373</div></div>
 <div class="ttc" id="structFP4__FP512BN_html_a1b4bc5338f72373ea2d873ac2fa56738"><div class="ttname"><a href="structFP4__FP512BN.html#a1b4bc5338f72373ea2d873ac2fa56738">FP4_FP512BN::a</a></div><div class="ttdeci">FP2_FP512BN a</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.h:39</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_aa58001e923ceffe6ce9ae7a9cd3fb706"><div class="ttname"><a href="fp4__FP512BN_8h.html#aa58001e923ceffe6ce9ae7a9cd3fb706">FP4_FP512BN_pow</a></div><div class="ttdeci">void FP4_FP512BN_pow(FP4_FP512BN *x, FP4_FP512BN *y, BIG_512_60 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:326</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_afb710c546a34d86968dd427806911893"><div class="ttname"><a href="fp4__FP512BN_8h.html#afb710c546a34d86968dd427806911893">FP4_FP512BN_xtr_pow2</a></div><div class="ttdeci">void FP4_FP512BN_xtr_pow2(FP4_FP512BN *r, FP4_FP512BN *c, FP4_FP512BN *d, FP4_FP512BN *e, FP4_FP512BN *f, BIG_512_60 a, BIG_512_60 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:444</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a78a205ce8e9aba387ca26c21a5e0f607"><div class="ttname"><a href="fp4__FP512BN_8h.html#a78a205ce8e9aba387ca26c21a5e0f607">FP4_FP512BN_xtr_pow</a></div><div class="ttdeci">void FP4_FP512BN_xtr_pow(FP4_FP512BN *r, FP4_FP512BN *x, BIG_512_60 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:387</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a017e146ddde3dadaf352d0f76b1b6e5c"><div class="ttname"><a href="fp4__FP512BN_8h.html#a017e146ddde3dadaf352d0f76b1b6e5c">FP4_FP512BN_mul</a></div><div class="ttdeci">void FP4_FP512BN_mul(FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">Multiplication of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:228</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a0f46b3f4f84ce7e0e9bf904d347cce67"><div class="ttname"><a href="fp4__FP512BN_8h.html#a0f46b3f4f84ce7e0e9bf904d347cce67">FP4_FP512BN_zero</a></div><div class="ttdeci">void FP4_FP512BN_zero(FP4_FP512BN *x)</div><div class="ttdoc">Set FP4 to zero.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:93</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a8eb2d3331714b15dd853741bc5ed891b"><div class="ttname"><a href="fp4__FP512BN_8h.html#a8eb2d3331714b15dd853741bc5ed891b">FP4_FP512BN_nconj</a></div><div class="ttdeci">void FP4_FP512BN_nconj(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Negative conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:133</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a6991205e8dc3ea3cf96232e418ebbe7e"><div class="ttname"><a href="fp4__FP512BN_8h.html#a6991205e8dc3ea3cf96232e418ebbe7e">FP4_FP512BN_one</a></div><div class="ttdeci">void FP4_FP512BN_one(FP4_FP512BN *x)</div><div class="ttdoc">Set FP4 to unity.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:101</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a842271a8acfb88d76bd380f94f11ef28"><div class="ttname"><a href="fp4__FP512BN_8h.html#a842271a8acfb88d76bd380f94f11ef28">FP4_FP512BN_reduce</a></div><div class="ttdeci">void FP4_FP512BN_reduce(FP4_FP512BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:158</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a17c85a954730bb105c835013feed9301"><div class="ttname"><a href="fp4__FP512BN_8h.html#a17c85a954730bb105c835013feed9301">FP4_FP512BN_cmove</a></div><div class="ttdeci">void FP4_FP512BN_cmove(FP4_FP512BN *x, FP4_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:577</div></div>
-<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a6e7f8e53d4fd9b50d38e34406be704eb"><div class="ttname"><a href="fp4__FP512BN_8h.html#a6e7f8e53d4fd9b50d38e34406be704eb">FP4_FP512BN_isunity</a></div><div class="ttdeci">int FP4_FP512BN_isunity(FP4_FP512BN *x)</div><div class="ttdoc">Tests for FP4 equal to unity.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:37</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a4f96e2e83333432e945cf0dd7c09d6df"><div class="ttname"><a href="fp4__FP512BN_8h.html#a4f96e2e83333432e945cf0dd7c09d6df">FP4_FP512BN_conj</a></div><div class="ttdeci">void FP4_FP512BN_conj(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Conjugation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:124</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a8f27ea24f45e96d6cac00b68eff1b08f"><div class="ttname"><a href="fp4__FP512BN_8h.html#a8f27ea24f45e96d6cac00b68eff1b08f">FP4_FP512BN_sqrt</a></div><div class="ttdeci">int FP4_FP512BN_sqrt(FP4_FP512BN *r, FP4_FP512BN *x)</div><div class="ttdoc">Calculate square root of an FP4.</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a1547e186db86b79552f24fa155328762"><div class="ttname"><a href="fp4__FP512BN_8h.html#a1547e186db86b79552f24fa155328762">FP4_FP512BN_equals</a></div><div class="ttdeci">int FP4_FP512BN_equals(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Tests for equality of two FP4s.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:51</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a1c479aaca4c807bc3e9c23b21926a860"><div class="ttname"><a href="fp4__FP512BN_8h.html#a1c479aaca4c807bc3e9c23b21926a860">FP4_FP512BN_inv</a></div><div class="ttdeci">void FP4_FP512BN_inv(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Inverting an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:279</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_abd0b618186ec3ff610cdf4f3c0a0ecb0"><div class="ttname"><a href="fp4__FP512BN_8h.html#abd0b618186ec3ff610cdf4f3c0a0ecb0">FP4_FP512BN_copy</a></div><div class="ttdeci">void FP4_FP512BN_copy(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Copy FP4 to another FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:84</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a1ba45e3a45e44fc0d557eab693f8f0c1"><div class="ttname"><a href="fp4__FP512BN_8h.html#a1ba45e3a45e44fc0d557eab693f8f0c1">FP4_FP512BN_from_FP2s</a></div><div class="ttdeci">void FP4_FP512BN_from_FP2s(FP4_FP512BN *x, FP2_FP512BN *a, FP2_FP512BN *b)</div><div class="ttdoc">Initialise FP4 from two FP2s.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:60</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a130f53f1160218c4dfca4edb4be888dd"><div class="ttname"><a href="fp4__FP512BN_8h.html#a130f53f1160218c4dfca4edb4be888dd">FP4_FP512BN_div_i</a></div><div class="ttdeci">void FP4_FP512BN_div_i(FP4_FP512BN *x)</div><div class="ttdoc">Divide FP4 number by QNR.</div></div>
-<div class="ttc" id="fp2__FP512BN_8h_html"><div class="ttname"><a href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a></div><div class="ttdoc">FP2 Header File.</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a668a798a3ef290d07c61a2476d512a7b"><div class="ttname"><a href="fp4__FP512BN_8h.html#a668a798a3ef290d07c61a2476d512a7b">FP4_FP512BN_neg</a></div><div class="ttdeci">void FP4_FP512BN_neg(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Negation of FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:109</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a9bf6e54ebdf4cf77ce498c0e01315bb8"><div class="ttname"><a href="fp4__FP512BN_8h.html#a9bf6e54ebdf4cf77ce498c0e01315bb8">FP4_FP512BN_iszilch</a></div><div class="ttdeci">int FP4_FP512BN_iszilch(FP4_FP512BN *x)</div><div class="ttdoc">Tests for FP4 equal to zero.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:29</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_af2ff06306e5afa6c0980b65de0befef9"><div class="ttname"><a href="fp4__FP512BN_8h.html#af2ff06306e5afa6c0980b65de0befef9">FP4_FP512BN_rawoutput</a></div><div class="ttdeci">void FP4_FP512BN_rawoutput(FP4_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging)</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:268</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a2d988a02e4dd570e48936448e9634bab"><div class="ttname"><a href="fp4__FP512BN_8h.html#a2d988a02e4dd570e48936448e9634bab">FP4_FP512BN_norm</a></div><div class="ttdeci">void FP4_FP512BN_norm(FP4_FP512BN *x)</div><div class="ttdoc">Normalises the components of an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:166</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a72b63df60bb1fc00522373999f1708c2"><div class="ttname"><a href="fp4__FP512BN_8h.html#a72b63df60bb1fc00522373999f1708c2">FP4_FP512BN_frob</a></div><div class="ttdeci">void FP4_FP512BN_frob(FP4_FP512BN *x, FP2_FP512BN *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:317</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_ae313d51df7f087720e248f7ed45cae58"><div class="ttname"><a href="fp4__FP512BN_8h.html#ae313d51df7f087720e248f7ed45cae58">FP4_FP512BN_xtr_A</a></div><div class="ttdeci">void FP4_FP512BN_xtr_A(FP4_FP512BN *r, FP4_FP512BN *w, FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:353</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_afbd984d611446c470bb72f51576dc7ee"><div class="ttname"><a href="fp4__FP512BN_8h.html#afbd984d611446c470bb72f51576dc7ee">FP4_FP512BN_div2</a></div><div class="ttdeci">void FP4_FP512BN_div2(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Divide an FP4 by 2.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:586</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a094efe0f530e6d824caea5e1175f71ff"><div class="ttname"><a href="fp4__FP512BN_8h.html#a094efe0f530e6d824caea5e1175f71ff">FP4_FP512BN_div_2i</a></div><div class="ttdeci">void FP4_FP512BN_div_2i(FP4_FP512BN *x)</div><div class="ttdoc">Divide an FP4 by QNR/2.</div></div>
-<div class="ttc" id="structFP4__FP512BN_html"><div class="ttname"><a href="structFP4__FP512BN.html">FP4_FP512BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.h:37</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a7b0a9d8ff1697840b3ece1bdf228f5c9"><div class="ttname"><a href="fp4__FP512BN_8h.html#a7b0a9d8ff1697840b3ece1bdf228f5c9">FP4_FP512BN_sqr</a></div><div class="ttdeci">void FP4_FP512BN_sqr(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Squaring an FP4.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:197</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_aa58001e923ceffe6ce9ae7a9cd3fb706"><div class="ttname"><a href="fp4__FP512BN_8h.html#aa58001e923ceffe6ce9ae7a9cd3fb706">FP4_FP512BN_pow</a></div><div class="ttdeci">void FP4_FP512BN_pow(FP4_FP512BN *x, FP4_FP512BN *y, BIG_512_60 b)</div><div class="ttdoc">Raises an FP4 to the power of a BIG. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:326</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_afb710c546a34d86968dd427806911893"><div class="ttname"><a href="fp4__FP512BN_8h.html#afb710c546a34d86968dd427806911893">FP4_FP512BN_xtr_pow2</a></div><div class="ttdeci">void FP4_FP512BN_xtr_pow2(FP4_FP512BN *r, FP4_FP512BN *c, FP4_FP512BN *d, FP4_FP512BN *e, FP4_FP512BN *f, BIG_512_60 a, BIG_512_60 b)</div><div class="ttdoc">Calculates FP4 trace of c^a.d^b, where c and d are derived from FP4 traces of FP12s. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:444</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a78a205ce8e9aba387ca26c21a5e0f607"><div class="ttname"><a href="fp4__FP512BN_8h.html#a78a205ce8e9aba387ca26c21a5e0f607">FP4_FP512BN_xtr_pow</a></div><div class="ttdeci">void FP4_FP512BN_xtr_pow(FP4_FP512BN *r, FP4_FP512BN *x, BIG_512_60 b)</div><div class="ttdoc">Calculates FP4 trace of an FP12 raised to the power of a BIG number. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:387</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a017e146ddde3dadaf352d0f76b1b6e5c"><div class="ttname"><a href="fp4__FP512BN_8h.html#a017e146ddde3dadaf352d0f76b1b6e5c">FP4_FP512BN_mul</a></div><div class="ttdeci">void FP4_FP512BN_mul(FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">Multiplication of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:228</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a0f46b3f4f84ce7e0e9bf904d347cce67"><div class="ttname"><a href="fp4__FP512BN_8h.html#a0f46b3f4f84ce7e0e9bf904d347cce67">FP4_FP512BN_zero</a></div><div class="ttdeci">void FP4_FP512BN_zero(FP4_FP512BN *x)</div><div class="ttdoc">Set FP4 to zero. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:93</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a8eb2d3331714b15dd853741bc5ed891b"><div class="ttname"><a href="fp4__FP512BN_8h.html#a8eb2d3331714b15dd853741bc5ed891b">FP4_FP512BN_nconj</a></div><div class="ttdeci">void FP4_FP512BN_nconj(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Negative conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:133</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a6991205e8dc3ea3cf96232e418ebbe7e"><div class="ttname"><a href="fp4__FP512BN_8h.html#a6991205e8dc3ea3cf96232e418ebbe7e">FP4_FP512BN_one</a></div><div class="ttdeci">void FP4_FP512BN_one(FP4_FP512BN *x)</div><div class="ttdoc">Set FP4 to unity. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:101</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a842271a8acfb88d76bd380f94f11ef28"><div class="ttname"><a href="fp4__FP512BN_8h.html#a842271a8acfb88d76bd380f94f11ef28">FP4_FP512BN_reduce</a></div><div class="ttdeci">void FP4_FP512BN_reduce(FP4_FP512BN *x)</div><div class="ttdoc">Reduces all components of possibly unreduced FP4 mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:158</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a17c85a954730bb105c835013feed9301"><div class="ttname"><a href="fp4__FP512BN_8h.html#a17c85a954730bb105c835013feed9301">FP4_FP512BN_cmove</a></div><div class="ttdeci">void FP4_FP512BN_cmove(FP4_FP512BN *x, FP4_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP4 number. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:577</div></div>
+<div class="ttc" id="structFP2__FP512BN_html"><div class="ttname"><a href="structFP2__FP512BN.html">FP2_FP512BN</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_FP512BN.h:36</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a6e7f8e53d4fd9b50d38e34406be704eb"><div class="ttname"><a href="fp4__FP512BN_8h.html#a6e7f8e53d4fd9b50d38e34406be704eb">FP4_FP512BN_isunity</a></div><div class="ttdeci">int FP4_FP512BN_isunity(FP4_FP512BN *x)</div><div class="ttdoc">Tests for FP4 equal to unity. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:37</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a4f96e2e83333432e945cf0dd7c09d6df"><div class="ttname"><a href="fp4__FP512BN_8h.html#a4f96e2e83333432e945cf0dd7c09d6df">FP4_FP512BN_conj</a></div><div class="ttdeci">void FP4_FP512BN_conj(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Conjugation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:124</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a8f27ea24f45e96d6cac00b68eff1b08f"><div class="ttname"><a href="fp4__FP512BN_8h.html#a8f27ea24f45e96d6cac00b68eff1b08f">FP4_FP512BN_sqrt</a></div><div class="ttdeci">int FP4_FP512BN_sqrt(FP4_FP512BN *r, FP4_FP512BN *x)</div><div class="ttdoc">Calculate square root of an FP4. </div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a1547e186db86b79552f24fa155328762"><div class="ttname"><a href="fp4__FP512BN_8h.html#a1547e186db86b79552f24fa155328762">FP4_FP512BN_equals</a></div><div class="ttdeci">int FP4_FP512BN_equals(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Tests for equality of two FP4s. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:51</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a1c479aaca4c807bc3e9c23b21926a860"><div class="ttname"><a href="fp4__FP512BN_8h.html#a1c479aaca4c807bc3e9c23b21926a860">FP4_FP512BN_inv</a></div><div class="ttdeci">void FP4_FP512BN_inv(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Inverting an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:279</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_abd0b618186ec3ff610cdf4f3c0a0ecb0"><div class="ttname"><a href="fp4__FP512BN_8h.html#abd0b618186ec3ff610cdf4f3c0a0ecb0">FP4_FP512BN_copy</a></div><div class="ttdeci">void FP4_FP512BN_copy(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Copy FP4 to another FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:84</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a1ba45e3a45e44fc0d557eab693f8f0c1"><div class="ttname"><a href="fp4__FP512BN_8h.html#a1ba45e3a45e44fc0d557eab693f8f0c1">FP4_FP512BN_from_FP2s</a></div><div class="ttdeci">void FP4_FP512BN_from_FP2s(FP4_FP512BN *x, FP2_FP512BN *a, FP2_FP512BN *b)</div><div class="ttdoc">Initialise FP4 from two FP2s. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:60</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a130f53f1160218c4dfca4edb4be888dd"><div class="ttname"><a href="fp4__FP512BN_8h.html#a130f53f1160218c4dfca4edb4be888dd">FP4_FP512BN_div_i</a></div><div class="ttdeci">void FP4_FP512BN_div_i(FP4_FP512BN *x)</div><div class="ttdoc">Divide FP4 number by QNR. </div></div>
+<div class="ttc" id="fp2__FP512BN_8h_html"><div class="ttname"><a href="fp2__FP512BN_8h.html">fp2_FP512BN.h</a></div><div class="ttdoc">FP2 Header File. </div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a668a798a3ef290d07c61a2476d512a7b"><div class="ttname"><a href="fp4__FP512BN_8h.html#a668a798a3ef290d07c61a2476d512a7b">FP4_FP512BN_neg</a></div><div class="ttdeci">void FP4_FP512BN_neg(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Negation of FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:109</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a9bf6e54ebdf4cf77ce498c0e01315bb8"><div class="ttname"><a href="fp4__FP512BN_8h.html#a9bf6e54ebdf4cf77ce498c0e01315bb8">FP4_FP512BN_iszilch</a></div><div class="ttdeci">int FP4_FP512BN_iszilch(FP4_FP512BN *x)</div><div class="ttdoc">Tests for FP4 equal to zero. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:29</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_af2ff06306e5afa6c0980b65de0befef9"><div class="ttname"><a href="fp4__FP512BN_8h.html#af2ff06306e5afa6c0980b65de0befef9">FP4_FP512BN_rawoutput</a></div><div class="ttdeci">void FP4_FP512BN_rawoutput(FP4_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console in raw form (for debugging) </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:268</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a2d988a02e4dd570e48936448e9634bab"><div class="ttname"><a href="fp4__FP512BN_8h.html#a2d988a02e4dd570e48936448e9634bab">FP4_FP512BN_norm</a></div><div class="ttdeci">void FP4_FP512BN_norm(FP4_FP512BN *x)</div><div class="ttdoc">Normalises the components of an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:166</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a72b63df60bb1fc00522373999f1708c2"><div class="ttname"><a href="fp4__FP512BN_8h.html#a72b63df60bb1fc00522373999f1708c2">FP4_FP512BN_frob</a></div><div class="ttdeci">void FP4_FP512BN_frob(FP4_FP512BN *x, FP2_FP512BN *f)</div><div class="ttdoc">Raises an FP4 to the power of the internal modulus p, using the Frobenius. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:317</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_ae313d51df7f087720e248f7ed45cae58"><div class="ttname"><a href="fp4__FP512BN_8h.html#ae313d51df7f087720e248f7ed45cae58">FP4_FP512BN_xtr_A</a></div><div class="ttdeci">void FP4_FP512BN_xtr_A(FP4_FP512BN *r, FP4_FP512BN *w, FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">Calculates the XTR addition function r=w*x-conj(x)*y+z. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:353</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_afbd984d611446c470bb72f51576dc7ee"><div class="ttname"><a href="fp4__FP512BN_8h.html#afbd984d611446c470bb72f51576dc7ee">FP4_FP512BN_div2</a></div><div class="ttdeci">void FP4_FP512BN_div2(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Divide an FP4 by 2. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:586</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a094efe0f530e6d824caea5e1175f71ff"><div class="ttname"><a href="fp4__FP512BN_8h.html#a094efe0f530e6d824caea5e1175f71ff">FP4_FP512BN_div_2i</a></div><div class="ttdeci">void FP4_FP512BN_div_2i(FP4_FP512BN *x)</div><div class="ttdoc">Divide an FP4 by QNR/2. </div></div>
+<div class="ttc" id="structFP4__FP512BN_html"><div class="ttname"><a href="structFP4__FP512BN.html">FP4_FP512BN</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.h:37</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a7b0a9d8ff1697840b3ece1bdf228f5c9"><div class="ttname"><a href="fp4__FP512BN_8h.html#a7b0a9d8ff1697840b3ece1bdf228f5c9">FP4_FP512BN_sqr</a></div><div class="ttdeci">void FP4_FP512BN_sqr(FP4_FP512BN *x, FP4_FP512BN *y)</div><div class="ttdoc">Squaring an FP4. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:197</div></div>
 <div class="ttc" id="structFP4__FP512BN_html_a9ed745b9be02391665e4fd43cd2a6665"><div class="ttname"><a href="structFP4__FP512BN.html#a9ed745b9be02391665e4fd43cd2a6665">FP4_FP512BN::b</a></div><div class="ttdeci">FP2_FP512BN b</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.h:40</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a2425241a9aff02d1a9e482760dcd6e9a"><div class="ttname"><a href="fp4__FP512BN_8h.html#a2425241a9aff02d1a9e482760dcd6e9a">FP4_FP512BN_output</a></div><div class="ttdeci">void FP4_FP512BN_output(FP4_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:258</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a5e3502fed7ff972b79f2aaa4f279eda4"><div class="ttname"><a href="fp4__FP512BN_8h.html#a5e3502fed7ff972b79f2aaa4f279eda4">FP4_FP512BN_sub</a></div><div class="ttdeci">void FP4_FP512BN_sub(FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">subtraction of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:150</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_abfd09dcead65f65ec0c182dd04a12e5d"><div class="ttname"><a href="fp4__FP512BN_8h.html#abfd09dcead65f65ec0c182dd04a12e5d">FP4_FP512BN_imul</a></div><div class="ttdeci">void FP4_FP512BN_imul(FP4_FP512BN *x, FP4_FP512BN *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:189</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_ae844274cce222eea5666b72fd437ed5e"><div class="ttname"><a href="fp4__FP512BN_8h.html#ae844274cce222eea5666b72fd437ed5e">FP4_FP512BN_pmul</a></div><div class="ttdeci">void FP4_FP512BN_pmul(FP4_FP512BN *x, FP4_FP512BN *y, FP2_FP512BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:174</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a131f3d69c4f02a3fd77552800312a9b0"><div class="ttname"><a href="fp4__FP512BN_8h.html#a131f3d69c4f02a3fd77552800312a9b0">FP4_FP512BN_isreal</a></div><div class="ttdeci">int FP4_FP512BN_isreal(FP4_FP512BN *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:44</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_ab64a6c0b8a22e61740dda8aa0b67a9bd"><div class="ttname"><a href="fp4__FP512BN_8h.html#ab64a6c0b8a22e61740dda8aa0b67a9bd">FP4_FP512BN_times_i</a></div><div class="ttdeci">void FP4_FP512BN_times_i(FP4_FP512BN *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1))</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:296</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a511999d4f1c5095d7218cfb6bed10836"><div class="ttname"><a href="fp4__FP512BN_8h.html#a511999d4f1c5095d7218cfb6bed10836">FP4_FP512BN_add</a></div><div class="ttdeci">void FP4_FP512BN_add(FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">addition of two FP4s</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:142</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a11a400fdbceac7932ecc5d151dc4b268"><div class="ttname"><a href="fp4__FP512BN_8h.html#a11a400fdbceac7932ecc5d151dc4b268">FP4_FP512BN_from_FP2</a></div><div class="ttdeci">void FP4_FP512BN_from_FP2(FP4_FP512BN *x, FP2_FP512BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:68</div></div>
-<div class="ttc" id="fp4__FP512BN_8h_html_a4321901ba6571f18f0bc34ee6034cf6a"><div class="ttname"><a href="fp4__FP512BN_8h.html#a4321901ba6571f18f0bc34ee6034cf6a">FP4_FP512BN_from_FP2H</a></div><div class="ttdeci">void FP4_FP512BN_from_FP2H(FP4_FP512BN *x, FP2_FP512BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2.</div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:76</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a2425241a9aff02d1a9e482760dcd6e9a"><div class="ttname"><a href="fp4__FP512BN_8h.html#a2425241a9aff02d1a9e482760dcd6e9a">FP4_FP512BN_output</a></div><div class="ttdeci">void FP4_FP512BN_output(FP4_FP512BN *x)</div><div class="ttdoc">Formats and outputs an FP4 to the console. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:258</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a5e3502fed7ff972b79f2aaa4f279eda4"><div class="ttname"><a href="fp4__FP512BN_8h.html#a5e3502fed7ff972b79f2aaa4f279eda4">FP4_FP512BN_sub</a></div><div class="ttdeci">void FP4_FP512BN_sub(FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">subtraction of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:150</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_abfd09dcead65f65ec0c182dd04a12e5d"><div class="ttname"><a href="fp4__FP512BN_8h.html#abfd09dcead65f65ec0c182dd04a12e5d">FP4_FP512BN_imul</a></div><div class="ttdeci">void FP4_FP512BN_imul(FP4_FP512BN *x, FP4_FP512BN *y, int i)</div><div class="ttdoc">Multiplication of an FP4 by a small integer. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:189</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_ae844274cce222eea5666b72fd437ed5e"><div class="ttname"><a href="fp4__FP512BN_8h.html#ae844274cce222eea5666b72fd437ed5e">FP4_FP512BN_pmul</a></div><div class="ttdeci">void FP4_FP512BN_pmul(FP4_FP512BN *x, FP4_FP512BN *y, FP2_FP512BN *a)</div><div class="ttdoc">Multiplication of an FP4 by an FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:174</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a131f3d69c4f02a3fd77552800312a9b0"><div class="ttname"><a href="fp4__FP512BN_8h.html#a131f3d69c4f02a3fd77552800312a9b0">FP4_FP512BN_isreal</a></div><div class="ttdeci">int FP4_FP512BN_isreal(FP4_FP512BN *x)</div><div class="ttdoc">Tests for FP4 having only a real part and no imaginary part. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:44</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_ab64a6c0b8a22e61740dda8aa0b67a9bd"><div class="ttname"><a href="fp4__FP512BN_8h.html#ab64a6c0b8a22e61740dda8aa0b67a9bd">FP4_FP512BN_times_i</a></div><div class="ttdeci">void FP4_FP512BN_times_i(FP4_FP512BN *x)</div><div class="ttdoc">multiplies an FP4 instance by irreducible polynomial sqrt(1+sqrt(-1)) </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:296</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a511999d4f1c5095d7218cfb6bed10836"><div class="ttname"><a href="fp4__FP512BN_8h.html#a511999d4f1c5095d7218cfb6bed10836">FP4_FP512BN_add</a></div><div class="ttdeci">void FP4_FP512BN_add(FP4_FP512BN *x, FP4_FP512BN *y, FP4_FP512BN *z)</div><div class="ttdoc">addition of two FP4s </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:142</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a11a400fdbceac7932ecc5d151dc4b268"><div class="ttname"><a href="fp4__FP512BN_8h.html#a11a400fdbceac7932ecc5d151dc4b268">FP4_FP512BN_from_FP2</a></div><div class="ttdeci">void FP4_FP512BN_from_FP2(FP4_FP512BN *x, FP2_FP512BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:68</div></div>
+<div class="ttc" id="fp4__FP512BN_8h_html_a4321901ba6571f18f0bc34ee6034cf6a"><div class="ttname"><a href="fp4__FP512BN_8h.html#a4321901ba6571f18f0bc34ee6034cf6a">FP4_FP512BN_from_FP2H</a></div><div class="ttdeci">void FP4_FP512BN_from_FP2H(FP4_FP512BN *x, FP2_FP512BN *a)</div><div class="ttdoc">Initialise FP4 from single FP2. </div><div class="ttdef"><b>Definition:</b> fp4_FP512BN.c:76</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/fp8__BLS24_8h_source.html b/website/static/cdocs/fp8__BLS24_8h_source.html
index cf9d9b3..62b5168 100644
--- a/website/static/cdocs/fp8__BLS24_8h_source.html
+++ b/website/static/cdocs/fp8__BLS24_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: fp8_BLS24.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"
@@ -70,19 +73,19 @@
 </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;<span class="preprocessor">#ifndef FP8_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define FP8_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="fp4__BLS24_8h.html">fp4_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS24.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structFP8__BLS24.html">   31</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFP8__BLS24.html#a7759a72d6fcf4282a4ede641b1e4eb5a">   33</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structFP8__BLS24.html#a7759a72d6fcf4282a4ede641b1e4eb5a">a</a>; </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structFP8__BLS24.html#ad36bcf58615a868a2dfc5453f6a64b43">   34</a></span>&#160;    <a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> <a class="code" href="structFP8__BLS24.html#ad36bcf58615a868a2dfc5453f6a64b43">b</a>; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;} <a class="code" href="structFP8__BLS24.html">FP8_BLS24</a>;</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;<span class="comment">/* FP8 prototypes */</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS24_iszilch(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS24_isunity(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS24_equals(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS24_isreal(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_from_FP4s(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *a,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *b);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_from_FP4(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *a);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_from_FP4H(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *a);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_copy(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_zero(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_one(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_neg(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_conj(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_nconj(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_add(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *z);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_sub(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *z);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_pmul(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="structFP4__BLS24.html">FP4_BLS24</a> *a);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</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> FP8_BLS24_qmul(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *a);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_tmul(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *a);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_imul(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_sqr(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_mul(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_inv(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_output(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_rawoutput(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_times_i(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_times_i2(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_norm(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_reduce(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_pow(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_frob(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP2__BLS24.html">FP2_BLS24</a> *f);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_xtr_A(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *r,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *w,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *z);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_xtr_D(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *r,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_xtr_pow(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *r,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_xtr_pow2(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *r,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *c,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *d,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *e,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *f,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> a,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  FP8_BLS24_sqrt(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *r,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_cmove(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x,<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_div_i(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_div_i2(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS24_div_2i(<a class="code" href="structFP8__BLS24.html">FP8_BLS24</a> *x);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="ttc" id="structFP8__BLS24_html_ad36bcf58615a868a2dfc5453f6a64b43"><div class="ttname"><a href="structFP8__BLS24.html#ad36bcf58615a868a2dfc5453f6a64b43">FP8_BLS24::b</a></div><div class="ttdeci">FP4_BLS24 b</div><div class="ttdef"><b>Definition:</b> fp8_BLS24.h:34</div></div>
-<div class="ttc" id="structFP8__BLS24_html"><div class="ttname"><a href="structFP8__BLS24.html">FP8_BLS24</a></div><div class="ttdoc">FP8 Structure - towered over two FP4.</div><div class="ttdef"><b>Definition:</b> fp8_BLS24.h:31</div></div>
-<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
-<div class="ttc" id="structFP4__BLS24_html"><div class="ttname"><a href="structFP4__BLS24.html">FP4_BLS24</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:37</div></div>
+<div class="ttc" id="structFP8__BLS24_html"><div class="ttname"><a href="structFP8__BLS24.html">FP8_BLS24</a></div><div class="ttdoc">FP8 Structure - towered over two FP4. </div><div class="ttdef"><b>Definition:</b> fp8_BLS24.h:31</div></div>
+<div class="ttc" id="structFP2__BLS24_html"><div class="ttname"><a href="structFP2__BLS24.html">FP2_BLS24</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS24.h:36</div></div>
+<div class="ttc" id="structFP4__BLS24_html"><div class="ttname"><a href="structFP4__BLS24.html">FP4_BLS24</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS24.h:37</div></div>
 <div class="ttc" id="structFP8__BLS24_html_a7759a72d6fcf4282a4ede641b1e4eb5a"><div class="ttname"><a href="structFP8__BLS24.html#a7759a72d6fcf4282a4ede641b1e4eb5a">FP8_BLS24::a</a></div><div class="ttdeci">FP4_BLS24 a</div><div class="ttdef"><b>Definition:</b> fp8_BLS24.h:33</div></div>
-<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
+<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
-<div class="ttc" id="fp4__BLS24_8h_html"><div class="ttname"><a href="fp4__BLS24_8h.html">fp4_BLS24.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
+<div class="ttc" id="fp4__BLS24_8h_html"><div class="ttname"><a href="fp4__BLS24_8h.html">fp4_BLS24.h</a></div><div class="ttdoc">FP4 Header File. </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/fp8__BLS48_8h_source.html b/website/static/cdocs/fp8__BLS48_8h_source.html
index f41b6b1..d645df5 100644
--- a/website/static/cdocs/fp8__BLS48_8h_source.html
+++ b/website/static/cdocs/fp8__BLS48_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: fp8_BLS48.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"
@@ -70,19 +73,19 @@
 </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;<span class="preprocessor">#ifndef FP8_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define FP8_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="fp4__BLS48_8h.html">fp4_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;config_curve_BLS48.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structFP8__BLS48.html">   31</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structFP8__BLS48.html#a7c24a2c52694fbcb9f97636f7b186c1f">   33</a></span>&#160;    <a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> <a class="code" href="structFP8__BLS48.html#a7c24a2c52694fbcb9f97636f7b186c1f">a</a>; </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structFP8__BLS48.html#a5c87a7f52f7b34ec5b82cce60c49ad79">   34</a></span>&#160;    <a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> <a class="code" href="structFP8__BLS48.html#a5c87a7f52f7b34ec5b82cce60c49ad79">b</a>; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;} <a class="code" href="structFP8__BLS48.html">FP8_BLS48</a>;</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;<span class="comment">/* FP8 prototypes */</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS48_iszilch(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS48_isunity(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS48_equals(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> FP8_BLS48_isreal(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_from_FP4s(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *a,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *b);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_from_FP4(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *a);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_from_FP4H(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *a);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_copy(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_zero(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_one(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_neg(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_conj(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_nconj(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_add(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *z);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_sub(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *z);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_pmul(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structFP4__BLS48.html">FP4_BLS48</a> *a);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</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> FP8_BLS48_qmul(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *a);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_tmul(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *a);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_imul(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_sqr(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_mul(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_inv(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y);</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_output(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_rawoutput(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_times_i(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_times_i2(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_norm(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_reduce(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_pow(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_frob(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP2__BLS48.html">FP2_BLS48</a> *f);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_xtr_A(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *r,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *w,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *z);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_xtr_D(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *r,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_xtr_pow(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *r,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_xtr_pow2(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *r,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *c,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *d,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *e,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *f,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> a,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  FP8_BLS48_sqrt(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *r,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_cmove(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x,<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *y,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_div_i(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_div_i2(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP8_BLS48_div_2i(<a class="code" href="structFP8__BLS48.html">FP8_BLS48</a> *x);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="ttc" id="structFP8__BLS48_html_a5c87a7f52f7b34ec5b82cce60c49ad79"><div class="ttname"><a href="structFP8__BLS48.html#a5c87a7f52f7b34ec5b82cce60c49ad79">FP8_BLS48::b</a></div><div class="ttdeci">FP4_BLS48 b</div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:34</div></div>
-<div class="ttc" id="structFP8__BLS48_html"><div class="ttname"><a href="structFP8__BLS48.html">FP8_BLS48</a></div><div class="ttdoc">FP8 Structure - towered over two FP4.</div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:31</div></div>
-<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
+<div class="ttc" id="structFP8__BLS48_html"><div class="ttname"><a href="structFP8__BLS48.html">FP8_BLS48</a></div><div class="ttdoc">FP8 Structure - towered over two FP4. </div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:31</div></div>
+<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
 <div class="ttc" id="structFP8__BLS48_html_a7c24a2c52694fbcb9f97636f7b186c1f"><div class="ttname"><a href="structFP8__BLS48.html#a7c24a2c52694fbcb9f97636f7b186c1f">FP8_BLS48::a</a></div><div class="ttdeci">FP4_BLS48 a</div><div class="ttdef"><b>Definition:</b> fp8_BLS48.h:33</div></div>
-<div class="ttc" id="structFP4__BLS48_html"><div class="ttname"><a href="structFP4__BLS48.html">FP4_BLS48</a></div><div class="ttdoc">FP4 Structure - towered over two FP2.</div><div class="ttdef"><b>Definition:</b> fp4_BLS48.h:37</div></div>
-<div class="ttc" id="fp4__BLS48_8h_html"><div class="ttname"><a href="fp4__BLS48_8h.html">fp4_BLS48.h</a></div><div class="ttdoc">FP4 Header File.</div></div>
-<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
+<div class="ttc" id="structFP4__BLS48_html"><div class="ttname"><a href="structFP4__BLS48.html">FP4_BLS48</a></div><div class="ttdoc">FP4 Structure - towered over two FP2. </div><div class="ttdef"><b>Definition:</b> fp4_BLS48.h:37</div></div>
+<div class="ttc" id="fp4__BLS48_8h_html"><div class="ttname"><a href="fp4__BLS48_8h.html">fp4_BLS48.h</a></div><div class="ttdoc">FP4 Header File. </div></div>
+<div class="ttc" id="structFP2__BLS48_html"><div class="ttname"><a href="structFP2__BLS48.html">FP2_BLS48</a></div><div class="ttdoc">FP2 Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp2_BLS48.h:36</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</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/fp__25519_8h.html b/website/static/cdocs/fp__25519_8h.html
index a2c9500..32f10e1 100644
--- a/website/static/cdocs/fp__25519_8h.html
+++ b/website/static/cdocs/fp__25519_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: fp_25519.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"
@@ -1195,7 +1198,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/fp__25519_8h_source.html b/website/static/cdocs/fp__25519_8h_source.html
index f7cb4b3..fbe8aea 100644
--- a/website/static/cdocs/fp__25519_8h_source.html
+++ b/website/static/cdocs/fp__25519_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: fp_25519.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,49 +72,49 @@
 <div class="title">fp_25519.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__25519_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 FP_25519_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_25519_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_25519.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__25519.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__25519.html#a32ef8da0348c0aebe92f39d33fcae4aa">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__25519.html#a32ef8da0348c0aebe92f39d33fcae4aa">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__25519.html">FP_25519</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__25519_8h.html#a8f81c1436abf0b1161c4ba430809f395">Modulus_25519</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__25519_8h.html#a9d97ca1a17e5920ab2efb098ee342f17">R2modp_25519</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__25519_8h.html#aa4a14a4c054d1395ea509cef8d428ca5">MConst_25519</a>;                </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a452969667be82e1a815b4cd251db0e76">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_25519 MBITS_25519                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a48f7d65922ac80fe246e76302435184c">   52</a></span>&#160;<span class="preprocessor">#define TBITS_25519 (MBITS_25519%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a7329ad862ecbcbb9c732c6a676970ffc">   53</a></span>&#160;<span class="preprocessor">#define TMASK_25519 (((chunk)1&lt;&lt;TBITS_25519)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a2adfb0aa5ff3e92c1b3688161ddda97c">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_25519 (((sign32)1&lt;&lt;MAXXES_25519)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a703f025fcc6bb807354f7c120cd6f9d7">   55</a></span>&#160;<span class="preprocessor">#define OMASK_25519 (-((chunk)(1)&lt;&lt;TBITS_25519))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__25519_8h.html#a88a84eeba391238e409ad8952f19cf29">FP_25519_iszilch</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a859b0d7e999a6c005b7eb8803bf025be">FP_25519_zero</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a332807b190750cc0c048139be648dd00">FP_25519_copy</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a2b70f3bf31eac599d76f0f6d09cb0554">FP_25519_rcopy</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__25519_8h.html#a90367a7310d9bb6a331c09547cbc79ea">FP_25519_equals</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__25519_8h.html#a0cdea98a79cdededdef9c695676ad409">FP_25519_cswap</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</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="fp__25519_8h.html#a48fe8fed0db969154f007ac06b224040">FP_25519_cmove</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</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="fp__25519_8h.html#ad092bf6340205344bef3cff30370a971">FP_25519_nres</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__25519_8h.html#ac68e7a0f626cebc3dc5b42c7a3c11efd">FP_25519_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#aa5baf5135cf32b7dede5973ac942a83f">FP_25519_one</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a38d92ebb352e09527365cae8da292622">FP_25519_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_25519_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__25519_8h.html#a892288d5608a948c42dd1d0f9ddb04d7">FP_25519_mul</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *z);</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="fp__25519_8h.html#a0e60eb21b73d71b6a0a1678ae8dd41e7">FP_25519_imul</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a1a7c14f4448eb6717ddb7630265f512e">FP_25519_sqr</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a16f4dc3beb64875c00da9f5c7801978c">FP_25519_add</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a1a6a04081a23c69b3ca5e1dfd2eab181">FP_25519_sub</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#aea4b4d38957ae546c601026e8960b985">FP_25519_div2</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a28a61287e94b28d4813e5a48543bd131">FP_25519_pow</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#af8b5743e2dd8bdb5d5c2691413fbffd0">FP_25519_sqrt</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a80eee91e4d085d9b3d13039afe226cd9">FP_25519_neg</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#ad54385935ec46881ee778e311d1683e7">FP_25519_output</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#ac3690e6b0b4564dc28b880fdc7e5e217">FP_25519_rawoutput</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#af7a847c5f88b35a52fdc4c15b0e045ee">FP_25519_reduce</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a47d95f8ca67a01e1573756f1119cedf0">FP_25519_norm</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__25519_8h.html#adaca445563c815d9c0cb0901a55f2a19">FP_25519_qr</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#abbc0bf7b676ed46592e8f342ccfa55cc">FP_25519_inv</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__25519_8h_html_aea4b4d38957ae546c601026e8960b985"><div class="ttname"><a href="fp__25519_8h.html#aea4b4d38957ae546c601026e8960b985">FP_25519_div2</a></div><div class="ttdeci">void FP_25519_div2(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:515</div></div>
-<div class="ttc" id="fp__25519_8h_html_a892288d5608a948c42dd1d0f9ddb04d7"><div class="ttname"><a href="fp__25519_8h.html#a892288d5608a948c42dd1d0f9ddb04d7">FP_25519_mul</a></div><div class="ttdeci">void FP_25519_mul(FP_25519 *x, FP_25519 *y, FP_25519 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:297</div></div>
-<div class="ttc" id="fp__25519_8h_html_a48fe8fed0db969154f007ac06b224040"><div class="ttname"><a href="fp__25519_8h.html#a48fe8fed0db969154f007ac06b224040">FP_25519_cmove</a></div><div class="ttdeci">void FP_25519_cmove(FP_25519 *x, FP_25519 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:243</div></div>
-<div class="ttc" id="fp__25519_8h_html_a16f4dc3beb64875c00da9f5c7801978c"><div class="ttname"><a href="fp__25519_8h.html#a16f4dc3beb64875c00da9f5c7801978c">FP_25519_add</a></div><div class="ttdeci">void FP_25519_add(FP_25519 *x, FP_25519 *y, FP_25519 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:385</div></div>
-<div class="ttc" id="fp__25519_8h_html_a38d92ebb352e09527365cae8da292622"><div class="ttname"><a href="fp__25519_8h.html#a38d92ebb352e09527365cae8da292622">FP_25519_mod</a></div><div class="ttdeci">void FP_25519_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:103</div></div>
-<div class="ttc" id="fp__25519_8h_html_ac68e7a0f626cebc3dc5b42c7a3c11efd"><div class="ttname"><a href="fp__25519_8h.html#ac68e7a0f626cebc3dc5b42c7a3c11efd">FP_25519_redc</a></div><div class="ttdeci">void FP_25519_redc(BIG_256_56 x, FP_25519 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:97</div></div>
-<div class="ttc" id="fp__25519_8h_html_a0cdea98a79cdededdef9c695676ad409"><div class="ttname"><a href="fp__25519_8h.html#a0cdea98a79cdededdef9c695676ad409">FP_25519_cswap</a></div><div class="ttdeci">void FP_25519_cswap(FP_25519 *x, FP_25519 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:230</div></div>
-<div class="ttc" id="fp__25519_8h_html_aa5baf5135cf32b7dede5973ac942a83f"><div class="ttname"><a href="fp__25519_8h.html#aa5baf5135cf32b7dede5973ac942a83f">FP_25519_one</a></div><div class="ttdeci">void FP_25519_one(FP_25519 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:723</div></div>
-<div class="ttc" id="fp__25519_8h_html_a2b70f3bf31eac599d76f0f6d09cb0554"><div class="ttname"><a href="fp__25519_8h.html#a2b70f3bf31eac599d76f0f6d09cb0554">FP_25519_rcopy</a></div><div class="ttdeci">void FP_25519_rcopy(FP_25519 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:222</div></div>
-<div class="ttc" id="fp__25519_8h_html_a80eee91e4d085d9b3d13039afe226cd9"><div class="ttname"><a href="fp__25519_8h.html#a80eee91e4d085d9b3d13039afe226cd9">FP_25519_neg</a></div><div class="ttdeci">void FP_25519_neg(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:491</div></div>
+<a href="fp__25519_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 FP_25519_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_25519_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_25519.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__25519.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__25519.html#a32ef8da0348c0aebe92f39d33fcae4aa">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__25519.html#a32ef8da0348c0aebe92f39d33fcae4aa">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__25519.html">FP_25519</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__25519_8h.html#a8f81c1436abf0b1161c4ba430809f395">Modulus_25519</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__25519_8h.html#a9d97ca1a17e5920ab2efb098ee342f17">R2modp_25519</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__25519_8h.html#aa4a14a4c054d1395ea509cef8d428ca5">MConst_25519</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a452969667be82e1a815b4cd251db0e76">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_25519 MBITS_25519                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a48f7d65922ac80fe246e76302435184c">   52</a></span>&#160;<span class="preprocessor">#define TBITS_25519 (MBITS_25519%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a7329ad862ecbcbb9c732c6a676970ffc">   53</a></span>&#160;<span class="preprocessor">#define TMASK_25519 (((chunk)1&lt;&lt;TBITS_25519)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a2adfb0aa5ff3e92c1b3688161ddda97c">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_25519 (((sign32)1&lt;&lt;MAXXES_25519)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__25519_8h.html#a703f025fcc6bb807354f7c120cd6f9d7">   55</a></span>&#160;<span class="preprocessor">#define OMASK_25519 (-((chunk)(1)&lt;&lt;TBITS_25519))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__25519_8h.html#a88a84eeba391238e409ad8952f19cf29">FP_25519_iszilch</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a859b0d7e999a6c005b7eb8803bf025be">FP_25519_zero</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a332807b190750cc0c048139be648dd00">FP_25519_copy</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a2b70f3bf31eac599d76f0f6d09cb0554">FP_25519_rcopy</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__25519_8h.html#a90367a7310d9bb6a331c09547cbc79ea">FP_25519_equals</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__25519_8h.html#a0cdea98a79cdededdef9c695676ad409">FP_25519_cswap</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</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="fp__25519_8h.html#a48fe8fed0db969154f007ac06b224040">FP_25519_cmove</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</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="fp__25519_8h.html#ad092bf6340205344bef3cff30370a971">FP_25519_nres</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__25519_8h.html#ac68e7a0f626cebc3dc5b42c7a3c11efd">FP_25519_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#aa5baf5135cf32b7dede5973ac942a83f">FP_25519_one</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a38d92ebb352e09527365cae8da292622">FP_25519_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_25519_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__25519_8h.html#a892288d5608a948c42dd1d0f9ddb04d7">FP_25519_mul</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *z);</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="fp__25519_8h.html#a0e60eb21b73d71b6a0a1678ae8dd41e7">FP_25519_imul</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a1a7c14f4448eb6717ddb7630265f512e">FP_25519_sqr</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a16f4dc3beb64875c00da9f5c7801978c">FP_25519_add</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a1a6a04081a23c69b3ca5e1dfd2eab181">FP_25519_sub</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="structFP__25519.html">FP_25519</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#aea4b4d38957ae546c601026e8960b985">FP_25519_div2</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a28a61287e94b28d4813e5a48543bd131">FP_25519_pow</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#af8b5743e2dd8bdb5d5c2691413fbffd0">FP_25519_sqrt</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a80eee91e4d085d9b3d13039afe226cd9">FP_25519_neg</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#ad54385935ec46881ee778e311d1683e7">FP_25519_output</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#ac3690e6b0b4564dc28b880fdc7e5e217">FP_25519_rawoutput</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#af7a847c5f88b35a52fdc4c15b0e045ee">FP_25519_reduce</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#a47d95f8ca67a01e1573756f1119cedf0">FP_25519_norm</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__25519_8h.html#adaca445563c815d9c0cb0901a55f2a19">FP_25519_qr</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__25519_8h.html#abbc0bf7b676ed46592e8f342ccfa55cc">FP_25519_inv</a>(<a class="code" href="structFP__25519.html">FP_25519</a> *x,<a class="code" href="structFP__25519.html">FP_25519</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__25519_8h_html_aea4b4d38957ae546c601026e8960b985"><div class="ttname"><a href="fp__25519_8h.html#aea4b4d38957ae546c601026e8960b985">FP_25519_div2</a></div><div class="ttdeci">void FP_25519_div2(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:515</div></div>
+<div class="ttc" id="fp__25519_8h_html_a892288d5608a948c42dd1d0f9ddb04d7"><div class="ttname"><a href="fp__25519_8h.html#a892288d5608a948c42dd1d0f9ddb04d7">FP_25519_mul</a></div><div class="ttdeci">void FP_25519_mul(FP_25519 *x, FP_25519 *y, FP_25519 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:297</div></div>
+<div class="ttc" id="fp__25519_8h_html_a48fe8fed0db969154f007ac06b224040"><div class="ttname"><a href="fp__25519_8h.html#a48fe8fed0db969154f007ac06b224040">FP_25519_cmove</a></div><div class="ttdeci">void FP_25519_cmove(FP_25519 *x, FP_25519 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:243</div></div>
+<div class="ttc" id="fp__25519_8h_html_a16f4dc3beb64875c00da9f5c7801978c"><div class="ttname"><a href="fp__25519_8h.html#a16f4dc3beb64875c00da9f5c7801978c">FP_25519_add</a></div><div class="ttdeci">void FP_25519_add(FP_25519 *x, FP_25519 *y, FP_25519 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:385</div></div>
+<div class="ttc" id="fp__25519_8h_html_a38d92ebb352e09527365cae8da292622"><div class="ttname"><a href="fp__25519_8h.html#a38d92ebb352e09527365cae8da292622">FP_25519_mod</a></div><div class="ttdeci">void FP_25519_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:103</div></div>
+<div class="ttc" id="fp__25519_8h_html_ac68e7a0f626cebc3dc5b42c7a3c11efd"><div class="ttname"><a href="fp__25519_8h.html#ac68e7a0f626cebc3dc5b42c7a3c11efd">FP_25519_redc</a></div><div class="ttdeci">void FP_25519_redc(BIG_256_56 x, FP_25519 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:97</div></div>
+<div class="ttc" id="fp__25519_8h_html_a0cdea98a79cdededdef9c695676ad409"><div class="ttname"><a href="fp__25519_8h.html#a0cdea98a79cdededdef9c695676ad409">FP_25519_cswap</a></div><div class="ttdeci">void FP_25519_cswap(FP_25519 *x, FP_25519 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:230</div></div>
+<div class="ttc" id="fp__25519_8h_html_aa5baf5135cf32b7dede5973ac942a83f"><div class="ttname"><a href="fp__25519_8h.html#aa5baf5135cf32b7dede5973ac942a83f">FP_25519_one</a></div><div class="ttdeci">void FP_25519_one(FP_25519 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:723</div></div>
+<div class="ttc" id="fp__25519_8h_html_a2b70f3bf31eac599d76f0f6d09cb0554"><div class="ttname"><a href="fp__25519_8h.html#a2b70f3bf31eac599d76f0f6d09cb0554">FP_25519_rcopy</a></div><div class="ttdeci">void FP_25519_rcopy(FP_25519 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:222</div></div>
+<div class="ttc" id="fp__25519_8h_html_a80eee91e4d085d9b3d13039afe226cd9"><div class="ttname"><a href="fp__25519_8h.html#a80eee91e4d085d9b3d13039afe226cd9">FP_25519_neg</a></div><div class="ttdeci">void FP_25519_neg(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:491</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
 <div class="ttc" id="structFP__25519_html_a8e71ac02a5868bd389dc1aa9364656f1"><div class="ttname"><a href="structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1">FP_25519::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_25519.h:40</div></div>
-<div class="ttc" id="fp__25519_8h_html_ac3690e6b0b4564dc28b880fdc7e5e217"><div class="ttname"><a href="fp__25519_8h.html#ac3690e6b0b4564dc28b880fdc7e5e217">FP_25519_rawoutput</a></div><div class="ttdeci">void FP_25519_rawoutput(FP_25519 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:277</div></div>
+<div class="ttc" id="fp__25519_8h_html_ac3690e6b0b4564dc28b880fdc7e5e217"><div class="ttname"><a href="fp__25519_8h.html#ac3690e6b0b4564dc28b880fdc7e5e217">FP_25519_rawoutput</a></div><div class="ttdeci">void FP_25519_rawoutput(FP_25519 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:277</div></div>
 <div class="ttc" id="structFP__25519_html_a32ef8da0348c0aebe92f39d33fcae4aa"><div class="ttname"><a href="structFP__25519.html#a32ef8da0348c0aebe92f39d33fcae4aa">FP_25519::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_25519.h:41</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="fp__25519_8h_html_aa4a14a4c054d1395ea509cef8d428ca5"><div class="ttname"><a href="fp__25519_8h.html#aa4a14a4c054d1395ea509cef8d428ca5">MConst_25519</a></div><div class="ttdeci">const chunk MConst_25519</div></div>
-<div class="ttc" id="fp__25519_8h_html_adaca445563c815d9c0cb0901a55f2a19"><div class="ttname"><a href="fp__25519_8h.html#adaca445563c815d9c0cb0901a55f2a19">FP_25519_qr</a></div><div class="ttdeci">int FP_25519_qr(FP_25519 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:731</div></div>
-<div class="ttc" id="fp__25519_8h_html_a1a7c14f4448eb6717ddb7630265f512e"><div class="ttname"><a href="fp__25519_8h.html#a1a7c14f4448eb6717ddb7630265f512e">FP_25519_sqr</a></div><div class="ttdeci">void FP_25519_sqr(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:366</div></div>
-<div class="ttc" id="fp__25519_8h_html_a47d95f8ca67a01e1573756f1119cedf0"><div class="ttname"><a href="fp__25519_8h.html#a47d95f8ca67a01e1573756f1119cedf0">FP_25519_norm</a></div><div class="ttdeci">void FP_25519_norm(FP_25519 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_25519.c:484</div></div>
-<div class="ttc" id="fp__25519_8h_html_ad092bf6340205344bef3cff30370a971"><div class="ttname"><a href="fp__25519_8h.html#ad092bf6340205344bef3cff30370a971">FP_25519_nres</a></div><div class="ttdeci">void FP_25519_nres(FP_25519 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:90</div></div>
-<div class="ttc" id="fp__25519_8h_html_a28a61287e94b28d4813e5a48543bd131"><div class="ttname"><a href="fp__25519_8h.html#a28a61287e94b28d4813e5a48543bd131">FP_25519_pow</a></div><div class="ttdeci">void FP_25519_pow(FP_25519 *x, FP_25519 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__25519_8h_html_ad54385935ec46881ee778e311d1683e7"><div class="ttname"><a href="fp__25519_8h.html#ad54385935ec46881ee778e311d1683e7">FP_25519_output</a></div><div class="ttdeci">void FP_25519_output(FP_25519 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:270</div></div>
+<div class="ttc" id="fp__25519_8h_html_adaca445563c815d9c0cb0901a55f2a19"><div class="ttname"><a href="fp__25519_8h.html#adaca445563c815d9c0cb0901a55f2a19">FP_25519_qr</a></div><div class="ttdeci">int FP_25519_qr(FP_25519 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:731</div></div>
+<div class="ttc" id="fp__25519_8h_html_a1a7c14f4448eb6717ddb7630265f512e"><div class="ttname"><a href="fp__25519_8h.html#a1a7c14f4448eb6717ddb7630265f512e">FP_25519_sqr</a></div><div class="ttdeci">void FP_25519_sqr(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:366</div></div>
+<div class="ttc" id="fp__25519_8h_html_a47d95f8ca67a01e1573756f1119cedf0"><div class="ttname"><a href="fp__25519_8h.html#a47d95f8ca67a01e1573756f1119cedf0">FP_25519_norm</a></div><div class="ttdeci">void FP_25519_norm(FP_25519 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_25519.c:484</div></div>
+<div class="ttc" id="fp__25519_8h_html_ad092bf6340205344bef3cff30370a971"><div class="ttname"><a href="fp__25519_8h.html#ad092bf6340205344bef3cff30370a971">FP_25519_nres</a></div><div class="ttdeci">void FP_25519_nres(FP_25519 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:90</div></div>
+<div class="ttc" id="fp__25519_8h_html_a28a61287e94b28d4813e5a48543bd131"><div class="ttname"><a href="fp__25519_8h.html#a28a61287e94b28d4813e5a48543bd131">FP_25519_pow</a></div><div class="ttdeci">void FP_25519_pow(FP_25519 *x, FP_25519 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__25519_8h_html_ad54385935ec46881ee778e311d1683e7"><div class="ttname"><a href="fp__25519_8h.html#ad54385935ec46881ee778e311d1683e7">FP_25519_output</a></div><div class="ttdeci">void FP_25519_output(FP_25519 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:270</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__25519_8h_html_a0e60eb21b73d71b6a0a1678ae8dd41e7"><div class="ttname"><a href="fp__25519_8h.html#a0e60eb21b73d71b6a0a1678ae8dd41e7">FP_25519_imul</a></div><div class="ttdeci">void FP_25519_imul(FP_25519 *x, FP_25519 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:321</div></div>
-<div class="ttc" id="fp__25519_8h_html_a88a84eeba391238e409ad8952f19cf29"><div class="ttname"><a href="fp__25519_8h.html#a88a84eeba391238e409ad8952f19cf29">FP_25519_iszilch</a></div><div class="ttdeci">int FP_25519_iszilch(FP_25519 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:207</div></div>
-<div class="ttc" id="fp__25519_8h_html_af8b5743e2dd8bdb5d5c2691413fbffd0"><div class="ttname"><a href="fp__25519_8h.html#af8b5743e2dd8bdb5d5c2691413fbffd0">FP_25519_sqrt</a></div><div class="ttdeci">void FP_25519_sqrt(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:747</div></div>
-<div class="ttc" id="structFP__25519_html"><div class="ttname"><a href="structFP__25519.html">FP_25519</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_25519.h:38</div></div>
+<div class="ttc" id="fp__25519_8h_html_a0e60eb21b73d71b6a0a1678ae8dd41e7"><div class="ttname"><a href="fp__25519_8h.html#a0e60eb21b73d71b6a0a1678ae8dd41e7">FP_25519_imul</a></div><div class="ttdeci">void FP_25519_imul(FP_25519 *x, FP_25519 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:321</div></div>
+<div class="ttc" id="fp__25519_8h_html_a88a84eeba391238e409ad8952f19cf29"><div class="ttname"><a href="fp__25519_8h.html#a88a84eeba391238e409ad8952f19cf29">FP_25519_iszilch</a></div><div class="ttdeci">int FP_25519_iszilch(FP_25519 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:207</div></div>
+<div class="ttc" id="fp__25519_8h_html_af8b5743e2dd8bdb5d5c2691413fbffd0"><div class="ttname"><a href="fp__25519_8h.html#af8b5743e2dd8bdb5d5c2691413fbffd0">FP_25519_sqrt</a></div><div class="ttdeci">void FP_25519_sqrt(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:747</div></div>
+<div class="ttc" id="structFP__25519_html"><div class="ttname"><a href="structFP__25519.html">FP_25519</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_25519.h:38</div></div>
 <div class="ttc" id="fp__25519_8h_html_a9d97ca1a17e5920ab2efb098ee342f17"><div class="ttname"><a href="fp__25519_8h.html#a9d97ca1a17e5920ab2efb098ee342f17">R2modp_25519</a></div><div class="ttdeci">const BIG_256_56 R2modp_25519</div></div>
-<div class="ttc" id="fp__25519_8h_html_a90367a7310d9bb6a331c09547cbc79ea"><div class="ttname"><a href="fp__25519_8h.html#a90367a7310d9bb6a331c09547cbc79ea">FP_25519_equals</a></div><div class="ttdeci">int FP_25519_equals(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:257</div></div>
+<div class="ttc" id="fp__25519_8h_html_a90367a7310d9bb6a331c09547cbc79ea"><div class="ttname"><a href="fp__25519_8h.html#a90367a7310d9bb6a331c09547cbc79ea">FP_25519_equals</a></div><div class="ttdeci">int FP_25519_equals(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:257</div></div>
 <div class="ttc" id="fp__25519_8h_html_a8f81c1436abf0b1161c4ba430809f395"><div class="ttname"><a href="fp__25519_8h.html#a8f81c1436abf0b1161c4ba430809f395">Modulus_25519</a></div><div class="ttdeci">const BIG_256_56 Modulus_25519</div></div>
-<div class="ttc" id="fp__25519_8h_html_a1a6a04081a23c69b3ca5e1dfd2eab181"><div class="ttname"><a href="fp__25519_8h.html#a1a6a04081a23c69b3ca5e1dfd2eab181">FP_25519_sub</a></div><div class="ttdeci">void FP_25519_sub(FP_25519 *x, FP_25519 *y, FP_25519 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:400</div></div>
-<div class="ttc" id="fp__25519_8h_html_af7a847c5f88b35a52fdc4c15b0e045ee"><div class="ttname"><a href="fp__25519_8h.html#af7a847c5f88b35a52fdc4c15b0e045ee">FP_25519_reduce</a></div><div class="ttdeci">void FP_25519_reduce(FP_25519 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:449</div></div>
+<div class="ttc" id="fp__25519_8h_html_a1a6a04081a23c69b3ca5e1dfd2eab181"><div class="ttname"><a href="fp__25519_8h.html#a1a6a04081a23c69b3ca5e1dfd2eab181">FP_25519_sub</a></div><div class="ttdeci">void FP_25519_sub(FP_25519 *x, FP_25519 *y, FP_25519 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:400</div></div>
+<div class="ttc" id="fp__25519_8h_html_af7a847c5f88b35a52fdc4c15b0e045ee"><div class="ttname"><a href="fp__25519_8h.html#af7a847c5f88b35a52fdc4c15b0e045ee">FP_25519_reduce</a></div><div class="ttdeci">void FP_25519_reduce(FP_25519 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:449</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</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="fp__25519_8h_html_a859b0d7e999a6c005b7eb8803bf025be"><div class="ttname"><a href="fp__25519_8h.html#a859b0d7e999a6c005b7eb8803bf025be">FP_25519_zero</a></div><div class="ttdeci">void FP_25519_zero(FP_25519 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:251</div></div>
-<div class="ttc" id="fp__25519_8h_html_a332807b190750cc0c048139be648dd00"><div class="ttname"><a href="fp__25519_8h.html#a332807b190750cc0c048139be648dd00">FP_25519_copy</a></div><div class="ttdeci">void FP_25519_copy(FP_25519 *y, FP_25519 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:216</div></div>
-<div class="ttc" id="fp__25519_8h_html_abbc0bf7b676ed46592e8f342ccfa55cc"><div class="ttname"><a href="fp__25519_8h.html#abbc0bf7b676ed46592e8f342ccfa55cc">FP_25519_inv</a></div><div class="ttdeci">void FP_25519_inv(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_25519.c:648</div></div>
+<div class="ttc" id="fp__25519_8h_html_a859b0d7e999a6c005b7eb8803bf025be"><div class="ttname"><a href="fp__25519_8h.html#a859b0d7e999a6c005b7eb8803bf025be">FP_25519_zero</a></div><div class="ttdeci">void FP_25519_zero(FP_25519 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:251</div></div>
+<div class="ttc" id="fp__25519_8h_html_a332807b190750cc0c048139be648dd00"><div class="ttname"><a href="fp__25519_8h.html#a332807b190750cc0c048139be648dd00">FP_25519_copy</a></div><div class="ttdeci">void FP_25519_copy(FP_25519 *y, FP_25519 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:216</div></div>
+<div class="ttc" id="fp__25519_8h_html_abbc0bf7b676ed46592e8f342ccfa55cc"><div class="ttname"><a href="fp__25519_8h.html#abbc0bf7b676ed46592e8f342ccfa55cc">FP_25519_inv</a></div><div class="ttdeci">void FP_25519_inv(FP_25519 *x, FP_25519 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_25519.c:648</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/fp__256PME_8h.html b/website/static/cdocs/fp__256PME_8h.html
index 3f0203c..da3cb86 100644
--- a/website/static/cdocs/fp__256PME_8h.html
+++ b/website/static/cdocs/fp__256PME_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: fp_256PME.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"
@@ -1195,7 +1198,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/fp__256PME_8h_source.html b/website/static/cdocs/fp__256PME_8h_source.html
index 0932ae8..cdcc190 100644
--- a/website/static/cdocs/fp__256PME_8h_source.html
+++ b/website/static/cdocs/fp__256PME_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: fp_256PME.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,49 +72,49 @@
 <div class="title">fp_256PME.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__256PME_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 FP_256PME_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_256PME_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_256PME.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__256PME.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__256PME.html#a0aeefdeb1ab98d4493d3b39f40711109">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__256PME.html#a0aeefdeb1ab98d4493d3b39f40711109">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__256PME.html">FP_256PME</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PME_8h.html#a152a374839b74c9e866cd386ecfdeb80">Modulus_256PME</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PME_8h.html#ad37a4e7eb88f8272d8e924ebd14a0c9b">R2modp_256PME</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__256PME_8h.html#a5069ac7d2ffceb5acd7aea14d05e3b47">MConst_256PME</a>;               </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#a374c2fd1a2ed7295997368ff4283f943">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_256PME MBITS_256PME                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#af281f42584087e3a72c390c05314f3fb">   52</a></span>&#160;<span class="preprocessor">#define TBITS_256PME (MBITS_256PME%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#a4a46232c21de64bc35c1a734a8455307">   53</a></span>&#160;<span class="preprocessor">#define TMASK_256PME (((chunk)1&lt;&lt;TBITS_256PME)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#a9ca7763369a36c34dee3699f51122d27">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_256PME (((sign32)1&lt;&lt;MAXXES_256PME)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#ad44abf57cca40eeeb7dc05bc3215144c">   55</a></span>&#160;<span class="preprocessor">#define OMASK_256PME (-((chunk)(1)&lt;&lt;TBITS_256PME))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PME_8h.html#a3cac8850584e72ece5774cc5bd87d542">FP_256PME_iszilch</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#ac7569c357cdfe16f2d582ae0bb2a4a2f">FP_256PME_zero</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#aea4b7c0432a84dc26d5b85672bd6926b">FP_256PME_copy</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a3d9ff56ec949c9ee7d3f64c05cddb5ca">FP_256PME_rcopy</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PME_8h.html#aa8c189f1dda0da044b620311ff5a4e84">FP_256PME_equals</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__256PME_8h.html#a3c16ac6ba642220a425068afc884cf92">FP_256PME_cswap</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</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="fp__256PME_8h.html#a6df25f6a8274e4a3ee9b1fe588e2f5ec">FP_256PME_cmove</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</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="fp__256PME_8h.html#a6dc3b8deca22c616944775b6fda656b4">FP_256PME_nres</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__256PME_8h.html#a8493579a8dc4d474aa6fe06cd5bfcc5f">FP_256PME_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a76d335f1b85e9c254c3a7e21c377d86b">FP_256PME_one</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a57ae65732c7a48b4e58fe58b746f5199">FP_256PME_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_256PME_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__256PME_8h.html#a8587222ba8f5f40a49d3b872c8fd095b">FP_256PME_mul</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *z);</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="fp__256PME_8h.html#af6cfb0b8e194c6600e3fe1ff14947a5e">FP_256PME_imul</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#ab32bc2f80afcf6a6f502878d42d61ecf">FP_256PME_sqr</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#aad4e457c70ab1d06709f4ec452660d8d">FP_256PME_add</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a94cc061d3398e90d03460c899ab6d0ec">FP_256PME_sub</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a240aa0293697a2313acc9b69bfccb9c4">FP_256PME_div2</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a8b3aab0884b524143110fdad00667c44">FP_256PME_pow</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#ab239b8251d823d05425da22fa33ee237">FP_256PME_sqrt</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a97e75b40367eee47eebc9ab5620afdfb">FP_256PME_neg</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a821f79578e7f92036bc4f84ea3aaa2d0">FP_256PME_output</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#af9c6eaa52c8c290476367f1e29d22435">FP_256PME_rawoutput</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#aac67c30e57f679003e8b1a5df06ce3c6">FP_256PME_reduce</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a753e0bc8cf743c73cb83e1dd66583638">FP_256PME_norm</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PME_8h.html#a0b5e522ae1c23c61ee65954e091a5059">FP_256PME_qr</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a715ecff4568f3899b46f8d0af8e765ee">FP_256PME_inv</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP__256PME_html_a0aeefdeb1ab98d4493d3b39f40711109"><div class="ttname"><a href="structFP__256PME.html#a0aeefdeb1ab98d4493d3b39f40711109">FP_256PME::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_256PME.h:41</div></div>
-<div class="ttc" id="fp__256PME_8h_html_aac67c30e57f679003e8b1a5df06ce3c6"><div class="ttname"><a href="fp__256PME_8h.html#aac67c30e57f679003e8b1a5df06ce3c6">FP_256PME_reduce</a></div><div class="ttdeci">void FP_256PME_reduce(FP_256PME *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:449</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a240aa0293697a2313acc9b69bfccb9c4"><div class="ttname"><a href="fp__256PME_8h.html#a240aa0293697a2313acc9b69bfccb9c4">FP_256PME_div2</a></div><div class="ttdeci">void FP_256PME_div2(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:515</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a821f79578e7f92036bc4f84ea3aaa2d0"><div class="ttname"><a href="fp__256PME_8h.html#a821f79578e7f92036bc4f84ea3aaa2d0">FP_256PME_output</a></div><div class="ttdeci">void FP_256PME_output(FP_256PME *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:270</div></div>
-<div class="ttc" id="fp__256PME_8h_html_aad4e457c70ab1d06709f4ec452660d8d"><div class="ttname"><a href="fp__256PME_8h.html#aad4e457c70ab1d06709f4ec452660d8d">FP_256PME_add</a></div><div class="ttdeci">void FP_256PME_add(FP_256PME *x, FP_256PME *y, FP_256PME *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:385</div></div>
-<div class="ttc" id="fp__256PME_8h_html_aa8c189f1dda0da044b620311ff5a4e84"><div class="ttname"><a href="fp__256PME_8h.html#aa8c189f1dda0da044b620311ff5a4e84">FP_256PME_equals</a></div><div class="ttdeci">int FP_256PME_equals(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:257</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a6dc3b8deca22c616944775b6fda656b4"><div class="ttname"><a href="fp__256PME_8h.html#a6dc3b8deca22c616944775b6fda656b4">FP_256PME_nres</a></div><div class="ttdeci">void FP_256PME_nres(FP_256PME *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:90</div></div>
-<div class="ttc" id="fp__256PME_8h_html_ab32bc2f80afcf6a6f502878d42d61ecf"><div class="ttname"><a href="fp__256PME_8h.html#ab32bc2f80afcf6a6f502878d42d61ecf">FP_256PME_sqr</a></div><div class="ttdeci">void FP_256PME_sqr(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:366</div></div>
-<div class="ttc" id="structFP__256PME_html"><div class="ttname"><a href="structFP__256PME.html">FP_256PME</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_256PME.h:38</div></div>
-<div class="ttc" id="fp__256PME_8h_html_aea4b7c0432a84dc26d5b85672bd6926b"><div class="ttname"><a href="fp__256PME_8h.html#aea4b7c0432a84dc26d5b85672bd6926b">FP_256PME_copy</a></div><div class="ttdeci">void FP_256PME_copy(FP_256PME *y, FP_256PME *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:216</div></div>
-<div class="ttc" id="fp__256PME_8h_html_ac7569c357cdfe16f2d582ae0bb2a4a2f"><div class="ttname"><a href="fp__256PME_8h.html#ac7569c357cdfe16f2d582ae0bb2a4a2f">FP_256PME_zero</a></div><div class="ttdeci">void FP_256PME_zero(FP_256PME *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:251</div></div>
+<a href="fp__256PME_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 FP_256PME_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_256PME_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_256PME.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__256PME.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__256PME.html#a0aeefdeb1ab98d4493d3b39f40711109">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__256PME.html#a0aeefdeb1ab98d4493d3b39f40711109">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__256PME.html">FP_256PME</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PME_8h.html#a152a374839b74c9e866cd386ecfdeb80">Modulus_256PME</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PME_8h.html#ad37a4e7eb88f8272d8e924ebd14a0c9b">R2modp_256PME</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__256PME_8h.html#a5069ac7d2ffceb5acd7aea14d05e3b47">MConst_256PME</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#a374c2fd1a2ed7295997368ff4283f943">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_256PME MBITS_256PME                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#af281f42584087e3a72c390c05314f3fb">   52</a></span>&#160;<span class="preprocessor">#define TBITS_256PME (MBITS_256PME%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#a4a46232c21de64bc35c1a734a8455307">   53</a></span>&#160;<span class="preprocessor">#define TMASK_256PME (((chunk)1&lt;&lt;TBITS_256PME)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#a9ca7763369a36c34dee3699f51122d27">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_256PME (((sign32)1&lt;&lt;MAXXES_256PME)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__256PME_8h.html#ad44abf57cca40eeeb7dc05bc3215144c">   55</a></span>&#160;<span class="preprocessor">#define OMASK_256PME (-((chunk)(1)&lt;&lt;TBITS_256PME))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PME_8h.html#a3cac8850584e72ece5774cc5bd87d542">FP_256PME_iszilch</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#ac7569c357cdfe16f2d582ae0bb2a4a2f">FP_256PME_zero</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#aea4b7c0432a84dc26d5b85672bd6926b">FP_256PME_copy</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a3d9ff56ec949c9ee7d3f64c05cddb5ca">FP_256PME_rcopy</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PME_8h.html#aa8c189f1dda0da044b620311ff5a4e84">FP_256PME_equals</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__256PME_8h.html#a3c16ac6ba642220a425068afc884cf92">FP_256PME_cswap</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</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="fp__256PME_8h.html#a6df25f6a8274e4a3ee9b1fe588e2f5ec">FP_256PME_cmove</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</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="fp__256PME_8h.html#a6dc3b8deca22c616944775b6fda656b4">FP_256PME_nres</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__256PME_8h.html#a8493579a8dc4d474aa6fe06cd5bfcc5f">FP_256PME_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a76d335f1b85e9c254c3a7e21c377d86b">FP_256PME_one</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a57ae65732c7a48b4e58fe58b746f5199">FP_256PME_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_256PME_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__256PME_8h.html#a8587222ba8f5f40a49d3b872c8fd095b">FP_256PME_mul</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *z);</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="fp__256PME_8h.html#af6cfb0b8e194c6600e3fe1ff14947a5e">FP_256PME_imul</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#ab32bc2f80afcf6a6f502878d42d61ecf">FP_256PME_sqr</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#aad4e457c70ab1d06709f4ec452660d8d">FP_256PME_add</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a94cc061d3398e90d03460c899ab6d0ec">FP_256PME_sub</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="structFP__256PME.html">FP_256PME</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a240aa0293697a2313acc9b69bfccb9c4">FP_256PME_div2</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a8b3aab0884b524143110fdad00667c44">FP_256PME_pow</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#ab239b8251d823d05425da22fa33ee237">FP_256PME_sqrt</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a97e75b40367eee47eebc9ab5620afdfb">FP_256PME_neg</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a821f79578e7f92036bc4f84ea3aaa2d0">FP_256PME_output</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#af9c6eaa52c8c290476367f1e29d22435">FP_256PME_rawoutput</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#aac67c30e57f679003e8b1a5df06ce3c6">FP_256PME_reduce</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a753e0bc8cf743c73cb83e1dd66583638">FP_256PME_norm</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PME_8h.html#a0b5e522ae1c23c61ee65954e091a5059">FP_256PME_qr</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PME_8h.html#a715ecff4568f3899b46f8d0af8e765ee">FP_256PME_inv</a>(<a class="code" href="structFP__256PME.html">FP_256PME</a> *x,<a class="code" href="structFP__256PME.html">FP_256PME</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP__256PME_html_a0aeefdeb1ab98d4493d3b39f40711109"><div class="ttname"><a href="structFP__256PME.html#a0aeefdeb1ab98d4493d3b39f40711109">FP_256PME::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_256PME.h:41</div></div>
+<div class="ttc" id="fp__256PME_8h_html_aac67c30e57f679003e8b1a5df06ce3c6"><div class="ttname"><a href="fp__256PME_8h.html#aac67c30e57f679003e8b1a5df06ce3c6">FP_256PME_reduce</a></div><div class="ttdeci">void FP_256PME_reduce(FP_256PME *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:449</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a240aa0293697a2313acc9b69bfccb9c4"><div class="ttname"><a href="fp__256PME_8h.html#a240aa0293697a2313acc9b69bfccb9c4">FP_256PME_div2</a></div><div class="ttdeci">void FP_256PME_div2(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:515</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a821f79578e7f92036bc4f84ea3aaa2d0"><div class="ttname"><a href="fp__256PME_8h.html#a821f79578e7f92036bc4f84ea3aaa2d0">FP_256PME_output</a></div><div class="ttdeci">void FP_256PME_output(FP_256PME *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:270</div></div>
+<div class="ttc" id="fp__256PME_8h_html_aad4e457c70ab1d06709f4ec452660d8d"><div class="ttname"><a href="fp__256PME_8h.html#aad4e457c70ab1d06709f4ec452660d8d">FP_256PME_add</a></div><div class="ttdeci">void FP_256PME_add(FP_256PME *x, FP_256PME *y, FP_256PME *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:385</div></div>
+<div class="ttc" id="fp__256PME_8h_html_aa8c189f1dda0da044b620311ff5a4e84"><div class="ttname"><a href="fp__256PME_8h.html#aa8c189f1dda0da044b620311ff5a4e84">FP_256PME_equals</a></div><div class="ttdeci">int FP_256PME_equals(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:257</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a6dc3b8deca22c616944775b6fda656b4"><div class="ttname"><a href="fp__256PME_8h.html#a6dc3b8deca22c616944775b6fda656b4">FP_256PME_nres</a></div><div class="ttdeci">void FP_256PME_nres(FP_256PME *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:90</div></div>
+<div class="ttc" id="fp__256PME_8h_html_ab32bc2f80afcf6a6f502878d42d61ecf"><div class="ttname"><a href="fp__256PME_8h.html#ab32bc2f80afcf6a6f502878d42d61ecf">FP_256PME_sqr</a></div><div class="ttdeci">void FP_256PME_sqr(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:366</div></div>
+<div class="ttc" id="structFP__256PME_html"><div class="ttname"><a href="structFP__256PME.html">FP_256PME</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_256PME.h:38</div></div>
+<div class="ttc" id="fp__256PME_8h_html_aea4b7c0432a84dc26d5b85672bd6926b"><div class="ttname"><a href="fp__256PME_8h.html#aea4b7c0432a84dc26d5b85672bd6926b">FP_256PME_copy</a></div><div class="ttdeci">void FP_256PME_copy(FP_256PME *y, FP_256PME *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:216</div></div>
+<div class="ttc" id="fp__256PME_8h_html_ac7569c357cdfe16f2d582ae0bb2a4a2f"><div class="ttname"><a href="fp__256PME_8h.html#ac7569c357cdfe16f2d582ae0bb2a4a2f">FP_256PME_zero</a></div><div class="ttdeci">void FP_256PME_zero(FP_256PME *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:251</div></div>
 <div class="ttc" id="structFP__256PME_html_a035ca7c93c353953f7086ea997a7c9d6"><div class="ttname"><a href="structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6">FP_256PME::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_256PME.h:40</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a76d335f1b85e9c254c3a7e21c377d86b"><div class="ttname"><a href="fp__256PME_8h.html#a76d335f1b85e9c254c3a7e21c377d86b">FP_256PME_one</a></div><div class="ttdeci">void FP_256PME_one(FP_256PME *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:723</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a8b3aab0884b524143110fdad00667c44"><div class="ttname"><a href="fp__256PME_8h.html#a8b3aab0884b524143110fdad00667c44">FP_256PME_pow</a></div><div class="ttdeci">void FP_256PME_pow(FP_256PME *x, FP_256PME *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__256PME_8h_html_af6cfb0b8e194c6600e3fe1ff14947a5e"><div class="ttname"><a href="fp__256PME_8h.html#af6cfb0b8e194c6600e3fe1ff14947a5e">FP_256PME_imul</a></div><div class="ttdeci">void FP_256PME_imul(FP_256PME *x, FP_256PME *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:321</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a76d335f1b85e9c254c3a7e21c377d86b"><div class="ttname"><a href="fp__256PME_8h.html#a76d335f1b85e9c254c3a7e21c377d86b">FP_256PME_one</a></div><div class="ttdeci">void FP_256PME_one(FP_256PME *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:723</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a8b3aab0884b524143110fdad00667c44"><div class="ttname"><a href="fp__256PME_8h.html#a8b3aab0884b524143110fdad00667c44">FP_256PME_pow</a></div><div class="ttdeci">void FP_256PME_pow(FP_256PME *x, FP_256PME *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__256PME_8h_html_af6cfb0b8e194c6600e3fe1ff14947a5e"><div class="ttname"><a href="fp__256PME_8h.html#af6cfb0b8e194c6600e3fe1ff14947a5e">FP_256PME_imul</a></div><div class="ttdeci">void FP_256PME_imul(FP_256PME *x, FP_256PME *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:321</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a8493579a8dc4d474aa6fe06cd5bfcc5f"><div class="ttname"><a href="fp__256PME_8h.html#a8493579a8dc4d474aa6fe06cd5bfcc5f">FP_256PME_redc</a></div><div class="ttdeci">void FP_256PME_redc(BIG_256_56 x, FP_256PME *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:97</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a57ae65732c7a48b4e58fe58b746f5199"><div class="ttname"><a href="fp__256PME_8h.html#a57ae65732c7a48b4e58fe58b746f5199">FP_256PME_mod</a></div><div class="ttdeci">void FP_256PME_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:103</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a8493579a8dc4d474aa6fe06cd5bfcc5f"><div class="ttname"><a href="fp__256PME_8h.html#a8493579a8dc4d474aa6fe06cd5bfcc5f">FP_256PME_redc</a></div><div class="ttdeci">void FP_256PME_redc(BIG_256_56 x, FP_256PME *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:97</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a57ae65732c7a48b4e58fe58b746f5199"><div class="ttname"><a href="fp__256PME_8h.html#a57ae65732c7a48b4e58fe58b746f5199">FP_256PME_mod</a></div><div class="ttdeci">void FP_256PME_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:103</div></div>
 <div class="ttc" id="fp__256PME_8h_html_ad37a4e7eb88f8272d8e924ebd14a0c9b"><div class="ttname"><a href="fp__256PME_8h.html#ad37a4e7eb88f8272d8e924ebd14a0c9b">R2modp_256PME</a></div><div class="ttdeci">const BIG_256_56 R2modp_256PME</div></div>
 <div class="ttc" id="fp__256PME_8h_html_a5069ac7d2ffceb5acd7aea14d05e3b47"><div class="ttname"><a href="fp__256PME_8h.html#a5069ac7d2ffceb5acd7aea14d05e3b47">MConst_256PME</a></div><div class="ttdeci">const chunk MConst_256PME</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a0b5e522ae1c23c61ee65954e091a5059"><div class="ttname"><a href="fp__256PME_8h.html#a0b5e522ae1c23c61ee65954e091a5059">FP_256PME_qr</a></div><div class="ttdeci">int FP_256PME_qr(FP_256PME *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:731</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a3d9ff56ec949c9ee7d3f64c05cddb5ca"><div class="ttname"><a href="fp__256PME_8h.html#a3d9ff56ec949c9ee7d3f64c05cddb5ca">FP_256PME_rcopy</a></div><div class="ttdeci">void FP_256PME_rcopy(FP_256PME *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:222</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a753e0bc8cf743c73cb83e1dd66583638"><div class="ttname"><a href="fp__256PME_8h.html#a753e0bc8cf743c73cb83e1dd66583638">FP_256PME_norm</a></div><div class="ttdeci">void FP_256PME_norm(FP_256PME *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:484</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a715ecff4568f3899b46f8d0af8e765ee"><div class="ttname"><a href="fp__256PME_8h.html#a715ecff4568f3899b46f8d0af8e765ee">FP_256PME_inv</a></div><div class="ttdeci">void FP_256PME_inv(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:648</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a8587222ba8f5f40a49d3b872c8fd095b"><div class="ttname"><a href="fp__256PME_8h.html#a8587222ba8f5f40a49d3b872c8fd095b">FP_256PME_mul</a></div><div class="ttdeci">void FP_256PME_mul(FP_256PME *x, FP_256PME *y, FP_256PME *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:297</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a3c16ac6ba642220a425068afc884cf92"><div class="ttname"><a href="fp__256PME_8h.html#a3c16ac6ba642220a425068afc884cf92">FP_256PME_cswap</a></div><div class="ttdeci">void FP_256PME_cswap(FP_256PME *x, FP_256PME *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:230</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a97e75b40367eee47eebc9ab5620afdfb"><div class="ttname"><a href="fp__256PME_8h.html#a97e75b40367eee47eebc9ab5620afdfb">FP_256PME_neg</a></div><div class="ttdeci">void FP_256PME_neg(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:491</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__256PME_8h_html_ab239b8251d823d05425da22fa33ee237"><div class="ttname"><a href="fp__256PME_8h.html#ab239b8251d823d05425da22fa33ee237">FP_256PME_sqrt</a></div><div class="ttdeci">void FP_256PME_sqrt(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:747</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a0b5e522ae1c23c61ee65954e091a5059"><div class="ttname"><a href="fp__256PME_8h.html#a0b5e522ae1c23c61ee65954e091a5059">FP_256PME_qr</a></div><div class="ttdeci">int FP_256PME_qr(FP_256PME *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:731</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a3d9ff56ec949c9ee7d3f64c05cddb5ca"><div class="ttname"><a href="fp__256PME_8h.html#a3d9ff56ec949c9ee7d3f64c05cddb5ca">FP_256PME_rcopy</a></div><div class="ttdeci">void FP_256PME_rcopy(FP_256PME *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:222</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a753e0bc8cf743c73cb83e1dd66583638"><div class="ttname"><a href="fp__256PME_8h.html#a753e0bc8cf743c73cb83e1dd66583638">FP_256PME_norm</a></div><div class="ttdeci">void FP_256PME_norm(FP_256PME *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:484</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a715ecff4568f3899b46f8d0af8e765ee"><div class="ttname"><a href="fp__256PME_8h.html#a715ecff4568f3899b46f8d0af8e765ee">FP_256PME_inv</a></div><div class="ttdeci">void FP_256PME_inv(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:648</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a8587222ba8f5f40a49d3b872c8fd095b"><div class="ttname"><a href="fp__256PME_8h.html#a8587222ba8f5f40a49d3b872c8fd095b">FP_256PME_mul</a></div><div class="ttdeci">void FP_256PME_mul(FP_256PME *x, FP_256PME *y, FP_256PME *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:297</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a3c16ac6ba642220a425068afc884cf92"><div class="ttname"><a href="fp__256PME_8h.html#a3c16ac6ba642220a425068afc884cf92">FP_256PME_cswap</a></div><div class="ttdeci">void FP_256PME_cswap(FP_256PME *x, FP_256PME *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:230</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a97e75b40367eee47eebc9ab5620afdfb"><div class="ttname"><a href="fp__256PME_8h.html#a97e75b40367eee47eebc9ab5620afdfb">FP_256PME_neg</a></div><div class="ttdeci">void FP_256PME_neg(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:491</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__256PME_8h_html_ab239b8251d823d05425da22fa33ee237"><div class="ttname"><a href="fp__256PME_8h.html#ab239b8251d823d05425da22fa33ee237">FP_256PME_sqrt</a></div><div class="ttdeci">void FP_256PME_sqrt(FP_256PME *x, FP_256PME *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:747</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a6df25f6a8274e4a3ee9b1fe588e2f5ec"><div class="ttname"><a href="fp__256PME_8h.html#a6df25f6a8274e4a3ee9b1fe588e2f5ec">FP_256PME_cmove</a></div><div class="ttdeci">void FP_256PME_cmove(FP_256PME *x, FP_256PME *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:243</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a3cac8850584e72ece5774cc5bd87d542"><div class="ttname"><a href="fp__256PME_8h.html#a3cac8850584e72ece5774cc5bd87d542">FP_256PME_iszilch</a></div><div class="ttdeci">int FP_256PME_iszilch(FP_256PME *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:207</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a6df25f6a8274e4a3ee9b1fe588e2f5ec"><div class="ttname"><a href="fp__256PME_8h.html#a6df25f6a8274e4a3ee9b1fe588e2f5ec">FP_256PME_cmove</a></div><div class="ttdeci">void FP_256PME_cmove(FP_256PME *x, FP_256PME *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:243</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a3cac8850584e72ece5774cc5bd87d542"><div class="ttname"><a href="fp__256PME_8h.html#a3cac8850584e72ece5774cc5bd87d542">FP_256PME_iszilch</a></div><div class="ttdeci">int FP_256PME_iszilch(FP_256PME *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:207</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</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="fp__256PME_8h_html_a152a374839b74c9e866cd386ecfdeb80"><div class="ttname"><a href="fp__256PME_8h.html#a152a374839b74c9e866cd386ecfdeb80">Modulus_256PME</a></div><div class="ttdeci">const BIG_256_56 Modulus_256PME</div></div>
-<div class="ttc" id="fp__256PME_8h_html_af9c6eaa52c8c290476367f1e29d22435"><div class="ttname"><a href="fp__256PME_8h.html#af9c6eaa52c8c290476367f1e29d22435">FP_256PME_rawoutput</a></div><div class="ttdeci">void FP_256PME_rawoutput(FP_256PME *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:277</div></div>
-<div class="ttc" id="fp__256PME_8h_html_a94cc061d3398e90d03460c899ab6d0ec"><div class="ttname"><a href="fp__256PME_8h.html#a94cc061d3398e90d03460c899ab6d0ec">FP_256PME_sub</a></div><div class="ttdeci">void FP_256PME_sub(FP_256PME *x, FP_256PME *y, FP_256PME *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PME.c:400</div></div>
+<div class="ttc" id="fp__256PME_8h_html_af9c6eaa52c8c290476367f1e29d22435"><div class="ttname"><a href="fp__256PME_8h.html#af9c6eaa52c8c290476367f1e29d22435">FP_256PME_rawoutput</a></div><div class="ttdeci">void FP_256PME_rawoutput(FP_256PME *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:277</div></div>
+<div class="ttc" id="fp__256PME_8h_html_a94cc061d3398e90d03460c899ab6d0ec"><div class="ttname"><a href="fp__256PME_8h.html#a94cc061d3398e90d03460c899ab6d0ec">FP_256PME_sub</a></div><div class="ttdeci">void FP_256PME_sub(FP_256PME *x, FP_256PME *y, FP_256PME *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PME.c:400</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/fp__256PMW_8h.html b/website/static/cdocs/fp__256PMW_8h.html
index 7046c45..87b56fa 100644
--- a/website/static/cdocs/fp__256PMW_8h.html
+++ b/website/static/cdocs/fp__256PMW_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: fp_256PMW.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"
@@ -1195,7 +1198,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/fp__256PMW_8h_source.html b/website/static/cdocs/fp__256PMW_8h_source.html
index f9aba7d..653199e 100644
--- a/website/static/cdocs/fp__256PMW_8h_source.html
+++ b/website/static/cdocs/fp__256PMW_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: fp_256PMW.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,49 +72,49 @@
 <div class="title">fp_256PMW.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__256PMW_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 FP_256PMW_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_256PMW_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_256PMW.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__256PMW.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__256PMW.html#a207d075c611c8a6b9e267410df6fdb0c">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__256PMW.html#a207d075c611c8a6b9e267410df6fdb0c">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__256PMW.html">FP_256PMW</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PMW_8h.html#a7b3ca60eb8c7d0214ae7faf1e5c10d5a">Modulus_256PMW</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PMW_8h.html#a972e0ef1063a6cd739c9ceeb1f31ce03">R2modp_256PMW</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__256PMW_8h.html#a08cff7d79be5107cb5f9b7ec062f4cdf">MConst_256PMW</a>;               </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#addec66e5c5af0e72192e091b4354914c">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_256PMW MBITS_256PMW                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#acac1fa5a82e130f29cb7ebea36bf1cff">   52</a></span>&#160;<span class="preprocessor">#define TBITS_256PMW (MBITS_256PMW%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#a9414961d53364c22e77e2814838ff4b4">   53</a></span>&#160;<span class="preprocessor">#define TMASK_256PMW (((chunk)1&lt;&lt;TBITS_256PMW)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#a04f507586fd0cfb1c9a403fad9fc7c76">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_256PMW (((sign32)1&lt;&lt;MAXXES_256PMW)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#a36034c557ca6233b3ead9c0fa05dc450">   55</a></span>&#160;<span class="preprocessor">#define OMASK_256PMW (-((chunk)(1)&lt;&lt;TBITS_256PMW))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PMW_8h.html#a3367e822d7751b8f97b9a14f0c5385bf">FP_256PMW_iszilch</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ab70d9807ed956636f052f8258613718c">FP_256PMW_zero</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a7b3fd1e1d0e0b3d9cb0df5f02e8ff61d">FP_256PMW_copy</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a31bee112d46e36303a3d517b191b0dfa">FP_256PMW_rcopy</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PMW_8h.html#a1158a882dca8533baf15c007220c78d0">FP_256PMW_equals</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__256PMW_8h.html#a512fe73233f577639a44d8df77118c9c">FP_256PMW_cswap</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</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="fp__256PMW_8h.html#a8cf6bc3b6436e6ff284b191f1ba71b44">FP_256PMW_cmove</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</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="fp__256PMW_8h.html#a097dd2656218a78d6286c576f0844512">FP_256PMW_nres</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__256PMW_8h.html#a977840da1a4072c0499b0fd14b146c7e">FP_256PMW_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a72abc16a023d01ab4bc2da9e89e22286">FP_256PMW_one</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a976c4395273f0f7e03713ef84894b916">FP_256PMW_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_256PMW_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__256PMW_8h.html#ac0b99e58bf014254f39faee649752355">FP_256PMW_mul</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *z);</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="fp__256PMW_8h.html#a338ce93697bfe51dbf17890634b0a72e">FP_256PMW_imul</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#aa3144bad1a3a3cb4fda8612b673ef554">FP_256PMW_sqr</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a449c10e9f86e9e8a62e7328bbafe4b29">FP_256PMW_add</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ae1d63f9195ad732f3cafc2aa87b312b8">FP_256PMW_sub</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ab84473a0346f0b54f78d40331896c420">FP_256PMW_div2</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ada4d298418c62c68b70a440e2a3204b7">FP_256PMW_pow</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a28934fb3e05c6ae9b78466a091554158">FP_256PMW_sqrt</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a2602fa618109949896ad506bfb325907">FP_256PMW_neg</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a671abd144eef6f988ea26ef7c0eac6d6">FP_256PMW_output</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a56bfc318e81052bb5e4f5b6714a0a519">FP_256PMW_rawoutput</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a059563dd95e2b2b77ef94e69bc47ca00">FP_256PMW_reduce</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a5912e5ee2ace802f43b8a557e2c49f23">FP_256PMW_norm</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PMW_8h.html#affce9fa5b3249baaaec97e7f4f8d1f2e">FP_256PMW_qr</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a4a46b02df97af820f00ae51d64d3afc5">FP_256PMW_inv</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__256PMW_8h_html_a059563dd95e2b2b77ef94e69bc47ca00"><div class="ttname"><a href="fp__256PMW_8h.html#a059563dd95e2b2b77ef94e69bc47ca00">FP_256PMW_reduce</a></div><div class="ttdeci">void FP_256PMW_reduce(FP_256PMW *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:449</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a097dd2656218a78d6286c576f0844512"><div class="ttname"><a href="fp__256PMW_8h.html#a097dd2656218a78d6286c576f0844512">FP_256PMW_nres</a></div><div class="ttdeci">void FP_256PMW_nres(FP_256PMW *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:90</div></div>
-<div class="ttc" id="structFP__256PMW_html"><div class="ttname"><a href="structFP__256PMW.html">FP_256PMW</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.h:38</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a56bfc318e81052bb5e4f5b6714a0a519"><div class="ttname"><a href="fp__256PMW_8h.html#a56bfc318e81052bb5e4f5b6714a0a519">FP_256PMW_rawoutput</a></div><div class="ttdeci">void FP_256PMW_rawoutput(FP_256PMW *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:277</div></div>
+<a href="fp__256PMW_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 FP_256PMW_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_256PMW_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_256PMW.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__256PMW.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__256PMW.html#a207d075c611c8a6b9e267410df6fdb0c">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__256PMW.html#a207d075c611c8a6b9e267410df6fdb0c">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__256PMW.html">FP_256PMW</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PMW_8h.html#a7b3ca60eb8c7d0214ae7faf1e5c10d5a">Modulus_256PMW</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__256PMW_8h.html#a972e0ef1063a6cd739c9ceeb1f31ce03">R2modp_256PMW</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__256PMW_8h.html#a08cff7d79be5107cb5f9b7ec062f4cdf">MConst_256PMW</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#addec66e5c5af0e72192e091b4354914c">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_256PMW MBITS_256PMW                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#acac1fa5a82e130f29cb7ebea36bf1cff">   52</a></span>&#160;<span class="preprocessor">#define TBITS_256PMW (MBITS_256PMW%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#a9414961d53364c22e77e2814838ff4b4">   53</a></span>&#160;<span class="preprocessor">#define TMASK_256PMW (((chunk)1&lt;&lt;TBITS_256PMW)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#a04f507586fd0cfb1c9a403fad9fc7c76">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_256PMW (((sign32)1&lt;&lt;MAXXES_256PMW)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__256PMW_8h.html#a36034c557ca6233b3ead9c0fa05dc450">   55</a></span>&#160;<span class="preprocessor">#define OMASK_256PMW (-((chunk)(1)&lt;&lt;TBITS_256PMW))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PMW_8h.html#a3367e822d7751b8f97b9a14f0c5385bf">FP_256PMW_iszilch</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ab70d9807ed956636f052f8258613718c">FP_256PMW_zero</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a7b3fd1e1d0e0b3d9cb0df5f02e8ff61d">FP_256PMW_copy</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a31bee112d46e36303a3d517b191b0dfa">FP_256PMW_rcopy</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PMW_8h.html#a1158a882dca8533baf15c007220c78d0">FP_256PMW_equals</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__256PMW_8h.html#a512fe73233f577639a44d8df77118c9c">FP_256PMW_cswap</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</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="fp__256PMW_8h.html#a8cf6bc3b6436e6ff284b191f1ba71b44">FP_256PMW_cmove</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</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="fp__256PMW_8h.html#a097dd2656218a78d6286c576f0844512">FP_256PMW_nres</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__256PMW_8h.html#a977840da1a4072c0499b0fd14b146c7e">FP_256PMW_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a72abc16a023d01ab4bc2da9e89e22286">FP_256PMW_one</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a976c4395273f0f7e03713ef84894b916">FP_256PMW_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_256PMW_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__256PMW_8h.html#ac0b99e58bf014254f39faee649752355">FP_256PMW_mul</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *z);</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="fp__256PMW_8h.html#a338ce93697bfe51dbf17890634b0a72e">FP_256PMW_imul</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#aa3144bad1a3a3cb4fda8612b673ef554">FP_256PMW_sqr</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a449c10e9f86e9e8a62e7328bbafe4b29">FP_256PMW_add</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ae1d63f9195ad732f3cafc2aa87b312b8">FP_256PMW_sub</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ab84473a0346f0b54f78d40331896c420">FP_256PMW_div2</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#ada4d298418c62c68b70a440e2a3204b7">FP_256PMW_pow</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a28934fb3e05c6ae9b78466a091554158">FP_256PMW_sqrt</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a2602fa618109949896ad506bfb325907">FP_256PMW_neg</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a671abd144eef6f988ea26ef7c0eac6d6">FP_256PMW_output</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a56bfc318e81052bb5e4f5b6714a0a519">FP_256PMW_rawoutput</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a059563dd95e2b2b77ef94e69bc47ca00">FP_256PMW_reduce</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a5912e5ee2ace802f43b8a557e2c49f23">FP_256PMW_norm</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__256PMW_8h.html#affce9fa5b3249baaaec97e7f4f8d1f2e">FP_256PMW_qr</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__256PMW_8h.html#a4a46b02df97af820f00ae51d64d3afc5">FP_256PMW_inv</a>(<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *x,<a class="code" href="structFP__256PMW.html">FP_256PMW</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__256PMW_8h_html_a059563dd95e2b2b77ef94e69bc47ca00"><div class="ttname"><a href="fp__256PMW_8h.html#a059563dd95e2b2b77ef94e69bc47ca00">FP_256PMW_reduce</a></div><div class="ttdeci">void FP_256PMW_reduce(FP_256PMW *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:449</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a097dd2656218a78d6286c576f0844512"><div class="ttname"><a href="fp__256PMW_8h.html#a097dd2656218a78d6286c576f0844512">FP_256PMW_nres</a></div><div class="ttdeci">void FP_256PMW_nres(FP_256PMW *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:90</div></div>
+<div class="ttc" id="structFP__256PMW_html"><div class="ttname"><a href="structFP__256PMW.html">FP_256PMW</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.h:38</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a56bfc318e81052bb5e4f5b6714a0a519"><div class="ttname"><a href="fp__256PMW_8h.html#a56bfc318e81052bb5e4f5b6714a0a519">FP_256PMW_rawoutput</a></div><div class="ttdeci">void FP_256PMW_rawoutput(FP_256PMW *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:277</div></div>
 <div class="ttc" id="fp__256PMW_8h_html_a08cff7d79be5107cb5f9b7ec062f4cdf"><div class="ttname"><a href="fp__256PMW_8h.html#a08cff7d79be5107cb5f9b7ec062f4cdf">MConst_256PMW</a></div><div class="ttdeci">const chunk MConst_256PMW</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a72abc16a023d01ab4bc2da9e89e22286"><div class="ttname"><a href="fp__256PMW_8h.html#a72abc16a023d01ab4bc2da9e89e22286">FP_256PMW_one</a></div><div class="ttdeci">void FP_256PMW_one(FP_256PMW *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:723</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_ada4d298418c62c68b70a440e2a3204b7"><div class="ttname"><a href="fp__256PMW_8h.html#ada4d298418c62c68b70a440e2a3204b7">FP_256PMW_pow</a></div><div class="ttdeci">void FP_256PMW_pow(FP_256PMW *x, FP_256PMW *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a31bee112d46e36303a3d517b191b0dfa"><div class="ttname"><a href="fp__256PMW_8h.html#a31bee112d46e36303a3d517b191b0dfa">FP_256PMW_rcopy</a></div><div class="ttdeci">void FP_256PMW_rcopy(FP_256PMW *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:222</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a7b3fd1e1d0e0b3d9cb0df5f02e8ff61d"><div class="ttname"><a href="fp__256PMW_8h.html#a7b3fd1e1d0e0b3d9cb0df5f02e8ff61d">FP_256PMW_copy</a></div><div class="ttdeci">void FP_256PMW_copy(FP_256PMW *y, FP_256PMW *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:216</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a72abc16a023d01ab4bc2da9e89e22286"><div class="ttname"><a href="fp__256PMW_8h.html#a72abc16a023d01ab4bc2da9e89e22286">FP_256PMW_one</a></div><div class="ttdeci">void FP_256PMW_one(FP_256PMW *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:723</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_ada4d298418c62c68b70a440e2a3204b7"><div class="ttname"><a href="fp__256PMW_8h.html#ada4d298418c62c68b70a440e2a3204b7">FP_256PMW_pow</a></div><div class="ttdeci">void FP_256PMW_pow(FP_256PMW *x, FP_256PMW *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a31bee112d46e36303a3d517b191b0dfa"><div class="ttname"><a href="fp__256PMW_8h.html#a31bee112d46e36303a3d517b191b0dfa">FP_256PMW_rcopy</a></div><div class="ttdeci">void FP_256PMW_rcopy(FP_256PMW *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:222</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a7b3fd1e1d0e0b3d9cb0df5f02e8ff61d"><div class="ttname"><a href="fp__256PMW_8h.html#a7b3fd1e1d0e0b3d9cb0df5f02e8ff61d">FP_256PMW_copy</a></div><div class="ttdeci">void FP_256PMW_copy(FP_256PMW *y, FP_256PMW *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:216</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
 <div class="ttc" id="structFP__256PMW_html_a7de179bbbfbda3b875d92c86d62497cd"><div class="ttname"><a href="structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd">FP_256PMW::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_256PMW.h:40</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_ab70d9807ed956636f052f8258613718c"><div class="ttname"><a href="fp__256PMW_8h.html#ab70d9807ed956636f052f8258613718c">FP_256PMW_zero</a></div><div class="ttdeci">void FP_256PMW_zero(FP_256PMW *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:251</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_ac0b99e58bf014254f39faee649752355"><div class="ttname"><a href="fp__256PMW_8h.html#ac0b99e58bf014254f39faee649752355">FP_256PMW_mul</a></div><div class="ttdeci">void FP_256PMW_mul(FP_256PMW *x, FP_256PMW *y, FP_256PMW *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:297</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a977840da1a4072c0499b0fd14b146c7e"><div class="ttname"><a href="fp__256PMW_8h.html#a977840da1a4072c0499b0fd14b146c7e">FP_256PMW_redc</a></div><div class="ttdeci">void FP_256PMW_redc(BIG_256_56 x, FP_256PMW *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:97</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_ae1d63f9195ad732f3cafc2aa87b312b8"><div class="ttname"><a href="fp__256PMW_8h.html#ae1d63f9195ad732f3cafc2aa87b312b8">FP_256PMW_sub</a></div><div class="ttdeci">void FP_256PMW_sub(FP_256PMW *x, FP_256PMW *y, FP_256PMW *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:400</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a512fe73233f577639a44d8df77118c9c"><div class="ttname"><a href="fp__256PMW_8h.html#a512fe73233f577639a44d8df77118c9c">FP_256PMW_cswap</a></div><div class="ttdeci">void FP_256PMW_cswap(FP_256PMW *x, FP_256PMW *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:230</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_ab70d9807ed956636f052f8258613718c"><div class="ttname"><a href="fp__256PMW_8h.html#ab70d9807ed956636f052f8258613718c">FP_256PMW_zero</a></div><div class="ttdeci">void FP_256PMW_zero(FP_256PMW *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:251</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_ac0b99e58bf014254f39faee649752355"><div class="ttname"><a href="fp__256PMW_8h.html#ac0b99e58bf014254f39faee649752355">FP_256PMW_mul</a></div><div class="ttdeci">void FP_256PMW_mul(FP_256PMW *x, FP_256PMW *y, FP_256PMW *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:297</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a977840da1a4072c0499b0fd14b146c7e"><div class="ttname"><a href="fp__256PMW_8h.html#a977840da1a4072c0499b0fd14b146c7e">FP_256PMW_redc</a></div><div class="ttdeci">void FP_256PMW_redc(BIG_256_56 x, FP_256PMW *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:97</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_ae1d63f9195ad732f3cafc2aa87b312b8"><div class="ttname"><a href="fp__256PMW_8h.html#ae1d63f9195ad732f3cafc2aa87b312b8">FP_256PMW_sub</a></div><div class="ttdeci">void FP_256PMW_sub(FP_256PMW *x, FP_256PMW *y, FP_256PMW *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:400</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a512fe73233f577639a44d8df77118c9c"><div class="ttname"><a href="fp__256PMW_8h.html#a512fe73233f577639a44d8df77118c9c">FP_256PMW_cswap</a></div><div class="ttdeci">void FP_256PMW_cswap(FP_256PMW *x, FP_256PMW *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:230</div></div>
 <div class="ttc" id="fp__256PMW_8h_html_a972e0ef1063a6cd739c9ceeb1f31ce03"><div class="ttname"><a href="fp__256PMW_8h.html#a972e0ef1063a6cd739c9ceeb1f31ce03">R2modp_256PMW</a></div><div class="ttdeci">const BIG_256_56 R2modp_256PMW</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a338ce93697bfe51dbf17890634b0a72e"><div class="ttname"><a href="fp__256PMW_8h.html#a338ce93697bfe51dbf17890634b0a72e">FP_256PMW_imul</a></div><div class="ttdeci">void FP_256PMW_imul(FP_256PMW *x, FP_256PMW *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:321</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a671abd144eef6f988ea26ef7c0eac6d6"><div class="ttname"><a href="fp__256PMW_8h.html#a671abd144eef6f988ea26ef7c0eac6d6">FP_256PMW_output</a></div><div class="ttdeci">void FP_256PMW_output(FP_256PMW *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:270</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a8cf6bc3b6436e6ff284b191f1ba71b44"><div class="ttname"><a href="fp__256PMW_8h.html#a8cf6bc3b6436e6ff284b191f1ba71b44">FP_256PMW_cmove</a></div><div class="ttdeci">void FP_256PMW_cmove(FP_256PMW *x, FP_256PMW *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:243</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a976c4395273f0f7e03713ef84894b916"><div class="ttname"><a href="fp__256PMW_8h.html#a976c4395273f0f7e03713ef84894b916">FP_256PMW_mod</a></div><div class="ttdeci">void FP_256PMW_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:103</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a338ce93697bfe51dbf17890634b0a72e"><div class="ttname"><a href="fp__256PMW_8h.html#a338ce93697bfe51dbf17890634b0a72e">FP_256PMW_imul</a></div><div class="ttdeci">void FP_256PMW_imul(FP_256PMW *x, FP_256PMW *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:321</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a671abd144eef6f988ea26ef7c0eac6d6"><div class="ttname"><a href="fp__256PMW_8h.html#a671abd144eef6f988ea26ef7c0eac6d6">FP_256PMW_output</a></div><div class="ttdeci">void FP_256PMW_output(FP_256PMW *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:270</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a8cf6bc3b6436e6ff284b191f1ba71b44"><div class="ttname"><a href="fp__256PMW_8h.html#a8cf6bc3b6436e6ff284b191f1ba71b44">FP_256PMW_cmove</a></div><div class="ttdeci">void FP_256PMW_cmove(FP_256PMW *x, FP_256PMW *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:243</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a976c4395273f0f7e03713ef84894b916"><div class="ttname"><a href="fp__256PMW_8h.html#a976c4395273f0f7e03713ef84894b916">FP_256PMW_mod</a></div><div class="ttdeci">void FP_256PMW_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:103</div></div>
 <div class="ttc" id="fp__256PMW_8h_html_a7b3ca60eb8c7d0214ae7faf1e5c10d5a"><div class="ttname"><a href="fp__256PMW_8h.html#a7b3ca60eb8c7d0214ae7faf1e5c10d5a">Modulus_256PMW</a></div><div class="ttdeci">const BIG_256_56 Modulus_256PMW</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a1158a882dca8533baf15c007220c78d0"><div class="ttname"><a href="fp__256PMW_8h.html#a1158a882dca8533baf15c007220c78d0">FP_256PMW_equals</a></div><div class="ttdeci">int FP_256PMW_equals(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:257</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a28934fb3e05c6ae9b78466a091554158"><div class="ttname"><a href="fp__256PMW_8h.html#a28934fb3e05c6ae9b78466a091554158">FP_256PMW_sqrt</a></div><div class="ttdeci">void FP_256PMW_sqrt(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:747</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a1158a882dca8533baf15c007220c78d0"><div class="ttname"><a href="fp__256PMW_8h.html#a1158a882dca8533baf15c007220c78d0">FP_256PMW_equals</a></div><div class="ttdeci">int FP_256PMW_equals(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:257</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a28934fb3e05c6ae9b78466a091554158"><div class="ttname"><a href="fp__256PMW_8h.html#a28934fb3e05c6ae9b78466a091554158">FP_256PMW_sqrt</a></div><div class="ttdeci">void FP_256PMW_sqrt(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:747</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_affce9fa5b3249baaaec97e7f4f8d1f2e"><div class="ttname"><a href="fp__256PMW_8h.html#affce9fa5b3249baaaec97e7f4f8d1f2e">FP_256PMW_qr</a></div><div class="ttdeci">int FP_256PMW_qr(FP_256PMW *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:731</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a3367e822d7751b8f97b9a14f0c5385bf"><div class="ttname"><a href="fp__256PMW_8h.html#a3367e822d7751b8f97b9a14f0c5385bf">FP_256PMW_iszilch</a></div><div class="ttdeci">int FP_256PMW_iszilch(FP_256PMW *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:207</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a5912e5ee2ace802f43b8a557e2c49f23"><div class="ttname"><a href="fp__256PMW_8h.html#a5912e5ee2ace802f43b8a557e2c49f23">FP_256PMW_norm</a></div><div class="ttdeci">void FP_256PMW_norm(FP_256PMW *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:484</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a4a46b02df97af820f00ae51d64d3afc5"><div class="ttname"><a href="fp__256PMW_8h.html#a4a46b02df97af820f00ae51d64d3afc5">FP_256PMW_inv</a></div><div class="ttdeci">void FP_256PMW_inv(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:648</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_affce9fa5b3249baaaec97e7f4f8d1f2e"><div class="ttname"><a href="fp__256PMW_8h.html#affce9fa5b3249baaaec97e7f4f8d1f2e">FP_256PMW_qr</a></div><div class="ttdeci">int FP_256PMW_qr(FP_256PMW *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:731</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a3367e822d7751b8f97b9a14f0c5385bf"><div class="ttname"><a href="fp__256PMW_8h.html#a3367e822d7751b8f97b9a14f0c5385bf">FP_256PMW_iszilch</a></div><div class="ttdeci">int FP_256PMW_iszilch(FP_256PMW *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:207</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a5912e5ee2ace802f43b8a557e2c49f23"><div class="ttname"><a href="fp__256PMW_8h.html#a5912e5ee2ace802f43b8a557e2c49f23">FP_256PMW_norm</a></div><div class="ttdeci">void FP_256PMW_norm(FP_256PMW *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:484</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a4a46b02df97af820f00ae51d64d3afc5"><div class="ttname"><a href="fp__256PMW_8h.html#a4a46b02df97af820f00ae51d64d3afc5">FP_256PMW_inv</a></div><div class="ttdeci">void FP_256PMW_inv(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:648</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a2602fa618109949896ad506bfb325907"><div class="ttname"><a href="fp__256PMW_8h.html#a2602fa618109949896ad506bfb325907">FP_256PMW_neg</a></div><div class="ttdeci">void FP_256PMW_neg(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:491</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a2602fa618109949896ad506bfb325907"><div class="ttname"><a href="fp__256PMW_8h.html#a2602fa618109949896ad506bfb325907">FP_256PMW_neg</a></div><div class="ttdeci">void FP_256PMW_neg(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:491</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="fp__256PMW_8h_html_ab84473a0346f0b54f78d40331896c420"><div class="ttname"><a href="fp__256PMW_8h.html#ab84473a0346f0b54f78d40331896c420">FP_256PMW_div2</a></div><div class="ttdeci">void FP_256PMW_div2(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:515</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_aa3144bad1a3a3cb4fda8612b673ef554"><div class="ttname"><a href="fp__256PMW_8h.html#aa3144bad1a3a3cb4fda8612b673ef554">FP_256PMW_sqr</a></div><div class="ttdeci">void FP_256PMW_sqr(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:366</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_ab84473a0346f0b54f78d40331896c420"><div class="ttname"><a href="fp__256PMW_8h.html#ab84473a0346f0b54f78d40331896c420">FP_256PMW_div2</a></div><div class="ttdeci">void FP_256PMW_div2(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:515</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_aa3144bad1a3a3cb4fda8612b673ef554"><div class="ttname"><a href="fp__256PMW_8h.html#aa3144bad1a3a3cb4fda8612b673ef554">FP_256PMW_sqr</a></div><div class="ttdeci">void FP_256PMW_sqr(FP_256PMW *x, FP_256PMW *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:366</div></div>
 <div class="ttc" id="structFP__256PMW_html_a207d075c611c8a6b9e267410df6fdb0c"><div class="ttname"><a href="structFP__256PMW.html#a207d075c611c8a6b9e267410df6fdb0c">FP_256PMW::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_256PMW.h:41</div></div>
-<div class="ttc" id="fp__256PMW_8h_html_a449c10e9f86e9e8a62e7328bbafe4b29"><div class="ttname"><a href="fp__256PMW_8h.html#a449c10e9f86e9e8a62e7328bbafe4b29">FP_256PMW_add</a></div><div class="ttdeci">void FP_256PMW_add(FP_256PMW *x, FP_256PMW *y, FP_256PMW *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:385</div></div>
+<div class="ttc" id="fp__256PMW_8h_html_a449c10e9f86e9e8a62e7328bbafe4b29"><div class="ttname"><a href="fp__256PMW_8h.html#a449c10e9f86e9e8a62e7328bbafe4b29">FP_256PMW_add</a></div><div class="ttdeci">void FP_256PMW_add(FP_256PMW *x, FP_256PMW *y, FP_256PMW *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_256PMW.c:385</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/fp__384PM_8h.html b/website/static/cdocs/fp__384PM_8h.html
index 5d42891..f069f29 100644
--- a/website/static/cdocs/fp__384PM_8h.html
+++ b/website/static/cdocs/fp__384PM_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: fp_384PM.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"
@@ -1195,7 +1198,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/fp__384PM_8h_source.html b/website/static/cdocs/fp__384PM_8h_source.html
index 6b324d2..90d9dae 100644
--- a/website/static/cdocs/fp__384PM_8h_source.html
+++ b/website/static/cdocs/fp__384PM_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: fp_384PM.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,49 +72,49 @@
 <div class="title">fp_384PM.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__384PM_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 FP_384PM_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_384PM_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 &quot;<a class="code" href="big__384__56_8h.html">big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_384PM.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__384PM.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e">   40</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__384PM.html#a4a060ef1ff10d97ecd52406b3d99dc7f">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__384PM.html#a4a060ef1ff10d97ecd52406b3d99dc7f">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__384PM.html">FP_384PM</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__384PM_8h.html#a2535cab63466e7b47f73ff66b1878774">Modulus_384PM</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__384PM_8h.html#a264ba762aac1229247ede7cb192b3cb0">R2modp_384PM</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__384PM_8h.html#a112c3f4124d808391163430f3d3bb06d">MConst_384PM</a>;                </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#aad2454120395608b371b4d2a695ac3e7">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_384PM MBITS_384PM                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#ac50a6a86f416ab8b272f2189829aaf24">   52</a></span>&#160;<span class="preprocessor">#define TBITS_384PM (MBITS_384PM%BASEBITS_384_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#a6622adb7e30e7586be4cfd8ad7f7ab0c">   53</a></span>&#160;<span class="preprocessor">#define TMASK_384PM (((chunk)1&lt;&lt;TBITS_384PM)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#a09850d89909bfe78ed9c008c213aa256">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_384PM (((sign32)1&lt;&lt;MAXXES_384PM)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#ada09e67c410f61867d5afcb675491b65">   55</a></span>&#160;<span class="preprocessor">#define OMASK_384PM (-((chunk)(1)&lt;&lt;TBITS_384PM))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__384PM_8h.html#ad149b9bd2d2849551ab09189fb646bc0">FP_384PM_iszilch</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a4cd468adf3db4bf7b0c120ca49cb4569">FP_384PM_zero</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#ad47f8e5c6dba86c591153d49fa18523b">FP_384PM_copy</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a79f61c55dbc0a684aa3f6a57b483eae6">FP_384PM_rcopy</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__384PM_8h.html#ac9554257da351bf801e9e9b7a0219045">FP_384PM_equals</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__384PM_8h.html#a7fbe0362094fd87c46241cb2288344f5">FP_384PM_cswap</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</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="fp__384PM_8h.html#a7ae847b1c71dfb76f7330d36f60f6ba7">FP_384PM_cmove</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</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="fp__384PM_8h.html#ac71dd67bf823209a4e92432a6f84663b">FP_384PM_nres</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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="fp__384PM_8h.html#acdba1635a5c0b11970ff9183886a79ee">FP_384PM_redc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a5bf2507d3c286062b3a19c9478073748">FP_384PM_one</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a4c7e10163994e9a6f08e888887f98669">FP_384PM_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> r,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_384PM_modmul(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__384PM_8h.html#a7c2dfe6baf86cb5e788593cb6bbe5091">FP_384PM_mul</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *z);</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="fp__384PM_8h.html#a96d3dd42cbd4b29aec996adac8878871">FP_384PM_imul</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a91872f7bfd9d85752ac40d61247d46c3">FP_384PM_sqr</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#af6d075886ab80ee10be2c731ba1c5850">FP_384PM_add</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a27f95bd26fc64a36ac3c37dbea6c6748">FP_384PM_sub</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#af6b1a08a4a434df4d136d1ee3fdf1d92">FP_384PM_div2</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a93675b1f77192fc0e483d4280c91dd15">FP_384PM_pow</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a25719f65c2a95e48b220bb1101b8644d">FP_384PM_sqrt</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a1c3971755416db0fbc82b1b219ae5a43">FP_384PM_neg</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a442d166db3a69bcb72a442c39313598d">FP_384PM_output</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a42f2e0bdf609154faffc64dd6a054d8b">FP_384PM_rawoutput</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a6c9989caf6549ed4ff90bd2216707d25">FP_384PM_reduce</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a8cbb4b2d557d1a22a18c2478e247d7b8">FP_384PM_norm</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__384PM_8h.html#a0ca8088f1bc73773772e39aea6e8465c">FP_384PM_qr</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a10263d3427f81d6f68b6d2195a5929fe">FP_384PM_inv</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__384PM_8h_html_acdba1635a5c0b11970ff9183886a79ee"><div class="ttname"><a href="fp__384PM_8h.html#acdba1635a5c0b11970ff9183886a79ee">FP_384PM_redc</a></div><div class="ttdeci">void FP_384PM_redc(BIG_384_56 x, FP_384PM *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:97</div></div>
+<a href="fp__384PM_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 FP_384PM_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_384PM_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 &quot;<a class="code" href="big__384__56_8h.html">big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_384PM.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__384PM.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e">   40</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__384PM.html#a4a060ef1ff10d97ecd52406b3d99dc7f">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__384PM.html#a4a060ef1ff10d97ecd52406b3d99dc7f">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__384PM.html">FP_384PM</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__384PM_8h.html#a2535cab63466e7b47f73ff66b1878774">Modulus_384PM</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__384PM_8h.html#a264ba762aac1229247ede7cb192b3cb0">R2modp_384PM</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__384PM_8h.html#a112c3f4124d808391163430f3d3bb06d">MConst_384PM</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#aad2454120395608b371b4d2a695ac3e7">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_384PM MBITS_384PM                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#ac50a6a86f416ab8b272f2189829aaf24">   52</a></span>&#160;<span class="preprocessor">#define TBITS_384PM (MBITS_384PM%BASEBITS_384_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#a6622adb7e30e7586be4cfd8ad7f7ab0c">   53</a></span>&#160;<span class="preprocessor">#define TMASK_384PM (((chunk)1&lt;&lt;TBITS_384PM)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#a09850d89909bfe78ed9c008c213aa256">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_384PM (((sign32)1&lt;&lt;MAXXES_384PM)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__384PM_8h.html#ada09e67c410f61867d5afcb675491b65">   55</a></span>&#160;<span class="preprocessor">#define OMASK_384PM (-((chunk)(1)&lt;&lt;TBITS_384PM))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__384PM_8h.html#ad149b9bd2d2849551ab09189fb646bc0">FP_384PM_iszilch</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a4cd468adf3db4bf7b0c120ca49cb4569">FP_384PM_zero</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#ad47f8e5c6dba86c591153d49fa18523b">FP_384PM_copy</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a79f61c55dbc0a684aa3f6a57b483eae6">FP_384PM_rcopy</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__384PM_8h.html#ac9554257da351bf801e9e9b7a0219045">FP_384PM_equals</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__384PM_8h.html#a7fbe0362094fd87c46241cb2288344f5">FP_384PM_cswap</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</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="fp__384PM_8h.html#a7ae847b1c71dfb76f7330d36f60f6ba7">FP_384PM_cmove</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</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="fp__384PM_8h.html#ac71dd67bf823209a4e92432a6f84663b">FP_384PM_nres</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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="fp__384PM_8h.html#acdba1635a5c0b11970ff9183886a79ee">FP_384PM_redc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a5bf2507d3c286062b3a19c9478073748">FP_384PM_one</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a4c7e10163994e9a6f08e888887f98669">FP_384PM_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> r,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_384PM_modmul(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__384PM_8h.html#a7c2dfe6baf86cb5e788593cb6bbe5091">FP_384PM_mul</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *z);</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="fp__384PM_8h.html#a96d3dd42cbd4b29aec996adac8878871">FP_384PM_imul</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a91872f7bfd9d85752ac40d61247d46c3">FP_384PM_sqr</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#af6d075886ab80ee10be2c731ba1c5850">FP_384PM_add</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a27f95bd26fc64a36ac3c37dbea6c6748">FP_384PM_sub</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="structFP__384PM.html">FP_384PM</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#af6b1a08a4a434df4d136d1ee3fdf1d92">FP_384PM_div2</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a93675b1f77192fc0e483d4280c91dd15">FP_384PM_pow</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a25719f65c2a95e48b220bb1101b8644d">FP_384PM_sqrt</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a1c3971755416db0fbc82b1b219ae5a43">FP_384PM_neg</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a442d166db3a69bcb72a442c39313598d">FP_384PM_output</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a42f2e0bdf609154faffc64dd6a054d8b">FP_384PM_rawoutput</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a6c9989caf6549ed4ff90bd2216707d25">FP_384PM_reduce</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a8cbb4b2d557d1a22a18c2478e247d7b8">FP_384PM_norm</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__384PM_8h.html#a0ca8088f1bc73773772e39aea6e8465c">FP_384PM_qr</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__384PM_8h.html#a10263d3427f81d6f68b6d2195a5929fe">FP_384PM_inv</a>(<a class="code" href="structFP__384PM.html">FP_384PM</a> *x,<a class="code" href="structFP__384PM.html">FP_384PM</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__384PM_8h_html_acdba1635a5c0b11970ff9183886a79ee"><div class="ttname"><a href="fp__384PM_8h.html#acdba1635a5c0b11970ff9183886a79ee">FP_384PM_redc</a></div><div class="ttdeci">void FP_384PM_redc(BIG_384_56 x, FP_384PM *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:97</div></div>
 <div class="ttc" id="structFP__384PM_html_a4a060ef1ff10d97ecd52406b3d99dc7f"><div class="ttname"><a href="structFP__384PM.html#a4a060ef1ff10d97ecd52406b3d99dc7f">FP_384PM::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_384PM.h:41</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a7ae847b1c71dfb76f7330d36f60f6ba7"><div class="ttname"><a href="fp__384PM_8h.html#a7ae847b1c71dfb76f7330d36f60f6ba7">FP_384PM_cmove</a></div><div class="ttdeci">void FP_384PM_cmove(FP_384PM *x, FP_384PM *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:243</div></div>
-<div class="ttc" id="fp__384PM_8h_html_ac71dd67bf823209a4e92432a6f84663b"><div class="ttname"><a href="fp__384PM_8h.html#ac71dd67bf823209a4e92432a6f84663b">FP_384PM_nres</a></div><div class="ttdeci">void FP_384PM_nres(FP_384PM *y, BIG_384_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:90</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a7c2dfe6baf86cb5e788593cb6bbe5091"><div class="ttname"><a href="fp__384PM_8h.html#a7c2dfe6baf86cb5e788593cb6bbe5091">FP_384PM_mul</a></div><div class="ttdeci">void FP_384PM_mul(FP_384PM *x, FP_384PM *y, FP_384PM *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:297</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a96d3dd42cbd4b29aec996adac8878871"><div class="ttname"><a href="fp__384PM_8h.html#a96d3dd42cbd4b29aec996adac8878871">FP_384PM_imul</a></div><div class="ttdeci">void FP_384PM_imul(FP_384PM *x, FP_384PM *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:321</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a7ae847b1c71dfb76f7330d36f60f6ba7"><div class="ttname"><a href="fp__384PM_8h.html#a7ae847b1c71dfb76f7330d36f60f6ba7">FP_384PM_cmove</a></div><div class="ttdeci">void FP_384PM_cmove(FP_384PM *x, FP_384PM *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:243</div></div>
+<div class="ttc" id="fp__384PM_8h_html_ac71dd67bf823209a4e92432a6f84663b"><div class="ttname"><a href="fp__384PM_8h.html#ac71dd67bf823209a4e92432a6f84663b">FP_384PM_nres</a></div><div class="ttdeci">void FP_384PM_nres(FP_384PM *y, BIG_384_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:90</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a7c2dfe6baf86cb5e788593cb6bbe5091"><div class="ttname"><a href="fp__384PM_8h.html#a7c2dfe6baf86cb5e788593cb6bbe5091">FP_384PM_mul</a></div><div class="ttdeci">void FP_384PM_mul(FP_384PM *x, FP_384PM *y, FP_384PM *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:297</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a96d3dd42cbd4b29aec996adac8878871"><div class="ttname"><a href="fp__384PM_8h.html#a96d3dd42cbd4b29aec996adac8878871">FP_384PM_imul</a></div><div class="ttdeci">void FP_384PM_imul(FP_384PM *x, FP_384PM *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:321</div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a42f2e0bdf609154faffc64dd6a054d8b"><div class="ttname"><a href="fp__384PM_8h.html#a42f2e0bdf609154faffc64dd6a054d8b">FP_384PM_rawoutput</a></div><div class="ttdeci">void FP_384PM_rawoutput(FP_384PM *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:277</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a0ca8088f1bc73773772e39aea6e8465c"><div class="ttname"><a href="fp__384PM_8h.html#a0ca8088f1bc73773772e39aea6e8465c">FP_384PM_qr</a></div><div class="ttdeci">int FP_384PM_qr(FP_384PM *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:731</div></div>
-<div class="ttc" id="fp__384PM_8h_html_ac9554257da351bf801e9e9b7a0219045"><div class="ttname"><a href="fp__384PM_8h.html#ac9554257da351bf801e9e9b7a0219045">FP_384PM_equals</a></div><div class="ttdeci">int FP_384PM_equals(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:257</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a6c9989caf6549ed4ff90bd2216707d25"><div class="ttname"><a href="fp__384PM_8h.html#a6c9989caf6549ed4ff90bd2216707d25">FP_384PM_reduce</a></div><div class="ttdeci">void FP_384PM_reduce(FP_384PM *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:449</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a42f2e0bdf609154faffc64dd6a054d8b"><div class="ttname"><a href="fp__384PM_8h.html#a42f2e0bdf609154faffc64dd6a054d8b">FP_384PM_rawoutput</a></div><div class="ttdeci">void FP_384PM_rawoutput(FP_384PM *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:277</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a0ca8088f1bc73773772e39aea6e8465c"><div class="ttname"><a href="fp__384PM_8h.html#a0ca8088f1bc73773772e39aea6e8465c">FP_384PM_qr</a></div><div class="ttdeci">int FP_384PM_qr(FP_384PM *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:731</div></div>
+<div class="ttc" id="fp__384PM_8h_html_ac9554257da351bf801e9e9b7a0219045"><div class="ttname"><a href="fp__384PM_8h.html#ac9554257da351bf801e9e9b7a0219045">FP_384PM_equals</a></div><div class="ttdeci">int FP_384PM_equals(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:257</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a6c9989caf6549ed4ff90bd2216707d25"><div class="ttname"><a href="fp__384PM_8h.html#a6c9989caf6549ed4ff90bd2216707d25">FP_384PM_reduce</a></div><div class="ttdeci">void FP_384PM_reduce(FP_384PM *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:449</div></div>
 <div class="ttc" id="fp__384PM_8h_html_a2535cab63466e7b47f73ff66b1878774"><div class="ttname"><a href="fp__384PM_8h.html#a2535cab63466e7b47f73ff66b1878774">Modulus_384PM</a></div><div class="ttdeci">const BIG_384_56 Modulus_384PM</div></div>
 <div class="ttc" id="big__384__56_8h_html_a6c518f0c183c5deeb8cf6f8245d0d40c"><div class="ttname"><a href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a></div><div class="ttdeci">chunk DBIG_384_56[DNLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:59</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a7fbe0362094fd87c46241cb2288344f5"><div class="ttname"><a href="fp__384PM_8h.html#a7fbe0362094fd87c46241cb2288344f5">FP_384PM_cswap</a></div><div class="ttdeci">void FP_384PM_cswap(FP_384PM *x, FP_384PM *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:230</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a7fbe0362094fd87c46241cb2288344f5"><div class="ttname"><a href="fp__384PM_8h.html#a7fbe0362094fd87c46241cb2288344f5">FP_384PM_cswap</a></div><div class="ttdeci">void FP_384PM_cswap(FP_384PM *x, FP_384PM *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:230</div></div>
 <div class="ttc" id="fp__384PM_8h_html_a112c3f4124d808391163430f3d3bb06d"><div class="ttname"><a href="fp__384PM_8h.html#a112c3f4124d808391163430f3d3bb06d">MConst_384PM</a></div><div class="ttdeci">const chunk MConst_384PM</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a1c3971755416db0fbc82b1b219ae5a43"><div class="ttname"><a href="fp__384PM_8h.html#a1c3971755416db0fbc82b1b219ae5a43">FP_384PM_neg</a></div><div class="ttdeci">void FP_384PM_neg(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:491</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a4c7e10163994e9a6f08e888887f98669"><div class="ttname"><a href="fp__384PM_8h.html#a4c7e10163994e9a6f08e888887f98669">FP_384PM_mod</a></div><div class="ttdeci">void FP_384PM_mod(BIG_384_56 r, DBIG_384_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:103</div></div>
-<div class="ttc" id="big__384__56_8h_html"><div class="ttname"><a href="big__384__56_8h.html">big_384_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a1c3971755416db0fbc82b1b219ae5a43"><div class="ttname"><a href="fp__384PM_8h.html#a1c3971755416db0fbc82b1b219ae5a43">FP_384PM_neg</a></div><div class="ttdeci">void FP_384PM_neg(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:491</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a4c7e10163994e9a6f08e888887f98669"><div class="ttname"><a href="fp__384PM_8h.html#a4c7e10163994e9a6f08e888887f98669">FP_384PM_mod</a></div><div class="ttdeci">void FP_384PM_mod(BIG_384_56 r, DBIG_384_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:103</div></div>
+<div class="ttc" id="big__384__56_8h_html"><div class="ttname"><a href="big__384__56_8h.html">big_384_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="fp__384PM_8h_html_a264ba762aac1229247ede7cb192b3cb0"><div class="ttname"><a href="fp__384PM_8h.html#a264ba762aac1229247ede7cb192b3cb0">R2modp_384PM</a></div><div class="ttdeci">const BIG_384_56 R2modp_384PM</div></div>
-<div class="ttc" id="fp__384PM_8h_html_af6b1a08a4a434df4d136d1ee3fdf1d92"><div class="ttname"><a href="fp__384PM_8h.html#af6b1a08a4a434df4d136d1ee3fdf1d92">FP_384PM_div2</a></div><div class="ttdeci">void FP_384PM_div2(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:515</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a10263d3427f81d6f68b6d2195a5929fe"><div class="ttname"><a href="fp__384PM_8h.html#a10263d3427f81d6f68b6d2195a5929fe">FP_384PM_inv</a></div><div class="ttdeci">void FP_384PM_inv(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:648</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a5bf2507d3c286062b3a19c9478073748"><div class="ttname"><a href="fp__384PM_8h.html#a5bf2507d3c286062b3a19c9478073748">FP_384PM_one</a></div><div class="ttdeci">void FP_384PM_one(FP_384PM *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:723</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a442d166db3a69bcb72a442c39313598d"><div class="ttname"><a href="fp__384PM_8h.html#a442d166db3a69bcb72a442c39313598d">FP_384PM_output</a></div><div class="ttdeci">void FP_384PM_output(FP_384PM *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:270</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a8cbb4b2d557d1a22a18c2478e247d7b8"><div class="ttname"><a href="fp__384PM_8h.html#a8cbb4b2d557d1a22a18c2478e247d7b8">FP_384PM_norm</a></div><div class="ttdeci">void FP_384PM_norm(FP_384PM *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:484</div></div>
+<div class="ttc" id="fp__384PM_8h_html_af6b1a08a4a434df4d136d1ee3fdf1d92"><div class="ttname"><a href="fp__384PM_8h.html#af6b1a08a4a434df4d136d1ee3fdf1d92">FP_384PM_div2</a></div><div class="ttdeci">void FP_384PM_div2(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:515</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a10263d3427f81d6f68b6d2195a5929fe"><div class="ttname"><a href="fp__384PM_8h.html#a10263d3427f81d6f68b6d2195a5929fe">FP_384PM_inv</a></div><div class="ttdeci">void FP_384PM_inv(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:648</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a5bf2507d3c286062b3a19c9478073748"><div class="ttname"><a href="fp__384PM_8h.html#a5bf2507d3c286062b3a19c9478073748">FP_384PM_one</a></div><div class="ttdeci">void FP_384PM_one(FP_384PM *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:723</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a442d166db3a69bcb72a442c39313598d"><div class="ttname"><a href="fp__384PM_8h.html#a442d166db3a69bcb72a442c39313598d">FP_384PM_output</a></div><div class="ttdeci">void FP_384PM_output(FP_384PM *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:270</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a8cbb4b2d557d1a22a18c2478e247d7b8"><div class="ttname"><a href="fp__384PM_8h.html#a8cbb4b2d557d1a22a18c2478e247d7b8">FP_384PM_norm</a></div><div class="ttdeci">void FP_384PM_norm(FP_384PM *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:484</div></div>
 <div class="ttc" id="structFP__384PM_html_ae806d72afd1fa22f3335cbe5ae9e915e"><div class="ttname"><a href="structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e">FP_384PM::g</a></div><div class="ttdeci">BIG_384_56 g</div><div class="ttdef"><b>Definition:</b> fp_384PM.h:40</div></div>
-<div class="ttc" id="fp__384PM_8h_html_ad47f8e5c6dba86c591153d49fa18523b"><div class="ttname"><a href="fp__384PM_8h.html#ad47f8e5c6dba86c591153d49fa18523b">FP_384PM_copy</a></div><div class="ttdeci">void FP_384PM_copy(FP_384PM *y, FP_384PM *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:216</div></div>
+<div class="ttc" id="fp__384PM_8h_html_ad47f8e5c6dba86c591153d49fa18523b"><div class="ttname"><a href="fp__384PM_8h.html#ad47f8e5c6dba86c591153d49fa18523b">FP_384PM_copy</a></div><div class="ttdeci">void FP_384PM_copy(FP_384PM *y, FP_384PM *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:216</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a93675b1f77192fc0e483d4280c91dd15"><div class="ttname"><a href="fp__384PM_8h.html#a93675b1f77192fc0e483d4280c91dd15">FP_384PM_pow</a></div><div class="ttdeci">void FP_384PM_pow(FP_384PM *x, FP_384PM *y, BIG_384_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a27f95bd26fc64a36ac3c37dbea6c6748"><div class="ttname"><a href="fp__384PM_8h.html#a27f95bd26fc64a36ac3c37dbea6c6748">FP_384PM_sub</a></div><div class="ttdeci">void FP_384PM_sub(FP_384PM *x, FP_384PM *y, FP_384PM *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:400</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a91872f7bfd9d85752ac40d61247d46c3"><div class="ttname"><a href="fp__384PM_8h.html#a91872f7bfd9d85752ac40d61247d46c3">FP_384PM_sqr</a></div><div class="ttdeci">void FP_384PM_sqr(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:366</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a25719f65c2a95e48b220bb1101b8644d"><div class="ttname"><a href="fp__384PM_8h.html#a25719f65c2a95e48b220bb1101b8644d">FP_384PM_sqrt</a></div><div class="ttdeci">void FP_384PM_sqrt(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:747</div></div>
-<div class="ttc" id="fp__384PM_8h_html_ad149b9bd2d2849551ab09189fb646bc0"><div class="ttname"><a href="fp__384PM_8h.html#ad149b9bd2d2849551ab09189fb646bc0">FP_384PM_iszilch</a></div><div class="ttdeci">int FP_384PM_iszilch(FP_384PM *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:207</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a93675b1f77192fc0e483d4280c91dd15"><div class="ttname"><a href="fp__384PM_8h.html#a93675b1f77192fc0e483d4280c91dd15">FP_384PM_pow</a></div><div class="ttdeci">void FP_384PM_pow(FP_384PM *x, FP_384PM *y, BIG_384_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__384PM_8h_html_a27f95bd26fc64a36ac3c37dbea6c6748"><div class="ttname"><a href="fp__384PM_8h.html#a27f95bd26fc64a36ac3c37dbea6c6748">FP_384PM_sub</a></div><div class="ttdeci">void FP_384PM_sub(FP_384PM *x, FP_384PM *y, FP_384PM *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:400</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a91872f7bfd9d85752ac40d61247d46c3"><div class="ttname"><a href="fp__384PM_8h.html#a91872f7bfd9d85752ac40d61247d46c3">FP_384PM_sqr</a></div><div class="ttdeci">void FP_384PM_sqr(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:366</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a25719f65c2a95e48b220bb1101b8644d"><div class="ttname"><a href="fp__384PM_8h.html#a25719f65c2a95e48b220bb1101b8644d">FP_384PM_sqrt</a></div><div class="ttdeci">void FP_384PM_sqrt(FP_384PM *x, FP_384PM *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:747</div></div>
+<div class="ttc" id="fp__384PM_8h_html_ad149b9bd2d2849551ab09189fb646bc0"><div class="ttname"><a href="fp__384PM_8h.html#ad149b9bd2d2849551ab09189fb646bc0">FP_384PM_iszilch</a></div><div class="ttdeci">int FP_384PM_iszilch(FP_384PM *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:207</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="fp__384PM_8h_html_af6d075886ab80ee10be2c731ba1c5850"><div class="ttname"><a href="fp__384PM_8h.html#af6d075886ab80ee10be2c731ba1c5850">FP_384PM_add</a></div><div class="ttdeci">void FP_384PM_add(FP_384PM *x, FP_384PM *y, FP_384PM *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:385</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a4cd468adf3db4bf7b0c120ca49cb4569"><div class="ttname"><a href="fp__384PM_8h.html#a4cd468adf3db4bf7b0c120ca49cb4569">FP_384PM_zero</a></div><div class="ttdeci">void FP_384PM_zero(FP_384PM *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:251</div></div>
-<div class="ttc" id="fp__384PM_8h_html_a79f61c55dbc0a684aa3f6a57b483eae6"><div class="ttname"><a href="fp__384PM_8h.html#a79f61c55dbc0a684aa3f6a57b483eae6">FP_384PM_rcopy</a></div><div class="ttdeci">void FP_384PM_rcopy(FP_384PM *y, const BIG_384_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_384PM.c:222</div></div>
-<div class="ttc" id="structFP__384PM_html"><div class="ttname"><a href="structFP__384PM.html">FP_384PM</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_384PM.h:38</div></div>
+<div class="ttc" id="fp__384PM_8h_html_af6d075886ab80ee10be2c731ba1c5850"><div class="ttname"><a href="fp__384PM_8h.html#af6d075886ab80ee10be2c731ba1c5850">FP_384PM_add</a></div><div class="ttdeci">void FP_384PM_add(FP_384PM *x, FP_384PM *y, FP_384PM *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:385</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a4cd468adf3db4bf7b0c120ca49cb4569"><div class="ttname"><a href="fp__384PM_8h.html#a4cd468adf3db4bf7b0c120ca49cb4569">FP_384PM_zero</a></div><div class="ttdeci">void FP_384PM_zero(FP_384PM *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:251</div></div>
+<div class="ttc" id="fp__384PM_8h_html_a79f61c55dbc0a684aa3f6a57b483eae6"><div class="ttname"><a href="fp__384PM_8h.html#a79f61c55dbc0a684aa3f6a57b483eae6">FP_384PM_rcopy</a></div><div class="ttdeci">void FP_384PM_rcopy(FP_384PM *y, const BIG_384_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_384PM.c:222</div></div>
+<div class="ttc" id="structFP__384PM_html"><div class="ttname"><a href="structFP__384PM.html">FP_384PM</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_384PM.h:38</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/fp__512PM_8h.html b/website/static/cdocs/fp__512PM_8h.html
index da0a24e..76246f5 100644
--- a/website/static/cdocs/fp__512PM_8h.html
+++ b/website/static/cdocs/fp__512PM_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: fp_512PM.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"
@@ -1195,7 +1198,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/fp__512PM_8h_source.html b/website/static/cdocs/fp__512PM_8h_source.html
index 1bacef5..cc8cf51 100644
--- a/website/static/cdocs/fp__512PM_8h_source.html
+++ b/website/static/cdocs/fp__512PM_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: fp_512PM.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,49 +72,49 @@
 <div class="title">fp_512PM.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__512PM_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 FP_512PM_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_512PM_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 &quot;<a class="code" href="big__512__56_8h.html">big_512_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_512PM.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__512PM.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8">   40</a></span>&#160;    <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__512PM.html#a8dc365c346ca97414481df52b653de44">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__512PM.html#a8dc365c346ca97414481df52b653de44">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__512PM.html">FP_512PM</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="fp__512PM_8h.html#a5dc6a3221fb0d116be5f4ff01958b559">Modulus_512PM</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="fp__512PM_8h.html#a883c8eb6036a05f1249f76ddc991f3b9">R2modp_512PM</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__512PM_8h.html#a0ba7a6b5fa787844aeef4b31727df9af">MConst_512PM</a>;                </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a46ecf856fcd961b3f81501d22c38c3f2">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_512PM MBITS_512PM                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a5b7e9c74701c4ee586973da0d3d22916">   52</a></span>&#160;<span class="preprocessor">#define TBITS_512PM (MBITS_512PM%BASEBITS_512_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a88c9cdf5690322ba66b756c38e8de0de">   53</a></span>&#160;<span class="preprocessor">#define TMASK_512PM (((chunk)1&lt;&lt;TBITS_512PM)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a53a5fc5689a588f70728699a4f9adbc3">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_512PM (((sign32)1&lt;&lt;MAXXES_512PM)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a653d51995946cefb3421c5b9eb6d1547">   55</a></span>&#160;<span class="preprocessor">#define OMASK_512PM (-((chunk)(1)&lt;&lt;TBITS_512PM))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__512PM_8h.html#ada33b37287cfcce529e1a70d1a6e71cb">FP_512PM_iszilch</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#acc75431e8c31cda898a820e79306939e">FP_512PM_zero</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ab84fff2498a56cdb217bb5a2dde6ddc0">FP_512PM_copy</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a8f1462b68ca539fd272884834cea0d52">FP_512PM_rcopy</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__512PM_8h.html#a22a071592627d535b2a02ad45f8fcc99">FP_512PM_equals</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__512PM_8h.html#a21042e17e48a095870068eaafd8003b6">FP_512PM_cswap</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</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="fp__512PM_8h.html#ad195ab5fb427285ca65d85ae23361373">FP_512PM_cmove</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</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="fp__512PM_8h.html#a7c7898d7291c90de4207416d36fc473b">FP_512PM_nres</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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="fp__512PM_8h.html#a1704a0cded5919f486685cdd15f178a6">FP_512PM_redc</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a1eda740648315cb9e24d12b872b15215">FP_512PM_one</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a12c429fd51c2629fadd08f961f5f3106">FP_512PM_mod</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> r,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_512PM_modmul(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__512PM_8h.html#a0cc4206a0672409e2055cb9863a57309">FP_512PM_mul</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *z);</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="fp__512PM_8h.html#a992dfb0f4f9b2cf7991b509b15fa5d8d">FP_512PM_imul</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#aaecc9fe4c450ff8b1d5876c9edacef94">FP_512PM_sqr</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#af7315b6321ed8f14d63ea2fb71752a8d">FP_512PM_add</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a35c303274b297260ac69d7a7b57046c2">FP_512PM_sub</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#abacff10ad10de7cbac745d3389d627ee">FP_512PM_div2</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a712cbdf6c572a2baef283bca09d9408d">FP_512PM_pow</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a4c7a1474696d2238b8e0c6ed32cf3256">FP_512PM_sqrt</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#aa13531d79f51441dfebedb5bb9009d76">FP_512PM_neg</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#af2e85d3f3c06b7b9c54e4f2ed0c3f5bc">FP_512PM_output</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a2b03d0b46f899bc6a722721fc7b30f56">FP_512PM_rawoutput</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ae77c2b9c3ad159cbaedb41eef286a28e">FP_512PM_reduce</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ad2df7998417beb41fecacb009e3c588c">FP_512PM_norm</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__512PM_8h.html#a0783222efa08c0d6cc96a36e245a6c3f">FP_512PM_qr</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ad8b81dda2bf24304f5761ec394c40dc3">FP_512PM_inv</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__512PM_8h_html_abacff10ad10de7cbac745d3389d627ee"><div class="ttname"><a href="fp__512PM_8h.html#abacff10ad10de7cbac745d3389d627ee">FP_512PM_div2</a></div><div class="ttdeci">void FP_512PM_div2(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:515</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a35c303274b297260ac69d7a7b57046c2"><div class="ttname"><a href="fp__512PM_8h.html#a35c303274b297260ac69d7a7b57046c2">FP_512PM_sub</a></div><div class="ttdeci">void FP_512PM_sub(FP_512PM *x, FP_512PM *y, FP_512PM *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:400</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a1eda740648315cb9e24d12b872b15215"><div class="ttname"><a href="fp__512PM_8h.html#a1eda740648315cb9e24d12b872b15215">FP_512PM_one</a></div><div class="ttdeci">void FP_512PM_one(FP_512PM *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:723</div></div>
-<div class="ttc" id="fp__512PM_8h_html_af2e85d3f3c06b7b9c54e4f2ed0c3f5bc"><div class="ttname"><a href="fp__512PM_8h.html#af2e85d3f3c06b7b9c54e4f2ed0c3f5bc">FP_512PM_output</a></div><div class="ttdeci">void FP_512PM_output(FP_512PM *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:270</div></div>
+<a href="fp__512PM_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 FP_512PM_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_512PM_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 &quot;<a class="code" href="big__512__56_8h.html">big_512_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_512PM.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__512PM.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8">   40</a></span>&#160;    <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__512PM.html#a8dc365c346ca97414481df52b653de44">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__512PM.html#a8dc365c346ca97414481df52b653de44">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__512PM.html">FP_512PM</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="fp__512PM_8h.html#a5dc6a3221fb0d116be5f4ff01958b559">Modulus_512PM</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> <a class="code" href="fp__512PM_8h.html#a883c8eb6036a05f1249f76ddc991f3b9">R2modp_512PM</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__512PM_8h.html#a0ba7a6b5fa787844aeef4b31727df9af">MConst_512PM</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a46ecf856fcd961b3f81501d22c38c3f2">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_512PM MBITS_512PM                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a5b7e9c74701c4ee586973da0d3d22916">   52</a></span>&#160;<span class="preprocessor">#define TBITS_512PM (MBITS_512PM%BASEBITS_512_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a88c9cdf5690322ba66b756c38e8de0de">   53</a></span>&#160;<span class="preprocessor">#define TMASK_512PM (((chunk)1&lt;&lt;TBITS_512PM)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a53a5fc5689a588f70728699a4f9adbc3">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_512PM (((sign32)1&lt;&lt;MAXXES_512PM)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__512PM_8h.html#a653d51995946cefb3421c5b9eb6d1547">   55</a></span>&#160;<span class="preprocessor">#define OMASK_512PM (-((chunk)(1)&lt;&lt;TBITS_512PM))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__512PM_8h.html#ada33b37287cfcce529e1a70d1a6e71cb">FP_512PM_iszilch</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#acc75431e8c31cda898a820e79306939e">FP_512PM_zero</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ab84fff2498a56cdb217bb5a2dde6ddc0">FP_512PM_copy</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a8f1462b68ca539fd272884834cea0d52">FP_512PM_rcopy</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<span class="keyword">const</span> <a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__512PM_8h.html#a22a071592627d535b2a02ad45f8fcc99">FP_512PM_equals</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__512PM_8h.html#a21042e17e48a095870068eaafd8003b6">FP_512PM_cswap</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</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="fp__512PM_8h.html#ad195ab5fb427285ca65d85ae23361373">FP_512PM_cmove</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</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="fp__512PM_8h.html#a7c7898d7291c90de4207416d36fc473b">FP_512PM_nres</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</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="fp__512PM_8h.html#a1704a0cded5919f486685cdd15f178a6">FP_512PM_redc</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a1eda740648315cb9e24d12b872b15215">FP_512PM_one</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a12c429fd51c2629fadd08f961f5f3106">FP_512PM_mod</a>(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> r,<a class="code" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_512PM_modmul(<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__512PM_8h.html#a0cc4206a0672409e2055cb9863a57309">FP_512PM_mul</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *z);</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="fp__512PM_8h.html#a992dfb0f4f9b2cf7991b509b15fa5d8d">FP_512PM_imul</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#aaecc9fe4c450ff8b1d5876c9edacef94">FP_512PM_sqr</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#af7315b6321ed8f14d63ea2fb71752a8d">FP_512PM_add</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a35c303274b297260ac69d7a7b57046c2">FP_512PM_sub</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="structFP__512PM.html">FP_512PM</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#abacff10ad10de7cbac745d3389d627ee">FP_512PM_div2</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a712cbdf6c572a2baef283bca09d9408d">FP_512PM_pow</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y,<a class="code" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a4c7a1474696d2238b8e0c6ed32cf3256">FP_512PM_sqrt</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#aa13531d79f51441dfebedb5bb9009d76">FP_512PM_neg</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#af2e85d3f3c06b7b9c54e4f2ed0c3f5bc">FP_512PM_output</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#a2b03d0b46f899bc6a722721fc7b30f56">FP_512PM_rawoutput</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ae77c2b9c3ad159cbaedb41eef286a28e">FP_512PM_reduce</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ad2df7998417beb41fecacb009e3c588c">FP_512PM_norm</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__512PM_8h.html#a0783222efa08c0d6cc96a36e245a6c3f">FP_512PM_qr</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__512PM_8h.html#ad8b81dda2bf24304f5761ec394c40dc3">FP_512PM_inv</a>(<a class="code" href="structFP__512PM.html">FP_512PM</a> *x,<a class="code" href="structFP__512PM.html">FP_512PM</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__512PM_8h_html_abacff10ad10de7cbac745d3389d627ee"><div class="ttname"><a href="fp__512PM_8h.html#abacff10ad10de7cbac745d3389d627ee">FP_512PM_div2</a></div><div class="ttdeci">void FP_512PM_div2(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:515</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a35c303274b297260ac69d7a7b57046c2"><div class="ttname"><a href="fp__512PM_8h.html#a35c303274b297260ac69d7a7b57046c2">FP_512PM_sub</a></div><div class="ttdeci">void FP_512PM_sub(FP_512PM *x, FP_512PM *y, FP_512PM *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:400</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a1eda740648315cb9e24d12b872b15215"><div class="ttname"><a href="fp__512PM_8h.html#a1eda740648315cb9e24d12b872b15215">FP_512PM_one</a></div><div class="ttdeci">void FP_512PM_one(FP_512PM *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:723</div></div>
+<div class="ttc" id="fp__512PM_8h_html_af2e85d3f3c06b7b9c54e4f2ed0c3f5bc"><div class="ttname"><a href="fp__512PM_8h.html#af2e85d3f3c06b7b9c54e4f2ed0c3f5bc">FP_512PM_output</a></div><div class="ttdeci">void FP_512PM_output(FP_512PM *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:270</div></div>
 <div class="ttc" id="big__512__56_8h_html_ab11601a54bdce84587a8c0667fbd0e9c"><div class="ttname"><a href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">BIG_512_56</a></div><div class="ttdeci">chunk BIG_512_56[NLEN_512_56]</div><div class="ttdef"><b>Definition:</b> big_512_56.h:58</div></div>
 <div class="ttc" id="structFP__512PM_html_a0495ad3a6faee8db898eb80b7dc5cdc8"><div class="ttname"><a href="structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8">FP_512PM::g</a></div><div class="ttdeci">BIG_512_56 g</div><div class="ttdef"><b>Definition:</b> fp_512PM.h:40</div></div>
-<div class="ttc" id="fp__512PM_8h_html_ad195ab5fb427285ca65d85ae23361373"><div class="ttname"><a href="fp__512PM_8h.html#ad195ab5fb427285ca65d85ae23361373">FP_512PM_cmove</a></div><div class="ttdeci">void FP_512PM_cmove(FP_512PM *x, FP_512PM *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:243</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a0783222efa08c0d6cc96a36e245a6c3f"><div class="ttname"><a href="fp__512PM_8h.html#a0783222efa08c0d6cc96a36e245a6c3f">FP_512PM_qr</a></div><div class="ttdeci">int FP_512PM_qr(FP_512PM *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:731</div></div>
-<div class="ttc" id="fp__512PM_8h_html_ad8b81dda2bf24304f5761ec394c40dc3"><div class="ttname"><a href="fp__512PM_8h.html#ad8b81dda2bf24304f5761ec394c40dc3">FP_512PM_inv</a></div><div class="ttdeci">void FP_512PM_inv(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:648</div></div>
-<div class="ttc" id="fp__512PM_8h_html_af7315b6321ed8f14d63ea2fb71752a8d"><div class="ttname"><a href="fp__512PM_8h.html#af7315b6321ed8f14d63ea2fb71752a8d">FP_512PM_add</a></div><div class="ttdeci">void FP_512PM_add(FP_512PM *x, FP_512PM *y, FP_512PM *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:385</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a12c429fd51c2629fadd08f961f5f3106"><div class="ttname"><a href="fp__512PM_8h.html#a12c429fd51c2629fadd08f961f5f3106">FP_512PM_mod</a></div><div class="ttdeci">void FP_512PM_mod(BIG_512_56 r, DBIG_512_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:103</div></div>
+<div class="ttc" id="fp__512PM_8h_html_ad195ab5fb427285ca65d85ae23361373"><div class="ttname"><a href="fp__512PM_8h.html#ad195ab5fb427285ca65d85ae23361373">FP_512PM_cmove</a></div><div class="ttdeci">void FP_512PM_cmove(FP_512PM *x, FP_512PM *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:243</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a0783222efa08c0d6cc96a36e245a6c3f"><div class="ttname"><a href="fp__512PM_8h.html#a0783222efa08c0d6cc96a36e245a6c3f">FP_512PM_qr</a></div><div class="ttdeci">int FP_512PM_qr(FP_512PM *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:731</div></div>
+<div class="ttc" id="fp__512PM_8h_html_ad8b81dda2bf24304f5761ec394c40dc3"><div class="ttname"><a href="fp__512PM_8h.html#ad8b81dda2bf24304f5761ec394c40dc3">FP_512PM_inv</a></div><div class="ttdeci">void FP_512PM_inv(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:648</div></div>
+<div class="ttc" id="fp__512PM_8h_html_af7315b6321ed8f14d63ea2fb71752a8d"><div class="ttname"><a href="fp__512PM_8h.html#af7315b6321ed8f14d63ea2fb71752a8d">FP_512PM_add</a></div><div class="ttdeci">void FP_512PM_add(FP_512PM *x, FP_512PM *y, FP_512PM *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:385</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a12c429fd51c2629fadd08f961f5f3106"><div class="ttname"><a href="fp__512PM_8h.html#a12c429fd51c2629fadd08f961f5f3106">FP_512PM_mod</a></div><div class="ttdeci">void FP_512PM_mod(BIG_512_56 r, DBIG_512_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:103</div></div>
 <div class="ttc" id="structFP__512PM_html_a8dc365c346ca97414481df52b653de44"><div class="ttname"><a href="structFP__512PM.html#a8dc365c346ca97414481df52b653de44">FP_512PM::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_512PM.h:41</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a8f1462b68ca539fd272884834cea0d52"><div class="ttname"><a href="fp__512PM_8h.html#a8f1462b68ca539fd272884834cea0d52">FP_512PM_rcopy</a></div><div class="ttdeci">void FP_512PM_rcopy(FP_512PM *y, const BIG_512_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:222</div></div>
-<div class="ttc" id="fp__512PM_8h_html_acc75431e8c31cda898a820e79306939e"><div class="ttname"><a href="fp__512PM_8h.html#acc75431e8c31cda898a820e79306939e">FP_512PM_zero</a></div><div class="ttdeci">void FP_512PM_zero(FP_512PM *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:251</div></div>
-<div class="ttc" id="fp__512PM_8h_html_aaecc9fe4c450ff8b1d5876c9edacef94"><div class="ttname"><a href="fp__512PM_8h.html#aaecc9fe4c450ff8b1d5876c9edacef94">FP_512PM_sqr</a></div><div class="ttdeci">void FP_512PM_sqr(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:366</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a4c7a1474696d2238b8e0c6ed32cf3256"><div class="ttname"><a href="fp__512PM_8h.html#a4c7a1474696d2238b8e0c6ed32cf3256">FP_512PM_sqrt</a></div><div class="ttdeci">void FP_512PM_sqrt(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:747</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a22a071592627d535b2a02ad45f8fcc99"><div class="ttname"><a href="fp__512PM_8h.html#a22a071592627d535b2a02ad45f8fcc99">FP_512PM_equals</a></div><div class="ttdeci">int FP_512PM_equals(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:257</div></div>
-<div class="ttc" id="fp__512PM_8h_html_ad2df7998417beb41fecacb009e3c588c"><div class="ttname"><a href="fp__512PM_8h.html#ad2df7998417beb41fecacb009e3c588c">FP_512PM_norm</a></div><div class="ttdeci">void FP_512PM_norm(FP_512PM *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:484</div></div>
-<div class="ttc" id="fp__512PM_8h_html_aa13531d79f51441dfebedb5bb9009d76"><div class="ttname"><a href="fp__512PM_8h.html#aa13531d79f51441dfebedb5bb9009d76">FP_512PM_neg</a></div><div class="ttdeci">void FP_512PM_neg(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:491</div></div>
-<div class="ttc" id="big__512__56_8h_html"><div class="ttname"><a href="big__512__56_8h.html">big_512_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a8f1462b68ca539fd272884834cea0d52"><div class="ttname"><a href="fp__512PM_8h.html#a8f1462b68ca539fd272884834cea0d52">FP_512PM_rcopy</a></div><div class="ttdeci">void FP_512PM_rcopy(FP_512PM *y, const BIG_512_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:222</div></div>
+<div class="ttc" id="fp__512PM_8h_html_acc75431e8c31cda898a820e79306939e"><div class="ttname"><a href="fp__512PM_8h.html#acc75431e8c31cda898a820e79306939e">FP_512PM_zero</a></div><div class="ttdeci">void FP_512PM_zero(FP_512PM *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:251</div></div>
+<div class="ttc" id="fp__512PM_8h_html_aaecc9fe4c450ff8b1d5876c9edacef94"><div class="ttname"><a href="fp__512PM_8h.html#aaecc9fe4c450ff8b1d5876c9edacef94">FP_512PM_sqr</a></div><div class="ttdeci">void FP_512PM_sqr(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:366</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a4c7a1474696d2238b8e0c6ed32cf3256"><div class="ttname"><a href="fp__512PM_8h.html#a4c7a1474696d2238b8e0c6ed32cf3256">FP_512PM_sqrt</a></div><div class="ttdeci">void FP_512PM_sqrt(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:747</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a22a071592627d535b2a02ad45f8fcc99"><div class="ttname"><a href="fp__512PM_8h.html#a22a071592627d535b2a02ad45f8fcc99">FP_512PM_equals</a></div><div class="ttdeci">int FP_512PM_equals(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:257</div></div>
+<div class="ttc" id="fp__512PM_8h_html_ad2df7998417beb41fecacb009e3c588c"><div class="ttname"><a href="fp__512PM_8h.html#ad2df7998417beb41fecacb009e3c588c">FP_512PM_norm</a></div><div class="ttdeci">void FP_512PM_norm(FP_512PM *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:484</div></div>
+<div class="ttc" id="fp__512PM_8h_html_aa13531d79f51441dfebedb5bb9009d76"><div class="ttname"><a href="fp__512PM_8h.html#aa13531d79f51441dfebedb5bb9009d76">FP_512PM_neg</a></div><div class="ttdeci">void FP_512PM_neg(FP_512PM *x, FP_512PM *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:491</div></div>
+<div class="ttc" id="big__512__56_8h_html"><div class="ttname"><a href="big__512__56_8h.html">big_512_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="fp__512PM_8h_html_a5dc6a3221fb0d116be5f4ff01958b559"><div class="ttname"><a href="fp__512PM_8h.html#a5dc6a3221fb0d116be5f4ff01958b559">Modulus_512PM</a></div><div class="ttdeci">const BIG_512_56 Modulus_512PM</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a7c7898d7291c90de4207416d36fc473b"><div class="ttname"><a href="fp__512PM_8h.html#a7c7898d7291c90de4207416d36fc473b">FP_512PM_nres</a></div><div class="ttdeci">void FP_512PM_nres(FP_512PM *y, BIG_512_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:90</div></div>
-<div class="ttc" id="fp__512PM_8h_html_ada33b37287cfcce529e1a70d1a6e71cb"><div class="ttname"><a href="fp__512PM_8h.html#ada33b37287cfcce529e1a70d1a6e71cb">FP_512PM_iszilch</a></div><div class="ttdeci">int FP_512PM_iszilch(FP_512PM *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:207</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a21042e17e48a095870068eaafd8003b6"><div class="ttname"><a href="fp__512PM_8h.html#a21042e17e48a095870068eaafd8003b6">FP_512PM_cswap</a></div><div class="ttdeci">void FP_512PM_cswap(FP_512PM *x, FP_512PM *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:230</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a7c7898d7291c90de4207416d36fc473b"><div class="ttname"><a href="fp__512PM_8h.html#a7c7898d7291c90de4207416d36fc473b">FP_512PM_nres</a></div><div class="ttdeci">void FP_512PM_nres(FP_512PM *y, BIG_512_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:90</div></div>
+<div class="ttc" id="fp__512PM_8h_html_ada33b37287cfcce529e1a70d1a6e71cb"><div class="ttname"><a href="fp__512PM_8h.html#ada33b37287cfcce529e1a70d1a6e71cb">FP_512PM_iszilch</a></div><div class="ttdeci">int FP_512PM_iszilch(FP_512PM *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:207</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a21042e17e48a095870068eaafd8003b6"><div class="ttname"><a href="fp__512PM_8h.html#a21042e17e48a095870068eaafd8003b6">FP_512PM_cswap</a></div><div class="ttdeci">void FP_512PM_cswap(FP_512PM *x, FP_512PM *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:230</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="structFP__512PM_html"><div class="ttname"><a href="structFP__512PM.html">FP_512PM</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_512PM.h:38</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a2b03d0b46f899bc6a722721fc7b30f56"><div class="ttname"><a href="fp__512PM_8h.html#a2b03d0b46f899bc6a722721fc7b30f56">FP_512PM_rawoutput</a></div><div class="ttdeci">void FP_512PM_rawoutput(FP_512PM *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:277</div></div>
-<div class="ttc" id="fp__512PM_8h_html_ab84fff2498a56cdb217bb5a2dde6ddc0"><div class="ttname"><a href="fp__512PM_8h.html#ab84fff2498a56cdb217bb5a2dde6ddc0">FP_512PM_copy</a></div><div class="ttdeci">void FP_512PM_copy(FP_512PM *y, FP_512PM *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:216</div></div>
+<div class="ttc" id="structFP__512PM_html"><div class="ttname"><a href="structFP__512PM.html">FP_512PM</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_512PM.h:38</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a2b03d0b46f899bc6a722721fc7b30f56"><div class="ttname"><a href="fp__512PM_8h.html#a2b03d0b46f899bc6a722721fc7b30f56">FP_512PM_rawoutput</a></div><div class="ttdeci">void FP_512PM_rawoutput(FP_512PM *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:277</div></div>
+<div class="ttc" id="fp__512PM_8h_html_ab84fff2498a56cdb217bb5a2dde6ddc0"><div class="ttname"><a href="fp__512PM_8h.html#ab84fff2498a56cdb217bb5a2dde6ddc0">FP_512PM_copy</a></div><div class="ttdeci">void FP_512PM_copy(FP_512PM *y, FP_512PM *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:216</div></div>
 <div class="ttc" id="big__512__56_8h_html_a34d978f8cc3ea578d6f00eaa0329de11"><div class="ttname"><a href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">DBIG_512_56</a></div><div class="ttdeci">chunk DBIG_512_56[DNLEN_512_56]</div><div class="ttdef"><b>Definition:</b> big_512_56.h:59</div></div>
-<div class="ttc" id="fp__512PM_8h_html_ae77c2b9c3ad159cbaedb41eef286a28e"><div class="ttname"><a href="fp__512PM_8h.html#ae77c2b9c3ad159cbaedb41eef286a28e">FP_512PM_reduce</a></div><div class="ttdeci">void FP_512PM_reduce(FP_512PM *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:449</div></div>
+<div class="ttc" id="fp__512PM_8h_html_ae77c2b9c3ad159cbaedb41eef286a28e"><div class="ttname"><a href="fp__512PM_8h.html#ae77c2b9c3ad159cbaedb41eef286a28e">FP_512PM_reduce</a></div><div class="ttdeci">void FP_512PM_reduce(FP_512PM *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:449</div></div>
 <div class="ttc" id="fp__512PM_8h_html_a0ba7a6b5fa787844aeef4b31727df9af"><div class="ttname"><a href="fp__512PM_8h.html#a0ba7a6b5fa787844aeef4b31727df9af">MConst_512PM</a></div><div class="ttdeci">const chunk MConst_512PM</div></div>
 <div class="ttc" id="fp__512PM_8h_html_a883c8eb6036a05f1249f76ddc991f3b9"><div class="ttname"><a href="fp__512PM_8h.html#a883c8eb6036a05f1249f76ddc991f3b9">R2modp_512PM</a></div><div class="ttdeci">const BIG_512_56 R2modp_512PM</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="fp__512PM_8h_html_a0cc4206a0672409e2055cb9863a57309"><div class="ttname"><a href="fp__512PM_8h.html#a0cc4206a0672409e2055cb9863a57309">FP_512PM_mul</a></div><div class="ttdeci">void FP_512PM_mul(FP_512PM *x, FP_512PM *y, FP_512PM *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:297</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a1704a0cded5919f486685cdd15f178a6"><div class="ttname"><a href="fp__512PM_8h.html#a1704a0cded5919f486685cdd15f178a6">FP_512PM_redc</a></div><div class="ttdeci">void FP_512PM_redc(BIG_512_56 x, FP_512PM *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:97</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a992dfb0f4f9b2cf7991b509b15fa5d8d"><div class="ttname"><a href="fp__512PM_8h.html#a992dfb0f4f9b2cf7991b509b15fa5d8d">FP_512PM_imul</a></div><div class="ttdeci">void FP_512PM_imul(FP_512PM *x, FP_512PM *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_512PM.c:321</div></div>
-<div class="ttc" id="fp__512PM_8h_html_a712cbdf6c572a2baef283bca09d9408d"><div class="ttname"><a href="fp__512PM_8h.html#a712cbdf6c572a2baef283bca09d9408d">FP_512PM_pow</a></div><div class="ttdeci">void FP_512PM_pow(FP_512PM *x, FP_512PM *y, BIG_512_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a0cc4206a0672409e2055cb9863a57309"><div class="ttname"><a href="fp__512PM_8h.html#a0cc4206a0672409e2055cb9863a57309">FP_512PM_mul</a></div><div class="ttdeci">void FP_512PM_mul(FP_512PM *x, FP_512PM *y, FP_512PM *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:297</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a1704a0cded5919f486685cdd15f178a6"><div class="ttname"><a href="fp__512PM_8h.html#a1704a0cded5919f486685cdd15f178a6">FP_512PM_redc</a></div><div class="ttdeci">void FP_512PM_redc(BIG_512_56 x, FP_512PM *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:97</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a992dfb0f4f9b2cf7991b509b15fa5d8d"><div class="ttname"><a href="fp__512PM_8h.html#a992dfb0f4f9b2cf7991b509b15fa5d8d">FP_512PM_imul</a></div><div class="ttdeci">void FP_512PM_imul(FP_512PM *x, FP_512PM *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_512PM.c:321</div></div>
+<div class="ttc" id="fp__512PM_8h_html_a712cbdf6c572a2baef283bca09d9408d"><div class="ttname"><a href="fp__512PM_8h.html#a712cbdf6c572a2baef283bca09d9408d">FP_512PM_pow</a></div><div class="ttdeci">void FP_512PM_pow(FP_512PM *x, FP_512PM *y, BIG_512_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </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/fp__ANSSI_8h.html b/website/static/cdocs/fp__ANSSI_8h.html
index 11cc1ad..d18ef8d 100644
--- a/website/static/cdocs/fp__ANSSI_8h.html
+++ b/website/static/cdocs/fp__ANSSI_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: fp_ANSSI.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"
@@ -1195,7 +1198,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/fp__ANSSI_8h_source.html b/website/static/cdocs/fp__ANSSI_8h_source.html
index a6f3503..2afb3bb 100644
--- a/website/static/cdocs/fp__ANSSI_8h_source.html
+++ b/website/static/cdocs/fp__ANSSI_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: fp_ANSSI.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,49 +72,49 @@
 <div class="title">fp_ANSSI.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__ANSSI_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 FP_ANSSI_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_ANSSI_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_ANSSI.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__ANSSI.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__ANSSI.html#a34409ea312f18f2e77ba7ed013138b05">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__ANSSI.html#a34409ea312f18f2e77ba7ed013138b05">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__ANSSI_8h.html#a20100083d8460006bf65f44439812bc6">Modulus_ANSSI</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__ANSSI_8h.html#aa3a7f9f19e0b2748e3ba7541c3a413e6">R2modp_ANSSI</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__ANSSI_8h.html#a784f1d85d9b10e5fc16410b56f69a334">MConst_ANSSI</a>;                </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#afba210343184c29ef2c2b998cd25e8d2">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_ANSSI MBITS_ANSSI                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#a58d80fd5ad08321998e9e67a5de68ef5">   52</a></span>&#160;<span class="preprocessor">#define TBITS_ANSSI (MBITS_ANSSI%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#ab7b26983c94ec98398de24a43094b5ba">   53</a></span>&#160;<span class="preprocessor">#define TMASK_ANSSI (((chunk)1&lt;&lt;TBITS_ANSSI)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#a06ff48f2852204de608729a4dbe35cfe">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_ANSSI (((sign32)1&lt;&lt;MAXXES_ANSSI)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#afe3ed618a3933bca5137ce5d66609fe8">   55</a></span>&#160;<span class="preprocessor">#define OMASK_ANSSI (-((chunk)(1)&lt;&lt;TBITS_ANSSI))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__ANSSI_8h.html#a6b386af045a130775ea0c6181648a82a">FP_ANSSI_iszilch</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a3503c756e1882f4e5e24620348b8e7de">FP_ANSSI_zero</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#ad410a4fc5aff6e9b09c844e8dd3a11ed">FP_ANSSI_copy</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a66f77b203d293308aba494aec3de866a">FP_ANSSI_rcopy</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__ANSSI_8h.html#a0d63be7ac02a110d22b65e99ac923833">FP_ANSSI_equals</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__ANSSI_8h.html#a32ae24359781c3de809dd9eb98ce88c2">FP_ANSSI_cswap</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</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="fp__ANSSI_8h.html#ad1cea73daa5a32fdab88484402d42880">FP_ANSSI_cmove</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</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="fp__ANSSI_8h.html#a6258434e8058840dcf4cb468a9ba16fb">FP_ANSSI_nres</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__ANSSI_8h.html#a840475c7e755dbf7aec27d83cb94dbe0">FP_ANSSI_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#aa32d2eebe2e1c0b1ebb4e76ec3fe1d90">FP_ANSSI_one</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a48b254b07f325dec1f49abf5fa9da663">FP_ANSSI_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_ANSSI_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__ANSSI_8h.html#a3ebfa6f7ea8ca7f30e8b40c18e0096b7">FP_ANSSI_mul</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *z);</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="fp__ANSSI_8h.html#a93623015d083bc4760c6601ce3bf3ac8">FP_ANSSI_imul</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#abda11b70b4dc234f18c1831e58cdb40c">FP_ANSSI_sqr</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a742d808914bd1246c3df7f2dadeb4fae">FP_ANSSI_add</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a3527da636b2e2a5ed46e22f9ad97921b">FP_ANSSI_sub</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a77f8b5dba8b64895fa19b2ef42a9ece5">FP_ANSSI_div2</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a72a49a8dcf42a8028021d0d0899bbd62">FP_ANSSI_pow</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a65e5915c907213b689d98a7db8dd9647">FP_ANSSI_sqrt</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a735f2e1fedae7c7093c12b9ce8aac131">FP_ANSSI_neg</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a8c8324c23374dbf3408917e0f74bc23a">FP_ANSSI_output</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#accb7d97f18436d3bc45986ce68c8e8b2">FP_ANSSI_rawoutput</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a6357e932f78af1dde72d4deb5e66ac38">FP_ANSSI_reduce</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a32aa45e10d3dac7bec6f59f38f62a2a1">FP_ANSSI_norm</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__ANSSI_8h.html#afd25ed074803aa878b6685b50b79a7d2">FP_ANSSI_qr</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a37296665deee56dc7ac0f0a9e208a7a4">FP_ANSSI_inv</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__ANSSI_8h_html_a66f77b203d293308aba494aec3de866a"><div class="ttname"><a href="fp__ANSSI_8h.html#a66f77b203d293308aba494aec3de866a">FP_ANSSI_rcopy</a></div><div class="ttdeci">void FP_ANSSI_rcopy(FP_ANSSI *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:222</div></div>
-<div class="ttc" id="structFP__ANSSI_html"><div class="ttname"><a href="structFP__ANSSI.html">FP_ANSSI</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.h:38</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a735f2e1fedae7c7093c12b9ce8aac131"><div class="ttname"><a href="fp__ANSSI_8h.html#a735f2e1fedae7c7093c12b9ce8aac131">FP_ANSSI_neg</a></div><div class="ttdeci">void FP_ANSSI_neg(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:491</div></div>
+<a href="fp__ANSSI_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 FP_ANSSI_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_ANSSI_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_ANSSI.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__ANSSI.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__ANSSI.html#a34409ea312f18f2e77ba7ed013138b05">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__ANSSI.html#a34409ea312f18f2e77ba7ed013138b05">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__ANSSI.html">FP_ANSSI</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__ANSSI_8h.html#a20100083d8460006bf65f44439812bc6">Modulus_ANSSI</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__ANSSI_8h.html#aa3a7f9f19e0b2748e3ba7541c3a413e6">R2modp_ANSSI</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__ANSSI_8h.html#a784f1d85d9b10e5fc16410b56f69a334">MConst_ANSSI</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#afba210343184c29ef2c2b998cd25e8d2">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_ANSSI MBITS_ANSSI                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#a58d80fd5ad08321998e9e67a5de68ef5">   52</a></span>&#160;<span class="preprocessor">#define TBITS_ANSSI (MBITS_ANSSI%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#ab7b26983c94ec98398de24a43094b5ba">   53</a></span>&#160;<span class="preprocessor">#define TMASK_ANSSI (((chunk)1&lt;&lt;TBITS_ANSSI)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#a06ff48f2852204de608729a4dbe35cfe">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_ANSSI (((sign32)1&lt;&lt;MAXXES_ANSSI)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__ANSSI_8h.html#afe3ed618a3933bca5137ce5d66609fe8">   55</a></span>&#160;<span class="preprocessor">#define OMASK_ANSSI (-((chunk)(1)&lt;&lt;TBITS_ANSSI))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__ANSSI_8h.html#a6b386af045a130775ea0c6181648a82a">FP_ANSSI_iszilch</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a3503c756e1882f4e5e24620348b8e7de">FP_ANSSI_zero</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#ad410a4fc5aff6e9b09c844e8dd3a11ed">FP_ANSSI_copy</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a66f77b203d293308aba494aec3de866a">FP_ANSSI_rcopy</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__ANSSI_8h.html#a0d63be7ac02a110d22b65e99ac923833">FP_ANSSI_equals</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__ANSSI_8h.html#a32ae24359781c3de809dd9eb98ce88c2">FP_ANSSI_cswap</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</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="fp__ANSSI_8h.html#ad1cea73daa5a32fdab88484402d42880">FP_ANSSI_cmove</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</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="fp__ANSSI_8h.html#a6258434e8058840dcf4cb468a9ba16fb">FP_ANSSI_nres</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__ANSSI_8h.html#a840475c7e755dbf7aec27d83cb94dbe0">FP_ANSSI_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#aa32d2eebe2e1c0b1ebb4e76ec3fe1d90">FP_ANSSI_one</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a48b254b07f325dec1f49abf5fa9da663">FP_ANSSI_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_ANSSI_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__ANSSI_8h.html#a3ebfa6f7ea8ca7f30e8b40c18e0096b7">FP_ANSSI_mul</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *z);</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="fp__ANSSI_8h.html#a93623015d083bc4760c6601ce3bf3ac8">FP_ANSSI_imul</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#abda11b70b4dc234f18c1831e58cdb40c">FP_ANSSI_sqr</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a742d808914bd1246c3df7f2dadeb4fae">FP_ANSSI_add</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a3527da636b2e2a5ed46e22f9ad97921b">FP_ANSSI_sub</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a77f8b5dba8b64895fa19b2ef42a9ece5">FP_ANSSI_div2</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a72a49a8dcf42a8028021d0d0899bbd62">FP_ANSSI_pow</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a65e5915c907213b689d98a7db8dd9647">FP_ANSSI_sqrt</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a735f2e1fedae7c7093c12b9ce8aac131">FP_ANSSI_neg</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a8c8324c23374dbf3408917e0f74bc23a">FP_ANSSI_output</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#accb7d97f18436d3bc45986ce68c8e8b2">FP_ANSSI_rawoutput</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a6357e932f78af1dde72d4deb5e66ac38">FP_ANSSI_reduce</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a32aa45e10d3dac7bec6f59f38f62a2a1">FP_ANSSI_norm</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__ANSSI_8h.html#afd25ed074803aa878b6685b50b79a7d2">FP_ANSSI_qr</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__ANSSI_8h.html#a37296665deee56dc7ac0f0a9e208a7a4">FP_ANSSI_inv</a>(<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *x,<a class="code" href="structFP__ANSSI.html">FP_ANSSI</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__ANSSI_8h_html_a66f77b203d293308aba494aec3de866a"><div class="ttname"><a href="fp__ANSSI_8h.html#a66f77b203d293308aba494aec3de866a">FP_ANSSI_rcopy</a></div><div class="ttdeci">void FP_ANSSI_rcopy(FP_ANSSI *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:222</div></div>
+<div class="ttc" id="structFP__ANSSI_html"><div class="ttname"><a href="structFP__ANSSI.html">FP_ANSSI</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.h:38</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a735f2e1fedae7c7093c12b9ce8aac131"><div class="ttname"><a href="fp__ANSSI_8h.html#a735f2e1fedae7c7093c12b9ce8aac131">FP_ANSSI_neg</a></div><div class="ttdeci">void FP_ANSSI_neg(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:491</div></div>
 <div class="ttc" id="structFP__ANSSI_html_a34409ea312f18f2e77ba7ed013138b05"><div class="ttname"><a href="structFP__ANSSI.html#a34409ea312f18f2e77ba7ed013138b05">FP_ANSSI::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.h:41</div></div>
 <div class="ttc" id="fp__ANSSI_8h_html_aa3a7f9f19e0b2748e3ba7541c3a413e6"><div class="ttname"><a href="fp__ANSSI_8h.html#aa3a7f9f19e0b2748e3ba7541c3a413e6">R2modp_ANSSI</a></div><div class="ttdeci">const BIG_256_56 R2modp_ANSSI</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a742d808914bd1246c3df7f2dadeb4fae"><div class="ttname"><a href="fp__ANSSI_8h.html#a742d808914bd1246c3df7f2dadeb4fae">FP_ANSSI_add</a></div><div class="ttdeci">void FP_ANSSI_add(FP_ANSSI *x, FP_ANSSI *y, FP_ANSSI *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:385</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a742d808914bd1246c3df7f2dadeb4fae"><div class="ttname"><a href="fp__ANSSI_8h.html#a742d808914bd1246c3df7f2dadeb4fae">FP_ANSSI_add</a></div><div class="ttdeci">void FP_ANSSI_add(FP_ANSSI *x, FP_ANSSI *y, FP_ANSSI *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:385</div></div>
 <div class="ttc" id="fp__ANSSI_8h_html_a20100083d8460006bf65f44439812bc6"><div class="ttname"><a href="fp__ANSSI_8h.html#a20100083d8460006bf65f44439812bc6">Modulus_ANSSI</a></div><div class="ttdeci">const BIG_256_56 Modulus_ANSSI</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_abda11b70b4dc234f18c1831e58cdb40c"><div class="ttname"><a href="fp__ANSSI_8h.html#abda11b70b4dc234f18c1831e58cdb40c">FP_ANSSI_sqr</a></div><div class="ttdeci">void FP_ANSSI_sqr(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:366</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a37296665deee56dc7ac0f0a9e208a7a4"><div class="ttname"><a href="fp__ANSSI_8h.html#a37296665deee56dc7ac0f0a9e208a7a4">FP_ANSSI_inv</a></div><div class="ttdeci">void FP_ANSSI_inv(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:648</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a840475c7e755dbf7aec27d83cb94dbe0"><div class="ttname"><a href="fp__ANSSI_8h.html#a840475c7e755dbf7aec27d83cb94dbe0">FP_ANSSI_redc</a></div><div class="ttdeci">void FP_ANSSI_redc(BIG_256_56 x, FP_ANSSI *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:97</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a72a49a8dcf42a8028021d0d0899bbd62"><div class="ttname"><a href="fp__ANSSI_8h.html#a72a49a8dcf42a8028021d0d0899bbd62">FP_ANSSI_pow</a></div><div class="ttdeci">void FP_ANSSI_pow(FP_ANSSI *x, FP_ANSSI *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_abda11b70b4dc234f18c1831e58cdb40c"><div class="ttname"><a href="fp__ANSSI_8h.html#abda11b70b4dc234f18c1831e58cdb40c">FP_ANSSI_sqr</a></div><div class="ttdeci">void FP_ANSSI_sqr(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:366</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a37296665deee56dc7ac0f0a9e208a7a4"><div class="ttname"><a href="fp__ANSSI_8h.html#a37296665deee56dc7ac0f0a9e208a7a4">FP_ANSSI_inv</a></div><div class="ttdeci">void FP_ANSSI_inv(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:648</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a840475c7e755dbf7aec27d83cb94dbe0"><div class="ttname"><a href="fp__ANSSI_8h.html#a840475c7e755dbf7aec27d83cb94dbe0">FP_ANSSI_redc</a></div><div class="ttdeci">void FP_ANSSI_redc(BIG_256_56 x, FP_ANSSI *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:97</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a72a49a8dcf42a8028021d0d0899bbd62"><div class="ttname"><a href="fp__ANSSI_8h.html#a72a49a8dcf42a8028021d0d0899bbd62">FP_ANSSI_pow</a></div><div class="ttdeci">void FP_ANSSI_pow(FP_ANSSI *x, FP_ANSSI *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a32aa45e10d3dac7bec6f59f38f62a2a1"><div class="ttname"><a href="fp__ANSSI_8h.html#a32aa45e10d3dac7bec6f59f38f62a2a1">FP_ANSSI_norm</a></div><div class="ttdeci">void FP_ANSSI_norm(FP_ANSSI *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:484</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a77f8b5dba8b64895fa19b2ef42a9ece5"><div class="ttname"><a href="fp__ANSSI_8h.html#a77f8b5dba8b64895fa19b2ef42a9ece5">FP_ANSSI_div2</a></div><div class="ttdeci">void FP_ANSSI_div2(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:515</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a3503c756e1882f4e5e24620348b8e7de"><div class="ttname"><a href="fp__ANSSI_8h.html#a3503c756e1882f4e5e24620348b8e7de">FP_ANSSI_zero</a></div><div class="ttdeci">void FP_ANSSI_zero(FP_ANSSI *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:251</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a93623015d083bc4760c6601ce3bf3ac8"><div class="ttname"><a href="fp__ANSSI_8h.html#a93623015d083bc4760c6601ce3bf3ac8">FP_ANSSI_imul</a></div><div class="ttdeci">void FP_ANSSI_imul(FP_ANSSI *x, FP_ANSSI *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:321</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a3ebfa6f7ea8ca7f30e8b40c18e0096b7"><div class="ttname"><a href="fp__ANSSI_8h.html#a3ebfa6f7ea8ca7f30e8b40c18e0096b7">FP_ANSSI_mul</a></div><div class="ttdeci">void FP_ANSSI_mul(FP_ANSSI *x, FP_ANSSI *y, FP_ANSSI *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:297</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_ad1cea73daa5a32fdab88484402d42880"><div class="ttname"><a href="fp__ANSSI_8h.html#ad1cea73daa5a32fdab88484402d42880">FP_ANSSI_cmove</a></div><div class="ttdeci">void FP_ANSSI_cmove(FP_ANSSI *x, FP_ANSSI *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:243</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_aa32d2eebe2e1c0b1ebb4e76ec3fe1d90"><div class="ttname"><a href="fp__ANSSI_8h.html#aa32d2eebe2e1c0b1ebb4e76ec3fe1d90">FP_ANSSI_one</a></div><div class="ttdeci">void FP_ANSSI_one(FP_ANSSI *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:723</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a3527da636b2e2a5ed46e22f9ad97921b"><div class="ttname"><a href="fp__ANSSI_8h.html#a3527da636b2e2a5ed46e22f9ad97921b">FP_ANSSI_sub</a></div><div class="ttdeci">void FP_ANSSI_sub(FP_ANSSI *x, FP_ANSSI *y, FP_ANSSI *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:400</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a32aa45e10d3dac7bec6f59f38f62a2a1"><div class="ttname"><a href="fp__ANSSI_8h.html#a32aa45e10d3dac7bec6f59f38f62a2a1">FP_ANSSI_norm</a></div><div class="ttdeci">void FP_ANSSI_norm(FP_ANSSI *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:484</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a77f8b5dba8b64895fa19b2ef42a9ece5"><div class="ttname"><a href="fp__ANSSI_8h.html#a77f8b5dba8b64895fa19b2ef42a9ece5">FP_ANSSI_div2</a></div><div class="ttdeci">void FP_ANSSI_div2(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:515</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a3503c756e1882f4e5e24620348b8e7de"><div class="ttname"><a href="fp__ANSSI_8h.html#a3503c756e1882f4e5e24620348b8e7de">FP_ANSSI_zero</a></div><div class="ttdeci">void FP_ANSSI_zero(FP_ANSSI *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:251</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a93623015d083bc4760c6601ce3bf3ac8"><div class="ttname"><a href="fp__ANSSI_8h.html#a93623015d083bc4760c6601ce3bf3ac8">FP_ANSSI_imul</a></div><div class="ttdeci">void FP_ANSSI_imul(FP_ANSSI *x, FP_ANSSI *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:321</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a3ebfa6f7ea8ca7f30e8b40c18e0096b7"><div class="ttname"><a href="fp__ANSSI_8h.html#a3ebfa6f7ea8ca7f30e8b40c18e0096b7">FP_ANSSI_mul</a></div><div class="ttdeci">void FP_ANSSI_mul(FP_ANSSI *x, FP_ANSSI *y, FP_ANSSI *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:297</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_ad1cea73daa5a32fdab88484402d42880"><div class="ttname"><a href="fp__ANSSI_8h.html#ad1cea73daa5a32fdab88484402d42880">FP_ANSSI_cmove</a></div><div class="ttdeci">void FP_ANSSI_cmove(FP_ANSSI *x, FP_ANSSI *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:243</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_aa32d2eebe2e1c0b1ebb4e76ec3fe1d90"><div class="ttname"><a href="fp__ANSSI_8h.html#aa32d2eebe2e1c0b1ebb4e76ec3fe1d90">FP_ANSSI_one</a></div><div class="ttdeci">void FP_ANSSI_one(FP_ANSSI *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:723</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a3527da636b2e2a5ed46e22f9ad97921b"><div class="ttname"><a href="fp__ANSSI_8h.html#a3527da636b2e2a5ed46e22f9ad97921b">FP_ANSSI_sub</a></div><div class="ttdeci">void FP_ANSSI_sub(FP_ANSSI *x, FP_ANSSI *y, FP_ANSSI *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:400</div></div>
 <div class="ttc" id="structFP__ANSSI_html_aa4b70fab01b24df9cd959735b98dda50"><div class="ttname"><a href="structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50">FP_ANSSI::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.h:40</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a6b386af045a130775ea0c6181648a82a"><div class="ttname"><a href="fp__ANSSI_8h.html#a6b386af045a130775ea0c6181648a82a">FP_ANSSI_iszilch</a></div><div class="ttdeci">int FP_ANSSI_iszilch(FP_ANSSI *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:207</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a65e5915c907213b689d98a7db8dd9647"><div class="ttname"><a href="fp__ANSSI_8h.html#a65e5915c907213b689d98a7db8dd9647">FP_ANSSI_sqrt</a></div><div class="ttdeci">void FP_ANSSI_sqrt(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:747</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a0d63be7ac02a110d22b65e99ac923833"><div class="ttname"><a href="fp__ANSSI_8h.html#a0d63be7ac02a110d22b65e99ac923833">FP_ANSSI_equals</a></div><div class="ttdeci">int FP_ANSSI_equals(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:257</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a6258434e8058840dcf4cb468a9ba16fb"><div class="ttname"><a href="fp__ANSSI_8h.html#a6258434e8058840dcf4cb468a9ba16fb">FP_ANSSI_nres</a></div><div class="ttdeci">void FP_ANSSI_nres(FP_ANSSI *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:90</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a6357e932f78af1dde72d4deb5e66ac38"><div class="ttname"><a href="fp__ANSSI_8h.html#a6357e932f78af1dde72d4deb5e66ac38">FP_ANSSI_reduce</a></div><div class="ttdeci">void FP_ANSSI_reduce(FP_ANSSI *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:449</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_afd25ed074803aa878b6685b50b79a7d2"><div class="ttname"><a href="fp__ANSSI_8h.html#afd25ed074803aa878b6685b50b79a7d2">FP_ANSSI_qr</a></div><div class="ttdeci">int FP_ANSSI_qr(FP_ANSSI *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:731</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a48b254b07f325dec1f49abf5fa9da663"><div class="ttname"><a href="fp__ANSSI_8h.html#a48b254b07f325dec1f49abf5fa9da663">FP_ANSSI_mod</a></div><div class="ttdeci">void FP_ANSSI_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:103</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a8c8324c23374dbf3408917e0f74bc23a"><div class="ttname"><a href="fp__ANSSI_8h.html#a8c8324c23374dbf3408917e0f74bc23a">FP_ANSSI_output</a></div><div class="ttdeci">void FP_ANSSI_output(FP_ANSSI *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:270</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a6b386af045a130775ea0c6181648a82a"><div class="ttname"><a href="fp__ANSSI_8h.html#a6b386af045a130775ea0c6181648a82a">FP_ANSSI_iszilch</a></div><div class="ttdeci">int FP_ANSSI_iszilch(FP_ANSSI *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:207</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a65e5915c907213b689d98a7db8dd9647"><div class="ttname"><a href="fp__ANSSI_8h.html#a65e5915c907213b689d98a7db8dd9647">FP_ANSSI_sqrt</a></div><div class="ttdeci">void FP_ANSSI_sqrt(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:747</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a0d63be7ac02a110d22b65e99ac923833"><div class="ttname"><a href="fp__ANSSI_8h.html#a0d63be7ac02a110d22b65e99ac923833">FP_ANSSI_equals</a></div><div class="ttdeci">int FP_ANSSI_equals(FP_ANSSI *x, FP_ANSSI *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:257</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a6258434e8058840dcf4cb468a9ba16fb"><div class="ttname"><a href="fp__ANSSI_8h.html#a6258434e8058840dcf4cb468a9ba16fb">FP_ANSSI_nres</a></div><div class="ttdeci">void FP_ANSSI_nres(FP_ANSSI *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:90</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a6357e932f78af1dde72d4deb5e66ac38"><div class="ttname"><a href="fp__ANSSI_8h.html#a6357e932f78af1dde72d4deb5e66ac38">FP_ANSSI_reduce</a></div><div class="ttdeci">void FP_ANSSI_reduce(FP_ANSSI *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:449</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_afd25ed074803aa878b6685b50b79a7d2"><div class="ttname"><a href="fp__ANSSI_8h.html#afd25ed074803aa878b6685b50b79a7d2">FP_ANSSI_qr</a></div><div class="ttdeci">int FP_ANSSI_qr(FP_ANSSI *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:731</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a48b254b07f325dec1f49abf5fa9da663"><div class="ttname"><a href="fp__ANSSI_8h.html#a48b254b07f325dec1f49abf5fa9da663">FP_ANSSI_mod</a></div><div class="ttdeci">void FP_ANSSI_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:103</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a8c8324c23374dbf3408917e0f74bc23a"><div class="ttname"><a href="fp__ANSSI_8h.html#a8c8324c23374dbf3408917e0f74bc23a">FP_ANSSI_output</a></div><div class="ttdeci">void FP_ANSSI_output(FP_ANSSI *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:270</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_a32ae24359781c3de809dd9eb98ce88c2"><div class="ttname"><a href="fp__ANSSI_8h.html#a32ae24359781c3de809dd9eb98ce88c2">FP_ANSSI_cswap</a></div><div class="ttdeci">void FP_ANSSI_cswap(FP_ANSSI *x, FP_ANSSI *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:230</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_a32ae24359781c3de809dd9eb98ce88c2"><div class="ttname"><a href="fp__ANSSI_8h.html#a32ae24359781c3de809dd9eb98ce88c2">FP_ANSSI_cswap</a></div><div class="ttdeci">void FP_ANSSI_cswap(FP_ANSSI *x, FP_ANSSI *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:230</div></div>
 <div class="ttc" id="fp__ANSSI_8h_html_a784f1d85d9b10e5fc16410b56f69a334"><div class="ttname"><a href="fp__ANSSI_8h.html#a784f1d85d9b10e5fc16410b56f69a334">MConst_ANSSI</a></div><div class="ttdeci">const chunk MConst_ANSSI</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp__ANSSI_8h_html_ad410a4fc5aff6e9b09c844e8dd3a11ed"><div class="ttname"><a href="fp__ANSSI_8h.html#ad410a4fc5aff6e9b09c844e8dd3a11ed">FP_ANSSI_copy</a></div><div class="ttdeci">void FP_ANSSI_copy(FP_ANSSI *y, FP_ANSSI *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:216</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_ad410a4fc5aff6e9b09c844e8dd3a11ed"><div class="ttname"><a href="fp__ANSSI_8h.html#ad410a4fc5aff6e9b09c844e8dd3a11ed">FP_ANSSI_copy</a></div><div class="ttdeci">void FP_ANSSI_copy(FP_ANSSI *y, FP_ANSSI *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:216</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="fp__ANSSI_8h_html_accb7d97f18436d3bc45986ce68c8e8b2"><div class="ttname"><a href="fp__ANSSI_8h.html#accb7d97f18436d3bc45986ce68c8e8b2">FP_ANSSI_rawoutput</a></div><div class="ttdeci">void FP_ANSSI_rawoutput(FP_ANSSI *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:277</div></div>
+<div class="ttc" id="fp__ANSSI_8h_html_accb7d97f18436d3bc45986ce68c8e8b2"><div class="ttname"><a href="fp__ANSSI_8h.html#accb7d97f18436d3bc45986ce68c8e8b2">FP_ANSSI_rawoutput</a></div><div class="ttdeci">void FP_ANSSI_rawoutput(FP_ANSSI *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_ANSSI.c:277</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/fp__BLS24_8h.html b/website/static/cdocs/fp__BLS24_8h.html
index 5818c6a..f60762b 100644
--- a/website/static/cdocs/fp__BLS24_8h.html
+++ b/website/static/cdocs/fp__BLS24_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: fp_BLS24.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"
@@ -1195,7 +1198,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/fp__BLS24_8h_source.html b/website/static/cdocs/fp__BLS24_8h_source.html
index b16b7c3..582d7e7 100644
--- a/website/static/cdocs/fp__BLS24_8h_source.html
+++ b/website/static/cdocs/fp__BLS24_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: fp_BLS24.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,49 +72,49 @@
 <div class="title">fp_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BLS24_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 FP_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS24_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 &quot;<a class="code" href="big__480__56_8h.html">big_480_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS24.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a">   40</a></span>&#160;    <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS24.html#aebd6186db73ae1ddaff77604ac1a3e40">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS24.html#aebd6186db73ae1ddaff77604ac1a3e40">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS24.html">FP_BLS24</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="fp__BLS24_8h.html#aa6e19c2b84dab527970ee9375f1d66fb">Modulus_BLS24</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="fp__BLS24_8h.html#a2387efaa774ddcdeb08b321b689c7e99">R2modp_BLS24</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS24_8h.html#a0866c8294dafe2c92f0b77e5a83379f4">MConst_BLS24</a>;                </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#afe9802ec0ebba6de141ab0f9eb1f4e38">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS24 MBITS_BLS24                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a255580240df5618c1683e4bcb1abb302">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS24 (MBITS_BLS24%BASEBITS_480_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a7d484b3d45ea6d66f7a56cbb23199d1c">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS24 (((chunk)1&lt;&lt;TBITS_BLS24)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a01c07718b6373a650b4f020539a011de">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS24 (((sign32)1&lt;&lt;MAXXES_BLS24)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a2c14f6d6fbbd5fd1542576d0c0bea32a">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS24 (-((chunk)(1)&lt;&lt;TBITS_BLS24))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS24_8h.html#a25236ffb0d06cc273c63a39a1a26a63d">FP_BLS24_iszilch</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#af89cae5ca815e09570611a7e00230953">FP_BLS24_zero</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#aa1adfd38c422e30df2fb94ffafc5eabc">FP_BLS24_copy</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2cfc8ae73d0c590de29950e5aa7aeb72">FP_BLS24_rcopy</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS24_8h.html#a06cc27ed2bc69bab9665a1a882f87293">FP_BLS24_equals</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS24_8h.html#a65f96b559c8ce67c2a8862d48de65dad">FP_BLS24_cswap</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</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="fp__BLS24_8h.html#a7a8c8686899e32ecbc9fb176e3075156">FP_BLS24_cmove</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</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="fp__BLS24_8h.html#a8165ce696fea79d6821049df8eeb32a6">FP_BLS24_nres</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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="fp__BLS24_8h.html#af91d25b42172d167a1f026ef60097317">FP_BLS24_redc</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2303fbefaae7925a324e805f35e6fc01">FP_BLS24_one</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a509b55400d0f521348e02074e78815fe">FP_BLS24_mod</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> r,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS24_modmul(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS24_8h.html#aa4effb07861d65f788adee97c76b1108">FP_BLS24_mul</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *z);</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="fp__BLS24_8h.html#a35de8aa1f3836f158ae0520157a68941">FP_BLS24_imul</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a4be44302e3ee29f9af0eb9f603ff3d88">FP_BLS24_sqr</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#ad1b37925415682106d527f9dea5dd134">FP_BLS24_add</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#adf6da2f2c8ed442e7868bf64b4fa7394">FP_BLS24_sub</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#ac5e80a40fdb1eb869afb26b727703eae">FP_BLS24_div2</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a67cae6490d678b90d0f30829a42d15b3">FP_BLS24_pow</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2e7aec86b24eae180160b73a2ad49c18">FP_BLS24_sqrt</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a90a78055f183d0746f6fe58ae9613446">FP_BLS24_neg</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a95bfd143929e4f1cdf553b2035e5e4a9">FP_BLS24_output</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a03151f0ca865079b6a4897ef6ed3c9d8">FP_BLS24_rawoutput</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2c3795cac2620cbba336da3754a9742b">FP_BLS24_reduce</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#add4b053ecad7c5c1052c2a96ddd4a38f">FP_BLS24_norm</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS24_8h.html#a33dddfdce51c62b4bf924e742d1e9796">FP_BLS24_qr</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a8403fa37e24fc800d558435b7095edb4">FP_BLS24_inv</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS24_8h_html_add4b053ecad7c5c1052c2a96ddd4a38f"><div class="ttname"><a href="fp__BLS24_8h.html#add4b053ecad7c5c1052c2a96ddd4a38f">FP_BLS24_norm</a></div><div class="ttdeci">void FP_BLS24_norm(FP_BLS24 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:484</div></div>
+<a href="fp__BLS24_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 FP_BLS24_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS24_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 &quot;<a class="code" href="big__480__56_8h.html">big_480_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS24.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a">   40</a></span>&#160;    <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS24.html#aebd6186db73ae1ddaff77604ac1a3e40">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS24.html#aebd6186db73ae1ddaff77604ac1a3e40">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS24.html">FP_BLS24</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="fp__BLS24_8h.html#aa6e19c2b84dab527970ee9375f1d66fb">Modulus_BLS24</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="fp__BLS24_8h.html#a2387efaa774ddcdeb08b321b689c7e99">R2modp_BLS24</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS24_8h.html#a0866c8294dafe2c92f0b77e5a83379f4">MConst_BLS24</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#afe9802ec0ebba6de141ab0f9eb1f4e38">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS24 MBITS_BLS24                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a255580240df5618c1683e4bcb1abb302">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS24 (MBITS_BLS24%BASEBITS_480_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a7d484b3d45ea6d66f7a56cbb23199d1c">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS24 (((chunk)1&lt;&lt;TBITS_BLS24)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a01c07718b6373a650b4f020539a011de">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS24 (((sign32)1&lt;&lt;MAXXES_BLS24)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS24_8h.html#a2c14f6d6fbbd5fd1542576d0c0bea32a">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS24 (-((chunk)(1)&lt;&lt;TBITS_BLS24))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS24_8h.html#a25236ffb0d06cc273c63a39a1a26a63d">FP_BLS24_iszilch</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#af89cae5ca815e09570611a7e00230953">FP_BLS24_zero</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#aa1adfd38c422e30df2fb94ffafc5eabc">FP_BLS24_copy</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2cfc8ae73d0c590de29950e5aa7aeb72">FP_BLS24_rcopy</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS24_8h.html#a06cc27ed2bc69bab9665a1a882f87293">FP_BLS24_equals</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS24_8h.html#a65f96b559c8ce67c2a8862d48de65dad">FP_BLS24_cswap</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</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="fp__BLS24_8h.html#a7a8c8686899e32ecbc9fb176e3075156">FP_BLS24_cmove</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</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="fp__BLS24_8h.html#a8165ce696fea79d6821049df8eeb32a6">FP_BLS24_nres</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</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="fp__BLS24_8h.html#af91d25b42172d167a1f026ef60097317">FP_BLS24_redc</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2303fbefaae7925a324e805f35e6fc01">FP_BLS24_one</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a509b55400d0f521348e02074e78815fe">FP_BLS24_mod</a>(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> r,<a class="code" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS24_modmul(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS24_8h.html#aa4effb07861d65f788adee97c76b1108">FP_BLS24_mul</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *z);</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="fp__BLS24_8h.html#a35de8aa1f3836f158ae0520157a68941">FP_BLS24_imul</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a4be44302e3ee29f9af0eb9f603ff3d88">FP_BLS24_sqr</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#ad1b37925415682106d527f9dea5dd134">FP_BLS24_add</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#adf6da2f2c8ed442e7868bf64b4fa7394">FP_BLS24_sub</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#ac5e80a40fdb1eb869afb26b727703eae">FP_BLS24_div2</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a67cae6490d678b90d0f30829a42d15b3">FP_BLS24_pow</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2e7aec86b24eae180160b73a2ad49c18">FP_BLS24_sqrt</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a90a78055f183d0746f6fe58ae9613446">FP_BLS24_neg</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a95bfd143929e4f1cdf553b2035e5e4a9">FP_BLS24_output</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a03151f0ca865079b6a4897ef6ed3c9d8">FP_BLS24_rawoutput</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a2c3795cac2620cbba336da3754a9742b">FP_BLS24_reduce</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#add4b053ecad7c5c1052c2a96ddd4a38f">FP_BLS24_norm</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS24_8h.html#a33dddfdce51c62b4bf924e742d1e9796">FP_BLS24_qr</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS24_8h.html#a8403fa37e24fc800d558435b7095edb4">FP_BLS24_inv</a>(<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *x,<a class="code" href="structFP__BLS24.html">FP_BLS24</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS24_8h_html_add4b053ecad7c5c1052c2a96ddd4a38f"><div class="ttname"><a href="fp__BLS24_8h.html#add4b053ecad7c5c1052c2a96ddd4a38f">FP_BLS24_norm</a></div><div class="ttdeci">void FP_BLS24_norm(FP_BLS24 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:484</div></div>
 <div class="ttc" id="big__480__56_8h_html_a0431a818206f629e340731bd19e6c948"><div class="ttname"><a href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">DBIG_480_56</a></div><div class="ttdeci">chunk DBIG_480_56[DNLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:59</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a2303fbefaae7925a324e805f35e6fc01"><div class="ttname"><a href="fp__BLS24_8h.html#a2303fbefaae7925a324e805f35e6fc01">FP_BLS24_one</a></div><div class="ttdeci">void FP_BLS24_one(FP_BLS24 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:723</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_adf6da2f2c8ed442e7868bf64b4fa7394"><div class="ttname"><a href="fp__BLS24_8h.html#adf6da2f2c8ed442e7868bf64b4fa7394">FP_BLS24_sub</a></div><div class="ttdeci">void FP_BLS24_sub(FP_BLS24 *x, FP_BLS24 *y, FP_BLS24 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:400</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a2cfc8ae73d0c590de29950e5aa7aeb72"><div class="ttname"><a href="fp__BLS24_8h.html#a2cfc8ae73d0c590de29950e5aa7aeb72">FP_BLS24_rcopy</a></div><div class="ttdeci">void FP_BLS24_rcopy(FP_BLS24 *y, const BIG_480_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:222</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a33dddfdce51c62b4bf924e742d1e9796"><div class="ttname"><a href="fp__BLS24_8h.html#a33dddfdce51c62b4bf924e742d1e9796">FP_BLS24_qr</a></div><div class="ttdeci">int FP_BLS24_qr(FP_BLS24 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:731</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a2c3795cac2620cbba336da3754a9742b"><div class="ttname"><a href="fp__BLS24_8h.html#a2c3795cac2620cbba336da3754a9742b">FP_BLS24_reduce</a></div><div class="ttdeci">void FP_BLS24_reduce(FP_BLS24 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:449</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a90a78055f183d0746f6fe58ae9613446"><div class="ttname"><a href="fp__BLS24_8h.html#a90a78055f183d0746f6fe58ae9613446">FP_BLS24_neg</a></div><div class="ttdeci">void FP_BLS24_neg(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:491</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a2e7aec86b24eae180160b73a2ad49c18"><div class="ttname"><a href="fp__BLS24_8h.html#a2e7aec86b24eae180160b73a2ad49c18">FP_BLS24_sqrt</a></div><div class="ttdeci">void FP_BLS24_sqrt(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:747</div></div>
-<div class="ttc" id="big__480__56_8h_html"><div class="ttname"><a href="big__480__56_8h.html">big_480_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a2303fbefaae7925a324e805f35e6fc01"><div class="ttname"><a href="fp__BLS24_8h.html#a2303fbefaae7925a324e805f35e6fc01">FP_BLS24_one</a></div><div class="ttdeci">void FP_BLS24_one(FP_BLS24 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:723</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_adf6da2f2c8ed442e7868bf64b4fa7394"><div class="ttname"><a href="fp__BLS24_8h.html#adf6da2f2c8ed442e7868bf64b4fa7394">FP_BLS24_sub</a></div><div class="ttdeci">void FP_BLS24_sub(FP_BLS24 *x, FP_BLS24 *y, FP_BLS24 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:400</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a2cfc8ae73d0c590de29950e5aa7aeb72"><div class="ttname"><a href="fp__BLS24_8h.html#a2cfc8ae73d0c590de29950e5aa7aeb72">FP_BLS24_rcopy</a></div><div class="ttdeci">void FP_BLS24_rcopy(FP_BLS24 *y, const BIG_480_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:222</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a33dddfdce51c62b4bf924e742d1e9796"><div class="ttname"><a href="fp__BLS24_8h.html#a33dddfdce51c62b4bf924e742d1e9796">FP_BLS24_qr</a></div><div class="ttdeci">int FP_BLS24_qr(FP_BLS24 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:731</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a2c3795cac2620cbba336da3754a9742b"><div class="ttname"><a href="fp__BLS24_8h.html#a2c3795cac2620cbba336da3754a9742b">FP_BLS24_reduce</a></div><div class="ttdeci">void FP_BLS24_reduce(FP_BLS24 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:449</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a90a78055f183d0746f6fe58ae9613446"><div class="ttname"><a href="fp__BLS24_8h.html#a90a78055f183d0746f6fe58ae9613446">FP_BLS24_neg</a></div><div class="ttdeci">void FP_BLS24_neg(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:491</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a2e7aec86b24eae180160b73a2ad49c18"><div class="ttname"><a href="fp__BLS24_8h.html#a2e7aec86b24eae180160b73a2ad49c18">FP_BLS24_sqrt</a></div><div class="ttdeci">void FP_BLS24_sqrt(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:747</div></div>
+<div class="ttc" id="big__480__56_8h_html"><div class="ttname"><a href="big__480__56_8h.html">big_480_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="fp__BLS24_8h_html_a0866c8294dafe2c92f0b77e5a83379f4"><div class="ttname"><a href="fp__BLS24_8h.html#a0866c8294dafe2c92f0b77e5a83379f4">MConst_BLS24</a></div><div class="ttdeci">const chunk MConst_BLS24</div></div>
 <div class="ttc" id="fp__BLS24_8h_html_a2387efaa774ddcdeb08b321b689c7e99"><div class="ttname"><a href="fp__BLS24_8h.html#a2387efaa774ddcdeb08b321b689c7e99">R2modp_BLS24</a></div><div class="ttdeci">const BIG_480_56 R2modp_BLS24</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a03151f0ca865079b6a4897ef6ed3c9d8"><div class="ttname"><a href="fp__BLS24_8h.html#a03151f0ca865079b6a4897ef6ed3c9d8">FP_BLS24_rawoutput</a></div><div class="ttdeci">void FP_BLS24_rawoutput(FP_BLS24 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:277</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_ac5e80a40fdb1eb869afb26b727703eae"><div class="ttname"><a href="fp__BLS24_8h.html#ac5e80a40fdb1eb869afb26b727703eae">FP_BLS24_div2</a></div><div class="ttdeci">void FP_BLS24_div2(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:515</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_af91d25b42172d167a1f026ef60097317"><div class="ttname"><a href="fp__BLS24_8h.html#af91d25b42172d167a1f026ef60097317">FP_BLS24_redc</a></div><div class="ttdeci">void FP_BLS24_redc(BIG_480_56 x, FP_BLS24 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:97</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a67cae6490d678b90d0f30829a42d15b3"><div class="ttname"><a href="fp__BLS24_8h.html#a67cae6490d678b90d0f30829a42d15b3">FP_BLS24_pow</a></div><div class="ttdeci">void FP_BLS24_pow(FP_BLS24 *x, FP_BLS24 *y, BIG_480_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a95bfd143929e4f1cdf553b2035e5e4a9"><div class="ttname"><a href="fp__BLS24_8h.html#a95bfd143929e4f1cdf553b2035e5e4a9">FP_BLS24_output</a></div><div class="ttdeci">void FP_BLS24_output(FP_BLS24 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:270</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_ad1b37925415682106d527f9dea5dd134"><div class="ttname"><a href="fp__BLS24_8h.html#ad1b37925415682106d527f9dea5dd134">FP_BLS24_add</a></div><div class="ttdeci">void FP_BLS24_add(FP_BLS24 *x, FP_BLS24 *y, FP_BLS24 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:385</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a25236ffb0d06cc273c63a39a1a26a63d"><div class="ttname"><a href="fp__BLS24_8h.html#a25236ffb0d06cc273c63a39a1a26a63d">FP_BLS24_iszilch</a></div><div class="ttdeci">int FP_BLS24_iszilch(FP_BLS24 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:207</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a03151f0ca865079b6a4897ef6ed3c9d8"><div class="ttname"><a href="fp__BLS24_8h.html#a03151f0ca865079b6a4897ef6ed3c9d8">FP_BLS24_rawoutput</a></div><div class="ttdeci">void FP_BLS24_rawoutput(FP_BLS24 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:277</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_ac5e80a40fdb1eb869afb26b727703eae"><div class="ttname"><a href="fp__BLS24_8h.html#ac5e80a40fdb1eb869afb26b727703eae">FP_BLS24_div2</a></div><div class="ttdeci">void FP_BLS24_div2(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:515</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_af91d25b42172d167a1f026ef60097317"><div class="ttname"><a href="fp__BLS24_8h.html#af91d25b42172d167a1f026ef60097317">FP_BLS24_redc</a></div><div class="ttdeci">void FP_BLS24_redc(BIG_480_56 x, FP_BLS24 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:97</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a67cae6490d678b90d0f30829a42d15b3"><div class="ttname"><a href="fp__BLS24_8h.html#a67cae6490d678b90d0f30829a42d15b3">FP_BLS24_pow</a></div><div class="ttdeci">void FP_BLS24_pow(FP_BLS24 *x, FP_BLS24 *y, BIG_480_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a95bfd143929e4f1cdf553b2035e5e4a9"><div class="ttname"><a href="fp__BLS24_8h.html#a95bfd143929e4f1cdf553b2035e5e4a9">FP_BLS24_output</a></div><div class="ttdeci">void FP_BLS24_output(FP_BLS24 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:270</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_ad1b37925415682106d527f9dea5dd134"><div class="ttname"><a href="fp__BLS24_8h.html#ad1b37925415682106d527f9dea5dd134">FP_BLS24_add</a></div><div class="ttdeci">void FP_BLS24_add(FP_BLS24 *x, FP_BLS24 *y, FP_BLS24 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:385</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a25236ffb0d06cc273c63a39a1a26a63d"><div class="ttname"><a href="fp__BLS24_8h.html#a25236ffb0d06cc273c63a39a1a26a63d">FP_BLS24_iszilch</a></div><div class="ttdeci">int FP_BLS24_iszilch(FP_BLS24 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:207</div></div>
 <div class="ttc" id="structFP__BLS24_html_aebd6186db73ae1ddaff77604ac1a3e40"><div class="ttname"><a href="structFP__BLS24.html#aebd6186db73ae1ddaff77604ac1a3e40">FP_BLS24::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:41</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a8403fa37e24fc800d558435b7095edb4"><div class="ttname"><a href="fp__BLS24_8h.html#a8403fa37e24fc800d558435b7095edb4">FP_BLS24_inv</a></div><div class="ttdeci">void FP_BLS24_inv(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:648</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a8403fa37e24fc800d558435b7095edb4"><div class="ttname"><a href="fp__BLS24_8h.html#a8403fa37e24fc800d558435b7095edb4">FP_BLS24_inv</a></div><div class="ttdeci">void FP_BLS24_inv(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:648</div></div>
 <div class="ttc" id="fp__BLS24_8h_html_aa6e19c2b84dab527970ee9375f1d66fb"><div class="ttname"><a href="fp__BLS24_8h.html#aa6e19c2b84dab527970ee9375f1d66fb">Modulus_BLS24</a></div><div class="ttdeci">const BIG_480_56 Modulus_BLS24</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a65f96b559c8ce67c2a8862d48de65dad"><div class="ttname"><a href="fp__BLS24_8h.html#a65f96b559c8ce67c2a8862d48de65dad">FP_BLS24_cswap</a></div><div class="ttdeci">void FP_BLS24_cswap(FP_BLS24 *x, FP_BLS24 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:230</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_aa4effb07861d65f788adee97c76b1108"><div class="ttname"><a href="fp__BLS24_8h.html#aa4effb07861d65f788adee97c76b1108">FP_BLS24_mul</a></div><div class="ttdeci">void FP_BLS24_mul(FP_BLS24 *x, FP_BLS24 *y, FP_BLS24 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:297</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_aa1adfd38c422e30df2fb94ffafc5eabc"><div class="ttname"><a href="fp__BLS24_8h.html#aa1adfd38c422e30df2fb94ffafc5eabc">FP_BLS24_copy</a></div><div class="ttdeci">void FP_BLS24_copy(FP_BLS24 *y, FP_BLS24 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:216</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a65f96b559c8ce67c2a8862d48de65dad"><div class="ttname"><a href="fp__BLS24_8h.html#a65f96b559c8ce67c2a8862d48de65dad">FP_BLS24_cswap</a></div><div class="ttdeci">void FP_BLS24_cswap(FP_BLS24 *x, FP_BLS24 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:230</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_aa4effb07861d65f788adee97c76b1108"><div class="ttname"><a href="fp__BLS24_8h.html#aa4effb07861d65f788adee97c76b1108">FP_BLS24_mul</a></div><div class="ttdeci">void FP_BLS24_mul(FP_BLS24 *x, FP_BLS24 *y, FP_BLS24 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:297</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_aa1adfd38c422e30df2fb94ffafc5eabc"><div class="ttname"><a href="fp__BLS24_8h.html#aa1adfd38c422e30df2fb94ffafc5eabc">FP_BLS24_copy</a></div><div class="ttdeci">void FP_BLS24_copy(FP_BLS24 *y, FP_BLS24 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:216</div></div>
 <div class="ttc" id="structFP__BLS24_html_a01087bfded6fb63f6bf5fdbcdf10473a"><div class="ttname"><a href="structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a">FP_BLS24::g</a></div><div class="ttdeci">BIG_480_56 g</div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:40</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a06cc27ed2bc69bab9665a1a882f87293"><div class="ttname"><a href="fp__BLS24_8h.html#a06cc27ed2bc69bab9665a1a882f87293">FP_BLS24_equals</a></div><div class="ttdeci">int FP_BLS24_equals(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:257</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a509b55400d0f521348e02074e78815fe"><div class="ttname"><a href="fp__BLS24_8h.html#a509b55400d0f521348e02074e78815fe">FP_BLS24_mod</a></div><div class="ttdeci">void FP_BLS24_mod(BIG_480_56 r, DBIG_480_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:103</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a8165ce696fea79d6821049df8eeb32a6"><div class="ttname"><a href="fp__BLS24_8h.html#a8165ce696fea79d6821049df8eeb32a6">FP_BLS24_nres</a></div><div class="ttdeci">void FP_BLS24_nres(FP_BLS24 *y, BIG_480_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:90</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a06cc27ed2bc69bab9665a1a882f87293"><div class="ttname"><a href="fp__BLS24_8h.html#a06cc27ed2bc69bab9665a1a882f87293">FP_BLS24_equals</a></div><div class="ttdeci">int FP_BLS24_equals(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:257</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a509b55400d0f521348e02074e78815fe"><div class="ttname"><a href="fp__BLS24_8h.html#a509b55400d0f521348e02074e78815fe">FP_BLS24_mod</a></div><div class="ttdeci">void FP_BLS24_mod(BIG_480_56 r, DBIG_480_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:103</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a8165ce696fea79d6821049df8eeb32a6"><div class="ttname"><a href="fp__BLS24_8h.html#a8165ce696fea79d6821049df8eeb32a6">FP_BLS24_nres</a></div><div class="ttdeci">void FP_BLS24_nres(FP_BLS24 *y, BIG_480_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:90</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a7a8c8686899e32ecbc9fb176e3075156"><div class="ttname"><a href="fp__BLS24_8h.html#a7a8c8686899e32ecbc9fb176e3075156">FP_BLS24_cmove</a></div><div class="ttdeci">void FP_BLS24_cmove(FP_BLS24 *x, FP_BLS24 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:243</div></div>
-<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a7a8c8686899e32ecbc9fb176e3075156"><div class="ttname"><a href="fp__BLS24_8h.html#a7a8c8686899e32ecbc9fb176e3075156">FP_BLS24_cmove</a></div><div class="ttdeci">void FP_BLS24_cmove(FP_BLS24 *x, FP_BLS24 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:243</div></div>
+<div class="ttc" id="structFP__BLS24_html"><div class="ttname"><a href="structFP__BLS24.html">FP_BLS24</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.h:38</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__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a4be44302e3ee29f9af0eb9f603ff3d88"><div class="ttname"><a href="fp__BLS24_8h.html#a4be44302e3ee29f9af0eb9f603ff3d88">FP_BLS24_sqr</a></div><div class="ttdeci">void FP_BLS24_sqr(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:366</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_af89cae5ca815e09570611a7e00230953"><div class="ttname"><a href="fp__BLS24_8h.html#af89cae5ca815e09570611a7e00230953">FP_BLS24_zero</a></div><div class="ttdeci">void FP_BLS24_zero(FP_BLS24 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:251</div></div>
-<div class="ttc" id="fp__BLS24_8h_html_a35de8aa1f3836f158ae0520157a68941"><div class="ttname"><a href="fp__BLS24_8h.html#a35de8aa1f3836f158ae0520157a68941">FP_BLS24_imul</a></div><div class="ttdeci">void FP_BLS24_imul(FP_BLS24 *x, FP_BLS24 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:321</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a4be44302e3ee29f9af0eb9f603ff3d88"><div class="ttname"><a href="fp__BLS24_8h.html#a4be44302e3ee29f9af0eb9f603ff3d88">FP_BLS24_sqr</a></div><div class="ttdeci">void FP_BLS24_sqr(FP_BLS24 *x, FP_BLS24 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:366</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_af89cae5ca815e09570611a7e00230953"><div class="ttname"><a href="fp__BLS24_8h.html#af89cae5ca815e09570611a7e00230953">FP_BLS24_zero</a></div><div class="ttdeci">void FP_BLS24_zero(FP_BLS24 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:251</div></div>
+<div class="ttc" id="fp__BLS24_8h_html_a35de8aa1f3836f158ae0520157a68941"><div class="ttname"><a href="fp__BLS24_8h.html#a35de8aa1f3836f158ae0520157a68941">FP_BLS24_imul</a></div><div class="ttdeci">void FP_BLS24_imul(FP_BLS24 *x, FP_BLS24 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS24.c:321</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/fp__BLS381_8h.html b/website/static/cdocs/fp__BLS381_8h.html
index 4a262fa..3c07138 100644
--- a/website/static/cdocs/fp__BLS381_8h.html
+++ b/website/static/cdocs/fp__BLS381_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: fp_BLS381.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"
@@ -1195,7 +1198,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/fp__BLS381_8h_source.html b/website/static/cdocs/fp__BLS381_8h_source.html
index f684e95..e264286 100644
--- a/website/static/cdocs/fp__BLS381_8h_source.html
+++ b/website/static/cdocs/fp__BLS381_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: fp_BLS381.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,49 +72,49 @@
 <div class="title">fp_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BLS381_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 FP_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS381_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 &quot;<a class="code" href="big__384__58_8h.html">big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS381.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4">   40</a></span>&#160;    <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS381.html#ab1734bb9570d8a3481aef3c4e259ea86">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS381.html#ab1734bb9570d8a3481aef3c4e259ea86">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS381.html">FP_BLS381</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS381_8h.html#ad37b3c376264a673e0bdb7b241e2232f">Modulus_BLS381</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS381_8h.html#abc2c7c16e428bb69fa75a6a3135ea2a4">R2modp_BLS381</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS381_8h.html#a6ace8f6c7b2be20531c00b517d139eb5">MConst_BLS381</a>;               </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a39729e49a6a22773672b8ae1250dcba4">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS381 MBITS_BLS381                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#ad125a785ef7ebb13455b15666b9e2073">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS381 (MBITS_BLS381%BASEBITS_384_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a44db6e85dc08ef6da305dec6e0c81e9d">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS381 (((chunk)1&lt;&lt;TBITS_BLS381)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a4d85e9890eac395143ddd2255f7a6544">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS381 (((sign32)1&lt;&lt;MAXXES_BLS381)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a471bfc2f9466a419ae316aa5431e1b89">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS381 (-((chunk)(1)&lt;&lt;TBITS_BLS381))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS381_8h.html#a3c2bc91b50ba2e6270af0072e13a8308">FP_BLS381_iszilch</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a7af4bd12a364ccdd44ad8d34ca3269f3">FP_BLS381_zero</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#acf87ddbcb436e3262ae1f78dacfe3d59">FP_BLS381_copy</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#abf7a0866b5fa4b17d9207fce5f28fbf9">FP_BLS381_rcopy</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS381_8h.html#ad5bcf74a6273bb20d02c24316d1f73b2">FP_BLS381_equals</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS381_8h.html#a9dd2b3cac4097f35856d0f8e45b7c8e9">FP_BLS381_cswap</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</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="fp__BLS381_8h.html#a867229095f08e814dd28f79a9bafdf7a">FP_BLS381_cmove</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</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="fp__BLS381_8h.html#ad40a8055cddb6c7aca090a0990bfd583">FP_BLS381_nres</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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="fp__BLS381_8h.html#a6ac55e034ab1e546b5fcf2d184639d47">FP_BLS381_redc</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a844a9f1e7e162295fa2a0ffb01bef6d1">FP_BLS381_one</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#ab20eb29b539f8c8668095443c8b3ccc8">FP_BLS381_mod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS381_modmul(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS381_8h.html#ab244ef49d296e7bf043f2915be7de01b">FP_BLS381_mul</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *z);</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="fp__BLS381_8h.html#a22046f935c63b4ca44bd4f233d3a0b1e">FP_BLS381_imul</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#af5a0f5115d20bb53c3fc9d7be0ef637a">FP_BLS381_sqr</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a9f686a251ad7bebee5a76260d17bab12">FP_BLS381_add</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a90774fad6c223c8e829129fa0ac1abeb">FP_BLS381_sub</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aaf1543802a0dfeb012bf0b7df6f1cbda">FP_BLS381_div2</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aa09d6506ebac654b73562508ad5eb6bc">FP_BLS381_pow</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aa66dff7a84a14e4d8efbd041a9f6af03">FP_BLS381_sqrt</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a00ebe6444eb3ff5352ed90291746ae18">FP_BLS381_neg</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a91b88f402eb14329b6c6610dd9bd3b22">FP_BLS381_output</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#ae396571634206c852cbad10ccc8f405c">FP_BLS381_rawoutput</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aa666c1c2b7ef5db83467017c86bcec52">FP_BLS381_reduce</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a4e7bbb59e5605ca362828efbe4bde61d">FP_BLS381_norm</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS381_8h.html#a95c6e1b126d58cf4ea3bfb75810ba18e">FP_BLS381_qr</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#abfb22e4c329ecf15a56b72e00e4842cb">FP_BLS381_inv</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS381_8h_html_a844a9f1e7e162295fa2a0ffb01bef6d1"><div class="ttname"><a href="fp__BLS381_8h.html#a844a9f1e7e162295fa2a0ffb01bef6d1">FP_BLS381_one</a></div><div class="ttdeci">void FP_BLS381_one(FP_BLS381 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:723</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_aa666c1c2b7ef5db83467017c86bcec52"><div class="ttname"><a href="fp__BLS381_8h.html#aa666c1c2b7ef5db83467017c86bcec52">FP_BLS381_reduce</a></div><div class="ttdeci">void FP_BLS381_reduce(FP_BLS381 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:449</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a90774fad6c223c8e829129fa0ac1abeb"><div class="ttname"><a href="fp__BLS381_8h.html#a90774fad6c223c8e829129fa0ac1abeb">FP_BLS381_sub</a></div><div class="ttdeci">void FP_BLS381_sub(FP_BLS381 *x, FP_BLS381 *y, FP_BLS381 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:400</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a4e7bbb59e5605ca362828efbe4bde61d"><div class="ttname"><a href="fp__BLS381_8h.html#a4e7bbb59e5605ca362828efbe4bde61d">FP_BLS381_norm</a></div><div class="ttdeci">void FP_BLS381_norm(FP_BLS381 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:484</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a22046f935c63b4ca44bd4f233d3a0b1e"><div class="ttname"><a href="fp__BLS381_8h.html#a22046f935c63b4ca44bd4f233d3a0b1e">FP_BLS381_imul</a></div><div class="ttdeci">void FP_BLS381_imul(FP_BLS381 *x, FP_BLS381 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:321</div></div>
+<a href="fp__BLS381_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 FP_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS381_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 &quot;<a class="code" href="big__384__58_8h.html">big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS381.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS381.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4">   40</a></span>&#160;    <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS381.html#ab1734bb9570d8a3481aef3c4e259ea86">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS381.html#ab1734bb9570d8a3481aef3c4e259ea86">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS381.html">FP_BLS381</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS381_8h.html#ad37b3c376264a673e0bdb7b241e2232f">Modulus_BLS381</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS381_8h.html#abc2c7c16e428bb69fa75a6a3135ea2a4">R2modp_BLS381</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS381_8h.html#a6ace8f6c7b2be20531c00b517d139eb5">MConst_BLS381</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a39729e49a6a22773672b8ae1250dcba4">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS381 MBITS_BLS381                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#ad125a785ef7ebb13455b15666b9e2073">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS381 (MBITS_BLS381%BASEBITS_384_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a44db6e85dc08ef6da305dec6e0c81e9d">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS381 (((chunk)1&lt;&lt;TBITS_BLS381)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a4d85e9890eac395143ddd2255f7a6544">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS381 (((sign32)1&lt;&lt;MAXXES_BLS381)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS381_8h.html#a471bfc2f9466a419ae316aa5431e1b89">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS381 (-((chunk)(1)&lt;&lt;TBITS_BLS381))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS381_8h.html#a3c2bc91b50ba2e6270af0072e13a8308">FP_BLS381_iszilch</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a7af4bd12a364ccdd44ad8d34ca3269f3">FP_BLS381_zero</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#acf87ddbcb436e3262ae1f78dacfe3d59">FP_BLS381_copy</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#abf7a0866b5fa4b17d9207fce5f28fbf9">FP_BLS381_rcopy</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS381_8h.html#ad5bcf74a6273bb20d02c24316d1f73b2">FP_BLS381_equals</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS381_8h.html#a9dd2b3cac4097f35856d0f8e45b7c8e9">FP_BLS381_cswap</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</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="fp__BLS381_8h.html#a867229095f08e814dd28f79a9bafdf7a">FP_BLS381_cmove</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</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="fp__BLS381_8h.html#ad40a8055cddb6c7aca090a0990bfd583">FP_BLS381_nres</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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="fp__BLS381_8h.html#a6ac55e034ab1e546b5fcf2d184639d47">FP_BLS381_redc</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a844a9f1e7e162295fa2a0ffb01bef6d1">FP_BLS381_one</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#ab20eb29b539f8c8668095443c8b3ccc8">FP_BLS381_mod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS381_modmul(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS381_8h.html#ab244ef49d296e7bf043f2915be7de01b">FP_BLS381_mul</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *z);</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="fp__BLS381_8h.html#a22046f935c63b4ca44bd4f233d3a0b1e">FP_BLS381_imul</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#af5a0f5115d20bb53c3fc9d7be0ef637a">FP_BLS381_sqr</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a9f686a251ad7bebee5a76260d17bab12">FP_BLS381_add</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a90774fad6c223c8e829129fa0ac1abeb">FP_BLS381_sub</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aaf1543802a0dfeb012bf0b7df6f1cbda">FP_BLS381_div2</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aa09d6506ebac654b73562508ad5eb6bc">FP_BLS381_pow</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aa66dff7a84a14e4d8efbd041a9f6af03">FP_BLS381_sqrt</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a00ebe6444eb3ff5352ed90291746ae18">FP_BLS381_neg</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a91b88f402eb14329b6c6610dd9bd3b22">FP_BLS381_output</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#ae396571634206c852cbad10ccc8f405c">FP_BLS381_rawoutput</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#aa666c1c2b7ef5db83467017c86bcec52">FP_BLS381_reduce</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#a4e7bbb59e5605ca362828efbe4bde61d">FP_BLS381_norm</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS381_8h.html#a95c6e1b126d58cf4ea3bfb75810ba18e">FP_BLS381_qr</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS381_8h.html#abfb22e4c329ecf15a56b72e00e4842cb">FP_BLS381_inv</a>(<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *x,<a class="code" href="structFP__BLS381.html">FP_BLS381</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS381_8h_html_a844a9f1e7e162295fa2a0ffb01bef6d1"><div class="ttname"><a href="fp__BLS381_8h.html#a844a9f1e7e162295fa2a0ffb01bef6d1">FP_BLS381_one</a></div><div class="ttdeci">void FP_BLS381_one(FP_BLS381 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:723</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_aa666c1c2b7ef5db83467017c86bcec52"><div class="ttname"><a href="fp__BLS381_8h.html#aa666c1c2b7ef5db83467017c86bcec52">FP_BLS381_reduce</a></div><div class="ttdeci">void FP_BLS381_reduce(FP_BLS381 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:449</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a90774fad6c223c8e829129fa0ac1abeb"><div class="ttname"><a href="fp__BLS381_8h.html#a90774fad6c223c8e829129fa0ac1abeb">FP_BLS381_sub</a></div><div class="ttdeci">void FP_BLS381_sub(FP_BLS381 *x, FP_BLS381 *y, FP_BLS381 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:400</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a4e7bbb59e5605ca362828efbe4bde61d"><div class="ttname"><a href="fp__BLS381_8h.html#a4e7bbb59e5605ca362828efbe4bde61d">FP_BLS381_norm</a></div><div class="ttdeci">void FP_BLS381_norm(FP_BLS381 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:484</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a22046f935c63b4ca44bd4f233d3a0b1e"><div class="ttname"><a href="fp__BLS381_8h.html#a22046f935c63b4ca44bd4f233d3a0b1e">FP_BLS381_imul</a></div><div class="ttdeci">void FP_BLS381_imul(FP_BLS381 *x, FP_BLS381 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:321</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_abfb22e4c329ecf15a56b72e00e4842cb"><div class="ttname"><a href="fp__BLS381_8h.html#abfb22e4c329ecf15a56b72e00e4842cb">FP_BLS381_inv</a></div><div class="ttdeci">void FP_BLS381_inv(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:648</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_abfb22e4c329ecf15a56b72e00e4842cb"><div class="ttname"><a href="fp__BLS381_8h.html#abfb22e4c329ecf15a56b72e00e4842cb">FP_BLS381_inv</a></div><div class="ttdeci">void FP_BLS381_inv(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:648</div></div>
 <div class="ttc" id="fp__BLS381_8h_html_a6ace8f6c7b2be20531c00b517d139eb5"><div class="ttname"><a href="fp__BLS381_8h.html#a6ace8f6c7b2be20531c00b517d139eb5">MConst_BLS381</a></div><div class="ttdeci">const chunk MConst_BLS381</div></div>
 <div class="ttc" id="structFP__BLS381_html_ab1734bb9570d8a3481aef3c4e259ea86"><div class="ttname"><a href="structFP__BLS381.html#ab1734bb9570d8a3481aef3c4e259ea86">FP_BLS381::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:41</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a7af4bd12a364ccdd44ad8d34ca3269f3"><div class="ttname"><a href="fp__BLS381_8h.html#a7af4bd12a364ccdd44ad8d34ca3269f3">FP_BLS381_zero</a></div><div class="ttdeci">void FP_BLS381_zero(FP_BLS381 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:251</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_aaf1543802a0dfeb012bf0b7df6f1cbda"><div class="ttname"><a href="fp__BLS381_8h.html#aaf1543802a0dfeb012bf0b7df6f1cbda">FP_BLS381_div2</a></div><div class="ttdeci">void FP_BLS381_div2(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:515</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_ae396571634206c852cbad10ccc8f405c"><div class="ttname"><a href="fp__BLS381_8h.html#ae396571634206c852cbad10ccc8f405c">FP_BLS381_rawoutput</a></div><div class="ttdeci">void FP_BLS381_rawoutput(FP_BLS381 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:277</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a91b88f402eb14329b6c6610dd9bd3b22"><div class="ttname"><a href="fp__BLS381_8h.html#a91b88f402eb14329b6c6610dd9bd3b22">FP_BLS381_output</a></div><div class="ttdeci">void FP_BLS381_output(FP_BLS381 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:270</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_abf7a0866b5fa4b17d9207fce5f28fbf9"><div class="ttname"><a href="fp__BLS381_8h.html#abf7a0866b5fa4b17d9207fce5f28fbf9">FP_BLS381_rcopy</a></div><div class="ttdeci">void FP_BLS381_rcopy(FP_BLS381 *y, const BIG_384_58 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:222</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a00ebe6444eb3ff5352ed90291746ae18"><div class="ttname"><a href="fp__BLS381_8h.html#a00ebe6444eb3ff5352ed90291746ae18">FP_BLS381_neg</a></div><div class="ttdeci">void FP_BLS381_neg(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:491</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_af5a0f5115d20bb53c3fc9d7be0ef637a"><div class="ttname"><a href="fp__BLS381_8h.html#af5a0f5115d20bb53c3fc9d7be0ef637a">FP_BLS381_sqr</a></div><div class="ttdeci">void FP_BLS381_sqr(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:366</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a95c6e1b126d58cf4ea3bfb75810ba18e"><div class="ttname"><a href="fp__BLS381_8h.html#a95c6e1b126d58cf4ea3bfb75810ba18e">FP_BLS381_qr</a></div><div class="ttdeci">int FP_BLS381_qr(FP_BLS381 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:731</div></div>
-<div class="ttc" id="big__384__58_8h_html"><div class="ttname"><a href="big__384__58_8h.html">big_384_58.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a7af4bd12a364ccdd44ad8d34ca3269f3"><div class="ttname"><a href="fp__BLS381_8h.html#a7af4bd12a364ccdd44ad8d34ca3269f3">FP_BLS381_zero</a></div><div class="ttdeci">void FP_BLS381_zero(FP_BLS381 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:251</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_aaf1543802a0dfeb012bf0b7df6f1cbda"><div class="ttname"><a href="fp__BLS381_8h.html#aaf1543802a0dfeb012bf0b7df6f1cbda">FP_BLS381_div2</a></div><div class="ttdeci">void FP_BLS381_div2(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:515</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_ae396571634206c852cbad10ccc8f405c"><div class="ttname"><a href="fp__BLS381_8h.html#ae396571634206c852cbad10ccc8f405c">FP_BLS381_rawoutput</a></div><div class="ttdeci">void FP_BLS381_rawoutput(FP_BLS381 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:277</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a91b88f402eb14329b6c6610dd9bd3b22"><div class="ttname"><a href="fp__BLS381_8h.html#a91b88f402eb14329b6c6610dd9bd3b22">FP_BLS381_output</a></div><div class="ttdeci">void FP_BLS381_output(FP_BLS381 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:270</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_abf7a0866b5fa4b17d9207fce5f28fbf9"><div class="ttname"><a href="fp__BLS381_8h.html#abf7a0866b5fa4b17d9207fce5f28fbf9">FP_BLS381_rcopy</a></div><div class="ttdeci">void FP_BLS381_rcopy(FP_BLS381 *y, const BIG_384_58 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:222</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a00ebe6444eb3ff5352ed90291746ae18"><div class="ttname"><a href="fp__BLS381_8h.html#a00ebe6444eb3ff5352ed90291746ae18">FP_BLS381_neg</a></div><div class="ttdeci">void FP_BLS381_neg(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:491</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_af5a0f5115d20bb53c3fc9d7be0ef637a"><div class="ttname"><a href="fp__BLS381_8h.html#af5a0f5115d20bb53c3fc9d7be0ef637a">FP_BLS381_sqr</a></div><div class="ttdeci">void FP_BLS381_sqr(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:366</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a95c6e1b126d58cf4ea3bfb75810ba18e"><div class="ttname"><a href="fp__BLS381_8h.html#a95c6e1b126d58cf4ea3bfb75810ba18e">FP_BLS381_qr</a></div><div class="ttdeci">int FP_BLS381_qr(FP_BLS381 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:731</div></div>
+<div class="ttc" id="big__384__58_8h_html"><div class="ttname"><a href="big__384__58_8h.html">big_384_58.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="fp__BLS381_8h_html_abc2c7c16e428bb69fa75a6a3135ea2a4"><div class="ttname"><a href="fp__BLS381_8h.html#abc2c7c16e428bb69fa75a6a3135ea2a4">R2modp_BLS381</a></div><div class="ttdeci">const BIG_384_58 R2modp_BLS381</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_ab20eb29b539f8c8668095443c8b3ccc8"><div class="ttname"><a href="fp__BLS381_8h.html#ab20eb29b539f8c8668095443c8b3ccc8">FP_BLS381_mod</a></div><div class="ttdeci">void FP_BLS381_mod(BIG_384_58 r, DBIG_384_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:103</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a9f686a251ad7bebee5a76260d17bab12"><div class="ttname"><a href="fp__BLS381_8h.html#a9f686a251ad7bebee5a76260d17bab12">FP_BLS381_add</a></div><div class="ttdeci">void FP_BLS381_add(FP_BLS381 *x, FP_BLS381 *y, FP_BLS381 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:385</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_ab20eb29b539f8c8668095443c8b3ccc8"><div class="ttname"><a href="fp__BLS381_8h.html#ab20eb29b539f8c8668095443c8b3ccc8">FP_BLS381_mod</a></div><div class="ttdeci">void FP_BLS381_mod(BIG_384_58 r, DBIG_384_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:103</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a9f686a251ad7bebee5a76260d17bab12"><div class="ttname"><a href="fp__BLS381_8h.html#a9f686a251ad7bebee5a76260d17bab12">FP_BLS381_add</a></div><div class="ttdeci">void FP_BLS381_add(FP_BLS381 *x, FP_BLS381 *y, FP_BLS381 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:385</div></div>
 <div class="ttc" id="fp__BLS381_8h_html_ad37b3c376264a673e0bdb7b241e2232f"><div class="ttname"><a href="fp__BLS381_8h.html#ad37b3c376264a673e0bdb7b241e2232f">Modulus_BLS381</a></div><div class="ttdeci">const BIG_384_58 Modulus_BLS381</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a6ac55e034ab1e546b5fcf2d184639d47"><div class="ttname"><a href="fp__BLS381_8h.html#a6ac55e034ab1e546b5fcf2d184639d47">FP_BLS381_redc</a></div><div class="ttdeci">void FP_BLS381_redc(BIG_384_58 x, FP_BLS381 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:97</div></div>
-<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_ad5bcf74a6273bb20d02c24316d1f73b2"><div class="ttname"><a href="fp__BLS381_8h.html#ad5bcf74a6273bb20d02c24316d1f73b2">FP_BLS381_equals</a></div><div class="ttdeci">int FP_BLS381_equals(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:257</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a6ac55e034ab1e546b5fcf2d184639d47"><div class="ttname"><a href="fp__BLS381_8h.html#a6ac55e034ab1e546b5fcf2d184639d47">FP_BLS381_redc</a></div><div class="ttdeci">void FP_BLS381_redc(BIG_384_58 x, FP_BLS381 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:97</div></div>
+<div class="ttc" id="structFP__BLS381_html"><div class="ttname"><a href="structFP__BLS381.html">FP_BLS381</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:38</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_ad5bcf74a6273bb20d02c24316d1f73b2"><div class="ttname"><a href="fp__BLS381_8h.html#ad5bcf74a6273bb20d02c24316d1f73b2">FP_BLS381_equals</a></div><div class="ttdeci">int FP_BLS381_equals(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:257</div></div>
 <div class="ttc" id="structFP__BLS381_html_a56afd3599d82d7d23b7629e04b8061d4"><div class="ttname"><a href="structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4">FP_BLS381::g</a></div><div class="ttdeci">BIG_384_58 g</div><div class="ttdef"><b>Definition:</b> fp_BLS381.h:40</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a9dd2b3cac4097f35856d0f8e45b7c8e9"><div class="ttname"><a href="fp__BLS381_8h.html#a9dd2b3cac4097f35856d0f8e45b7c8e9">FP_BLS381_cswap</a></div><div class="ttdeci">void FP_BLS381_cswap(FP_BLS381 *x, FP_BLS381 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:230</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a9dd2b3cac4097f35856d0f8e45b7c8e9"><div class="ttname"><a href="fp__BLS381_8h.html#a9dd2b3cac4097f35856d0f8e45b7c8e9">FP_BLS381_cswap</a></div><div class="ttdeci">void FP_BLS381_cswap(FP_BLS381 *x, FP_BLS381 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:230</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_ab244ef49d296e7bf043f2915be7de01b"><div class="ttname"><a href="fp__BLS381_8h.html#ab244ef49d296e7bf043f2915be7de01b">FP_BLS381_mul</a></div><div class="ttdeci">void FP_BLS381_mul(FP_BLS381 *x, FP_BLS381 *y, FP_BLS381 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:297</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_aa66dff7a84a14e4d8efbd041a9f6af03"><div class="ttname"><a href="fp__BLS381_8h.html#aa66dff7a84a14e4d8efbd041a9f6af03">FP_BLS381_sqrt</a></div><div class="ttdeci">void FP_BLS381_sqrt(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:747</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a3c2bc91b50ba2e6270af0072e13a8308"><div class="ttname"><a href="fp__BLS381_8h.html#a3c2bc91b50ba2e6270af0072e13a8308">FP_BLS381_iszilch</a></div><div class="ttdeci">int FP_BLS381_iszilch(FP_BLS381 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:207</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_a867229095f08e814dd28f79a9bafdf7a"><div class="ttname"><a href="fp__BLS381_8h.html#a867229095f08e814dd28f79a9bafdf7a">FP_BLS381_cmove</a></div><div class="ttdeci">void FP_BLS381_cmove(FP_BLS381 *x, FP_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:243</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_ab244ef49d296e7bf043f2915be7de01b"><div class="ttname"><a href="fp__BLS381_8h.html#ab244ef49d296e7bf043f2915be7de01b">FP_BLS381_mul</a></div><div class="ttdeci">void FP_BLS381_mul(FP_BLS381 *x, FP_BLS381 *y, FP_BLS381 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:297</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_aa66dff7a84a14e4d8efbd041a9f6af03"><div class="ttname"><a href="fp__BLS381_8h.html#aa66dff7a84a14e4d8efbd041a9f6af03">FP_BLS381_sqrt</a></div><div class="ttdeci">void FP_BLS381_sqrt(FP_BLS381 *x, FP_BLS381 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:747</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a3c2bc91b50ba2e6270af0072e13a8308"><div class="ttname"><a href="fp__BLS381_8h.html#a3c2bc91b50ba2e6270af0072e13a8308">FP_BLS381_iszilch</a></div><div class="ttdeci">int FP_BLS381_iszilch(FP_BLS381 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:207</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_a867229095f08e814dd28f79a9bafdf7a"><div class="ttname"><a href="fp__BLS381_8h.html#a867229095f08e814dd28f79a9bafdf7a">FP_BLS381_cmove</a></div><div class="ttdeci">void FP_BLS381_cmove(FP_BLS381 *x, FP_BLS381 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:243</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="fp__BLS381_8h_html_aa09d6506ebac654b73562508ad5eb6bc"><div class="ttname"><a href="fp__BLS381_8h.html#aa09d6506ebac654b73562508ad5eb6bc">FP_BLS381_pow</a></div><div class="ttdeci">void FP_BLS381_pow(FP_BLS381 *x, FP_BLS381 *y, BIG_384_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_acf87ddbcb436e3262ae1f78dacfe3d59"><div class="ttname"><a href="fp__BLS381_8h.html#acf87ddbcb436e3262ae1f78dacfe3d59">FP_BLS381_copy</a></div><div class="ttdeci">void FP_BLS381_copy(FP_BLS381 *y, FP_BLS381 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:216</div></div>
-<div class="ttc" id="fp__BLS381_8h_html_ad40a8055cddb6c7aca090a0990bfd583"><div class="ttname"><a href="fp__BLS381_8h.html#ad40a8055cddb6c7aca090a0990bfd583">FP_BLS381_nres</a></div><div class="ttdeci">void FP_BLS381_nres(FP_BLS381 *y, BIG_384_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:90</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_aa09d6506ebac654b73562508ad5eb6bc"><div class="ttname"><a href="fp__BLS381_8h.html#aa09d6506ebac654b73562508ad5eb6bc">FP_BLS381_pow</a></div><div class="ttdeci">void FP_BLS381_pow(FP_BLS381 *x, FP_BLS381 *y, BIG_384_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__BLS381_8h_html_acf87ddbcb436e3262ae1f78dacfe3d59"><div class="ttname"><a href="fp__BLS381_8h.html#acf87ddbcb436e3262ae1f78dacfe3d59">FP_BLS381_copy</a></div><div class="ttdeci">void FP_BLS381_copy(FP_BLS381 *y, FP_BLS381 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:216</div></div>
+<div class="ttc" id="fp__BLS381_8h_html_ad40a8055cddb6c7aca090a0990bfd583"><div class="ttname"><a href="fp__BLS381_8h.html#ad40a8055cddb6c7aca090a0990bfd583">FP_BLS381_nres</a></div><div class="ttdeci">void FP_BLS381_nres(FP_BLS381 *y, BIG_384_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS381.c:90</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab914db55caa046b50795e836a4a052ea"><div class="ttname"><a href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a></div><div class="ttdeci">chunk DBIG_384_58[DNLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:59</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/fp__BLS383_8h.html b/website/static/cdocs/fp__BLS383_8h.html
index dbdb033..5255c11 100644
--- a/website/static/cdocs/fp__BLS383_8h.html
+++ b/website/static/cdocs/fp__BLS383_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: fp_BLS383.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"
@@ -1195,7 +1198,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/fp__BLS383_8h_source.html b/website/static/cdocs/fp__BLS383_8h_source.html
index 2e834b1..40c3f4c 100644
--- a/website/static/cdocs/fp__BLS383_8h_source.html
+++ b/website/static/cdocs/fp__BLS383_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: fp_BLS383.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,49 +72,49 @@
 <div class="title">fp_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BLS383_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 FP_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS383_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 &quot;<a class="code" href="big__384__58_8h.html">big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS383.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e">   40</a></span>&#160;    <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS383.html#aebe8351b410e5005cf5693566675bae9">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS383.html#aebe8351b410e5005cf5693566675bae9">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS383.html">FP_BLS383</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS383_8h.html#ae6dd7714191bafd49f8b1cd5acd55b00">Modulus_BLS383</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS383_8h.html#a3f0f01a788400b768ae72817337319f6">R2modp_BLS383</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS383_8h.html#a73d829130c7904a960db0156372e42a7">MConst_BLS383</a>;               </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a1a76874cdfc66311ba1fdfa66a7a8e91">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS383 MBITS_BLS383                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#afa44ac9c83798ffd233035fd5f05aa7b">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS383 (MBITS_BLS383%BASEBITS_384_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a9525883992e095a846d77415c0488128">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS383 (((chunk)1&lt;&lt;TBITS_BLS383)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a9a47fb39fd2c44a8a1e5b35c9f7b4e11">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS383 (((sign32)1&lt;&lt;MAXXES_BLS383)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a512051744ea7446b52bf082fb7305bdc">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS383 (-((chunk)(1)&lt;&lt;TBITS_BLS383))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS383_8h.html#abebae233eb4a41605f2238b608c0af4b">FP_BLS383_iszilch</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ad4d3c4046194962cf5d23467a863e9af">FP_BLS383_zero</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ae2686420515671481709b584b027ac6c">FP_BLS383_copy</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a4122ec7ab6ac57e44291c44f487a431b">FP_BLS383_rcopy</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS383_8h.html#ac2c01a28306b6f28a8cfd0dc20853c5f">FP_BLS383_equals</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS383_8h.html#a0a5ba21efb8132c7814c943ba34668e2">FP_BLS383_cswap</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</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="fp__BLS383_8h.html#ac1f1417d24f18623f2b084fc5c550708">FP_BLS383_cmove</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</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="fp__BLS383_8h.html#a22a86e5b6ce961d00b5c6db4efaa0250">FP_BLS383_nres</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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="fp__BLS383_8h.html#a7e3941c8b3a7a56072e115832b23e6d5">FP_BLS383_redc</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#abf1cb1fe3f03c72bbd4dc3e347e4d830">FP_BLS383_one</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a98b189cea4ca1577d4a167c7a37881d5">FP_BLS383_mod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS383_modmul(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS383_8h.html#a57765a2321c9e6cf6b68a50d4ab1e0f6">FP_BLS383_mul</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *z);</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="fp__BLS383_8h.html#a0bdb2e886ecaa9a0c4bc3d26c963bfa2">FP_BLS383_imul</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ab263b939e93ebf2c3447d502dae00fe4">FP_BLS383_sqr</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a2b85d88f460a0c6da3c5015847d461a0">FP_BLS383_add</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#aa64cf4a1eddc0efc71b3d103b86056b5">FP_BLS383_sub</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a774071d14d5a7749462552188ef6b392">FP_BLS383_div2</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a42418fe86d6f4d6adc4bbab1ac170a9f">FP_BLS383_pow</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#aeb1ed17a59435f258007a4d4dcd4376e">FP_BLS383_sqrt</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#aae4b7f6e951d64f501fdd4c1e9725295">FP_BLS383_neg</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#af29ad0c0af91f7c62078ade47973b3e0">FP_BLS383_output</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ac6deaf0d85e652d7a10d899c9f6e2a46">FP_BLS383_rawoutput</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a60cf9cfd2e988cbc4962ee0641e96b63">FP_BLS383_reduce</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a5ec667fb0b430cf2710aff2d30076c76">FP_BLS383_norm</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS383_8h.html#a61b60c49458b708671101cc94a85fff0">FP_BLS383_qr</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ae9f5045874afeedff227e0e480920b07">FP_BLS383_inv</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS383_8h_html_a7e3941c8b3a7a56072e115832b23e6d5"><div class="ttname"><a href="fp__BLS383_8h.html#a7e3941c8b3a7a56072e115832b23e6d5">FP_BLS383_redc</a></div><div class="ttdeci">void FP_BLS383_redc(BIG_384_58 x, FP_BLS383 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:97</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a774071d14d5a7749462552188ef6b392"><div class="ttname"><a href="fp__BLS383_8h.html#a774071d14d5a7749462552188ef6b392">FP_BLS383_div2</a></div><div class="ttdeci">void FP_BLS383_div2(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:515</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_ac6deaf0d85e652d7a10d899c9f6e2a46"><div class="ttname"><a href="fp__BLS383_8h.html#ac6deaf0d85e652d7a10d899c9f6e2a46">FP_BLS383_rawoutput</a></div><div class="ttdeci">void FP_BLS383_rawoutput(FP_BLS383 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:277</div></div>
+<a href="fp__BLS383_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 FP_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS383_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 &quot;<a class="code" href="big__384__58_8h.html">big_384_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS383.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS383.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e">   40</a></span>&#160;    <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS383.html#aebe8351b410e5005cf5693566675bae9">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS383.html#aebe8351b410e5005cf5693566675bae9">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS383.html">FP_BLS383</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS383_8h.html#ae6dd7714191bafd49f8b1cd5acd55b00">Modulus_BLS383</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="fp__BLS383_8h.html#a3f0f01a788400b768ae72817337319f6">R2modp_BLS383</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS383_8h.html#a73d829130c7904a960db0156372e42a7">MConst_BLS383</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a1a76874cdfc66311ba1fdfa66a7a8e91">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS383 MBITS_BLS383                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#afa44ac9c83798ffd233035fd5f05aa7b">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS383 (MBITS_BLS383%BASEBITS_384_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a9525883992e095a846d77415c0488128">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS383 (((chunk)1&lt;&lt;TBITS_BLS383)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a9a47fb39fd2c44a8a1e5b35c9f7b4e11">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS383 (((sign32)1&lt;&lt;MAXXES_BLS383)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS383_8h.html#a512051744ea7446b52bf082fb7305bdc">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS383 (-((chunk)(1)&lt;&lt;TBITS_BLS383))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS383_8h.html#abebae233eb4a41605f2238b608c0af4b">FP_BLS383_iszilch</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ad4d3c4046194962cf5d23467a863e9af">FP_BLS383_zero</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ae2686420515671481709b584b027ac6c">FP_BLS383_copy</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a4122ec7ab6ac57e44291c44f487a431b">FP_BLS383_rcopy</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS383_8h.html#ac2c01a28306b6f28a8cfd0dc20853c5f">FP_BLS383_equals</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS383_8h.html#a0a5ba21efb8132c7814c943ba34668e2">FP_BLS383_cswap</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</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="fp__BLS383_8h.html#ac1f1417d24f18623f2b084fc5c550708">FP_BLS383_cmove</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</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="fp__BLS383_8h.html#a22a86e5b6ce961d00b5c6db4efaa0250">FP_BLS383_nres</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_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="fp__BLS383_8h.html#a7e3941c8b3a7a56072e115832b23e6d5">FP_BLS383_redc</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#abf1cb1fe3f03c72bbd4dc3e347e4d830">FP_BLS383_one</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a98b189cea4ca1577d4a167c7a37881d5">FP_BLS383_mod</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> r,<a class="code" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS383_modmul(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS383_8h.html#a57765a2321c9e6cf6b68a50d4ab1e0f6">FP_BLS383_mul</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *z);</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="fp__BLS383_8h.html#a0bdb2e886ecaa9a0c4bc3d26c963bfa2">FP_BLS383_imul</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ab263b939e93ebf2c3447d502dae00fe4">FP_BLS383_sqr</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a2b85d88f460a0c6da3c5015847d461a0">FP_BLS383_add</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#aa64cf4a1eddc0efc71b3d103b86056b5">FP_BLS383_sub</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a774071d14d5a7749462552188ef6b392">FP_BLS383_div2</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a42418fe86d6f4d6adc4bbab1ac170a9f">FP_BLS383_pow</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#aeb1ed17a59435f258007a4d4dcd4376e">FP_BLS383_sqrt</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#aae4b7f6e951d64f501fdd4c1e9725295">FP_BLS383_neg</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#af29ad0c0af91f7c62078ade47973b3e0">FP_BLS383_output</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ac6deaf0d85e652d7a10d899c9f6e2a46">FP_BLS383_rawoutput</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a60cf9cfd2e988cbc4962ee0641e96b63">FP_BLS383_reduce</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#a5ec667fb0b430cf2710aff2d30076c76">FP_BLS383_norm</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS383_8h.html#a61b60c49458b708671101cc94a85fff0">FP_BLS383_qr</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS383_8h.html#ae9f5045874afeedff227e0e480920b07">FP_BLS383_inv</a>(<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *x,<a class="code" href="structFP__BLS383.html">FP_BLS383</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS383_8h_html_a7e3941c8b3a7a56072e115832b23e6d5"><div class="ttname"><a href="fp__BLS383_8h.html#a7e3941c8b3a7a56072e115832b23e6d5">FP_BLS383_redc</a></div><div class="ttdeci">void FP_BLS383_redc(BIG_384_58 x, FP_BLS383 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:97</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a774071d14d5a7749462552188ef6b392"><div class="ttname"><a href="fp__BLS383_8h.html#a774071d14d5a7749462552188ef6b392">FP_BLS383_div2</a></div><div class="ttdeci">void FP_BLS383_div2(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:515</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_ac6deaf0d85e652d7a10d899c9f6e2a46"><div class="ttname"><a href="fp__BLS383_8h.html#ac6deaf0d85e652d7a10d899c9f6e2a46">FP_BLS383_rawoutput</a></div><div class="ttdeci">void FP_BLS383_rawoutput(FP_BLS383 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:277</div></div>
 <div class="ttc" id="fp__BLS383_8h_html_a73d829130c7904a960db0156372e42a7"><div class="ttname"><a href="fp__BLS383_8h.html#a73d829130c7904a960db0156372e42a7">MConst_BLS383</a></div><div class="ttdeci">const chunk MConst_BLS383</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_ad4d3c4046194962cf5d23467a863e9af"><div class="ttname"><a href="fp__BLS383_8h.html#ad4d3c4046194962cf5d23467a863e9af">FP_BLS383_zero</a></div><div class="ttdeci">void FP_BLS383_zero(FP_BLS383 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:251</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_ac1f1417d24f18623f2b084fc5c550708"><div class="ttname"><a href="fp__BLS383_8h.html#ac1f1417d24f18623f2b084fc5c550708">FP_BLS383_cmove</a></div><div class="ttdeci">void FP_BLS383_cmove(FP_BLS383 *x, FP_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:243</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a0bdb2e886ecaa9a0c4bc3d26c963bfa2"><div class="ttname"><a href="fp__BLS383_8h.html#a0bdb2e886ecaa9a0c4bc3d26c963bfa2">FP_BLS383_imul</a></div><div class="ttdeci">void FP_BLS383_imul(FP_BLS383 *x, FP_BLS383 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:321</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_af29ad0c0af91f7c62078ade47973b3e0"><div class="ttname"><a href="fp__BLS383_8h.html#af29ad0c0af91f7c62078ade47973b3e0">FP_BLS383_output</a></div><div class="ttdeci">void FP_BLS383_output(FP_BLS383 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:270</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_ac2c01a28306b6f28a8cfd0dc20853c5f"><div class="ttname"><a href="fp__BLS383_8h.html#ac2c01a28306b6f28a8cfd0dc20853c5f">FP_BLS383_equals</a></div><div class="ttdeci">int FP_BLS383_equals(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:257</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a98b189cea4ca1577d4a167c7a37881d5"><div class="ttname"><a href="fp__BLS383_8h.html#a98b189cea4ca1577d4a167c7a37881d5">FP_BLS383_mod</a></div><div class="ttdeci">void FP_BLS383_mod(BIG_384_58 r, DBIG_384_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:103</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_ae9f5045874afeedff227e0e480920b07"><div class="ttname"><a href="fp__BLS383_8h.html#ae9f5045874afeedff227e0e480920b07">FP_BLS383_inv</a></div><div class="ttdeci">void FP_BLS383_inv(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:648</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a42418fe86d6f4d6adc4bbab1ac170a9f"><div class="ttname"><a href="fp__BLS383_8h.html#a42418fe86d6f4d6adc4bbab1ac170a9f">FP_BLS383_pow</a></div><div class="ttdeci">void FP_BLS383_pow(FP_BLS383 *x, FP_BLS383 *y, BIG_384_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_ad4d3c4046194962cf5d23467a863e9af"><div class="ttname"><a href="fp__BLS383_8h.html#ad4d3c4046194962cf5d23467a863e9af">FP_BLS383_zero</a></div><div class="ttdeci">void FP_BLS383_zero(FP_BLS383 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:251</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_ac1f1417d24f18623f2b084fc5c550708"><div class="ttname"><a href="fp__BLS383_8h.html#ac1f1417d24f18623f2b084fc5c550708">FP_BLS383_cmove</a></div><div class="ttdeci">void FP_BLS383_cmove(FP_BLS383 *x, FP_BLS383 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:243</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a0bdb2e886ecaa9a0c4bc3d26c963bfa2"><div class="ttname"><a href="fp__BLS383_8h.html#a0bdb2e886ecaa9a0c4bc3d26c963bfa2">FP_BLS383_imul</a></div><div class="ttdeci">void FP_BLS383_imul(FP_BLS383 *x, FP_BLS383 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:321</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_af29ad0c0af91f7c62078ade47973b3e0"><div class="ttname"><a href="fp__BLS383_8h.html#af29ad0c0af91f7c62078ade47973b3e0">FP_BLS383_output</a></div><div class="ttdeci">void FP_BLS383_output(FP_BLS383 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:270</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_ac2c01a28306b6f28a8cfd0dc20853c5f"><div class="ttname"><a href="fp__BLS383_8h.html#ac2c01a28306b6f28a8cfd0dc20853c5f">FP_BLS383_equals</a></div><div class="ttdeci">int FP_BLS383_equals(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:257</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a98b189cea4ca1577d4a167c7a37881d5"><div class="ttname"><a href="fp__BLS383_8h.html#a98b189cea4ca1577d4a167c7a37881d5">FP_BLS383_mod</a></div><div class="ttdeci">void FP_BLS383_mod(BIG_384_58 r, DBIG_384_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:103</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_ae9f5045874afeedff227e0e480920b07"><div class="ttname"><a href="fp__BLS383_8h.html#ae9f5045874afeedff227e0e480920b07">FP_BLS383_inv</a></div><div class="ttdeci">void FP_BLS383_inv(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:648</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a42418fe86d6f4d6adc4bbab1ac170a9f"><div class="ttname"><a href="fp__BLS383_8h.html#a42418fe86d6f4d6adc4bbab1ac170a9f">FP_BLS383_pow</a></div><div class="ttdeci">void FP_BLS383_pow(FP_BLS383 *x, FP_BLS383 *y, BIG_384_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_abf1cb1fe3f03c72bbd4dc3e347e4d830"><div class="ttname"><a href="fp__BLS383_8h.html#abf1cb1fe3f03c72bbd4dc3e347e4d830">FP_BLS383_one</a></div><div class="ttdeci">void FP_BLS383_one(FP_BLS383 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:723</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a22a86e5b6ce961d00b5c6db4efaa0250"><div class="ttname"><a href="fp__BLS383_8h.html#a22a86e5b6ce961d00b5c6db4efaa0250">FP_BLS383_nres</a></div><div class="ttdeci">void FP_BLS383_nres(FP_BLS383 *y, BIG_384_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:90</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_aeb1ed17a59435f258007a4d4dcd4376e"><div class="ttname"><a href="fp__BLS383_8h.html#aeb1ed17a59435f258007a4d4dcd4376e">FP_BLS383_sqrt</a></div><div class="ttdeci">void FP_BLS383_sqrt(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:747</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a60cf9cfd2e988cbc4962ee0641e96b63"><div class="ttname"><a href="fp__BLS383_8h.html#a60cf9cfd2e988cbc4962ee0641e96b63">FP_BLS383_reduce</a></div><div class="ttdeci">void FP_BLS383_reduce(FP_BLS383 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:449</div></div>
-<div class="ttc" id="big__384__58_8h_html"><div class="ttname"><a href="big__384__58_8h.html">big_384_58.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_aa64cf4a1eddc0efc71b3d103b86056b5"><div class="ttname"><a href="fp__BLS383_8h.html#aa64cf4a1eddc0efc71b3d103b86056b5">FP_BLS383_sub</a></div><div class="ttdeci">void FP_BLS383_sub(FP_BLS383 *x, FP_BLS383 *y, FP_BLS383 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:400</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_ab263b939e93ebf2c3447d502dae00fe4"><div class="ttname"><a href="fp__BLS383_8h.html#ab263b939e93ebf2c3447d502dae00fe4">FP_BLS383_sqr</a></div><div class="ttdeci">void FP_BLS383_sqr(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:366</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a2b85d88f460a0c6da3c5015847d461a0"><div class="ttname"><a href="fp__BLS383_8h.html#a2b85d88f460a0c6da3c5015847d461a0">FP_BLS383_add</a></div><div class="ttdeci">void FP_BLS383_add(FP_BLS383 *x, FP_BLS383 *y, FP_BLS383 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:385</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_abf1cb1fe3f03c72bbd4dc3e347e4d830"><div class="ttname"><a href="fp__BLS383_8h.html#abf1cb1fe3f03c72bbd4dc3e347e4d830">FP_BLS383_one</a></div><div class="ttdeci">void FP_BLS383_one(FP_BLS383 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:723</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a22a86e5b6ce961d00b5c6db4efaa0250"><div class="ttname"><a href="fp__BLS383_8h.html#a22a86e5b6ce961d00b5c6db4efaa0250">FP_BLS383_nres</a></div><div class="ttdeci">void FP_BLS383_nres(FP_BLS383 *y, BIG_384_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:90</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_aeb1ed17a59435f258007a4d4dcd4376e"><div class="ttname"><a href="fp__BLS383_8h.html#aeb1ed17a59435f258007a4d4dcd4376e">FP_BLS383_sqrt</a></div><div class="ttdeci">void FP_BLS383_sqrt(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:747</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a60cf9cfd2e988cbc4962ee0641e96b63"><div class="ttname"><a href="fp__BLS383_8h.html#a60cf9cfd2e988cbc4962ee0641e96b63">FP_BLS383_reduce</a></div><div class="ttdeci">void FP_BLS383_reduce(FP_BLS383 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:449</div></div>
+<div class="ttc" id="big__384__58_8h_html"><div class="ttname"><a href="big__384__58_8h.html">big_384_58.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__BLS383_8h_html_aa64cf4a1eddc0efc71b3d103b86056b5"><div class="ttname"><a href="fp__BLS383_8h.html#aa64cf4a1eddc0efc71b3d103b86056b5">FP_BLS383_sub</a></div><div class="ttdeci">void FP_BLS383_sub(FP_BLS383 *x, FP_BLS383 *y, FP_BLS383 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:400</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_ab263b939e93ebf2c3447d502dae00fe4"><div class="ttname"><a href="fp__BLS383_8h.html#ab263b939e93ebf2c3447d502dae00fe4">FP_BLS383_sqr</a></div><div class="ttdeci">void FP_BLS383_sqr(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:366</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a2b85d88f460a0c6da3c5015847d461a0"><div class="ttname"><a href="fp__BLS383_8h.html#a2b85d88f460a0c6da3c5015847d461a0">FP_BLS383_add</a></div><div class="ttdeci">void FP_BLS383_add(FP_BLS383 *x, FP_BLS383 *y, FP_BLS383 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:385</div></div>
 <div class="ttc" id="fp__BLS383_8h_html_a3f0f01a788400b768ae72817337319f6"><div class="ttname"><a href="fp__BLS383_8h.html#a3f0f01a788400b768ae72817337319f6">R2modp_BLS383</a></div><div class="ttdeci">const BIG_384_58 R2modp_BLS383</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_abebae233eb4a41605f2238b608c0af4b"><div class="ttname"><a href="fp__BLS383_8h.html#abebae233eb4a41605f2238b608c0af4b">FP_BLS383_iszilch</a></div><div class="ttdeci">int FP_BLS383_iszilch(FP_BLS383 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:207</div></div>
-<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a0a5ba21efb8132c7814c943ba34668e2"><div class="ttname"><a href="fp__BLS383_8h.html#a0a5ba21efb8132c7814c943ba34668e2">FP_BLS383_cswap</a></div><div class="ttdeci">void FP_BLS383_cswap(FP_BLS383 *x, FP_BLS383 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:230</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_abebae233eb4a41605f2238b608c0af4b"><div class="ttname"><a href="fp__BLS383_8h.html#abebae233eb4a41605f2238b608c0af4b">FP_BLS383_iszilch</a></div><div class="ttdeci">int FP_BLS383_iszilch(FP_BLS383 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:207</div></div>
+<div class="ttc" id="structFP__BLS383_html"><div class="ttname"><a href="structFP__BLS383.html">FP_BLS383</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:38</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a0a5ba21efb8132c7814c943ba34668e2"><div class="ttname"><a href="fp__BLS383_8h.html#a0a5ba21efb8132c7814c943ba34668e2">FP_BLS383_cswap</a></div><div class="ttdeci">void FP_BLS383_cswap(FP_BLS383 *x, FP_BLS383 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:230</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
 <div class="ttc" id="structFP__BLS383_html_af897a6bc293e91926cd8dbca4b7b434e"><div class="ttname"><a href="structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e">FP_BLS383::g</a></div><div class="ttdeci">BIG_384_58 g</div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:40</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a4122ec7ab6ac57e44291c44f487a431b"><div class="ttname"><a href="fp__BLS383_8h.html#a4122ec7ab6ac57e44291c44f487a431b">FP_BLS383_rcopy</a></div><div class="ttdeci">void FP_BLS383_rcopy(FP_BLS383 *y, const BIG_384_58 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:222</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a5ec667fb0b430cf2710aff2d30076c76"><div class="ttname"><a href="fp__BLS383_8h.html#a5ec667fb0b430cf2710aff2d30076c76">FP_BLS383_norm</a></div><div class="ttdeci">void FP_BLS383_norm(FP_BLS383 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:484</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a4122ec7ab6ac57e44291c44f487a431b"><div class="ttname"><a href="fp__BLS383_8h.html#a4122ec7ab6ac57e44291c44f487a431b">FP_BLS383_rcopy</a></div><div class="ttdeci">void FP_BLS383_rcopy(FP_BLS383 *y, const BIG_384_58 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:222</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a5ec667fb0b430cf2710aff2d30076c76"><div class="ttname"><a href="fp__BLS383_8h.html#a5ec667fb0b430cf2710aff2d30076c76">FP_BLS383_norm</a></div><div class="ttdeci">void FP_BLS383_norm(FP_BLS383 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:484</div></div>
 <div class="ttc" id="fp__BLS383_8h_html_ae6dd7714191bafd49f8b1cd5acd55b00"><div class="ttname"><a href="fp__BLS383_8h.html#ae6dd7714191bafd49f8b1cd5acd55b00">Modulus_BLS383</a></div><div class="ttdeci">const BIG_384_58 Modulus_BLS383</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a61b60c49458b708671101cc94a85fff0"><div class="ttname"><a href="fp__BLS383_8h.html#a61b60c49458b708671101cc94a85fff0">FP_BLS383_qr</a></div><div class="ttdeci">int FP_BLS383_qr(FP_BLS383 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:731</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a61b60c49458b708671101cc94a85fff0"><div class="ttname"><a href="fp__BLS383_8h.html#a61b60c49458b708671101cc94a85fff0">FP_BLS383_qr</a></div><div class="ttdeci">int FP_BLS383_qr(FP_BLS383 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:731</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="fp__BLS383_8h_html_ae2686420515671481709b584b027ac6c"><div class="ttname"><a href="fp__BLS383_8h.html#ae2686420515671481709b584b027ac6c">FP_BLS383_copy</a></div><div class="ttdeci">void FP_BLS383_copy(FP_BLS383 *y, FP_BLS383 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:216</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_aae4b7f6e951d64f501fdd4c1e9725295"><div class="ttname"><a href="fp__BLS383_8h.html#aae4b7f6e951d64f501fdd4c1e9725295">FP_BLS383_neg</a></div><div class="ttdeci">void FP_BLS383_neg(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:491</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_ae2686420515671481709b584b027ac6c"><div class="ttname"><a href="fp__BLS383_8h.html#ae2686420515671481709b584b027ac6c">FP_BLS383_copy</a></div><div class="ttdeci">void FP_BLS383_copy(FP_BLS383 *y, FP_BLS383 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:216</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_aae4b7f6e951d64f501fdd4c1e9725295"><div class="ttname"><a href="fp__BLS383_8h.html#aae4b7f6e951d64f501fdd4c1e9725295">FP_BLS383_neg</a></div><div class="ttdeci">void FP_BLS383_neg(FP_BLS383 *x, FP_BLS383 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:491</div></div>
 <div class="ttc" id="structFP__BLS383_html_aebe8351b410e5005cf5693566675bae9"><div class="ttname"><a href="structFP__BLS383.html#aebe8351b410e5005cf5693566675bae9">FP_BLS383::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BLS383.h:41</div></div>
-<div class="ttc" id="fp__BLS383_8h_html_a57765a2321c9e6cf6b68a50d4ab1e0f6"><div class="ttname"><a href="fp__BLS383_8h.html#a57765a2321c9e6cf6b68a50d4ab1e0f6">FP_BLS383_mul</a></div><div class="ttdeci">void FP_BLS383_mul(FP_BLS383 *x, FP_BLS383 *y, FP_BLS383 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:297</div></div>
+<div class="ttc" id="fp__BLS383_8h_html_a57765a2321c9e6cf6b68a50d4ab1e0f6"><div class="ttname"><a href="fp__BLS383_8h.html#a57765a2321c9e6cf6b68a50d4ab1e0f6">FP_BLS383_mul</a></div><div class="ttdeci">void FP_BLS383_mul(FP_BLS383 *x, FP_BLS383 *y, FP_BLS383 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS383.c:297</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab914db55caa046b50795e836a4a052ea"><div class="ttname"><a href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">DBIG_384_58</a></div><div class="ttdeci">chunk DBIG_384_58[DNLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:59</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/fp__BLS461_8h.html b/website/static/cdocs/fp__BLS461_8h.html
index 78fe411..d8e9477 100644
--- a/website/static/cdocs/fp__BLS461_8h.html
+++ b/website/static/cdocs/fp__BLS461_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: fp_BLS461.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"
@@ -1195,7 +1198,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/fp__BLS461_8h_source.html b/website/static/cdocs/fp__BLS461_8h_source.html
index cf78e15..f5caebb 100644
--- a/website/static/cdocs/fp__BLS461_8h_source.html
+++ b/website/static/cdocs/fp__BLS461_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: fp_BLS461.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,49 +72,49 @@
 <div class="title">fp_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BLS461_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 FP_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS461_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 &quot;<a class="code" href="big__464__60_8h.html">big_464_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS461.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b">   40</a></span>&#160;    <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS461.html#a075f45e1db7a9452af7cf11381648b9a">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS461.html#a075f45e1db7a9452af7cf11381648b9a">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS461.html">FP_BLS461</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp__BLS461_8h.html#a2cce259ab612ae091e8d4a4068ad715b">Modulus_BLS461</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp__BLS461_8h.html#a77218cd3b7ce3c14d809a41b66a61373">R2modp_BLS461</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS461_8h.html#ae20f453254f02293ffdd404bf895dd96">MConst_BLS461</a>;               </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#ad93124500a75248e34c6eb971470f903">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS461 MBITS_BLS461                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#af7537c391cd00befeef84c4170fd7be6">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS461 (MBITS_BLS461%BASEBITS_464_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#a5f7acaaf3b7abf2bffd8739ca0695758">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS461 (((chunk)1&lt;&lt;TBITS_BLS461)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#ae5a279aea2a63985201547f8f1e03189">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS461 (((sign32)1&lt;&lt;MAXXES_BLS461)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#a089863b6a95422baa694f5e99494bb8c">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS461 (-((chunk)(1)&lt;&lt;TBITS_BLS461))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS461_8h.html#a3807d6395d796f092fce0cf63ca72790">FP_BLS461_iszilch</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a3f92b884f7b12261cf383cb17a584d4c">FP_BLS461_zero</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#aa8b85cced1b0c966308f95e6d6281f3b">FP_BLS461_copy</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ac56ffbc5e030aeb3c39441cdeec76e62">FP_BLS461_rcopy</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS461_8h.html#a8a73aa488adc7a32673037230305f078">FP_BLS461_equals</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS461_8h.html#aca935edaf3009975fc73ca5ca4dc38a7">FP_BLS461_cswap</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</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="fp__BLS461_8h.html#a30d9eb6a867aec9f82aad6e73f436023">FP_BLS461_cmove</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</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="fp__BLS461_8h.html#ad33f383fbd5c1db355801160e3387f53">FP_BLS461_nres</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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="fp__BLS461_8h.html#ab36ba1b9231b11a117e21ba48ab349a3">FP_BLS461_redc</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#afce3bddb48d55adfe4baf4a31e4c1cf1">FP_BLS461_one</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a5f98383b938cd3daa36b8bdc83fd5ee8">FP_BLS461_mod</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> r,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS461_modmul(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS461_8h.html#a4b00a203412c6263971bf511b37fbe49">FP_BLS461_mul</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *z);</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="fp__BLS461_8h.html#a1a25c548af2e364f2de37a8797b3c9e2">FP_BLS461_imul</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ab7ce4a086055c921a8d98dd5e95ab1e7">FP_BLS461_sqr</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ac3b3310c9cb94fe8e3f579702018f4e7">FP_BLS461_add</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a3ecf7b2538225d46b57078d9c37fa2b5">FP_BLS461_sub</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#afcfff9cb8862cd67140c8045a87ef848">FP_BLS461_div2</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a3340ca742d8f677bd03d87e53a0fa718">FP_BLS461_pow</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a8586f293579e69f08e51daef8ee65e7f">FP_BLS461_sqrt</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a4b71d1090634add18c342d1f4fe5f640">FP_BLS461_neg</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ae90eace2d971197ea54022cf78f200b0">FP_BLS461_output</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a05301c77c8125e2adb29d1c0087b6c9a">FP_BLS461_rawoutput</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ab73c77e621ba77cb97bf0e95df2ba821">FP_BLS461_reduce</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a29f68d9f9caa9e0cdb6c09abaf9c7bc5">FP_BLS461_norm</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS461_8h.html#a206577d55bca62076126e4bce00bb9c9">FP_BLS461_qr</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a6bd170924b30040ef3340dcc209bc0ac">FP_BLS461_inv</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS461_8h_html_ab73c77e621ba77cb97bf0e95df2ba821"><div class="ttname"><a href="fp__BLS461_8h.html#ab73c77e621ba77cb97bf0e95df2ba821">FP_BLS461_reduce</a></div><div class="ttdeci">void FP_BLS461_reduce(FP_BLS461 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:449</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_aa8b85cced1b0c966308f95e6d6281f3b"><div class="ttname"><a href="fp__BLS461_8h.html#aa8b85cced1b0c966308f95e6d6281f3b">FP_BLS461_copy</a></div><div class="ttdeci">void FP_BLS461_copy(FP_BLS461 *y, FP_BLS461 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:216</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a8586f293579e69f08e51daef8ee65e7f"><div class="ttname"><a href="fp__BLS461_8h.html#a8586f293579e69f08e51daef8ee65e7f">FP_BLS461_sqrt</a></div><div class="ttdeci">void FP_BLS461_sqrt(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:747</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_ab36ba1b9231b11a117e21ba48ab349a3"><div class="ttname"><a href="fp__BLS461_8h.html#ab36ba1b9231b11a117e21ba48ab349a3">FP_BLS461_redc</a></div><div class="ttdeci">void FP_BLS461_redc(BIG_464_60 x, FP_BLS461 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:97</div></div>
+<a href="fp__BLS461_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 FP_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS461_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 &quot;<a class="code" href="big__464__60_8h.html">big_464_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS461.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS461.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b">   40</a></span>&#160;    <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS461.html#a075f45e1db7a9452af7cf11381648b9a">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS461.html#a075f45e1db7a9452af7cf11381648b9a">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS461.html">FP_BLS461</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp__BLS461_8h.html#a2cce259ab612ae091e8d4a4068ad715b">Modulus_BLS461</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="fp__BLS461_8h.html#a77218cd3b7ce3c14d809a41b66a61373">R2modp_BLS461</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS461_8h.html#ae20f453254f02293ffdd404bf895dd96">MConst_BLS461</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#ad93124500a75248e34c6eb971470f903">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS461 MBITS_BLS461                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#af7537c391cd00befeef84c4170fd7be6">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS461 (MBITS_BLS461%BASEBITS_464_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#a5f7acaaf3b7abf2bffd8739ca0695758">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS461 (((chunk)1&lt;&lt;TBITS_BLS461)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#ae5a279aea2a63985201547f8f1e03189">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS461 (((sign32)1&lt;&lt;MAXXES_BLS461)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS461_8h.html#a089863b6a95422baa694f5e99494bb8c">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS461 (-((chunk)(1)&lt;&lt;TBITS_BLS461))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS461_8h.html#a3807d6395d796f092fce0cf63ca72790">FP_BLS461_iszilch</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a3f92b884f7b12261cf383cb17a584d4c">FP_BLS461_zero</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#aa8b85cced1b0c966308f95e6d6281f3b">FP_BLS461_copy</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ac56ffbc5e030aeb3c39441cdeec76e62">FP_BLS461_rcopy</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS461_8h.html#a8a73aa488adc7a32673037230305f078">FP_BLS461_equals</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS461_8h.html#aca935edaf3009975fc73ca5ca4dc38a7">FP_BLS461_cswap</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</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="fp__BLS461_8h.html#a30d9eb6a867aec9f82aad6e73f436023">FP_BLS461_cmove</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</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="fp__BLS461_8h.html#ad33f383fbd5c1db355801160e3387f53">FP_BLS461_nres</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</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="fp__BLS461_8h.html#ab36ba1b9231b11a117e21ba48ab349a3">FP_BLS461_redc</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#afce3bddb48d55adfe4baf4a31e4c1cf1">FP_BLS461_one</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a5f98383b938cd3daa36b8bdc83fd5ee8">FP_BLS461_mod</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> r,<a class="code" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS461_modmul(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS461_8h.html#a4b00a203412c6263971bf511b37fbe49">FP_BLS461_mul</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *z);</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="fp__BLS461_8h.html#a1a25c548af2e364f2de37a8797b3c9e2">FP_BLS461_imul</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ab7ce4a086055c921a8d98dd5e95ab1e7">FP_BLS461_sqr</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ac3b3310c9cb94fe8e3f579702018f4e7">FP_BLS461_add</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a3ecf7b2538225d46b57078d9c37fa2b5">FP_BLS461_sub</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#afcfff9cb8862cd67140c8045a87ef848">FP_BLS461_div2</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a3340ca742d8f677bd03d87e53a0fa718">FP_BLS461_pow</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a8586f293579e69f08e51daef8ee65e7f">FP_BLS461_sqrt</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a4b71d1090634add18c342d1f4fe5f640">FP_BLS461_neg</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ae90eace2d971197ea54022cf78f200b0">FP_BLS461_output</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a05301c77c8125e2adb29d1c0087b6c9a">FP_BLS461_rawoutput</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#ab73c77e621ba77cb97bf0e95df2ba821">FP_BLS461_reduce</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a29f68d9f9caa9e0cdb6c09abaf9c7bc5">FP_BLS461_norm</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS461_8h.html#a206577d55bca62076126e4bce00bb9c9">FP_BLS461_qr</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS461_8h.html#a6bd170924b30040ef3340dcc209bc0ac">FP_BLS461_inv</a>(<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *x,<a class="code" href="structFP__BLS461.html">FP_BLS461</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS461_8h_html_ab73c77e621ba77cb97bf0e95df2ba821"><div class="ttname"><a href="fp__BLS461_8h.html#ab73c77e621ba77cb97bf0e95df2ba821">FP_BLS461_reduce</a></div><div class="ttdeci">void FP_BLS461_reduce(FP_BLS461 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:449</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_aa8b85cced1b0c966308f95e6d6281f3b"><div class="ttname"><a href="fp__BLS461_8h.html#aa8b85cced1b0c966308f95e6d6281f3b">FP_BLS461_copy</a></div><div class="ttdeci">void FP_BLS461_copy(FP_BLS461 *y, FP_BLS461 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:216</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a8586f293579e69f08e51daef8ee65e7f"><div class="ttname"><a href="fp__BLS461_8h.html#a8586f293579e69f08e51daef8ee65e7f">FP_BLS461_sqrt</a></div><div class="ttdeci">void FP_BLS461_sqrt(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:747</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_ab36ba1b9231b11a117e21ba48ab349a3"><div class="ttname"><a href="fp__BLS461_8h.html#ab36ba1b9231b11a117e21ba48ab349a3">FP_BLS461_redc</a></div><div class="ttdeci">void FP_BLS461_redc(BIG_464_60 x, FP_BLS461 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:97</div></div>
 <div class="ttc" id="fp__BLS461_8h_html_a77218cd3b7ce3c14d809a41b66a61373"><div class="ttname"><a href="fp__BLS461_8h.html#a77218cd3b7ce3c14d809a41b66a61373">R2modp_BLS461</a></div><div class="ttdeci">const BIG_464_60 R2modp_BLS461</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_ac3b3310c9cb94fe8e3f579702018f4e7"><div class="ttname"><a href="fp__BLS461_8h.html#ac3b3310c9cb94fe8e3f579702018f4e7">FP_BLS461_add</a></div><div class="ttdeci">void FP_BLS461_add(FP_BLS461 *x, FP_BLS461 *y, FP_BLS461 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:385</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_ac56ffbc5e030aeb3c39441cdeec76e62"><div class="ttname"><a href="fp__BLS461_8h.html#ac56ffbc5e030aeb3c39441cdeec76e62">FP_BLS461_rcopy</a></div><div class="ttdeci">void FP_BLS461_rcopy(FP_BLS461 *y, const BIG_464_60 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:222</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_ad33f383fbd5c1db355801160e3387f53"><div class="ttname"><a href="fp__BLS461_8h.html#ad33f383fbd5c1db355801160e3387f53">FP_BLS461_nres</a></div><div class="ttdeci">void FP_BLS461_nres(FP_BLS461 *y, BIG_464_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:90</div></div>
-<div class="ttc" id="big__464__60_8h_html"><div class="ttname"><a href="big__464__60_8h.html">big_464_60.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_ac3b3310c9cb94fe8e3f579702018f4e7"><div class="ttname"><a href="fp__BLS461_8h.html#ac3b3310c9cb94fe8e3f579702018f4e7">FP_BLS461_add</a></div><div class="ttdeci">void FP_BLS461_add(FP_BLS461 *x, FP_BLS461 *y, FP_BLS461 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:385</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_ac56ffbc5e030aeb3c39441cdeec76e62"><div class="ttname"><a href="fp__BLS461_8h.html#ac56ffbc5e030aeb3c39441cdeec76e62">FP_BLS461_rcopy</a></div><div class="ttdeci">void FP_BLS461_rcopy(FP_BLS461 *y, const BIG_464_60 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:222</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_ad33f383fbd5c1db355801160e3387f53"><div class="ttname"><a href="fp__BLS461_8h.html#ad33f383fbd5c1db355801160e3387f53">FP_BLS461_nres</a></div><div class="ttdeci">void FP_BLS461_nres(FP_BLS461 *y, BIG_464_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:90</div></div>
+<div class="ttc" id="big__464__60_8h_html"><div class="ttname"><a href="big__464__60_8h.html">big_464_60.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a30d9eb6a867aec9f82aad6e73f436023"><div class="ttname"><a href="fp__BLS461_8h.html#a30d9eb6a867aec9f82aad6e73f436023">FP_BLS461_cmove</a></div><div class="ttdeci">void FP_BLS461_cmove(FP_BLS461 *x, FP_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:243</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a3807d6395d796f092fce0cf63ca72790"><div class="ttname"><a href="fp__BLS461_8h.html#a3807d6395d796f092fce0cf63ca72790">FP_BLS461_iszilch</a></div><div class="ttdeci">int FP_BLS461_iszilch(FP_BLS461 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:207</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a30d9eb6a867aec9f82aad6e73f436023"><div class="ttname"><a href="fp__BLS461_8h.html#a30d9eb6a867aec9f82aad6e73f436023">FP_BLS461_cmove</a></div><div class="ttdeci">void FP_BLS461_cmove(FP_BLS461 *x, FP_BLS461 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:243</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a3807d6395d796f092fce0cf63ca72790"><div class="ttname"><a href="fp__BLS461_8h.html#a3807d6395d796f092fce0cf63ca72790">FP_BLS461_iszilch</a></div><div class="ttdeci">int FP_BLS461_iszilch(FP_BLS461 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:207</div></div>
 <div class="ttc" id="structFP__BLS461_html_a075f45e1db7a9452af7cf11381648b9a"><div class="ttname"><a href="structFP__BLS461.html#a075f45e1db7a9452af7cf11381648b9a">FP_BLS461::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:41</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a4b71d1090634add18c342d1f4fe5f640"><div class="ttname"><a href="fp__BLS461_8h.html#a4b71d1090634add18c342d1f4fe5f640">FP_BLS461_neg</a></div><div class="ttdeci">void FP_BLS461_neg(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:491</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a4b71d1090634add18c342d1f4fe5f640"><div class="ttname"><a href="fp__BLS461_8h.html#a4b71d1090634add18c342d1f4fe5f640">FP_BLS461_neg</a></div><div class="ttdeci">void FP_BLS461_neg(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:491</div></div>
 <div class="ttc" id="fp__BLS461_8h_html_ae20f453254f02293ffdd404bf895dd96"><div class="ttname"><a href="fp__BLS461_8h.html#ae20f453254f02293ffdd404bf895dd96">MConst_BLS461</a></div><div class="ttdeci">const chunk MConst_BLS461</div></div>
 <div class="ttc" id="structFP__BLS461_html_ac00b9f94cf65d9dd4521ae0d8412ff5b"><div class="ttname"><a href="structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b">FP_BLS461::g</a></div><div class="ttdeci">BIG_464_60 g</div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:40</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_ab7ce4a086055c921a8d98dd5e95ab1e7"><div class="ttname"><a href="fp__BLS461_8h.html#ab7ce4a086055c921a8d98dd5e95ab1e7">FP_BLS461_sqr</a></div><div class="ttdeci">void FP_BLS461_sqr(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:366</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a1a25c548af2e364f2de37a8797b3c9e2"><div class="ttname"><a href="fp__BLS461_8h.html#a1a25c548af2e364f2de37a8797b3c9e2">FP_BLS461_imul</a></div><div class="ttdeci">void FP_BLS461_imul(FP_BLS461 *x, FP_BLS461 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:321</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a6bd170924b30040ef3340dcc209bc0ac"><div class="ttname"><a href="fp__BLS461_8h.html#a6bd170924b30040ef3340dcc209bc0ac">FP_BLS461_inv</a></div><div class="ttdeci">void FP_BLS461_inv(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:648</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a4b00a203412c6263971bf511b37fbe49"><div class="ttname"><a href="fp__BLS461_8h.html#a4b00a203412c6263971bf511b37fbe49">FP_BLS461_mul</a></div><div class="ttdeci">void FP_BLS461_mul(FP_BLS461 *x, FP_BLS461 *y, FP_BLS461 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:297</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a3340ca742d8f677bd03d87e53a0fa718"><div class="ttname"><a href="fp__BLS461_8h.html#a3340ca742d8f677bd03d87e53a0fa718">FP_BLS461_pow</a></div><div class="ttdeci">void FP_BLS461_pow(FP_BLS461 *x, FP_BLS461 *y, BIG_464_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a8a73aa488adc7a32673037230305f078"><div class="ttname"><a href="fp__BLS461_8h.html#a8a73aa488adc7a32673037230305f078">FP_BLS461_equals</a></div><div class="ttdeci">int FP_BLS461_equals(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:257</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a206577d55bca62076126e4bce00bb9c9"><div class="ttname"><a href="fp__BLS461_8h.html#a206577d55bca62076126e4bce00bb9c9">FP_BLS461_qr</a></div><div class="ttdeci">int FP_BLS461_qr(FP_BLS461 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:731</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_ab7ce4a086055c921a8d98dd5e95ab1e7"><div class="ttname"><a href="fp__BLS461_8h.html#ab7ce4a086055c921a8d98dd5e95ab1e7">FP_BLS461_sqr</a></div><div class="ttdeci">void FP_BLS461_sqr(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:366</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a1a25c548af2e364f2de37a8797b3c9e2"><div class="ttname"><a href="fp__BLS461_8h.html#a1a25c548af2e364f2de37a8797b3c9e2">FP_BLS461_imul</a></div><div class="ttdeci">void FP_BLS461_imul(FP_BLS461 *x, FP_BLS461 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:321</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a6bd170924b30040ef3340dcc209bc0ac"><div class="ttname"><a href="fp__BLS461_8h.html#a6bd170924b30040ef3340dcc209bc0ac">FP_BLS461_inv</a></div><div class="ttdeci">void FP_BLS461_inv(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:648</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a4b00a203412c6263971bf511b37fbe49"><div class="ttname"><a href="fp__BLS461_8h.html#a4b00a203412c6263971bf511b37fbe49">FP_BLS461_mul</a></div><div class="ttdeci">void FP_BLS461_mul(FP_BLS461 *x, FP_BLS461 *y, FP_BLS461 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:297</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a3340ca742d8f677bd03d87e53a0fa718"><div class="ttname"><a href="fp__BLS461_8h.html#a3340ca742d8f677bd03d87e53a0fa718">FP_BLS461_pow</a></div><div class="ttdeci">void FP_BLS461_pow(FP_BLS461 *x, FP_BLS461 *y, BIG_464_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a8a73aa488adc7a32673037230305f078"><div class="ttname"><a href="fp__BLS461_8h.html#a8a73aa488adc7a32673037230305f078">FP_BLS461_equals</a></div><div class="ttdeci">int FP_BLS461_equals(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:257</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a206577d55bca62076126e4bce00bb9c9"><div class="ttname"><a href="fp__BLS461_8h.html#a206577d55bca62076126e4bce00bb9c9">FP_BLS461_qr</a></div><div class="ttdeci">int FP_BLS461_qr(FP_BLS461 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:731</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_afcfff9cb8862cd67140c8045a87ef848"><div class="ttname"><a href="fp__BLS461_8h.html#afcfff9cb8862cd67140c8045a87ef848">FP_BLS461_div2</a></div><div class="ttdeci">void FP_BLS461_div2(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:515</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a3f92b884f7b12261cf383cb17a584d4c"><div class="ttname"><a href="fp__BLS461_8h.html#a3f92b884f7b12261cf383cb17a584d4c">FP_BLS461_zero</a></div><div class="ttdeci">void FP_BLS461_zero(FP_BLS461 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:251</div></div>
-<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a05301c77c8125e2adb29d1c0087b6c9a"><div class="ttname"><a href="fp__BLS461_8h.html#a05301c77c8125e2adb29d1c0087b6c9a">FP_BLS461_rawoutput</a></div><div class="ttdeci">void FP_BLS461_rawoutput(FP_BLS461 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:277</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a29f68d9f9caa9e0cdb6c09abaf9c7bc5"><div class="ttname"><a href="fp__BLS461_8h.html#a29f68d9f9caa9e0cdb6c09abaf9c7bc5">FP_BLS461_norm</a></div><div class="ttdeci">void FP_BLS461_norm(FP_BLS461 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:484</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_afcfff9cb8862cd67140c8045a87ef848"><div class="ttname"><a href="fp__BLS461_8h.html#afcfff9cb8862cd67140c8045a87ef848">FP_BLS461_div2</a></div><div class="ttdeci">void FP_BLS461_div2(FP_BLS461 *x, FP_BLS461 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:515</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a3f92b884f7b12261cf383cb17a584d4c"><div class="ttname"><a href="fp__BLS461_8h.html#a3f92b884f7b12261cf383cb17a584d4c">FP_BLS461_zero</a></div><div class="ttdeci">void FP_BLS461_zero(FP_BLS461 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:251</div></div>
+<div class="ttc" id="structFP__BLS461_html"><div class="ttname"><a href="structFP__BLS461.html">FP_BLS461</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.h:38</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a05301c77c8125e2adb29d1c0087b6c9a"><div class="ttname"><a href="fp__BLS461_8h.html#a05301c77c8125e2adb29d1c0087b6c9a">FP_BLS461_rawoutput</a></div><div class="ttdeci">void FP_BLS461_rawoutput(FP_BLS461 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:277</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a29f68d9f9caa9e0cdb6c09abaf9c7bc5"><div class="ttname"><a href="fp__BLS461_8h.html#a29f68d9f9caa9e0cdb6c09abaf9c7bc5">FP_BLS461_norm</a></div><div class="ttdeci">void FP_BLS461_norm(FP_BLS461 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:484</div></div>
 <div class="ttc" id="big__464__60_8h_html_a481adc539e2fcd4ef328bc0a4d3a4b74"><div class="ttname"><a href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">DBIG_464_60</a></div><div class="ttdeci">chunk DBIG_464_60[DNLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:59</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="fp__BLS461_8h_html_a3ecf7b2538225d46b57078d9c37fa2b5"><div class="ttname"><a href="fp__BLS461_8h.html#a3ecf7b2538225d46b57078d9c37fa2b5">FP_BLS461_sub</a></div><div class="ttdeci">void FP_BLS461_sub(FP_BLS461 *x, FP_BLS461 *y, FP_BLS461 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:400</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_a5f98383b938cd3daa36b8bdc83fd5ee8"><div class="ttname"><a href="fp__BLS461_8h.html#a5f98383b938cd3daa36b8bdc83fd5ee8">FP_BLS461_mod</a></div><div class="ttdeci">void FP_BLS461_mod(BIG_464_60 r, DBIG_464_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:103</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_ae90eace2d971197ea54022cf78f200b0"><div class="ttname"><a href="fp__BLS461_8h.html#ae90eace2d971197ea54022cf78f200b0">FP_BLS461_output</a></div><div class="ttdeci">void FP_BLS461_output(FP_BLS461 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:270</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_aca935edaf3009975fc73ca5ca4dc38a7"><div class="ttname"><a href="fp__BLS461_8h.html#aca935edaf3009975fc73ca5ca4dc38a7">FP_BLS461_cswap</a></div><div class="ttdeci">void FP_BLS461_cswap(FP_BLS461 *x, FP_BLS461 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:230</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a3ecf7b2538225d46b57078d9c37fa2b5"><div class="ttname"><a href="fp__BLS461_8h.html#a3ecf7b2538225d46b57078d9c37fa2b5">FP_BLS461_sub</a></div><div class="ttdeci">void FP_BLS461_sub(FP_BLS461 *x, FP_BLS461 *y, FP_BLS461 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:400</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_a5f98383b938cd3daa36b8bdc83fd5ee8"><div class="ttname"><a href="fp__BLS461_8h.html#a5f98383b938cd3daa36b8bdc83fd5ee8">FP_BLS461_mod</a></div><div class="ttdeci">void FP_BLS461_mod(BIG_464_60 r, DBIG_464_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:103</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_ae90eace2d971197ea54022cf78f200b0"><div class="ttname"><a href="fp__BLS461_8h.html#ae90eace2d971197ea54022cf78f200b0">FP_BLS461_output</a></div><div class="ttdeci">void FP_BLS461_output(FP_BLS461 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:270</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_aca935edaf3009975fc73ca5ca4dc38a7"><div class="ttname"><a href="fp__BLS461_8h.html#aca935edaf3009975fc73ca5ca4dc38a7">FP_BLS461_cswap</a></div><div class="ttdeci">void FP_BLS461_cswap(FP_BLS461 *x, FP_BLS461 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:230</div></div>
 <div class="ttc" id="fp__BLS461_8h_html_a2cce259ab612ae091e8d4a4068ad715b"><div class="ttname"><a href="fp__BLS461_8h.html#a2cce259ab612ae091e8d4a4068ad715b">Modulus_BLS461</a></div><div class="ttdeci">const BIG_464_60 Modulus_BLS461</div></div>
-<div class="ttc" id="fp__BLS461_8h_html_afce3bddb48d55adfe4baf4a31e4c1cf1"><div class="ttname"><a href="fp__BLS461_8h.html#afce3bddb48d55adfe4baf4a31e4c1cf1">FP_BLS461_one</a></div><div class="ttdeci">void FP_BLS461_one(FP_BLS461 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:723</div></div>
+<div class="ttc" id="fp__BLS461_8h_html_afce3bddb48d55adfe4baf4a31e4c1cf1"><div class="ttname"><a href="fp__BLS461_8h.html#afce3bddb48d55adfe4baf4a31e4c1cf1">FP_BLS461_one</a></div><div class="ttdeci">void FP_BLS461_one(FP_BLS461 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BLS461.c:723</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/fp__BLS48_8h.html b/website/static/cdocs/fp__BLS48_8h.html
index 9b3b412..2fd3796 100644
--- a/website/static/cdocs/fp__BLS48_8h.html
+++ b/website/static/cdocs/fp__BLS48_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: fp_BLS48.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"
@@ -1195,7 +1198,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/fp__BLS48_8h_source.html b/website/static/cdocs/fp__BLS48_8h_source.html
index 9013e04..63c939a 100644
--- a/website/static/cdocs/fp__BLS48_8h_source.html
+++ b/website/static/cdocs/fp__BLS48_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: fp_BLS48.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,41 +72,41 @@
 <div class="title">fp_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BLS48_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 FP_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS48_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 &quot;<a class="code" href="big__560__58_8h.html">big_560_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS48.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS48.html#aaee07f25142de4ccf00433f731576977">   40</a></span>&#160;    <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="structFP__BLS48.html#aaee07f25142de4ccf00433f731576977">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS48.html#a0797fa171b3e77b6c7c1c1e7096e6aef">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS48.html#a0797fa171b3e77b6c7c1c1e7096e6aef">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS48.html">FP_BLS48</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="fp__BLS48_8h.html#a35cbb10d0cccc21bfbae6e12526e24a2">Modulus_BLS48</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="fp__BLS48_8h.html#a2ded56ee3a1d1e4713b9667459b2b182">R2modp_BLS48</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS48_8h.html#a03f0eefe01f97f6957acfba3cc418982">MConst_BLS48</a>;                </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#aecc12736c1a7fdd275b037484e4bd1fd">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS48 MBITS_BLS48                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#a6c6723819cd18b958f74654fda483890">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS48 (MBITS_BLS48%BASEBITS_560_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#acf995d5ca13fb5bebef74a63b34f4bd3">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS48 (((chunk)1&lt;&lt;TBITS_BLS48)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#a0c4c59f8a2fc5f1089772282f0a1abf4">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS48 (((sign32)1&lt;&lt;MAXXES_BLS48)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#ab9f8b274c79cc77fe113c5121c4250fd">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS48 (-((chunk)(1)&lt;&lt;TBITS_BLS48))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS48_8h.html#acf1ea09e3154f7d55f5fada2aca8e322">FP_BLS48_iszilch</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#abbea6ded2b2a727f095f5b1a755ed74e">FP_BLS48_zero</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a7b04bf2fc2a1fd3cbe0e4506b7f72c5c">FP_BLS48_copy</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#af564bc4c57afdc7d092d5ea2b9ded4bd">FP_BLS48_rcopy</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS48_8h.html#a21dbf263ab32ee94e3b560a945c7ac17">FP_BLS48_equals</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS48_8h.html#ac8e953a43bc129f075a1436cac236f85">FP_BLS48_cswap</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</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="fp__BLS48_8h.html#a9baf8aaa0e741babc8ba20a90df0a2f6">FP_BLS48_cmove</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</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="fp__BLS48_8h.html#a3ab87faf78b8e41760f9cbcb91824e21">FP_BLS48_nres</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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="fp__BLS48_8h.html#a7fdb13c2b0f7c4b4544617ad245153d0">FP_BLS48_redc</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#ab0258f53104a2b013ff359f058532175">FP_BLS48_one</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#aa104262293099cd211b5820bd03aafd2">FP_BLS48_mod</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> r,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS48_modmul(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS48_8h.html#ab4de6330896a9cc4e9514f5f95b444e0">FP_BLS48_mul</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *z);</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="fp__BLS48_8h.html#ac8c643bf006d988728b10cc35d6fde35">FP_BLS48_imul</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a907cd5f917cde0af54d08616660f1eaa">FP_BLS48_sqr</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a21cd27e31a684b05991eb24f4402bbdb">FP_BLS48_add</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#ab7bf382168159b287e0477fa57e4d28b">FP_BLS48_sub</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a15d608589f971b3a8e76eac1fa79e91f">FP_BLS48_div2</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#aa249bafe8293c568b391d0e1eada4c66">FP_BLS48_pow</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#aed8d01173471aa92a5ee464cc6829e18">FP_BLS48_sqrt</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a08b5cafde5b7a312a4b7891a8314a885">FP_BLS48_neg</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a985fdd7575cb55fd4f98c9af6865d4b1">FP_BLS48_output</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a7f23fb7e592974dcd77112241357e356">FP_BLS48_rawoutput</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a5f73ad8dfb6b45b982d63fc87651b638">FP_BLS48_reduce</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#ad680df0f443e0a99562951ff728d2d9e">FP_BLS48_norm</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS48_8h.html#af348c0c54603a17bba06886ec986e8ee">FP_BLS48_qr</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a33a866224a458b0ac41cf084bb4d5144">FP_BLS48_inv</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS48_8h_html_a21cd27e31a684b05991eb24f4402bbdb"><div class="ttname"><a href="fp__BLS48_8h.html#a21cd27e31a684b05991eb24f4402bbdb">FP_BLS48_add</a></div><div class="ttdeci">void FP_BLS48_add(FP_BLS48 *x, FP_BLS48 *y, FP_BLS48 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:385</div></div>
+<a href="fp__BLS48_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 FP_BLS48_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BLS48_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 &quot;<a class="code" href="big__560__58_8h.html">big_560_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BLS48.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BLS48.html#aaee07f25142de4ccf00433f731576977">   40</a></span>&#160;    <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="structFP__BLS48.html#aaee07f25142de4ccf00433f731576977">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BLS48.html#a0797fa171b3e77b6c7c1c1e7096e6aef">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BLS48.html#a0797fa171b3e77b6c7c1c1e7096e6aef">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BLS48.html">FP_BLS48</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="fp__BLS48_8h.html#a35cbb10d0cccc21bfbae6e12526e24a2">Modulus_BLS48</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="fp__BLS48_8h.html#a2ded56ee3a1d1e4713b9667459b2b182">R2modp_BLS48</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BLS48_8h.html#a03f0eefe01f97f6957acfba3cc418982">MConst_BLS48</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#aecc12736c1a7fdd275b037484e4bd1fd">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BLS48 MBITS_BLS48                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#a6c6723819cd18b958f74654fda483890">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BLS48 (MBITS_BLS48%BASEBITS_560_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#acf995d5ca13fb5bebef74a63b34f4bd3">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BLS48 (((chunk)1&lt;&lt;TBITS_BLS48)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#a0c4c59f8a2fc5f1089772282f0a1abf4">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BLS48 (((sign32)1&lt;&lt;MAXXES_BLS48)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BLS48_8h.html#ab9f8b274c79cc77fe113c5121c4250fd">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BLS48 (-((chunk)(1)&lt;&lt;TBITS_BLS48))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS48_8h.html#acf1ea09e3154f7d55f5fada2aca8e322">FP_BLS48_iszilch</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#abbea6ded2b2a727f095f5b1a755ed74e">FP_BLS48_zero</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a7b04bf2fc2a1fd3cbe0e4506b7f72c5c">FP_BLS48_copy</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#af564bc4c57afdc7d092d5ea2b9ded4bd">FP_BLS48_rcopy</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS48_8h.html#a21dbf263ab32ee94e3b560a945c7ac17">FP_BLS48_equals</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BLS48_8h.html#ac8e953a43bc129f075a1436cac236f85">FP_BLS48_cswap</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</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="fp__BLS48_8h.html#a9baf8aaa0e741babc8ba20a90df0a2f6">FP_BLS48_cmove</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</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="fp__BLS48_8h.html#a3ab87faf78b8e41760f9cbcb91824e21">FP_BLS48_nres</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_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="fp__BLS48_8h.html#a7fdb13c2b0f7c4b4544617ad245153d0">FP_BLS48_redc</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#ab0258f53104a2b013ff359f058532175">FP_BLS48_one</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#aa104262293099cd211b5820bd03aafd2">FP_BLS48_mod</a>(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> r,<a class="code" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BLS48_modmul(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BLS48_8h.html#ab4de6330896a9cc4e9514f5f95b444e0">FP_BLS48_mul</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *z);</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="fp__BLS48_8h.html#ac8c643bf006d988728b10cc35d6fde35">FP_BLS48_imul</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a907cd5f917cde0af54d08616660f1eaa">FP_BLS48_sqr</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a21cd27e31a684b05991eb24f4402bbdb">FP_BLS48_add</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#ab7bf382168159b287e0477fa57e4d28b">FP_BLS48_sub</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a15d608589f971b3a8e76eac1fa79e91f">FP_BLS48_div2</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#aa249bafe8293c568b391d0e1eada4c66">FP_BLS48_pow</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#aed8d01173471aa92a5ee464cc6829e18">FP_BLS48_sqrt</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a08b5cafde5b7a312a4b7891a8314a885">FP_BLS48_neg</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a985fdd7575cb55fd4f98c9af6865d4b1">FP_BLS48_output</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a7f23fb7e592974dcd77112241357e356">FP_BLS48_rawoutput</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a5f73ad8dfb6b45b982d63fc87651b638">FP_BLS48_reduce</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#ad680df0f443e0a99562951ff728d2d9e">FP_BLS48_norm</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BLS48_8h.html#af348c0c54603a17bba06886ec986e8ee">FP_BLS48_qr</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BLS48_8h.html#a33a866224a458b0ac41cf084bb4d5144">FP_BLS48_inv</a>(<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *x,<a class="code" href="structFP__BLS48.html">FP_BLS48</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BLS48_8h_html_a21cd27e31a684b05991eb24f4402bbdb"><div class="ttname"><a href="fp__BLS48_8h.html#a21cd27e31a684b05991eb24f4402bbdb">FP_BLS48_add</a></div><div class="ttdeci">void FP_BLS48_add(FP_BLS48 *x, FP_BLS48 *y, FP_BLS48 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:385</div></div>
 <div class="ttc" id="structFP__BLS48_html_aaee07f25142de4ccf00433f731576977"><div class="ttname"><a href="structFP__BLS48.html#aaee07f25142de4ccf00433f731576977">FP_BLS48::g</a></div><div class="ttdeci">BIG_560_58 g</div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:40</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_ab7bf382168159b287e0477fa57e4d28b"><div class="ttname"><a href="fp__BLS48_8h.html#ab7bf382168159b287e0477fa57e4d28b">FP_BLS48_sub</a></div><div class="ttdeci">void FP_BLS48_sub(FP_BLS48 *x, FP_BLS48 *y, FP_BLS48 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:400</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a7f23fb7e592974dcd77112241357e356"><div class="ttname"><a href="fp__BLS48_8h.html#a7f23fb7e592974dcd77112241357e356">FP_BLS48_rawoutput</a></div><div class="ttdeci">void FP_BLS48_rawoutput(FP_BLS48 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:277</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a7fdb13c2b0f7c4b4544617ad245153d0"><div class="ttname"><a href="fp__BLS48_8h.html#a7fdb13c2b0f7c4b4544617ad245153d0">FP_BLS48_redc</a></div><div class="ttdeci">void FP_BLS48_redc(BIG_560_58 x, FP_BLS48 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:97</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a3ab87faf78b8e41760f9cbcb91824e21"><div class="ttname"><a href="fp__BLS48_8h.html#a3ab87faf78b8e41760f9cbcb91824e21">FP_BLS48_nres</a></div><div class="ttdeci">void FP_BLS48_nres(FP_BLS48 *y, BIG_560_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:90</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_ac8c643bf006d988728b10cc35d6fde35"><div class="ttname"><a href="fp__BLS48_8h.html#ac8c643bf006d988728b10cc35d6fde35">FP_BLS48_imul</a></div><div class="ttdeci">void FP_BLS48_imul(FP_BLS48 *x, FP_BLS48 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:321</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_ac8e953a43bc129f075a1436cac236f85"><div class="ttname"><a href="fp__BLS48_8h.html#ac8e953a43bc129f075a1436cac236f85">FP_BLS48_cswap</a></div><div class="ttdeci">void FP_BLS48_cswap(FP_BLS48 *x, FP_BLS48 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:230</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_ab7bf382168159b287e0477fa57e4d28b"><div class="ttname"><a href="fp__BLS48_8h.html#ab7bf382168159b287e0477fa57e4d28b">FP_BLS48_sub</a></div><div class="ttdeci">void FP_BLS48_sub(FP_BLS48 *x, FP_BLS48 *y, FP_BLS48 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:400</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a7f23fb7e592974dcd77112241357e356"><div class="ttname"><a href="fp__BLS48_8h.html#a7f23fb7e592974dcd77112241357e356">FP_BLS48_rawoutput</a></div><div class="ttdeci">void FP_BLS48_rawoutput(FP_BLS48 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:277</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a7fdb13c2b0f7c4b4544617ad245153d0"><div class="ttname"><a href="fp__BLS48_8h.html#a7fdb13c2b0f7c4b4544617ad245153d0">FP_BLS48_redc</a></div><div class="ttdeci">void FP_BLS48_redc(BIG_560_58 x, FP_BLS48 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:97</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a3ab87faf78b8e41760f9cbcb91824e21"><div class="ttname"><a href="fp__BLS48_8h.html#a3ab87faf78b8e41760f9cbcb91824e21">FP_BLS48_nres</a></div><div class="ttdeci">void FP_BLS48_nres(FP_BLS48 *y, BIG_560_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:90</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_ac8c643bf006d988728b10cc35d6fde35"><div class="ttname"><a href="fp__BLS48_8h.html#ac8c643bf006d988728b10cc35d6fde35">FP_BLS48_imul</a></div><div class="ttdeci">void FP_BLS48_imul(FP_BLS48 *x, FP_BLS48 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:321</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_ac8e953a43bc129f075a1436cac236f85"><div class="ttname"><a href="fp__BLS48_8h.html#ac8e953a43bc129f075a1436cac236f85">FP_BLS48_cswap</a></div><div class="ttdeci">void FP_BLS48_cswap(FP_BLS48 *x, FP_BLS48 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:230</div></div>
 <div class="ttc" id="fp__BLS48_8h_html_a03f0eefe01f97f6957acfba3cc418982"><div class="ttname"><a href="fp__BLS48_8h.html#a03f0eefe01f97f6957acfba3cc418982">MConst_BLS48</a></div><div class="ttdeci">const chunk MConst_BLS48</div></div>
 <div class="ttc" id="big__560__58_8h_html_aa190c896863df8c0bfbe5b7421ed94f2"><div class="ttname"><a href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">DBIG_560_58</a></div><div class="ttdeci">chunk DBIG_560_58[DNLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:59</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a08b5cafde5b7a312a4b7891a8314a885"><div class="ttname"><a href="fp__BLS48_8h.html#a08b5cafde5b7a312a4b7891a8314a885">FP_BLS48_neg</a></div><div class="ttdeci">void FP_BLS48_neg(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:491</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_ab0258f53104a2b013ff359f058532175"><div class="ttname"><a href="fp__BLS48_8h.html#ab0258f53104a2b013ff359f058532175">FP_BLS48_one</a></div><div class="ttdeci">void FP_BLS48_one(FP_BLS48 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:723</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_abbea6ded2b2a727f095f5b1a755ed74e"><div class="ttname"><a href="fp__BLS48_8h.html#abbea6ded2b2a727f095f5b1a755ed74e">FP_BLS48_zero</a></div><div class="ttdeci">void FP_BLS48_zero(FP_BLS48 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:251</div></div>
-<div class="ttc" id="big__560__58_8h_html"><div class="ttname"><a href="big__560__58_8h.html">big_560_58.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_acf1ea09e3154f7d55f5fada2aca8e322"><div class="ttname"><a href="fp__BLS48_8h.html#acf1ea09e3154f7d55f5fada2aca8e322">FP_BLS48_iszilch</a></div><div class="ttdeci">int FP_BLS48_iszilch(FP_BLS48 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:207</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a08b5cafde5b7a312a4b7891a8314a885"><div class="ttname"><a href="fp__BLS48_8h.html#a08b5cafde5b7a312a4b7891a8314a885">FP_BLS48_neg</a></div><div class="ttdeci">void FP_BLS48_neg(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:491</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_ab0258f53104a2b013ff359f058532175"><div class="ttname"><a href="fp__BLS48_8h.html#ab0258f53104a2b013ff359f058532175">FP_BLS48_one</a></div><div class="ttdeci">void FP_BLS48_one(FP_BLS48 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:723</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_abbea6ded2b2a727f095f5b1a755ed74e"><div class="ttname"><a href="fp__BLS48_8h.html#abbea6ded2b2a727f095f5b1a755ed74e">FP_BLS48_zero</a></div><div class="ttdeci">void FP_BLS48_zero(FP_BLS48 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:251</div></div>
+<div class="ttc" id="big__560__58_8h_html"><div class="ttname"><a href="big__560__58_8h.html">big_560_58.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__BLS48_8h_html_acf1ea09e3154f7d55f5fada2aca8e322"><div class="ttname"><a href="fp__BLS48_8h.html#acf1ea09e3154f7d55f5fada2aca8e322">FP_BLS48_iszilch</a></div><div class="ttdeci">int FP_BLS48_iszilch(FP_BLS48 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:207</div></div>
 <div class="ttc" id="structFP__BLS48_html_a0797fa171b3e77b6c7c1c1e7096e6aef"><div class="ttname"><a href="structFP__BLS48.html#a0797fa171b3e77b6c7c1c1e7096e6aef">FP_BLS48::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:41</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a7b04bf2fc2a1fd3cbe0e4506b7f72c5c"><div class="ttname"><a href="fp__BLS48_8h.html#a7b04bf2fc2a1fd3cbe0e4506b7f72c5c">FP_BLS48_copy</a></div><div class="ttdeci">void FP_BLS48_copy(FP_BLS48 *y, FP_BLS48 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:216</div></div>
-<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_af348c0c54603a17bba06886ec986e8ee"><div class="ttname"><a href="fp__BLS48_8h.html#af348c0c54603a17bba06886ec986e8ee">FP_BLS48_qr</a></div><div class="ttdeci">int FP_BLS48_qr(FP_BLS48 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:731</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a907cd5f917cde0af54d08616660f1eaa"><div class="ttname"><a href="fp__BLS48_8h.html#a907cd5f917cde0af54d08616660f1eaa">FP_BLS48_sqr</a></div><div class="ttdeci">void FP_BLS48_sqr(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:366</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a15d608589f971b3a8e76eac1fa79e91f"><div class="ttname"><a href="fp__BLS48_8h.html#a15d608589f971b3a8e76eac1fa79e91f">FP_BLS48_div2</a></div><div class="ttdeci">void FP_BLS48_div2(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:515</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a9baf8aaa0e741babc8ba20a90df0a2f6"><div class="ttname"><a href="fp__BLS48_8h.html#a9baf8aaa0e741babc8ba20a90df0a2f6">FP_BLS48_cmove</a></div><div class="ttdeci">void FP_BLS48_cmove(FP_BLS48 *x, FP_BLS48 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:243</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a33a866224a458b0ac41cf084bb4d5144"><div class="ttname"><a href="fp__BLS48_8h.html#a33a866224a458b0ac41cf084bb4d5144">FP_BLS48_inv</a></div><div class="ttdeci">void FP_BLS48_inv(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:648</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a21dbf263ab32ee94e3b560a945c7ac17"><div class="ttname"><a href="fp__BLS48_8h.html#a21dbf263ab32ee94e3b560a945c7ac17">FP_BLS48_equals</a></div><div class="ttdeci">int FP_BLS48_equals(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:257</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a7b04bf2fc2a1fd3cbe0e4506b7f72c5c"><div class="ttname"><a href="fp__BLS48_8h.html#a7b04bf2fc2a1fd3cbe0e4506b7f72c5c">FP_BLS48_copy</a></div><div class="ttdeci">void FP_BLS48_copy(FP_BLS48 *y, FP_BLS48 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:216</div></div>
+<div class="ttc" id="structFP__BLS48_html"><div class="ttname"><a href="structFP__BLS48.html">FP_BLS48</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.h:38</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_af348c0c54603a17bba06886ec986e8ee"><div class="ttname"><a href="fp__BLS48_8h.html#af348c0c54603a17bba06886ec986e8ee">FP_BLS48_qr</a></div><div class="ttdeci">int FP_BLS48_qr(FP_BLS48 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:731</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a907cd5f917cde0af54d08616660f1eaa"><div class="ttname"><a href="fp__BLS48_8h.html#a907cd5f917cde0af54d08616660f1eaa">FP_BLS48_sqr</a></div><div class="ttdeci">void FP_BLS48_sqr(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:366</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a15d608589f971b3a8e76eac1fa79e91f"><div class="ttname"><a href="fp__BLS48_8h.html#a15d608589f971b3a8e76eac1fa79e91f">FP_BLS48_div2</a></div><div class="ttdeci">void FP_BLS48_div2(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:515</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a9baf8aaa0e741babc8ba20a90df0a2f6"><div class="ttname"><a href="fp__BLS48_8h.html#a9baf8aaa0e741babc8ba20a90df0a2f6">FP_BLS48_cmove</a></div><div class="ttdeci">void FP_BLS48_cmove(FP_BLS48 *x, FP_BLS48 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:243</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a33a866224a458b0ac41cf084bb4d5144"><div class="ttname"><a href="fp__BLS48_8h.html#a33a866224a458b0ac41cf084bb4d5144">FP_BLS48_inv</a></div><div class="ttdeci">void FP_BLS48_inv(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:648</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a21dbf263ab32ee94e3b560a945c7ac17"><div class="ttname"><a href="fp__BLS48_8h.html#a21dbf263ab32ee94e3b560a945c7ac17">FP_BLS48_equals</a></div><div class="ttdeci">int FP_BLS48_equals(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:257</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_aa249bafe8293c568b391d0e1eada4c66"><div class="ttname"><a href="fp__BLS48_8h.html#aa249bafe8293c568b391d0e1eada4c66">FP_BLS48_pow</a></div><div class="ttdeci">void FP_BLS48_pow(FP_BLS48 *x, FP_BLS48 *y, BIG_560_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a985fdd7575cb55fd4f98c9af6865d4b1"><div class="ttname"><a href="fp__BLS48_8h.html#a985fdd7575cb55fd4f98c9af6865d4b1">FP_BLS48_output</a></div><div class="ttdeci">void FP_BLS48_output(FP_BLS48 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:270</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_aa249bafe8293c568b391d0e1eada4c66"><div class="ttname"><a href="fp__BLS48_8h.html#aa249bafe8293c568b391d0e1eada4c66">FP_BLS48_pow</a></div><div class="ttdeci">void FP_BLS48_pow(FP_BLS48 *x, FP_BLS48 *y, BIG_560_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a985fdd7575cb55fd4f98c9af6865d4b1"><div class="ttname"><a href="fp__BLS48_8h.html#a985fdd7575cb55fd4f98c9af6865d4b1">FP_BLS48_output</a></div><div class="ttdeci">void FP_BLS48_output(FP_BLS48 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:270</div></div>
 <div class="ttc" id="fp__BLS48_8h_html_a35cbb10d0cccc21bfbae6e12526e24a2"><div class="ttname"><a href="fp__BLS48_8h.html#a35cbb10d0cccc21bfbae6e12526e24a2">Modulus_BLS48</a></div><div class="ttdeci">const BIG_560_58 Modulus_BLS48</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_aed8d01173471aa92a5ee464cc6829e18"><div class="ttname"><a href="fp__BLS48_8h.html#aed8d01173471aa92a5ee464cc6829e18">FP_BLS48_sqrt</a></div><div class="ttdeci">void FP_BLS48_sqrt(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:747</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_aa104262293099cd211b5820bd03aafd2"><div class="ttname"><a href="fp__BLS48_8h.html#aa104262293099cd211b5820bd03aafd2">FP_BLS48_mod</a></div><div class="ttdeci">void FP_BLS48_mod(BIG_560_58 r, DBIG_560_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:103</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_a5f73ad8dfb6b45b982d63fc87651b638"><div class="ttname"><a href="fp__BLS48_8h.html#a5f73ad8dfb6b45b982d63fc87651b638">FP_BLS48_reduce</a></div><div class="ttdeci">void FP_BLS48_reduce(FP_BLS48 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:449</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_ad680df0f443e0a99562951ff728d2d9e"><div class="ttname"><a href="fp__BLS48_8h.html#ad680df0f443e0a99562951ff728d2d9e">FP_BLS48_norm</a></div><div class="ttdeci">void FP_BLS48_norm(FP_BLS48 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:484</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_af564bc4c57afdc7d092d5ea2b9ded4bd"><div class="ttname"><a href="fp__BLS48_8h.html#af564bc4c57afdc7d092d5ea2b9ded4bd">FP_BLS48_rcopy</a></div><div class="ttdeci">void FP_BLS48_rcopy(FP_BLS48 *y, const BIG_560_58 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:222</div></div>
-<div class="ttc" id="fp__BLS48_8h_html_ab4de6330896a9cc4e9514f5f95b444e0"><div class="ttname"><a href="fp__BLS48_8h.html#ab4de6330896a9cc4e9514f5f95b444e0">FP_BLS48_mul</a></div><div class="ttdeci">void FP_BLS48_mul(FP_BLS48 *x, FP_BLS48 *y, FP_BLS48 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:297</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_aed8d01173471aa92a5ee464cc6829e18"><div class="ttname"><a href="fp__BLS48_8h.html#aed8d01173471aa92a5ee464cc6829e18">FP_BLS48_sqrt</a></div><div class="ttdeci">void FP_BLS48_sqrt(FP_BLS48 *x, FP_BLS48 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:747</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_aa104262293099cd211b5820bd03aafd2"><div class="ttname"><a href="fp__BLS48_8h.html#aa104262293099cd211b5820bd03aafd2">FP_BLS48_mod</a></div><div class="ttdeci">void FP_BLS48_mod(BIG_560_58 r, DBIG_560_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:103</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_a5f73ad8dfb6b45b982d63fc87651b638"><div class="ttname"><a href="fp__BLS48_8h.html#a5f73ad8dfb6b45b982d63fc87651b638">FP_BLS48_reduce</a></div><div class="ttdeci">void FP_BLS48_reduce(FP_BLS48 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:449</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_ad680df0f443e0a99562951ff728d2d9e"><div class="ttname"><a href="fp__BLS48_8h.html#ad680df0f443e0a99562951ff728d2d9e">FP_BLS48_norm</a></div><div class="ttdeci">void FP_BLS48_norm(FP_BLS48 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:484</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_af564bc4c57afdc7d092d5ea2b9ded4bd"><div class="ttname"><a href="fp__BLS48_8h.html#af564bc4c57afdc7d092d5ea2b9ded4bd">FP_BLS48_rcopy</a></div><div class="ttdeci">void FP_BLS48_rcopy(FP_BLS48 *y, const BIG_560_58 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:222</div></div>
+<div class="ttc" id="fp__BLS48_8h_html_ab4de6330896a9cc4e9514f5f95b444e0"><div class="ttname"><a href="fp__BLS48_8h.html#ab4de6330896a9cc4e9514f5f95b444e0">FP_BLS48_mul</a></div><div class="ttdeci">void FP_BLS48_mul(FP_BLS48 *x, FP_BLS48 *y, FP_BLS48 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BLS48.c:297</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="fp__BLS48_8h_html_a2ded56ee3a1d1e4713b9667459b2b182"><div class="ttname"><a href="fp__BLS48_8h.html#a2ded56ee3a1d1e4713b9667459b2b182">R2modp_BLS48</a></div><div class="ttdeci">const BIG_560_58 R2modp_BLS48</div></div>
 </div><!-- fragment --></div><!-- contents -->
@@ -111,7 +114,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/fp__BN254CX_8h.html b/website/static/cdocs/fp__BN254CX_8h.html
index 377e921..72fcab5 100644
--- a/website/static/cdocs/fp__BN254CX_8h.html
+++ b/website/static/cdocs/fp__BN254CX_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: fp_BN254CX.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"
@@ -1195,7 +1198,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/fp__BN254CX_8h_source.html b/website/static/cdocs/fp__BN254CX_8h_source.html
index f0eef93..505cfef 100644
--- a/website/static/cdocs/fp__BN254CX_8h_source.html
+++ b/website/static/cdocs/fp__BN254CX_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: fp_BN254CX.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,49 +72,49 @@
 <div class="title">fp_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BN254CX_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 FP_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BN254CX_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BN254CX.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BN254CX.html#a00d3edd27abdf41f3de0c7ad953070a6">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BN254CX.html#a00d3edd27abdf41f3de0c7ad953070a6">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254CX_8h.html#a72560e821d70b957f0b2d657647a15c3">Modulus_BN254CX</a>;        </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254CX_8h.html#a2c884b526eef7b0fd36e2a8a215c3108">R2modp_BN254CX</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BN254CX_8h.html#a027389eab6f7e1a2ae45e51e42ab9177">MConst_BN254CX</a>;              </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#a56b7d198001d9eacb07f13cfdcdae2ac">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BN254CX MBITS_BN254CX                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#a05d5b75b96172325dae497d78b55397c">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BN254CX (MBITS_BN254CX%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#a9ce479e2e2a45a1bb96633d574681669">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BN254CX (((chunk)1&lt;&lt;TBITS_BN254CX)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#ac9efd59092ebb1d3dcd928c09ef06c23">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BN254CX (((sign32)1&lt;&lt;MAXXES_BN254CX)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#ad3b8410e93853e777ae71c9b6dda4733">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BN254CX (-((chunk)(1)&lt;&lt;TBITS_BN254CX))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254CX_8h.html#afafe45a4c546adf0360559c5dfcf7633">FP_BN254CX_iszilch</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#aa8d9d233cc25a36baeb03022657ceea6">FP_BN254CX_zero</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a7d540c873c8cacb84daa5ddd0e660b3c">FP_BN254CX_copy</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a1f5e08d3bdb7ea90ae0e9177e5837e0d">FP_BN254CX_rcopy</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254CX_8h.html#a4cce6ac1f66046b3aa71f2af74dfdd65">FP_BN254CX_equals</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BN254CX_8h.html#a364b8a02841b3f7c6da2582281f8ada9">FP_BN254CX_cswap</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</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="fp__BN254CX_8h.html#ae5a545006aa3f9868f23ee14bff1c014">FP_BN254CX_cmove</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</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="fp__BN254CX_8h.html#a7375a58451529f19c7097b3ec5fa93eb">FP_BN254CX_nres</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__BN254CX_8h.html#a5289585c51bfd3639e8208f874268568">FP_BN254CX_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a0e4be0b9084103476af84eb68e1897af">FP_BN254CX_one</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ae321ed7b7270ea118cc82cbd1ac2c081">FP_BN254CX_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BN254CX_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BN254CX_8h.html#a9ade68e39dc9f7b1110cbf234a98edfc">FP_BN254CX_mul</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *z);</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="fp__BN254CX_8h.html#a98e0cf29a31114c0cd093b5fe53fdfd6">FP_BN254CX_imul</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#af78a547b9a6c9507dbfa7202d8b9aaa8">FP_BN254CX_sqr</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ac04f27285cb04e549c44f5dfd8023645">FP_BN254CX_add</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#acc144e393cc32d8d61f0953005f10ee4">FP_BN254CX_sub</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a56fcd8a364447307388b23223a0eb5fe">FP_BN254CX_div2</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ae8911db12d3d36b413591d6ff225f906">FP_BN254CX_pow</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a1b3393d07680ae552ae67981e4e8fcca">FP_BN254CX_sqrt</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a1f2fed5f47d3b1a94bde5c098a047cb0">FP_BN254CX_neg</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a52d0534a7a5bc2795a80c9b2bf7302f2">FP_BN254CX_output</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ae29188a279ead7912d65a22d95bbb0a2">FP_BN254CX_rawoutput</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a0c1319f45d2624124c5b40bc80219bf4">FP_BN254CX_reduce</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#abf09bd2ba94fe591fb2199b9921c9ade">FP_BN254CX_norm</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254CX_8h.html#a7c20b8725b1576e538c835b7fc330916">FP_BN254CX_qr</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ab091b38fbcc00e817cbe8b1bb5458dd5">FP_BN254CX_inv</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BN254CX_8h_html_ae5a545006aa3f9868f23ee14bff1c014"><div class="ttname"><a href="fp__BN254CX_8h.html#ae5a545006aa3f9868f23ee14bff1c014">FP_BN254CX_cmove</a></div><div class="ttdeci">void FP_BN254CX_cmove(FP_BN254CX *x, FP_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:243</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a7375a58451529f19c7097b3ec5fa93eb"><div class="ttname"><a href="fp__BN254CX_8h.html#a7375a58451529f19c7097b3ec5fa93eb">FP_BN254CX_nres</a></div><div class="ttdeci">void FP_BN254CX_nres(FP_BN254CX *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:90</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_af78a547b9a6c9507dbfa7202d8b9aaa8"><div class="ttname"><a href="fp__BN254CX_8h.html#af78a547b9a6c9507dbfa7202d8b9aaa8">FP_BN254CX_sqr</a></div><div class="ttdeci">void FP_BN254CX_sqr(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:366</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_abf09bd2ba94fe591fb2199b9921c9ade"><div class="ttname"><a href="fp__BN254CX_8h.html#abf09bd2ba94fe591fb2199b9921c9ade">FP_BN254CX_norm</a></div><div class="ttdeci">void FP_BN254CX_norm(FP_BN254CX *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:484</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a1b3393d07680ae552ae67981e4e8fcca"><div class="ttname"><a href="fp__BN254CX_8h.html#a1b3393d07680ae552ae67981e4e8fcca">FP_BN254CX_sqrt</a></div><div class="ttdeci">void FP_BN254CX_sqrt(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:747</div></div>
+<a href="fp__BN254CX_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 FP_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BN254CX_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BN254CX.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BN254CX.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BN254CX.html#a00d3edd27abdf41f3de0c7ad953070a6">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BN254CX.html#a00d3edd27abdf41f3de0c7ad953070a6">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BN254CX.html">FP_BN254CX</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254CX_8h.html#a72560e821d70b957f0b2d657647a15c3">Modulus_BN254CX</a>;    </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254CX_8h.html#a2c884b526eef7b0fd36e2a8a215c3108">R2modp_BN254CX</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BN254CX_8h.html#a027389eab6f7e1a2ae45e51e42ab9177">MConst_BN254CX</a>;      </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#a56b7d198001d9eacb07f13cfdcdae2ac">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BN254CX MBITS_BN254CX                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#a05d5b75b96172325dae497d78b55397c">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BN254CX (MBITS_BN254CX%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#a9ce479e2e2a45a1bb96633d574681669">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BN254CX (((chunk)1&lt;&lt;TBITS_BN254CX)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#ac9efd59092ebb1d3dcd928c09ef06c23">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BN254CX (((sign32)1&lt;&lt;MAXXES_BN254CX)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BN254CX_8h.html#ad3b8410e93853e777ae71c9b6dda4733">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BN254CX (-((chunk)(1)&lt;&lt;TBITS_BN254CX))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254CX_8h.html#afafe45a4c546adf0360559c5dfcf7633">FP_BN254CX_iszilch</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#aa8d9d233cc25a36baeb03022657ceea6">FP_BN254CX_zero</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a7d540c873c8cacb84daa5ddd0e660b3c">FP_BN254CX_copy</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a1f5e08d3bdb7ea90ae0e9177e5837e0d">FP_BN254CX_rcopy</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254CX_8h.html#a4cce6ac1f66046b3aa71f2af74dfdd65">FP_BN254CX_equals</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BN254CX_8h.html#a364b8a02841b3f7c6da2582281f8ada9">FP_BN254CX_cswap</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</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="fp__BN254CX_8h.html#ae5a545006aa3f9868f23ee14bff1c014">FP_BN254CX_cmove</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</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="fp__BN254CX_8h.html#a7375a58451529f19c7097b3ec5fa93eb">FP_BN254CX_nres</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__BN254CX_8h.html#a5289585c51bfd3639e8208f874268568">FP_BN254CX_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a0e4be0b9084103476af84eb68e1897af">FP_BN254CX_one</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ae321ed7b7270ea118cc82cbd1ac2c081">FP_BN254CX_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BN254CX_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BN254CX_8h.html#a9ade68e39dc9f7b1110cbf234a98edfc">FP_BN254CX_mul</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *z);</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="fp__BN254CX_8h.html#a98e0cf29a31114c0cd093b5fe53fdfd6">FP_BN254CX_imul</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#af78a547b9a6c9507dbfa7202d8b9aaa8">FP_BN254CX_sqr</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ac04f27285cb04e549c44f5dfd8023645">FP_BN254CX_add</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#acc144e393cc32d8d61f0953005f10ee4">FP_BN254CX_sub</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a56fcd8a364447307388b23223a0eb5fe">FP_BN254CX_div2</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ae8911db12d3d36b413591d6ff225f906">FP_BN254CX_pow</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a1b3393d07680ae552ae67981e4e8fcca">FP_BN254CX_sqrt</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a1f2fed5f47d3b1a94bde5c098a047cb0">FP_BN254CX_neg</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a52d0534a7a5bc2795a80c9b2bf7302f2">FP_BN254CX_output</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ae29188a279ead7912d65a22d95bbb0a2">FP_BN254CX_rawoutput</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#a0c1319f45d2624124c5b40bc80219bf4">FP_BN254CX_reduce</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#abf09bd2ba94fe591fb2199b9921c9ade">FP_BN254CX_norm</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254CX_8h.html#a7c20b8725b1576e538c835b7fc330916">FP_BN254CX_qr</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254CX_8h.html#ab091b38fbcc00e817cbe8b1bb5458dd5">FP_BN254CX_inv</a>(<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *x,<a class="code" href="structFP__BN254CX.html">FP_BN254CX</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BN254CX_8h_html_ae5a545006aa3f9868f23ee14bff1c014"><div class="ttname"><a href="fp__BN254CX_8h.html#ae5a545006aa3f9868f23ee14bff1c014">FP_BN254CX_cmove</a></div><div class="ttdeci">void FP_BN254CX_cmove(FP_BN254CX *x, FP_BN254CX *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:243</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a7375a58451529f19c7097b3ec5fa93eb"><div class="ttname"><a href="fp__BN254CX_8h.html#a7375a58451529f19c7097b3ec5fa93eb">FP_BN254CX_nres</a></div><div class="ttdeci">void FP_BN254CX_nres(FP_BN254CX *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:90</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_af78a547b9a6c9507dbfa7202d8b9aaa8"><div class="ttname"><a href="fp__BN254CX_8h.html#af78a547b9a6c9507dbfa7202d8b9aaa8">FP_BN254CX_sqr</a></div><div class="ttdeci">void FP_BN254CX_sqr(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:366</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_abf09bd2ba94fe591fb2199b9921c9ade"><div class="ttname"><a href="fp__BN254CX_8h.html#abf09bd2ba94fe591fb2199b9921c9ade">FP_BN254CX_norm</a></div><div class="ttdeci">void FP_BN254CX_norm(FP_BN254CX *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:484</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a1b3393d07680ae552ae67981e4e8fcca"><div class="ttname"><a href="fp__BN254CX_8h.html#a1b3393d07680ae552ae67981e4e8fcca">FP_BN254CX_sqrt</a></div><div class="ttdeci">void FP_BN254CX_sqrt(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:747</div></div>
 <div class="ttc" id="fp__BN254CX_8h_html_a72560e821d70b957f0b2d657647a15c3"><div class="ttname"><a href="fp__BN254CX_8h.html#a72560e821d70b957f0b2d657647a15c3">Modulus_BN254CX</a></div><div class="ttdeci">const BIG_256_56 Modulus_BN254CX</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a0c1319f45d2624124c5b40bc80219bf4"><div class="ttname"><a href="fp__BN254CX_8h.html#a0c1319f45d2624124c5b40bc80219bf4">FP_BN254CX_reduce</a></div><div class="ttdeci">void FP_BN254CX_reduce(FP_BN254CX *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:449</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a364b8a02841b3f7c6da2582281f8ada9"><div class="ttname"><a href="fp__BN254CX_8h.html#a364b8a02841b3f7c6da2582281f8ada9">FP_BN254CX_cswap</a></div><div class="ttdeci">void FP_BN254CX_cswap(FP_BN254CX *x, FP_BN254CX *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:230</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_afafe45a4c546adf0360559c5dfcf7633"><div class="ttname"><a href="fp__BN254CX_8h.html#afafe45a4c546adf0360559c5dfcf7633">FP_BN254CX_iszilch</a></div><div class="ttdeci">int FP_BN254CX_iszilch(FP_BN254CX *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:207</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a0c1319f45d2624124c5b40bc80219bf4"><div class="ttname"><a href="fp__BN254CX_8h.html#a0c1319f45d2624124c5b40bc80219bf4">FP_BN254CX_reduce</a></div><div class="ttdeci">void FP_BN254CX_reduce(FP_BN254CX *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:449</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a364b8a02841b3f7c6da2582281f8ada9"><div class="ttname"><a href="fp__BN254CX_8h.html#a364b8a02841b3f7c6da2582281f8ada9">FP_BN254CX_cswap</a></div><div class="ttdeci">void FP_BN254CX_cswap(FP_BN254CX *x, FP_BN254CX *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:230</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_afafe45a4c546adf0360559c5dfcf7633"><div class="ttname"><a href="fp__BN254CX_8h.html#afafe45a4c546adf0360559c5dfcf7633">FP_BN254CX_iszilch</a></div><div class="ttdeci">int FP_BN254CX_iszilch(FP_BN254CX *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:207</div></div>
 <div class="ttc" id="structFP__BN254CX_html_a00d3edd27abdf41f3de0c7ad953070a6"><div class="ttname"><a href="structFP__BN254CX.html#a00d3edd27abdf41f3de0c7ad953070a6">FP_BN254CX::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:41</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a56fcd8a364447307388b23223a0eb5fe"><div class="ttname"><a href="fp__BN254CX_8h.html#a56fcd8a364447307388b23223a0eb5fe">FP_BN254CX_div2</a></div><div class="ttdeci">void FP_BN254CX_div2(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:515</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_aa8d9d233cc25a36baeb03022657ceea6"><div class="ttname"><a href="fp__BN254CX_8h.html#aa8d9d233cc25a36baeb03022657ceea6">FP_BN254CX_zero</a></div><div class="ttdeci">void FP_BN254CX_zero(FP_BN254CX *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:251</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_ab091b38fbcc00e817cbe8b1bb5458dd5"><div class="ttname"><a href="fp__BN254CX_8h.html#ab091b38fbcc00e817cbe8b1bb5458dd5">FP_BN254CX_inv</a></div><div class="ttdeci">void FP_BN254CX_inv(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:648</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a7d540c873c8cacb84daa5ddd0e660b3c"><div class="ttname"><a href="fp__BN254CX_8h.html#a7d540c873c8cacb84daa5ddd0e660b3c">FP_BN254CX_copy</a></div><div class="ttdeci">void FP_BN254CX_copy(FP_BN254CX *y, FP_BN254CX *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:216</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_ac04f27285cb04e549c44f5dfd8023645"><div class="ttname"><a href="fp__BN254CX_8h.html#ac04f27285cb04e549c44f5dfd8023645">FP_BN254CX_add</a></div><div class="ttdeci">void FP_BN254CX_add(FP_BN254CX *x, FP_BN254CX *y, FP_BN254CX *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:385</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_ae29188a279ead7912d65a22d95bbb0a2"><div class="ttname"><a href="fp__BN254CX_8h.html#ae29188a279ead7912d65a22d95bbb0a2">FP_BN254CX_rawoutput</a></div><div class="ttdeci">void FP_BN254CX_rawoutput(FP_BN254CX *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:277</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a56fcd8a364447307388b23223a0eb5fe"><div class="ttname"><a href="fp__BN254CX_8h.html#a56fcd8a364447307388b23223a0eb5fe">FP_BN254CX_div2</a></div><div class="ttdeci">void FP_BN254CX_div2(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:515</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_aa8d9d233cc25a36baeb03022657ceea6"><div class="ttname"><a href="fp__BN254CX_8h.html#aa8d9d233cc25a36baeb03022657ceea6">FP_BN254CX_zero</a></div><div class="ttdeci">void FP_BN254CX_zero(FP_BN254CX *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:251</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_ab091b38fbcc00e817cbe8b1bb5458dd5"><div class="ttname"><a href="fp__BN254CX_8h.html#ab091b38fbcc00e817cbe8b1bb5458dd5">FP_BN254CX_inv</a></div><div class="ttdeci">void FP_BN254CX_inv(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:648</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a7d540c873c8cacb84daa5ddd0e660b3c"><div class="ttname"><a href="fp__BN254CX_8h.html#a7d540c873c8cacb84daa5ddd0e660b3c">FP_BN254CX_copy</a></div><div class="ttdeci">void FP_BN254CX_copy(FP_BN254CX *y, FP_BN254CX *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:216</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_ac04f27285cb04e549c44f5dfd8023645"><div class="ttname"><a href="fp__BN254CX_8h.html#ac04f27285cb04e549c44f5dfd8023645">FP_BN254CX_add</a></div><div class="ttdeci">void FP_BN254CX_add(FP_BN254CX *x, FP_BN254CX *y, FP_BN254CX *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:385</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_ae29188a279ead7912d65a22d95bbb0a2"><div class="ttname"><a href="fp__BN254CX_8h.html#ae29188a279ead7912d65a22d95bbb0a2">FP_BN254CX_rawoutput</a></div><div class="ttdeci">void FP_BN254CX_rawoutput(FP_BN254CX *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:277</div></div>
 <div class="ttc" id="structFP__BN254CX_html_a1892cd176173092da80d3f02ec96f7f2"><div class="ttname"><a href="structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2">FP_BN254CX::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:40</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a1f2fed5f47d3b1a94bde5c098a047cb0"><div class="ttname"><a href="fp__BN254CX_8h.html#a1f2fed5f47d3b1a94bde5c098a047cb0">FP_BN254CX_neg</a></div><div class="ttdeci">void FP_BN254CX_neg(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:491</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_ae8911db12d3d36b413591d6ff225f906"><div class="ttname"><a href="fp__BN254CX_8h.html#ae8911db12d3d36b413591d6ff225f906">FP_BN254CX_pow</a></div><div class="ttdeci">void FP_BN254CX_pow(FP_BN254CX *x, FP_BN254CX *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a5289585c51bfd3639e8208f874268568"><div class="ttname"><a href="fp__BN254CX_8h.html#a5289585c51bfd3639e8208f874268568">FP_BN254CX_redc</a></div><div class="ttdeci">void FP_BN254CX_redc(BIG_256_56 x, FP_BN254CX *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:97</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a7c20b8725b1576e538c835b7fc330916"><div class="ttname"><a href="fp__BN254CX_8h.html#a7c20b8725b1576e538c835b7fc330916">FP_BN254CX_qr</a></div><div class="ttdeci">int FP_BN254CX_qr(FP_BN254CX *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:731</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a0e4be0b9084103476af84eb68e1897af"><div class="ttname"><a href="fp__BN254CX_8h.html#a0e4be0b9084103476af84eb68e1897af">FP_BN254CX_one</a></div><div class="ttdeci">void FP_BN254CX_one(FP_BN254CX *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:723</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a52d0534a7a5bc2795a80c9b2bf7302f2"><div class="ttname"><a href="fp__BN254CX_8h.html#a52d0534a7a5bc2795a80c9b2bf7302f2">FP_BN254CX_output</a></div><div class="ttdeci">void FP_BN254CX_output(FP_BN254CX *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:270</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a1f5e08d3bdb7ea90ae0e9177e5837e0d"><div class="ttname"><a href="fp__BN254CX_8h.html#a1f5e08d3bdb7ea90ae0e9177e5837e0d">FP_BN254CX_rcopy</a></div><div class="ttdeci">void FP_BN254CX_rcopy(FP_BN254CX *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:222</div></div>
-<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a9ade68e39dc9f7b1110cbf234a98edfc"><div class="ttname"><a href="fp__BN254CX_8h.html#a9ade68e39dc9f7b1110cbf234a98edfc">FP_BN254CX_mul</a></div><div class="ttdeci">void FP_BN254CX_mul(FP_BN254CX *x, FP_BN254CX *y, FP_BN254CX *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:297</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a1f2fed5f47d3b1a94bde5c098a047cb0"><div class="ttname"><a href="fp__BN254CX_8h.html#a1f2fed5f47d3b1a94bde5c098a047cb0">FP_BN254CX_neg</a></div><div class="ttdeci">void FP_BN254CX_neg(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:491</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_ae8911db12d3d36b413591d6ff225f906"><div class="ttname"><a href="fp__BN254CX_8h.html#ae8911db12d3d36b413591d6ff225f906">FP_BN254CX_pow</a></div><div class="ttdeci">void FP_BN254CX_pow(FP_BN254CX *x, FP_BN254CX *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a5289585c51bfd3639e8208f874268568"><div class="ttname"><a href="fp__BN254CX_8h.html#a5289585c51bfd3639e8208f874268568">FP_BN254CX_redc</a></div><div class="ttdeci">void FP_BN254CX_redc(BIG_256_56 x, FP_BN254CX *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:97</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a7c20b8725b1576e538c835b7fc330916"><div class="ttname"><a href="fp__BN254CX_8h.html#a7c20b8725b1576e538c835b7fc330916">FP_BN254CX_qr</a></div><div class="ttdeci">int FP_BN254CX_qr(FP_BN254CX *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:731</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a0e4be0b9084103476af84eb68e1897af"><div class="ttname"><a href="fp__BN254CX_8h.html#a0e4be0b9084103476af84eb68e1897af">FP_BN254CX_one</a></div><div class="ttdeci">void FP_BN254CX_one(FP_BN254CX *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:723</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a52d0534a7a5bc2795a80c9b2bf7302f2"><div class="ttname"><a href="fp__BN254CX_8h.html#a52d0534a7a5bc2795a80c9b2bf7302f2">FP_BN254CX_output</a></div><div class="ttdeci">void FP_BN254CX_output(FP_BN254CX *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:270</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a1f5e08d3bdb7ea90ae0e9177e5837e0d"><div class="ttname"><a href="fp__BN254CX_8h.html#a1f5e08d3bdb7ea90ae0e9177e5837e0d">FP_BN254CX_rcopy</a></div><div class="ttdeci">void FP_BN254CX_rcopy(FP_BN254CX *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:222</div></div>
+<div class="ttc" id="structFP__BN254CX_html"><div class="ttname"><a href="structFP__BN254CX.html">FP_BN254CX</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.h:38</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a9ade68e39dc9f7b1110cbf234a98edfc"><div class="ttname"><a href="fp__BN254CX_8h.html#a9ade68e39dc9f7b1110cbf234a98edfc">FP_BN254CX_mul</a></div><div class="ttdeci">void FP_BN254CX_mul(FP_BN254CX *x, FP_BN254CX *y, FP_BN254CX *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:297</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_acc144e393cc32d8d61f0953005f10ee4"><div class="ttname"><a href="fp__BN254CX_8h.html#acc144e393cc32d8d61f0953005f10ee4">FP_BN254CX_sub</a></div><div class="ttdeci">void FP_BN254CX_sub(FP_BN254CX *x, FP_BN254CX *y, FP_BN254CX *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:400</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_acc144e393cc32d8d61f0953005f10ee4"><div class="ttname"><a href="fp__BN254CX_8h.html#acc144e393cc32d8d61f0953005f10ee4">FP_BN254CX_sub</a></div><div class="ttdeci">void FP_BN254CX_sub(FP_BN254CX *x, FP_BN254CX *y, FP_BN254CX *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:400</div></div>
 <div class="ttc" id="fp__BN254CX_8h_html_a027389eab6f7e1a2ae45e51e42ab9177"><div class="ttname"><a href="fp__BN254CX_8h.html#a027389eab6f7e1a2ae45e51e42ab9177">MConst_BN254CX</a></div><div class="ttdeci">const chunk MConst_BN254CX</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_ae321ed7b7270ea118cc82cbd1ac2c081"><div class="ttname"><a href="fp__BN254CX_8h.html#ae321ed7b7270ea118cc82cbd1ac2c081">FP_BN254CX_mod</a></div><div class="ttdeci">void FP_BN254CX_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:103</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_ae321ed7b7270ea118cc82cbd1ac2c081"><div class="ttname"><a href="fp__BN254CX_8h.html#ae321ed7b7270ea118cc82cbd1ac2c081">FP_BN254CX_mod</a></div><div class="ttdeci">void FP_BN254CX_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:103</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</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="fp__BN254CX_8h_html_a4cce6ac1f66046b3aa71f2af74dfdd65"><div class="ttname"><a href="fp__BN254CX_8h.html#a4cce6ac1f66046b3aa71f2af74dfdd65">FP_BN254CX_equals</a></div><div class="ttdeci">int FP_BN254CX_equals(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:257</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a4cce6ac1f66046b3aa71f2af74dfdd65"><div class="ttname"><a href="fp__BN254CX_8h.html#a4cce6ac1f66046b3aa71f2af74dfdd65">FP_BN254CX_equals</a></div><div class="ttdeci">int FP_BN254CX_equals(FP_BN254CX *x, FP_BN254CX *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:257</div></div>
 <div class="ttc" id="fp__BN254CX_8h_html_a2c884b526eef7b0fd36e2a8a215c3108"><div class="ttname"><a href="fp__BN254CX_8h.html#a2c884b526eef7b0fd36e2a8a215c3108">R2modp_BN254CX</a></div><div class="ttdeci">const BIG_256_56 R2modp_BN254CX</div></div>
-<div class="ttc" id="fp__BN254CX_8h_html_a98e0cf29a31114c0cd093b5fe53fdfd6"><div class="ttname"><a href="fp__BN254CX_8h.html#a98e0cf29a31114c0cd093b5fe53fdfd6">FP_BN254CX_imul</a></div><div class="ttdeci">void FP_BN254CX_imul(FP_BN254CX *x, FP_BN254CX *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:321</div></div>
+<div class="ttc" id="fp__BN254CX_8h_html_a98e0cf29a31114c0cd093b5fe53fdfd6"><div class="ttname"><a href="fp__BN254CX_8h.html#a98e0cf29a31114c0cd093b5fe53fdfd6">FP_BN254CX_imul</a></div><div class="ttdeci">void FP_BN254CX_imul(FP_BN254CX *x, FP_BN254CX *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254CX.c:321</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/fp__BN254_8h.html b/website/static/cdocs/fp__BN254_8h.html
index 0d67dab..61585e0 100644
--- a/website/static/cdocs/fp__BN254_8h.html
+++ b/website/static/cdocs/fp__BN254_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: fp_BN254.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"
@@ -1195,7 +1198,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/fp__BN254_8h_source.html b/website/static/cdocs/fp__BN254_8h_source.html
index bdaeff7..557340f 100644
--- a/website/static/cdocs/fp__BN254_8h_source.html
+++ b/website/static/cdocs/fp__BN254_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: fp_BN254.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,49 +72,49 @@
 <div class="title">fp_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BN254_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 FP_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BN254_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BN254.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BN254.html#a129ff2f489c492d0ee022189155c0532">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__BN254.html#a129ff2f489c492d0ee022189155c0532">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BN254.html#a257a9b6c0574931c530ca3a6ff6b7dce">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BN254.html#a257a9b6c0574931c530ca3a6ff6b7dce">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BN254.html">FP_BN254</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254_8h.html#a57cd93681eb36ae0ead921a1175f8eae">Modulus_BN254</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254_8h.html#a6724ba752782195d1c2094448d84a0a2">R2modp_BN254</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BN254_8h.html#a831f5859c3bda417b9d90cfb700a65e0">MConst_BN254</a>;                </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a3f3e492eaf57a968aa6233410c262fe8">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BN254 MBITS_BN254                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a9fdd19163fc9231212ebf9afa9a22793">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BN254 (MBITS_BN254%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#ab21f7d8c697c60a7d00888963e2ff3cb">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BN254 (((chunk)1&lt;&lt;TBITS_BN254)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a22540457c1bcce596f902e3bf3c738ea">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BN254 (((sign32)1&lt;&lt;MAXXES_BN254)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a237041adecb729b288aa6a243c4a0cac">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BN254 (-((chunk)(1)&lt;&lt;TBITS_BN254))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254_8h.html#ae22f0d358cc5707ae7deb3f763ad2581">FP_BN254_iszilch</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a420bf442f094f392e2c0116f3eef8c69">FP_BN254_zero</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#ab6f5e846f1186dbff86ee5b5714454ea">FP_BN254_copy</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#ab6de42f0e349c8cd0799cf1348f5fe5c">FP_BN254_rcopy</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254_8h.html#a3904fffa0cc33cbcbe810a7ee4d26edd">FP_BN254_equals</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BN254_8h.html#adecb221f91cbcaf83f4960aa9c665d04">FP_BN254_cswap</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</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="fp__BN254_8h.html#aa63afef46ecfae45ea5dc3b9e3b2b493">FP_BN254_cmove</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</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="fp__BN254_8h.html#a7f89f76c387a056ef079e8d8e9342a6a">FP_BN254_nres</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__BN254_8h.html#aeaca7086053f84d1a9acd1a61fa26e01">FP_BN254_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a4fc9de4de22d4acf65f327e073ff6868">FP_BN254_one</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a32878ff78f9a1ead1d2ff46daa0f9ecd">FP_BN254_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BN254_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BN254_8h.html#a40c78f68890810b3c3db61bd9a99b059">FP_BN254_mul</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *z);</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="fp__BN254_8h.html#a2be5d0f0882d62c0ec8ffc3a0f3572b9">FP_BN254_imul</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a1383bb84c66c6e42510769d70b26c684">FP_BN254_sqr</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a528588da12fe13fe2a25262aa33f47e2">FP_BN254_add</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a94ea2f736ecbfa16a1ddf209bd9945eb">FP_BN254_sub</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a47dff95c17d1e5085b01e441ee552677">FP_BN254_div2</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#abebd25f8fdaa6f0ce0d888d861611edd">FP_BN254_pow</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a3cdc08067b27c99e0743a9b0f337c6d4">FP_BN254_sqrt</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a10b9010a7c55e787034848a4790a299a">FP_BN254_neg</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a5ab5327eacae16f90875c2c587c6270c">FP_BN254_output</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#ac5f3440e0a9dcc9a6e7766f13ca443ef">FP_BN254_rawoutput</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a2816ef0b657315f32274266f02defea9">FP_BN254_reduce</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a67c9ec28bfd03f040f0aeeacb89472fb">FP_BN254_norm</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254_8h.html#ab0933cb4f43dd767eed7f9ef4667d36c">FP_BN254_qr</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a5905490a4fd2992b024807607af6e917">FP_BN254_inv</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BN254_8h_html_adecb221f91cbcaf83f4960aa9c665d04"><div class="ttname"><a href="fp__BN254_8h.html#adecb221f91cbcaf83f4960aa9c665d04">FP_BN254_cswap</a></div><div class="ttdeci">void FP_BN254_cswap(FP_BN254 *x, FP_BN254 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:230</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a67c9ec28bfd03f040f0aeeacb89472fb"><div class="ttname"><a href="fp__BN254_8h.html#a67c9ec28bfd03f040f0aeeacb89472fb">FP_BN254_norm</a></div><div class="ttdeci">void FP_BN254_norm(FP_BN254 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:484</div></div>
-<div class="ttc" id="fp__BN254_8h_html_ab6f5e846f1186dbff86ee5b5714454ea"><div class="ttname"><a href="fp__BN254_8h.html#ab6f5e846f1186dbff86ee5b5714454ea">FP_BN254_copy</a></div><div class="ttdeci">void FP_BN254_copy(FP_BN254 *y, FP_BN254 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:216</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a94ea2f736ecbfa16a1ddf209bd9945eb"><div class="ttname"><a href="fp__BN254_8h.html#a94ea2f736ecbfa16a1ddf209bd9945eb">FP_BN254_sub</a></div><div class="ttdeci">void FP_BN254_sub(FP_BN254 *x, FP_BN254 *y, FP_BN254 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:400</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a420bf442f094f392e2c0116f3eef8c69"><div class="ttname"><a href="fp__BN254_8h.html#a420bf442f094f392e2c0116f3eef8c69">FP_BN254_zero</a></div><div class="ttdeci">void FP_BN254_zero(FP_BN254 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:251</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a5905490a4fd2992b024807607af6e917"><div class="ttname"><a href="fp__BN254_8h.html#a5905490a4fd2992b024807607af6e917">FP_BN254_inv</a></div><div class="ttdeci">void FP_BN254_inv(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:648</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a5ab5327eacae16f90875c2c587c6270c"><div class="ttname"><a href="fp__BN254_8h.html#a5ab5327eacae16f90875c2c587c6270c">FP_BN254_output</a></div><div class="ttdeci">void FP_BN254_output(FP_BN254 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:270</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a40c78f68890810b3c3db61bd9a99b059"><div class="ttname"><a href="fp__BN254_8h.html#a40c78f68890810b3c3db61bd9a99b059">FP_BN254_mul</a></div><div class="ttdeci">void FP_BN254_mul(FP_BN254 *x, FP_BN254 *y, FP_BN254 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:297</div></div>
-<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a3904fffa0cc33cbcbe810a7ee4d26edd"><div class="ttname"><a href="fp__BN254_8h.html#a3904fffa0cc33cbcbe810a7ee4d26edd">FP_BN254_equals</a></div><div class="ttdeci">int FP_BN254_equals(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:257</div></div>
+<a href="fp__BN254_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 FP_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BN254_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BN254.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BN254.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BN254.html#a129ff2f489c492d0ee022189155c0532">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__BN254.html#a129ff2f489c492d0ee022189155c0532">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BN254.html#a257a9b6c0574931c530ca3a6ff6b7dce">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BN254.html#a257a9b6c0574931c530ca3a6ff6b7dce">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BN254.html">FP_BN254</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254_8h.html#a57cd93681eb36ae0ead921a1175f8eae">Modulus_BN254</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BN254_8h.html#a6724ba752782195d1c2094448d84a0a2">R2modp_BN254</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BN254_8h.html#a831f5859c3bda417b9d90cfb700a65e0">MConst_BN254</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a3f3e492eaf57a968aa6233410c262fe8">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BN254 MBITS_BN254                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a9fdd19163fc9231212ebf9afa9a22793">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BN254 (MBITS_BN254%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#ab21f7d8c697c60a7d00888963e2ff3cb">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BN254 (((chunk)1&lt;&lt;TBITS_BN254)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a22540457c1bcce596f902e3bf3c738ea">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BN254 (((sign32)1&lt;&lt;MAXXES_BN254)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BN254_8h.html#a237041adecb729b288aa6a243c4a0cac">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BN254 (-((chunk)(1)&lt;&lt;TBITS_BN254))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254_8h.html#ae22f0d358cc5707ae7deb3f763ad2581">FP_BN254_iszilch</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a420bf442f094f392e2c0116f3eef8c69">FP_BN254_zero</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#ab6f5e846f1186dbff86ee5b5714454ea">FP_BN254_copy</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#ab6de42f0e349c8cd0799cf1348f5fe5c">FP_BN254_rcopy</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254_8h.html#a3904fffa0cc33cbcbe810a7ee4d26edd">FP_BN254_equals</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BN254_8h.html#adecb221f91cbcaf83f4960aa9c665d04">FP_BN254_cswap</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</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="fp__BN254_8h.html#aa63afef46ecfae45ea5dc3b9e3b2b493">FP_BN254_cmove</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</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="fp__BN254_8h.html#a7f89f76c387a056ef079e8d8e9342a6a">FP_BN254_nres</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__BN254_8h.html#aeaca7086053f84d1a9acd1a61fa26e01">FP_BN254_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a4fc9de4de22d4acf65f327e073ff6868">FP_BN254_one</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a32878ff78f9a1ead1d2ff46daa0f9ecd">FP_BN254_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BN254_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BN254_8h.html#a40c78f68890810b3c3db61bd9a99b059">FP_BN254_mul</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *z);</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="fp__BN254_8h.html#a2be5d0f0882d62c0ec8ffc3a0f3572b9">FP_BN254_imul</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a1383bb84c66c6e42510769d70b26c684">FP_BN254_sqr</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a528588da12fe13fe2a25262aa33f47e2">FP_BN254_add</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a94ea2f736ecbfa16a1ddf209bd9945eb">FP_BN254_sub</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="structFP__BN254.html">FP_BN254</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a47dff95c17d1e5085b01e441ee552677">FP_BN254_div2</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#abebd25f8fdaa6f0ce0d888d861611edd">FP_BN254_pow</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a3cdc08067b27c99e0743a9b0f337c6d4">FP_BN254_sqrt</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a10b9010a7c55e787034848a4790a299a">FP_BN254_neg</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a5ab5327eacae16f90875c2c587c6270c">FP_BN254_output</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#ac5f3440e0a9dcc9a6e7766f13ca443ef">FP_BN254_rawoutput</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a2816ef0b657315f32274266f02defea9">FP_BN254_reduce</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a67c9ec28bfd03f040f0aeeacb89472fb">FP_BN254_norm</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BN254_8h.html#ab0933cb4f43dd767eed7f9ef4667d36c">FP_BN254_qr</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BN254_8h.html#a5905490a4fd2992b024807607af6e917">FP_BN254_inv</a>(<a class="code" href="structFP__BN254.html">FP_BN254</a> *x,<a class="code" href="structFP__BN254.html">FP_BN254</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__BN254_8h_html_adecb221f91cbcaf83f4960aa9c665d04"><div class="ttname"><a href="fp__BN254_8h.html#adecb221f91cbcaf83f4960aa9c665d04">FP_BN254_cswap</a></div><div class="ttdeci">void FP_BN254_cswap(FP_BN254 *x, FP_BN254 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:230</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a67c9ec28bfd03f040f0aeeacb89472fb"><div class="ttname"><a href="fp__BN254_8h.html#a67c9ec28bfd03f040f0aeeacb89472fb">FP_BN254_norm</a></div><div class="ttdeci">void FP_BN254_norm(FP_BN254 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:484</div></div>
+<div class="ttc" id="fp__BN254_8h_html_ab6f5e846f1186dbff86ee5b5714454ea"><div class="ttname"><a href="fp__BN254_8h.html#ab6f5e846f1186dbff86ee5b5714454ea">FP_BN254_copy</a></div><div class="ttdeci">void FP_BN254_copy(FP_BN254 *y, FP_BN254 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:216</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a94ea2f736ecbfa16a1ddf209bd9945eb"><div class="ttname"><a href="fp__BN254_8h.html#a94ea2f736ecbfa16a1ddf209bd9945eb">FP_BN254_sub</a></div><div class="ttdeci">void FP_BN254_sub(FP_BN254 *x, FP_BN254 *y, FP_BN254 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:400</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a420bf442f094f392e2c0116f3eef8c69"><div class="ttname"><a href="fp__BN254_8h.html#a420bf442f094f392e2c0116f3eef8c69">FP_BN254_zero</a></div><div class="ttdeci">void FP_BN254_zero(FP_BN254 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:251</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a5905490a4fd2992b024807607af6e917"><div class="ttname"><a href="fp__BN254_8h.html#a5905490a4fd2992b024807607af6e917">FP_BN254_inv</a></div><div class="ttdeci">void FP_BN254_inv(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:648</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a5ab5327eacae16f90875c2c587c6270c"><div class="ttname"><a href="fp__BN254_8h.html#a5ab5327eacae16f90875c2c587c6270c">FP_BN254_output</a></div><div class="ttdeci">void FP_BN254_output(FP_BN254 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:270</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a40c78f68890810b3c3db61bd9a99b059"><div class="ttname"><a href="fp__BN254_8h.html#a40c78f68890810b3c3db61bd9a99b059">FP_BN254_mul</a></div><div class="ttdeci">void FP_BN254_mul(FP_BN254 *x, FP_BN254 *y, FP_BN254 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:297</div></div>
+<div class="ttc" id="structFP__BN254_html"><div class="ttname"><a href="structFP__BN254.html">FP_BN254</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BN254.h:38</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a3904fffa0cc33cbcbe810a7ee4d26edd"><div class="ttname"><a href="fp__BN254_8h.html#a3904fffa0cc33cbcbe810a7ee4d26edd">FP_BN254_equals</a></div><div class="ttdeci">int FP_BN254_equals(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:257</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a2be5d0f0882d62c0ec8ffc3a0f3572b9"><div class="ttname"><a href="fp__BN254_8h.html#a2be5d0f0882d62c0ec8ffc3a0f3572b9">FP_BN254_imul</a></div><div class="ttdeci">void FP_BN254_imul(FP_BN254 *x, FP_BN254 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:321</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a1383bb84c66c6e42510769d70b26c684"><div class="ttname"><a href="fp__BN254_8h.html#a1383bb84c66c6e42510769d70b26c684">FP_BN254_sqr</a></div><div class="ttdeci">void FP_BN254_sqr(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:366</div></div>
-<div class="ttc" id="fp__BN254_8h_html_ae22f0d358cc5707ae7deb3f763ad2581"><div class="ttname"><a href="fp__BN254_8h.html#ae22f0d358cc5707ae7deb3f763ad2581">FP_BN254_iszilch</a></div><div class="ttdeci">int FP_BN254_iszilch(FP_BN254 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:207</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a528588da12fe13fe2a25262aa33f47e2"><div class="ttname"><a href="fp__BN254_8h.html#a528588da12fe13fe2a25262aa33f47e2">FP_BN254_add</a></div><div class="ttdeci">void FP_BN254_add(FP_BN254 *x, FP_BN254 *y, FP_BN254 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:385</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a10b9010a7c55e787034848a4790a299a"><div class="ttname"><a href="fp__BN254_8h.html#a10b9010a7c55e787034848a4790a299a">FP_BN254_neg</a></div><div class="ttdeci">void FP_BN254_neg(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:491</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a2816ef0b657315f32274266f02defea9"><div class="ttname"><a href="fp__BN254_8h.html#a2816ef0b657315f32274266f02defea9">FP_BN254_reduce</a></div><div class="ttdeci">void FP_BN254_reduce(FP_BN254 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:449</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a2be5d0f0882d62c0ec8ffc3a0f3572b9"><div class="ttname"><a href="fp__BN254_8h.html#a2be5d0f0882d62c0ec8ffc3a0f3572b9">FP_BN254_imul</a></div><div class="ttdeci">void FP_BN254_imul(FP_BN254 *x, FP_BN254 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:321</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a1383bb84c66c6e42510769d70b26c684"><div class="ttname"><a href="fp__BN254_8h.html#a1383bb84c66c6e42510769d70b26c684">FP_BN254_sqr</a></div><div class="ttdeci">void FP_BN254_sqr(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:366</div></div>
+<div class="ttc" id="fp__BN254_8h_html_ae22f0d358cc5707ae7deb3f763ad2581"><div class="ttname"><a href="fp__BN254_8h.html#ae22f0d358cc5707ae7deb3f763ad2581">FP_BN254_iszilch</a></div><div class="ttdeci">int FP_BN254_iszilch(FP_BN254 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:207</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a528588da12fe13fe2a25262aa33f47e2"><div class="ttname"><a href="fp__BN254_8h.html#a528588da12fe13fe2a25262aa33f47e2">FP_BN254_add</a></div><div class="ttdeci">void FP_BN254_add(FP_BN254 *x, FP_BN254 *y, FP_BN254 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:385</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a10b9010a7c55e787034848a4790a299a"><div class="ttname"><a href="fp__BN254_8h.html#a10b9010a7c55e787034848a4790a299a">FP_BN254_neg</a></div><div class="ttdeci">void FP_BN254_neg(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:491</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a2816ef0b657315f32274266f02defea9"><div class="ttname"><a href="fp__BN254_8h.html#a2816ef0b657315f32274266f02defea9">FP_BN254_reduce</a></div><div class="ttdeci">void FP_BN254_reduce(FP_BN254 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:449</div></div>
 <div class="ttc" id="fp__BN254_8h_html_a57cd93681eb36ae0ead921a1175f8eae"><div class="ttname"><a href="fp__BN254_8h.html#a57cd93681eb36ae0ead921a1175f8eae">Modulus_BN254</a></div><div class="ttdeci">const BIG_256_56 Modulus_BN254</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a7f89f76c387a056ef079e8d8e9342a6a"><div class="ttname"><a href="fp__BN254_8h.html#a7f89f76c387a056ef079e8d8e9342a6a">FP_BN254_nres</a></div><div class="ttdeci">void FP_BN254_nres(FP_BN254 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:90</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a32878ff78f9a1ead1d2ff46daa0f9ecd"><div class="ttname"><a href="fp__BN254_8h.html#a32878ff78f9a1ead1d2ff46daa0f9ecd">FP_BN254_mod</a></div><div class="ttdeci">void FP_BN254_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:103</div></div>
-<div class="ttc" id="fp__BN254_8h_html_ac5f3440e0a9dcc9a6e7766f13ca443ef"><div class="ttname"><a href="fp__BN254_8h.html#ac5f3440e0a9dcc9a6e7766f13ca443ef">FP_BN254_rawoutput</a></div><div class="ttdeci">void FP_BN254_rawoutput(FP_BN254 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:277</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a7f89f76c387a056ef079e8d8e9342a6a"><div class="ttname"><a href="fp__BN254_8h.html#a7f89f76c387a056ef079e8d8e9342a6a">FP_BN254_nres</a></div><div class="ttdeci">void FP_BN254_nres(FP_BN254 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:90</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a32878ff78f9a1ead1d2ff46daa0f9ecd"><div class="ttname"><a href="fp__BN254_8h.html#a32878ff78f9a1ead1d2ff46daa0f9ecd">FP_BN254_mod</a></div><div class="ttdeci">void FP_BN254_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:103</div></div>
+<div class="ttc" id="fp__BN254_8h_html_ac5f3440e0a9dcc9a6e7766f13ca443ef"><div class="ttname"><a href="fp__BN254_8h.html#ac5f3440e0a9dcc9a6e7766f13ca443ef">FP_BN254_rawoutput</a></div><div class="ttdeci">void FP_BN254_rawoutput(FP_BN254 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:277</div></div>
 <div class="ttc" id="fp__BN254_8h_html_a831f5859c3bda417b9d90cfb700a65e0"><div class="ttname"><a href="fp__BN254_8h.html#a831f5859c3bda417b9d90cfb700a65e0">MConst_BN254</a></div><div class="ttdeci">const chunk MConst_BN254</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="fp__BN254_8h_html_a6724ba752782195d1c2094448d84a0a2"><div class="ttname"><a href="fp__BN254_8h.html#a6724ba752782195d1c2094448d84a0a2">R2modp_BN254</a></div><div class="ttdeci">const BIG_256_56 R2modp_BN254</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a47dff95c17d1e5085b01e441ee552677"><div class="ttname"><a href="fp__BN254_8h.html#a47dff95c17d1e5085b01e441ee552677">FP_BN254_div2</a></div><div class="ttdeci">void FP_BN254_div2(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:515</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a47dff95c17d1e5085b01e441ee552677"><div class="ttname"><a href="fp__BN254_8h.html#a47dff95c17d1e5085b01e441ee552677">FP_BN254_div2</a></div><div class="ttdeci">void FP_BN254_div2(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:515</div></div>
 <div class="ttc" id="structFP__BN254_html_a129ff2f489c492d0ee022189155c0532"><div class="ttname"><a href="structFP__BN254.html#a129ff2f489c492d0ee022189155c0532">FP_BN254::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_BN254.h:40</div></div>
 <div class="ttc" id="structFP__BN254_html_a257a9b6c0574931c530ca3a6ff6b7dce"><div class="ttname"><a href="structFP__BN254.html#a257a9b6c0574931c530ca3a6ff6b7dce">FP_BN254::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BN254.h:41</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a3cdc08067b27c99e0743a9b0f337c6d4"><div class="ttname"><a href="fp__BN254_8h.html#a3cdc08067b27c99e0743a9b0f337c6d4">FP_BN254_sqrt</a></div><div class="ttdeci">void FP_BN254_sqrt(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:747</div></div>
-<div class="ttc" id="fp__BN254_8h_html_ab6de42f0e349c8cd0799cf1348f5fe5c"><div class="ttname"><a href="fp__BN254_8h.html#ab6de42f0e349c8cd0799cf1348f5fe5c">FP_BN254_rcopy</a></div><div class="ttdeci">void FP_BN254_rcopy(FP_BN254 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:222</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a3cdc08067b27c99e0743a9b0f337c6d4"><div class="ttname"><a href="fp__BN254_8h.html#a3cdc08067b27c99e0743a9b0f337c6d4">FP_BN254_sqrt</a></div><div class="ttdeci">void FP_BN254_sqrt(FP_BN254 *x, FP_BN254 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:747</div></div>
+<div class="ttc" id="fp__BN254_8h_html_ab6de42f0e349c8cd0799cf1348f5fe5c"><div class="ttname"><a href="fp__BN254_8h.html#ab6de42f0e349c8cd0799cf1348f5fe5c">FP_BN254_rcopy</a></div><div class="ttdeci">void FP_BN254_rcopy(FP_BN254 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:222</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp__BN254_8h_html_ab0933cb4f43dd767eed7f9ef4667d36c"><div class="ttname"><a href="fp__BN254_8h.html#ab0933cb4f43dd767eed7f9ef4667d36c">FP_BN254_qr</a></div><div class="ttdeci">int FP_BN254_qr(FP_BN254 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:731</div></div>
+<div class="ttc" id="fp__BN254_8h_html_ab0933cb4f43dd767eed7f9ef4667d36c"><div class="ttname"><a href="fp__BN254_8h.html#ab0933cb4f43dd767eed7f9ef4667d36c">FP_BN254_qr</a></div><div class="ttdeci">int FP_BN254_qr(FP_BN254 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:731</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="fp__BN254_8h_html_aeaca7086053f84d1a9acd1a61fa26e01"><div class="ttname"><a href="fp__BN254_8h.html#aeaca7086053f84d1a9acd1a61fa26e01">FP_BN254_redc</a></div><div class="ttdeci">void FP_BN254_redc(BIG_256_56 x, FP_BN254 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:97</div></div>
-<div class="ttc" id="fp__BN254_8h_html_a4fc9de4de22d4acf65f327e073ff6868"><div class="ttname"><a href="fp__BN254_8h.html#a4fc9de4de22d4acf65f327e073ff6868">FP_BN254_one</a></div><div class="ttdeci">void FP_BN254_one(FP_BN254 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:723</div></div>
-<div class="ttc" id="fp__BN254_8h_html_abebd25f8fdaa6f0ce0d888d861611edd"><div class="ttname"><a href="fp__BN254_8h.html#abebd25f8fdaa6f0ce0d888d861611edd">FP_BN254_pow</a></div><div class="ttdeci">void FP_BN254_pow(FP_BN254 *x, FP_BN254 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__BN254_8h_html_aa63afef46ecfae45ea5dc3b9e3b2b493"><div class="ttname"><a href="fp__BN254_8h.html#aa63afef46ecfae45ea5dc3b9e3b2b493">FP_BN254_cmove</a></div><div class="ttdeci">void FP_BN254_cmove(FP_BN254 *x, FP_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BN254.c:243</div></div>
+<div class="ttc" id="fp__BN254_8h_html_aeaca7086053f84d1a9acd1a61fa26e01"><div class="ttname"><a href="fp__BN254_8h.html#aeaca7086053f84d1a9acd1a61fa26e01">FP_BN254_redc</a></div><div class="ttdeci">void FP_BN254_redc(BIG_256_56 x, FP_BN254 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:97</div></div>
+<div class="ttc" id="fp__BN254_8h_html_a4fc9de4de22d4acf65f327e073ff6868"><div class="ttname"><a href="fp__BN254_8h.html#a4fc9de4de22d4acf65f327e073ff6868">FP_BN254_one</a></div><div class="ttdeci">void FP_BN254_one(FP_BN254 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:723</div></div>
+<div class="ttc" id="fp__BN254_8h_html_abebd25f8fdaa6f0ce0d888d861611edd"><div class="ttname"><a href="fp__BN254_8h.html#abebd25f8fdaa6f0ce0d888d861611edd">FP_BN254_pow</a></div><div class="ttdeci">void FP_BN254_pow(FP_BN254 *x, FP_BN254 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__BN254_8h_html_aa63afef46ecfae45ea5dc3b9e3b2b493"><div class="ttname"><a href="fp__BN254_8h.html#aa63afef46ecfae45ea5dc3b9e3b2b493">FP_BN254_cmove</a></div><div class="ttdeci">void FP_BN254_cmove(FP_BN254 *x, FP_BN254 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BN254.c:243</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/fp__BRAINPOOL_8h.html b/website/static/cdocs/fp__BRAINPOOL_8h.html
index d8542bf..2b5717e 100644
--- a/website/static/cdocs/fp__BRAINPOOL_8h.html
+++ b/website/static/cdocs/fp__BRAINPOOL_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: fp_BRAINPOOL.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"
@@ -1195,7 +1198,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/fp__BRAINPOOL_8h_source.html b/website/static/cdocs/fp__BRAINPOOL_8h_source.html
index de879ec..8cce62c 100644
--- a/website/static/cdocs/fp__BRAINPOOL_8h_source.html
+++ b/website/static/cdocs/fp__BRAINPOOL_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: fp_BRAINPOOL.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,49 +72,49 @@
 <div class="title">fp_BRAINPOOL.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__BRAINPOOL_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 FP_BRAINPOOL_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BRAINPOOL_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BRAINPOOL.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BRAINPOOL.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BRAINPOOL.html#a90c36e31458efd38bbd5b6534c6e1341">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BRAINPOOL.html#a90c36e31458efd38bbd5b6534c6e1341">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BRAINPOOL_8h.html#a681af805dc764d138ee806a4e9ca2e9b">Modulus_BRAINPOOL</a>;      </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BRAINPOOL_8h.html#aeb0588688102a68807460a3fa382dd93">R2modp_BRAINPOOL</a>;       </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BRAINPOOL_8h.html#a7bf3a838c102bdad736f1650c0f91be5">MConst_BRAINPOOL</a>;            </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a686c96b62c8d51c60559b96f9afed7b6">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BRAINPOOL MBITS_BRAINPOOL                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a0664fa3b35834728db575a2339eec757">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BRAINPOOL (MBITS_BRAINPOOL%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a52a8b34dff4967d5777cf5d2a4fa1bf9">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BRAINPOOL (((chunk)1&lt;&lt;TBITS_BRAINPOOL)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#aaeee0ee06a9694a4ab69237ccc2a250e">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BRAINPOOL (((sign32)1&lt;&lt;MAXXES_BRAINPOOL)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a7cdc9fc43cdefb2debb0f5dbb962dad0">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BRAINPOOL (-((chunk)(1)&lt;&lt;TBITS_BRAINPOOL))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BRAINPOOL_8h.html#abdb2eeef38fba738de672751a1c98731">FP_BRAINPOOL_iszilch</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#ae2e6db13221f80cad3e9b1892d7e76e4">FP_BRAINPOOL_zero</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a0e82c0f70338535e86af2fe015eace0f">FP_BRAINPOOL_copy</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a1a548c796511e9a1768c5d717f53c686">FP_BRAINPOOL_rcopy</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BRAINPOOL_8h.html#a508457244409c515ca69a260715898d8">FP_BRAINPOOL_equals</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BRAINPOOL_8h.html#a17ac2219b6a474957db9a2a1ed710c6b">FP_BRAINPOOL_cswap</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</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="fp__BRAINPOOL_8h.html#a66fb064d461c21138135d2e04ca7296b">FP_BRAINPOOL_cmove</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</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="fp__BRAINPOOL_8h.html#ac1d1da6e9dd00be1c8c1482349fdf013">FP_BRAINPOOL_nres</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__BRAINPOOL_8h.html#a924477af94fe955bb0ed8c1942a09df1">FP_BRAINPOOL_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#ae6957dfd2c6cd00e13faa2fac2fcf721">FP_BRAINPOOL_one</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a08c045c26a3fad30306379be2eaa5c5d">FP_BRAINPOOL_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BRAINPOOL_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BRAINPOOL_8h.html#a84521f0861d63d090948347b515f6389">FP_BRAINPOOL_mul</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *z);</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="fp__BRAINPOOL_8h.html#af01528fb13a21768bd41eedee5f8dd14">FP_BRAINPOOL_imul</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#af24411e6fa3db9ef84137a6796cb698c">FP_BRAINPOOL_sqr</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a7825698a39d41dd754ddc49c4e7f59d3">FP_BRAINPOOL_add</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#af8bf2d25eb06fb72f0ab17f3105c258d">FP_BRAINPOOL_sub</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a3e90a7a42dcb5efddc877cf52e5bb686">FP_BRAINPOOL_div2</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#adf7b68218e12ace9bd71659c8bce6116">FP_BRAINPOOL_pow</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a0b0942fe5d0d2631cab444cc142246d9">FP_BRAINPOOL_sqrt</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a536272569a84bc33f60f20c87ae9a56d">FP_BRAINPOOL_neg</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a0781b4d86c310e3eb17ff8bedee1aba6">FP_BRAINPOOL_output</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#aca97fb8c8f62cd3d48a1ad895a83d654">FP_BRAINPOOL_rawoutput</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a05c19798491252536415f0c00af11e79">FP_BRAINPOOL_reduce</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a3c2ab2e3864a3f47e9cdd5630c01d3fe">FP_BRAINPOOL_norm</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BRAINPOOL_8h.html#a45d89b9cfdfdc2da4ca25fcd071b4ea5">FP_BRAINPOOL_qr</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a5271a5b830e8db702e7bb159c000727d">FP_BRAINPOOL_inv</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP__BRAINPOOL_html"><div class="ttname"><a href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.h:38</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_aca97fb8c8f62cd3d48a1ad895a83d654"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#aca97fb8c8f62cd3d48a1ad895a83d654">FP_BRAINPOOL_rawoutput</a></div><div class="ttdeci">void FP_BRAINPOOL_rawoutput(FP_BRAINPOOL *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:277</div></div>
+<a href="fp__BRAINPOOL_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 FP_BRAINPOOL_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_BRAINPOOL_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_BRAINPOOL.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__BRAINPOOL.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__BRAINPOOL.html#a90c36e31458efd38bbd5b6534c6e1341">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__BRAINPOOL.html#a90c36e31458efd38bbd5b6534c6e1341">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BRAINPOOL_8h.html#a681af805dc764d138ee806a4e9ca2e9b">Modulus_BRAINPOOL</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__BRAINPOOL_8h.html#aeb0588688102a68807460a3fa382dd93">R2modp_BRAINPOOL</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__BRAINPOOL_8h.html#a7bf3a838c102bdad736f1650c0f91be5">MConst_BRAINPOOL</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a686c96b62c8d51c60559b96f9afed7b6">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_BRAINPOOL MBITS_BRAINPOOL                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a0664fa3b35834728db575a2339eec757">   52</a></span>&#160;<span class="preprocessor">#define TBITS_BRAINPOOL (MBITS_BRAINPOOL%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a52a8b34dff4967d5777cf5d2a4fa1bf9">   53</a></span>&#160;<span class="preprocessor">#define TMASK_BRAINPOOL (((chunk)1&lt;&lt;TBITS_BRAINPOOL)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#aaeee0ee06a9694a4ab69237ccc2a250e">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_BRAINPOOL (((sign32)1&lt;&lt;MAXXES_BRAINPOOL)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__BRAINPOOL_8h.html#a7cdc9fc43cdefb2debb0f5dbb962dad0">   55</a></span>&#160;<span class="preprocessor">#define OMASK_BRAINPOOL (-((chunk)(1)&lt;&lt;TBITS_BRAINPOOL))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BRAINPOOL_8h.html#abdb2eeef38fba738de672751a1c98731">FP_BRAINPOOL_iszilch</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#ae2e6db13221f80cad3e9b1892d7e76e4">FP_BRAINPOOL_zero</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a0e82c0f70338535e86af2fe015eace0f">FP_BRAINPOOL_copy</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a1a548c796511e9a1768c5d717f53c686">FP_BRAINPOOL_rcopy</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BRAINPOOL_8h.html#a508457244409c515ca69a260715898d8">FP_BRAINPOOL_equals</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__BRAINPOOL_8h.html#a17ac2219b6a474957db9a2a1ed710c6b">FP_BRAINPOOL_cswap</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</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="fp__BRAINPOOL_8h.html#a66fb064d461c21138135d2e04ca7296b">FP_BRAINPOOL_cmove</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</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="fp__BRAINPOOL_8h.html#ac1d1da6e9dd00be1c8c1482349fdf013">FP_BRAINPOOL_nres</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__BRAINPOOL_8h.html#a924477af94fe955bb0ed8c1942a09df1">FP_BRAINPOOL_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#ae6957dfd2c6cd00e13faa2fac2fcf721">FP_BRAINPOOL_one</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a08c045c26a3fad30306379be2eaa5c5d">FP_BRAINPOOL_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_BRAINPOOL_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__BRAINPOOL_8h.html#a84521f0861d63d090948347b515f6389">FP_BRAINPOOL_mul</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *z);</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="fp__BRAINPOOL_8h.html#af01528fb13a21768bd41eedee5f8dd14">FP_BRAINPOOL_imul</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#af24411e6fa3db9ef84137a6796cb698c">FP_BRAINPOOL_sqr</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a7825698a39d41dd754ddc49c4e7f59d3">FP_BRAINPOOL_add</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#af8bf2d25eb06fb72f0ab17f3105c258d">FP_BRAINPOOL_sub</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a3e90a7a42dcb5efddc877cf52e5bb686">FP_BRAINPOOL_div2</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#adf7b68218e12ace9bd71659c8bce6116">FP_BRAINPOOL_pow</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a0b0942fe5d0d2631cab444cc142246d9">FP_BRAINPOOL_sqrt</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a536272569a84bc33f60f20c87ae9a56d">FP_BRAINPOOL_neg</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a0781b4d86c310e3eb17ff8bedee1aba6">FP_BRAINPOOL_output</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#aca97fb8c8f62cd3d48a1ad895a83d654">FP_BRAINPOOL_rawoutput</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a05c19798491252536415f0c00af11e79">FP_BRAINPOOL_reduce</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a3c2ab2e3864a3f47e9cdd5630c01d3fe">FP_BRAINPOOL_norm</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__BRAINPOOL_8h.html#a45d89b9cfdfdc2da4ca25fcd071b4ea5">FP_BRAINPOOL_qr</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__BRAINPOOL_8h.html#a5271a5b830e8db702e7bb159c000727d">FP_BRAINPOOL_inv</a>(<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *x,<a class="code" href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structFP__BRAINPOOL_html"><div class="ttname"><a href="structFP__BRAINPOOL.html">FP_BRAINPOOL</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.h:38</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_aca97fb8c8f62cd3d48a1ad895a83d654"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#aca97fb8c8f62cd3d48a1ad895a83d654">FP_BRAINPOOL_rawoutput</a></div><div class="ttdeci">void FP_BRAINPOOL_rawoutput(FP_BRAINPOOL *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:277</div></div>
 <div class="ttc" id="fp__BRAINPOOL_8h_html_aeb0588688102a68807460a3fa382dd93"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#aeb0588688102a68807460a3fa382dd93">R2modp_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 R2modp_BRAINPOOL</div></div>
 <div class="ttc" id="structFP__BRAINPOOL_html_a90c36e31458efd38bbd5b6534c6e1341"><div class="ttname"><a href="structFP__BRAINPOOL.html#a90c36e31458efd38bbd5b6534c6e1341">FP_BRAINPOOL::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.h:41</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a08c045c26a3fad30306379be2eaa5c5d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a08c045c26a3fad30306379be2eaa5c5d">FP_BRAINPOOL_mod</a></div><div class="ttdeci">void FP_BRAINPOOL_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:103</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_ae6957dfd2c6cd00e13faa2fac2fcf721"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#ae6957dfd2c6cd00e13faa2fac2fcf721">FP_BRAINPOOL_one</a></div><div class="ttdeci">void FP_BRAINPOOL_one(FP_BRAINPOOL *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:723</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a7825698a39d41dd754ddc49c4e7f59d3"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a7825698a39d41dd754ddc49c4e7f59d3">FP_BRAINPOOL_add</a></div><div class="ttdeci">void FP_BRAINPOOL_add(FP_BRAINPOOL *x, FP_BRAINPOOL *y, FP_BRAINPOOL *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:385</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a508457244409c515ca69a260715898d8"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a508457244409c515ca69a260715898d8">FP_BRAINPOOL_equals</a></div><div class="ttdeci">int FP_BRAINPOOL_equals(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:257</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a08c045c26a3fad30306379be2eaa5c5d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a08c045c26a3fad30306379be2eaa5c5d">FP_BRAINPOOL_mod</a></div><div class="ttdeci">void FP_BRAINPOOL_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:103</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_ae6957dfd2c6cd00e13faa2fac2fcf721"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#ae6957dfd2c6cd00e13faa2fac2fcf721">FP_BRAINPOOL_one</a></div><div class="ttdeci">void FP_BRAINPOOL_one(FP_BRAINPOOL *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:723</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a7825698a39d41dd754ddc49c4e7f59d3"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a7825698a39d41dd754ddc49c4e7f59d3">FP_BRAINPOOL_add</a></div><div class="ttdeci">void FP_BRAINPOOL_add(FP_BRAINPOOL *x, FP_BRAINPOOL *y, FP_BRAINPOOL *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:385</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a508457244409c515ca69a260715898d8"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a508457244409c515ca69a260715898d8">FP_BRAINPOOL_equals</a></div><div class="ttdeci">int FP_BRAINPOOL_equals(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:257</div></div>
 <div class="ttc" id="fp__BRAINPOOL_8h_html_a681af805dc764d138ee806a4e9ca2e9b"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a681af805dc764d138ee806a4e9ca2e9b">Modulus_BRAINPOOL</a></div><div class="ttdeci">const BIG_256_56 Modulus_BRAINPOOL</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_adf7b68218e12ace9bd71659c8bce6116"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#adf7b68218e12ace9bd71659c8bce6116">FP_BRAINPOOL_pow</a></div><div class="ttdeci">void FP_BRAINPOOL_pow(FP_BRAINPOOL *x, FP_BRAINPOOL *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_adf7b68218e12ace9bd71659c8bce6116"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#adf7b68218e12ace9bd71659c8bce6116">FP_BRAINPOOL_pow</a></div><div class="ttdeci">void FP_BRAINPOOL_pow(FP_BRAINPOOL *x, FP_BRAINPOOL *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
 <div class="ttc" id="fp__BRAINPOOL_8h_html_a7bf3a838c102bdad736f1650c0f91be5"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a7bf3a838c102bdad736f1650c0f91be5">MConst_BRAINPOOL</a></div><div class="ttdeci">const chunk MConst_BRAINPOOL</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_af8bf2d25eb06fb72f0ab17f3105c258d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#af8bf2d25eb06fb72f0ab17f3105c258d">FP_BRAINPOOL_sub</a></div><div class="ttdeci">void FP_BRAINPOOL_sub(FP_BRAINPOOL *x, FP_BRAINPOOL *y, FP_BRAINPOOL *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:400</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_af8bf2d25eb06fb72f0ab17f3105c258d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#af8bf2d25eb06fb72f0ab17f3105c258d">FP_BRAINPOOL_sub</a></div><div class="ttdeci">void FP_BRAINPOOL_sub(FP_BRAINPOOL *x, FP_BRAINPOOL *y, FP_BRAINPOOL *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:400</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a0781b4d86c310e3eb17ff8bedee1aba6"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a0781b4d86c310e3eb17ff8bedee1aba6">FP_BRAINPOOL_output</a></div><div class="ttdeci">void FP_BRAINPOOL_output(FP_BRAINPOOL *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:270</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a536272569a84bc33f60f20c87ae9a56d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a536272569a84bc33f60f20c87ae9a56d">FP_BRAINPOOL_neg</a></div><div class="ttdeci">void FP_BRAINPOOL_neg(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:491</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a17ac2219b6a474957db9a2a1ed710c6b"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a17ac2219b6a474957db9a2a1ed710c6b">FP_BRAINPOOL_cswap</a></div><div class="ttdeci">void FP_BRAINPOOL_cswap(FP_BRAINPOOL *x, FP_BRAINPOOL *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:230</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a0b0942fe5d0d2631cab444cc142246d9"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a0b0942fe5d0d2631cab444cc142246d9">FP_BRAINPOOL_sqrt</a></div><div class="ttdeci">void FP_BRAINPOOL_sqrt(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:747</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a0781b4d86c310e3eb17ff8bedee1aba6"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a0781b4d86c310e3eb17ff8bedee1aba6">FP_BRAINPOOL_output</a></div><div class="ttdeci">void FP_BRAINPOOL_output(FP_BRAINPOOL *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:270</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a536272569a84bc33f60f20c87ae9a56d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a536272569a84bc33f60f20c87ae9a56d">FP_BRAINPOOL_neg</a></div><div class="ttdeci">void FP_BRAINPOOL_neg(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:491</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a17ac2219b6a474957db9a2a1ed710c6b"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a17ac2219b6a474957db9a2a1ed710c6b">FP_BRAINPOOL_cswap</a></div><div class="ttdeci">void FP_BRAINPOOL_cswap(FP_BRAINPOOL *x, FP_BRAINPOOL *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:230</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a0b0942fe5d0d2631cab444cc142246d9"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a0b0942fe5d0d2631cab444cc142246d9">FP_BRAINPOOL_sqrt</a></div><div class="ttdeci">void FP_BRAINPOOL_sqrt(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:747</div></div>
 <div class="ttc" id="structFP__BRAINPOOL_html_af6a73673829eecdd48b25db418d8b959"><div class="ttname"><a href="structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959">FP_BRAINPOOL::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.h:40</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_ac1d1da6e9dd00be1c8c1482349fdf013"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#ac1d1da6e9dd00be1c8c1482349fdf013">FP_BRAINPOOL_nres</a></div><div class="ttdeci">void FP_BRAINPOOL_nres(FP_BRAINPOOL *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:90</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a3e90a7a42dcb5efddc877cf52e5bb686"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a3e90a7a42dcb5efddc877cf52e5bb686">FP_BRAINPOOL_div2</a></div><div class="ttdeci">void FP_BRAINPOOL_div2(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:515</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_abdb2eeef38fba738de672751a1c98731"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#abdb2eeef38fba738de672751a1c98731">FP_BRAINPOOL_iszilch</a></div><div class="ttdeci">int FP_BRAINPOOL_iszilch(FP_BRAINPOOL *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:207</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a05c19798491252536415f0c00af11e79"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a05c19798491252536415f0c00af11e79">FP_BRAINPOOL_reduce</a></div><div class="ttdeci">void FP_BRAINPOOL_reduce(FP_BRAINPOOL *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:449</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a1a548c796511e9a1768c5d717f53c686"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a1a548c796511e9a1768c5d717f53c686">FP_BRAINPOOL_rcopy</a></div><div class="ttdeci">void FP_BRAINPOOL_rcopy(FP_BRAINPOOL *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:222</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a924477af94fe955bb0ed8c1942a09df1"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a924477af94fe955bb0ed8c1942a09df1">FP_BRAINPOOL_redc</a></div><div class="ttdeci">void FP_BRAINPOOL_redc(BIG_256_56 x, FP_BRAINPOOL *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:97</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a66fb064d461c21138135d2e04ca7296b"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a66fb064d461c21138135d2e04ca7296b">FP_BRAINPOOL_cmove</a></div><div class="ttdeci">void FP_BRAINPOOL_cmove(FP_BRAINPOOL *x, FP_BRAINPOOL *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:243</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a0e82c0f70338535e86af2fe015eace0f"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a0e82c0f70338535e86af2fe015eace0f">FP_BRAINPOOL_copy</a></div><div class="ttdeci">void FP_BRAINPOOL_copy(FP_BRAINPOOL *y, FP_BRAINPOOL *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:216</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_ac1d1da6e9dd00be1c8c1482349fdf013"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#ac1d1da6e9dd00be1c8c1482349fdf013">FP_BRAINPOOL_nres</a></div><div class="ttdeci">void FP_BRAINPOOL_nres(FP_BRAINPOOL *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:90</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a3e90a7a42dcb5efddc877cf52e5bb686"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a3e90a7a42dcb5efddc877cf52e5bb686">FP_BRAINPOOL_div2</a></div><div class="ttdeci">void FP_BRAINPOOL_div2(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:515</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_abdb2eeef38fba738de672751a1c98731"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#abdb2eeef38fba738de672751a1c98731">FP_BRAINPOOL_iszilch</a></div><div class="ttdeci">int FP_BRAINPOOL_iszilch(FP_BRAINPOOL *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:207</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a05c19798491252536415f0c00af11e79"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a05c19798491252536415f0c00af11e79">FP_BRAINPOOL_reduce</a></div><div class="ttdeci">void FP_BRAINPOOL_reduce(FP_BRAINPOOL *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:449</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a1a548c796511e9a1768c5d717f53c686"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a1a548c796511e9a1768c5d717f53c686">FP_BRAINPOOL_rcopy</a></div><div class="ttdeci">void FP_BRAINPOOL_rcopy(FP_BRAINPOOL *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:222</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a924477af94fe955bb0ed8c1942a09df1"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a924477af94fe955bb0ed8c1942a09df1">FP_BRAINPOOL_redc</a></div><div class="ttdeci">void FP_BRAINPOOL_redc(BIG_256_56 x, FP_BRAINPOOL *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:97</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a66fb064d461c21138135d2e04ca7296b"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a66fb064d461c21138135d2e04ca7296b">FP_BRAINPOOL_cmove</a></div><div class="ttdeci">void FP_BRAINPOOL_cmove(FP_BRAINPOOL *x, FP_BRAINPOOL *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:243</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a0e82c0f70338535e86af2fe015eace0f"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a0e82c0f70338535e86af2fe015eace0f">FP_BRAINPOOL_copy</a></div><div class="ttdeci">void FP_BRAINPOOL_copy(FP_BRAINPOOL *y, FP_BRAINPOOL *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:216</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_af01528fb13a21768bd41eedee5f8dd14"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#af01528fb13a21768bd41eedee5f8dd14">FP_BRAINPOOL_imul</a></div><div class="ttdeci">void FP_BRAINPOOL_imul(FP_BRAINPOOL *x, FP_BRAINPOOL *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:321</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a3c2ab2e3864a3f47e9cdd5630c01d3fe"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a3c2ab2e3864a3f47e9cdd5630c01d3fe">FP_BRAINPOOL_norm</a></div><div class="ttdeci">void FP_BRAINPOOL_norm(FP_BRAINPOOL *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:484</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_ae2e6db13221f80cad3e9b1892d7e76e4"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#ae2e6db13221f80cad3e9b1892d7e76e4">FP_BRAINPOOL_zero</a></div><div class="ttdeci">void FP_BRAINPOOL_zero(FP_BRAINPOOL *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:251</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_af01528fb13a21768bd41eedee5f8dd14"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#af01528fb13a21768bd41eedee5f8dd14">FP_BRAINPOOL_imul</a></div><div class="ttdeci">void FP_BRAINPOOL_imul(FP_BRAINPOOL *x, FP_BRAINPOOL *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:321</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a3c2ab2e3864a3f47e9cdd5630c01d3fe"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a3c2ab2e3864a3f47e9cdd5630c01d3fe">FP_BRAINPOOL_norm</a></div><div class="ttdeci">void FP_BRAINPOOL_norm(FP_BRAINPOOL *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:484</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_ae2e6db13221f80cad3e9b1892d7e76e4"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#ae2e6db13221f80cad3e9b1892d7e76e4">FP_BRAINPOOL_zero</a></div><div class="ttdeci">void FP_BRAINPOOL_zero(FP_BRAINPOOL *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:251</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_af24411e6fa3db9ef84137a6796cb698c"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#af24411e6fa3db9ef84137a6796cb698c">FP_BRAINPOOL_sqr</a></div><div class="ttdeci">void FP_BRAINPOOL_sqr(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:366</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_af24411e6fa3db9ef84137a6796cb698c"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#af24411e6fa3db9ef84137a6796cb698c">FP_BRAINPOOL_sqr</a></div><div class="ttdeci">void FP_BRAINPOOL_sqr(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:366</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="fp__BRAINPOOL_8h_html_a45d89b9cfdfdc2da4ca25fcd071b4ea5"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a45d89b9cfdfdc2da4ca25fcd071b4ea5">FP_BRAINPOOL_qr</a></div><div class="ttdeci">int FP_BRAINPOOL_qr(FP_BRAINPOOL *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:731</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a5271a5b830e8db702e7bb159c000727d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a5271a5b830e8db702e7bb159c000727d">FP_BRAINPOOL_inv</a></div><div class="ttdeci">void FP_BRAINPOOL_inv(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:648</div></div>
-<div class="ttc" id="fp__BRAINPOOL_8h_html_a84521f0861d63d090948347b515f6389"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a84521f0861d63d090948347b515f6389">FP_BRAINPOOL_mul</a></div><div class="ttdeci">void FP_BRAINPOOL_mul(FP_BRAINPOOL *x, FP_BRAINPOOL *y, FP_BRAINPOOL *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:297</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a45d89b9cfdfdc2da4ca25fcd071b4ea5"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a45d89b9cfdfdc2da4ca25fcd071b4ea5">FP_BRAINPOOL_qr</a></div><div class="ttdeci">int FP_BRAINPOOL_qr(FP_BRAINPOOL *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:731</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a5271a5b830e8db702e7bb159c000727d"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a5271a5b830e8db702e7bb159c000727d">FP_BRAINPOOL_inv</a></div><div class="ttdeci">void FP_BRAINPOOL_inv(FP_BRAINPOOL *x, FP_BRAINPOOL *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:648</div></div>
+<div class="ttc" id="fp__BRAINPOOL_8h_html_a84521f0861d63d090948347b515f6389"><div class="ttname"><a href="fp__BRAINPOOL_8h.html#a84521f0861d63d090948347b515f6389">FP_BRAINPOOL_mul</a></div><div class="ttdeci">void FP_BRAINPOOL_mul(FP_BRAINPOOL *x, FP_BRAINPOOL *y, FP_BRAINPOOL *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_BRAINPOOL.c:297</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/fp__C41417_8h.html b/website/static/cdocs/fp__C41417_8h.html
index d5727c8..eb78187 100644
--- a/website/static/cdocs/fp__C41417_8h.html
+++ b/website/static/cdocs/fp__C41417_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: fp_C41417.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"
@@ -1195,7 +1198,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/fp__C41417_8h_source.html b/website/static/cdocs/fp__C41417_8h_source.html
index e77e9eb..56b490c 100644
--- a/website/static/cdocs/fp__C41417_8h_source.html
+++ b/website/static/cdocs/fp__C41417_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: fp_C41417.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,49 +72,49 @@
 <div class="title">fp_C41417.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__C41417_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 FP_C41417_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_C41417_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 &quot;<a class="code" href="big__416__60_8h.html">big_416_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_C41417.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__C41417.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc">   40</a></span>&#160;    <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__C41417.html#a1c1267597d618ce744df127c334c6b76">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__C41417.html#a1c1267597d618ce744df127c334c6b76">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__C41417.html">FP_C41417</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="fp__C41417_8h.html#a357e532a9c95510513e436b4ff8d1526">Modulus_C41417</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="fp__C41417_8h.html#a576d83a5e8fee7c8f2eea90151d9bc45">R2modp_C41417</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__C41417_8h.html#a32c5a293befbd4fd2071014bde077071">MConst_C41417</a>;               </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a6d99add8bef5b3f4234ab9718e403bd9">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_C41417 MBITS_C41417                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#ade20fdf7dd2854301930346dddc95e3a">   52</a></span>&#160;<span class="preprocessor">#define TBITS_C41417 (MBITS_C41417%BASEBITS_416_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a8983b620946a7115a103b3f50e0f4af6">   53</a></span>&#160;<span class="preprocessor">#define TMASK_C41417 (((chunk)1&lt;&lt;TBITS_C41417)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a7ac20a461f2e70f033f189f9454a3efa">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_C41417 (((sign32)1&lt;&lt;MAXXES_C41417)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a11bad18fccfdc8ba7e8c9518cbd69da2">   55</a></span>&#160;<span class="preprocessor">#define OMASK_C41417 (-((chunk)(1)&lt;&lt;TBITS_C41417))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__C41417_8h.html#ac404ee1abaf67cfc4bb1cb7ca46eb509">FP_C41417_iszilch</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#adc38bc3e0a51491e50d823dd31569ccf">FP_C41417_zero</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a98a41609d809a930f9d2ae5a6b17c79c">FP_C41417_copy</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a40eb436cd44dc5eb4c788bf4b5a3382e">FP_C41417_rcopy</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__C41417_8h.html#a5f3bd62b4281dac6b40ac2e23c5ec325">FP_C41417_equals</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__C41417_8h.html#a220f964ae8aec771fd2329867aed09f7">FP_C41417_cswap</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</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="fp__C41417_8h.html#a1c520c3c476863f5892d054462e51e18">FP_C41417_cmove</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</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="fp__C41417_8h.html#a42c9b8574570464972d0c9ced5ef78d1">FP_C41417_nres</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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="fp__C41417_8h.html#a6d186ae4ff95a97fac11732a6a2b103e">FP_C41417_redc</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a8ce1d10d42ddbb47fd16b55e76bf44bb">FP_C41417_one</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#aef67089d8fc776b5a87f9bc44b8f1fb9">FP_C41417_mod</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> r,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_C41417_modmul(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__C41417_8h.html#a0ef72b28180096d3136392193a65c228">FP_C41417_mul</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *z);</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="fp__C41417_8h.html#a7cdba323e68c15fd6fedc2451ac508a3">FP_C41417_imul</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a41b035fd15cfe951b54e7bb279734a48">FP_C41417_sqr</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a2afb8e3b2236e38e3a2a69abab810c67">FP_C41417_add</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a244061f0ca1e166147e953282b615499">FP_C41417_sub</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#af60423cb52cc8aeb29af224ca909a96a">FP_C41417_div2</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#ae25375eb62e4dc7f97aef194ed4b9544">FP_C41417_pow</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#ab86c6a3177466c7c68ed5b874fa95223">FP_C41417_sqrt</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#abf05cda2119bdd21261e242c48a510ac">FP_C41417_neg</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a6a91ff5a875c41c12e6022a14fa39825">FP_C41417_output</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a4fffb5783439758397be6b423763987a">FP_C41417_rawoutput</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a336cde8e40d40a53b4b42223c62b4b0a">FP_C41417_reduce</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a49ad11ca4aa16d9a6375c9ec223869e2">FP_C41417_norm</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__C41417_8h.html#aee261f3156bed92fda717853ed8b5993">FP_C41417_qr</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#ad75aab9a1584522da2f814954a15bbc1">FP_C41417_inv</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__C41417_8h_html_a40eb436cd44dc5eb4c788bf4b5a3382e"><div class="ttname"><a href="fp__C41417_8h.html#a40eb436cd44dc5eb4c788bf4b5a3382e">FP_C41417_rcopy</a></div><div class="ttdeci">void FP_C41417_rcopy(FP_C41417 *y, const BIG_416_60 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:222</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a5f3bd62b4281dac6b40ac2e23c5ec325"><div class="ttname"><a href="fp__C41417_8h.html#a5f3bd62b4281dac6b40ac2e23c5ec325">FP_C41417_equals</a></div><div class="ttdeci">int FP_C41417_equals(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:257</div></div>
-<div class="ttc" id="fp__C41417_8h_html_ae25375eb62e4dc7f97aef194ed4b9544"><div class="ttname"><a href="fp__C41417_8h.html#ae25375eb62e4dc7f97aef194ed4b9544">FP_C41417_pow</a></div><div class="ttdeci">void FP_C41417_pow(FP_C41417 *x, FP_C41417 *y, BIG_416_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__C41417_8h_html_aef67089d8fc776b5a87f9bc44b8f1fb9"><div class="ttname"><a href="fp__C41417_8h.html#aef67089d8fc776b5a87f9bc44b8f1fb9">FP_C41417_mod</a></div><div class="ttdeci">void FP_C41417_mod(BIG_416_60 r, DBIG_416_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:103</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a4fffb5783439758397be6b423763987a"><div class="ttname"><a href="fp__C41417_8h.html#a4fffb5783439758397be6b423763987a">FP_C41417_rawoutput</a></div><div class="ttdeci">void FP_C41417_rawoutput(FP_C41417 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:277</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a220f964ae8aec771fd2329867aed09f7"><div class="ttname"><a href="fp__C41417_8h.html#a220f964ae8aec771fd2329867aed09f7">FP_C41417_cswap</a></div><div class="ttdeci">void FP_C41417_cswap(FP_C41417 *x, FP_C41417 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:230</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a0ef72b28180096d3136392193a65c228"><div class="ttname"><a href="fp__C41417_8h.html#a0ef72b28180096d3136392193a65c228">FP_C41417_mul</a></div><div class="ttdeci">void FP_C41417_mul(FP_C41417 *x, FP_C41417 *y, FP_C41417 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:297</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a7cdba323e68c15fd6fedc2451ac508a3"><div class="ttname"><a href="fp__C41417_8h.html#a7cdba323e68c15fd6fedc2451ac508a3">FP_C41417_imul</a></div><div class="ttdeci">void FP_C41417_imul(FP_C41417 *x, FP_C41417 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:321</div></div>
+<a href="fp__C41417_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 FP_C41417_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_C41417_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 &quot;<a class="code" href="big__416__60_8h.html">big_416_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_C41417.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__C41417.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc">   40</a></span>&#160;    <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__C41417.html#a1c1267597d618ce744df127c334c6b76">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__C41417.html#a1c1267597d618ce744df127c334c6b76">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__C41417.html">FP_C41417</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="fp__C41417_8h.html#a357e532a9c95510513e436b4ff8d1526">Modulus_C41417</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> <a class="code" href="fp__C41417_8h.html#a576d83a5e8fee7c8f2eea90151d9bc45">R2modp_C41417</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__C41417_8h.html#a32c5a293befbd4fd2071014bde077071">MConst_C41417</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a6d99add8bef5b3f4234ab9718e403bd9">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_C41417 MBITS_C41417                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#ade20fdf7dd2854301930346dddc95e3a">   52</a></span>&#160;<span class="preprocessor">#define TBITS_C41417 (MBITS_C41417%BASEBITS_416_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a8983b620946a7115a103b3f50e0f4af6">   53</a></span>&#160;<span class="preprocessor">#define TMASK_C41417 (((chunk)1&lt;&lt;TBITS_C41417)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a7ac20a461f2e70f033f189f9454a3efa">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_C41417 (((sign32)1&lt;&lt;MAXXES_C41417)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__C41417_8h.html#a11bad18fccfdc8ba7e8c9518cbd69da2">   55</a></span>&#160;<span class="preprocessor">#define OMASK_C41417 (-((chunk)(1)&lt;&lt;TBITS_C41417))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__C41417_8h.html#ac404ee1abaf67cfc4bb1cb7ca46eb509">FP_C41417_iszilch</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#adc38bc3e0a51491e50d823dd31569ccf">FP_C41417_zero</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a98a41609d809a930f9d2ae5a6b17c79c">FP_C41417_copy</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a40eb436cd44dc5eb4c788bf4b5a3382e">FP_C41417_rcopy</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<span class="keyword">const</span> <a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__C41417_8h.html#a5f3bd62b4281dac6b40ac2e23c5ec325">FP_C41417_equals</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__C41417_8h.html#a220f964ae8aec771fd2329867aed09f7">FP_C41417_cswap</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</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="fp__C41417_8h.html#a1c520c3c476863f5892d054462e51e18">FP_C41417_cmove</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</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="fp__C41417_8h.html#a42c9b8574570464972d0c9ced5ef78d1">FP_C41417_nres</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</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="fp__C41417_8h.html#a6d186ae4ff95a97fac11732a6a2b103e">FP_C41417_redc</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a8ce1d10d42ddbb47fd16b55e76bf44bb">FP_C41417_one</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#aef67089d8fc776b5a87f9bc44b8f1fb9">FP_C41417_mod</a>(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> r,<a class="code" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_C41417_modmul(<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__C41417_8h.html#a0ef72b28180096d3136392193a65c228">FP_C41417_mul</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *z);</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="fp__C41417_8h.html#a7cdba323e68c15fd6fedc2451ac508a3">FP_C41417_imul</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a41b035fd15cfe951b54e7bb279734a48">FP_C41417_sqr</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a2afb8e3b2236e38e3a2a69abab810c67">FP_C41417_add</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a244061f0ca1e166147e953282b615499">FP_C41417_sub</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="structFP__C41417.html">FP_C41417</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#af60423cb52cc8aeb29af224ca909a96a">FP_C41417_div2</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#ae25375eb62e4dc7f97aef194ed4b9544">FP_C41417_pow</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y,<a class="code" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#ab86c6a3177466c7c68ed5b874fa95223">FP_C41417_sqrt</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#abf05cda2119bdd21261e242c48a510ac">FP_C41417_neg</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a6a91ff5a875c41c12e6022a14fa39825">FP_C41417_output</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a4fffb5783439758397be6b423763987a">FP_C41417_rawoutput</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a336cde8e40d40a53b4b42223c62b4b0a">FP_C41417_reduce</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#a49ad11ca4aa16d9a6375c9ec223869e2">FP_C41417_norm</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__C41417_8h.html#aee261f3156bed92fda717853ed8b5993">FP_C41417_qr</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__C41417_8h.html#ad75aab9a1584522da2f814954a15bbc1">FP_C41417_inv</a>(<a class="code" href="structFP__C41417.html">FP_C41417</a> *x,<a class="code" href="structFP__C41417.html">FP_C41417</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__C41417_8h_html_a40eb436cd44dc5eb4c788bf4b5a3382e"><div class="ttname"><a href="fp__C41417_8h.html#a40eb436cd44dc5eb4c788bf4b5a3382e">FP_C41417_rcopy</a></div><div class="ttdeci">void FP_C41417_rcopy(FP_C41417 *y, const BIG_416_60 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:222</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a5f3bd62b4281dac6b40ac2e23c5ec325"><div class="ttname"><a href="fp__C41417_8h.html#a5f3bd62b4281dac6b40ac2e23c5ec325">FP_C41417_equals</a></div><div class="ttdeci">int FP_C41417_equals(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:257</div></div>
+<div class="ttc" id="fp__C41417_8h_html_ae25375eb62e4dc7f97aef194ed4b9544"><div class="ttname"><a href="fp__C41417_8h.html#ae25375eb62e4dc7f97aef194ed4b9544">FP_C41417_pow</a></div><div class="ttdeci">void FP_C41417_pow(FP_C41417 *x, FP_C41417 *y, BIG_416_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__C41417_8h_html_aef67089d8fc776b5a87f9bc44b8f1fb9"><div class="ttname"><a href="fp__C41417_8h.html#aef67089d8fc776b5a87f9bc44b8f1fb9">FP_C41417_mod</a></div><div class="ttdeci">void FP_C41417_mod(BIG_416_60 r, DBIG_416_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:103</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a4fffb5783439758397be6b423763987a"><div class="ttname"><a href="fp__C41417_8h.html#a4fffb5783439758397be6b423763987a">FP_C41417_rawoutput</a></div><div class="ttdeci">void FP_C41417_rawoutput(FP_C41417 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:277</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a220f964ae8aec771fd2329867aed09f7"><div class="ttname"><a href="fp__C41417_8h.html#a220f964ae8aec771fd2329867aed09f7">FP_C41417_cswap</a></div><div class="ttdeci">void FP_C41417_cswap(FP_C41417 *x, FP_C41417 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:230</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a0ef72b28180096d3136392193a65c228"><div class="ttname"><a href="fp__C41417_8h.html#a0ef72b28180096d3136392193a65c228">FP_C41417_mul</a></div><div class="ttdeci">void FP_C41417_mul(FP_C41417 *x, FP_C41417 *y, FP_C41417 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:297</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a7cdba323e68c15fd6fedc2451ac508a3"><div class="ttname"><a href="fp__C41417_8h.html#a7cdba323e68c15fd6fedc2451ac508a3">FP_C41417_imul</a></div><div class="ttdeci">void FP_C41417_imul(FP_C41417 *x, FP_C41417 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:321</div></div>
 <div class="ttc" id="big__416__60_8h_html_a5dc14d80e14a231cc3abf83d6bf47ab2"><div class="ttname"><a href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">DBIG_416_60</a></div><div class="ttdeci">chunk DBIG_416_60[DNLEN_416_60]</div><div class="ttdef"><b>Definition:</b> big_416_60.h:59</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a244061f0ca1e166147e953282b615499"><div class="ttname"><a href="fp__C41417_8h.html#a244061f0ca1e166147e953282b615499">FP_C41417_sub</a></div><div class="ttdeci">void FP_C41417_sub(FP_C41417 *x, FP_C41417 *y, FP_C41417 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:400</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a42c9b8574570464972d0c9ced5ef78d1"><div class="ttname"><a href="fp__C41417_8h.html#a42c9b8574570464972d0c9ced5ef78d1">FP_C41417_nres</a></div><div class="ttdeci">void FP_C41417_nres(FP_C41417 *y, BIG_416_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:90</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a244061f0ca1e166147e953282b615499"><div class="ttname"><a href="fp__C41417_8h.html#a244061f0ca1e166147e953282b615499">FP_C41417_sub</a></div><div class="ttdeci">void FP_C41417_sub(FP_C41417 *x, FP_C41417 *y, FP_C41417 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:400</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a42c9b8574570464972d0c9ced5ef78d1"><div class="ttname"><a href="fp__C41417_8h.html#a42c9b8574570464972d0c9ced5ef78d1">FP_C41417_nres</a></div><div class="ttdeci">void FP_C41417_nres(FP_C41417 *y, BIG_416_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:90</div></div>
 <div class="ttc" id="fp__C41417_8h_html_a32c5a293befbd4fd2071014bde077071"><div class="ttname"><a href="fp__C41417_8h.html#a32c5a293befbd4fd2071014bde077071">MConst_C41417</a></div><div class="ttdeci">const chunk MConst_C41417</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a6d186ae4ff95a97fac11732a6a2b103e"><div class="ttname"><a href="fp__C41417_8h.html#a6d186ae4ff95a97fac11732a6a2b103e">FP_C41417_redc</a></div><div class="ttdeci">void FP_C41417_redc(BIG_416_60 x, FP_C41417 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:97</div></div>
-<div class="ttc" id="fp__C41417_8h_html_abf05cda2119bdd21261e242c48a510ac"><div class="ttname"><a href="fp__C41417_8h.html#abf05cda2119bdd21261e242c48a510ac">FP_C41417_neg</a></div><div class="ttdeci">void FP_C41417_neg(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:491</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a6a91ff5a875c41c12e6022a14fa39825"><div class="ttname"><a href="fp__C41417_8h.html#a6a91ff5a875c41c12e6022a14fa39825">FP_C41417_output</a></div><div class="ttdeci">void FP_C41417_output(FP_C41417 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:270</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a6d186ae4ff95a97fac11732a6a2b103e"><div class="ttname"><a href="fp__C41417_8h.html#a6d186ae4ff95a97fac11732a6a2b103e">FP_C41417_redc</a></div><div class="ttdeci">void FP_C41417_redc(BIG_416_60 x, FP_C41417 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:97</div></div>
+<div class="ttc" id="fp__C41417_8h_html_abf05cda2119bdd21261e242c48a510ac"><div class="ttname"><a href="fp__C41417_8h.html#abf05cda2119bdd21261e242c48a510ac">FP_C41417_neg</a></div><div class="ttdeci">void FP_C41417_neg(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:491</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a6a91ff5a875c41c12e6022a14fa39825"><div class="ttname"><a href="fp__C41417_8h.html#a6a91ff5a875c41c12e6022a14fa39825">FP_C41417_output</a></div><div class="ttdeci">void FP_C41417_output(FP_C41417 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:270</div></div>
 <div class="ttc" id="fp__C41417_8h_html_a576d83a5e8fee7c8f2eea90151d9bc45"><div class="ttname"><a href="fp__C41417_8h.html#a576d83a5e8fee7c8f2eea90151d9bc45">R2modp_C41417</a></div><div class="ttdeci">const BIG_416_60 R2modp_C41417</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a8ce1d10d42ddbb47fd16b55e76bf44bb"><div class="ttname"><a href="fp__C41417_8h.html#a8ce1d10d42ddbb47fd16b55e76bf44bb">FP_C41417_one</a></div><div class="ttdeci">void FP_C41417_one(FP_C41417 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:723</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a98a41609d809a930f9d2ae5a6b17c79c"><div class="ttname"><a href="fp__C41417_8h.html#a98a41609d809a930f9d2ae5a6b17c79c">FP_C41417_copy</a></div><div class="ttdeci">void FP_C41417_copy(FP_C41417 *y, FP_C41417 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:216</div></div>
-<div class="ttc" id="fp__C41417_8h_html_ad75aab9a1584522da2f814954a15bbc1"><div class="ttname"><a href="fp__C41417_8h.html#ad75aab9a1584522da2f814954a15bbc1">FP_C41417_inv</a></div><div class="ttdeci">void FP_C41417_inv(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:648</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a41b035fd15cfe951b54e7bb279734a48"><div class="ttname"><a href="fp__C41417_8h.html#a41b035fd15cfe951b54e7bb279734a48">FP_C41417_sqr</a></div><div class="ttdeci">void FP_C41417_sqr(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:366</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a1c520c3c476863f5892d054462e51e18"><div class="ttname"><a href="fp__C41417_8h.html#a1c520c3c476863f5892d054462e51e18">FP_C41417_cmove</a></div><div class="ttdeci">void FP_C41417_cmove(FP_C41417 *x, FP_C41417 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:243</div></div>
-<div class="ttc" id="big__416__60_8h_html"><div class="ttname"><a href="big__416__60_8h.html">big_416_60.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a8ce1d10d42ddbb47fd16b55e76bf44bb"><div class="ttname"><a href="fp__C41417_8h.html#a8ce1d10d42ddbb47fd16b55e76bf44bb">FP_C41417_one</a></div><div class="ttdeci">void FP_C41417_one(FP_C41417 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:723</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a98a41609d809a930f9d2ae5a6b17c79c"><div class="ttname"><a href="fp__C41417_8h.html#a98a41609d809a930f9d2ae5a6b17c79c">FP_C41417_copy</a></div><div class="ttdeci">void FP_C41417_copy(FP_C41417 *y, FP_C41417 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:216</div></div>
+<div class="ttc" id="fp__C41417_8h_html_ad75aab9a1584522da2f814954a15bbc1"><div class="ttname"><a href="fp__C41417_8h.html#ad75aab9a1584522da2f814954a15bbc1">FP_C41417_inv</a></div><div class="ttdeci">void FP_C41417_inv(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:648</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a41b035fd15cfe951b54e7bb279734a48"><div class="ttname"><a href="fp__C41417_8h.html#a41b035fd15cfe951b54e7bb279734a48">FP_C41417_sqr</a></div><div class="ttdeci">void FP_C41417_sqr(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:366</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a1c520c3c476863f5892d054462e51e18"><div class="ttname"><a href="fp__C41417_8h.html#a1c520c3c476863f5892d054462e51e18">FP_C41417_cmove</a></div><div class="ttdeci">void FP_C41417_cmove(FP_C41417 *x, FP_C41417 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:243</div></div>
+<div class="ttc" id="big__416__60_8h_html"><div class="ttname"><a href="big__416__60_8h.html">big_416_60.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="structFP__C41417_html_a1feed9369d9e446c27067311c6db2dfc"><div class="ttname"><a href="structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc">FP_C41417::g</a></div><div class="ttdeci">BIG_416_60 g</div><div class="ttdef"><b>Definition:</b> fp_C41417.h:40</div></div>
 <div class="ttc" id="structFP__C41417_html_a1c1267597d618ce744df127c334c6b76"><div class="ttname"><a href="structFP__C41417.html#a1c1267597d618ce744df127c334c6b76">FP_C41417::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_C41417.h:41</div></div>
 <div class="ttc" id="big__416__60_8h_html_a44dd6638775981360035b72d63fa739b"><div class="ttname"><a href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">BIG_416_60</a></div><div class="ttdeci">chunk BIG_416_60[NLEN_416_60]</div><div class="ttdef"><b>Definition:</b> big_416_60.h:58</div></div>
-<div class="ttc" id="fp__C41417_8h_html_adc38bc3e0a51491e50d823dd31569ccf"><div class="ttname"><a href="fp__C41417_8h.html#adc38bc3e0a51491e50d823dd31569ccf">FP_C41417_zero</a></div><div class="ttdeci">void FP_C41417_zero(FP_C41417 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:251</div></div>
+<div class="ttc" id="fp__C41417_8h_html_adc38bc3e0a51491e50d823dd31569ccf"><div class="ttname"><a href="fp__C41417_8h.html#adc38bc3e0a51491e50d823dd31569ccf">FP_C41417_zero</a></div><div class="ttdeci">void FP_C41417_zero(FP_C41417 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:251</div></div>
 <div class="ttc" id="fp__C41417_8h_html_a357e532a9c95510513e436b4ff8d1526"><div class="ttname"><a href="fp__C41417_8h.html#a357e532a9c95510513e436b4ff8d1526">Modulus_C41417</a></div><div class="ttdeci">const BIG_416_60 Modulus_C41417</div></div>
-<div class="ttc" id="structFP__C41417_html"><div class="ttname"><a href="structFP__C41417.html">FP_C41417</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_C41417.h:38</div></div>
-<div class="ttc" id="fp__C41417_8h_html_ac404ee1abaf67cfc4bb1cb7ca46eb509"><div class="ttname"><a href="fp__C41417_8h.html#ac404ee1abaf67cfc4bb1cb7ca46eb509">FP_C41417_iszilch</a></div><div class="ttdeci">int FP_C41417_iszilch(FP_C41417 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:207</div></div>
-<div class="ttc" id="fp__C41417_8h_html_ab86c6a3177466c7c68ed5b874fa95223"><div class="ttname"><a href="fp__C41417_8h.html#ab86c6a3177466c7c68ed5b874fa95223">FP_C41417_sqrt</a></div><div class="ttdeci">void FP_C41417_sqrt(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:747</div></div>
+<div class="ttc" id="structFP__C41417_html"><div class="ttname"><a href="structFP__C41417.html">FP_C41417</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_C41417.h:38</div></div>
+<div class="ttc" id="fp__C41417_8h_html_ac404ee1abaf67cfc4bb1cb7ca46eb509"><div class="ttname"><a href="fp__C41417_8h.html#ac404ee1abaf67cfc4bb1cb7ca46eb509">FP_C41417_iszilch</a></div><div class="ttdeci">int FP_C41417_iszilch(FP_C41417 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:207</div></div>
+<div class="ttc" id="fp__C41417_8h_html_ab86c6a3177466c7c68ed5b874fa95223"><div class="ttname"><a href="fp__C41417_8h.html#ab86c6a3177466c7c68ed5b874fa95223">FP_C41417_sqrt</a></div><div class="ttdeci">void FP_C41417_sqrt(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:747</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a2afb8e3b2236e38e3a2a69abab810c67"><div class="ttname"><a href="fp__C41417_8h.html#a2afb8e3b2236e38e3a2a69abab810c67">FP_C41417_add</a></div><div class="ttdeci">void FP_C41417_add(FP_C41417 *x, FP_C41417 *y, FP_C41417 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:385</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a49ad11ca4aa16d9a6375c9ec223869e2"><div class="ttname"><a href="fp__C41417_8h.html#a49ad11ca4aa16d9a6375c9ec223869e2">FP_C41417_norm</a></div><div class="ttdeci">void FP_C41417_norm(FP_C41417 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:484</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a2afb8e3b2236e38e3a2a69abab810c67"><div class="ttname"><a href="fp__C41417_8h.html#a2afb8e3b2236e38e3a2a69abab810c67">FP_C41417_add</a></div><div class="ttdeci">void FP_C41417_add(FP_C41417 *x, FP_C41417 *y, FP_C41417 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:385</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a49ad11ca4aa16d9a6375c9ec223869e2"><div class="ttname"><a href="fp__C41417_8h.html#a49ad11ca4aa16d9a6375c9ec223869e2">FP_C41417_norm</a></div><div class="ttdeci">void FP_C41417_norm(FP_C41417 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:484</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="fp__C41417_8h_html_aee261f3156bed92fda717853ed8b5993"><div class="ttname"><a href="fp__C41417_8h.html#aee261f3156bed92fda717853ed8b5993">FP_C41417_qr</a></div><div class="ttdeci">int FP_C41417_qr(FP_C41417 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:731</div></div>
-<div class="ttc" id="fp__C41417_8h_html_a336cde8e40d40a53b4b42223c62b4b0a"><div class="ttname"><a href="fp__C41417_8h.html#a336cde8e40d40a53b4b42223c62b4b0a">FP_C41417_reduce</a></div><div class="ttdeci">void FP_C41417_reduce(FP_C41417 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:449</div></div>
-<div class="ttc" id="fp__C41417_8h_html_af60423cb52cc8aeb29af224ca909a96a"><div class="ttname"><a href="fp__C41417_8h.html#af60423cb52cc8aeb29af224ca909a96a">FP_C41417_div2</a></div><div class="ttdeci">void FP_C41417_div2(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_C41417.c:515</div></div>
+<div class="ttc" id="fp__C41417_8h_html_aee261f3156bed92fda717853ed8b5993"><div class="ttname"><a href="fp__C41417_8h.html#aee261f3156bed92fda717853ed8b5993">FP_C41417_qr</a></div><div class="ttdeci">int FP_C41417_qr(FP_C41417 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:731</div></div>
+<div class="ttc" id="fp__C41417_8h_html_a336cde8e40d40a53b4b42223c62b4b0a"><div class="ttname"><a href="fp__C41417_8h.html#a336cde8e40d40a53b4b42223c62b4b0a">FP_C41417_reduce</a></div><div class="ttdeci">void FP_C41417_reduce(FP_C41417 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:449</div></div>
+<div class="ttc" id="fp__C41417_8h_html_af60423cb52cc8aeb29af224ca909a96a"><div class="ttname"><a href="fp__C41417_8h.html#af60423cb52cc8aeb29af224ca909a96a">FP_C41417_div2</a></div><div class="ttdeci">void FP_C41417_div2(FP_C41417 *x, FP_C41417 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_C41417.c:515</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/fp__FP256BN_8h.html b/website/static/cdocs/fp__FP256BN_8h.html
index e0347e0..b528d71 100644
--- a/website/static/cdocs/fp__FP256BN_8h.html
+++ b/website/static/cdocs/fp__FP256BN_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: fp_FP256BN.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"
@@ -1195,7 +1198,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/fp__FP256BN_8h_source.html b/website/static/cdocs/fp__FP256BN_8h_source.html
index 9539291..a6eb694 100644
--- a/website/static/cdocs/fp__FP256BN_8h_source.html
+++ b/website/static/cdocs/fp__FP256BN_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: fp_FP256BN.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,49 +72,49 @@
 <div class="title">fp_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__FP256BN_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 FP_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_FP256BN_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__FP256BN.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__FP256BN.html#afa3675d3b6ff86353e5b21a71680388b">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__FP256BN.html#afa3675d3b6ff86353e5b21a71680388b">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__FP256BN_8h.html#ad286f94996863e6fc9f938edd49feb89">Modulus_FP256BN</a>;        </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__FP256BN_8h.html#a49d238ef1bf42970d78b00125cba705d">R2modp_FP256BN</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__FP256BN_8h.html#a8ec8051d3784e81416f7f7fbfa8832d1">MConst_FP256BN</a>;              </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a82f13f052447ca321643ddb55237f648">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_FP256BN MBITS_FP256BN                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a2ab6d357e0495698938e647d36f5b632">   52</a></span>&#160;<span class="preprocessor">#define TBITS_FP256BN (MBITS_FP256BN%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a4ed3f53ad32503f7b3598d17e1ea4f32">   53</a></span>&#160;<span class="preprocessor">#define TMASK_FP256BN (((chunk)1&lt;&lt;TBITS_FP256BN)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a372e83e45275e6bb50b2a6c745669301">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_FP256BN (((sign32)1&lt;&lt;MAXXES_FP256BN)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#ab3bcf2ff9556f47af0a48823f9889f24">   55</a></span>&#160;<span class="preprocessor">#define OMASK_FP256BN (-((chunk)(1)&lt;&lt;TBITS_FP256BN))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP256BN_8h.html#acd652b64a6f35e70c5572cc11f0c8740">FP_FP256BN_iszilch</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#af86fa5665f7d94147014130956dc3550">FP_FP256BN_zero</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#aadc8438bfe90bba61ac8de469ff97f68">FP_FP256BN_copy</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a69a36585cb5a48596c8544d95457642a">FP_FP256BN_rcopy</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP256BN_8h.html#a01beef374daa2d23f9c5af74d3e7c6cd">FP_FP256BN_equals</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__FP256BN_8h.html#a10f623f2d19faea489482fb5979d07da">FP_FP256BN_cswap</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</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="fp__FP256BN_8h.html#a5e9a61b3ba2334b5d33b1f6642415a85">FP_FP256BN_cmove</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</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="fp__FP256BN_8h.html#abdfe833750aea47df02efa319a7ae487">FP_FP256BN_nres</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__FP256BN_8h.html#aae69d75055ff8701f0869f67fa76cd6d">FP_FP256BN_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a545e6a5ed6782a017300eecc538edd9d">FP_FP256BN_one</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a2e92c399d5f7dfe58f0a6b2e53546399">FP_FP256BN_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_FP256BN_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__FP256BN_8h.html#ad94f163708b53e580dfd373b083ea44d">FP_FP256BN_mul</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *z);</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="fp__FP256BN_8h.html#aa3db30fb03663d5f7678f132314361dd">FP_FP256BN_imul</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a89878611dafda51fe3aed40edcf7d275">FP_FP256BN_sqr</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a9d093793a1728b2c60a65ee2227c1b93">FP_FP256BN_add</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a63d350d31385ffcf62682bdd378b449b">FP_FP256BN_sub</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a068d568ef4cbea9efa112a0d38172341">FP_FP256BN_div2</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ad9970b37008d97337929edfd506dbfb1">FP_FP256BN_pow</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ac17269c4f722e30dfa7e19cc2e23c057">FP_FP256BN_sqrt</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ab87b4b81f45f7e0979507287065abff9">FP_FP256BN_neg</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a48f9ecf90bfb1ec3662e3ffe3d6a6fab">FP_FP256BN_output</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#af4a1491066b5808d48d144952c74229f">FP_FP256BN_rawoutput</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ab78574425e1ae58101d4af57519da2c1">FP_FP256BN_reduce</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ace8b59627f68804cb56d83c97325384b">FP_FP256BN_norm</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP256BN_8h.html#ae8441cc9ef5edfa2b0ce6931ff6f3ea3">FP_FP256BN_qr</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a4745ffcdab6f14b908e35ea16c4d48f8">FP_FP256BN_inv</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__FP256BN_8h_html_ab87b4b81f45f7e0979507287065abff9"><div class="ttname"><a href="fp__FP256BN_8h.html#ab87b4b81f45f7e0979507287065abff9">FP_FP256BN_neg</a></div><div class="ttdeci">void FP_FP256BN_neg(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:491</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_aae69d75055ff8701f0869f67fa76cd6d"><div class="ttname"><a href="fp__FP256BN_8h.html#aae69d75055ff8701f0869f67fa76cd6d">FP_FP256BN_redc</a></div><div class="ttdeci">void FP_FP256BN_redc(BIG_256_56 x, FP_FP256BN *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:97</div></div>
+<a href="fp__FP256BN_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 FP_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_FP256BN_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_FP256BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__FP256BN.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__FP256BN.html#afa3675d3b6ff86353e5b21a71680388b">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__FP256BN.html#afa3675d3b6ff86353e5b21a71680388b">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__FP256BN.html">FP_FP256BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__FP256BN_8h.html#ad286f94996863e6fc9f938edd49feb89">Modulus_FP256BN</a>;    </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__FP256BN_8h.html#a49d238ef1bf42970d78b00125cba705d">R2modp_FP256BN</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__FP256BN_8h.html#a8ec8051d3784e81416f7f7fbfa8832d1">MConst_FP256BN</a>;      </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a82f13f052447ca321643ddb55237f648">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_FP256BN MBITS_FP256BN                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a2ab6d357e0495698938e647d36f5b632">   52</a></span>&#160;<span class="preprocessor">#define TBITS_FP256BN (MBITS_FP256BN%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a4ed3f53ad32503f7b3598d17e1ea4f32">   53</a></span>&#160;<span class="preprocessor">#define TMASK_FP256BN (((chunk)1&lt;&lt;TBITS_FP256BN)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#a372e83e45275e6bb50b2a6c745669301">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_FP256BN (((sign32)1&lt;&lt;MAXXES_FP256BN)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__FP256BN_8h.html#ab3bcf2ff9556f47af0a48823f9889f24">   55</a></span>&#160;<span class="preprocessor">#define OMASK_FP256BN (-((chunk)(1)&lt;&lt;TBITS_FP256BN))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP256BN_8h.html#acd652b64a6f35e70c5572cc11f0c8740">FP_FP256BN_iszilch</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#af86fa5665f7d94147014130956dc3550">FP_FP256BN_zero</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#aadc8438bfe90bba61ac8de469ff97f68">FP_FP256BN_copy</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a69a36585cb5a48596c8544d95457642a">FP_FP256BN_rcopy</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP256BN_8h.html#a01beef374daa2d23f9c5af74d3e7c6cd">FP_FP256BN_equals</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__FP256BN_8h.html#a10f623f2d19faea489482fb5979d07da">FP_FP256BN_cswap</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</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="fp__FP256BN_8h.html#a5e9a61b3ba2334b5d33b1f6642415a85">FP_FP256BN_cmove</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</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="fp__FP256BN_8h.html#abdfe833750aea47df02efa319a7ae487">FP_FP256BN_nres</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__FP256BN_8h.html#aae69d75055ff8701f0869f67fa76cd6d">FP_FP256BN_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a545e6a5ed6782a017300eecc538edd9d">FP_FP256BN_one</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a2e92c399d5f7dfe58f0a6b2e53546399">FP_FP256BN_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_FP256BN_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__FP256BN_8h.html#ad94f163708b53e580dfd373b083ea44d">FP_FP256BN_mul</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *z);</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="fp__FP256BN_8h.html#aa3db30fb03663d5f7678f132314361dd">FP_FP256BN_imul</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a89878611dafda51fe3aed40edcf7d275">FP_FP256BN_sqr</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a9d093793a1728b2c60a65ee2227c1b93">FP_FP256BN_add</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a63d350d31385ffcf62682bdd378b449b">FP_FP256BN_sub</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a068d568ef4cbea9efa112a0d38172341">FP_FP256BN_div2</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ad9970b37008d97337929edfd506dbfb1">FP_FP256BN_pow</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ac17269c4f722e30dfa7e19cc2e23c057">FP_FP256BN_sqrt</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ab87b4b81f45f7e0979507287065abff9">FP_FP256BN_neg</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a48f9ecf90bfb1ec3662e3ffe3d6a6fab">FP_FP256BN_output</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#af4a1491066b5808d48d144952c74229f">FP_FP256BN_rawoutput</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ab78574425e1ae58101d4af57519da2c1">FP_FP256BN_reduce</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#ace8b59627f68804cb56d83c97325384b">FP_FP256BN_norm</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP256BN_8h.html#ae8441cc9ef5edfa2b0ce6931ff6f3ea3">FP_FP256BN_qr</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP256BN_8h.html#a4745ffcdab6f14b908e35ea16c4d48f8">FP_FP256BN_inv</a>(<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *x,<a class="code" href="structFP__FP256BN.html">FP_FP256BN</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__FP256BN_8h_html_ab87b4b81f45f7e0979507287065abff9"><div class="ttname"><a href="fp__FP256BN_8h.html#ab87b4b81f45f7e0979507287065abff9">FP_FP256BN_neg</a></div><div class="ttdeci">void FP_FP256BN_neg(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:491</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_aae69d75055ff8701f0869f67fa76cd6d"><div class="ttname"><a href="fp__FP256BN_8h.html#aae69d75055ff8701f0869f67fa76cd6d">FP_FP256BN_redc</a></div><div class="ttdeci">void FP_FP256BN_redc(BIG_256_56 x, FP_FP256BN *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:97</div></div>
 <div class="ttc" id="fp__FP256BN_8h_html_ad286f94996863e6fc9f938edd49feb89"><div class="ttname"><a href="fp__FP256BN_8h.html#ad286f94996863e6fc9f938edd49feb89">Modulus_FP256BN</a></div><div class="ttdeci">const BIG_256_56 Modulus_FP256BN</div></div>
 <div class="ttc" id="fp__FP256BN_8h_html_a8ec8051d3784e81416f7f7fbfa8832d1"><div class="ttname"><a href="fp__FP256BN_8h.html#a8ec8051d3784e81416f7f7fbfa8832d1">MConst_FP256BN</a></div><div class="ttdeci">const chunk MConst_FP256BN</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_abdfe833750aea47df02efa319a7ae487"><div class="ttname"><a href="fp__FP256BN_8h.html#abdfe833750aea47df02efa319a7ae487">FP_FP256BN_nres</a></div><div class="ttdeci">void FP_FP256BN_nres(FP_FP256BN *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:90</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a48f9ecf90bfb1ec3662e3ffe3d6a6fab"><div class="ttname"><a href="fp__FP256BN_8h.html#a48f9ecf90bfb1ec3662e3ffe3d6a6fab">FP_FP256BN_output</a></div><div class="ttdeci">void FP_FP256BN_output(FP_FP256BN *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:270</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_af86fa5665f7d94147014130956dc3550"><div class="ttname"><a href="fp__FP256BN_8h.html#af86fa5665f7d94147014130956dc3550">FP_FP256BN_zero</a></div><div class="ttdeci">void FP_FP256BN_zero(FP_FP256BN *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:251</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_ad94f163708b53e580dfd373b083ea44d"><div class="ttname"><a href="fp__FP256BN_8h.html#ad94f163708b53e580dfd373b083ea44d">FP_FP256BN_mul</a></div><div class="ttdeci">void FP_FP256BN_mul(FP_FP256BN *x, FP_FP256BN *y, FP_FP256BN *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:297</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_aadc8438bfe90bba61ac8de469ff97f68"><div class="ttname"><a href="fp__FP256BN_8h.html#aadc8438bfe90bba61ac8de469ff97f68">FP_FP256BN_copy</a></div><div class="ttdeci">void FP_FP256BN_copy(FP_FP256BN *y, FP_FP256BN *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:216</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a068d568ef4cbea9efa112a0d38172341"><div class="ttname"><a href="fp__FP256BN_8h.html#a068d568ef4cbea9efa112a0d38172341">FP_FP256BN_div2</a></div><div class="ttdeci">void FP_FP256BN_div2(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:515</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_abdfe833750aea47df02efa319a7ae487"><div class="ttname"><a href="fp__FP256BN_8h.html#abdfe833750aea47df02efa319a7ae487">FP_FP256BN_nres</a></div><div class="ttdeci">void FP_FP256BN_nres(FP_FP256BN *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:90</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a48f9ecf90bfb1ec3662e3ffe3d6a6fab"><div class="ttname"><a href="fp__FP256BN_8h.html#a48f9ecf90bfb1ec3662e3ffe3d6a6fab">FP_FP256BN_output</a></div><div class="ttdeci">void FP_FP256BN_output(FP_FP256BN *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:270</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_af86fa5665f7d94147014130956dc3550"><div class="ttname"><a href="fp__FP256BN_8h.html#af86fa5665f7d94147014130956dc3550">FP_FP256BN_zero</a></div><div class="ttdeci">void FP_FP256BN_zero(FP_FP256BN *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:251</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_ad94f163708b53e580dfd373b083ea44d"><div class="ttname"><a href="fp__FP256BN_8h.html#ad94f163708b53e580dfd373b083ea44d">FP_FP256BN_mul</a></div><div class="ttdeci">void FP_FP256BN_mul(FP_FP256BN *x, FP_FP256BN *y, FP_FP256BN *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:297</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_aadc8438bfe90bba61ac8de469ff97f68"><div class="ttname"><a href="fp__FP256BN_8h.html#aadc8438bfe90bba61ac8de469ff97f68">FP_FP256BN_copy</a></div><div class="ttdeci">void FP_FP256BN_copy(FP_FP256BN *y, FP_FP256BN *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:216</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a068d568ef4cbea9efa112a0d38172341"><div class="ttname"><a href="fp__FP256BN_8h.html#a068d568ef4cbea9efa112a0d38172341">FP_FP256BN_div2</a></div><div class="ttdeci">void FP_FP256BN_div2(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:515</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a545e6a5ed6782a017300eecc538edd9d"><div class="ttname"><a href="fp__FP256BN_8h.html#a545e6a5ed6782a017300eecc538edd9d">FP_FP256BN_one</a></div><div class="ttdeci">void FP_FP256BN_one(FP_FP256BN *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:723</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_ace8b59627f68804cb56d83c97325384b"><div class="ttname"><a href="fp__FP256BN_8h.html#ace8b59627f68804cb56d83c97325384b">FP_FP256BN_norm</a></div><div class="ttdeci">void FP_FP256BN_norm(FP_FP256BN *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:484</div></div>
-<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_ac17269c4f722e30dfa7e19cc2e23c057"><div class="ttname"><a href="fp__FP256BN_8h.html#ac17269c4f722e30dfa7e19cc2e23c057">FP_FP256BN_sqrt</a></div><div class="ttdeci">void FP_FP256BN_sqrt(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:747</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_ae8441cc9ef5edfa2b0ce6931ff6f3ea3"><div class="ttname"><a href="fp__FP256BN_8h.html#ae8441cc9ef5edfa2b0ce6931ff6f3ea3">FP_FP256BN_qr</a></div><div class="ttdeci">int FP_FP256BN_qr(FP_FP256BN *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:731</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_ab78574425e1ae58101d4af57519da2c1"><div class="ttname"><a href="fp__FP256BN_8h.html#ab78574425e1ae58101d4af57519da2c1">FP_FP256BN_reduce</a></div><div class="ttdeci">void FP_FP256BN_reduce(FP_FP256BN *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:449</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a01beef374daa2d23f9c5af74d3e7c6cd"><div class="ttname"><a href="fp__FP256BN_8h.html#a01beef374daa2d23f9c5af74d3e7c6cd">FP_FP256BN_equals</a></div><div class="ttdeci">int FP_FP256BN_equals(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:257</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_aa3db30fb03663d5f7678f132314361dd"><div class="ttname"><a href="fp__FP256BN_8h.html#aa3db30fb03663d5f7678f132314361dd">FP_FP256BN_imul</a></div><div class="ttdeci">void FP_FP256BN_imul(FP_FP256BN *x, FP_FP256BN *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:321</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a63d350d31385ffcf62682bdd378b449b"><div class="ttname"><a href="fp__FP256BN_8h.html#a63d350d31385ffcf62682bdd378b449b">FP_FP256BN_sub</a></div><div class="ttdeci">void FP_FP256BN_sub(FP_FP256BN *x, FP_FP256BN *y, FP_FP256BN *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:400</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a545e6a5ed6782a017300eecc538edd9d"><div class="ttname"><a href="fp__FP256BN_8h.html#a545e6a5ed6782a017300eecc538edd9d">FP_FP256BN_one</a></div><div class="ttdeci">void FP_FP256BN_one(FP_FP256BN *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:723</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_ace8b59627f68804cb56d83c97325384b"><div class="ttname"><a href="fp__FP256BN_8h.html#ace8b59627f68804cb56d83c97325384b">FP_FP256BN_norm</a></div><div class="ttdeci">void FP_FP256BN_norm(FP_FP256BN *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:484</div></div>
+<div class="ttc" id="structFP__FP256BN_html"><div class="ttname"><a href="structFP__FP256BN.html">FP_FP256BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:38</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_ac17269c4f722e30dfa7e19cc2e23c057"><div class="ttname"><a href="fp__FP256BN_8h.html#ac17269c4f722e30dfa7e19cc2e23c057">FP_FP256BN_sqrt</a></div><div class="ttdeci">void FP_FP256BN_sqrt(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:747</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_ae8441cc9ef5edfa2b0ce6931ff6f3ea3"><div class="ttname"><a href="fp__FP256BN_8h.html#ae8441cc9ef5edfa2b0ce6931ff6f3ea3">FP_FP256BN_qr</a></div><div class="ttdeci">int FP_FP256BN_qr(FP_FP256BN *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:731</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_ab78574425e1ae58101d4af57519da2c1"><div class="ttname"><a href="fp__FP256BN_8h.html#ab78574425e1ae58101d4af57519da2c1">FP_FP256BN_reduce</a></div><div class="ttdeci">void FP_FP256BN_reduce(FP_FP256BN *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:449</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a01beef374daa2d23f9c5af74d3e7c6cd"><div class="ttname"><a href="fp__FP256BN_8h.html#a01beef374daa2d23f9c5af74d3e7c6cd">FP_FP256BN_equals</a></div><div class="ttdeci">int FP_FP256BN_equals(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:257</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_aa3db30fb03663d5f7678f132314361dd"><div class="ttname"><a href="fp__FP256BN_8h.html#aa3db30fb03663d5f7678f132314361dd">FP_FP256BN_imul</a></div><div class="ttdeci">void FP_FP256BN_imul(FP_FP256BN *x, FP_FP256BN *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:321</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a63d350d31385ffcf62682bdd378b449b"><div class="ttname"><a href="fp__FP256BN_8h.html#a63d350d31385ffcf62682bdd378b449b">FP_FP256BN_sub</a></div><div class="ttdeci">void FP_FP256BN_sub(FP_FP256BN *x, FP_FP256BN *y, FP_FP256BN *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:400</div></div>
 <div class="ttc" id="structFP__FP256BN_html_a1735d0f268cdecd1e0c380f161152f16"><div class="ttname"><a href="structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16">FP_FP256BN::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:40</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a4745ffcdab6f14b908e35ea16c4d48f8"><div class="ttname"><a href="fp__FP256BN_8h.html#a4745ffcdab6f14b908e35ea16c4d48f8">FP_FP256BN_inv</a></div><div class="ttdeci">void FP_FP256BN_inv(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:648</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a4745ffcdab6f14b908e35ea16c4d48f8"><div class="ttname"><a href="fp__FP256BN_8h.html#a4745ffcdab6f14b908e35ea16c4d48f8">FP_FP256BN_inv</a></div><div class="ttdeci">void FP_FP256BN_inv(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:648</div></div>
 <div class="ttc" id="structFP__FP256BN_html_afa3675d3b6ff86353e5b21a71680388b"><div class="ttname"><a href="structFP__FP256BN.html#afa3675d3b6ff86353e5b21a71680388b">FP_FP256BN::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.h:41</div></div>
 <div class="ttc" id="fp__FP256BN_8h_html_a49d238ef1bf42970d78b00125cba705d"><div class="ttname"><a href="fp__FP256BN_8h.html#a49d238ef1bf42970d78b00125cba705d">R2modp_FP256BN</a></div><div class="ttdeci">const BIG_256_56 R2modp_FP256BN</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a69a36585cb5a48596c8544d95457642a"><div class="ttname"><a href="fp__FP256BN_8h.html#a69a36585cb5a48596c8544d95457642a">FP_FP256BN_rcopy</a></div><div class="ttdeci">void FP_FP256BN_rcopy(FP_FP256BN *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:222</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_af4a1491066b5808d48d144952c74229f"><div class="ttname"><a href="fp__FP256BN_8h.html#af4a1491066b5808d48d144952c74229f">FP_FP256BN_rawoutput</a></div><div class="ttdeci">void FP_FP256BN_rawoutput(FP_FP256BN *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:277</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a2e92c399d5f7dfe58f0a6b2e53546399"><div class="ttname"><a href="fp__FP256BN_8h.html#a2e92c399d5f7dfe58f0a6b2e53546399">FP_FP256BN_mod</a></div><div class="ttdeci">void FP_FP256BN_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:103</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a10f623f2d19faea489482fb5979d07da"><div class="ttname"><a href="fp__FP256BN_8h.html#a10f623f2d19faea489482fb5979d07da">FP_FP256BN_cswap</a></div><div class="ttdeci">void FP_FP256BN_cswap(FP_FP256BN *x, FP_FP256BN *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:230</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a69a36585cb5a48596c8544d95457642a"><div class="ttname"><a href="fp__FP256BN_8h.html#a69a36585cb5a48596c8544d95457642a">FP_FP256BN_rcopy</a></div><div class="ttdeci">void FP_FP256BN_rcopy(FP_FP256BN *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:222</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_af4a1491066b5808d48d144952c74229f"><div class="ttname"><a href="fp__FP256BN_8h.html#af4a1491066b5808d48d144952c74229f">FP_FP256BN_rawoutput</a></div><div class="ttdeci">void FP_FP256BN_rawoutput(FP_FP256BN *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:277</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a2e92c399d5f7dfe58f0a6b2e53546399"><div class="ttname"><a href="fp__FP256BN_8h.html#a2e92c399d5f7dfe58f0a6b2e53546399">FP_FP256BN_mod</a></div><div class="ttdeci">void FP_FP256BN_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:103</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a10f623f2d19faea489482fb5979d07da"><div class="ttname"><a href="fp__FP256BN_8h.html#a10f623f2d19faea489482fb5979d07da">FP_FP256BN_cswap</a></div><div class="ttdeci">void FP_FP256BN_cswap(FP_FP256BN *x, FP_FP256BN *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:230</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_ad9970b37008d97337929edfd506dbfb1"><div class="ttname"><a href="fp__FP256BN_8h.html#ad9970b37008d97337929edfd506dbfb1">FP_FP256BN_pow</a></div><div class="ttdeci">void FP_FP256BN_pow(FP_FP256BN *x, FP_FP256BN *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a5e9a61b3ba2334b5d33b1f6642415a85"><div class="ttname"><a href="fp__FP256BN_8h.html#a5e9a61b3ba2334b5d33b1f6642415a85">FP_FP256BN_cmove</a></div><div class="ttdeci">void FP_FP256BN_cmove(FP_FP256BN *x, FP_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:243</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a9d093793a1728b2c60a65ee2227c1b93"><div class="ttname"><a href="fp__FP256BN_8h.html#a9d093793a1728b2c60a65ee2227c1b93">FP_FP256BN_add</a></div><div class="ttdeci">void FP_FP256BN_add(FP_FP256BN *x, FP_FP256BN *y, FP_FP256BN *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:385</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_ad9970b37008d97337929edfd506dbfb1"><div class="ttname"><a href="fp__FP256BN_8h.html#ad9970b37008d97337929edfd506dbfb1">FP_FP256BN_pow</a></div><div class="ttdeci">void FP_FP256BN_pow(FP_FP256BN *x, FP_FP256BN *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a5e9a61b3ba2334b5d33b1f6642415a85"><div class="ttname"><a href="fp__FP256BN_8h.html#a5e9a61b3ba2334b5d33b1f6642415a85">FP_FP256BN_cmove</a></div><div class="ttdeci">void FP_FP256BN_cmove(FP_FP256BN *x, FP_FP256BN *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:243</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a9d093793a1728b2c60a65ee2227c1b93"><div class="ttname"><a href="fp__FP256BN_8h.html#a9d093793a1728b2c60a65ee2227c1b93">FP_FP256BN_add</a></div><div class="ttdeci">void FP_FP256BN_add(FP_FP256BN *x, FP_FP256BN *y, FP_FP256BN *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:385</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</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="fp__FP256BN_8h_html_acd652b64a6f35e70c5572cc11f0c8740"><div class="ttname"><a href="fp__FP256BN_8h.html#acd652b64a6f35e70c5572cc11f0c8740">FP_FP256BN_iszilch</a></div><div class="ttdeci">int FP_FP256BN_iszilch(FP_FP256BN *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:207</div></div>
-<div class="ttc" id="fp__FP256BN_8h_html_a89878611dafda51fe3aed40edcf7d275"><div class="ttname"><a href="fp__FP256BN_8h.html#a89878611dafda51fe3aed40edcf7d275">FP_FP256BN_sqr</a></div><div class="ttdeci">void FP_FP256BN_sqr(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:366</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_acd652b64a6f35e70c5572cc11f0c8740"><div class="ttname"><a href="fp__FP256BN_8h.html#acd652b64a6f35e70c5572cc11f0c8740">FP_FP256BN_iszilch</a></div><div class="ttdeci">int FP_FP256BN_iszilch(FP_FP256BN *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:207</div></div>
+<div class="ttc" id="fp__FP256BN_8h_html_a89878611dafda51fe3aed40edcf7d275"><div class="ttname"><a href="fp__FP256BN_8h.html#a89878611dafda51fe3aed40edcf7d275">FP_FP256BN_sqr</a></div><div class="ttdeci">void FP_FP256BN_sqr(FP_FP256BN *x, FP_FP256BN *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP256BN.c:366</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/fp__FP512BN_8h.html b/website/static/cdocs/fp__FP512BN_8h.html
index d1371f3..2394de9 100644
--- a/website/static/cdocs/fp__FP512BN_8h.html
+++ b/website/static/cdocs/fp__FP512BN_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: fp_FP512BN.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"
@@ -1195,7 +1198,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/fp__FP512BN_8h_source.html b/website/static/cdocs/fp__FP512BN_8h_source.html
index e5da0f9..fafd7aa 100644
--- a/website/static/cdocs/fp__FP512BN_8h_source.html
+++ b/website/static/cdocs/fp__FP512BN_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: fp_FP512BN.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,49 +72,49 @@
 <div class="title">fp_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__FP512BN_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 FP_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_FP512BN_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 &quot;<a class="code" href="big__512__60_8h.html">big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__FP512BN.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333">   40</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__FP512BN.html#a10e9ba2b4236f74f885908cb2d48bdb8">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__FP512BN.html#a10e9ba2b4236f74f885908cb2d48bdb8">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp__FP512BN_8h.html#a1ac63c30aa313ffc24804012ebf601a1">Modulus_FP512BN</a>;        </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp__FP512BN_8h.html#a2e685fadb624c544835d07a150c155f0">R2modp_FP512BN</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__FP512BN_8h.html#a66d16b2502bfbe2e029a0abf0a723ef9">MConst_FP512BN</a>;              </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#a6906efbef9c22d76d7c54f08526fa03b">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_FP512BN MBITS_FP512BN                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#a273b9a24d64825108fe9fd4b0b339dac">   52</a></span>&#160;<span class="preprocessor">#define TBITS_FP512BN (MBITS_FP512BN%BASEBITS_512_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#afae9d41693ce5163d05c7fae731f47a0">   53</a></span>&#160;<span class="preprocessor">#define TMASK_FP512BN (((chunk)1&lt;&lt;TBITS_FP512BN)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#a9732b39339b24f218fd115b563ef0394">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_FP512BN (((sign32)1&lt;&lt;MAXXES_FP512BN)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#af4a011e2dcb439904a6cb7573e1dd69a">   55</a></span>&#160;<span class="preprocessor">#define OMASK_FP512BN (-((chunk)(1)&lt;&lt;TBITS_FP512BN))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP512BN_8h.html#afcc77781c0a1d82d6c952f6a819f4319">FP_FP512BN_iszilch</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a5c5aa27a1cbefb0f56cc6356360f251b">FP_FP512BN_zero</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a0c30d3fac4c18eb3bc2d4c22a100dd9b">FP_FP512BN_copy</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ab0c3d89d602843cbc30d27e3018aef28">FP_FP512BN_rcopy</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP512BN_8h.html#a53ecc75e7c19a2e5fd41afaacd37a70c">FP_FP512BN_equals</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__FP512BN_8h.html#a2271b3aa5666f4abc9599fdd594ce6c0">FP_FP512BN_cswap</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</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="fp__FP512BN_8h.html#a00436e92ac8e01e664dfb8b7ea42a889">FP_FP512BN_cmove</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</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="fp__FP512BN_8h.html#aeb15dc4ec943b0059debe47d2ddc7c8d">FP_FP512BN_nres</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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="fp__FP512BN_8h.html#a89f5da439fd0714842bacde80b7a4292">FP_FP512BN_redc</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a6f2d74d45c2f5ac2b41806b21d7c0e3a">FP_FP512BN_one</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#aa673b424897563ac026772309b8da588">FP_FP512BN_mod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> r,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_FP512BN_modmul(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__FP512BN_8h.html#ad1e65109cebcc0c2d3e12eb05d876d6d">FP_FP512BN_mul</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *z);</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="fp__FP512BN_8h.html#a5106c794f0d0d675f252a5c1cd076a57">FP_FP512BN_imul</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a65bcf563c55d7c21ec8f1f400cdf3abe">FP_FP512BN_sqr</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a2d1ccb2e30bb2728988e5b09af5d04b8">FP_FP512BN_add</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ac0f825c56f278bad48df852f39fff169">FP_FP512BN_sub</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ab875fe6f80720304055e384a54e177fa">FP_FP512BN_div2</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a610d0661bf4ca30d02bfb0010e08a129">FP_FP512BN_pow</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#aed525e0abb5b8bafc9708f524394315a">FP_FP512BN_sqrt</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a6953b80530c926845b75cb0529343a11">FP_FP512BN_neg</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ac6e1362f25d2a0804bbacb8d5d1ddb65">FP_FP512BN_output</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a91b341ec3f8d102493b926bd3d8161c7">FP_FP512BN_rawoutput</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#afab2bfecce7e025a25a2e4bb64507c57">FP_FP512BN_reduce</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#af637d41d9bb2b682e0268bbdd2d8bdc0">FP_FP512BN_norm</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP512BN_8h.html#a17bb10fee6f650aedd50ac8232bf8d82">FP_FP512BN_qr</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a442d6d8d90e15d7e7cb8309cdcc27d20">FP_FP512BN_inv</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
-<div class="ttc" id="big__512__60_8h_html"><div class="ttname"><a href="big__512__60_8h.html">big_512_60.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a91b341ec3f8d102493b926bd3d8161c7"><div class="ttname"><a href="fp__FP512BN_8h.html#a91b341ec3f8d102493b926bd3d8161c7">FP_FP512BN_rawoutput</a></div><div class="ttdeci">void FP_FP512BN_rawoutput(FP_FP512BN *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:277</div></div>
+<a href="fp__FP512BN_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 FP_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_FP512BN_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 &quot;<a class="code" href="big__512__60_8h.html">big_512_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_FP512BN.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__FP512BN.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333">   40</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__FP512BN.html#a10e9ba2b4236f74f885908cb2d48bdb8">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__FP512BN.html#a10e9ba2b4236f74f885908cb2d48bdb8">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__FP512BN.html">FP_FP512BN</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp__FP512BN_8h.html#a1ac63c30aa313ffc24804012ebf601a1">Modulus_FP512BN</a>;    </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="fp__FP512BN_8h.html#a2e685fadb624c544835d07a150c155f0">R2modp_FP512BN</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__FP512BN_8h.html#a66d16b2502bfbe2e029a0abf0a723ef9">MConst_FP512BN</a>;      </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#a6906efbef9c22d76d7c54f08526fa03b">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_FP512BN MBITS_FP512BN                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#a273b9a24d64825108fe9fd4b0b339dac">   52</a></span>&#160;<span class="preprocessor">#define TBITS_FP512BN (MBITS_FP512BN%BASEBITS_512_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#afae9d41693ce5163d05c7fae731f47a0">   53</a></span>&#160;<span class="preprocessor">#define TMASK_FP512BN (((chunk)1&lt;&lt;TBITS_FP512BN)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#a9732b39339b24f218fd115b563ef0394">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_FP512BN (((sign32)1&lt;&lt;MAXXES_FP512BN)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__FP512BN_8h.html#af4a011e2dcb439904a6cb7573e1dd69a">   55</a></span>&#160;<span class="preprocessor">#define OMASK_FP512BN (-((chunk)(1)&lt;&lt;TBITS_FP512BN))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP512BN_8h.html#afcc77781c0a1d82d6c952f6a819f4319">FP_FP512BN_iszilch</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a5c5aa27a1cbefb0f56cc6356360f251b">FP_FP512BN_zero</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a0c30d3fac4c18eb3bc2d4c22a100dd9b">FP_FP512BN_copy</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ab0c3d89d602843cbc30d27e3018aef28">FP_FP512BN_rcopy</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP512BN_8h.html#a53ecc75e7c19a2e5fd41afaacd37a70c">FP_FP512BN_equals</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__FP512BN_8h.html#a2271b3aa5666f4abc9599fdd594ce6c0">FP_FP512BN_cswap</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</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="fp__FP512BN_8h.html#a00436e92ac8e01e664dfb8b7ea42a889">FP_FP512BN_cmove</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</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="fp__FP512BN_8h.html#aeb15dc4ec943b0059debe47d2ddc7c8d">FP_FP512BN_nres</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</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="fp__FP512BN_8h.html#a89f5da439fd0714842bacde80b7a4292">FP_FP512BN_redc</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a6f2d74d45c2f5ac2b41806b21d7c0e3a">FP_FP512BN_one</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#aa673b424897563ac026772309b8da588">FP_FP512BN_mod</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> r,<a class="code" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_FP512BN_modmul(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__FP512BN_8h.html#ad1e65109cebcc0c2d3e12eb05d876d6d">FP_FP512BN_mul</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *z);</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="fp__FP512BN_8h.html#a5106c794f0d0d675f252a5c1cd076a57">FP_FP512BN_imul</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a65bcf563c55d7c21ec8f1f400cdf3abe">FP_FP512BN_sqr</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a2d1ccb2e30bb2728988e5b09af5d04b8">FP_FP512BN_add</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ac0f825c56f278bad48df852f39fff169">FP_FP512BN_sub</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ab875fe6f80720304055e384a54e177fa">FP_FP512BN_div2</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a610d0661bf4ca30d02bfb0010e08a129">FP_FP512BN_pow</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#aed525e0abb5b8bafc9708f524394315a">FP_FP512BN_sqrt</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a6953b80530c926845b75cb0529343a11">FP_FP512BN_neg</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#ac6e1362f25d2a0804bbacb8d5d1ddb65">FP_FP512BN_output</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a91b341ec3f8d102493b926bd3d8161c7">FP_FP512BN_rawoutput</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#afab2bfecce7e025a25a2e4bb64507c57">FP_FP512BN_reduce</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#af637d41d9bb2b682e0268bbdd2d8bdc0">FP_FP512BN_norm</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__FP512BN_8h.html#a17bb10fee6f650aedd50ac8232bf8d82">FP_FP512BN_qr</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__FP512BN_8h.html#a442d6d8d90e15d7e7cb8309cdcc27d20">FP_FP512BN_inv</a>(<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *x,<a class="code" href="structFP__FP512BN.html">FP_FP512BN</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
+<div class="ttc" id="structFP__FP512BN_html"><div class="ttname"><a href="structFP__FP512BN.html">FP_FP512BN</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:38</div></div>
+<div class="ttc" id="big__512__60_8h_html"><div class="ttname"><a href="big__512__60_8h.html">big_512_60.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a91b341ec3f8d102493b926bd3d8161c7"><div class="ttname"><a href="fp__FP512BN_8h.html#a91b341ec3f8d102493b926bd3d8161c7">FP_FP512BN_rawoutput</a></div><div class="ttdeci">void FP_FP512BN_rawoutput(FP_FP512BN *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:277</div></div>
 <div class="ttc" id="structFP__FP512BN_html_ad0a2d0c07da43ebec37a3f1a20541333"><div class="ttname"><a href="structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333">FP_FP512BN::g</a></div><div class="ttdeci">BIG_512_60 g</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:40</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_ab875fe6f80720304055e384a54e177fa"><div class="ttname"><a href="fp__FP512BN_8h.html#ab875fe6f80720304055e384a54e177fa">FP_FP512BN_div2</a></div><div class="ttdeci">void FP_FP512BN_div2(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:515</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_ab875fe6f80720304055e384a54e177fa"><div class="ttname"><a href="fp__FP512BN_8h.html#ab875fe6f80720304055e384a54e177fa">FP_FP512BN_div2</a></div><div class="ttdeci">void FP_FP512BN_div2(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:515</div></div>
 <div class="ttc" id="fp__FP512BN_8h_html_a2e685fadb624c544835d07a150c155f0"><div class="ttname"><a href="fp__FP512BN_8h.html#a2e685fadb624c544835d07a150c155f0">R2modp_FP512BN</a></div><div class="ttdeci">const BIG_512_60 R2modp_FP512BN</div></div>
 <div class="ttc" id="fp__FP512BN_8h_html_a66d16b2502bfbe2e029a0abf0a723ef9"><div class="ttname"><a href="fp__FP512BN_8h.html#a66d16b2502bfbe2e029a0abf0a723ef9">MConst_FP512BN</a></div><div class="ttdeci">const chunk MConst_FP512BN</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_af637d41d9bb2b682e0268bbdd2d8bdc0"><div class="ttname"><a href="fp__FP512BN_8h.html#af637d41d9bb2b682e0268bbdd2d8bdc0">FP_FP512BN_norm</a></div><div class="ttdeci">void FP_FP512BN_norm(FP_FP512BN *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:484</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a6f2d74d45c2f5ac2b41806b21d7c0e3a"><div class="ttname"><a href="fp__FP512BN_8h.html#a6f2d74d45c2f5ac2b41806b21d7c0e3a">FP_FP512BN_one</a></div><div class="ttdeci">void FP_FP512BN_one(FP_FP512BN *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:723</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a442d6d8d90e15d7e7cb8309cdcc27d20"><div class="ttname"><a href="fp__FP512BN_8h.html#a442d6d8d90e15d7e7cb8309cdcc27d20">FP_FP512BN_inv</a></div><div class="ttdeci">void FP_FP512BN_inv(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:648</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a610d0661bf4ca30d02bfb0010e08a129"><div class="ttname"><a href="fp__FP512BN_8h.html#a610d0661bf4ca30d02bfb0010e08a129">FP_FP512BN_pow</a></div><div class="ttdeci">void FP_FP512BN_pow(FP_FP512BN *x, FP_FP512BN *y, BIG_512_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a17bb10fee6f650aedd50ac8232bf8d82"><div class="ttname"><a href="fp__FP512BN_8h.html#a17bb10fee6f650aedd50ac8232bf8d82">FP_FP512BN_qr</a></div><div class="ttdeci">int FP_FP512BN_qr(FP_FP512BN *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:731</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_af637d41d9bb2b682e0268bbdd2d8bdc0"><div class="ttname"><a href="fp__FP512BN_8h.html#af637d41d9bb2b682e0268bbdd2d8bdc0">FP_FP512BN_norm</a></div><div class="ttdeci">void FP_FP512BN_norm(FP_FP512BN *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:484</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a6f2d74d45c2f5ac2b41806b21d7c0e3a"><div class="ttname"><a href="fp__FP512BN_8h.html#a6f2d74d45c2f5ac2b41806b21d7c0e3a">FP_FP512BN_one</a></div><div class="ttdeci">void FP_FP512BN_one(FP_FP512BN *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:723</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a442d6d8d90e15d7e7cb8309cdcc27d20"><div class="ttname"><a href="fp__FP512BN_8h.html#a442d6d8d90e15d7e7cb8309cdcc27d20">FP_FP512BN_inv</a></div><div class="ttdeci">void FP_FP512BN_inv(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:648</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a610d0661bf4ca30d02bfb0010e08a129"><div class="ttname"><a href="fp__FP512BN_8h.html#a610d0661bf4ca30d02bfb0010e08a129">FP_FP512BN_pow</a></div><div class="ttdeci">void FP_FP512BN_pow(FP_FP512BN *x, FP_FP512BN *y, BIG_512_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a17bb10fee6f650aedd50ac8232bf8d82"><div class="ttname"><a href="fp__FP512BN_8h.html#a17bb10fee6f650aedd50ac8232bf8d82">FP_FP512BN_qr</a></div><div class="ttdeci">int FP_FP512BN_qr(FP_FP512BN *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:731</div></div>
 <div class="ttc" id="big__512__60_8h_html_ada98ab694a80a60b255a448e21ec3906"><div class="ttname"><a href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">DBIG_512_60</a></div><div class="ttdeci">chunk DBIG_512_60[DNLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:59</div></div>
 <div class="ttc" id="fp__FP512BN_8h_html_a1ac63c30aa313ffc24804012ebf601a1"><div class="ttname"><a href="fp__FP512BN_8h.html#a1ac63c30aa313ffc24804012ebf601a1">Modulus_FP512BN</a></div><div class="ttdeci">const BIG_512_60 Modulus_FP512BN</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_afab2bfecce7e025a25a2e4bb64507c57"><div class="ttname"><a href="fp__FP512BN_8h.html#afab2bfecce7e025a25a2e4bb64507c57">FP_FP512BN_reduce</a></div><div class="ttdeci">void FP_FP512BN_reduce(FP_FP512BN *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:449</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a2271b3aa5666f4abc9599fdd594ce6c0"><div class="ttname"><a href="fp__FP512BN_8h.html#a2271b3aa5666f4abc9599fdd594ce6c0">FP_FP512BN_cswap</a></div><div class="ttdeci">void FP_FP512BN_cswap(FP_FP512BN *x, FP_FP512BN *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:230</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a53ecc75e7c19a2e5fd41afaacd37a70c"><div class="ttname"><a href="fp__FP512BN_8h.html#a53ecc75e7c19a2e5fd41afaacd37a70c">FP_FP512BN_equals</a></div><div class="ttdeci">int FP_FP512BN_equals(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:257</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a0c30d3fac4c18eb3bc2d4c22a100dd9b"><div class="ttname"><a href="fp__FP512BN_8h.html#a0c30d3fac4c18eb3bc2d4c22a100dd9b">FP_FP512BN_copy</a></div><div class="ttdeci">void FP_FP512BN_copy(FP_FP512BN *y, FP_FP512BN *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:216</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_afab2bfecce7e025a25a2e4bb64507c57"><div class="ttname"><a href="fp__FP512BN_8h.html#afab2bfecce7e025a25a2e4bb64507c57">FP_FP512BN_reduce</a></div><div class="ttdeci">void FP_FP512BN_reduce(FP_FP512BN *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:449</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a2271b3aa5666f4abc9599fdd594ce6c0"><div class="ttname"><a href="fp__FP512BN_8h.html#a2271b3aa5666f4abc9599fdd594ce6c0">FP_FP512BN_cswap</a></div><div class="ttdeci">void FP_FP512BN_cswap(FP_FP512BN *x, FP_FP512BN *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:230</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a53ecc75e7c19a2e5fd41afaacd37a70c"><div class="ttname"><a href="fp__FP512BN_8h.html#a53ecc75e7c19a2e5fd41afaacd37a70c">FP_FP512BN_equals</a></div><div class="ttdeci">int FP_FP512BN_equals(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:257</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a0c30d3fac4c18eb3bc2d4c22a100dd9b"><div class="ttname"><a href="fp__FP512BN_8h.html#a0c30d3fac4c18eb3bc2d4c22a100dd9b">FP_FP512BN_copy</a></div><div class="ttdeci">void FP_FP512BN_copy(FP_FP512BN *y, FP_FP512BN *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:216</div></div>
 <div class="ttc" id="structFP__FP512BN_html_a10e9ba2b4236f74f885908cb2d48bdb8"><div class="ttname"><a href="structFP__FP512BN.html#a10e9ba2b4236f74f885908cb2d48bdb8">FP_FP512BN::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.h:41</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_aa673b424897563ac026772309b8da588"><div class="ttname"><a href="fp__FP512BN_8h.html#aa673b424897563ac026772309b8da588">FP_FP512BN_mod</a></div><div class="ttdeci">void FP_FP512BN_mod(BIG_512_60 r, DBIG_512_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:103</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a89f5da439fd0714842bacde80b7a4292"><div class="ttname"><a href="fp__FP512BN_8h.html#a89f5da439fd0714842bacde80b7a4292">FP_FP512BN_redc</a></div><div class="ttdeci">void FP_FP512BN_redc(BIG_512_60 x, FP_FP512BN *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:97</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_aeb15dc4ec943b0059debe47d2ddc7c8d"><div class="ttname"><a href="fp__FP512BN_8h.html#aeb15dc4ec943b0059debe47d2ddc7c8d">FP_FP512BN_nres</a></div><div class="ttdeci">void FP_FP512BN_nres(FP_FP512BN *y, BIG_512_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:90</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_ac0f825c56f278bad48df852f39fff169"><div class="ttname"><a href="fp__FP512BN_8h.html#ac0f825c56f278bad48df852f39fff169">FP_FP512BN_sub</a></div><div class="ttdeci">void FP_FP512BN_sub(FP_FP512BN *x, FP_FP512BN *y, FP_FP512BN *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:400</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_aa673b424897563ac026772309b8da588"><div class="ttname"><a href="fp__FP512BN_8h.html#aa673b424897563ac026772309b8da588">FP_FP512BN_mod</a></div><div class="ttdeci">void FP_FP512BN_mod(BIG_512_60 r, DBIG_512_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:103</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a89f5da439fd0714842bacde80b7a4292"><div class="ttname"><a href="fp__FP512BN_8h.html#a89f5da439fd0714842bacde80b7a4292">FP_FP512BN_redc</a></div><div class="ttdeci">void FP_FP512BN_redc(BIG_512_60 x, FP_FP512BN *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:97</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_aeb15dc4ec943b0059debe47d2ddc7c8d"><div class="ttname"><a href="fp__FP512BN_8h.html#aeb15dc4ec943b0059debe47d2ddc7c8d">FP_FP512BN_nres</a></div><div class="ttdeci">void FP_FP512BN_nres(FP_FP512BN *y, BIG_512_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:90</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_ac0f825c56f278bad48df852f39fff169"><div class="ttname"><a href="fp__FP512BN_8h.html#ac0f825c56f278bad48df852f39fff169">FP_FP512BN_sub</a></div><div class="ttdeci">void FP_FP512BN_sub(FP_FP512BN *x, FP_FP512BN *y, FP_FP512BN *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:400</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a2d1ccb2e30bb2728988e5b09af5d04b8"><div class="ttname"><a href="fp__FP512BN_8h.html#a2d1ccb2e30bb2728988e5b09af5d04b8">FP_FP512BN_add</a></div><div class="ttdeci">void FP_FP512BN_add(FP_FP512BN *x, FP_FP512BN *y, FP_FP512BN *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:385</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_ac6e1362f25d2a0804bbacb8d5d1ddb65"><div class="ttname"><a href="fp__FP512BN_8h.html#ac6e1362f25d2a0804bbacb8d5d1ddb65">FP_FP512BN_output</a></div><div class="ttdeci">void FP_FP512BN_output(FP_FP512BN *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:270</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_ab0c3d89d602843cbc30d27e3018aef28"><div class="ttname"><a href="fp__FP512BN_8h.html#ab0c3d89d602843cbc30d27e3018aef28">FP_FP512BN_rcopy</a></div><div class="ttdeci">void FP_FP512BN_rcopy(FP_FP512BN *y, const BIG_512_60 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:222</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a6953b80530c926845b75cb0529343a11"><div class="ttname"><a href="fp__FP512BN_8h.html#a6953b80530c926845b75cb0529343a11">FP_FP512BN_neg</a></div><div class="ttdeci">void FP_FP512BN_neg(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:491</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a5c5aa27a1cbefb0f56cc6356360f251b"><div class="ttname"><a href="fp__FP512BN_8h.html#a5c5aa27a1cbefb0f56cc6356360f251b">FP_FP512BN_zero</a></div><div class="ttdeci">void FP_FP512BN_zero(FP_FP512BN *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:251</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a00436e92ac8e01e664dfb8b7ea42a889"><div class="ttname"><a href="fp__FP512BN_8h.html#a00436e92ac8e01e664dfb8b7ea42a889">FP_FP512BN_cmove</a></div><div class="ttdeci">void FP_FP512BN_cmove(FP_FP512BN *x, FP_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:243</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_afcc77781c0a1d82d6c952f6a819f4319"><div class="ttname"><a href="fp__FP512BN_8h.html#afcc77781c0a1d82d6c952f6a819f4319">FP_FP512BN_iszilch</a></div><div class="ttdeci">int FP_FP512BN_iszilch(FP_FP512BN *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:207</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a2d1ccb2e30bb2728988e5b09af5d04b8"><div class="ttname"><a href="fp__FP512BN_8h.html#a2d1ccb2e30bb2728988e5b09af5d04b8">FP_FP512BN_add</a></div><div class="ttdeci">void FP_FP512BN_add(FP_FP512BN *x, FP_FP512BN *y, FP_FP512BN *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:385</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_ac6e1362f25d2a0804bbacb8d5d1ddb65"><div class="ttname"><a href="fp__FP512BN_8h.html#ac6e1362f25d2a0804bbacb8d5d1ddb65">FP_FP512BN_output</a></div><div class="ttdeci">void FP_FP512BN_output(FP_FP512BN *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:270</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_ab0c3d89d602843cbc30d27e3018aef28"><div class="ttname"><a href="fp__FP512BN_8h.html#ab0c3d89d602843cbc30d27e3018aef28">FP_FP512BN_rcopy</a></div><div class="ttdeci">void FP_FP512BN_rcopy(FP_FP512BN *y, const BIG_512_60 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:222</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a6953b80530c926845b75cb0529343a11"><div class="ttname"><a href="fp__FP512BN_8h.html#a6953b80530c926845b75cb0529343a11">FP_FP512BN_neg</a></div><div class="ttdeci">void FP_FP512BN_neg(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:491</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a5c5aa27a1cbefb0f56cc6356360f251b"><div class="ttname"><a href="fp__FP512BN_8h.html#a5c5aa27a1cbefb0f56cc6356360f251b">FP_FP512BN_zero</a></div><div class="ttdeci">void FP_FP512BN_zero(FP_FP512BN *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:251</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a00436e92ac8e01e664dfb8b7ea42a889"><div class="ttname"><a href="fp__FP512BN_8h.html#a00436e92ac8e01e664dfb8b7ea42a889">FP_FP512BN_cmove</a></div><div class="ttdeci">void FP_FP512BN_cmove(FP_FP512BN *x, FP_FP512BN *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:243</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_afcc77781c0a1d82d6c952f6a819f4319"><div class="ttname"><a href="fp__FP512BN_8h.html#afcc77781c0a1d82d6c952f6a819f4319">FP_FP512BN_iszilch</a></div><div class="ttdeci">int FP_FP512BN_iszilch(FP_FP512BN *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:207</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="fp__FP512BN_8h_html_aed525e0abb5b8bafc9708f524394315a"><div class="ttname"><a href="fp__FP512BN_8h.html#aed525e0abb5b8bafc9708f524394315a">FP_FP512BN_sqrt</a></div><div class="ttdeci">void FP_FP512BN_sqrt(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:747</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a5106c794f0d0d675f252a5c1cd076a57"><div class="ttname"><a href="fp__FP512BN_8h.html#a5106c794f0d0d675f252a5c1cd076a57">FP_FP512BN_imul</a></div><div class="ttdeci">void FP_FP512BN_imul(FP_FP512BN *x, FP_FP512BN *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:321</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_a65bcf563c55d7c21ec8f1f400cdf3abe"><div class="ttname"><a href="fp__FP512BN_8h.html#a65bcf563c55d7c21ec8f1f400cdf3abe">FP_FP512BN_sqr</a></div><div class="ttdeci">void FP_FP512BN_sqr(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:366</div></div>
-<div class="ttc" id="fp__FP512BN_8h_html_ad1e65109cebcc0c2d3e12eb05d876d6d"><div class="ttname"><a href="fp__FP512BN_8h.html#ad1e65109cebcc0c2d3e12eb05d876d6d">FP_FP512BN_mul</a></div><div class="ttdeci">void FP_FP512BN_mul(FP_FP512BN *x, FP_FP512BN *y, FP_FP512BN *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:297</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_aed525e0abb5b8bafc9708f524394315a"><div class="ttname"><a href="fp__FP512BN_8h.html#aed525e0abb5b8bafc9708f524394315a">FP_FP512BN_sqrt</a></div><div class="ttdeci">void FP_FP512BN_sqrt(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:747</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a5106c794f0d0d675f252a5c1cd076a57"><div class="ttname"><a href="fp__FP512BN_8h.html#a5106c794f0d0d675f252a5c1cd076a57">FP_FP512BN_imul</a></div><div class="ttdeci">void FP_FP512BN_imul(FP_FP512BN *x, FP_FP512BN *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:321</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_a65bcf563c55d7c21ec8f1f400cdf3abe"><div class="ttname"><a href="fp__FP512BN_8h.html#a65bcf563c55d7c21ec8f1f400cdf3abe">FP_FP512BN_sqr</a></div><div class="ttdeci">void FP_FP512BN_sqr(FP_FP512BN *x, FP_FP512BN *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:366</div></div>
+<div class="ttc" id="fp__FP512BN_8h_html_ad1e65109cebcc0c2d3e12eb05d876d6d"><div class="ttname"><a href="fp__FP512BN_8h.html#ad1e65109cebcc0c2d3e12eb05d876d6d">FP_FP512BN_mul</a></div><div class="ttdeci">void FP_FP512BN_mul(FP_FP512BN *x, FP_FP512BN *y, FP_FP512BN *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_FP512BN.c:297</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/fp__GOLDILOCKS_8h.html b/website/static/cdocs/fp__GOLDILOCKS_8h.html
index 97130ea..8560f14 100644
--- a/website/static/cdocs/fp__GOLDILOCKS_8h.html
+++ b/website/static/cdocs/fp__GOLDILOCKS_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: fp_GOLDILOCKS.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"
@@ -1195,7 +1198,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/fp__GOLDILOCKS_8h_source.html b/website/static/cdocs/fp__GOLDILOCKS_8h_source.html
index 7d648f3..b36c295 100644
--- a/website/static/cdocs/fp__GOLDILOCKS_8h_source.html
+++ b/website/static/cdocs/fp__GOLDILOCKS_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: fp_GOLDILOCKS.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,49 +72,49 @@
 <div class="title">fp_GOLDILOCKS.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__GOLDILOCKS_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 FP_GOLDILOCKS_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_GOLDILOCKS_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 &quot;<a class="code" href="big__448__58_8h.html">big_448_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_GOLDILOCKS.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__GOLDILOCKS.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f">   40</a></span>&#160;    <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__GOLDILOCKS.html#ac5c7e4e492f0ef11b6ccd5b15fcc7dbd">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__GOLDILOCKS.html#ac5c7e4e492f0ef11b6ccd5b15fcc7dbd">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="fp__GOLDILOCKS_8h.html#a8e71b3d4e440279204f0e1be84b87923">Modulus_GOLDILOCKS</a>;     </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="fp__GOLDILOCKS_8h.html#a72051e56a23f4164b522f50a5fc10e1f">R2modp_GOLDILOCKS</a>;      </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__GOLDILOCKS_8h.html#aa143044673e825f8efc4c2eb8d41330e">MConst_GOLDILOCKS</a>;           </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#a75fda8826b012fb4eb1bd2fc2c0dc821">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_GOLDILOCKS MBITS_GOLDILOCKS                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#ae3047f3248518e76180a304f2340867d">   52</a></span>&#160;<span class="preprocessor">#define TBITS_GOLDILOCKS (MBITS_GOLDILOCKS%BASEBITS_448_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#a898920156a5cbd4fd0de1538342f4af7">   53</a></span>&#160;<span class="preprocessor">#define TMASK_GOLDILOCKS (((chunk)1&lt;&lt;TBITS_GOLDILOCKS)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#abfe6057a33e222e13d2c297d4a1e26cf">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_GOLDILOCKS (((sign32)1&lt;&lt;MAXXES_GOLDILOCKS)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#ac06414179c36d3bdfcb7eea5a587391b">   55</a></span>&#160;<span class="preprocessor">#define OMASK_GOLDILOCKS (-((chunk)(1)&lt;&lt;TBITS_GOLDILOCKS))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ac1702e89247f0374730e1880455e7b9f">FP_GOLDILOCKS_iszilch</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#acba9c084f6e7ffc172c2b9355b5576cf">FP_GOLDILOCKS_zero</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a9071bab0fbc03ae4c533121303f30598">FP_GOLDILOCKS_copy</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a2e179daef730109ca85bf76f8486b8d1">FP_GOLDILOCKS_rcopy</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ab99472837cec07a66b51d2ca353a0696">FP_GOLDILOCKS_equals</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__GOLDILOCKS_8h.html#aeeedbeca4956b7ad4a84236d9f84b5c3">FP_GOLDILOCKS_cswap</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</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="fp__GOLDILOCKS_8h.html#adb3de08575b0c5651eb71d7a1efb8f49">FP_GOLDILOCKS_cmove</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</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="fp__GOLDILOCKS_8h.html#aa98531061c674cfd9598f0654ecd9aed">FP_GOLDILOCKS_nres</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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="fp__GOLDILOCKS_8h.html#aea78dff7075bb92173c2cea506c31d93">FP_GOLDILOCKS_redc</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ad32084c345a9bbd4a32c73bbf20ea3d3">FP_GOLDILOCKS_one</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a2d282a445aba046d64104c548af43086">FP_GOLDILOCKS_mod</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> r,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_GOLDILOCKS_modmul(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__GOLDILOCKS_8h.html#a655fcc6de1bb209783901e7a8a4fc568">FP_GOLDILOCKS_mul</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *z);</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="fp__GOLDILOCKS_8h.html#adffa9205f226962e5ab702520adb78d5">FP_GOLDILOCKS_imul</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a36126d99f7b367a57a295f72593a4cc4">FP_GOLDILOCKS_sqr</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a1b308b595c7e259e2c54c05c2b880322">FP_GOLDILOCKS_add</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a43c45e3d4bd73b6afb44751258754dfc">FP_GOLDILOCKS_sub</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a78fd0d538ddbda49aabc3510907d6ef9">FP_GOLDILOCKS_div2</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a08eed161de6dbebef3212c23943dc254">FP_GOLDILOCKS_pow</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#adec46b49a3f95ab3f0c545ac5d484353">FP_GOLDILOCKS_sqrt</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a1e62224368c9248a6b1f371fe1967a7b">FP_GOLDILOCKS_neg</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a0f3fe25ccc4d83150095eb76134dcb30">FP_GOLDILOCKS_output</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#af6b2e7200006daa9d1e84c90910d3f9e">FP_GOLDILOCKS_rawoutput</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ad7aea7f0686f92f3352c3be3ac6ea7f6">FP_GOLDILOCKS_reduce</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a62c067aab5bbc392b35f8d5a3b97919a">FP_GOLDILOCKS_norm</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__GOLDILOCKS_8h.html#afe231486e9005d97908401c5e0bb3e93">FP_GOLDILOCKS_qr</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a6e7008fbb451c17fc35629ab2a70ebbb">FP_GOLDILOCKS_inv</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__GOLDILOCKS_8h_html_a78fd0d538ddbda49aabc3510907d6ef9"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a78fd0d538ddbda49aabc3510907d6ef9">FP_GOLDILOCKS_div2</a></div><div class="ttdeci">void FP_GOLDILOCKS_div2(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:515</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a6e7008fbb451c17fc35629ab2a70ebbb"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a6e7008fbb451c17fc35629ab2a70ebbb">FP_GOLDILOCKS_inv</a></div><div class="ttdeci">void FP_GOLDILOCKS_inv(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:648</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a655fcc6de1bb209783901e7a8a4fc568"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a655fcc6de1bb209783901e7a8a4fc568">FP_GOLDILOCKS_mul</a></div><div class="ttdeci">void FP_GOLDILOCKS_mul(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, FP_GOLDILOCKS *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:297</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a1e62224368c9248a6b1f371fe1967a7b"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a1e62224368c9248a6b1f371fe1967a7b">FP_GOLDILOCKS_neg</a></div><div class="ttdeci">void FP_GOLDILOCKS_neg(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:491</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_ac1702e89247f0374730e1880455e7b9f"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ac1702e89247f0374730e1880455e7b9f">FP_GOLDILOCKS_iszilch</a></div><div class="ttdeci">int FP_GOLDILOCKS_iszilch(FP_GOLDILOCKS *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:207</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a2d282a445aba046d64104c548af43086"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a2d282a445aba046d64104c548af43086">FP_GOLDILOCKS_mod</a></div><div class="ttdeci">void FP_GOLDILOCKS_mod(BIG_448_58 r, DBIG_448_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:103</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a2e179daef730109ca85bf76f8486b8d1"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a2e179daef730109ca85bf76f8486b8d1">FP_GOLDILOCKS_rcopy</a></div><div class="ttdeci">void FP_GOLDILOCKS_rcopy(FP_GOLDILOCKS *y, const BIG_448_58 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:222</div></div>
+<a href="fp__GOLDILOCKS_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 FP_GOLDILOCKS_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_GOLDILOCKS_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 &quot;<a class="code" href="big__448__58_8h.html">big_448_58.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_GOLDILOCKS.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__GOLDILOCKS.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f">   40</a></span>&#160;    <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__GOLDILOCKS.html#ac5c7e4e492f0ef11b6ccd5b15fcc7dbd">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__GOLDILOCKS.html#ac5c7e4e492f0ef11b6ccd5b15fcc7dbd">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="fp__GOLDILOCKS_8h.html#a8e71b3d4e440279204f0e1be84b87923">Modulus_GOLDILOCKS</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> <a class="code" href="fp__GOLDILOCKS_8h.html#a72051e56a23f4164b522f50a5fc10e1f">R2modp_GOLDILOCKS</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__GOLDILOCKS_8h.html#aa143044673e825f8efc4c2eb8d41330e">MConst_GOLDILOCKS</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#a75fda8826b012fb4eb1bd2fc2c0dc821">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_GOLDILOCKS MBITS_GOLDILOCKS                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#ae3047f3248518e76180a304f2340867d">   52</a></span>&#160;<span class="preprocessor">#define TBITS_GOLDILOCKS (MBITS_GOLDILOCKS%BASEBITS_448_58)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#a898920156a5cbd4fd0de1538342f4af7">   53</a></span>&#160;<span class="preprocessor">#define TMASK_GOLDILOCKS (((chunk)1&lt;&lt;TBITS_GOLDILOCKS)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#abfe6057a33e222e13d2c297d4a1e26cf">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_GOLDILOCKS (((sign32)1&lt;&lt;MAXXES_GOLDILOCKS)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__GOLDILOCKS_8h.html#ac06414179c36d3bdfcb7eea5a587391b">   55</a></span>&#160;<span class="preprocessor">#define OMASK_GOLDILOCKS (-((chunk)(1)&lt;&lt;TBITS_GOLDILOCKS))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ac1702e89247f0374730e1880455e7b9f">FP_GOLDILOCKS_iszilch</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#acba9c084f6e7ffc172c2b9355b5576cf">FP_GOLDILOCKS_zero</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a9071bab0fbc03ae4c533121303f30598">FP_GOLDILOCKS_copy</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a2e179daef730109ca85bf76f8486b8d1">FP_GOLDILOCKS_rcopy</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<span class="keyword">const</span> <a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ab99472837cec07a66b51d2ca353a0696">FP_GOLDILOCKS_equals</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__GOLDILOCKS_8h.html#aeeedbeca4956b7ad4a84236d9f84b5c3">FP_GOLDILOCKS_cswap</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</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="fp__GOLDILOCKS_8h.html#adb3de08575b0c5651eb71d7a1efb8f49">FP_GOLDILOCKS_cmove</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</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="fp__GOLDILOCKS_8h.html#aa98531061c674cfd9598f0654ecd9aed">FP_GOLDILOCKS_nres</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_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="fp__GOLDILOCKS_8h.html#aea78dff7075bb92173c2cea506c31d93">FP_GOLDILOCKS_redc</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ad32084c345a9bbd4a32c73bbf20ea3d3">FP_GOLDILOCKS_one</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a2d282a445aba046d64104c548af43086">FP_GOLDILOCKS_mod</a>(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> r,<a class="code" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_GOLDILOCKS_modmul(<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__GOLDILOCKS_8h.html#a655fcc6de1bb209783901e7a8a4fc568">FP_GOLDILOCKS_mul</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *z);</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="fp__GOLDILOCKS_8h.html#adffa9205f226962e5ab702520adb78d5">FP_GOLDILOCKS_imul</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a36126d99f7b367a57a295f72593a4cc4">FP_GOLDILOCKS_sqr</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a1b308b595c7e259e2c54c05c2b880322">FP_GOLDILOCKS_add</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a43c45e3d4bd73b6afb44751258754dfc">FP_GOLDILOCKS_sub</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a78fd0d538ddbda49aabc3510907d6ef9">FP_GOLDILOCKS_div2</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a08eed161de6dbebef3212c23943dc254">FP_GOLDILOCKS_pow</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y,<a class="code" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#adec46b49a3f95ab3f0c545ac5d484353">FP_GOLDILOCKS_sqrt</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a1e62224368c9248a6b1f371fe1967a7b">FP_GOLDILOCKS_neg</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a0f3fe25ccc4d83150095eb76134dcb30">FP_GOLDILOCKS_output</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#af6b2e7200006daa9d1e84c90910d3f9e">FP_GOLDILOCKS_rawoutput</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#ad7aea7f0686f92f3352c3be3ac6ea7f6">FP_GOLDILOCKS_reduce</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a62c067aab5bbc392b35f8d5a3b97919a">FP_GOLDILOCKS_norm</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__GOLDILOCKS_8h.html#afe231486e9005d97908401c5e0bb3e93">FP_GOLDILOCKS_qr</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__GOLDILOCKS_8h.html#a6e7008fbb451c17fc35629ab2a70ebbb">FP_GOLDILOCKS_inv</a>(<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *x,<a class="code" href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__GOLDILOCKS_8h_html_a78fd0d538ddbda49aabc3510907d6ef9"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a78fd0d538ddbda49aabc3510907d6ef9">FP_GOLDILOCKS_div2</a></div><div class="ttdeci">void FP_GOLDILOCKS_div2(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:515</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a6e7008fbb451c17fc35629ab2a70ebbb"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a6e7008fbb451c17fc35629ab2a70ebbb">FP_GOLDILOCKS_inv</a></div><div class="ttdeci">void FP_GOLDILOCKS_inv(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:648</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a655fcc6de1bb209783901e7a8a4fc568"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a655fcc6de1bb209783901e7a8a4fc568">FP_GOLDILOCKS_mul</a></div><div class="ttdeci">void FP_GOLDILOCKS_mul(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, FP_GOLDILOCKS *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:297</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a1e62224368c9248a6b1f371fe1967a7b"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a1e62224368c9248a6b1f371fe1967a7b">FP_GOLDILOCKS_neg</a></div><div class="ttdeci">void FP_GOLDILOCKS_neg(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:491</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_ac1702e89247f0374730e1880455e7b9f"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ac1702e89247f0374730e1880455e7b9f">FP_GOLDILOCKS_iszilch</a></div><div class="ttdeci">int FP_GOLDILOCKS_iszilch(FP_GOLDILOCKS *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:207</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a2d282a445aba046d64104c548af43086"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a2d282a445aba046d64104c548af43086">FP_GOLDILOCKS_mod</a></div><div class="ttdeci">void FP_GOLDILOCKS_mod(BIG_448_58 r, DBIG_448_58 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:103</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a2e179daef730109ca85bf76f8486b8d1"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a2e179daef730109ca85bf76f8486b8d1">FP_GOLDILOCKS_rcopy</a></div><div class="ttdeci">void FP_GOLDILOCKS_rcopy(FP_GOLDILOCKS *y, const BIG_448_58 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:222</div></div>
 <div class="ttc" id="big__448__58_8h_html_a140b718636a1e8195708da4da45e9f32"><div class="ttname"><a href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">DBIG_448_58</a></div><div class="ttdeci">chunk DBIG_448_58[DNLEN_448_58]</div><div class="ttdef"><b>Definition:</b> big_448_58.h:59</div></div>
 <div class="ttc" id="fp__GOLDILOCKS_8h_html_aa143044673e825f8efc4c2eb8d41330e"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#aa143044673e825f8efc4c2eb8d41330e">MConst_GOLDILOCKS</a></div><div class="ttdeci">const chunk MConst_GOLDILOCKS</div></div>
 <div class="ttc" id="fp__GOLDILOCKS_8h_html_a8e71b3d4e440279204f0e1be84b87923"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a8e71b3d4e440279204f0e1be84b87923">Modulus_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 Modulus_GOLDILOCKS</div></div>
 <div class="ttc" id="big__448__58_8h_html_a0ff733902d2a77fd164b5e6f7917da0e"><div class="ttname"><a href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">BIG_448_58</a></div><div class="ttdeci">chunk BIG_448_58[NLEN_448_58]</div><div class="ttdef"><b>Definition:</b> big_448_58.h:58</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_ab99472837cec07a66b51d2ca353a0696"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ab99472837cec07a66b51d2ca353a0696">FP_GOLDILOCKS_equals</a></div><div class="ttdeci">int FP_GOLDILOCKS_equals(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:257</div></div>
-<div class="ttc" id="structFP__GOLDILOCKS_html"><div class="ttname"><a href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.h:38</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_ab99472837cec07a66b51d2ca353a0696"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ab99472837cec07a66b51d2ca353a0696">FP_GOLDILOCKS_equals</a></div><div class="ttdeci">int FP_GOLDILOCKS_equals(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:257</div></div>
+<div class="ttc" id="structFP__GOLDILOCKS_html"><div class="ttname"><a href="structFP__GOLDILOCKS.html">FP_GOLDILOCKS</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.h:38</div></div>
 <div class="ttc" id="fp__GOLDILOCKS_8h_html_a72051e56a23f4164b522f50a5fc10e1f"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a72051e56a23f4164b522f50a5fc10e1f">R2modp_GOLDILOCKS</a></div><div class="ttdeci">const BIG_448_58 R2modp_GOLDILOCKS</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a08eed161de6dbebef3212c23943dc254"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a08eed161de6dbebef3212c23943dc254">FP_GOLDILOCKS_pow</a></div><div class="ttdeci">void FP_GOLDILOCKS_pow(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, BIG_448_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_aeeedbeca4956b7ad4a84236d9f84b5c3"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#aeeedbeca4956b7ad4a84236d9f84b5c3">FP_GOLDILOCKS_cswap</a></div><div class="ttdeci">void FP_GOLDILOCKS_cswap(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:230</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_adffa9205f226962e5ab702520adb78d5"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#adffa9205f226962e5ab702520adb78d5">FP_GOLDILOCKS_imul</a></div><div class="ttdeci">void FP_GOLDILOCKS_imul(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:321</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_afe231486e9005d97908401c5e0bb3e93"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#afe231486e9005d97908401c5e0bb3e93">FP_GOLDILOCKS_qr</a></div><div class="ttdeci">int FP_GOLDILOCKS_qr(FP_GOLDILOCKS *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:731</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_aea78dff7075bb92173c2cea506c31d93"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#aea78dff7075bb92173c2cea506c31d93">FP_GOLDILOCKS_redc</a></div><div class="ttdeci">void FP_GOLDILOCKS_redc(BIG_448_58 x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:97</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a08eed161de6dbebef3212c23943dc254"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a08eed161de6dbebef3212c23943dc254">FP_GOLDILOCKS_pow</a></div><div class="ttdeci">void FP_GOLDILOCKS_pow(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, BIG_448_58 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_aeeedbeca4956b7ad4a84236d9f84b5c3"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#aeeedbeca4956b7ad4a84236d9f84b5c3">FP_GOLDILOCKS_cswap</a></div><div class="ttdeci">void FP_GOLDILOCKS_cswap(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:230</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_adffa9205f226962e5ab702520adb78d5"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#adffa9205f226962e5ab702520adb78d5">FP_GOLDILOCKS_imul</a></div><div class="ttdeci">void FP_GOLDILOCKS_imul(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:321</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_afe231486e9005d97908401c5e0bb3e93"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#afe231486e9005d97908401c5e0bb3e93">FP_GOLDILOCKS_qr</a></div><div class="ttdeci">int FP_GOLDILOCKS_qr(FP_GOLDILOCKS *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:731</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_aea78dff7075bb92173c2cea506c31d93"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#aea78dff7075bb92173c2cea506c31d93">FP_GOLDILOCKS_redc</a></div><div class="ttdeci">void FP_GOLDILOCKS_redc(BIG_448_58 x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:97</div></div>
 <div class="ttc" id="structFP__GOLDILOCKS_html_ac5c7e4e492f0ef11b6ccd5b15fcc7dbd"><div class="ttname"><a href="structFP__GOLDILOCKS.html#ac5c7e4e492f0ef11b6ccd5b15fcc7dbd">FP_GOLDILOCKS::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.h:41</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_adec46b49a3f95ab3f0c545ac5d484353"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#adec46b49a3f95ab3f0c545ac5d484353">FP_GOLDILOCKS_sqrt</a></div><div class="ttdeci">void FP_GOLDILOCKS_sqrt(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:747</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a9071bab0fbc03ae4c533121303f30598"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a9071bab0fbc03ae4c533121303f30598">FP_GOLDILOCKS_copy</a></div><div class="ttdeci">void FP_GOLDILOCKS_copy(FP_GOLDILOCKS *y, FP_GOLDILOCKS *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:216</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a0f3fe25ccc4d83150095eb76134dcb30"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a0f3fe25ccc4d83150095eb76134dcb30">FP_GOLDILOCKS_output</a></div><div class="ttdeci">void FP_GOLDILOCKS_output(FP_GOLDILOCKS *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:270</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_adec46b49a3f95ab3f0c545ac5d484353"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#adec46b49a3f95ab3f0c545ac5d484353">FP_GOLDILOCKS_sqrt</a></div><div class="ttdeci">void FP_GOLDILOCKS_sqrt(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:747</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a9071bab0fbc03ae4c533121303f30598"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a9071bab0fbc03ae4c533121303f30598">FP_GOLDILOCKS_copy</a></div><div class="ttdeci">void FP_GOLDILOCKS_copy(FP_GOLDILOCKS *y, FP_GOLDILOCKS *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:216</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a0f3fe25ccc4d83150095eb76134dcb30"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a0f3fe25ccc4d83150095eb76134dcb30">FP_GOLDILOCKS_output</a></div><div class="ttdeci">void FP_GOLDILOCKS_output(FP_GOLDILOCKS *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:270</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a43c45e3d4bd73b6afb44751258754dfc"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a43c45e3d4bd73b6afb44751258754dfc">FP_GOLDILOCKS_sub</a></div><div class="ttdeci">void FP_GOLDILOCKS_sub(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, FP_GOLDILOCKS *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:400</div></div>
-<div class="ttc" id="big__448__58_8h_html"><div class="ttname"><a href="big__448__58_8h.html">big_448_58.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a62c067aab5bbc392b35f8d5a3b97919a"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a62c067aab5bbc392b35f8d5a3b97919a">FP_GOLDILOCKS_norm</a></div><div class="ttdeci">void FP_GOLDILOCKS_norm(FP_GOLDILOCKS *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:484</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a43c45e3d4bd73b6afb44751258754dfc"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a43c45e3d4bd73b6afb44751258754dfc">FP_GOLDILOCKS_sub</a></div><div class="ttdeci">void FP_GOLDILOCKS_sub(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, FP_GOLDILOCKS *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:400</div></div>
+<div class="ttc" id="big__448__58_8h_html"><div class="ttname"><a href="big__448__58_8h.html">big_448_58.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a62c067aab5bbc392b35f8d5a3b97919a"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a62c067aab5bbc392b35f8d5a3b97919a">FP_GOLDILOCKS_norm</a></div><div class="ttdeci">void FP_GOLDILOCKS_norm(FP_GOLDILOCKS *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:484</div></div>
 <div class="ttc" id="structFP__GOLDILOCKS_html_a8eafb99985dc5036a6eb266a0ed2449f"><div class="ttname"><a href="structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f">FP_GOLDILOCKS::g</a></div><div class="ttdeci">BIG_448_58 g</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.h:40</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_ad7aea7f0686f92f3352c3be3ac6ea7f6"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ad7aea7f0686f92f3352c3be3ac6ea7f6">FP_GOLDILOCKS_reduce</a></div><div class="ttdeci">void FP_GOLDILOCKS_reduce(FP_GOLDILOCKS *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:449</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_af6b2e7200006daa9d1e84c90910d3f9e"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#af6b2e7200006daa9d1e84c90910d3f9e">FP_GOLDILOCKS_rawoutput</a></div><div class="ttdeci">void FP_GOLDILOCKS_rawoutput(FP_GOLDILOCKS *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:277</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_ad32084c345a9bbd4a32c73bbf20ea3d3"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ad32084c345a9bbd4a32c73bbf20ea3d3">FP_GOLDILOCKS_one</a></div><div class="ttdeci">void FP_GOLDILOCKS_one(FP_GOLDILOCKS *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:723</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_adb3de08575b0c5651eb71d7a1efb8f49"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#adb3de08575b0c5651eb71d7a1efb8f49">FP_GOLDILOCKS_cmove</a></div><div class="ttdeci">void FP_GOLDILOCKS_cmove(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:243</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_ad7aea7f0686f92f3352c3be3ac6ea7f6"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ad7aea7f0686f92f3352c3be3ac6ea7f6">FP_GOLDILOCKS_reduce</a></div><div class="ttdeci">void FP_GOLDILOCKS_reduce(FP_GOLDILOCKS *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:449</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_af6b2e7200006daa9d1e84c90910d3f9e"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#af6b2e7200006daa9d1e84c90910d3f9e">FP_GOLDILOCKS_rawoutput</a></div><div class="ttdeci">void FP_GOLDILOCKS_rawoutput(FP_GOLDILOCKS *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:277</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_ad32084c345a9bbd4a32c73bbf20ea3d3"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#ad32084c345a9bbd4a32c73bbf20ea3d3">FP_GOLDILOCKS_one</a></div><div class="ttdeci">void FP_GOLDILOCKS_one(FP_GOLDILOCKS *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:723</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_adb3de08575b0c5651eb71d7a1efb8f49"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#adb3de08575b0c5651eb71d7a1efb8f49">FP_GOLDILOCKS_cmove</a></div><div class="ttdeci">void FP_GOLDILOCKS_cmove(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:243</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="fp__GOLDILOCKS_8h_html_aa98531061c674cfd9598f0654ecd9aed"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#aa98531061c674cfd9598f0654ecd9aed">FP_GOLDILOCKS_nres</a></div><div class="ttdeci">void FP_GOLDILOCKS_nres(FP_GOLDILOCKS *y, BIG_448_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:90</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_acba9c084f6e7ffc172c2b9355b5576cf"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#acba9c084f6e7ffc172c2b9355b5576cf">FP_GOLDILOCKS_zero</a></div><div class="ttdeci">void FP_GOLDILOCKS_zero(FP_GOLDILOCKS *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:251</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a1b308b595c7e259e2c54c05c2b880322"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a1b308b595c7e259e2c54c05c2b880322">FP_GOLDILOCKS_add</a></div><div class="ttdeci">void FP_GOLDILOCKS_add(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, FP_GOLDILOCKS *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:385</div></div>
-<div class="ttc" id="fp__GOLDILOCKS_8h_html_a36126d99f7b367a57a295f72593a4cc4"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a36126d99f7b367a57a295f72593a4cc4">FP_GOLDILOCKS_sqr</a></div><div class="ttdeci">void FP_GOLDILOCKS_sqr(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:366</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_aa98531061c674cfd9598f0654ecd9aed"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#aa98531061c674cfd9598f0654ecd9aed">FP_GOLDILOCKS_nres</a></div><div class="ttdeci">void FP_GOLDILOCKS_nres(FP_GOLDILOCKS *y, BIG_448_58 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:90</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_acba9c084f6e7ffc172c2b9355b5576cf"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#acba9c084f6e7ffc172c2b9355b5576cf">FP_GOLDILOCKS_zero</a></div><div class="ttdeci">void FP_GOLDILOCKS_zero(FP_GOLDILOCKS *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:251</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a1b308b595c7e259e2c54c05c2b880322"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a1b308b595c7e259e2c54c05c2b880322">FP_GOLDILOCKS_add</a></div><div class="ttdeci">void FP_GOLDILOCKS_add(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y, FP_GOLDILOCKS *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:385</div></div>
+<div class="ttc" id="fp__GOLDILOCKS_8h_html_a36126d99f7b367a57a295f72593a4cc4"><div class="ttname"><a href="fp__GOLDILOCKS_8h.html#a36126d99f7b367a57a295f72593a4cc4">FP_GOLDILOCKS_sqr</a></div><div class="ttdeci">void FP_GOLDILOCKS_sqr(FP_GOLDILOCKS *x, FP_GOLDILOCKS *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_GOLDILOCKS.c:366</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/fp__HIFIVE_8h.html b/website/static/cdocs/fp__HIFIVE_8h.html
index ede998e..77574cc 100644
--- a/website/static/cdocs/fp__HIFIVE_8h.html
+++ b/website/static/cdocs/fp__HIFIVE_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: fp_HIFIVE.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"
@@ -1195,7 +1198,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/fp__HIFIVE_8h_source.html b/website/static/cdocs/fp__HIFIVE_8h_source.html
index 95e50fc..543c90c 100644
--- a/website/static/cdocs/fp__HIFIVE_8h_source.html
+++ b/website/static/cdocs/fp__HIFIVE_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: fp_HIFIVE.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,49 +72,49 @@
 <div class="title">fp_HIFIVE.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__HIFIVE_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 FP_HIFIVE_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_HIFIVE_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 &quot;<a class="code" href="big__336__60_8h.html">big_336_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_HIFIVE.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__HIFIVE.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d">   40</a></span>&#160;    <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__HIFIVE.html#adaea8170bacc32993cff365e3616fee7">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__HIFIVE.html#adaea8170bacc32993cff365e3616fee7">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="fp__HIFIVE_8h.html#a189aaec49cb36c79a03ee076e3ffab87">Modulus_HIFIVE</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="fp__HIFIVE_8h.html#a72bdadf107db2d6cdce7fc687d37ad18">R2modp_HIFIVE</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__HIFIVE_8h.html#a9b8f32b6cc4c981e7986b4a543e840fa">MConst_HIFIVE</a>;               </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a08c92de6c797e0836192a06cdf68c674">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_HIFIVE MBITS_HIFIVE                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a19f19da79f660598a9963bcc19174fa1">   52</a></span>&#160;<span class="preprocessor">#define TBITS_HIFIVE (MBITS_HIFIVE%BASEBITS_336_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a027ca9deb396cf742b0888dac9863374">   53</a></span>&#160;<span class="preprocessor">#define TMASK_HIFIVE (((chunk)1&lt;&lt;TBITS_HIFIVE)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a17ffc867f3aa99310db749a7ba510f7d">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_HIFIVE (((sign32)1&lt;&lt;MAXXES_HIFIVE)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a3f6ef0baec26453c5925ff0da0b27bde">   55</a></span>&#160;<span class="preprocessor">#define OMASK_HIFIVE (-((chunk)(1)&lt;&lt;TBITS_HIFIVE))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__HIFIVE_8h.html#a95cbe5d3b00a19bf81c9e02498cb72bd">FP_HIFIVE_iszilch</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ad1ffcfbad020b7ef0efc376f2a3c791c">FP_HIFIVE_zero</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a2d2486b559be8c6f736dd8d8f4d2ee1b">FP_HIFIVE_copy</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ab4a2d7b9fd9505fa3062c835fb1924ca">FP_HIFIVE_rcopy</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__HIFIVE_8h.html#a22559c6e048ecc3624a0ff501127f835">FP_HIFIVE_equals</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__HIFIVE_8h.html#ae7906551bdced9625871c178b0ca6b5b">FP_HIFIVE_cswap</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</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="fp__HIFIVE_8h.html#af9b444b604c2576ca18b9585f60a5fa3">FP_HIFIVE_cmove</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</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="fp__HIFIVE_8h.html#ab0026e951ef78de41a8804730ee55049">FP_HIFIVE_nres</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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="fp__HIFIVE_8h.html#a1c158a790b3d9e109ec69662e7a7fa68">FP_HIFIVE_redc</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a17dd95c3e5df305d65e270e82fa95c5f">FP_HIFIVE_one</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a8c47748d27117c7e3fbd04f40f65f621">FP_HIFIVE_mod</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> r,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_HIFIVE_modmul(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__HIFIVE_8h.html#a6c8f3fd99d6cc3f5151835efce3163f4">FP_HIFIVE_mul</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *z);</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="fp__HIFIVE_8h.html#a6d8492eb567d02323cbfe55e79bf2141">FP_HIFIVE_imul</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a389261777fbf33bbf5d19e8a490fe62e">FP_HIFIVE_sqr</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a3c77035cfa5c245ff7f7a820af42bacd">FP_HIFIVE_add</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a21747d8103599945c6e10ce5178f3691">FP_HIFIVE_sub</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a106b2cca3fcbe6e56d2dbcc840a219c7">FP_HIFIVE_div2</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#abdc3fbf388d76dddfe40d0f85f8abc6f">FP_HIFIVE_pow</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ab04e954ce9b3b0e08ef727bbb8d1d676">FP_HIFIVE_sqrt</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ae113a4564922e19f17838f7d93cf7234">FP_HIFIVE_neg</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a29926ceff76d7235889c3be685916274">FP_HIFIVE_output</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a757c4c186626dcaa5f47fdb1f3751d99">FP_HIFIVE_rawoutput</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a6a2d8805efdb06fd94466736037b82e8">FP_HIFIVE_reduce</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a4d516903cc385879db40d5d4e2331bde">FP_HIFIVE_norm</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__HIFIVE_8h.html#ae2eb0050bc2c77f12ed07e5a13812089">FP_HIFIVE_qr</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a1784d5b50d9f341d13fc4bc6cd880ebe">FP_HIFIVE_inv</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__HIFIVE_8h_html_a2d2486b559be8c6f736dd8d8f4d2ee1b"><div class="ttname"><a href="fp__HIFIVE_8h.html#a2d2486b559be8c6f736dd8d8f4d2ee1b">FP_HIFIVE_copy</a></div><div class="ttdeci">void FP_HIFIVE_copy(FP_HIFIVE *y, FP_HIFIVE *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:216</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a29926ceff76d7235889c3be685916274"><div class="ttname"><a href="fp__HIFIVE_8h.html#a29926ceff76d7235889c3be685916274">FP_HIFIVE_output</a></div><div class="ttdeci">void FP_HIFIVE_output(FP_HIFIVE *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:270</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a6a2d8805efdb06fd94466736037b82e8"><div class="ttname"><a href="fp__HIFIVE_8h.html#a6a2d8805efdb06fd94466736037b82e8">FP_HIFIVE_reduce</a></div><div class="ttdeci">void FP_HIFIVE_reduce(FP_HIFIVE *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:449</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_ae7906551bdced9625871c178b0ca6b5b"><div class="ttname"><a href="fp__HIFIVE_8h.html#ae7906551bdced9625871c178b0ca6b5b">FP_HIFIVE_cswap</a></div><div class="ttdeci">void FP_HIFIVE_cswap(FP_HIFIVE *x, FP_HIFIVE *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:230</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a106b2cca3fcbe6e56d2dbcc840a219c7"><div class="ttname"><a href="fp__HIFIVE_8h.html#a106b2cca3fcbe6e56d2dbcc840a219c7">FP_HIFIVE_div2</a></div><div class="ttdeci">void FP_HIFIVE_div2(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:515</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_ab04e954ce9b3b0e08ef727bbb8d1d676"><div class="ttname"><a href="fp__HIFIVE_8h.html#ab04e954ce9b3b0e08ef727bbb8d1d676">FP_HIFIVE_sqrt</a></div><div class="ttdeci">void FP_HIFIVE_sqrt(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:747</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a6c8f3fd99d6cc3f5151835efce3163f4"><div class="ttname"><a href="fp__HIFIVE_8h.html#a6c8f3fd99d6cc3f5151835efce3163f4">FP_HIFIVE_mul</a></div><div class="ttdeci">void FP_HIFIVE_mul(FP_HIFIVE *x, FP_HIFIVE *y, FP_HIFIVE *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:297</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a1784d5b50d9f341d13fc4bc6cd880ebe"><div class="ttname"><a href="fp__HIFIVE_8h.html#a1784d5b50d9f341d13fc4bc6cd880ebe">FP_HIFIVE_inv</a></div><div class="ttdeci">void FP_HIFIVE_inv(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:648</div></div>
+<a href="fp__HIFIVE_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 FP_HIFIVE_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_HIFIVE_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 &quot;<a class="code" href="big__336__60_8h.html">big_336_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_HIFIVE.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__HIFIVE.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d">   40</a></span>&#160;    <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__HIFIVE.html#adaea8170bacc32993cff365e3616fee7">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__HIFIVE.html#adaea8170bacc32993cff365e3616fee7">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="fp__HIFIVE_8h.html#a189aaec49cb36c79a03ee076e3ffab87">Modulus_HIFIVE</a>; </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> <a class="code" href="fp__HIFIVE_8h.html#a72bdadf107db2d6cdce7fc687d37ad18">R2modp_HIFIVE</a>;  </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__HIFIVE_8h.html#a9b8f32b6cc4c981e7986b4a543e840fa">MConst_HIFIVE</a>;       </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a08c92de6c797e0836192a06cdf68c674">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_HIFIVE MBITS_HIFIVE                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a19f19da79f660598a9963bcc19174fa1">   52</a></span>&#160;<span class="preprocessor">#define TBITS_HIFIVE (MBITS_HIFIVE%BASEBITS_336_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a027ca9deb396cf742b0888dac9863374">   53</a></span>&#160;<span class="preprocessor">#define TMASK_HIFIVE (((chunk)1&lt;&lt;TBITS_HIFIVE)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a17ffc867f3aa99310db749a7ba510f7d">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_HIFIVE (((sign32)1&lt;&lt;MAXXES_HIFIVE)-1)        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__HIFIVE_8h.html#a3f6ef0baec26453c5925ff0da0b27bde">   55</a></span>&#160;<span class="preprocessor">#define OMASK_HIFIVE (-((chunk)(1)&lt;&lt;TBITS_HIFIVE))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__HIFIVE_8h.html#a95cbe5d3b00a19bf81c9e02498cb72bd">FP_HIFIVE_iszilch</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ad1ffcfbad020b7ef0efc376f2a3c791c">FP_HIFIVE_zero</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a2d2486b559be8c6f736dd8d8f4d2ee1b">FP_HIFIVE_copy</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ab4a2d7b9fd9505fa3062c835fb1924ca">FP_HIFIVE_rcopy</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<span class="keyword">const</span> <a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__HIFIVE_8h.html#a22559c6e048ecc3624a0ff501127f835">FP_HIFIVE_equals</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__HIFIVE_8h.html#ae7906551bdced9625871c178b0ca6b5b">FP_HIFIVE_cswap</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</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="fp__HIFIVE_8h.html#af9b444b604c2576ca18b9585f60a5fa3">FP_HIFIVE_cmove</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</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="fp__HIFIVE_8h.html#ab0026e951ef78de41a8804730ee55049">FP_HIFIVE_nres</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</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="fp__HIFIVE_8h.html#a1c158a790b3d9e109ec69662e7a7fa68">FP_HIFIVE_redc</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a17dd95c3e5df305d65e270e82fa95c5f">FP_HIFIVE_one</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a8c47748d27117c7e3fbd04f40f65f621">FP_HIFIVE_mod</a>(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> r,<a class="code" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_HIFIVE_modmul(<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__HIFIVE_8h.html#a6c8f3fd99d6cc3f5151835efce3163f4">FP_HIFIVE_mul</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *z);</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="fp__HIFIVE_8h.html#a6d8492eb567d02323cbfe55e79bf2141">FP_HIFIVE_imul</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a389261777fbf33bbf5d19e8a490fe62e">FP_HIFIVE_sqr</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a3c77035cfa5c245ff7f7a820af42bacd">FP_HIFIVE_add</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a21747d8103599945c6e10ce5178f3691">FP_HIFIVE_sub</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a106b2cca3fcbe6e56d2dbcc840a219c7">FP_HIFIVE_div2</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#abdc3fbf388d76dddfe40d0f85f8abc6f">FP_HIFIVE_pow</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y,<a class="code" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ab04e954ce9b3b0e08ef727bbb8d1d676">FP_HIFIVE_sqrt</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#ae113a4564922e19f17838f7d93cf7234">FP_HIFIVE_neg</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a29926ceff76d7235889c3be685916274">FP_HIFIVE_output</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a757c4c186626dcaa5f47fdb1f3751d99">FP_HIFIVE_rawoutput</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a6a2d8805efdb06fd94466736037b82e8">FP_HIFIVE_reduce</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a4d516903cc385879db40d5d4e2331bde">FP_HIFIVE_norm</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__HIFIVE_8h.html#ae2eb0050bc2c77f12ed07e5a13812089">FP_HIFIVE_qr</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__HIFIVE_8h.html#a1784d5b50d9f341d13fc4bc6cd880ebe">FP_HIFIVE_inv</a>(<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *x,<a class="code" href="structFP__HIFIVE.html">FP_HIFIVE</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__HIFIVE_8h_html_a2d2486b559be8c6f736dd8d8f4d2ee1b"><div class="ttname"><a href="fp__HIFIVE_8h.html#a2d2486b559be8c6f736dd8d8f4d2ee1b">FP_HIFIVE_copy</a></div><div class="ttdeci">void FP_HIFIVE_copy(FP_HIFIVE *y, FP_HIFIVE *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:216</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a29926ceff76d7235889c3be685916274"><div class="ttname"><a href="fp__HIFIVE_8h.html#a29926ceff76d7235889c3be685916274">FP_HIFIVE_output</a></div><div class="ttdeci">void FP_HIFIVE_output(FP_HIFIVE *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:270</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a6a2d8805efdb06fd94466736037b82e8"><div class="ttname"><a href="fp__HIFIVE_8h.html#a6a2d8805efdb06fd94466736037b82e8">FP_HIFIVE_reduce</a></div><div class="ttdeci">void FP_HIFIVE_reduce(FP_HIFIVE *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:449</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_ae7906551bdced9625871c178b0ca6b5b"><div class="ttname"><a href="fp__HIFIVE_8h.html#ae7906551bdced9625871c178b0ca6b5b">FP_HIFIVE_cswap</a></div><div class="ttdeci">void FP_HIFIVE_cswap(FP_HIFIVE *x, FP_HIFIVE *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:230</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a106b2cca3fcbe6e56d2dbcc840a219c7"><div class="ttname"><a href="fp__HIFIVE_8h.html#a106b2cca3fcbe6e56d2dbcc840a219c7">FP_HIFIVE_div2</a></div><div class="ttdeci">void FP_HIFIVE_div2(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:515</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_ab04e954ce9b3b0e08ef727bbb8d1d676"><div class="ttname"><a href="fp__HIFIVE_8h.html#ab04e954ce9b3b0e08ef727bbb8d1d676">FP_HIFIVE_sqrt</a></div><div class="ttdeci">void FP_HIFIVE_sqrt(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:747</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a6c8f3fd99d6cc3f5151835efce3163f4"><div class="ttname"><a href="fp__HIFIVE_8h.html#a6c8f3fd99d6cc3f5151835efce3163f4">FP_HIFIVE_mul</a></div><div class="ttdeci">void FP_HIFIVE_mul(FP_HIFIVE *x, FP_HIFIVE *y, FP_HIFIVE *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:297</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a1784d5b50d9f341d13fc4bc6cd880ebe"><div class="ttname"><a href="fp__HIFIVE_8h.html#a1784d5b50d9f341d13fc4bc6cd880ebe">FP_HIFIVE_inv</a></div><div class="ttdeci">void FP_HIFIVE_inv(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:648</div></div>
 <div class="ttc" id="big__336__60_8h_html_a43cd5984d14e5bce79a1dd36a17ec7e1"><div class="ttname"><a href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">BIG_336_60</a></div><div class="ttdeci">chunk BIG_336_60[NLEN_336_60]</div><div class="ttdef"><b>Definition:</b> big_336_60.h:58</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a3c77035cfa5c245ff7f7a820af42bacd"><div class="ttname"><a href="fp__HIFIVE_8h.html#a3c77035cfa5c245ff7f7a820af42bacd">FP_HIFIVE_add</a></div><div class="ttdeci">void FP_HIFIVE_add(FP_HIFIVE *x, FP_HIFIVE *y, FP_HIFIVE *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:385</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a3c77035cfa5c245ff7f7a820af42bacd"><div class="ttname"><a href="fp__HIFIVE_8h.html#a3c77035cfa5c245ff7f7a820af42bacd">FP_HIFIVE_add</a></div><div class="ttdeci">void FP_HIFIVE_add(FP_HIFIVE *x, FP_HIFIVE *y, FP_HIFIVE *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:385</div></div>
 <div class="ttc" id="structFP__HIFIVE_html_adaea8170bacc32993cff365e3616fee7"><div class="ttname"><a href="structFP__HIFIVE.html#adaea8170bacc32993cff365e3616fee7">FP_HIFIVE::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.h:41</div></div>
 <div class="ttc" id="structFP__HIFIVE_html_ab38bf6046806343bd3bb51988658b45d"><div class="ttname"><a href="structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d">FP_HIFIVE::g</a></div><div class="ttdeci">BIG_336_60 g</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.h:40</div></div>
 <div class="ttc" id="fp__HIFIVE_8h_html_a72bdadf107db2d6cdce7fc687d37ad18"><div class="ttname"><a href="fp__HIFIVE_8h.html#a72bdadf107db2d6cdce7fc687d37ad18">R2modp_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 R2modp_HIFIVE</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a95cbe5d3b00a19bf81c9e02498cb72bd"><div class="ttname"><a href="fp__HIFIVE_8h.html#a95cbe5d3b00a19bf81c9e02498cb72bd">FP_HIFIVE_iszilch</a></div><div class="ttdeci">int FP_HIFIVE_iszilch(FP_HIFIVE *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:207</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_af9b444b604c2576ca18b9585f60a5fa3"><div class="ttname"><a href="fp__HIFIVE_8h.html#af9b444b604c2576ca18b9585f60a5fa3">FP_HIFIVE_cmove</a></div><div class="ttdeci">void FP_HIFIVE_cmove(FP_HIFIVE *x, FP_HIFIVE *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:243</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a95cbe5d3b00a19bf81c9e02498cb72bd"><div class="ttname"><a href="fp__HIFIVE_8h.html#a95cbe5d3b00a19bf81c9e02498cb72bd">FP_HIFIVE_iszilch</a></div><div class="ttdeci">int FP_HIFIVE_iszilch(FP_HIFIVE *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:207</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_af9b444b604c2576ca18b9585f60a5fa3"><div class="ttname"><a href="fp__HIFIVE_8h.html#af9b444b604c2576ca18b9585f60a5fa3">FP_HIFIVE_cmove</a></div><div class="ttdeci">void FP_HIFIVE_cmove(FP_HIFIVE *x, FP_HIFIVE *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:243</div></div>
 <div class="ttc" id="fp__HIFIVE_8h_html_a189aaec49cb36c79a03ee076e3ffab87"><div class="ttname"><a href="fp__HIFIVE_8h.html#a189aaec49cb36c79a03ee076e3ffab87">Modulus_HIFIVE</a></div><div class="ttdeci">const BIG_336_60 Modulus_HIFIVE</div></div>
-<div class="ttc" id="big__336__60_8h_html"><div class="ttname"><a href="big__336__60_8h.html">big_336_60.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_ae2eb0050bc2c77f12ed07e5a13812089"><div class="ttname"><a href="fp__HIFIVE_8h.html#ae2eb0050bc2c77f12ed07e5a13812089">FP_HIFIVE_qr</a></div><div class="ttdeci">int FP_HIFIVE_qr(FP_HIFIVE *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:731</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a4d516903cc385879db40d5d4e2331bde"><div class="ttname"><a href="fp__HIFIVE_8h.html#a4d516903cc385879db40d5d4e2331bde">FP_HIFIVE_norm</a></div><div class="ttdeci">void FP_HIFIVE_norm(FP_HIFIVE *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:484</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a8c47748d27117c7e3fbd04f40f65f621"><div class="ttname"><a href="fp__HIFIVE_8h.html#a8c47748d27117c7e3fbd04f40f65f621">FP_HIFIVE_mod</a></div><div class="ttdeci">void FP_HIFIVE_mod(BIG_336_60 r, DBIG_336_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:103</div></div>
-<div class="ttc" id="structFP__HIFIVE_html"><div class="ttname"><a href="structFP__HIFIVE.html">FP_HIFIVE</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.h:38</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a389261777fbf33bbf5d19e8a490fe62e"><div class="ttname"><a href="fp__HIFIVE_8h.html#a389261777fbf33bbf5d19e8a490fe62e">FP_HIFIVE_sqr</a></div><div class="ttdeci">void FP_HIFIVE_sqr(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:366</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a1c158a790b3d9e109ec69662e7a7fa68"><div class="ttname"><a href="fp__HIFIVE_8h.html#a1c158a790b3d9e109ec69662e7a7fa68">FP_HIFIVE_redc</a></div><div class="ttdeci">void FP_HIFIVE_redc(BIG_336_60 x, FP_HIFIVE *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:97</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a17dd95c3e5df305d65e270e82fa95c5f"><div class="ttname"><a href="fp__HIFIVE_8h.html#a17dd95c3e5df305d65e270e82fa95c5f">FP_HIFIVE_one</a></div><div class="ttdeci">void FP_HIFIVE_one(FP_HIFIVE *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:723</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_ab4a2d7b9fd9505fa3062c835fb1924ca"><div class="ttname"><a href="fp__HIFIVE_8h.html#ab4a2d7b9fd9505fa3062c835fb1924ca">FP_HIFIVE_rcopy</a></div><div class="ttdeci">void FP_HIFIVE_rcopy(FP_HIFIVE *y, const BIG_336_60 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:222</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_ab0026e951ef78de41a8804730ee55049"><div class="ttname"><a href="fp__HIFIVE_8h.html#ab0026e951ef78de41a8804730ee55049">FP_HIFIVE_nres</a></div><div class="ttdeci">void FP_HIFIVE_nres(FP_HIFIVE *y, BIG_336_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:90</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a22559c6e048ecc3624a0ff501127f835"><div class="ttname"><a href="fp__HIFIVE_8h.html#a22559c6e048ecc3624a0ff501127f835">FP_HIFIVE_equals</a></div><div class="ttdeci">int FP_HIFIVE_equals(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:257</div></div>
+<div class="ttc" id="big__336__60_8h_html"><div class="ttname"><a href="big__336__60_8h.html">big_336_60.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_ae2eb0050bc2c77f12ed07e5a13812089"><div class="ttname"><a href="fp__HIFIVE_8h.html#ae2eb0050bc2c77f12ed07e5a13812089">FP_HIFIVE_qr</a></div><div class="ttdeci">int FP_HIFIVE_qr(FP_HIFIVE *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:731</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a4d516903cc385879db40d5d4e2331bde"><div class="ttname"><a href="fp__HIFIVE_8h.html#a4d516903cc385879db40d5d4e2331bde">FP_HIFIVE_norm</a></div><div class="ttdeci">void FP_HIFIVE_norm(FP_HIFIVE *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:484</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a8c47748d27117c7e3fbd04f40f65f621"><div class="ttname"><a href="fp__HIFIVE_8h.html#a8c47748d27117c7e3fbd04f40f65f621">FP_HIFIVE_mod</a></div><div class="ttdeci">void FP_HIFIVE_mod(BIG_336_60 r, DBIG_336_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:103</div></div>
+<div class="ttc" id="structFP__HIFIVE_html"><div class="ttname"><a href="structFP__HIFIVE.html">FP_HIFIVE</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.h:38</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a389261777fbf33bbf5d19e8a490fe62e"><div class="ttname"><a href="fp__HIFIVE_8h.html#a389261777fbf33bbf5d19e8a490fe62e">FP_HIFIVE_sqr</a></div><div class="ttdeci">void FP_HIFIVE_sqr(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:366</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a1c158a790b3d9e109ec69662e7a7fa68"><div class="ttname"><a href="fp__HIFIVE_8h.html#a1c158a790b3d9e109ec69662e7a7fa68">FP_HIFIVE_redc</a></div><div class="ttdeci">void FP_HIFIVE_redc(BIG_336_60 x, FP_HIFIVE *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:97</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a17dd95c3e5df305d65e270e82fa95c5f"><div class="ttname"><a href="fp__HIFIVE_8h.html#a17dd95c3e5df305d65e270e82fa95c5f">FP_HIFIVE_one</a></div><div class="ttdeci">void FP_HIFIVE_one(FP_HIFIVE *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:723</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_ab4a2d7b9fd9505fa3062c835fb1924ca"><div class="ttname"><a href="fp__HIFIVE_8h.html#ab4a2d7b9fd9505fa3062c835fb1924ca">FP_HIFIVE_rcopy</a></div><div class="ttdeci">void FP_HIFIVE_rcopy(FP_HIFIVE *y, const BIG_336_60 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:222</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_ab0026e951ef78de41a8804730ee55049"><div class="ttname"><a href="fp__HIFIVE_8h.html#ab0026e951ef78de41a8804730ee55049">FP_HIFIVE_nres</a></div><div class="ttdeci">void FP_HIFIVE_nres(FP_HIFIVE *y, BIG_336_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:90</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a22559c6e048ecc3624a0ff501127f835"><div class="ttname"><a href="fp__HIFIVE_8h.html#a22559c6e048ecc3624a0ff501127f835">FP_HIFIVE_equals</a></div><div class="ttdeci">int FP_HIFIVE_equals(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:257</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a757c4c186626dcaa5f47fdb1f3751d99"><div class="ttname"><a href="fp__HIFIVE_8h.html#a757c4c186626dcaa5f47fdb1f3751d99">FP_HIFIVE_rawoutput</a></div><div class="ttdeci">void FP_HIFIVE_rawoutput(FP_HIFIVE *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:277</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a21747d8103599945c6e10ce5178f3691"><div class="ttname"><a href="fp__HIFIVE_8h.html#a21747d8103599945c6e10ce5178f3691">FP_HIFIVE_sub</a></div><div class="ttdeci">void FP_HIFIVE_sub(FP_HIFIVE *x, FP_HIFIVE *y, FP_HIFIVE *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:400</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a757c4c186626dcaa5f47fdb1f3751d99"><div class="ttname"><a href="fp__HIFIVE_8h.html#a757c4c186626dcaa5f47fdb1f3751d99">FP_HIFIVE_rawoutput</a></div><div class="ttdeci">void FP_HIFIVE_rawoutput(FP_HIFIVE *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:277</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a21747d8103599945c6e10ce5178f3691"><div class="ttname"><a href="fp__HIFIVE_8h.html#a21747d8103599945c6e10ce5178f3691">FP_HIFIVE_sub</a></div><div class="ttdeci">void FP_HIFIVE_sub(FP_HIFIVE *x, FP_HIFIVE *y, FP_HIFIVE *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:400</div></div>
 <div class="ttc" id="big__336__60_8h_html_a70c432ae6e91b20f991bec94badb11d6"><div class="ttname"><a href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">DBIG_336_60</a></div><div class="ttdeci">chunk DBIG_336_60[DNLEN_336_60]</div><div class="ttdef"><b>Definition:</b> big_336_60.h:59</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="fp__HIFIVE_8h_html_ad1ffcfbad020b7ef0efc376f2a3c791c"><div class="ttname"><a href="fp__HIFIVE_8h.html#ad1ffcfbad020b7ef0efc376f2a3c791c">FP_HIFIVE_zero</a></div><div class="ttdeci">void FP_HIFIVE_zero(FP_HIFIVE *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:251</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_ad1ffcfbad020b7ef0efc376f2a3c791c"><div class="ttname"><a href="fp__HIFIVE_8h.html#ad1ffcfbad020b7ef0efc376f2a3c791c">FP_HIFIVE_zero</a></div><div class="ttdeci">void FP_HIFIVE_zero(FP_HIFIVE *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:251</div></div>
 <div class="ttc" id="fp__HIFIVE_8h_html_a9b8f32b6cc4c981e7986b4a543e840fa"><div class="ttname"><a href="fp__HIFIVE_8h.html#a9b8f32b6cc4c981e7986b4a543e840fa">MConst_HIFIVE</a></div><div class="ttdeci">const chunk MConst_HIFIVE</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_abdc3fbf388d76dddfe40d0f85f8abc6f"><div class="ttname"><a href="fp__HIFIVE_8h.html#abdc3fbf388d76dddfe40d0f85f8abc6f">FP_HIFIVE_pow</a></div><div class="ttdeci">void FP_HIFIVE_pow(FP_HIFIVE *x, FP_HIFIVE *y, BIG_336_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_a6d8492eb567d02323cbfe55e79bf2141"><div class="ttname"><a href="fp__HIFIVE_8h.html#a6d8492eb567d02323cbfe55e79bf2141">FP_HIFIVE_imul</a></div><div class="ttdeci">void FP_HIFIVE_imul(FP_HIFIVE *x, FP_HIFIVE *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:321</div></div>
-<div class="ttc" id="fp__HIFIVE_8h_html_ae113a4564922e19f17838f7d93cf7234"><div class="ttname"><a href="fp__HIFIVE_8h.html#ae113a4564922e19f17838f7d93cf7234">FP_HIFIVE_neg</a></div><div class="ttdeci">void FP_HIFIVE_neg(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:491</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_abdc3fbf388d76dddfe40d0f85f8abc6f"><div class="ttname"><a href="fp__HIFIVE_8h.html#abdc3fbf388d76dddfe40d0f85f8abc6f">FP_HIFIVE_pow</a></div><div class="ttdeci">void FP_HIFIVE_pow(FP_HIFIVE *x, FP_HIFIVE *y, BIG_336_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_a6d8492eb567d02323cbfe55e79bf2141"><div class="ttname"><a href="fp__HIFIVE_8h.html#a6d8492eb567d02323cbfe55e79bf2141">FP_HIFIVE_imul</a></div><div class="ttdeci">void FP_HIFIVE_imul(FP_HIFIVE *x, FP_HIFIVE *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:321</div></div>
+<div class="ttc" id="fp__HIFIVE_8h_html_ae113a4564922e19f17838f7d93cf7234"><div class="ttname"><a href="fp__HIFIVE_8h.html#ae113a4564922e19f17838f7d93cf7234">FP_HIFIVE_neg</a></div><div class="ttdeci">void FP_HIFIVE_neg(FP_HIFIVE *x, FP_HIFIVE *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_HIFIVE.c:491</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/fp__NIST256_8h.html b/website/static/cdocs/fp__NIST256_8h.html
index 026a280..d4261bb 100644
--- a/website/static/cdocs/fp__NIST256_8h.html
+++ b/website/static/cdocs/fp__NIST256_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: fp_NIST256.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"
@@ -1195,7 +1198,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/fp__NIST256_8h_source.html b/website/static/cdocs/fp__NIST256_8h_source.html
index 0b682d1..9df84d6 100644
--- a/website/static/cdocs/fp__NIST256_8h_source.html
+++ b/website/static/cdocs/fp__NIST256_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: fp_NIST256.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,49 +72,49 @@
 <div class="title">fp_NIST256.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__NIST256_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 FP_NIST256_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_NIST256_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_NIST256.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__NIST256.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__NIST256.html#a0eddba8727bc8dfcfc6b4dd1acece15f">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__NIST256.html#a0eddba8727bc8dfcfc6b4dd1acece15f">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__NIST256.html">FP_NIST256</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__NIST256_8h.html#a325c1d7a187eded1d3697e6e0ab55451">Modulus_NIST256</a>;        </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__NIST256_8h.html#a7d20794d232bdcaa5a6a03454e5b2241">R2modp_NIST256</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__NIST256_8h.html#ab72c8101619750a46a92aa103a590551">MConst_NIST256</a>;              </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#ab23e4500717e2ed9e2e9734bd14898a7">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_NIST256 MBITS_NIST256                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#a163254dd428afeb6080c9c75e34811e5">   52</a></span>&#160;<span class="preprocessor">#define TBITS_NIST256 (MBITS_NIST256%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#acd8d5f140fa66f68f63fbbbed34da288">   53</a></span>&#160;<span class="preprocessor">#define TMASK_NIST256 (((chunk)1&lt;&lt;TBITS_NIST256)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#a4d2c2670a232a846467501e143b3363b">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_NIST256 (((sign32)1&lt;&lt;MAXXES_NIST256)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#aae4d7e3db16f3a886f7c03ac2491665a">   55</a></span>&#160;<span class="preprocessor">#define OMASK_NIST256 (-((chunk)(1)&lt;&lt;TBITS_NIST256))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST256_8h.html#acc63d1f1a0c14bc67e46ce7296ea7027">FP_NIST256_iszilch</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#add76b9339c606fee4081bbbb277942fc">FP_NIST256_zero</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a5e890a6504bd1f74eec2e0c90d882c88">FP_NIST256_copy</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a14b970347025c17a50c2762c68e715c8">FP_NIST256_rcopy</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST256_8h.html#a98ea44149511fa1bb2ad4ef35186e90b">FP_NIST256_equals</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__NIST256_8h.html#a6c7dd935ddc0f6090d1a4ded2136a58d">FP_NIST256_cswap</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</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="fp__NIST256_8h.html#a7f75aa46d3d67176463bdaec38cca111">FP_NIST256_cmove</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</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="fp__NIST256_8h.html#ad17e4d91b05ff8312012a001cee0ce96">FP_NIST256_nres</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__NIST256_8h.html#ac266e9c71c3ae3c261c778c14eb9f0b4">FP_NIST256_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a931d0d3ad9ce57763d0f521dd6c4b911">FP_NIST256_one</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a360b79149fe4c8460a7cdbf0ac8e248f">FP_NIST256_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_NIST256_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__NIST256_8h.html#aef8637c1b2906303fa9a77661c4541a4">FP_NIST256_mul</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *z);</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="fp__NIST256_8h.html#a6bf3d4429724f5c5aae46e4b6de375aa">FP_NIST256_imul</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a833dc32b90230e9879d382d948b5db8d">FP_NIST256_sqr</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a31ddd93e5a56037f28a42445b8e9019f">FP_NIST256_add</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a538430954863b17ee7de569412ab1136">FP_NIST256_sub</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a9758e8b7c1fa10cb91126f35e5895d3d">FP_NIST256_div2</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#ade1eee40e39cf57d24100cb3ca5580dd">FP_NIST256_pow</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a19539e255bc32da5ddb62dd8084d4f92">FP_NIST256_sqrt</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#aec47a44f1444c92105cf8d378cbd1939">FP_NIST256_neg</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#afca9ca17ef14231d6ef687d835ab5290">FP_NIST256_output</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#aee8ee1e1ed4be1f5e031a96ef4175760">FP_NIST256_rawoutput</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a2f1b3f20548f1efd928a0df2df35b607">FP_NIST256_reduce</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a4b2cbf94803681c261290c6c1b0abe10">FP_NIST256_norm</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST256_8h.html#afd41f2972300cfe2cca42d3124ad36ec">FP_NIST256_qr</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#ad425620e1f38ab930256bb0d3b94c919">FP_NIST256_inv</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__NIST256_8h_html_a360b79149fe4c8460a7cdbf0ac8e248f"><div class="ttname"><a href="fp__NIST256_8h.html#a360b79149fe4c8460a7cdbf0ac8e248f">FP_NIST256_mod</a></div><div class="ttdeci">void FP_NIST256_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:103</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a7f75aa46d3d67176463bdaec38cca111"><div class="ttname"><a href="fp__NIST256_8h.html#a7f75aa46d3d67176463bdaec38cca111">FP_NIST256_cmove</a></div><div class="ttdeci">void FP_NIST256_cmove(FP_NIST256 *x, FP_NIST256 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:243</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a19539e255bc32da5ddb62dd8084d4f92"><div class="ttname"><a href="fp__NIST256_8h.html#a19539e255bc32da5ddb62dd8084d4f92">FP_NIST256_sqrt</a></div><div class="ttdeci">void FP_NIST256_sqrt(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:747</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a538430954863b17ee7de569412ab1136"><div class="ttname"><a href="fp__NIST256_8h.html#a538430954863b17ee7de569412ab1136">FP_NIST256_sub</a></div><div class="ttdeci">void FP_NIST256_sub(FP_NIST256 *x, FP_NIST256 *y, FP_NIST256 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:400</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_afca9ca17ef14231d6ef687d835ab5290"><div class="ttname"><a href="fp__NIST256_8h.html#afca9ca17ef14231d6ef687d835ab5290">FP_NIST256_output</a></div><div class="ttdeci">void FP_NIST256_output(FP_NIST256 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:270</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a931d0d3ad9ce57763d0f521dd6c4b911"><div class="ttname"><a href="fp__NIST256_8h.html#a931d0d3ad9ce57763d0f521dd6c4b911">FP_NIST256_one</a></div><div class="ttdeci">void FP_NIST256_one(FP_NIST256 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:723</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a6bf3d4429724f5c5aae46e4b6de375aa"><div class="ttname"><a href="fp__NIST256_8h.html#a6bf3d4429724f5c5aae46e4b6de375aa">FP_NIST256_imul</a></div><div class="ttdeci">void FP_NIST256_imul(FP_NIST256 *x, FP_NIST256 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:321</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a5e890a6504bd1f74eec2e0c90d882c88"><div class="ttname"><a href="fp__NIST256_8h.html#a5e890a6504bd1f74eec2e0c90d882c88">FP_NIST256_copy</a></div><div class="ttdeci">void FP_NIST256_copy(FP_NIST256 *y, FP_NIST256 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:216</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_acc63d1f1a0c14bc67e46ce7296ea7027"><div class="ttname"><a href="fp__NIST256_8h.html#acc63d1f1a0c14bc67e46ce7296ea7027">FP_NIST256_iszilch</a></div><div class="ttdeci">int FP_NIST256_iszilch(FP_NIST256 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:207</div></div>
+<a href="fp__NIST256_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 FP_NIST256_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_NIST256_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_NIST256.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__NIST256.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__NIST256.html#a0eddba8727bc8dfcfc6b4dd1acece15f">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__NIST256.html#a0eddba8727bc8dfcfc6b4dd1acece15f">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__NIST256.html">FP_NIST256</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__NIST256_8h.html#a325c1d7a187eded1d3697e6e0ab55451">Modulus_NIST256</a>;    </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__NIST256_8h.html#a7d20794d232bdcaa5a6a03454e5b2241">R2modp_NIST256</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__NIST256_8h.html#ab72c8101619750a46a92aa103a590551">MConst_NIST256</a>;      </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#ab23e4500717e2ed9e2e9734bd14898a7">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_NIST256 MBITS_NIST256                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#a163254dd428afeb6080c9c75e34811e5">   52</a></span>&#160;<span class="preprocessor">#define TBITS_NIST256 (MBITS_NIST256%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#acd8d5f140fa66f68f63fbbbed34da288">   53</a></span>&#160;<span class="preprocessor">#define TMASK_NIST256 (((chunk)1&lt;&lt;TBITS_NIST256)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#a4d2c2670a232a846467501e143b3363b">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_NIST256 (((sign32)1&lt;&lt;MAXXES_NIST256)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__NIST256_8h.html#aae4d7e3db16f3a886f7c03ac2491665a">   55</a></span>&#160;<span class="preprocessor">#define OMASK_NIST256 (-((chunk)(1)&lt;&lt;TBITS_NIST256))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST256_8h.html#acc63d1f1a0c14bc67e46ce7296ea7027">FP_NIST256_iszilch</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#add76b9339c606fee4081bbbb277942fc">FP_NIST256_zero</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a5e890a6504bd1f74eec2e0c90d882c88">FP_NIST256_copy</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a14b970347025c17a50c2762c68e715c8">FP_NIST256_rcopy</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST256_8h.html#a98ea44149511fa1bb2ad4ef35186e90b">FP_NIST256_equals</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__NIST256_8h.html#a6c7dd935ddc0f6090d1a4ded2136a58d">FP_NIST256_cswap</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</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="fp__NIST256_8h.html#a7f75aa46d3d67176463bdaec38cca111">FP_NIST256_cmove</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</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="fp__NIST256_8h.html#ad17e4d91b05ff8312012a001cee0ce96">FP_NIST256_nres</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__NIST256_8h.html#ac266e9c71c3ae3c261c778c14eb9f0b4">FP_NIST256_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a931d0d3ad9ce57763d0f521dd6c4b911">FP_NIST256_one</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a360b79149fe4c8460a7cdbf0ac8e248f">FP_NIST256_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_NIST256_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__NIST256_8h.html#aef8637c1b2906303fa9a77661c4541a4">FP_NIST256_mul</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *z);</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="fp__NIST256_8h.html#a6bf3d4429724f5c5aae46e4b6de375aa">FP_NIST256_imul</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a833dc32b90230e9879d382d948b5db8d">FP_NIST256_sqr</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a31ddd93e5a56037f28a42445b8e9019f">FP_NIST256_add</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a538430954863b17ee7de569412ab1136">FP_NIST256_sub</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a9758e8b7c1fa10cb91126f35e5895d3d">FP_NIST256_div2</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#ade1eee40e39cf57d24100cb3ca5580dd">FP_NIST256_pow</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a19539e255bc32da5ddb62dd8084d4f92">FP_NIST256_sqrt</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#aec47a44f1444c92105cf8d378cbd1939">FP_NIST256_neg</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#afca9ca17ef14231d6ef687d835ab5290">FP_NIST256_output</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#aee8ee1e1ed4be1f5e031a96ef4175760">FP_NIST256_rawoutput</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a2f1b3f20548f1efd928a0df2df35b607">FP_NIST256_reduce</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#a4b2cbf94803681c261290c6c1b0abe10">FP_NIST256_norm</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST256_8h.html#afd41f2972300cfe2cca42d3124ad36ec">FP_NIST256_qr</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST256_8h.html#ad425620e1f38ab930256bb0d3b94c919">FP_NIST256_inv</a>(<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *x,<a class="code" href="structFP__NIST256.html">FP_NIST256</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__NIST256_8h_html_a360b79149fe4c8460a7cdbf0ac8e248f"><div class="ttname"><a href="fp__NIST256_8h.html#a360b79149fe4c8460a7cdbf0ac8e248f">FP_NIST256_mod</a></div><div class="ttdeci">void FP_NIST256_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:103</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a7f75aa46d3d67176463bdaec38cca111"><div class="ttname"><a href="fp__NIST256_8h.html#a7f75aa46d3d67176463bdaec38cca111">FP_NIST256_cmove</a></div><div class="ttdeci">void FP_NIST256_cmove(FP_NIST256 *x, FP_NIST256 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:243</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a19539e255bc32da5ddb62dd8084d4f92"><div class="ttname"><a href="fp__NIST256_8h.html#a19539e255bc32da5ddb62dd8084d4f92">FP_NIST256_sqrt</a></div><div class="ttdeci">void FP_NIST256_sqrt(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:747</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a538430954863b17ee7de569412ab1136"><div class="ttname"><a href="fp__NIST256_8h.html#a538430954863b17ee7de569412ab1136">FP_NIST256_sub</a></div><div class="ttdeci">void FP_NIST256_sub(FP_NIST256 *x, FP_NIST256 *y, FP_NIST256 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:400</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_afca9ca17ef14231d6ef687d835ab5290"><div class="ttname"><a href="fp__NIST256_8h.html#afca9ca17ef14231d6ef687d835ab5290">FP_NIST256_output</a></div><div class="ttdeci">void FP_NIST256_output(FP_NIST256 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:270</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a931d0d3ad9ce57763d0f521dd6c4b911"><div class="ttname"><a href="fp__NIST256_8h.html#a931d0d3ad9ce57763d0f521dd6c4b911">FP_NIST256_one</a></div><div class="ttdeci">void FP_NIST256_one(FP_NIST256 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:723</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a6bf3d4429724f5c5aae46e4b6de375aa"><div class="ttname"><a href="fp__NIST256_8h.html#a6bf3d4429724f5c5aae46e4b6de375aa">FP_NIST256_imul</a></div><div class="ttdeci">void FP_NIST256_imul(FP_NIST256 *x, FP_NIST256 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:321</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a5e890a6504bd1f74eec2e0c90d882c88"><div class="ttname"><a href="fp__NIST256_8h.html#a5e890a6504bd1f74eec2e0c90d882c88">FP_NIST256_copy</a></div><div class="ttdeci">void FP_NIST256_copy(FP_NIST256 *y, FP_NIST256 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:216</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_acc63d1f1a0c14bc67e46ce7296ea7027"><div class="ttname"><a href="fp__NIST256_8h.html#acc63d1f1a0c14bc67e46ce7296ea7027">FP_NIST256_iszilch</a></div><div class="ttdeci">int FP_NIST256_iszilch(FP_NIST256 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:207</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_add76b9339c606fee4081bbbb277942fc"><div class="ttname"><a href="fp__NIST256_8h.html#add76b9339c606fee4081bbbb277942fc">FP_NIST256_zero</a></div><div class="ttdeci">void FP_NIST256_zero(FP_NIST256 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:251</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_add76b9339c606fee4081bbbb277942fc"><div class="ttname"><a href="fp__NIST256_8h.html#add76b9339c606fee4081bbbb277942fc">FP_NIST256_zero</a></div><div class="ttdeci">void FP_NIST256_zero(FP_NIST256 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:251</div></div>
 <div class="ttc" id="structFP__NIST256_html_a0eddba8727bc8dfcfc6b4dd1acece15f"><div class="ttname"><a href="structFP__NIST256.html#a0eddba8727bc8dfcfc6b4dd1acece15f">FP_NIST256::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_NIST256.h:41</div></div>
-<div class="ttc" id="structFP__NIST256_html"><div class="ttname"><a href="structFP__NIST256.html">FP_NIST256</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.h:38</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a4b2cbf94803681c261290c6c1b0abe10"><div class="ttname"><a href="fp__NIST256_8h.html#a4b2cbf94803681c261290c6c1b0abe10">FP_NIST256_norm</a></div><div class="ttdeci">void FP_NIST256_norm(FP_NIST256 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:484</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a14b970347025c17a50c2762c68e715c8"><div class="ttname"><a href="fp__NIST256_8h.html#a14b970347025c17a50c2762c68e715c8">FP_NIST256_rcopy</a></div><div class="ttdeci">void FP_NIST256_rcopy(FP_NIST256 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:222</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a98ea44149511fa1bb2ad4ef35186e90b"><div class="ttname"><a href="fp__NIST256_8h.html#a98ea44149511fa1bb2ad4ef35186e90b">FP_NIST256_equals</a></div><div class="ttdeci">int FP_NIST256_equals(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:257</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a9758e8b7c1fa10cb91126f35e5895d3d"><div class="ttname"><a href="fp__NIST256_8h.html#a9758e8b7c1fa10cb91126f35e5895d3d">FP_NIST256_div2</a></div><div class="ttdeci">void FP_NIST256_div2(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:515</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_afd41f2972300cfe2cca42d3124ad36ec"><div class="ttname"><a href="fp__NIST256_8h.html#afd41f2972300cfe2cca42d3124ad36ec">FP_NIST256_qr</a></div><div class="ttdeci">int FP_NIST256_qr(FP_NIST256 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:731</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_ad425620e1f38ab930256bb0d3b94c919"><div class="ttname"><a href="fp__NIST256_8h.html#ad425620e1f38ab930256bb0d3b94c919">FP_NIST256_inv</a></div><div class="ttdeci">void FP_NIST256_inv(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:648</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a31ddd93e5a56037f28a42445b8e9019f"><div class="ttname"><a href="fp__NIST256_8h.html#a31ddd93e5a56037f28a42445b8e9019f">FP_NIST256_add</a></div><div class="ttdeci">void FP_NIST256_add(FP_NIST256 *x, FP_NIST256 *y, FP_NIST256 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:385</div></div>
+<div class="ttc" id="structFP__NIST256_html"><div class="ttname"><a href="structFP__NIST256.html">FP_NIST256</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.h:38</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a4b2cbf94803681c261290c6c1b0abe10"><div class="ttname"><a href="fp__NIST256_8h.html#a4b2cbf94803681c261290c6c1b0abe10">FP_NIST256_norm</a></div><div class="ttdeci">void FP_NIST256_norm(FP_NIST256 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:484</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a14b970347025c17a50c2762c68e715c8"><div class="ttname"><a href="fp__NIST256_8h.html#a14b970347025c17a50c2762c68e715c8">FP_NIST256_rcopy</a></div><div class="ttdeci">void FP_NIST256_rcopy(FP_NIST256 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:222</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a98ea44149511fa1bb2ad4ef35186e90b"><div class="ttname"><a href="fp__NIST256_8h.html#a98ea44149511fa1bb2ad4ef35186e90b">FP_NIST256_equals</a></div><div class="ttdeci">int FP_NIST256_equals(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:257</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a9758e8b7c1fa10cb91126f35e5895d3d"><div class="ttname"><a href="fp__NIST256_8h.html#a9758e8b7c1fa10cb91126f35e5895d3d">FP_NIST256_div2</a></div><div class="ttdeci">void FP_NIST256_div2(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:515</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_afd41f2972300cfe2cca42d3124ad36ec"><div class="ttname"><a href="fp__NIST256_8h.html#afd41f2972300cfe2cca42d3124ad36ec">FP_NIST256_qr</a></div><div class="ttdeci">int FP_NIST256_qr(FP_NIST256 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:731</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__NIST256_8h_html_ad425620e1f38ab930256bb0d3b94c919"><div class="ttname"><a href="fp__NIST256_8h.html#ad425620e1f38ab930256bb0d3b94c919">FP_NIST256_inv</a></div><div class="ttdeci">void FP_NIST256_inv(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:648</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a31ddd93e5a56037f28a42445b8e9019f"><div class="ttname"><a href="fp__NIST256_8h.html#a31ddd93e5a56037f28a42445b8e9019f">FP_NIST256_add</a></div><div class="ttdeci">void FP_NIST256_add(FP_NIST256 *x, FP_NIST256 *y, FP_NIST256 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:385</div></div>
 <div class="ttc" id="fp__NIST256_8h_html_a7d20794d232bdcaa5a6a03454e5b2241"><div class="ttname"><a href="fp__NIST256_8h.html#a7d20794d232bdcaa5a6a03454e5b2241">R2modp_NIST256</a></div><div class="ttdeci">const BIG_256_56 R2modp_NIST256</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_aef8637c1b2906303fa9a77661c4541a4"><div class="ttname"><a href="fp__NIST256_8h.html#aef8637c1b2906303fa9a77661c4541a4">FP_NIST256_mul</a></div><div class="ttdeci">void FP_NIST256_mul(FP_NIST256 *x, FP_NIST256 *y, FP_NIST256 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:297</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a2f1b3f20548f1efd928a0df2df35b607"><div class="ttname"><a href="fp__NIST256_8h.html#a2f1b3f20548f1efd928a0df2df35b607">FP_NIST256_reduce</a></div><div class="ttdeci">void FP_NIST256_reduce(FP_NIST256 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:449</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_aef8637c1b2906303fa9a77661c4541a4"><div class="ttname"><a href="fp__NIST256_8h.html#aef8637c1b2906303fa9a77661c4541a4">FP_NIST256_mul</a></div><div class="ttdeci">void FP_NIST256_mul(FP_NIST256 *x, FP_NIST256 *y, FP_NIST256 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:297</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a2f1b3f20548f1efd928a0df2df35b607"><div class="ttname"><a href="fp__NIST256_8h.html#a2f1b3f20548f1efd928a0df2df35b607">FP_NIST256_reduce</a></div><div class="ttdeci">void FP_NIST256_reduce(FP_NIST256 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:449</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
 <div class="ttc" id="fp__NIST256_8h_html_ab72c8101619750a46a92aa103a590551"><div class="ttname"><a href="fp__NIST256_8h.html#ab72c8101619750a46a92aa103a590551">MConst_NIST256</a></div><div class="ttdeci">const chunk MConst_NIST256</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_ac266e9c71c3ae3c261c778c14eb9f0b4"><div class="ttname"><a href="fp__NIST256_8h.html#ac266e9c71c3ae3c261c778c14eb9f0b4">FP_NIST256_redc</a></div><div class="ttdeci">void FP_NIST256_redc(BIG_256_56 x, FP_NIST256 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:97</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_aec47a44f1444c92105cf8d378cbd1939"><div class="ttname"><a href="fp__NIST256_8h.html#aec47a44f1444c92105cf8d378cbd1939">FP_NIST256_neg</a></div><div class="ttdeci">void FP_NIST256_neg(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:491</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_ac266e9c71c3ae3c261c778c14eb9f0b4"><div class="ttname"><a href="fp__NIST256_8h.html#ac266e9c71c3ae3c261c778c14eb9f0b4">FP_NIST256_redc</a></div><div class="ttdeci">void FP_NIST256_redc(BIG_256_56 x, FP_NIST256 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:97</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_aec47a44f1444c92105cf8d378cbd1939"><div class="ttname"><a href="fp__NIST256_8h.html#aec47a44f1444c92105cf8d378cbd1939">FP_NIST256_neg</a></div><div class="ttdeci">void FP_NIST256_neg(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:491</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_ade1eee40e39cf57d24100cb3ca5580dd"><div class="ttname"><a href="fp__NIST256_8h.html#ade1eee40e39cf57d24100cb3ca5580dd">FP_NIST256_pow</a></div><div class="ttdeci">void FP_NIST256_pow(FP_NIST256 *x, FP_NIST256 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_ade1eee40e39cf57d24100cb3ca5580dd"><div class="ttname"><a href="fp__NIST256_8h.html#ade1eee40e39cf57d24100cb3ca5580dd">FP_NIST256_pow</a></div><div class="ttdeci">void FP_NIST256_pow(FP_NIST256 *x, FP_NIST256 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
 <div class="ttc" id="structFP__NIST256_html_a52444316d76b4e4aa82a32943037715d"><div class="ttname"><a href="structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d">FP_NIST256::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_NIST256.h:40</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="fp__NIST256_8h_html_a833dc32b90230e9879d382d948b5db8d"><div class="ttname"><a href="fp__NIST256_8h.html#a833dc32b90230e9879d382d948b5db8d">FP_NIST256_sqr</a></div><div class="ttdeci">void FP_NIST256_sqr(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:366</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_ad17e4d91b05ff8312012a001cee0ce96"><div class="ttname"><a href="fp__NIST256_8h.html#ad17e4d91b05ff8312012a001cee0ce96">FP_NIST256_nres</a></div><div class="ttdeci">void FP_NIST256_nres(FP_NIST256 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:90</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a833dc32b90230e9879d382d948b5db8d"><div class="ttname"><a href="fp__NIST256_8h.html#a833dc32b90230e9879d382d948b5db8d">FP_NIST256_sqr</a></div><div class="ttdeci">void FP_NIST256_sqr(FP_NIST256 *x, FP_NIST256 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:366</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_ad17e4d91b05ff8312012a001cee0ce96"><div class="ttname"><a href="fp__NIST256_8h.html#ad17e4d91b05ff8312012a001cee0ce96">FP_NIST256_nres</a></div><div class="ttdeci">void FP_NIST256_nres(FP_NIST256 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:90</div></div>
 <div class="ttc" id="fp__NIST256_8h_html_a325c1d7a187eded1d3697e6e0ab55451"><div class="ttname"><a href="fp__NIST256_8h.html#a325c1d7a187eded1d3697e6e0ab55451">Modulus_NIST256</a></div><div class="ttdeci">const BIG_256_56 Modulus_NIST256</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_a6c7dd935ddc0f6090d1a4ded2136a58d"><div class="ttname"><a href="fp__NIST256_8h.html#a6c7dd935ddc0f6090d1a4ded2136a58d">FP_NIST256_cswap</a></div><div class="ttdeci">void FP_NIST256_cswap(FP_NIST256 *x, FP_NIST256 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:230</div></div>
-<div class="ttc" id="fp__NIST256_8h_html_aee8ee1e1ed4be1f5e031a96ef4175760"><div class="ttname"><a href="fp__NIST256_8h.html#aee8ee1e1ed4be1f5e031a96ef4175760">FP_NIST256_rawoutput</a></div><div class="ttdeci">void FP_NIST256_rawoutput(FP_NIST256 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:277</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_a6c7dd935ddc0f6090d1a4ded2136a58d"><div class="ttname"><a href="fp__NIST256_8h.html#a6c7dd935ddc0f6090d1a4ded2136a58d">FP_NIST256_cswap</a></div><div class="ttdeci">void FP_NIST256_cswap(FP_NIST256 *x, FP_NIST256 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:230</div></div>
+<div class="ttc" id="fp__NIST256_8h_html_aee8ee1e1ed4be1f5e031a96ef4175760"><div class="ttname"><a href="fp__NIST256_8h.html#aee8ee1e1ed4be1f5e031a96ef4175760">FP_NIST256_rawoutput</a></div><div class="ttdeci">void FP_NIST256_rawoutput(FP_NIST256 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_NIST256.c:277</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/fp__NIST384_8h.html b/website/static/cdocs/fp__NIST384_8h.html
index af16b40..485a2d2 100644
--- a/website/static/cdocs/fp__NIST384_8h.html
+++ b/website/static/cdocs/fp__NIST384_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: fp_NIST384.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"
@@ -1195,7 +1198,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/fp__NIST384_8h_source.html b/website/static/cdocs/fp__NIST384_8h_source.html
index 624d295..5796207 100644
--- a/website/static/cdocs/fp__NIST384_8h_source.html
+++ b/website/static/cdocs/fp__NIST384_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: fp_NIST384.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,49 +72,49 @@
 <div class="title">fp_NIST384.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__NIST384_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 FP_NIST384_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_NIST384_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 &quot;<a class="code" href="big__384__56_8h.html">big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_NIST384.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__NIST384.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d">   40</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__NIST384.html#a58c20696b5a3a2b1931077f4f5c16be2">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__NIST384.html#a58c20696b5a3a2b1931077f4f5c16be2">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__NIST384.html">FP_NIST384</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__NIST384_8h.html#a3ec2b2be30bd99b65e12c56750af1ab4">Modulus_NIST384</a>;        </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__NIST384_8h.html#abe065a437bac74b64bc2093a30d81159">R2modp_NIST384</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__NIST384_8h.html#a5e3347a44b3236083f2cb16253e26e33">MConst_NIST384</a>;              </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#a46a8c4dcaf66a81b8b417732ba12b974">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_NIST384 MBITS_NIST384                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#a55d9ee5d7c06afaf1b664cadcfee8e3c">   52</a></span>&#160;<span class="preprocessor">#define TBITS_NIST384 (MBITS_NIST384%BASEBITS_384_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#aa4fb58558f010ca64cb2cd239f5244ec">   53</a></span>&#160;<span class="preprocessor">#define TMASK_NIST384 (((chunk)1&lt;&lt;TBITS_NIST384)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#ae5cc1eb38851d0efcfe9eefb02c6ac69">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_NIST384 (((sign32)1&lt;&lt;MAXXES_NIST384)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#ab21a9a373fdf45f2be611156c5c94601">   55</a></span>&#160;<span class="preprocessor">#define OMASK_NIST384 (-((chunk)(1)&lt;&lt;TBITS_NIST384))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST384_8h.html#a6b01dd0a0a1f3c25ae18dead4a481d73">FP_NIST384_iszilch</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a6c3f94e5c41d4321f05e069b847a738d">FP_NIST384_zero</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a03aa31b212596f6b6a2767f1c8e0d0af">FP_NIST384_copy</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#af4d9eae92c705d994a718d060455225e">FP_NIST384_rcopy</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST384_8h.html#a0534bd0bcbe5a891e7347d520628a77a">FP_NIST384_equals</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__NIST384_8h.html#a70591f4286e92aa10b6c4fb8dcffc7f9">FP_NIST384_cswap</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</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="fp__NIST384_8h.html#acbe1ba872105a753199207299490e295">FP_NIST384_cmove</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</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="fp__NIST384_8h.html#ad408174307266b8a95ef528c8f607e09">FP_NIST384_nres</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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="fp__NIST384_8h.html#acf6ee310bf407a32667815ddf35d8ea8">FP_NIST384_redc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a90a8085328e53048608ceec231b16cee">FP_NIST384_one</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a82c572467307434a6e01425e8ba1d147">FP_NIST384_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> r,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_NIST384_modmul(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__NIST384_8h.html#a70459d742e475be2ee1344381571fe78">FP_NIST384_mul</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *z);</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="fp__NIST384_8h.html#a0bd00edb6cd0dbe7f6ebc500ce417016">FP_NIST384_imul</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#aebe628d2a98d12e6b69f407a15f86e40">FP_NIST384_sqr</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#ad1ac1adb286cceee34b9c2074f68ae77">FP_NIST384_add</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a4c95ea0d2edfb862816d272b12593b80">FP_NIST384_sub</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#aa1b88f33a988deba020b2076258777e4">FP_NIST384_div2</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#ae459c433841052700fa709e8b14232fd">FP_NIST384_pow</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#ab7131b3f183a978712099924ecaa8d78">FP_NIST384_sqrt</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a133b9721fbb9a8878fc8166d3828d4a7">FP_NIST384_neg</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a6b07a18b19c6dc47112cea5d462a05db">FP_NIST384_output</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a45976eff048a00d4fe35220cf9ff8153">FP_NIST384_rawoutput</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a01c8f78023ef664b8c28f942b7b22441">FP_NIST384_reduce</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#adb719d4ebbde643b650a731bf5a80bc6">FP_NIST384_norm</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST384_8h.html#ad1febd8018179a8702037784d5bace29">FP_NIST384_qr</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a1ff9beec8eefd7a9e6f5c1ebbbb6e493">FP_NIST384_inv</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__NIST384_8h_html_ad1febd8018179a8702037784d5bace29"><div class="ttname"><a href="fp__NIST384_8h.html#ad1febd8018179a8702037784d5bace29">FP_NIST384_qr</a></div><div class="ttdeci">int FP_NIST384_qr(FP_NIST384 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:731</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a4c95ea0d2edfb862816d272b12593b80"><div class="ttname"><a href="fp__NIST384_8h.html#a4c95ea0d2edfb862816d272b12593b80">FP_NIST384_sub</a></div><div class="ttdeci">void FP_NIST384_sub(FP_NIST384 *x, FP_NIST384 *y, FP_NIST384 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:400</div></div>
+<a href="fp__NIST384_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 FP_NIST384_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_NIST384_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 &quot;<a class="code" href="big__384__56_8h.html">big_384_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_NIST384.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__NIST384.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d">   40</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__NIST384.html#a58c20696b5a3a2b1931077f4f5c16be2">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__NIST384.html#a58c20696b5a3a2b1931077f4f5c16be2">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__NIST384.html">FP_NIST384</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__NIST384_8h.html#a3ec2b2be30bd99b65e12c56750af1ab4">Modulus_NIST384</a>;    </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> <a class="code" href="fp__NIST384_8h.html#abe065a437bac74b64bc2093a30d81159">R2modp_NIST384</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__NIST384_8h.html#a5e3347a44b3236083f2cb16253e26e33">MConst_NIST384</a>;      </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#a46a8c4dcaf66a81b8b417732ba12b974">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_NIST384 MBITS_NIST384                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#a55d9ee5d7c06afaf1b664cadcfee8e3c">   52</a></span>&#160;<span class="preprocessor">#define TBITS_NIST384 (MBITS_NIST384%BASEBITS_384_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#aa4fb58558f010ca64cb2cd239f5244ec">   53</a></span>&#160;<span class="preprocessor">#define TMASK_NIST384 (((chunk)1&lt;&lt;TBITS_NIST384)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#ae5cc1eb38851d0efcfe9eefb02c6ac69">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_NIST384 (((sign32)1&lt;&lt;MAXXES_NIST384)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__NIST384_8h.html#ab21a9a373fdf45f2be611156c5c94601">   55</a></span>&#160;<span class="preprocessor">#define OMASK_NIST384 (-((chunk)(1)&lt;&lt;TBITS_NIST384))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST384_8h.html#a6b01dd0a0a1f3c25ae18dead4a481d73">FP_NIST384_iszilch</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a6c3f94e5c41d4321f05e069b847a738d">FP_NIST384_zero</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a03aa31b212596f6b6a2767f1c8e0d0af">FP_NIST384_copy</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#af4d9eae92c705d994a718d060455225e">FP_NIST384_rcopy</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<span class="keyword">const</span> <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST384_8h.html#a0534bd0bcbe5a891e7347d520628a77a">FP_NIST384_equals</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__NIST384_8h.html#a70591f4286e92aa10b6c4fb8dcffc7f9">FP_NIST384_cswap</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</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="fp__NIST384_8h.html#acbe1ba872105a753199207299490e295">FP_NIST384_cmove</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</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="fp__NIST384_8h.html#ad408174307266b8a95ef528c8f607e09">FP_NIST384_nres</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</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="fp__NIST384_8h.html#acf6ee310bf407a32667815ddf35d8ea8">FP_NIST384_redc</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a90a8085328e53048608ceec231b16cee">FP_NIST384_one</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a82c572467307434a6e01425e8ba1d147">FP_NIST384_mod</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> r,<a class="code" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_NIST384_modmul(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__NIST384_8h.html#a70459d742e475be2ee1344381571fe78">FP_NIST384_mul</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *z);</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="fp__NIST384_8h.html#a0bd00edb6cd0dbe7f6ebc500ce417016">FP_NIST384_imul</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#aebe628d2a98d12e6b69f407a15f86e40">FP_NIST384_sqr</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#ad1ac1adb286cceee34b9c2074f68ae77">FP_NIST384_add</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a4c95ea0d2edfb862816d272b12593b80">FP_NIST384_sub</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#aa1b88f33a988deba020b2076258777e4">FP_NIST384_div2</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#ae459c433841052700fa709e8b14232fd">FP_NIST384_pow</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y,<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#ab7131b3f183a978712099924ecaa8d78">FP_NIST384_sqrt</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a133b9721fbb9a8878fc8166d3828d4a7">FP_NIST384_neg</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a6b07a18b19c6dc47112cea5d462a05db">FP_NIST384_output</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a45976eff048a00d4fe35220cf9ff8153">FP_NIST384_rawoutput</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a01c8f78023ef664b8c28f942b7b22441">FP_NIST384_reduce</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#adb719d4ebbde643b650a731bf5a80bc6">FP_NIST384_norm</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST384_8h.html#ad1febd8018179a8702037784d5bace29">FP_NIST384_qr</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST384_8h.html#a1ff9beec8eefd7a9e6f5c1ebbbb6e493">FP_NIST384_inv</a>(<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *x,<a class="code" href="structFP__NIST384.html">FP_NIST384</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__NIST384_8h_html_ad1febd8018179a8702037784d5bace29"><div class="ttname"><a href="fp__NIST384_8h.html#ad1febd8018179a8702037784d5bace29">FP_NIST384_qr</a></div><div class="ttdeci">int FP_NIST384_qr(FP_NIST384 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:731</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a4c95ea0d2edfb862816d272b12593b80"><div class="ttname"><a href="fp__NIST384_8h.html#a4c95ea0d2edfb862816d272b12593b80">FP_NIST384_sub</a></div><div class="ttdeci">void FP_NIST384_sub(FP_NIST384 *x, FP_NIST384 *y, FP_NIST384 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:400</div></div>
 <div class="ttc" id="fp__NIST384_8h_html_a3ec2b2be30bd99b65e12c56750af1ab4"><div class="ttname"><a href="fp__NIST384_8h.html#a3ec2b2be30bd99b65e12c56750af1ab4">Modulus_NIST384</a></div><div class="ttdeci">const BIG_384_56 Modulus_NIST384</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_ad1ac1adb286cceee34b9c2074f68ae77"><div class="ttname"><a href="fp__NIST384_8h.html#ad1ac1adb286cceee34b9c2074f68ae77">FP_NIST384_add</a></div><div class="ttdeci">void FP_NIST384_add(FP_NIST384 *x, FP_NIST384 *y, FP_NIST384 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:385</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a45976eff048a00d4fe35220cf9ff8153"><div class="ttname"><a href="fp__NIST384_8h.html#a45976eff048a00d4fe35220cf9ff8153">FP_NIST384_rawoutput</a></div><div class="ttdeci">void FP_NIST384_rawoutput(FP_NIST384 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:277</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a0bd00edb6cd0dbe7f6ebc500ce417016"><div class="ttname"><a href="fp__NIST384_8h.html#a0bd00edb6cd0dbe7f6ebc500ce417016">FP_NIST384_imul</a></div><div class="ttdeci">void FP_NIST384_imul(FP_NIST384 *x, FP_NIST384 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:321</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_ad1ac1adb286cceee34b9c2074f68ae77"><div class="ttname"><a href="fp__NIST384_8h.html#ad1ac1adb286cceee34b9c2074f68ae77">FP_NIST384_add</a></div><div class="ttdeci">void FP_NIST384_add(FP_NIST384 *x, FP_NIST384 *y, FP_NIST384 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:385</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a45976eff048a00d4fe35220cf9ff8153"><div class="ttname"><a href="fp__NIST384_8h.html#a45976eff048a00d4fe35220cf9ff8153">FP_NIST384_rawoutput</a></div><div class="ttdeci">void FP_NIST384_rawoutput(FP_NIST384 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:277</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a0bd00edb6cd0dbe7f6ebc500ce417016"><div class="ttname"><a href="fp__NIST384_8h.html#a0bd00edb6cd0dbe7f6ebc500ce417016">FP_NIST384_imul</a></div><div class="ttdeci">void FP_NIST384_imul(FP_NIST384 *x, FP_NIST384 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:321</div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_ae459c433841052700fa709e8b14232fd"><div class="ttname"><a href="fp__NIST384_8h.html#ae459c433841052700fa709e8b14232fd">FP_NIST384_pow</a></div><div class="ttdeci">void FP_NIST384_pow(FP_NIST384 *x, FP_NIST384 *y, BIG_384_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_ae459c433841052700fa709e8b14232fd"><div class="ttname"><a href="fp__NIST384_8h.html#ae459c433841052700fa709e8b14232fd">FP_NIST384_pow</a></div><div class="ttdeci">void FP_NIST384_pow(FP_NIST384 *x, FP_NIST384 *y, BIG_384_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
 <div class="ttc" id="fp__NIST384_8h_html_a5e3347a44b3236083f2cb16253e26e33"><div class="ttname"><a href="fp__NIST384_8h.html#a5e3347a44b3236083f2cb16253e26e33">MConst_NIST384</a></div><div class="ttdeci">const chunk MConst_NIST384</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a01c8f78023ef664b8c28f942b7b22441"><div class="ttname"><a href="fp__NIST384_8h.html#a01c8f78023ef664b8c28f942b7b22441">FP_NIST384_reduce</a></div><div class="ttdeci">void FP_NIST384_reduce(FP_NIST384 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:449</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a6c3f94e5c41d4321f05e069b847a738d"><div class="ttname"><a href="fp__NIST384_8h.html#a6c3f94e5c41d4321f05e069b847a738d">FP_NIST384_zero</a></div><div class="ttdeci">void FP_NIST384_zero(FP_NIST384 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:251</div></div>
-<div class="ttc" id="structFP__NIST384_html"><div class="ttname"><a href="structFP__NIST384.html">FP_NIST384</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.h:38</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_af4d9eae92c705d994a718d060455225e"><div class="ttname"><a href="fp__NIST384_8h.html#af4d9eae92c705d994a718d060455225e">FP_NIST384_rcopy</a></div><div class="ttdeci">void FP_NIST384_rcopy(FP_NIST384 *y, const BIG_384_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:222</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_acf6ee310bf407a32667815ddf35d8ea8"><div class="ttname"><a href="fp__NIST384_8h.html#acf6ee310bf407a32667815ddf35d8ea8">FP_NIST384_redc</a></div><div class="ttdeci">void FP_NIST384_redc(BIG_384_56 x, FP_NIST384 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:97</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a01c8f78023ef664b8c28f942b7b22441"><div class="ttname"><a href="fp__NIST384_8h.html#a01c8f78023ef664b8c28f942b7b22441">FP_NIST384_reduce</a></div><div class="ttdeci">void FP_NIST384_reduce(FP_NIST384 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:449</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a6c3f94e5c41d4321f05e069b847a738d"><div class="ttname"><a href="fp__NIST384_8h.html#a6c3f94e5c41d4321f05e069b847a738d">FP_NIST384_zero</a></div><div class="ttdeci">void FP_NIST384_zero(FP_NIST384 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:251</div></div>
+<div class="ttc" id="structFP__NIST384_html"><div class="ttname"><a href="structFP__NIST384.html">FP_NIST384</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.h:38</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_af4d9eae92c705d994a718d060455225e"><div class="ttname"><a href="fp__NIST384_8h.html#af4d9eae92c705d994a718d060455225e">FP_NIST384_rcopy</a></div><div class="ttdeci">void FP_NIST384_rcopy(FP_NIST384 *y, const BIG_384_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:222</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_acf6ee310bf407a32667815ddf35d8ea8"><div class="ttname"><a href="fp__NIST384_8h.html#acf6ee310bf407a32667815ddf35d8ea8">FP_NIST384_redc</a></div><div class="ttdeci">void FP_NIST384_redc(BIG_384_56 x, FP_NIST384 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:97</div></div>
 <div class="ttc" id="big__384__56_8h_html_a6c518f0c183c5deeb8cf6f8245d0d40c"><div class="ttname"><a href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">DBIG_384_56</a></div><div class="ttdeci">chunk DBIG_384_56[DNLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:59</div></div>
-<div class="ttc" id="big__384__56_8h_html"><div class="ttname"><a href="big__384__56_8h.html">big_384_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a6b01dd0a0a1f3c25ae18dead4a481d73"><div class="ttname"><a href="fp__NIST384_8h.html#a6b01dd0a0a1f3c25ae18dead4a481d73">FP_NIST384_iszilch</a></div><div class="ttdeci">int FP_NIST384_iszilch(FP_NIST384 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:207</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a03aa31b212596f6b6a2767f1c8e0d0af"><div class="ttname"><a href="fp__NIST384_8h.html#a03aa31b212596f6b6a2767f1c8e0d0af">FP_NIST384_copy</a></div><div class="ttdeci">void FP_NIST384_copy(FP_NIST384 *y, FP_NIST384 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:216</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_ad408174307266b8a95ef528c8f607e09"><div class="ttname"><a href="fp__NIST384_8h.html#ad408174307266b8a95ef528c8f607e09">FP_NIST384_nres</a></div><div class="ttdeci">void FP_NIST384_nres(FP_NIST384 *y, BIG_384_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:90</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_acbe1ba872105a753199207299490e295"><div class="ttname"><a href="fp__NIST384_8h.html#acbe1ba872105a753199207299490e295">FP_NIST384_cmove</a></div><div class="ttdeci">void FP_NIST384_cmove(FP_NIST384 *x, FP_NIST384 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:243</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a82c572467307434a6e01425e8ba1d147"><div class="ttname"><a href="fp__NIST384_8h.html#a82c572467307434a6e01425e8ba1d147">FP_NIST384_mod</a></div><div class="ttdeci">void FP_NIST384_mod(BIG_384_56 r, DBIG_384_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:103</div></div>
+<div class="ttc" id="big__384__56_8h_html"><div class="ttname"><a href="big__384__56_8h.html">big_384_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a6b01dd0a0a1f3c25ae18dead4a481d73"><div class="ttname"><a href="fp__NIST384_8h.html#a6b01dd0a0a1f3c25ae18dead4a481d73">FP_NIST384_iszilch</a></div><div class="ttdeci">int FP_NIST384_iszilch(FP_NIST384 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:207</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a03aa31b212596f6b6a2767f1c8e0d0af"><div class="ttname"><a href="fp__NIST384_8h.html#a03aa31b212596f6b6a2767f1c8e0d0af">FP_NIST384_copy</a></div><div class="ttdeci">void FP_NIST384_copy(FP_NIST384 *y, FP_NIST384 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:216</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_ad408174307266b8a95ef528c8f607e09"><div class="ttname"><a href="fp__NIST384_8h.html#ad408174307266b8a95ef528c8f607e09">FP_NIST384_nres</a></div><div class="ttdeci">void FP_NIST384_nres(FP_NIST384 *y, BIG_384_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:90</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_acbe1ba872105a753199207299490e295"><div class="ttname"><a href="fp__NIST384_8h.html#acbe1ba872105a753199207299490e295">FP_NIST384_cmove</a></div><div class="ttdeci">void FP_NIST384_cmove(FP_NIST384 *x, FP_NIST384 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:243</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a82c572467307434a6e01425e8ba1d147"><div class="ttname"><a href="fp__NIST384_8h.html#a82c572467307434a6e01425e8ba1d147">FP_NIST384_mod</a></div><div class="ttdeci">void FP_NIST384_mod(BIG_384_56 r, DBIG_384_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:103</div></div>
 <div class="ttc" id="fp__NIST384_8h_html_abe065a437bac74b64bc2093a30d81159"><div class="ttname"><a href="fp__NIST384_8h.html#abe065a437bac74b64bc2093a30d81159">R2modp_NIST384</a></div><div class="ttdeci">const BIG_384_56 R2modp_NIST384</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a70591f4286e92aa10b6c4fb8dcffc7f9"><div class="ttname"><a href="fp__NIST384_8h.html#a70591f4286e92aa10b6c4fb8dcffc7f9">FP_NIST384_cswap</a></div><div class="ttdeci">void FP_NIST384_cswap(FP_NIST384 *x, FP_NIST384 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:230</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a1ff9beec8eefd7a9e6f5c1ebbbb6e493"><div class="ttname"><a href="fp__NIST384_8h.html#a1ff9beec8eefd7a9e6f5c1ebbbb6e493">FP_NIST384_inv</a></div><div class="ttdeci">void FP_NIST384_inv(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:648</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a70591f4286e92aa10b6c4fb8dcffc7f9"><div class="ttname"><a href="fp__NIST384_8h.html#a70591f4286e92aa10b6c4fb8dcffc7f9">FP_NIST384_cswap</a></div><div class="ttdeci">void FP_NIST384_cswap(FP_NIST384 *x, FP_NIST384 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:230</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a1ff9beec8eefd7a9e6f5c1ebbbb6e493"><div class="ttname"><a href="fp__NIST384_8h.html#a1ff9beec8eefd7a9e6f5c1ebbbb6e493">FP_NIST384_inv</a></div><div class="ttdeci">void FP_NIST384_inv(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:648</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_adb719d4ebbde643b650a731bf5a80bc6"><div class="ttname"><a href="fp__NIST384_8h.html#adb719d4ebbde643b650a731bf5a80bc6">FP_NIST384_norm</a></div><div class="ttdeci">void FP_NIST384_norm(FP_NIST384 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:484</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_adb719d4ebbde643b650a731bf5a80bc6"><div class="ttname"><a href="fp__NIST384_8h.html#adb719d4ebbde643b650a731bf5a80bc6">FP_NIST384_norm</a></div><div class="ttdeci">void FP_NIST384_norm(FP_NIST384 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:484</div></div>
 <div class="ttc" id="structFP__NIST384_html_a72dbc696688d0ae224baeb964a1c658d"><div class="ttname"><a href="structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d">FP_NIST384::g</a></div><div class="ttdeci">BIG_384_56 g</div><div class="ttdef"><b>Definition:</b> fp_NIST384.h:40</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a6b07a18b19c6dc47112cea5d462a05db"><div class="ttname"><a href="fp__NIST384_8h.html#a6b07a18b19c6dc47112cea5d462a05db">FP_NIST384_output</a></div><div class="ttdeci">void FP_NIST384_output(FP_NIST384 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:270</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_aebe628d2a98d12e6b69f407a15f86e40"><div class="ttname"><a href="fp__NIST384_8h.html#aebe628d2a98d12e6b69f407a15f86e40">FP_NIST384_sqr</a></div><div class="ttdeci">void FP_NIST384_sqr(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:366</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a6b07a18b19c6dc47112cea5d462a05db"><div class="ttname"><a href="fp__NIST384_8h.html#a6b07a18b19c6dc47112cea5d462a05db">FP_NIST384_output</a></div><div class="ttdeci">void FP_NIST384_output(FP_NIST384 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:270</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_aebe628d2a98d12e6b69f407a15f86e40"><div class="ttname"><a href="fp__NIST384_8h.html#aebe628d2a98d12e6b69f407a15f86e40">FP_NIST384_sqr</a></div><div class="ttdeci">void FP_NIST384_sqr(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:366</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="fp__NIST384_8h_html_a133b9721fbb9a8878fc8166d3828d4a7"><div class="ttname"><a href="fp__NIST384_8h.html#a133b9721fbb9a8878fc8166d3828d4a7">FP_NIST384_neg</a></div><div class="ttdeci">void FP_NIST384_neg(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:491</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_aa1b88f33a988deba020b2076258777e4"><div class="ttname"><a href="fp__NIST384_8h.html#aa1b88f33a988deba020b2076258777e4">FP_NIST384_div2</a></div><div class="ttdeci">void FP_NIST384_div2(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:515</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a133b9721fbb9a8878fc8166d3828d4a7"><div class="ttname"><a href="fp__NIST384_8h.html#a133b9721fbb9a8878fc8166d3828d4a7">FP_NIST384_neg</a></div><div class="ttdeci">void FP_NIST384_neg(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:491</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_aa1b88f33a988deba020b2076258777e4"><div class="ttname"><a href="fp__NIST384_8h.html#aa1b88f33a988deba020b2076258777e4">FP_NIST384_div2</a></div><div class="ttdeci">void FP_NIST384_div2(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:515</div></div>
 <div class="ttc" id="structFP__NIST384_html_a58c20696b5a3a2b1931077f4f5c16be2"><div class="ttname"><a href="structFP__NIST384.html#a58c20696b5a3a2b1931077f4f5c16be2">FP_NIST384::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_NIST384.h:41</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a90a8085328e53048608ceec231b16cee"><div class="ttname"><a href="fp__NIST384_8h.html#a90a8085328e53048608ceec231b16cee">FP_NIST384_one</a></div><div class="ttdeci">void FP_NIST384_one(FP_NIST384 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:723</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a70459d742e475be2ee1344381571fe78"><div class="ttname"><a href="fp__NIST384_8h.html#a70459d742e475be2ee1344381571fe78">FP_NIST384_mul</a></div><div class="ttdeci">void FP_NIST384_mul(FP_NIST384 *x, FP_NIST384 *y, FP_NIST384 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:297</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_a0534bd0bcbe5a891e7347d520628a77a"><div class="ttname"><a href="fp__NIST384_8h.html#a0534bd0bcbe5a891e7347d520628a77a">FP_NIST384_equals</a></div><div class="ttdeci">int FP_NIST384_equals(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:257</div></div>
-<div class="ttc" id="fp__NIST384_8h_html_ab7131b3f183a978712099924ecaa8d78"><div class="ttname"><a href="fp__NIST384_8h.html#ab7131b3f183a978712099924ecaa8d78">FP_NIST384_sqrt</a></div><div class="ttdeci">void FP_NIST384_sqrt(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:747</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a90a8085328e53048608ceec231b16cee"><div class="ttname"><a href="fp__NIST384_8h.html#a90a8085328e53048608ceec231b16cee">FP_NIST384_one</a></div><div class="ttdeci">void FP_NIST384_one(FP_NIST384 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:723</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a70459d742e475be2ee1344381571fe78"><div class="ttname"><a href="fp__NIST384_8h.html#a70459d742e475be2ee1344381571fe78">FP_NIST384_mul</a></div><div class="ttdeci">void FP_NIST384_mul(FP_NIST384 *x, FP_NIST384 *y, FP_NIST384 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:297</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_a0534bd0bcbe5a891e7347d520628a77a"><div class="ttname"><a href="fp__NIST384_8h.html#a0534bd0bcbe5a891e7347d520628a77a">FP_NIST384_equals</a></div><div class="ttdeci">int FP_NIST384_equals(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:257</div></div>
+<div class="ttc" id="fp__NIST384_8h_html_ab7131b3f183a978712099924ecaa8d78"><div class="ttname"><a href="fp__NIST384_8h.html#ab7131b3f183a978712099924ecaa8d78">FP_NIST384_sqrt</a></div><div class="ttdeci">void FP_NIST384_sqrt(FP_NIST384 *x, FP_NIST384 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST384.c:747</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/fp__NIST521_8h.html b/website/static/cdocs/fp__NIST521_8h.html
index e9f1e47..8587f46 100644
--- a/website/static/cdocs/fp__NIST521_8h.html
+++ b/website/static/cdocs/fp__NIST521_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: fp_NIST521.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"
@@ -1195,7 +1198,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/fp__NIST521_8h_source.html b/website/static/cdocs/fp__NIST521_8h_source.html
index 727c9cb..8fad3e6 100644
--- a/website/static/cdocs/fp__NIST521_8h_source.html
+++ b/website/static/cdocs/fp__NIST521_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: fp_NIST521.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,49 +72,49 @@
 <div class="title">fp_NIST521.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__NIST521_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 FP_NIST521_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_NIST521_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 &quot;<a class="code" href="big__528__60_8h.html">big_528_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_NIST521.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__NIST521.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d">   40</a></span>&#160;    <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__NIST521.html#aea797592a53de081a6ab4cbf4a47314e">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__NIST521.html#aea797592a53de081a6ab4cbf4a47314e">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__NIST521.html">FP_NIST521</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="fp__NIST521_8h.html#af5cbfa91010d117a9fcb2fddad052c78">Modulus_NIST521</a>;        </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="fp__NIST521_8h.html#aed89b8527267a579cbda957673def206">R2modp_NIST521</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__NIST521_8h.html#afb5aed89a7f4aada574893f09b78444b">MConst_NIST521</a>;              </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#a632d31215148d03899762d8a7f81c808">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_NIST521 MBITS_NIST521                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#ac31b1dbca9c4513d5bc06397459b5fdd">   52</a></span>&#160;<span class="preprocessor">#define TBITS_NIST521 (MBITS_NIST521%BASEBITS_528_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#aff954cbc154e1436d25941535a030dad">   53</a></span>&#160;<span class="preprocessor">#define TMASK_NIST521 (((chunk)1&lt;&lt;TBITS_NIST521)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#a92000b2cda458492152fb63f9e468d9c">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_NIST521 (((sign32)1&lt;&lt;MAXXES_NIST521)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#a31752211fa548c9c301a337a6a86680b">   55</a></span>&#160;<span class="preprocessor">#define OMASK_NIST521 (-((chunk)(1)&lt;&lt;TBITS_NIST521))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST521_8h.html#aa8918a6b92bba55510cc39a7d0af19b7">FP_NIST521_iszilch</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a05207c9bfe8570a08e8287e0f0fefadf">FP_NIST521_zero</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a7cbfb0e2047bb12f12473ca4687be5a7">FP_NIST521_copy</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a31d66c83ab1e4db3c429980112519e27">FP_NIST521_rcopy</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST521_8h.html#acb035390bd014d26bb5b9638a1cb7d7f">FP_NIST521_equals</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__NIST521_8h.html#a98fd8ae16a20cbd8153fe3ef2b80a918">FP_NIST521_cswap</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</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="fp__NIST521_8h.html#a7001d051e5e7393090aed705b6025760">FP_NIST521_cmove</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</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="fp__NIST521_8h.html#a2a92638170fb9e378d7341b43f062eaa">FP_NIST521_nres</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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="fp__NIST521_8h.html#ac903d43529d7b29dfce64082c7c94e54">FP_NIST521_redc</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a41b54e0c55bc2fd89b2dc263cb74a778">FP_NIST521_one</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#ad183c728c6c05f3cf8bf598a73cfc537">FP_NIST521_mod</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> r,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_NIST521_modmul(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__NIST521_8h.html#a54d28fa763c23f35c8d37b7596cd8933">FP_NIST521_mul</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *z);</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="fp__NIST521_8h.html#ac4f59fd2d08c8625eacd85bfc6916aab">FP_NIST521_imul</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a99346f962acddcf55c37268214dc9a2e">FP_NIST521_sqr</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a7ee7fa092ac8bfa1fb7105239e3fa7a8">FP_NIST521_add</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#aaad6f8fd4ba53e5c67f46fd895e8d8bd">FP_NIST521_sub</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a663dae3defbbd5c058ca1cdfd1105720">FP_NIST521_div2</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a4375308e9964322cd993809d8c5191bd">FP_NIST521_pow</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a8bc93e4302ce0be390de8444ad7b0306">FP_NIST521_sqrt</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a700c9f657c1c27b1617059dd6d1c3b61">FP_NIST521_neg</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a1f85738f65d59076d699c46eab884f24">FP_NIST521_output</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#ade6b2d91c96a2e4ec68033dc1d1109e4">FP_NIST521_rawoutput</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a5096f25dc402baf4f8aa04ed5c50eb12">FP_NIST521_reduce</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#af900b13b6fa6ed5b64a91a7d0ffd0d4e">FP_NIST521_norm</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST521_8h.html#a28627f4939afaadd633cc123e4a54a0c">FP_NIST521_qr</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a7c15b75bdf262a9c55b9d208c5d25f72">FP_NIST521_inv</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__NIST521_8h_html_a28627f4939afaadd633cc123e4a54a0c"><div class="ttname"><a href="fp__NIST521_8h.html#a28627f4939afaadd633cc123e4a54a0c">FP_NIST521_qr</a></div><div class="ttdeci">int FP_NIST521_qr(FP_NIST521 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:731</div></div>
+<a href="fp__NIST521_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 FP_NIST521_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_NIST521_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 &quot;<a class="code" href="big__528__60_8h.html">big_528_60.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_NIST521.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__NIST521.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d">   40</a></span>&#160;    <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__NIST521.html#aea797592a53de081a6ab4cbf4a47314e">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__NIST521.html#aea797592a53de081a6ab4cbf4a47314e">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__NIST521.html">FP_NIST521</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="fp__NIST521_8h.html#af5cbfa91010d117a9fcb2fddad052c78">Modulus_NIST521</a>;    </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> <a class="code" href="fp__NIST521_8h.html#aed89b8527267a579cbda957673def206">R2modp_NIST521</a>; </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__NIST521_8h.html#afb5aed89a7f4aada574893f09b78444b">MConst_NIST521</a>;      </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#a632d31215148d03899762d8a7f81c808">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_NIST521 MBITS_NIST521                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#ac31b1dbca9c4513d5bc06397459b5fdd">   52</a></span>&#160;<span class="preprocessor">#define TBITS_NIST521 (MBITS_NIST521%BASEBITS_528_60)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#aff954cbc154e1436d25941535a030dad">   53</a></span>&#160;<span class="preprocessor">#define TMASK_NIST521 (((chunk)1&lt;&lt;TBITS_NIST521)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#a92000b2cda458492152fb63f9e468d9c">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_NIST521 (((sign32)1&lt;&lt;MAXXES_NIST521)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__NIST521_8h.html#a31752211fa548c9c301a337a6a86680b">   55</a></span>&#160;<span class="preprocessor">#define OMASK_NIST521 (-((chunk)(1)&lt;&lt;TBITS_NIST521))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST521_8h.html#aa8918a6b92bba55510cc39a7d0af19b7">FP_NIST521_iszilch</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a05207c9bfe8570a08e8287e0f0fefadf">FP_NIST521_zero</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a7cbfb0e2047bb12f12473ca4687be5a7">FP_NIST521_copy</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a31d66c83ab1e4db3c429980112519e27">FP_NIST521_rcopy</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<span class="keyword">const</span> <a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST521_8h.html#acb035390bd014d26bb5b9638a1cb7d7f">FP_NIST521_equals</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__NIST521_8h.html#a98fd8ae16a20cbd8153fe3ef2b80a918">FP_NIST521_cswap</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</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="fp__NIST521_8h.html#a7001d051e5e7393090aed705b6025760">FP_NIST521_cmove</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</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="fp__NIST521_8h.html#a2a92638170fb9e378d7341b43f062eaa">FP_NIST521_nres</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</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="fp__NIST521_8h.html#ac903d43529d7b29dfce64082c7c94e54">FP_NIST521_redc</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a41b54e0c55bc2fd89b2dc263cb74a778">FP_NIST521_one</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#ad183c728c6c05f3cf8bf598a73cfc537">FP_NIST521_mod</a>(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> r,<a class="code" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_NIST521_modmul(<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__NIST521_8h.html#a54d28fa763c23f35c8d37b7596cd8933">FP_NIST521_mul</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *z);</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="fp__NIST521_8h.html#ac4f59fd2d08c8625eacd85bfc6916aab">FP_NIST521_imul</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a99346f962acddcf55c37268214dc9a2e">FP_NIST521_sqr</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a7ee7fa092ac8bfa1fb7105239e3fa7a8">FP_NIST521_add</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#aaad6f8fd4ba53e5c67f46fd895e8d8bd">FP_NIST521_sub</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a663dae3defbbd5c058ca1cdfd1105720">FP_NIST521_div2</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a4375308e9964322cd993809d8c5191bd">FP_NIST521_pow</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y,<a class="code" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a8bc93e4302ce0be390de8444ad7b0306">FP_NIST521_sqrt</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a700c9f657c1c27b1617059dd6d1c3b61">FP_NIST521_neg</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a1f85738f65d59076d699c46eab884f24">FP_NIST521_output</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#ade6b2d91c96a2e4ec68033dc1d1109e4">FP_NIST521_rawoutput</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a5096f25dc402baf4f8aa04ed5c50eb12">FP_NIST521_reduce</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#af900b13b6fa6ed5b64a91a7d0ffd0d4e">FP_NIST521_norm</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__NIST521_8h.html#a28627f4939afaadd633cc123e4a54a0c">FP_NIST521_qr</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__NIST521_8h.html#a7c15b75bdf262a9c55b9d208c5d25f72">FP_NIST521_inv</a>(<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *x,<a class="code" href="structFP__NIST521.html">FP_NIST521</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__NIST521_8h_html_a28627f4939afaadd633cc123e4a54a0c"><div class="ttname"><a href="fp__NIST521_8h.html#a28627f4939afaadd633cc123e4a54a0c">FP_NIST521_qr</a></div><div class="ttdeci">int FP_NIST521_qr(FP_NIST521 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:731</div></div>
 <div class="ttc" id="structFP__NIST521_html_aea797592a53de081a6ab4cbf4a47314e"><div class="ttname"><a href="structFP__NIST521.html#aea797592a53de081a6ab4cbf4a47314e">FP_NIST521::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_NIST521.h:41</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_ad183c728c6c05f3cf8bf598a73cfc537"><div class="ttname"><a href="fp__NIST521_8h.html#ad183c728c6c05f3cf8bf598a73cfc537">FP_NIST521_mod</a></div><div class="ttdeci">void FP_NIST521_mod(BIG_528_60 r, DBIG_528_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:103</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_ac903d43529d7b29dfce64082c7c94e54"><div class="ttname"><a href="fp__NIST521_8h.html#ac903d43529d7b29dfce64082c7c94e54">FP_NIST521_redc</a></div><div class="ttdeci">void FP_NIST521_redc(BIG_528_60 x, FP_NIST521 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:97</div></div>
-<div class="ttc" id="structFP__NIST521_html"><div class="ttname"><a href="structFP__NIST521.html">FP_NIST521</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.h:38</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a7cbfb0e2047bb12f12473ca4687be5a7"><div class="ttname"><a href="fp__NIST521_8h.html#a7cbfb0e2047bb12f12473ca4687be5a7">FP_NIST521_copy</a></div><div class="ttdeci">void FP_NIST521_copy(FP_NIST521 *y, FP_NIST521 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:216</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a663dae3defbbd5c058ca1cdfd1105720"><div class="ttname"><a href="fp__NIST521_8h.html#a663dae3defbbd5c058ca1cdfd1105720">FP_NIST521_div2</a></div><div class="ttdeci">void FP_NIST521_div2(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:515</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a31d66c83ab1e4db3c429980112519e27"><div class="ttname"><a href="fp__NIST521_8h.html#a31d66c83ab1e4db3c429980112519e27">FP_NIST521_rcopy</a></div><div class="ttdeci">void FP_NIST521_rcopy(FP_NIST521 *y, const BIG_528_60 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:222</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a700c9f657c1c27b1617059dd6d1c3b61"><div class="ttname"><a href="fp__NIST521_8h.html#a700c9f657c1c27b1617059dd6d1c3b61">FP_NIST521_neg</a></div><div class="ttdeci">void FP_NIST521_neg(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:491</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a2a92638170fb9e378d7341b43f062eaa"><div class="ttname"><a href="fp__NIST521_8h.html#a2a92638170fb9e378d7341b43f062eaa">FP_NIST521_nres</a></div><div class="ttdeci">void FP_NIST521_nres(FP_NIST521 *y, BIG_528_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:90</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_af900b13b6fa6ed5b64a91a7d0ffd0d4e"><div class="ttname"><a href="fp__NIST521_8h.html#af900b13b6fa6ed5b64a91a7d0ffd0d4e">FP_NIST521_norm</a></div><div class="ttdeci">void FP_NIST521_norm(FP_NIST521 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:484</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a5096f25dc402baf4f8aa04ed5c50eb12"><div class="ttname"><a href="fp__NIST521_8h.html#a5096f25dc402baf4f8aa04ed5c50eb12">FP_NIST521_reduce</a></div><div class="ttdeci">void FP_NIST521_reduce(FP_NIST521 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:449</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a54d28fa763c23f35c8d37b7596cd8933"><div class="ttname"><a href="fp__NIST521_8h.html#a54d28fa763c23f35c8d37b7596cd8933">FP_NIST521_mul</a></div><div class="ttdeci">void FP_NIST521_mul(FP_NIST521 *x, FP_NIST521 *y, FP_NIST521 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:297</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_ad183c728c6c05f3cf8bf598a73cfc537"><div class="ttname"><a href="fp__NIST521_8h.html#ad183c728c6c05f3cf8bf598a73cfc537">FP_NIST521_mod</a></div><div class="ttdeci">void FP_NIST521_mod(BIG_528_60 r, DBIG_528_60 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:103</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_ac903d43529d7b29dfce64082c7c94e54"><div class="ttname"><a href="fp__NIST521_8h.html#ac903d43529d7b29dfce64082c7c94e54">FP_NIST521_redc</a></div><div class="ttdeci">void FP_NIST521_redc(BIG_528_60 x, FP_NIST521 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:97</div></div>
+<div class="ttc" id="structFP__NIST521_html"><div class="ttname"><a href="structFP__NIST521.html">FP_NIST521</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.h:38</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a7cbfb0e2047bb12f12473ca4687be5a7"><div class="ttname"><a href="fp__NIST521_8h.html#a7cbfb0e2047bb12f12473ca4687be5a7">FP_NIST521_copy</a></div><div class="ttdeci">void FP_NIST521_copy(FP_NIST521 *y, FP_NIST521 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:216</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a663dae3defbbd5c058ca1cdfd1105720"><div class="ttname"><a href="fp__NIST521_8h.html#a663dae3defbbd5c058ca1cdfd1105720">FP_NIST521_div2</a></div><div class="ttdeci">void FP_NIST521_div2(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:515</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a31d66c83ab1e4db3c429980112519e27"><div class="ttname"><a href="fp__NIST521_8h.html#a31d66c83ab1e4db3c429980112519e27">FP_NIST521_rcopy</a></div><div class="ttdeci">void FP_NIST521_rcopy(FP_NIST521 *y, const BIG_528_60 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:222</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a700c9f657c1c27b1617059dd6d1c3b61"><div class="ttname"><a href="fp__NIST521_8h.html#a700c9f657c1c27b1617059dd6d1c3b61">FP_NIST521_neg</a></div><div class="ttdeci">void FP_NIST521_neg(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:491</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a2a92638170fb9e378d7341b43f062eaa"><div class="ttname"><a href="fp__NIST521_8h.html#a2a92638170fb9e378d7341b43f062eaa">FP_NIST521_nres</a></div><div class="ttdeci">void FP_NIST521_nres(FP_NIST521 *y, BIG_528_60 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:90</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_af900b13b6fa6ed5b64a91a7d0ffd0d4e"><div class="ttname"><a href="fp__NIST521_8h.html#af900b13b6fa6ed5b64a91a7d0ffd0d4e">FP_NIST521_norm</a></div><div class="ttdeci">void FP_NIST521_norm(FP_NIST521 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:484</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a5096f25dc402baf4f8aa04ed5c50eb12"><div class="ttname"><a href="fp__NIST521_8h.html#a5096f25dc402baf4f8aa04ed5c50eb12">FP_NIST521_reduce</a></div><div class="ttdeci">void FP_NIST521_reduce(FP_NIST521 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:449</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a54d28fa763c23f35c8d37b7596cd8933"><div class="ttname"><a href="fp__NIST521_8h.html#a54d28fa763c23f35c8d37b7596cd8933">FP_NIST521_mul</a></div><div class="ttdeci">void FP_NIST521_mul(FP_NIST521 *x, FP_NIST521 *y, FP_NIST521 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:297</div></div>
 <div class="ttc" id="big__528__60_8h_html_a098a5686344d9db2f135c845fc9c83c0"><div class="ttname"><a href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">DBIG_528_60</a></div><div class="ttdeci">chunk DBIG_528_60[DNLEN_528_60]</div><div class="ttdef"><b>Definition:</b> big_528_60.h:59</div></div>
-<div class="ttc" id="big__528__60_8h_html"><div class="ttname"><a href="big__528__60_8h.html">big_528_60.h</a></div><div class="ttdoc">BIG Header File.</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_ac4f59fd2d08c8625eacd85bfc6916aab"><div class="ttname"><a href="fp__NIST521_8h.html#ac4f59fd2d08c8625eacd85bfc6916aab">FP_NIST521_imul</a></div><div class="ttdeci">void FP_NIST521_imul(FP_NIST521 *x, FP_NIST521 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:321</div></div>
+<div class="ttc" id="big__528__60_8h_html"><div class="ttname"><a href="big__528__60_8h.html">big_528_60.h</a></div><div class="ttdoc">BIG Header File. </div></div>
+<div class="ttc" id="fp__NIST521_8h_html_ac4f59fd2d08c8625eacd85bfc6916aab"><div class="ttname"><a href="fp__NIST521_8h.html#ac4f59fd2d08c8625eacd85bfc6916aab">FP_NIST521_imul</a></div><div class="ttdeci">void FP_NIST521_imul(FP_NIST521 *x, FP_NIST521 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:321</div></div>
 <div class="ttc" id="structFP__NIST521_html_a2a22aa90b36a99811fecf0473dfb191d"><div class="ttname"><a href="structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d">FP_NIST521::g</a></div><div class="ttdeci">BIG_528_60 g</div><div class="ttdef"><b>Definition:</b> fp_NIST521.h:40</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a05207c9bfe8570a08e8287e0f0fefadf"><div class="ttname"><a href="fp__NIST521_8h.html#a05207c9bfe8570a08e8287e0f0fefadf">FP_NIST521_zero</a></div><div class="ttdeci">void FP_NIST521_zero(FP_NIST521 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:251</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a4375308e9964322cd993809d8c5191bd"><div class="ttname"><a href="fp__NIST521_8h.html#a4375308e9964322cd993809d8c5191bd">FP_NIST521_pow</a></div><div class="ttdeci">void FP_NIST521_pow(FP_NIST521 *x, FP_NIST521 *y, BIG_528_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a7ee7fa092ac8bfa1fb7105239e3fa7a8"><div class="ttname"><a href="fp__NIST521_8h.html#a7ee7fa092ac8bfa1fb7105239e3fa7a8">FP_NIST521_add</a></div><div class="ttdeci">void FP_NIST521_add(FP_NIST521 *x, FP_NIST521 *y, FP_NIST521 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:385</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_aaad6f8fd4ba53e5c67f46fd895e8d8bd"><div class="ttname"><a href="fp__NIST521_8h.html#aaad6f8fd4ba53e5c67f46fd895e8d8bd">FP_NIST521_sub</a></div><div class="ttdeci">void FP_NIST521_sub(FP_NIST521 *x, FP_NIST521 *y, FP_NIST521 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:400</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a41b54e0c55bc2fd89b2dc263cb74a778"><div class="ttname"><a href="fp__NIST521_8h.html#a41b54e0c55bc2fd89b2dc263cb74a778">FP_NIST521_one</a></div><div class="ttdeci">void FP_NIST521_one(FP_NIST521 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:723</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a05207c9bfe8570a08e8287e0f0fefadf"><div class="ttname"><a href="fp__NIST521_8h.html#a05207c9bfe8570a08e8287e0f0fefadf">FP_NIST521_zero</a></div><div class="ttdeci">void FP_NIST521_zero(FP_NIST521 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:251</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a4375308e9964322cd993809d8c5191bd"><div class="ttname"><a href="fp__NIST521_8h.html#a4375308e9964322cd993809d8c5191bd">FP_NIST521_pow</a></div><div class="ttdeci">void FP_NIST521_pow(FP_NIST521 *x, FP_NIST521 *y, BIG_528_60 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a7ee7fa092ac8bfa1fb7105239e3fa7a8"><div class="ttname"><a href="fp__NIST521_8h.html#a7ee7fa092ac8bfa1fb7105239e3fa7a8">FP_NIST521_add</a></div><div class="ttdeci">void FP_NIST521_add(FP_NIST521 *x, FP_NIST521 *y, FP_NIST521 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:385</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_aaad6f8fd4ba53e5c67f46fd895e8d8bd"><div class="ttname"><a href="fp__NIST521_8h.html#aaad6f8fd4ba53e5c67f46fd895e8d8bd">FP_NIST521_sub</a></div><div class="ttdeci">void FP_NIST521_sub(FP_NIST521 *x, FP_NIST521 *y, FP_NIST521 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:400</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a41b54e0c55bc2fd89b2dc263cb74a778"><div class="ttname"><a href="fp__NIST521_8h.html#a41b54e0c55bc2fd89b2dc263cb74a778">FP_NIST521_one</a></div><div class="ttdeci">void FP_NIST521_one(FP_NIST521 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:723</div></div>
 <div class="ttc" id="fp__NIST521_8h_html_aed89b8527267a579cbda957673def206"><div class="ttname"><a href="fp__NIST521_8h.html#aed89b8527267a579cbda957673def206">R2modp_NIST521</a></div><div class="ttdeci">const BIG_528_60 R2modp_NIST521</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_acb035390bd014d26bb5b9638a1cb7d7f"><div class="ttname"><a href="fp__NIST521_8h.html#acb035390bd014d26bb5b9638a1cb7d7f">FP_NIST521_equals</a></div><div class="ttdeci">int FP_NIST521_equals(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:257</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_ade6b2d91c96a2e4ec68033dc1d1109e4"><div class="ttname"><a href="fp__NIST521_8h.html#ade6b2d91c96a2e4ec68033dc1d1109e4">FP_NIST521_rawoutput</a></div><div class="ttdeci">void FP_NIST521_rawoutput(FP_NIST521 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:277</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_acb035390bd014d26bb5b9638a1cb7d7f"><div class="ttname"><a href="fp__NIST521_8h.html#acb035390bd014d26bb5b9638a1cb7d7f">FP_NIST521_equals</a></div><div class="ttdeci">int FP_NIST521_equals(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:257</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_ade6b2d91c96a2e4ec68033dc1d1109e4"><div class="ttname"><a href="fp__NIST521_8h.html#ade6b2d91c96a2e4ec68033dc1d1109e4">FP_NIST521_rawoutput</a></div><div class="ttdeci">void FP_NIST521_rawoutput(FP_NIST521 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:277</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a99346f962acddcf55c37268214dc9a2e"><div class="ttname"><a href="fp__NIST521_8h.html#a99346f962acddcf55c37268214dc9a2e">FP_NIST521_sqr</a></div><div class="ttdeci">void FP_NIST521_sqr(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:366</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a99346f962acddcf55c37268214dc9a2e"><div class="ttname"><a href="fp__NIST521_8h.html#a99346f962acddcf55c37268214dc9a2e">FP_NIST521_sqr</a></div><div class="ttdeci">void FP_NIST521_sqr(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:366</div></div>
 <div class="ttc" id="fp__NIST521_8h_html_afb5aed89a7f4aada574893f09b78444b"><div class="ttname"><a href="fp__NIST521_8h.html#afb5aed89a7f4aada574893f09b78444b">MConst_NIST521</a></div><div class="ttdeci">const chunk MConst_NIST521</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_aa8918a6b92bba55510cc39a7d0af19b7"><div class="ttname"><a href="fp__NIST521_8h.html#aa8918a6b92bba55510cc39a7d0af19b7">FP_NIST521_iszilch</a></div><div class="ttdeci">int FP_NIST521_iszilch(FP_NIST521 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:207</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_aa8918a6b92bba55510cc39a7d0af19b7"><div class="ttname"><a href="fp__NIST521_8h.html#aa8918a6b92bba55510cc39a7d0af19b7">FP_NIST521_iszilch</a></div><div class="ttdeci">int FP_NIST521_iszilch(FP_NIST521 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:207</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="fp__NIST521_8h_html_a98fd8ae16a20cbd8153fe3ef2b80a918"><div class="ttname"><a href="fp__NIST521_8h.html#a98fd8ae16a20cbd8153fe3ef2b80a918">FP_NIST521_cswap</a></div><div class="ttdeci">void FP_NIST521_cswap(FP_NIST521 *x, FP_NIST521 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:230</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a7c15b75bdf262a9c55b9d208c5d25f72"><div class="ttname"><a href="fp__NIST521_8h.html#a7c15b75bdf262a9c55b9d208c5d25f72">FP_NIST521_inv</a></div><div class="ttdeci">void FP_NIST521_inv(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:648</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a7001d051e5e7393090aed705b6025760"><div class="ttname"><a href="fp__NIST521_8h.html#a7001d051e5e7393090aed705b6025760">FP_NIST521_cmove</a></div><div class="ttdeci">void FP_NIST521_cmove(FP_NIST521 *x, FP_NIST521 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:243</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a8bc93e4302ce0be390de8444ad7b0306"><div class="ttname"><a href="fp__NIST521_8h.html#a8bc93e4302ce0be390de8444ad7b0306">FP_NIST521_sqrt</a></div><div class="ttdeci">void FP_NIST521_sqrt(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:747</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a98fd8ae16a20cbd8153fe3ef2b80a918"><div class="ttname"><a href="fp__NIST521_8h.html#a98fd8ae16a20cbd8153fe3ef2b80a918">FP_NIST521_cswap</a></div><div class="ttdeci">void FP_NIST521_cswap(FP_NIST521 *x, FP_NIST521 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:230</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a7c15b75bdf262a9c55b9d208c5d25f72"><div class="ttname"><a href="fp__NIST521_8h.html#a7c15b75bdf262a9c55b9d208c5d25f72">FP_NIST521_inv</a></div><div class="ttdeci">void FP_NIST521_inv(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:648</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a7001d051e5e7393090aed705b6025760"><div class="ttname"><a href="fp__NIST521_8h.html#a7001d051e5e7393090aed705b6025760">FP_NIST521_cmove</a></div><div class="ttdeci">void FP_NIST521_cmove(FP_NIST521 *x, FP_NIST521 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:243</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a8bc93e4302ce0be390de8444ad7b0306"><div class="ttname"><a href="fp__NIST521_8h.html#a8bc93e4302ce0be390de8444ad7b0306">FP_NIST521_sqrt</a></div><div class="ttdeci">void FP_NIST521_sqrt(FP_NIST521 *x, FP_NIST521 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:747</div></div>
 <div class="ttc" id="fp__NIST521_8h_html_af5cbfa91010d117a9fcb2fddad052c78"><div class="ttname"><a href="fp__NIST521_8h.html#af5cbfa91010d117a9fcb2fddad052c78">Modulus_NIST521</a></div><div class="ttdeci">const BIG_528_60 Modulus_NIST521</div></div>
 <div class="ttc" id="big__528__60_8h_html_a8354e859d13f81a1282d413ad9a00f45"><div class="ttname"><a href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">BIG_528_60</a></div><div class="ttdeci">chunk BIG_528_60[NLEN_528_60]</div><div class="ttdef"><b>Definition:</b> big_528_60.h:58</div></div>
-<div class="ttc" id="fp__NIST521_8h_html_a1f85738f65d59076d699c46eab884f24"><div class="ttname"><a href="fp__NIST521_8h.html#a1f85738f65d59076d699c46eab884f24">FP_NIST521_output</a></div><div class="ttdeci">void FP_NIST521_output(FP_NIST521 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:270</div></div>
+<div class="ttc" id="fp__NIST521_8h_html_a1f85738f65d59076d699c46eab884f24"><div class="ttname"><a href="fp__NIST521_8h.html#a1f85738f65d59076d699c46eab884f24">FP_NIST521_output</a></div><div class="ttdeci">void FP_NIST521_output(FP_NIST521 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_NIST521.c:270</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/fp__SECP256K1_8h.html b/website/static/cdocs/fp__SECP256K1_8h.html
index 56184f3..607fab4 100644
--- a/website/static/cdocs/fp__SECP256K1_8h.html
+++ b/website/static/cdocs/fp__SECP256K1_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: fp_SECP256K1.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"
@@ -1195,7 +1198,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/fp__SECP256K1_8h_source.html b/website/static/cdocs/fp__SECP256K1_8h_source.html
index 31c01ad..bdd6bc0 100644
--- a/website/static/cdocs/fp__SECP256K1_8h_source.html
+++ b/website/static/cdocs/fp__SECP256K1_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: fp_SECP256K1.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,49 +72,49 @@
 <div class="title">fp_SECP256K1.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="fp__SECP256K1_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 FP_SECP256K1_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_SECP256K1_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_SECP256K1.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__SECP256K1.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84">g</a>;       </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__SECP256K1.html#a683a5f1d20332f03425eda97e47e1c26">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__SECP256K1.html#a683a5f1d20332f03425eda97e47e1c26">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__SECP256K1_8h.html#a16483b07b42fa4c69f9fba84c7eee4a5">Modulus_SECP256K1</a>;      </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__SECP256K1_8h.html#ac00e9bf66bee9c6142a20a59376c041f">R2modp_SECP256K1</a>;       </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__SECP256K1_8h.html#afac121c59e8c286214a91329da896954">MConst_SECP256K1</a>;            </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#a7821992562b3f74c125bb8c7e8e4da19">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_SECP256K1 MBITS_SECP256K1                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#ab0c0488953ee1a6bc0678f480f93cf0b">   52</a></span>&#160;<span class="preprocessor">#define TBITS_SECP256K1 (MBITS_SECP256K1%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#a6b5e1c05c60ae97ff3de135fe203f44f">   53</a></span>&#160;<span class="preprocessor">#define TMASK_SECP256K1 (((chunk)1&lt;&lt;TBITS_SECP256K1)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#ad2ec0536f260d035a05201ef89b20d49">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_SECP256K1 (((sign32)1&lt;&lt;MAXXES_SECP256K1)-1)          </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#af5ef913e46aa9e34e7864b8a8fedc9f1">   55</a></span>&#160;<span class="preprocessor">#define OMASK_SECP256K1 (-((chunk)(1)&lt;&lt;TBITS_SECP256K1))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__SECP256K1_8h.html#a886c73f714951b5aec6fb314ff2a3ab7">FP_SECP256K1_iszilch</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#afdaf7c7a5c45c781a4d6d451d24af41d">FP_SECP256K1_zero</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a6b7301a777d12723c0f45c57e4a0ff6d">FP_SECP256K1_copy</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a2b4af541bb58c9c3995c73fe5a57655e">FP_SECP256K1_rcopy</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__SECP256K1_8h.html#a1f2fa7eaa880dffb42ef91ca2f2321b9">FP_SECP256K1_equals</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__SECP256K1_8h.html#a0213885618d5a4a603efcb230c9208f0">FP_SECP256K1_cswap</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</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="fp__SECP256K1_8h.html#a8d00f1674d7b125a525ab9aa4034dfe4">FP_SECP256K1_cmove</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</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="fp__SECP256K1_8h.html#a247c33d9528a7dcc2e3eabd31c4ee455">FP_SECP256K1_nres</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__SECP256K1_8h.html#a300871512e18ed6a7fed0dbca0ca7b72">FP_SECP256K1_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a18ae1d6f8b33b72a517957ab0ef9d2ba">FP_SECP256K1_one</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a1c252d413f4a885a761bf7bed5c31c96">FP_SECP256K1_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_SECP256K1_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__SECP256K1_8h.html#a0a18b76222b42d282b3662c06d5d0fb8">FP_SECP256K1_mul</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *z);</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="fp__SECP256K1_8h.html#aaa522b83e4a94812b48f65355235e53b">FP_SECP256K1_imul</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a22eb8f739cd609242d4589c9968db90f">FP_SECP256K1_sqr</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a1a11ebc91370333aceb18ade6fbbd816">FP_SECP256K1_add</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a6770c2d8856b696e866514e5d175f87a">FP_SECP256K1_sub</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#acdc9a1095de1d1b2a72e92544484cd40">FP_SECP256K1_div2</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a771b1c29659536bc8e1dd5753eac5c1e">FP_SECP256K1_pow</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a5778cead75e4aeb912a8d6e0ab231b71">FP_SECP256K1_sqrt</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a5227684c4e131976e745f412d5cf88b2">FP_SECP256K1_neg</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a510d0d3a6d526df06b744b526f45d8b0">FP_SECP256K1_output</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a154fb9e7874ca23ff0a76c5626a124c4">FP_SECP256K1_rawoutput</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#af31843afce60f78804eaaad8c9a0e529">FP_SECP256K1_reduce</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#af62fce6edfb87d40a1b7426173f5bfe5">FP_SECP256K1_norm</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__SECP256K1_8h.html#a9a18a8216344073fdb2a4107a740b4ef">FP_SECP256K1_qr</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a8f1ecdc561021aaafdb7110e81f15a7b">FP_SECP256K1_inv</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__SECP256K1_8h_html_a5778cead75e4aeb912a8d6e0ab231b71"><div class="ttname"><a href="fp__SECP256K1_8h.html#a5778cead75e4aeb912a8d6e0ab231b71">FP_SECP256K1_sqrt</a></div><div class="ttdeci">void FP_SECP256K1_sqrt(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:747</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a5227684c4e131976e745f412d5cf88b2"><div class="ttname"><a href="fp__SECP256K1_8h.html#a5227684c4e131976e745f412d5cf88b2">FP_SECP256K1_neg</a></div><div class="ttdeci">void FP_SECP256K1_neg(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:491</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a154fb9e7874ca23ff0a76c5626a124c4"><div class="ttname"><a href="fp__SECP256K1_8h.html#a154fb9e7874ca23ff0a76c5626a124c4">FP_SECP256K1_rawoutput</a></div><div class="ttdeci">void FP_SECP256K1_rawoutput(FP_SECP256K1 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:277</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a1f2fa7eaa880dffb42ef91ca2f2321b9"><div class="ttname"><a href="fp__SECP256K1_8h.html#a1f2fa7eaa880dffb42ef91ca2f2321b9">FP_SECP256K1_equals</a></div><div class="ttdeci">int FP_SECP256K1_equals(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Compares two FPs.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:257</div></div>
+<a href="fp__SECP256K1_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 FP_SECP256K1_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define FP_SECP256K1_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 &quot;<a class="code" href="big__256__56_8h.html">big_256_56.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;config_field_SECP256K1.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structFP__SECP256K1.html">   38</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></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"><a class="line" href="structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84">   40</a></span>&#160;    <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84">g</a>;   </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structFP__SECP256K1.html#a683a5f1d20332f03425eda97e47e1c26">   41</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structFP__SECP256K1.html#a683a5f1d20332f03425eda97e47e1c26">XES</a>; </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;} <a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a>;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">/* Field Params - see rom.c */</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__SECP256K1_8h.html#a16483b07b42fa4c69f9fba84c7eee4a5">Modulus_SECP256K1</a>;  </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="fp__SECP256K1_8h.html#ac00e9bf66bee9c6142a20a59376c041f">R2modp_SECP256K1</a>;   </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a> <a class="code" href="fp__SECP256K1_8h.html#afac121c59e8c286214a91329da896954">MConst_SECP256K1</a>;        </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#a7821992562b3f74c125bb8c7e8e4da19">   51</a></span>&#160;<span class="preprocessor">#define MODBITS_SECP256K1 MBITS_SECP256K1                        </span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#ab0c0488953ee1a6bc0678f480f93cf0b">   52</a></span>&#160;<span class="preprocessor">#define TBITS_SECP256K1 (MBITS_SECP256K1%BASEBITS_256_56)           </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#a6b5e1c05c60ae97ff3de135fe203f44f">   53</a></span>&#160;<span class="preprocessor">#define TMASK_SECP256K1 (((chunk)1&lt;&lt;TBITS_SECP256K1)-1)          </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#ad2ec0536f260d035a05201ef89b20d49">   54</a></span>&#160;<span class="preprocessor">#define FEXCESS_SECP256K1 (((sign32)1&lt;&lt;MAXXES_SECP256K1)-1)      </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="fp__SECP256K1_8h.html#af5ef913e46aa9e34e7864b8a8fedc9f1">   55</a></span>&#160;<span class="preprocessor">#define OMASK_SECP256K1 (-((chunk)(1)&lt;&lt;TBITS_SECP256K1))         </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">//#define FUSED_MODMUL</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">//#define DEBUG_REDUCE</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="comment">/* FP prototypes */</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__SECP256K1_8h.html#a886c73f714951b5aec6fb314ff2a3ab7">FP_SECP256K1_iszilch</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#afdaf7c7a5c45c781a4d6d451d24af41d">FP_SECP256K1_zero</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a6b7301a777d12723c0f45c57e4a0ff6d">FP_SECP256K1_copy</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a2b4af541bb58c9c3995c73fe5a57655e">FP_SECP256K1_rcopy</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__SECP256K1_8h.html#a1f2fa7eaa880dffb42ef91ca2f2321b9">FP_SECP256K1_equals</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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="fp__SECP256K1_8h.html#a0213885618d5a4a603efcb230c9208f0">FP_SECP256K1_cswap</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</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="fp__SECP256K1_8h.html#a8d00f1674d7b125a525ab9aa4034dfe4">FP_SECP256K1_cmove</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</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="fp__SECP256K1_8h.html#a247c33d9528a7dcc2e3eabd31c4ee455">FP_SECP256K1_nres</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</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="fp__SECP256K1_8h.html#a300871512e18ed6a7fed0dbca0ca7b72">FP_SECP256K1_redc</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a18ae1d6f8b33b72a517957ab0ef9d2ba">FP_SECP256K1_one</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a1c252d413f4a885a761bf7bed5c31c96">FP_SECP256K1_mod</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> r,<a class="code" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a> d);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#ifdef FUSED_MODMUL</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> FP_SECP256K1_modmul(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>);</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno">  144</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="fp__SECP256K1_8h.html#a0a18b76222b42d282b3662c06d5d0fb8">FP_SECP256K1_mul</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *z);</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="fp__SECP256K1_8h.html#aaa522b83e4a94812b48f65355235e53b">FP_SECP256K1_imul</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<span class="keywordtype">int</span> i);</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a22eb8f739cd609242d4589c9968db90f">FP_SECP256K1_sqr</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a1a11ebc91370333aceb18ade6fbbd816">FP_SECP256K1_add</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *z);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a6770c2d8856b696e866514e5d175f87a">FP_SECP256K1_sub</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *z);</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#acdc9a1095de1d1b2a72e92544484cd40">FP_SECP256K1_div2</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a771b1c29659536bc8e1dd5753eac5c1e">FP_SECP256K1_pow</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> z);</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a5778cead75e4aeb912a8d6e0ab231b71">FP_SECP256K1_sqrt</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a5227684c4e131976e745f412d5cf88b2">FP_SECP256K1_neg</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a510d0d3a6d526df06b744b526f45d8b0">FP_SECP256K1_output</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a154fb9e7874ca23ff0a76c5626a124c4">FP_SECP256K1_rawoutput</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#af31843afce60f78804eaaad8c9a0e529">FP_SECP256K1_reduce</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#af62fce6edfb87d40a1b7426173f5bfe5">FP_SECP256K1_norm</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="fp__SECP256K1_8h.html#a9a18a8216344073fdb2a4107a740b4ef">FP_SECP256K1_qr</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x);</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="fp__SECP256K1_8h.html#a8f1ecdc561021aaafdb7110e81f15a7b">FP_SECP256K1_inv</a>(<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x,<a class="code" href="structFP__SECP256K1.html">FP_SECP256K1</a> *y);</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="fp__SECP256K1_8h_html_a5778cead75e4aeb912a8d6e0ab231b71"><div class="ttname"><a href="fp__SECP256K1_8h.html#a5778cead75e4aeb912a8d6e0ab231b71">FP_SECP256K1_sqrt</a></div><div class="ttdeci">void FP_SECP256K1_sqrt(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Fast Modular square root of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:747</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a5227684c4e131976e745f412d5cf88b2"><div class="ttname"><a href="fp__SECP256K1_8h.html#a5227684c4e131976e745f412d5cf88b2">FP_SECP256K1_neg</a></div><div class="ttdeci">void FP_SECP256K1_neg(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Modular negation of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:491</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a154fb9e7874ca23ff0a76c5626a124c4"><div class="ttname"><a href="fp__SECP256K1_8h.html#a154fb9e7874ca23ff0a76c5626a124c4">FP_SECP256K1_rawoutput</a></div><div class="ttdeci">void FP_SECP256K1_rawoutput(FP_SECP256K1 *x)</div><div class="ttdoc">Outputs an FP number to the console, in raw form. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:277</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a1f2fa7eaa880dffb42ef91ca2f2321b9"><div class="ttname"><a href="fp__SECP256K1_8h.html#a1f2fa7eaa880dffb42ef91ca2f2321b9">FP_SECP256K1_equals</a></div><div class="ttdeci">int FP_SECP256K1_equals(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Compares two FPs. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:257</div></div>
 <div class="ttc" id="fp__SECP256K1_8h_html_ac00e9bf66bee9c6142a20a59376c041f"><div class="ttname"><a href="fp__SECP256K1_8h.html#ac00e9bf66bee9c6142a20a59376c041f">R2modp_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 R2modp_SECP256K1</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a6b7301a777d12723c0f45c57e4a0ff6d"><div class="ttname"><a href="fp__SECP256K1_8h.html#a6b7301a777d12723c0f45c57e4a0ff6d">FP_SECP256K1_copy</a></div><div class="ttdeci">void FP_SECP256K1_copy(FP_SECP256K1 *y, FP_SECP256K1 *x)</div><div class="ttdoc">Copy an FP.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:216</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a1a11ebc91370333aceb18ade6fbbd816"><div class="ttname"><a href="fp__SECP256K1_8h.html#a1a11ebc91370333aceb18ade6fbbd816">FP_SECP256K1_add</a></div><div class="ttdeci">void FP_SECP256K1_add(FP_SECP256K1 *x, FP_SECP256K1 *y, FP_SECP256K1 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:385</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a2b4af541bb58c9c3995c73fe5a57655e"><div class="ttname"><a href="fp__SECP256K1_8h.html#a2b4af541bb58c9c3995c73fe5a57655e">FP_SECP256K1_rcopy</a></div><div class="ttdeci">void FP_SECP256K1_rcopy(FP_SECP256K1 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:222</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_aaa522b83e4a94812b48f65355235e53b"><div class="ttname"><a href="fp__SECP256K1_8h.html#aaa522b83e4a94812b48f65355235e53b">FP_SECP256K1_imul</a></div><div class="ttdeci">void FP_SECP256K1_imul(FP_SECP256K1 *x, FP_SECP256K1 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:321</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a6b7301a777d12723c0f45c57e4a0ff6d"><div class="ttname"><a href="fp__SECP256K1_8h.html#a6b7301a777d12723c0f45c57e4a0ff6d">FP_SECP256K1_copy</a></div><div class="ttdeci">void FP_SECP256K1_copy(FP_SECP256K1 *y, FP_SECP256K1 *x)</div><div class="ttdoc">Copy an FP. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:216</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a1a11ebc91370333aceb18ade6fbbd816"><div class="ttname"><a href="fp__SECP256K1_8h.html#a1a11ebc91370333aceb18ade6fbbd816">FP_SECP256K1_add</a></div><div class="ttdeci">void FP_SECP256K1_add(FP_SECP256K1 *x, FP_SECP256K1 *y, FP_SECP256K1 *z)</div><div class="ttdoc">Modular addition of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:385</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a2b4af541bb58c9c3995c73fe5a57655e"><div class="ttname"><a href="fp__SECP256K1_8h.html#a2b4af541bb58c9c3995c73fe5a57655e">FP_SECP256K1_rcopy</a></div><div class="ttdeci">void FP_SECP256K1_rcopy(FP_SECP256K1 *y, const BIG_256_56 x)</div><div class="ttdoc">Copy from ROM to an FP. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:222</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_aaa522b83e4a94812b48f65355235e53b"><div class="ttname"><a href="fp__SECP256K1_8h.html#aaa522b83e4a94812b48f65355235e53b">FP_SECP256K1_imul</a></div><div class="ttdeci">void FP_SECP256K1_imul(FP_SECP256K1 *x, FP_SECP256K1 *y, int i)</div><div class="ttdoc">Fast Modular multiplication of an FP, by a small integer, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:321</div></div>
 <div class="ttc" id="fp__SECP256K1_8h_html_afac121c59e8c286214a91329da896954"><div class="ttname"><a href="fp__SECP256K1_8h.html#afac121c59e8c286214a91329da896954">MConst_SECP256K1</a></div><div class="ttdeci">const chunk MConst_SECP256K1</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a300871512e18ed6a7fed0dbca0ca7b72"><div class="ttname"><a href="fp__SECP256K1_8h.html#a300871512e18ed6a7fed0dbca0ca7b72">FP_SECP256K1_redc</a></div><div class="ttdeci">void FP_SECP256K1_redc(BIG_256_56 x, FP_SECP256K1 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:97</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a300871512e18ed6a7fed0dbca0ca7b72"><div class="ttname"><a href="fp__SECP256K1_8h.html#a300871512e18ed6a7fed0dbca0ca7b72">FP_SECP256K1_redc</a></div><div class="ttdeci">void FP_SECP256K1_redc(BIG_256_56 x, FP_SECP256K1 *y)</div><div class="ttdoc">Converts from residue form back to BIG integer form. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:97</div></div>
 <div class="ttc" id="structFP__SECP256K1_html_a683a5f1d20332f03425eda97e47e1c26"><div class="ttname"><a href="structFP__SECP256K1.html#a683a5f1d20332f03425eda97e47e1c26">FP_SECP256K1::XES</a></div><div class="ttdeci">sign32 XES</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.h:41</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a22eb8f739cd609242d4589c9968db90f"><div class="ttname"><a href="fp__SECP256K1_8h.html#a22eb8f739cd609242d4589c9968db90f">FP_SECP256K1_sqr</a></div><div class="ttdeci">void FP_SECP256K1_sqr(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:366</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a886c73f714951b5aec6fb314ff2a3ab7"><div class="ttname"><a href="fp__SECP256K1_8h.html#a886c73f714951b5aec6fb314ff2a3ab7">FP_SECP256K1_iszilch</a></div><div class="ttdeci">int FP_SECP256K1_iszilch(FP_SECP256K1 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:207</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a8f1ecdc561021aaafdb7110e81f15a7b"><div class="ttname"><a href="fp__SECP256K1_8h.html#a8f1ecdc561021aaafdb7110e81f15a7b">FP_SECP256K1_inv</a></div><div class="ttdeci">void FP_SECP256K1_inv(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:648</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a9a18a8216344073fdb2a4107a740b4ef"><div class="ttname"><a href="fp__SECP256K1_8h.html#a9a18a8216344073fdb2a4107a740b4ef">FP_SECP256K1_qr</a></div><div class="ttdeci">int FP_SECP256K1_qr(FP_SECP256K1 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:731</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a771b1c29659536bc8e1dd5753eac5c1e"><div class="ttname"><a href="fp__SECP256K1_8h.html#a771b1c29659536bc8e1dd5753eac5c1e">FP_SECP256K1_pow</a></div><div class="ttdeci">void FP_SECP256K1_pow(FP_SECP256K1 *x, FP_SECP256K1 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus.</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_af62fce6edfb87d40a1b7426173f5bfe5"><div class="ttname"><a href="fp__SECP256K1_8h.html#af62fce6edfb87d40a1b7426173f5bfe5">FP_SECP256K1_norm</a></div><div class="ttdeci">void FP_SECP256K1_norm(FP_SECP256K1 *x)</div><div class="ttdoc">normalizes FP</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:484</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a22eb8f739cd609242d4589c9968db90f"><div class="ttname"><a href="fp__SECP256K1_8h.html#a22eb8f739cd609242d4589c9968db90f">FP_SECP256K1_sqr</a></div><div class="ttdeci">void FP_SECP256K1_sqr(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Fast Modular squaring of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:366</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a886c73f714951b5aec6fb314ff2a3ab7"><div class="ttname"><a href="fp__SECP256K1_8h.html#a886c73f714951b5aec6fb314ff2a3ab7">FP_SECP256K1_iszilch</a></div><div class="ttdeci">int FP_SECP256K1_iszilch(FP_SECP256K1 *x)</div><div class="ttdoc">Tests for FP equal to zero mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:207</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a8f1ecdc561021aaafdb7110e81f15a7b"><div class="ttname"><a href="fp__SECP256K1_8h.html#a8f1ecdc561021aaafdb7110e81f15a7b">FP_SECP256K1_inv</a></div><div class="ttdeci">void FP_SECP256K1_inv(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Modular inverse of a an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:648</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a9a18a8216344073fdb2a4107a740b4ef"><div class="ttname"><a href="fp__SECP256K1_8h.html#a9a18a8216344073fdb2a4107a740b4ef">FP_SECP256K1_qr</a></div><div class="ttdeci">int FP_SECP256K1_qr(FP_SECP256K1 *x)</div><div class="ttdoc">Tests for FP a quadratic residue mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:731</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a771b1c29659536bc8e1dd5753eac5c1e"><div class="ttname"><a href="fp__SECP256K1_8h.html#a771b1c29659536bc8e1dd5753eac5c1e">FP_SECP256K1_pow</a></div><div class="ttdeci">void FP_SECP256K1_pow(FP_SECP256K1 *x, FP_SECP256K1 *y, BIG_256_56 z)</div><div class="ttdoc">Fast Modular exponentiation of an FP, to the power of a BIG, mod Modulus. </div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_af62fce6edfb87d40a1b7426173f5bfe5"><div class="ttname"><a href="fp__SECP256K1_8h.html#af62fce6edfb87d40a1b7426173f5bfe5">FP_SECP256K1_norm</a></div><div class="ttdeci">void FP_SECP256K1_norm(FP_SECP256K1 *x)</div><div class="ttdoc">normalizes FP </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:484</div></div>
 <div class="ttc" id="big__256__56_8h_html_a6183570cd770f0ce6be0d94a42ee465a"><div class="ttname"><a href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">DBIG_256_56</a></div><div class="ttdeci">chunk DBIG_256_56[DNLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:59</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a0a18b76222b42d282b3662c06d5d0fb8"><div class="ttname"><a href="fp__SECP256K1_8h.html#a0a18b76222b42d282b3662c06d5d0fb8">FP_SECP256K1_mul</a></div><div class="ttdeci">void FP_SECP256K1_mul(FP_SECP256K1 *x, FP_SECP256K1 *y, FP_SECP256K1 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:297</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_afdaf7c7a5c45c781a4d6d451d24af41d"><div class="ttname"><a href="fp__SECP256K1_8h.html#afdaf7c7a5c45c781a4d6d451d24af41d">FP_SECP256K1_zero</a></div><div class="ttdeci">void FP_SECP256K1_zero(FP_SECP256K1 *x)</div><div class="ttdoc">Set FP to zero.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:251</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_af31843afce60f78804eaaad8c9a0e529"><div class="ttname"><a href="fp__SECP256K1_8h.html#af31843afce60f78804eaaad8c9a0e529">FP_SECP256K1_reduce</a></div><div class="ttdeci">void FP_SECP256K1_reduce(FP_SECP256K1 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:449</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a18ae1d6f8b33b72a517957ab0ef9d2ba"><div class="ttname"><a href="fp__SECP256K1_8h.html#a18ae1d6f8b33b72a517957ab0ef9d2ba">FP_SECP256K1_one</a></div><div class="ttdeci">void FP_SECP256K1_one(FP_SECP256K1 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:723</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a6770c2d8856b696e866514e5d175f87a"><div class="ttname"><a href="fp__SECP256K1_8h.html#a6770c2d8856b696e866514e5d175f87a">FP_SECP256K1_sub</a></div><div class="ttdeci">void FP_SECP256K1_sub(FP_SECP256K1 *x, FP_SECP256K1 *y, FP_SECP256K1 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:400</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a510d0d3a6d526df06b744b526f45d8b0"><div class="ttname"><a href="fp__SECP256K1_8h.html#a510d0d3a6d526df06b744b526f45d8b0">FP_SECP256K1_output</a></div><div class="ttdeci">void FP_SECP256K1_output(FP_SECP256K1 *x)</div><div class="ttdoc">Outputs an FP number to the console.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:270</div></div>
-<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File.</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a0a18b76222b42d282b3662c06d5d0fb8"><div class="ttname"><a href="fp__SECP256K1_8h.html#a0a18b76222b42d282b3662c06d5d0fb8">FP_SECP256K1_mul</a></div><div class="ttdeci">void FP_SECP256K1_mul(FP_SECP256K1 *x, FP_SECP256K1 *y, FP_SECP256K1 *z)</div><div class="ttdoc">Fast Modular multiplication of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:297</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_afdaf7c7a5c45c781a4d6d451d24af41d"><div class="ttname"><a href="fp__SECP256K1_8h.html#afdaf7c7a5c45c781a4d6d451d24af41d">FP_SECP256K1_zero</a></div><div class="ttdeci">void FP_SECP256K1_zero(FP_SECP256K1 *x)</div><div class="ttdoc">Set FP to zero. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:251</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_af31843afce60f78804eaaad8c9a0e529"><div class="ttname"><a href="fp__SECP256K1_8h.html#af31843afce60f78804eaaad8c9a0e529">FP_SECP256K1_reduce</a></div><div class="ttdeci">void FP_SECP256K1_reduce(FP_SECP256K1 *x)</div><div class="ttdoc">Reduces possibly unreduced FP mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:449</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a18ae1d6f8b33b72a517957ab0ef9d2ba"><div class="ttname"><a href="fp__SECP256K1_8h.html#a18ae1d6f8b33b72a517957ab0ef9d2ba">FP_SECP256K1_one</a></div><div class="ttdeci">void FP_SECP256K1_one(FP_SECP256K1 *x)</div><div class="ttdoc">Sets FP to representation of unity in residue form. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:723</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a6770c2d8856b696e866514e5d175f87a"><div class="ttname"><a href="fp__SECP256K1_8h.html#a6770c2d8856b696e866514e5d175f87a">FP_SECP256K1_sub</a></div><div class="ttdeci">void FP_SECP256K1_sub(FP_SECP256K1 *x, FP_SECP256K1 *y, FP_SECP256K1 *z)</div><div class="ttdoc">Modular subtraction of two FPs, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:400</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a510d0d3a6d526df06b744b526f45d8b0"><div class="ttname"><a href="fp__SECP256K1_8h.html#a510d0d3a6d526df06b744b526f45d8b0">FP_SECP256K1_output</a></div><div class="ttdeci">void FP_SECP256K1_output(FP_SECP256K1 *x)</div><div class="ttdoc">Outputs an FP number to the console. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:270</div></div>
+<div class="ttc" id="big__256__56_8h_html"><div class="ttname"><a href="big__256__56_8h.html">big_256_56.h</a></div><div class="ttdoc">BIG Header File. </div></div>
 <div class="ttc" id="structFP__SECP256K1_html_a55dc8e0ac8d46dcf2118b951dc4c1e84"><div class="ttname"><a href="structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84">FP_SECP256K1::g</a></div><div class="ttdeci">BIG_256_56 g</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.h:40</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a8d00f1674d7b125a525ab9aa4034dfe4"><div class="ttname"><a href="fp__SECP256K1_8h.html#a8d00f1674d7b125a525ab9aa4034dfe4">FP_SECP256K1_cmove</a></div><div class="ttdeci">void FP_SECP256K1_cmove(FP_SECP256K1 *x, FP_SECP256K1 *y, int s)</div><div class="ttdoc">Conditional copy of FP number.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:243</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_acdc9a1095de1d1b2a72e92544484cd40"><div class="ttname"><a href="fp__SECP256K1_8h.html#acdc9a1095de1d1b2a72e92544484cd40">FP_SECP256K1_div2</a></div><div class="ttdeci">void FP_SECP256K1_div2(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:515</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a8d00f1674d7b125a525ab9aa4034dfe4"><div class="ttname"><a href="fp__SECP256K1_8h.html#a8d00f1674d7b125a525ab9aa4034dfe4">FP_SECP256K1_cmove</a></div><div class="ttdeci">void FP_SECP256K1_cmove(FP_SECP256K1 *x, FP_SECP256K1 *y, int s)</div><div class="ttdoc">Conditional copy of FP number. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:243</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_acdc9a1095de1d1b2a72e92544484cd40"><div class="ttname"><a href="fp__SECP256K1_8h.html#acdc9a1095de1d1b2a72e92544484cd40">FP_SECP256K1_div2</a></div><div class="ttdeci">void FP_SECP256K1_div2(FP_SECP256K1 *x, FP_SECP256K1 *y)</div><div class="ttdoc">Modular division by 2 of an FP, mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:515</div></div>
 <div class="ttc" id="fp__SECP256K1_8h_html_a16483b07b42fa4c69f9fba84c7eee4a5"><div class="ttname"><a href="fp__SECP256K1_8h.html#a16483b07b42fa4c69f9fba84c7eee4a5">Modulus_SECP256K1</a></div><div class="ttdeci">const BIG_256_56 Modulus_SECP256K1</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a1c252d413f4a885a761bf7bed5c31c96"><div class="ttname"><a href="fp__SECP256K1_8h.html#a1c252d413f4a885a761bf7bed5c31c96">FP_SECP256K1_mod</a></div><div class="ttdeci">void FP_SECP256K1_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:103</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a1c252d413f4a885a761bf7bed5c31c96"><div class="ttname"><a href="fp__SECP256K1_8h.html#a1c252d413f4a885a761bf7bed5c31c96">FP_SECP256K1_mod</a></div><div class="ttdeci">void FP_SECP256K1_mod(BIG_256_56 r, DBIG_256_56 d)</div><div class="ttdoc">Reduces DBIG to BIG exploiting special form of the modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:103</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a0213885618d5a4a603efcb230c9208f0"><div class="ttname"><a href="fp__SECP256K1_8h.html#a0213885618d5a4a603efcb230c9208f0">FP_SECP256K1_cswap</a></div><div class="ttdeci">void FP_SECP256K1_cswap(FP_SECP256K1 *x, FP_SECP256K1 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:230</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a0213885618d5a4a603efcb230c9208f0"><div class="ttname"><a href="fp__SECP256K1_8h.html#a0213885618d5a4a603efcb230c9208f0">FP_SECP256K1_cswap</a></div><div class="ttdeci">void FP_SECP256K1_cswap(FP_SECP256K1 *x, FP_SECP256K1 *y, int s)</div><div class="ttdoc">Conditional constant time swap of two FP numbers. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:230</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</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="structFP__SECP256K1_html"><div class="ttname"><a href="structFP__SECP256K1.html">FP_SECP256K1</a></div><div class="ttdoc">FP Structure - quadratic extension field.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.h:38</div></div>
-<div class="ttc" id="fp__SECP256K1_8h_html_a247c33d9528a7dcc2e3eabd31c4ee455"><div class="ttname"><a href="fp__SECP256K1_8h.html#a247c33d9528a7dcc2e3eabd31c4ee455">FP_SECP256K1_nres</a></div><div class="ttdeci">void FP_SECP256K1_nres(FP_SECP256K1 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus.</div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:90</div></div>
+<div class="ttc" id="structFP__SECP256K1_html"><div class="ttname"><a href="structFP__SECP256K1.html">FP_SECP256K1</a></div><div class="ttdoc">FP Structure - quadratic extension field. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.h:38</div></div>
+<div class="ttc" id="fp__SECP256K1_8h_html_a247c33d9528a7dcc2e3eabd31c4ee455"><div class="ttname"><a href="fp__SECP256K1_8h.html#a247c33d9528a7dcc2e3eabd31c4ee455">FP_SECP256K1_nres</a></div><div class="ttdeci">void FP_SECP256K1_nres(FP_SECP256K1 *y, BIG_256_56 x)</div><div class="ttdoc">Converts from BIG integer to residue form mod Modulus. </div><div class="ttdef"><b>Definition:</b> fp_SECP256K1.c:90</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/functions.html b/website/static/cdocs/functions.html
index 48803a7..7eaa138 100644
--- a/website/static/cdocs/functions.html
+++ b/website/static/cdocs/functions.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 Fields</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 -->
@@ -103,7 +106,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/functions_b.html b/website/static/cdocs/functions_b.html
index 12a4b88..4d6ce8c 100644
--- a/website/static/cdocs/functions_b.html
+++ b/website/static/cdocs/functions_b.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 Fields</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 -->
@@ -105,7 +108,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/functions_c.html b/website/static/cdocs/functions_c.html
index 0fd8337..7faedb7 100644
--- a/website/static/cdocs/functions_c.html
+++ b/website/static/cdocs/functions_c.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 Fields</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 -->
@@ -87,7 +90,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/functions_d.html b/website/static/cdocs/functions_d.html
index a5aad89..9926aa0 100644
--- a/website/static/cdocs/functions_d.html
+++ b/website/static/cdocs/functions_d.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 Fields</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 -->
@@ -80,7 +83,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/functions_e.html b/website/static/cdocs/functions_e.html
index 71a7166..d7268ca 100644
--- a/website/static/cdocs/functions_e.html
+++ b/website/static/cdocs/functions_e.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 Fields</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 -->
@@ -75,7 +78,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/functions_f.html b/website/static/cdocs/functions_f.html
index 679be39..96f38b6 100644
--- a/website/static/cdocs/functions_f.html
+++ b/website/static/cdocs/functions_f.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 Fields</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 -->
@@ -76,7 +79,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/functions_g.html b/website/static/cdocs/functions_g.html
index 112e61a..687a5e9 100644
--- a/website/static/cdocs/functions_g.html
+++ b/website/static/cdocs/functions_g.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 Fields</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 -->
@@ -88,6 +91,7 @@
 , <a class="el" href="structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d">FP_NIST384</a>
 , <a class="el" href="structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d">FP_NIST521</a>
 , <a class="el" href="structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84">FP_SECP256K1</a>
+, <a class="el" href="structPAILLIER__public__key.html#a4e46a0e4c68e944801e372d31e7b24c4">PAILLIER_public_key</a>
 </li>
 </ul>
 </div><!-- contents -->
@@ -95,7 +99,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/functions_h.html b/website/static/cdocs/functions_h.html
index 3d016fc..48128c3 100644
--- a/website/static/cdocs/functions_h.html
+++ b/website/static/cdocs/functions_h.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 Fields</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 -->
@@ -81,7 +84,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/functions_i.html b/website/static/cdocs/functions_i.html
index 85b74e2..cf18f74 100644
--- a/website/static/cdocs/functions_i.html
+++ b/website/static/cdocs/functions_i.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 Fields</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 -->
@@ -64,6 +67,12 @@
 <div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div>
 
 <h3><a id="index_i"></a>- i -</h3><ul>
+<li>invp
+: <a class="el" href="structPAILLIER__private__key.html#a952c7c468cd4d17b5b5671fe31165a8d">PAILLIER_private_key</a>
+</li>
+<li>invq
+: <a class="el" href="structPAILLIER__private__key.html#a5146fab180da3422d66d3cf944fb0247">PAILLIER_private_key</a>
+</li>
 <li>ira
 : <a class="el" href="structcsprng.html#a7995ef3e74e5d34984d4d0eb38dffd9e">csprng</a>
 </li>
@@ -73,7 +82,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/functions_l.html b/website/static/cdocs/functions_l.html
index 3a8a71d..5bb78ff 100644
--- a/website/static/cdocs/functions_l.html
+++ b/website/static/cdocs/functions_l.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 Fields</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 -->
@@ -79,13 +82,19 @@
 , <a class="el" href="structhash512.html#a71f1b748d99be6cd676fc5a7b3f291c9">hash512</a>
 , <a class="el" href="structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09">sha3</a>
 </li>
+<li>lp
+: <a class="el" href="structPAILLIER__private__key.html#af888282934b457a7c74bfd5ee5af0247">PAILLIER_private_key</a>
+</li>
+<li>lq
+: <a class="el" href="structPAILLIER__private__key.html#a4cef9b08dca71828a00c91d1927bf66c">PAILLIER_private_key</a>
+</li>
 </ul>
 </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/functions_m.html b/website/static/cdocs/functions_m.html
index a23a04a..76093eb 100644
--- a/website/static/cdocs/functions_m.html
+++ b/website/static/cdocs/functions_m.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 Fields</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 -->
@@ -70,13 +73,19 @@
 <li>mode
 : <a class="el" href="structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363">amcl_aes</a>
 </li>
+<li>mp
+: <a class="el" href="structPAILLIER__private__key.html#a2baa64964f2d29de901c3495a0b10951">PAILLIER_private_key</a>
+</li>
+<li>mq
+: <a class="el" href="structPAILLIER__private__key.html#a8eabfd60330252513a941ff4eb60a74a">PAILLIER_private_key</a>
+</li>
 </ul>
 </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/functions_n.html b/website/static/cdocs/functions_n.html
index c6936b7..8832cee 100644
--- a/website/static/cdocs/functions_n.html
+++ b/website/static/cdocs/functions_n.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 Fields</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 -->
@@ -65,10 +68,14 @@
 
 <h3><a id="index_n"></a>- n -</h3><ul>
 <li>n
-: <a class="el" href="structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e">rsa_public_key_2048</a>
+: <a class="el" href="structPAILLIER__public__key.html#aea6d614974ac68d25dac9e180bcb7ffb">PAILLIER_public_key</a>
+, <a class="el" href="structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e">rsa_public_key_2048</a>
 , <a class="el" href="structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c">rsa_public_key_3072</a>
 , <a class="el" href="structrsa__public__key__4096.html#a4a90bc6aeaa897b7934e7fe46fe6cf67">rsa_public_key_4096</a>
 </li>
+<li>n2
+: <a class="el" href="structPAILLIER__public__key.html#a43b28e4ff07c932a25813cc639419bc6">PAILLIER_public_key</a>
+</li>
 <li>Nk
 : <a class="el" href="structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6">amcl_aes</a>
 </li>
@@ -81,7 +88,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/functions_p.html b/website/static/cdocs/functions_p.html
index 43fc44e..c53cd13 100644
--- a/website/static/cdocs/functions_p.html
+++ b/website/static/cdocs/functions_p.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 Fields</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 -->
@@ -65,10 +68,14 @@
 
 <h3><a id="index_p"></a>- p -</h3><ul>
 <li>p
-: <a class="el" href="structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5">rsa_private_key_2048</a>
+: <a class="el" href="structPAILLIER__private__key.html#ab3a4b6e01c3185983d6240e4e093574a">PAILLIER_private_key</a>
+, <a class="el" href="structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5">rsa_private_key_2048</a>
 , <a class="el" href="structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c">rsa_private_key_3072</a>
 , <a class="el" href="structrsa__private__key__4096.html#a8e0b9a8a44f62faf01c1cd6eb45cc191">rsa_private_key_4096</a>
 </li>
+<li>p2
+: <a class="el" href="structPAILLIER__private__key.html#a954590d1d80ad8257ae57dc258a8c2c9">PAILLIER_private_key</a>
+</li>
 <li>pool
 : <a class="el" href="structcsprng.html#a2ac19b58bd7c9bab6fbc9ad394c41d2a">csprng</a>
 </li>
@@ -81,7 +88,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/functions_q.html b/website/static/cdocs/functions_q.html
index 5fba07e..6635eea 100644
--- a/website/static/cdocs/functions_q.html
+++ b/website/static/cdocs/functions_q.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 Fields</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 -->
@@ -65,17 +68,21 @@
 
 <h3><a id="index_q"></a>- q -</h3><ul>
 <li>q
-: <a class="el" href="structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674">rsa_private_key_2048</a>
+: <a class="el" href="structPAILLIER__private__key.html#a0827afad71df06ce991fa2799cc2f381">PAILLIER_private_key</a>
+, <a class="el" href="structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674">rsa_private_key_2048</a>
 , <a class="el" href="structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7">rsa_private_key_3072</a>
 , <a class="el" href="structrsa__private__key__4096.html#ad078f177ba6eb2967066c102b40d0e09">rsa_private_key_4096</a>
 </li>
+<li>q2
+: <a class="el" href="structPAILLIER__private__key.html#acf50ad57d674567ac4065000152f87c4">PAILLIER_private_key</a>
+</li>
 </ul>
 </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/functions_r.html b/website/static/cdocs/functions_r.html
index b6a5e22..7695e47 100644
--- a/website/static/cdocs/functions_r.html
+++ b/website/static/cdocs/functions_r.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 Fields</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 -->
@@ -79,7 +82,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/functions_s.html b/website/static/cdocs/functions_s.html
index bcb6e23..79661e1 100644
--- a/website/static/cdocs/functions_s.html
+++ b/website/static/cdocs/functions_s.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 Fields</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 -->
@@ -79,7 +82,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/functions_t.html b/website/static/cdocs/functions_t.html
index 6f7b8ad..0da9828 100644
--- a/website/static/cdocs/functions_t.html
+++ b/website/static/cdocs/functions_t.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 Fields</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 -->
@@ -85,7 +88,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/functions_v.html b/website/static/cdocs/functions_v.html
index df3e93d..39d62dd 100644
--- a/website/static/cdocs/functions_v.html
+++ b/website/static/cdocs/functions_v.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 Fields</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 -->
@@ -73,7 +76,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/functions_vars.html b/website/static/cdocs/functions_vars.html
index e69aaea..4112047 100644
--- a/website/static/cdocs/functions_vars.html
+++ b/website/static/cdocs/functions_vars.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 Fields - Variables</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 -->
@@ -103,7 +106,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/functions_vars_b.html b/website/static/cdocs/functions_vars_b.html
index cd30262..b4574cf 100644
--- a/website/static/cdocs/functions_vars_b.html
+++ b/website/static/cdocs/functions_vars_b.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 Fields - Variables</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 -->
@@ -105,7 +108,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/functions_vars_c.html b/website/static/cdocs/functions_vars_c.html
index 93d71be..b807150 100644
--- a/website/static/cdocs/functions_vars_c.html
+++ b/website/static/cdocs/functions_vars_c.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 Fields - Variables</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 -->
@@ -87,7 +90,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/functions_vars_d.html b/website/static/cdocs/functions_vars_d.html
index 55095c5..344bc20 100644
--- a/website/static/cdocs/functions_vars_d.html
+++ b/website/static/cdocs/functions_vars_d.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 Fields - Variables</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 -->
@@ -80,7 +83,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/functions_vars_e.html b/website/static/cdocs/functions_vars_e.html
index 895d6cd..a68dc3d 100644
--- a/website/static/cdocs/functions_vars_e.html
+++ b/website/static/cdocs/functions_vars_e.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 Fields - Variables</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 -->
@@ -75,7 +78,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/functions_vars_f.html b/website/static/cdocs/functions_vars_f.html
index 96e2bac..322630b 100644
--- a/website/static/cdocs/functions_vars_f.html
+++ b/website/static/cdocs/functions_vars_f.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 Fields - Variables</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 -->
@@ -76,7 +79,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/functions_vars_g.html b/website/static/cdocs/functions_vars_g.html
index b628474..84cf42f 100644
--- a/website/static/cdocs/functions_vars_g.html
+++ b/website/static/cdocs/functions_vars_g.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 Fields - Variables</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 -->
@@ -88,6 +91,7 @@
 , <a class="el" href="structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d">FP_NIST384</a>
 , <a class="el" href="structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d">FP_NIST521</a>
 , <a class="el" href="structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84">FP_SECP256K1</a>
+, <a class="el" href="structPAILLIER__public__key.html#a4e46a0e4c68e944801e372d31e7b24c4">PAILLIER_public_key</a>
 </li>
 </ul>
 </div><!-- contents -->
@@ -95,7 +99,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/functions_vars_h.html b/website/static/cdocs/functions_vars_h.html
index c82311f..e373950 100644
--- a/website/static/cdocs/functions_vars_h.html
+++ b/website/static/cdocs/functions_vars_h.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 Fields - Variables</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 -->
@@ -81,7 +84,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/functions_vars_i.html b/website/static/cdocs/functions_vars_i.html
index 6e872fc..89623cb 100644
--- a/website/static/cdocs/functions_vars_i.html
+++ b/website/static/cdocs/functions_vars_i.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 Fields - Variables</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 -->
@@ -64,6 +67,12 @@
 &#160;
 
 <h3><a id="index_i"></a>- i -</h3><ul>
+<li>invp
+: <a class="el" href="structPAILLIER__private__key.html#a952c7c468cd4d17b5b5671fe31165a8d">PAILLIER_private_key</a>
+</li>
+<li>invq
+: <a class="el" href="structPAILLIER__private__key.html#a5146fab180da3422d66d3cf944fb0247">PAILLIER_private_key</a>
+</li>
 <li>ira
 : <a class="el" href="structcsprng.html#a7995ef3e74e5d34984d4d0eb38dffd9e">csprng</a>
 </li>
@@ -73,7 +82,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/functions_vars_l.html b/website/static/cdocs/functions_vars_l.html
index 34de97d..0601541 100644
--- a/website/static/cdocs/functions_vars_l.html
+++ b/website/static/cdocs/functions_vars_l.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 Fields - Variables</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 -->
@@ -79,13 +82,19 @@
 , <a class="el" href="structhash512.html#a71f1b748d99be6cd676fc5a7b3f291c9">hash512</a>
 , <a class="el" href="structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09">sha3</a>
 </li>
+<li>lp
+: <a class="el" href="structPAILLIER__private__key.html#af888282934b457a7c74bfd5ee5af0247">PAILLIER_private_key</a>
+</li>
+<li>lq
+: <a class="el" href="structPAILLIER__private__key.html#a4cef9b08dca71828a00c91d1927bf66c">PAILLIER_private_key</a>
+</li>
 </ul>
 </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/functions_vars_m.html b/website/static/cdocs/functions_vars_m.html
index bef9513..38daa44 100644
--- a/website/static/cdocs/functions_vars_m.html
+++ b/website/static/cdocs/functions_vars_m.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 Fields - Variables</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 -->
@@ -70,13 +73,19 @@
 <li>mode
 : <a class="el" href="structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363">amcl_aes</a>
 </li>
+<li>mp
+: <a class="el" href="structPAILLIER__private__key.html#a2baa64964f2d29de901c3495a0b10951">PAILLIER_private_key</a>
+</li>
+<li>mq
+: <a class="el" href="structPAILLIER__private__key.html#a8eabfd60330252513a941ff4eb60a74a">PAILLIER_private_key</a>
+</li>
 </ul>
 </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/functions_vars_n.html b/website/static/cdocs/functions_vars_n.html
index e1b0031..9f29f88 100644
--- a/website/static/cdocs/functions_vars_n.html
+++ b/website/static/cdocs/functions_vars_n.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 Fields - Variables</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 -->
@@ -65,10 +68,14 @@
 
 <h3><a id="index_n"></a>- n -</h3><ul>
 <li>n
-: <a class="el" href="structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e">rsa_public_key_2048</a>
+: <a class="el" href="structPAILLIER__public__key.html#aea6d614974ac68d25dac9e180bcb7ffb">PAILLIER_public_key</a>
+, <a class="el" href="structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e">rsa_public_key_2048</a>
 , <a class="el" href="structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c">rsa_public_key_3072</a>
 , <a class="el" href="structrsa__public__key__4096.html#a4a90bc6aeaa897b7934e7fe46fe6cf67">rsa_public_key_4096</a>
 </li>
+<li>n2
+: <a class="el" href="structPAILLIER__public__key.html#a43b28e4ff07c932a25813cc639419bc6">PAILLIER_public_key</a>
+</li>
 <li>Nk
 : <a class="el" href="structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6">amcl_aes</a>
 </li>
@@ -81,7 +88,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/functions_vars_p.html b/website/static/cdocs/functions_vars_p.html
index a7a70a8..3212208 100644
--- a/website/static/cdocs/functions_vars_p.html
+++ b/website/static/cdocs/functions_vars_p.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 Fields - Variables</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 -->
@@ -65,10 +68,14 @@
 
 <h3><a id="index_p"></a>- p -</h3><ul>
 <li>p
-: <a class="el" href="structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5">rsa_private_key_2048</a>
+: <a class="el" href="structPAILLIER__private__key.html#ab3a4b6e01c3185983d6240e4e093574a">PAILLIER_private_key</a>
+, <a class="el" href="structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5">rsa_private_key_2048</a>
 , <a class="el" href="structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c">rsa_private_key_3072</a>
 , <a class="el" href="structrsa__private__key__4096.html#a8e0b9a8a44f62faf01c1cd6eb45cc191">rsa_private_key_4096</a>
 </li>
+<li>p2
+: <a class="el" href="structPAILLIER__private__key.html#a954590d1d80ad8257ae57dc258a8c2c9">PAILLIER_private_key</a>
+</li>
 <li>pool
 : <a class="el" href="structcsprng.html#a2ac19b58bd7c9bab6fbc9ad394c41d2a">csprng</a>
 </li>
@@ -81,7 +88,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/functions_vars_q.html b/website/static/cdocs/functions_vars_q.html
index 942ec2d..ccc7c39 100644
--- a/website/static/cdocs/functions_vars_q.html
+++ b/website/static/cdocs/functions_vars_q.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 Fields - Variables</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 -->
@@ -65,17 +68,21 @@
 
 <h3><a id="index_q"></a>- q -</h3><ul>
 <li>q
-: <a class="el" href="structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674">rsa_private_key_2048</a>
+: <a class="el" href="structPAILLIER__private__key.html#a0827afad71df06ce991fa2799cc2f381">PAILLIER_private_key</a>
+, <a class="el" href="structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674">rsa_private_key_2048</a>
 , <a class="el" href="structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7">rsa_private_key_3072</a>
 , <a class="el" href="structrsa__private__key__4096.html#ad078f177ba6eb2967066c102b40d0e09">rsa_private_key_4096</a>
 </li>
+<li>q2
+: <a class="el" href="structPAILLIER__private__key.html#acf50ad57d674567ac4065000152f87c4">PAILLIER_private_key</a>
+</li>
 </ul>
 </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/functions_vars_r.html b/website/static/cdocs/functions_vars_r.html
index f918b57..9f6525f 100644
--- a/website/static/cdocs/functions_vars_r.html
+++ b/website/static/cdocs/functions_vars_r.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 Fields - Variables</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 -->
@@ -79,7 +82,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/functions_vars_s.html b/website/static/cdocs/functions_vars_s.html
index a9b5ec4..4530063 100644
--- a/website/static/cdocs/functions_vars_s.html
+++ b/website/static/cdocs/functions_vars_s.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 Fields - Variables</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 -->
@@ -79,7 +82,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/functions_vars_t.html b/website/static/cdocs/functions_vars_t.html
index e2ac775..d38e04a 100644
--- a/website/static/cdocs/functions_vars_t.html
+++ b/website/static/cdocs/functions_vars_t.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 Fields - Variables</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 -->
@@ -85,7 +88,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/functions_vars_v.html b/website/static/cdocs/functions_vars_v.html
index 9de4465..1f1154f 100644
--- a/website/static/cdocs/functions_vars_v.html
+++ b/website/static/cdocs/functions_vars_v.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 Fields - Variables</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 -->
@@ -73,7 +76,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/functions_vars_w.html b/website/static/cdocs/functions_vars_w.html
index b64d233..0c56412 100644
--- a/website/static/cdocs/functions_vars_w.html
+++ b/website/static/cdocs/functions_vars_w.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 Fields - Variables</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 -->
@@ -74,7 +77,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/functions_vars_x.html b/website/static/cdocs/functions_vars_x.html
index 1a2ae88..7d0e915 100644
--- a/website/static/cdocs/functions_vars_x.html
+++ b/website/static/cdocs/functions_vars_x.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 Fields - Variables</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 -->
@@ -132,7 +135,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/functions_vars_y.html b/website/static/cdocs/functions_vars_y.html
index 374f263..d59a259 100644
--- a/website/static/cdocs/functions_vars_y.html
+++ b/website/static/cdocs/functions_vars_y.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 Fields - Variables</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 -->
@@ -109,7 +112,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/functions_vars_z.html b/website/static/cdocs/functions_vars_z.html
index 0266e2b..27e52b5 100644
--- a/website/static/cdocs/functions_vars_z.html
+++ b/website/static/cdocs/functions_vars_z.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 Fields - Variables</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 -->
@@ -107,7 +110,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/functions_w.html b/website/static/cdocs/functions_w.html
index 42895fa..daf97ff 100644
--- a/website/static/cdocs/functions_w.html
+++ b/website/static/cdocs/functions_w.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 Fields</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 -->
@@ -74,7 +77,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/functions_x.html b/website/static/cdocs/functions_x.html
index b8568d8..12b9838 100644
--- a/website/static/cdocs/functions_x.html
+++ b/website/static/cdocs/functions_x.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 Fields</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 -->
@@ -132,7 +135,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/functions_y.html b/website/static/cdocs/functions_y.html
index d9ce78b..4c4b0e1 100644
--- a/website/static/cdocs/functions_y.html
+++ b/website/static/cdocs/functions_y.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 Fields</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 -->
@@ -109,7 +112,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/functions_z.html b/website/static/cdocs/functions_z.html
index 791ac18..c5d5ee1 100644
--- a/website/static/cdocs/functions_z.html
+++ b/website/static/cdocs/functions_z.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 Fields</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 -->
@@ -107,7 +110,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/globals.html b/website/static/cdocs/globals.html
index 520ab2a..ba8a87a 100644
--- a/website/static/cdocs/globals.html
+++ b/website/static/cdocs/globals.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: Globals</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 -->
@@ -97,7 +100,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/globals_b.html b/website/static/cdocs/globals_b.html
index b39af0e..31c2945 100644
--- a/website/static/cdocs/globals_b.html
+++ b/website/static/cdocs/globals_b.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: Globals</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 -->
@@ -64,81 +67,42 @@
 <div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
 
 <h3><a id="index_b"></a>- b -</h3><ul>
-<li>BASEBITS_1024_28
-: <a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">config_big_1024_28.h</a>
-</li>
 <li>BASEBITS_1024_58
 : <a class="el" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">config_big_1024_58.h</a>
 </li>
-<li>BASEBITS_256_28
-: <a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">config_big_256_28.h</a>
-</li>
-<li>BASEBITS_256_29
-: <a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">config_big_256_29.h</a>
-</li>
 <li>BASEBITS_256_56
 : <a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">config_big_256_56.h</a>
 </li>
-<li>BASEBITS_336_29
-: <a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">config_big_336_29.h</a>
-</li>
 <li>BASEBITS_336_60
 : <a class="el" href="config__big__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">config_big_336_60.h</a>
 </li>
-<li>BASEBITS_384_28
-: <a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">config_big_384_28.h</a>
-</li>
-<li>BASEBITS_384_29
-: <a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">config_big_384_29.h</a>
-</li>
 <li>BASEBITS_384_56
 : <a class="el" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">config_big_384_56.h</a>
 </li>
 <li>BASEBITS_384_58
 : <a class="el" href="config__big__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">config_big_384_58.h</a>
 </li>
-<li>BASEBITS_416_29
-: <a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">config_big_416_29.h</a>
-</li>
 <li>BASEBITS_416_60
 : <a class="el" href="config__big__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">config_big_416_60.h</a>
 </li>
-<li>BASEBITS_448_29
-: <a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">config_big_448_29.h</a>
-</li>
 <li>BASEBITS_448_58
 : <a class="el" href="config__big__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">config_big_448_58.h</a>
 </li>
-<li>BASEBITS_464_28
-: <a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">config_big_464_28.h</a>
-</li>
 <li>BASEBITS_464_60
 : <a class="el" href="config__big__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">config_big_464_60.h</a>
 </li>
-<li>BASEBITS_480_29
-: <a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">config_big_480_29.h</a>
-</li>
 <li>BASEBITS_480_56
 : <a class="el" href="config__big__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">config_big_480_56.h</a>
 </li>
-<li>BASEBITS_512_29
-: <a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">config_big_512_29.h</a>
-</li>
 <li>BASEBITS_512_56
 : <a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">config_big_512_56.h</a>
 </li>
 <li>BASEBITS_512_60
 : <a class="el" href="config__big__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">config_big_512_60.h</a>
 </li>
-<li>BASEBITS_528_28
-: <a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">config_big_528_28.h</a>
-</li>
 <li>BASEBITS_528_60
 : <a class="el" href="config__big__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">config_big_528_60.h</a>
 </li>
-<li>BASEBITS_560_29
-: <a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">config_big_560_29.h</a>
-</li>
 <li>BASEBITS_560_58
 : <a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">config_big_560_58.h</a>
 </li>
@@ -196,222 +160,6 @@
 <li>BGS_FP512BN
 : <a class="el" href="bls__FP512BN_8h.html#acf7e8708a27302422198a2e28f370ada">bls_FP512BN.h</a>
 </li>
-<li>BIG_1024_28
-: <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_add()
-: <a class="el" href="big__1024__28_8h.html#a9c73a8b4ca792ebba655eb8b8de2670d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_bit()
-: <a class="el" href="big__1024__28_8h.html#a46f3c11d266f3caeaefef3f85f7e71d7">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_cmove()
-: <a class="el" href="big__1024__28_8h.html#a906cde91ce5641663dcf1e1914d45bdf">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_comp()
-: <a class="el" href="big__1024__28_8h.html#a7c8aaa518123c302d7fb727c066de799">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_copy()
-: <a class="el" href="big__1024__28_8h.html#a2f8bb5efa10f39a457a76d3621daade8">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_cswap()
-: <a class="el" href="big__1024__28_8h.html#a74b190b116ad7b8ae61ecf74e7f81104">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dadd()
-: <a class="el" href="big__1024__28_8h.html#a3a1df8433d95c50fa37bf1ee3f7dc4c4">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dcmove()
-: <a class="el" href="big__1024__28_8h.html#a600f84090df4a150aa47d45cd767617c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dcomp()
-: <a class="el" href="big__1024__28_8h.html#a19e306f9d97cbbf8a215edb1fdbca3a6">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dcopy()
-: <a class="el" href="big__1024__28_8h.html#a5111c6e4404bf58f040776042ece1108">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_ddiv()
-: <a class="el" href="big__1024__28_8h.html#a559b6794c4285cf596285ae7030fa828">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dec()
-: <a class="el" href="big__1024__28_8h.html#a68251081eb47c35887ff408402c205d3">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dfromBytesLen()
-: <a class="el" href="big__1024__28_8h.html#a25fad48097ab1a81c2654cb2c363a8ea">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_diszilch()
-: <a class="el" href="big__1024__28_8h.html#ae7aa0c3c199de111505a1f2fa620fb68">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_div3()
-: <a class="el" href="big__1024__28_8h.html#ab71e3c68ab0701c8deed44fcfc0320da">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dmod()
-: <a class="el" href="big__1024__28_8h.html#abdc6db328aae7ea8780787e35a976c2d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dmod2m()
-: <a class="el" href="big__1024__28_8h.html#a0af8fe60752ace226e1980f42ee1323c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dnbits()
-: <a class="el" href="big__1024__28_8h.html#aa342006f3e76fe3efa25ec596bfcaa09">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dnorm()
-: <a class="el" href="big__1024__28_8h.html#af187316ae9c222a6f537ba02ba6d58a0">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_doutput()
-: <a class="el" href="big__1024__28_8h.html#ac56ff1f8b418819b091d51e44cc8decb">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_drawoutput()
-: <a class="el" href="big__1024__28_8h.html#a2cb16afcdacd4d31ca6126333cbd8d4d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dscopy()
-: <a class="el" href="big__1024__28_8h.html#ac01fc92d6ac6f4df3bdb821b69328e79">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dshl()
-: <a class="el" href="big__1024__28_8h.html#ac8a0e281a38a42294fa7d262b4bb88dc">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dshr()
-: <a class="el" href="big__1024__28_8h.html#a6ee4273810629405a0fabbcfbe97bea5">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dsub()
-: <a class="el" href="big__1024__28_8h.html#a7f11d7b27dc1dd657e6aac4305e81982">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dsucopy()
-: <a class="el" href="big__1024__28_8h.html#ab1ce66a9f6fa854db007fa2378aeb723">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dzero()
-: <a class="el" href="big__1024__28_8h.html#adf9707f6f05fa6f11f652c66df3ec4aa">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fromBytes()
-: <a class="el" href="big__1024__28_8h.html#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fromBytesLen()
-: <a class="el" href="big__1024__28_8h.html#a8eed0c87536a7eee8a505d78743bb0fa">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fshl()
-: <a class="el" href="big__1024__28_8h.html#a415004d01c4e2f89b128c01337ddc0da">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fshr()
-: <a class="el" href="big__1024__28_8h.html#a59b2d05311ee721798227fe033b3c758">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_imul()
-: <a class="el" href="big__1024__28_8h.html#aecefd0d641d7df1e3b7104dd6788a99d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_inc()
-: <a class="el" href="big__1024__28_8h.html#a798b28f9b493c155ceed8179e7ffc3db">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_invmod2m()
-: <a class="el" href="big__1024__28_8h.html#a5b78d54fd0539fc84bdfb007a0b967bf">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_invmodp()
-: <a class="el" href="big__1024__28_8h.html#a8061d3296101802f5a43ee31df48104c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_isunity()
-: <a class="el" href="big__1024__28_8h.html#afd3bcd46deffcd767611c36b0a05ba43">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_iszilch()
-: <a class="el" href="big__1024__28_8h.html#a4c24835682c9662e0d3850e8d0af3592">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_jacobi()
-: <a class="el" href="big__1024__28_8h.html#aa965afaeb22bdfddf122274e78e98585">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_lastbits()
-: <a class="el" href="big__1024__28_8h.html#a52e1428d99c2bb831b79ca7ef8c8e8e0">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_mod()
-: <a class="el" href="big__1024__28_8h.html#a321e9b9249a04c642b2f807c0181df90">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_mod2m()
-: <a class="el" href="big__1024__28_8h.html#afcbdc858bc02d509b14c5a487f964014">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_moddiv()
-: <a class="el" href="big__1024__28_8h.html#aa8b4cf5c4f52074a6eb3ece6f6d4a83c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_modmul()
-: <a class="el" href="big__1024__28_8h.html#acc2f1661baf86b9975011a6dc857ad6b">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_modneg()
-: <a class="el" href="big__1024__28_8h.html#a6bda312c89508e974166321f8980d201">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_modsqr()
-: <a class="el" href="big__1024__28_8h.html#a8e82166152f3b17468117c89a28c5445">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_monty()
-: <a class="el" href="big__1024__28_8h.html#aac162cb8f56785b3dab55f23773dbf6c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_mul()
-: <a class="el" href="big__1024__28_8h.html#a41e3fa7841bc262223fc6fcdef6f40ba">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_nbits()
-: <a class="el" href="big__1024__28_8h.html#a16c692d644de8d6e3f481ec50ed1b627">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_norm()
-: <a class="el" href="big__1024__28_8h.html#a20a571a3b9d00d82e00674a4eb9080b5">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_one()
-: <a class="el" href="big__1024__28_8h.html#a6070c113d74ea38583c472dd659aa842">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_or()
-: <a class="el" href="big__1024__28_8h.html#adad5cb758e64bf8e2dd1bf72d43a77ef">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_output()
-: <a class="el" href="big__1024__28_8h.html#a8be43fff007f3d452f7b71ee8c9ad8bc">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_parity()
-: <a class="el" href="big__1024__28_8h.html#a80e1cc2bb904feea615dd9818f0ecb59">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_pmul()
-: <a class="el" href="big__1024__28_8h.html#a8824a12970672cf823c5a16ea883a503">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_pxmul()
-: <a class="el" href="big__1024__28_8h.html#a8f39a50f8bd6ef64bc6d276ca47a3801">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_random()
-: <a class="el" href="big__1024__28_8h.html#a9ba4f0104e394a5d8e7455d1cac1c502">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_randomnum()
-: <a class="el" href="big__1024__28_8h.html#af31fe3a4a7787c2ca597bc7c23293f37">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_rawoutput()
-: <a class="el" href="big__1024__28_8h.html#a053a019376c8068134541df485a77fbc">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_rcopy()
-: <a class="el" href="big__1024__28_8h.html#ab587b7b3487be40d7f181e14a2c19111">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sdcopy()
-: <a class="el" href="big__1024__28_8h.html#a596c48625c51cc8ceb2a286a0908b727">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sdiv()
-: <a class="el" href="big__1024__28_8h.html#a5110b174571a2eeb198fce7834e49443">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sducopy()
-: <a class="el" href="big__1024__28_8h.html#a9609a8759b62bd952da5edd4e2c2f2d8">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_shl()
-: <a class="el" href="big__1024__28_8h.html#ab94e42adaa9edf6caa73217ea541a8d8">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_shr()
-: <a class="el" href="big__1024__28_8h.html#ae9504ee26e7dc63dd5ddf017b5fd20fb">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_smul()
-: <a class="el" href="big__1024__28_8h.html#a0b77c681bb054b89c8099dca4214fb9e">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_split()
-: <a class="el" href="big__1024__28_8h.html#ad3f7062bf40d58cd91bb984f9374925f">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sqr()
-: <a class="el" href="big__1024__28_8h.html#ab95726053fff3459ee437993a8be57ed">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_ssn()
-: <a class="el" href="big__1024__28_8h.html#adf9fbb2177618cc5b47ee6445726128b">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sub()
-: <a class="el" href="big__1024__28_8h.html#af62f511ff4949856be991fe7a1da4fe0">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_toBytes()
-: <a class="el" href="big__1024__28_8h.html#a210b8ce96bb74cefeedfd51e2c72fbba">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_zero()
-: <a class="el" href="big__1024__28_8h.html#a48be27e2baa6b6d226b049819e4279d5">big_1024_28.h</a>
-</li>
 <li>BIG_1024_58
 : <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">big_1024_58.h</a>
 </li>
@@ -628,438 +376,6 @@
 <li>BIG_1024_58_zero()
 : <a class="el" href="big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f">big_1024_58.h</a>
 </li>
-<li>BIG_256_28
-: <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">big_256_28.h</a>
-</li>
-<li>BIG_256_28_add()
-: <a class="el" href="big__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61">big_256_28.h</a>
-</li>
-<li>BIG_256_28_bit()
-: <a class="el" href="big__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6">big_256_28.h</a>
-</li>
-<li>BIG_256_28_cmove()
-: <a class="el" href="big__256__28_8h.html#a03ab05da92eb2ea796cb26842b7e77e3">big_256_28.h</a>
-</li>
-<li>BIG_256_28_comp()
-: <a class="el" href="big__256__28_8h.html#a38842b53345806d95099918c91e0416e">big_256_28.h</a>
-</li>
-<li>BIG_256_28_copy()
-: <a class="el" href="big__256__28_8h.html#a0831bc3b956e7489f966f919f635ee22">big_256_28.h</a>
-</li>
-<li>BIG_256_28_cswap()
-: <a class="el" href="big__256__28_8h.html#afb4ac61ac3caaf1c89101d90a209177e">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dadd()
-: <a class="el" href="big__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dcmove()
-: <a class="el" href="big__256__28_8h.html#a0ef3b955adfdc30b9c5434ffc7de8ed0">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dcomp()
-: <a class="el" href="big__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dcopy()
-: <a class="el" href="big__256__28_8h.html#aec1619fb62adb5f7d3e0bc25648c56c3">big_256_28.h</a>
-</li>
-<li>BIG_256_28_ddiv()
-: <a class="el" href="big__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dec()
-: <a class="el" href="big__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dfromBytesLen()
-: <a class="el" href="big__256__28_8h.html#a677d109788b548697770dae0287e2878">big_256_28.h</a>
-</li>
-<li>BIG_256_28_diszilch()
-: <a class="el" href="big__256__28_8h.html#aeff6e8bd5aa02ec15629660f185d4ecd">big_256_28.h</a>
-</li>
-<li>BIG_256_28_div3()
-: <a class="el" href="big__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dmod()
-: <a class="el" href="big__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dmod2m()
-: <a class="el" href="big__256__28_8h.html#ae832454893ebd2893dd43466b53fb335">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dnbits()
-: <a class="el" href="big__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dnorm()
-: <a class="el" href="big__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1">big_256_28.h</a>
-</li>
-<li>BIG_256_28_doutput()
-: <a class="el" href="big__256__28_8h.html#a100f5561b2344f026870e2aaa1407f73">big_256_28.h</a>
-</li>
-<li>BIG_256_28_drawoutput()
-: <a class="el" href="big__256__28_8h.html#a32cfd50006ba099108d95dd49906e37d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dscopy()
-: <a class="el" href="big__256__28_8h.html#acdec6adf8bb9116f47ffc3d13a1a2a11">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dshl()
-: <a class="el" href="big__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dshr()
-: <a class="el" href="big__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dsub()
-: <a class="el" href="big__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dsucopy()
-: <a class="el" href="big__256__28_8h.html#afef94b156f0a4a42047ae2ee98bd9306">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dzero()
-: <a class="el" href="big__256__28_8h.html#aee1f0d223f9b39ad2c723011dd55b42c">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fromBytes()
-: <a class="el" href="big__256__28_8h.html#a4042f0ef0741d29c29ca604808803e1d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fromBytesLen()
-: <a class="el" href="big__256__28_8h.html#a5eb3022f9db32c07282522095d3af912">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fshl()
-: <a class="el" href="big__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fshr()
-: <a class="el" href="big__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de">big_256_28.h</a>
-</li>
-<li>BIG_256_28_imul()
-: <a class="el" href="big__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4">big_256_28.h</a>
-</li>
-<li>BIG_256_28_inc()
-: <a class="el" href="big__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85">big_256_28.h</a>
-</li>
-<li>BIG_256_28_invmod2m()
-: <a class="el" href="big__256__28_8h.html#aa861a483021b9d542c71a347c795e6e1">big_256_28.h</a>
-</li>
-<li>BIG_256_28_invmodp()
-: <a class="el" href="big__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7">big_256_28.h</a>
-</li>
-<li>BIG_256_28_isunity()
-: <a class="el" href="big__256__28_8h.html#a1398cb2971ad58ae9d59e717a9b6b1ec">big_256_28.h</a>
-</li>
-<li>BIG_256_28_iszilch()
-: <a class="el" href="big__256__28_8h.html#afbf2db16ec41de1fa64c3d591303e41d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_jacobi()
-: <a class="el" href="big__256__28_8h.html#a40efcc479307dfdf215b576a83469b71">big_256_28.h</a>
-</li>
-<li>BIG_256_28_lastbits()
-: <a class="el" href="big__256__28_8h.html#ab7182226782ef414b678dba9920e18a2">big_256_28.h</a>
-</li>
-<li>BIG_256_28_mod()
-: <a class="el" href="big__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034">big_256_28.h</a>
-</li>
-<li>BIG_256_28_mod2m()
-: <a class="el" href="big__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132">big_256_28.h</a>
-</li>
-<li>BIG_256_28_moddiv()
-: <a class="el" href="big__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_modmul()
-: <a class="el" href="big__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81">big_256_28.h</a>
-</li>
-<li>BIG_256_28_modneg()
-: <a class="el" href="big__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8">big_256_28.h</a>
-</li>
-<li>BIG_256_28_modsqr()
-: <a class="el" href="big__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2">big_256_28.h</a>
-</li>
-<li>BIG_256_28_monty()
-: <a class="el" href="big__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12">big_256_28.h</a>
-</li>
-<li>BIG_256_28_mul()
-: <a class="el" href="big__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30">big_256_28.h</a>
-</li>
-<li>BIG_256_28_nbits()
-: <a class="el" href="big__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11">big_256_28.h</a>
-</li>
-<li>BIG_256_28_norm()
-: <a class="el" href="big__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_one()
-: <a class="el" href="big__256__28_8h.html#a657c178e39eb86021f18f2edce140b04">big_256_28.h</a>
-</li>
-<li>BIG_256_28_or()
-: <a class="el" href="big__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432">big_256_28.h</a>
-</li>
-<li>BIG_256_28_output()
-: <a class="el" href="big__256__28_8h.html#a30b918cd0cab2b6762da39f522f11140">big_256_28.h</a>
-</li>
-<li>BIG_256_28_parity()
-: <a class="el" href="big__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9">big_256_28.h</a>
-</li>
-<li>BIG_256_28_pmul()
-: <a class="el" href="big__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1">big_256_28.h</a>
-</li>
-<li>BIG_256_28_pxmul()
-: <a class="el" href="big__256__28_8h.html#a27820fd216b00e63943900f62afbd78c">big_256_28.h</a>
-</li>
-<li>BIG_256_28_random()
-: <a class="el" href="big__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_randomnum()
-: <a class="el" href="big__256__28_8h.html#af61371a17945b604a208a2b935aec74d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_rawoutput()
-: <a class="el" href="big__256__28_8h.html#a8626d88b1bf8cf7aff25c7fde983b726">big_256_28.h</a>
-</li>
-<li>BIG_256_28_rcopy()
-: <a class="el" href="big__256__28_8h.html#a7658779f094b599a129e7697c990baf6">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sdcopy()
-: <a class="el" href="big__256__28_8h.html#ae4f351cc457451bef252ab2cda4c7311">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sdiv()
-: <a class="el" href="big__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sducopy()
-: <a class="el" href="big__256__28_8h.html#af72c8e442888b472223e2a8d44d86c30">big_256_28.h</a>
-</li>
-<li>BIG_256_28_shl()
-: <a class="el" href="big__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99">big_256_28.h</a>
-</li>
-<li>BIG_256_28_shr()
-: <a class="el" href="big__256__28_8h.html#ac897e470de2052dd8d094c867dc53650">big_256_28.h</a>
-</li>
-<li>BIG_256_28_smul()
-: <a class="el" href="big__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a">big_256_28.h</a>
-</li>
-<li>BIG_256_28_split()
-: <a class="el" href="big__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sqr()
-: <a class="el" href="big__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40">big_256_28.h</a>
-</li>
-<li>BIG_256_28_ssn()
-: <a class="el" href="big__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sub()
-: <a class="el" href="big__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19">big_256_28.h</a>
-</li>
-<li>BIG_256_28_toBytes()
-: <a class="el" href="big__256__28_8h.html#a2f7ce434aa163e584027c8495f3a561d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_zero()
-: <a class="el" href="big__256__28_8h.html#aab6a408e01aaab2ee65c2440d8075d94">big_256_28.h</a>
-</li>
-<li>BIG_256_29
-: <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">big_256_29.h</a>
-</li>
-<li>BIG_256_29_add()
-: <a class="el" href="big__256__29_8h.html#a1aef430ef0ea9a948aee90f82071d417">big_256_29.h</a>
-</li>
-<li>BIG_256_29_bit()
-: <a class="el" href="big__256__29_8h.html#a76e5bdb3549fede8f264cfcb26be6018">big_256_29.h</a>
-</li>
-<li>BIG_256_29_cmove()
-: <a class="el" href="big__256__29_8h.html#a8a6bf060bb48f7c51fcda4cde1e8e26e">big_256_29.h</a>
-</li>
-<li>BIG_256_29_comp()
-: <a class="el" href="big__256__29_8h.html#aa1510430ef1fd606da826613e516e0dd">big_256_29.h</a>
-</li>
-<li>BIG_256_29_copy()
-: <a class="el" href="big__256__29_8h.html#aa4870f8e59d0721de55dbd4c2d678abd">big_256_29.h</a>
-</li>
-<li>BIG_256_29_cswap()
-: <a class="el" href="big__256__29_8h.html#a4ba7d16ea20d46ec7a200510ca41a338">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dadd()
-: <a class="el" href="big__256__29_8h.html#ad7f19e783f041f1e0c3474201ea12a92">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dcmove()
-: <a class="el" href="big__256__29_8h.html#afa7b733233ab20bec1044bbfd7e5fd66">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dcomp()
-: <a class="el" href="big__256__29_8h.html#aa4e2034ea1159ea641544922afe4532d">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dcopy()
-: <a class="el" href="big__256__29_8h.html#a705539d4d986b62787cb278c7a9c18cb">big_256_29.h</a>
-</li>
-<li>BIG_256_29_ddiv()
-: <a class="el" href="big__256__29_8h.html#ac06384af8509fa4648f7fe9a31169820">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dec()
-: <a class="el" href="big__256__29_8h.html#af70f9ed20a7e5fef6d4f99449d0b2a0a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dfromBytesLen()
-: <a class="el" href="big__256__29_8h.html#a375ccfc139837462d3f3798cf44fdceb">big_256_29.h</a>
-</li>
-<li>BIG_256_29_diszilch()
-: <a class="el" href="big__256__29_8h.html#a5dde770895a5473f6e9770f92d1f5aa0">big_256_29.h</a>
-</li>
-<li>BIG_256_29_div3()
-: <a class="el" href="big__256__29_8h.html#a734c94d13cbbd866f389706f9684b38f">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dmod()
-: <a class="el" href="big__256__29_8h.html#a199564d5d8a0cc674a13f7d6d5c390a7">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dmod2m()
-: <a class="el" href="big__256__29_8h.html#a3681ba93dd87149397a4d4877f0e0be6">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dnbits()
-: <a class="el" href="big__256__29_8h.html#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dnorm()
-: <a class="el" href="big__256__29_8h.html#ac4155d5f3609fc2a4d3dde920d851e11">big_256_29.h</a>
-</li>
-<li>BIG_256_29_doutput()
-: <a class="el" href="big__256__29_8h.html#a70f41607cec7a5fb5876ef6114cb4487">big_256_29.h</a>
-</li>
-<li>BIG_256_29_drawoutput()
-: <a class="el" href="big__256__29_8h.html#af7c6931543d396754a664b870f53940b">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dscopy()
-: <a class="el" href="big__256__29_8h.html#adfc567d5ba28ba96bef4de548f490936">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dshl()
-: <a class="el" href="big__256__29_8h.html#a03bf0e9d7230ca101c85ca9dd1106647">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dshr()
-: <a class="el" href="big__256__29_8h.html#a3afe99cafc419f225c3b901fc9f018e5">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dsub()
-: <a class="el" href="big__256__29_8h.html#aaef78beead9b031b7e219027ba4dec44">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dsucopy()
-: <a class="el" href="big__256__29_8h.html#aba86a9c166b98d580a9e3452744d5d3c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dzero()
-: <a class="el" href="big__256__29_8h.html#a7dae9bf5b4e7509b41d56bc627ba8369">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fromBytes()
-: <a class="el" href="big__256__29_8h.html#aece77a065e83680be752dac8a6519b83">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fromBytesLen()
-: <a class="el" href="big__256__29_8h.html#addef2147947e45becf815d91759fe9e8">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fshl()
-: <a class="el" href="big__256__29_8h.html#a0f76a362b0d4e8e3558d52156135920e">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fshr()
-: <a class="el" href="big__256__29_8h.html#a2ff20a509a419768bd691c8e6757aa6c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_imul()
-: <a class="el" href="big__256__29_8h.html#a0cbcbc50b4ed07fd1c1f2ea435626eb2">big_256_29.h</a>
-</li>
-<li>BIG_256_29_inc()
-: <a class="el" href="big__256__29_8h.html#a29dd4f8e557da97534dde4266631e505">big_256_29.h</a>
-</li>
-<li>BIG_256_29_invmod2m()
-: <a class="el" href="big__256__29_8h.html#a4f8baf432b46720a1cfe897a571d23a7">big_256_29.h</a>
-</li>
-<li>BIG_256_29_invmodp()
-: <a class="el" href="big__256__29_8h.html#a4996d5c30887ebba590b50c2eccd16d0">big_256_29.h</a>
-</li>
-<li>BIG_256_29_isunity()
-: <a class="el" href="big__256__29_8h.html#addc0b0eed4709089ea4affd912f7e20a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_iszilch()
-: <a class="el" href="big__256__29_8h.html#a976506581e8e06d57055921dec760493">big_256_29.h</a>
-</li>
-<li>BIG_256_29_jacobi()
-: <a class="el" href="big__256__29_8h.html#ae4d8a36f15283eead515888a5cbbe615">big_256_29.h</a>
-</li>
-<li>BIG_256_29_lastbits()
-: <a class="el" href="big__256__29_8h.html#abbe2731a8b528019a913c292e95c34ad">big_256_29.h</a>
-</li>
-<li>BIG_256_29_mod()
-: <a class="el" href="big__256__29_8h.html#af5870b9727ecb4808a668344f0994109">big_256_29.h</a>
-</li>
-<li>BIG_256_29_mod2m()
-: <a class="el" href="big__256__29_8h.html#a3a83080d302fbdc6b79a791f74cdc01c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_moddiv()
-: <a class="el" href="big__256__29_8h.html#a65c4b2f696fe7e38e29e2c1940a03395">big_256_29.h</a>
-</li>
-<li>BIG_256_29_modmul()
-: <a class="el" href="big__256__29_8h.html#a7539c997cb945c4842f61c61b0dbd527">big_256_29.h</a>
-</li>
-<li>BIG_256_29_modneg()
-: <a class="el" href="big__256__29_8h.html#a2ed8026f6a8a6ab3331afde36953b69b">big_256_29.h</a>
-</li>
-<li>BIG_256_29_modsqr()
-: <a class="el" href="big__256__29_8h.html#a22bf9d63c2ab7316376de3f7fbb958eb">big_256_29.h</a>
-</li>
-<li>BIG_256_29_monty()
-: <a class="el" href="big__256__29_8h.html#a7c252a4354dfb59a76d97e0d6f762627">big_256_29.h</a>
-</li>
-<li>BIG_256_29_mul()
-: <a class="el" href="big__256__29_8h.html#a1ca09ec3b1a33bc6bbb61a351baa2ff7">big_256_29.h</a>
-</li>
-<li>BIG_256_29_nbits()
-: <a class="el" href="big__256__29_8h.html#a23232ca660f365bf5876a8f5c4cf63f3">big_256_29.h</a>
-</li>
-<li>BIG_256_29_norm()
-: <a class="el" href="big__256__29_8h.html#ae448673401c83ef7937ebd8109812d52">big_256_29.h</a>
-</li>
-<li>BIG_256_29_one()
-: <a class="el" href="big__256__29_8h.html#ae4abe3933bc1a620c581e84057bb6a3a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_or()
-: <a class="el" href="big__256__29_8h.html#a7bfb4f437084b7c83fe82dcd319fb04f">big_256_29.h</a>
-</li>
-<li>BIG_256_29_output()
-: <a class="el" href="big__256__29_8h.html#a044828c9a61da9d1abbce2c515080772">big_256_29.h</a>
-</li>
-<li>BIG_256_29_parity()
-: <a class="el" href="big__256__29_8h.html#ab768075ecb86528f6f64727f1712d56e">big_256_29.h</a>
-</li>
-<li>BIG_256_29_pmul()
-: <a class="el" href="big__256__29_8h.html#a26788a5f4a4c8a3c6223cfdc598e2206">big_256_29.h</a>
-</li>
-<li>BIG_256_29_pxmul()
-: <a class="el" href="big__256__29_8h.html#a37858e7d7ba07f829f5fe406e143244a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_random()
-: <a class="el" href="big__256__29_8h.html#ad7ac4bee902715416866db38b3cb9bb2">big_256_29.h</a>
-</li>
-<li>BIG_256_29_randomnum()
-: <a class="el" href="big__256__29_8h.html#a9d82cba4b9bbb7877c7deb40685c5127">big_256_29.h</a>
-</li>
-<li>BIG_256_29_rawoutput()
-: <a class="el" href="big__256__29_8h.html#ac62bbe0fa81461611bb6703b5f9cbd77">big_256_29.h</a>
-</li>
-<li>BIG_256_29_rcopy()
-: <a class="el" href="big__256__29_8h.html#a2a30c02ed0211279e1eb64ef393131cf">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sdcopy()
-: <a class="el" href="big__256__29_8h.html#adf02d79d6b9e70e0c09d0abc9efa9dac">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sdiv()
-: <a class="el" href="big__256__29_8h.html#af5225a9da73fe4fdf6e07b3b135dfc25">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sducopy()
-: <a class="el" href="big__256__29_8h.html#a3ad6c1bda0300811bb05f19092aeccb5">big_256_29.h</a>
-</li>
-<li>BIG_256_29_shl()
-: <a class="el" href="big__256__29_8h.html#a7eb0b9ad8b3f83098cf1e09143063760">big_256_29.h</a>
-</li>
-<li>BIG_256_29_shr()
-: <a class="el" href="big__256__29_8h.html#a897715e22f6f400d1e89eb20b13a4a61">big_256_29.h</a>
-</li>
-<li>BIG_256_29_smul()
-: <a class="el" href="big__256__29_8h.html#aa9a29a0ef363c94da54880dff875562c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_split()
-: <a class="el" href="big__256__29_8h.html#abf41ba04665e4640aae5cc73f1cfe760">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sqr()
-: <a class="el" href="big__256__29_8h.html#af3b9ab7a0b7fb9d2391d0cb9703640a1">big_256_29.h</a>
-</li>
-<li>BIG_256_29_ssn()
-: <a class="el" href="big__256__29_8h.html#a21edd2fc13e98c973af2bcdd8314e8b9">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sub()
-: <a class="el" href="big__256__29_8h.html#a97c753c8b89e022797d2b4d11bf70730">big_256_29.h</a>
-</li>
-<li>BIG_256_29_toBytes()
-: <a class="el" href="big__256__29_8h.html#af28a4870f8aff2e8428c2b6b4f94e756">big_256_29.h</a>
-</li>
-<li>BIG_256_29_zero()
-: <a class="el" href="big__256__29_8h.html#a934c865c43e9c75afe9748f030e4ec46">big_256_29.h</a>
-</li>
 <li>BIG_256_56
 : <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">big_256_56.h</a>
 </li>
@@ -1276,222 +592,6 @@
 <li>BIG_256_56_zero()
 : <a class="el" href="big__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1">big_256_56.h</a>
 </li>
-<li>BIG_336_29
-: <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_add()
-: <a class="el" href="big__336__29_8h.html#a75c1d8be1ba70f7f4475ead6a5f43af0">big_336_29.h</a>
-</li>
-<li>BIG_336_29_bit()
-: <a class="el" href="big__336__29_8h.html#ad514e47ff474e65b1b5f10ee790e4c13">big_336_29.h</a>
-</li>
-<li>BIG_336_29_cmove()
-: <a class="el" href="big__336__29_8h.html#a34ec564848369556a4b02dcc01f9ca04">big_336_29.h</a>
-</li>
-<li>BIG_336_29_comp()
-: <a class="el" href="big__336__29_8h.html#a763a715d585c890995a8bbce08988a80">big_336_29.h</a>
-</li>
-<li>BIG_336_29_copy()
-: <a class="el" href="big__336__29_8h.html#a6c4af364650172b17df2e7e0930e666f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_cswap()
-: <a class="el" href="big__336__29_8h.html#a3e973afced1de79a5d3a283ae5b271af">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dadd()
-: <a class="el" href="big__336__29_8h.html#aeabd48c0ad271c023797578103ac840e">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dcmove()
-: <a class="el" href="big__336__29_8h.html#ae9c08f62fd328bb248328dcf3837b134">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dcomp()
-: <a class="el" href="big__336__29_8h.html#adbf7ba2f51fbac9c4fb2943f9f2769da">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dcopy()
-: <a class="el" href="big__336__29_8h.html#a244e69d514f07e515b3473380595b10d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_ddiv()
-: <a class="el" href="big__336__29_8h.html#a6386d5ef47067541157b93e6edaf7e21">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dec()
-: <a class="el" href="big__336__29_8h.html#ad2b49abad8d092e55c30ee6a54e56ff5">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dfromBytesLen()
-: <a class="el" href="big__336__29_8h.html#a20861abd6145ea8dbadd9ff84af2dea1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_diszilch()
-: <a class="el" href="big__336__29_8h.html#a9509b0dc8baeda5dc8c20b32dff94ad4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_div3()
-: <a class="el" href="big__336__29_8h.html#a51ba250655520120124160cc87e0424b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dmod()
-: <a class="el" href="big__336__29_8h.html#a63200114268a09a55ba435bdd917ba7d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dmod2m()
-: <a class="el" href="big__336__29_8h.html#a777bbea4f90ee4bfd54c76036223f70f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dnbits()
-: <a class="el" href="big__336__29_8h.html#a2a2019a072b248c24d0ef0c1bb201954">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dnorm()
-: <a class="el" href="big__336__29_8h.html#a9adcbfd01df1d2862d4a733a939b83ae">big_336_29.h</a>
-</li>
-<li>BIG_336_29_doutput()
-: <a class="el" href="big__336__29_8h.html#aa481a2e2eab1f3187f8780c294e7d9fb">big_336_29.h</a>
-</li>
-<li>BIG_336_29_drawoutput()
-: <a class="el" href="big__336__29_8h.html#ad1b50365cb7eddcbec5ce1c7922c5475">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dscopy()
-: <a class="el" href="big__336__29_8h.html#a7b4f65976a9cc91ba58144fa44bb7177">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dshl()
-: <a class="el" href="big__336__29_8h.html#a71f283cfb6248804db064fea30190cc5">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dshr()
-: <a class="el" href="big__336__29_8h.html#a2c5eca3ca53299e19f5b2cfb026af42f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dsub()
-: <a class="el" href="big__336__29_8h.html#aaec1f3921b23e1646dcec6938c8edf99">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dsucopy()
-: <a class="el" href="big__336__29_8h.html#a3c1b26f91d75cc611fd12dd3808ae8ca">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dzero()
-: <a class="el" href="big__336__29_8h.html#aa12e7e0bd105f263877e1c347d7eccd1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fromBytes()
-: <a class="el" href="big__336__29_8h.html#a966fa27a1ed84d09b8411bd82519072f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fromBytesLen()
-: <a class="el" href="big__336__29_8h.html#ac912d49447a466dcf1d5f85a6e14f336">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fshl()
-: <a class="el" href="big__336__29_8h.html#a1fb372329a67a713aa3e66a7f5ce7335">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fshr()
-: <a class="el" href="big__336__29_8h.html#af781f798c463ac6403dd9a363772ea0a">big_336_29.h</a>
-</li>
-<li>BIG_336_29_imul()
-: <a class="el" href="big__336__29_8h.html#a5579d667e486744ad3281c318b726fe1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_inc()
-: <a class="el" href="big__336__29_8h.html#a213286f51d77e52e9e3da344da1fbd88">big_336_29.h</a>
-</li>
-<li>BIG_336_29_invmod2m()
-: <a class="el" href="big__336__29_8h.html#aa6d1cde9525f89fd5a3e549b4a26b6dd">big_336_29.h</a>
-</li>
-<li>BIG_336_29_invmodp()
-: <a class="el" href="big__336__29_8h.html#a5c0b44e1207e320b6167a9254f321ab1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_isunity()
-: <a class="el" href="big__336__29_8h.html#ad6deb8d369b93c4784ff598adbabb224">big_336_29.h</a>
-</li>
-<li>BIG_336_29_iszilch()
-: <a class="el" href="big__336__29_8h.html#a230c8d9151ecff0f78b9e12bccdf635e">big_336_29.h</a>
-</li>
-<li>BIG_336_29_jacobi()
-: <a class="el" href="big__336__29_8h.html#a9426091077ed3d20296520250682323d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_lastbits()
-: <a class="el" href="big__336__29_8h.html#ab69ef8cd98e2cfec2c896d795afd41fc">big_336_29.h</a>
-</li>
-<li>BIG_336_29_mod()
-: <a class="el" href="big__336__29_8h.html#a4383888885e060ff4298b0535bc1d3c4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_mod2m()
-: <a class="el" href="big__336__29_8h.html#adcb3a172848c6450b152887f2fd8b523">big_336_29.h</a>
-</li>
-<li>BIG_336_29_moddiv()
-: <a class="el" href="big__336__29_8h.html#a99a30e1d14f7e17d15108df3f1deaf65">big_336_29.h</a>
-</li>
-<li>BIG_336_29_modmul()
-: <a class="el" href="big__336__29_8h.html#a24e62b683fa847940386e56891aa601c">big_336_29.h</a>
-</li>
-<li>BIG_336_29_modneg()
-: <a class="el" href="big__336__29_8h.html#a5c2940f39feede18db26b83eb155ac4c">big_336_29.h</a>
-</li>
-<li>BIG_336_29_modsqr()
-: <a class="el" href="big__336__29_8h.html#a7418873bde193b2ae00ca12bb1bd72d0">big_336_29.h</a>
-</li>
-<li>BIG_336_29_monty()
-: <a class="el" href="big__336__29_8h.html#ae9423918c339248a32cde90059d54bf0">big_336_29.h</a>
-</li>
-<li>BIG_336_29_mul()
-: <a class="el" href="big__336__29_8h.html#ad5467c39a0f90dfe7d5382675d80c4af">big_336_29.h</a>
-</li>
-<li>BIG_336_29_nbits()
-: <a class="el" href="big__336__29_8h.html#afb5782ca3aa5769cfa84cd5d470d503a">big_336_29.h</a>
-</li>
-<li>BIG_336_29_norm()
-: <a class="el" href="big__336__29_8h.html#aae019c2a192bd2b4549f8544b3124985">big_336_29.h</a>
-</li>
-<li>BIG_336_29_one()
-: <a class="el" href="big__336__29_8h.html#aa88f788433edb46e3fce010c675e3ebe">big_336_29.h</a>
-</li>
-<li>BIG_336_29_or()
-: <a class="el" href="big__336__29_8h.html#ad5e8219fa6226d669de04ee7bbe82e8a">big_336_29.h</a>
-</li>
-<li>BIG_336_29_output()
-: <a class="el" href="big__336__29_8h.html#a1ce5cd538831acb1ceaa657dcea7e142">big_336_29.h</a>
-</li>
-<li>BIG_336_29_parity()
-: <a class="el" href="big__336__29_8h.html#a8b664b937461785b3b32f6ba6fbf4e00">big_336_29.h</a>
-</li>
-<li>BIG_336_29_pmul()
-: <a class="el" href="big__336__29_8h.html#ae8b0f5ddf0ba8cd8c725c5acb99a465b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_pxmul()
-: <a class="el" href="big__336__29_8h.html#a6627ad75b1268e62a5f7d88be8014ccd">big_336_29.h</a>
-</li>
-<li>BIG_336_29_random()
-: <a class="el" href="big__336__29_8h.html#aa268dc8d92ea89fd9747df7d6cd56c80">big_336_29.h</a>
-</li>
-<li>BIG_336_29_randomnum()
-: <a class="el" href="big__336__29_8h.html#a0e580dd237aa3ccc3c30da5f17cb25c8">big_336_29.h</a>
-</li>
-<li>BIG_336_29_rawoutput()
-: <a class="el" href="big__336__29_8h.html#a37a28dbc85f653ddc47e5a0977a83d5b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_rcopy()
-: <a class="el" href="big__336__29_8h.html#ab18ce1ef87d290fc6c489a41aa763fbd">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sdcopy()
-: <a class="el" href="big__336__29_8h.html#ad45969a681f02ce92a0fa21fc5ed1c95">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sdiv()
-: <a class="el" href="big__336__29_8h.html#ad355509f4c5d76b7fac2865d7a3817ee">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sducopy()
-: <a class="el" href="big__336__29_8h.html#a2867c99c42fd61b2a2cd3e4267a4e892">big_336_29.h</a>
-</li>
-<li>BIG_336_29_shl()
-: <a class="el" href="big__336__29_8h.html#ad9d73478b62aa9c03c9ed0ee21084ac4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_shr()
-: <a class="el" href="big__336__29_8h.html#a214e850cd3502a3e115959d4622d815b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_smul()
-: <a class="el" href="big__336__29_8h.html#a9c05fe473e5b3b23f505850370dfb4d5">big_336_29.h</a>
-</li>
-<li>BIG_336_29_split()
-: <a class="el" href="big__336__29_8h.html#ac01951f8f16ebf0b7120f083b4c20aab">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sqr()
-: <a class="el" href="big__336__29_8h.html#a79f4ddd5776131afb411c6b8b7d7853d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_ssn()
-: <a class="el" href="big__336__29_8h.html#a7bd8806b8b21c010a9647fac762036d8">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sub()
-: <a class="el" href="big__336__29_8h.html#a89c1e07d9b8e96b7e971ab5417400335">big_336_29.h</a>
-</li>
-<li>BIG_336_29_toBytes()
-: <a class="el" href="big__336__29_8h.html#a3f3773dddbaae9d598cf26562718aca4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_zero()
-: <a class="el" href="big__336__29_8h.html#a04f38d96c8de1197f3b75032e3e987d2">big_336_29.h</a>
-</li>
 <li>BIG_336_60
 : <a class="el" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">big_336_60.h</a>
 </li>
@@ -1708,438 +808,6 @@
 <li>BIG_336_60_zero()
 : <a class="el" href="big__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f">big_336_60.h</a>
 </li>
-<li>BIG_384_28
-: <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">big_384_28.h</a>
-</li>
-<li>BIG_384_28_add()
-: <a class="el" href="big__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_bit()
-: <a class="el" href="big__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5">big_384_28.h</a>
-</li>
-<li>BIG_384_28_cmove()
-: <a class="el" href="big__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1">big_384_28.h</a>
-</li>
-<li>BIG_384_28_comp()
-: <a class="el" href="big__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f">big_384_28.h</a>
-</li>
-<li>BIG_384_28_copy()
-: <a class="el" href="big__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f">big_384_28.h</a>
-</li>
-<li>BIG_384_28_cswap()
-: <a class="el" href="big__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dadd()
-: <a class="el" href="big__384__28_8h.html#ac45376eaec2c8050f1375202e0976534">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dcmove()
-: <a class="el" href="big__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dcomp()
-: <a class="el" href="big__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dcopy()
-: <a class="el" href="big__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_ddiv()
-: <a class="el" href="big__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dec()
-: <a class="el" href="big__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dfromBytesLen()
-: <a class="el" href="big__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f">big_384_28.h</a>
-</li>
-<li>BIG_384_28_diszilch()
-: <a class="el" href="big__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7">big_384_28.h</a>
-</li>
-<li>BIG_384_28_div3()
-: <a class="el" href="big__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dmod()
-: <a class="el" href="big__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dmod2m()
-: <a class="el" href="big__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dnbits()
-: <a class="el" href="big__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dnorm()
-: <a class="el" href="big__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2">big_384_28.h</a>
-</li>
-<li>BIG_384_28_doutput()
-: <a class="el" href="big__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368">big_384_28.h</a>
-</li>
-<li>BIG_384_28_drawoutput()
-: <a class="el" href="big__384__28_8h.html#afacc56ed2d110adb76534f3835129f70">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dscopy()
-: <a class="el" href="big__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dshl()
-: <a class="el" href="big__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dshr()
-: <a class="el" href="big__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dsub()
-: <a class="el" href="big__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dsucopy()
-: <a class="el" href="big__384__28_8h.html#a1a726364369270a9e29464eeb9aee469">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dzero()
-: <a class="el" href="big__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fromBytes()
-: <a class="el" href="big__384__28_8h.html#a51b34c564e69a54e167e4327dc712219">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fromBytesLen()
-: <a class="el" href="big__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fshl()
-: <a class="el" href="big__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fshr()
-: <a class="el" href="big__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784">big_384_28.h</a>
-</li>
-<li>BIG_384_28_imul()
-: <a class="el" href="big__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d">big_384_28.h</a>
-</li>
-<li>BIG_384_28_inc()
-: <a class="el" href="big__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0">big_384_28.h</a>
-</li>
-<li>BIG_384_28_invmod2m()
-: <a class="el" href="big__384__28_8h.html#a7fe701290d9d38d84514372f424187c5">big_384_28.h</a>
-</li>
-<li>BIG_384_28_invmodp()
-: <a class="el" href="big__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a">big_384_28.h</a>
-</li>
-<li>BIG_384_28_isunity()
-: <a class="el" href="big__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390">big_384_28.h</a>
-</li>
-<li>BIG_384_28_iszilch()
-: <a class="el" href="big__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_jacobi()
-: <a class="el" href="big__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5">big_384_28.h</a>
-</li>
-<li>BIG_384_28_lastbits()
-: <a class="el" href="big__384__28_8h.html#a11b73740018af049295c35189bceac13">big_384_28.h</a>
-</li>
-<li>BIG_384_28_mod()
-: <a class="el" href="big__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_mod2m()
-: <a class="el" href="big__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_moddiv()
-: <a class="el" href="big__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261">big_384_28.h</a>
-</li>
-<li>BIG_384_28_modmul()
-: <a class="el" href="big__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_modneg()
-: <a class="el" href="big__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077">big_384_28.h</a>
-</li>
-<li>BIG_384_28_modsqr()
-: <a class="el" href="big__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81">big_384_28.h</a>
-</li>
-<li>BIG_384_28_monty()
-: <a class="el" href="big__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_mul()
-: <a class="el" href="big__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723">big_384_28.h</a>
-</li>
-<li>BIG_384_28_nbits()
-: <a class="el" href="big__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4">big_384_28.h</a>
-</li>
-<li>BIG_384_28_norm()
-: <a class="el" href="big__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600">big_384_28.h</a>
-</li>
-<li>BIG_384_28_one()
-: <a class="el" href="big__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424">big_384_28.h</a>
-</li>
-<li>BIG_384_28_or()
-: <a class="el" href="big__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_output()
-: <a class="el" href="big__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_parity()
-: <a class="el" href="big__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4">big_384_28.h</a>
-</li>
-<li>BIG_384_28_pmul()
-: <a class="el" href="big__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e">big_384_28.h</a>
-</li>
-<li>BIG_384_28_pxmul()
-: <a class="el" href="big__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03">big_384_28.h</a>
-</li>
-<li>BIG_384_28_random()
-: <a class="el" href="big__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015">big_384_28.h</a>
-</li>
-<li>BIG_384_28_randomnum()
-: <a class="el" href="big__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20">big_384_28.h</a>
-</li>
-<li>BIG_384_28_rawoutput()
-: <a class="el" href="big__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b">big_384_28.h</a>
-</li>
-<li>BIG_384_28_rcopy()
-: <a class="el" href="big__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sdcopy()
-: <a class="el" href="big__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sdiv()
-: <a class="el" href="big__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sducopy()
-: <a class="el" href="big__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8">big_384_28.h</a>
-</li>
-<li>BIG_384_28_shl()
-: <a class="el" href="big__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71">big_384_28.h</a>
-</li>
-<li>BIG_384_28_shr()
-: <a class="el" href="big__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637">big_384_28.h</a>
-</li>
-<li>BIG_384_28_smul()
-: <a class="el" href="big__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1">big_384_28.h</a>
-</li>
-<li>BIG_384_28_split()
-: <a class="el" href="big__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sqr()
-: <a class="el" href="big__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651">big_384_28.h</a>
-</li>
-<li>BIG_384_28_ssn()
-: <a class="el" href="big__384__28_8h.html#ae24758a390284bae57bd3bc25543309d">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sub()
-: <a class="el" href="big__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998">big_384_28.h</a>
-</li>
-<li>BIG_384_28_toBytes()
-: <a class="el" href="big__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9">big_384_28.h</a>
-</li>
-<li>BIG_384_28_zero()
-: <a class="el" href="big__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c">big_384_28.h</a>
-</li>
-<li>BIG_384_29
-: <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_add()
-: <a class="el" href="big__384__29_8h.html#ae8a33809748e86abf38be6a82ee48dbc">big_384_29.h</a>
-</li>
-<li>BIG_384_29_bit()
-: <a class="el" href="big__384__29_8h.html#a76a57f414f2b3be61fa038ec2a016bb0">big_384_29.h</a>
-</li>
-<li>BIG_384_29_cmove()
-: <a class="el" href="big__384__29_8h.html#aab35f8dbaae1db3e43babae24a220297">big_384_29.h</a>
-</li>
-<li>BIG_384_29_comp()
-: <a class="el" href="big__384__29_8h.html#ac06efcddbe91d806bf4b8c01c56f08ca">big_384_29.h</a>
-</li>
-<li>BIG_384_29_copy()
-: <a class="el" href="big__384__29_8h.html#aaa87c91cf1a4e235b4e57061744b7488">big_384_29.h</a>
-</li>
-<li>BIG_384_29_cswap()
-: <a class="el" href="big__384__29_8h.html#a5a848fbcf9248fdf5f123ad831f0eb36">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dadd()
-: <a class="el" href="big__384__29_8h.html#a80012252d35e1f39786cb8020b2dbc27">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dcmove()
-: <a class="el" href="big__384__29_8h.html#a550d58a56c3336f2b0a5895aeb61b72b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dcomp()
-: <a class="el" href="big__384__29_8h.html#a0b99018225d825960c70dd1a213c581b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dcopy()
-: <a class="el" href="big__384__29_8h.html#a31493a223d149d150b81109af2622e68">big_384_29.h</a>
-</li>
-<li>BIG_384_29_ddiv()
-: <a class="el" href="big__384__29_8h.html#a4089cb6ff0368f04bb1d415c9ceb1c72">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dec()
-: <a class="el" href="big__384__29_8h.html#a9606f885cd731e6bb70ed43c0fb56de9">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dfromBytesLen()
-: <a class="el" href="big__384__29_8h.html#aebcaf728ea21b894d4f40f2ce84b06e5">big_384_29.h</a>
-</li>
-<li>BIG_384_29_diszilch()
-: <a class="el" href="big__384__29_8h.html#a16caa5b2e994f3b3b09d4a4952970977">big_384_29.h</a>
-</li>
-<li>BIG_384_29_div3()
-: <a class="el" href="big__384__29_8h.html#aa5f1a4ab6733b7f7d6d241ee5062c2de">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dmod()
-: <a class="el" href="big__384__29_8h.html#a042d957754ebc5d6847abf0c0ed613f9">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dmod2m()
-: <a class="el" href="big__384__29_8h.html#ad5942c0c1f2816790ec4c6fac63fb934">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dnbits()
-: <a class="el" href="big__384__29_8h.html#a442287e511b421462af841b34fce153b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dnorm()
-: <a class="el" href="big__384__29_8h.html#a9109a9ab947921c2831aaeb359e16828">big_384_29.h</a>
-</li>
-<li>BIG_384_29_doutput()
-: <a class="el" href="big__384__29_8h.html#a298aa7a0970303e8d65d6653fa72ba24">big_384_29.h</a>
-</li>
-<li>BIG_384_29_drawoutput()
-: <a class="el" href="big__384__29_8h.html#a16f67ff9a20a55edadfd8b1dd6d7a2e8">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dscopy()
-: <a class="el" href="big__384__29_8h.html#a84ac3f34e8a03c0e8f5e3a6d1a856442">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dshl()
-: <a class="el" href="big__384__29_8h.html#a66077e9acce3a88340f7555136248e81">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dshr()
-: <a class="el" href="big__384__29_8h.html#a01b53c51d421c61e4b09ad5ab88995f5">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dsub()
-: <a class="el" href="big__384__29_8h.html#a8e8bf34c64b05b903b9027541825547d">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dsucopy()
-: <a class="el" href="big__384__29_8h.html#a461b13e8431b6341e9c0f18e171e30a1">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dzero()
-: <a class="el" href="big__384__29_8h.html#a58d1c2c922f53294419dd7a491bfac43">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fromBytes()
-: <a class="el" href="big__384__29_8h.html#a611c1c3a2087a61ca8aca6702a501e7d">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fromBytesLen()
-: <a class="el" href="big__384__29_8h.html#ab26f93bbc86ea2938b1d640d50baf514">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fshl()
-: <a class="el" href="big__384__29_8h.html#a534f2208022d5711bc1ce450e7822205">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fshr()
-: <a class="el" href="big__384__29_8h.html#aacf67d3558e177d1e90e6779449062de">big_384_29.h</a>
-</li>
-<li>BIG_384_29_imul()
-: <a class="el" href="big__384__29_8h.html#ad19895d08db9aeebf44eff2cc1dafb52">big_384_29.h</a>
-</li>
-<li>BIG_384_29_inc()
-: <a class="el" href="big__384__29_8h.html#abd830342f83d91806905d61288ff1a89">big_384_29.h</a>
-</li>
-<li>BIG_384_29_invmod2m()
-: <a class="el" href="big__384__29_8h.html#ad24cf08aefb349c5ec7d384fb26d4a3c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_invmodp()
-: <a class="el" href="big__384__29_8h.html#a39adf092cc3e1e0d5f98acaebcf4dd2f">big_384_29.h</a>
-</li>
-<li>BIG_384_29_isunity()
-: <a class="el" href="big__384__29_8h.html#a239235d13ab7ea1c82070ea771293f18">big_384_29.h</a>
-</li>
-<li>BIG_384_29_iszilch()
-: <a class="el" href="big__384__29_8h.html#a69ba68e3a4efc01da04050cc79706680">big_384_29.h</a>
-</li>
-<li>BIG_384_29_jacobi()
-: <a class="el" href="big__384__29_8h.html#af934ab3c68b97302df91f99bbb83a2b0">big_384_29.h</a>
-</li>
-<li>BIG_384_29_lastbits()
-: <a class="el" href="big__384__29_8h.html#a40be50b37b5e4515902c22dad2f156ef">big_384_29.h</a>
-</li>
-<li>BIG_384_29_mod()
-: <a class="el" href="big__384__29_8h.html#a5e429b6a38eff8bc3d7e984e506b92ee">big_384_29.h</a>
-</li>
-<li>BIG_384_29_mod2m()
-: <a class="el" href="big__384__29_8h.html#a2eb7feb42ec2e26b6d413bc27161b003">big_384_29.h</a>
-</li>
-<li>BIG_384_29_moddiv()
-: <a class="el" href="big__384__29_8h.html#ad1ecea87aa16f997ac5926c559c56bf5">big_384_29.h</a>
-</li>
-<li>BIG_384_29_modmul()
-: <a class="el" href="big__384__29_8h.html#a83339bca9b54d2c662b82563aa2cab6e">big_384_29.h</a>
-</li>
-<li>BIG_384_29_modneg()
-: <a class="el" href="big__384__29_8h.html#a9a3aab2f941d3ad88fe09a884ce4bbf3">big_384_29.h</a>
-</li>
-<li>BIG_384_29_modsqr()
-: <a class="el" href="big__384__29_8h.html#a8711ca578f23cc48a617bd707696951a">big_384_29.h</a>
-</li>
-<li>BIG_384_29_monty()
-: <a class="el" href="big__384__29_8h.html#ab5123a78afa3994d0cf7d544317f6a80">big_384_29.h</a>
-</li>
-<li>BIG_384_29_mul()
-: <a class="el" href="big__384__29_8h.html#acc2d3df7f8f1ad51ee78d34f1e6a481b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_nbits()
-: <a class="el" href="big__384__29_8h.html#ad60635d46eb5edd3b8f422fd9094e04c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_norm()
-: <a class="el" href="big__384__29_8h.html#adae96ed56ad1402b54f0a5a1222d8f87">big_384_29.h</a>
-</li>
-<li>BIG_384_29_one()
-: <a class="el" href="big__384__29_8h.html#a885fa7c4bf3a44ff79768ed0d83c80ec">big_384_29.h</a>
-</li>
-<li>BIG_384_29_or()
-: <a class="el" href="big__384__29_8h.html#abc3c04e91c8a5e1336ca2c4fd2744492">big_384_29.h</a>
-</li>
-<li>BIG_384_29_output()
-: <a class="el" href="big__384__29_8h.html#ade4da533b2f4d9e98b4ce291dc9e9019">big_384_29.h</a>
-</li>
-<li>BIG_384_29_parity()
-: <a class="el" href="big__384__29_8h.html#a4c2b8fc522862ee9f466dcb227a6a278">big_384_29.h</a>
-</li>
-<li>BIG_384_29_pmul()
-: <a class="el" href="big__384__29_8h.html#a4141ae18ee04ccefb2d1bf110b935ec0">big_384_29.h</a>
-</li>
-<li>BIG_384_29_pxmul()
-: <a class="el" href="big__384__29_8h.html#a7af0ca6c0f3147ee53ab842ee0d573f7">big_384_29.h</a>
-</li>
-<li>BIG_384_29_random()
-: <a class="el" href="big__384__29_8h.html#ab47d90d426deb85d60b6677eda549e78">big_384_29.h</a>
-</li>
-<li>BIG_384_29_randomnum()
-: <a class="el" href="big__384__29_8h.html#a9771f9ed803f3be53c92db25f6e059fb">big_384_29.h</a>
-</li>
-<li>BIG_384_29_rawoutput()
-: <a class="el" href="big__384__29_8h.html#a82a583012fcdf4a28fd8895d6d086374">big_384_29.h</a>
-</li>
-<li>BIG_384_29_rcopy()
-: <a class="el" href="big__384__29_8h.html#ad0821bce35e6e5adfef3461fc18c3872">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sdcopy()
-: <a class="el" href="big__384__29_8h.html#a331c8e2de95479761e68bfa83e640445">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sdiv()
-: <a class="el" href="big__384__29_8h.html#a396198fbeb743b7ad4f7f80c2934f965">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sducopy()
-: <a class="el" href="big__384__29_8h.html#af84298cbd89cb60dfefe7df04e4ac165">big_384_29.h</a>
-</li>
-<li>BIG_384_29_shl()
-: <a class="el" href="big__384__29_8h.html#a6d9b60bba362a7654da3e79a0364e84c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_shr()
-: <a class="el" href="big__384__29_8h.html#a3260b1ddfce0d1b53a94b8c5dcdcbec8">big_384_29.h</a>
-</li>
-<li>BIG_384_29_smul()
-: <a class="el" href="big__384__29_8h.html#af933c60ca40249a1ee97207d17ec8971">big_384_29.h</a>
-</li>
-<li>BIG_384_29_split()
-: <a class="el" href="big__384__29_8h.html#a89cba4e8778cb74d2a273749ec1fccfb">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sqr()
-: <a class="el" href="big__384__29_8h.html#af7e0e139b973fd707f3dc0416149368e">big_384_29.h</a>
-</li>
-<li>BIG_384_29_ssn()
-: <a class="el" href="big__384__29_8h.html#a944b245f8d0b3478465c737273711da6">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sub()
-: <a class="el" href="big__384__29_8h.html#a4ec616ce0230484c3fe0009710f5233c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_toBytes()
-: <a class="el" href="big__384__29_8h.html#a69579e616a8b921d289151ae3cc40d75">big_384_29.h</a>
-</li>
-<li>BIG_384_29_zero()
-: <a class="el" href="big__384__29_8h.html#a41e218680a464b2f6d727aee4681edb6">big_384_29.h</a>
-</li>
 <li>BIG_384_56
 : <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">big_384_56.h</a>
 </li>
@@ -2572,222 +1240,6 @@
 <li>BIG_384_58_zero()
 : <a class="el" href="big__384__58_8h.html#a13f04d7bc085d6284718d88142e68452">big_384_58.h</a>
 </li>
-<li>BIG_416_29
-: <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">big_416_29.h</a>
-</li>
-<li>BIG_416_29_add()
-: <a class="el" href="big__416__29_8h.html#aaaecab31c86f7c91178702073c428a56">big_416_29.h</a>
-</li>
-<li>BIG_416_29_bit()
-: <a class="el" href="big__416__29_8h.html#a8739d1c92d694611bd97a1b5a3a2b3f8">big_416_29.h</a>
-</li>
-<li>BIG_416_29_cmove()
-: <a class="el" href="big__416__29_8h.html#a98dca944b9b0d6b06b788195adb94b56">big_416_29.h</a>
-</li>
-<li>BIG_416_29_comp()
-: <a class="el" href="big__416__29_8h.html#a2aa857e0f0079cae346d944f654c6a9b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_copy()
-: <a class="el" href="big__416__29_8h.html#af86e1bac4d01fc13e8a00105fc6f711c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_cswap()
-: <a class="el" href="big__416__29_8h.html#a77676579ad9e12c35e891cd1b3ad7bab">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dadd()
-: <a class="el" href="big__416__29_8h.html#a142b562a4d92f1f28f333bbe389b53f3">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dcmove()
-: <a class="el" href="big__416__29_8h.html#aa0522b5de35f639c86be4120fe7092dc">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dcomp()
-: <a class="el" href="big__416__29_8h.html#a9eb3d430b55cbebb52d19e653b4ea54d">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dcopy()
-: <a class="el" href="big__416__29_8h.html#a50a77138c16b74b6d3bcbe250a43bb8c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_ddiv()
-: <a class="el" href="big__416__29_8h.html#ac4957789d9712196a20deb06f46b6313">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dec()
-: <a class="el" href="big__416__29_8h.html#a6f0ea72a41d913ad587cba929f93750e">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dfromBytesLen()
-: <a class="el" href="big__416__29_8h.html#a07bf5beb7e8e387c5bab1560e4e2d6e0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_diszilch()
-: <a class="el" href="big__416__29_8h.html#a8fedbfa4e31b49e69728faa2a6f91565">big_416_29.h</a>
-</li>
-<li>BIG_416_29_div3()
-: <a class="el" href="big__416__29_8h.html#afd78a40a3ced9250c93566ad2da629da">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dmod()
-: <a class="el" href="big__416__29_8h.html#a7c517c1e3f9c042b23687ac622dfa7f9">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dmod2m()
-: <a class="el" href="big__416__29_8h.html#a0869f4718734600365ecf63d735292a1">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dnbits()
-: <a class="el" href="big__416__29_8h.html#a188c34ed572f8126c91b07760c198d39">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dnorm()
-: <a class="el" href="big__416__29_8h.html#af57fd6676ad99e00f98234b5a0e69ad8">big_416_29.h</a>
-</li>
-<li>BIG_416_29_doutput()
-: <a class="el" href="big__416__29_8h.html#a2c2a3e48ab57f28f556798c36cb8dc5e">big_416_29.h</a>
-</li>
-<li>BIG_416_29_drawoutput()
-: <a class="el" href="big__416__29_8h.html#a2558ed1d1e691f6dbab20a7a2f46af8b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dscopy()
-: <a class="el" href="big__416__29_8h.html#ae3c2caa8dc99b4c6df19d781f0d48e3f">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dshl()
-: <a class="el" href="big__416__29_8h.html#ab64483dea5dba8a8593b2f0f10aeb486">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dshr()
-: <a class="el" href="big__416__29_8h.html#acdafbd0d229c7730d380f929383a2200">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dsub()
-: <a class="el" href="big__416__29_8h.html#a48f1216d6ecbebb0d5bcc14eb94bf922">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dsucopy()
-: <a class="el" href="big__416__29_8h.html#abeea8d5acc80d509028e53a98d8a6d51">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dzero()
-: <a class="el" href="big__416__29_8h.html#aa57becef0fa7d70d3049f7f4641748da">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fromBytes()
-: <a class="el" href="big__416__29_8h.html#a8164d17175332f303f47a1c38bd941d7">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fromBytesLen()
-: <a class="el" href="big__416__29_8h.html#ae2001c7fb8b395dc564ccf22bfeb4071">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fshl()
-: <a class="el" href="big__416__29_8h.html#a6f57608fc0566752282ea8a25294abc9">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fshr()
-: <a class="el" href="big__416__29_8h.html#a22880937261d7f334522dca3e339deb0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_imul()
-: <a class="el" href="big__416__29_8h.html#a18802fcca173f5402edd2aa2d88066c3">big_416_29.h</a>
-</li>
-<li>BIG_416_29_inc()
-: <a class="el" href="big__416__29_8h.html#af3234bf49b27ea7202e87511577ab2c7">big_416_29.h</a>
-</li>
-<li>BIG_416_29_invmod2m()
-: <a class="el" href="big__416__29_8h.html#ac0dc297a355c4edaa71d33041c248056">big_416_29.h</a>
-</li>
-<li>BIG_416_29_invmodp()
-: <a class="el" href="big__416__29_8h.html#a991ad6a5cf98fd833b92b1aa16f49daf">big_416_29.h</a>
-</li>
-<li>BIG_416_29_isunity()
-: <a class="el" href="big__416__29_8h.html#aba62b6820581d7e01189c197e4ccb2e0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_iszilch()
-: <a class="el" href="big__416__29_8h.html#a5f21d81728b9d4fd660568eba71d3aa2">big_416_29.h</a>
-</li>
-<li>BIG_416_29_jacobi()
-: <a class="el" href="big__416__29_8h.html#af20c1841f5b7a6233f95a3bb6624ba37">big_416_29.h</a>
-</li>
-<li>BIG_416_29_lastbits()
-: <a class="el" href="big__416__29_8h.html#aef1e80b9da63d8ee67746ef86dca29a0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_mod()
-: <a class="el" href="big__416__29_8h.html#acbf733277d63c290b5ad34fc1ee925ba">big_416_29.h</a>
-</li>
-<li>BIG_416_29_mod2m()
-: <a class="el" href="big__416__29_8h.html#a64652c0104675781e738ab2fff57f36d">big_416_29.h</a>
-</li>
-<li>BIG_416_29_moddiv()
-: <a class="el" href="big__416__29_8h.html#a3f53541771281fc6b8dc44a481db8f7c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_modmul()
-: <a class="el" href="big__416__29_8h.html#af7b5a01fff9bec531bbb90eb258fde44">big_416_29.h</a>
-</li>
-<li>BIG_416_29_modneg()
-: <a class="el" href="big__416__29_8h.html#a8729f78f44c7ea52e4c7884744aa94f1">big_416_29.h</a>
-</li>
-<li>BIG_416_29_modsqr()
-: <a class="el" href="big__416__29_8h.html#ad9b04c927ffb3cd630e4c016db03209b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_monty()
-: <a class="el" href="big__416__29_8h.html#a7ae79b99e9ee26d60c28aa3127daa041">big_416_29.h</a>
-</li>
-<li>BIG_416_29_mul()
-: <a class="el" href="big__416__29_8h.html#adb81f17df70c4e35eec8aee20b098065">big_416_29.h</a>
-</li>
-<li>BIG_416_29_nbits()
-: <a class="el" href="big__416__29_8h.html#a2cd3c7ff47a7593f5a5f1a65811f4dfd">big_416_29.h</a>
-</li>
-<li>BIG_416_29_norm()
-: <a class="el" href="big__416__29_8h.html#a661d1791cd3385de1001a0bbbdd06941">big_416_29.h</a>
-</li>
-<li>BIG_416_29_one()
-: <a class="el" href="big__416__29_8h.html#a0c9bb0b78533bd9738759301e40e5f9a">big_416_29.h</a>
-</li>
-<li>BIG_416_29_or()
-: <a class="el" href="big__416__29_8h.html#a6d68fc022e6b069927dc11795e4aab3b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_output()
-: <a class="el" href="big__416__29_8h.html#a2224807ec96be55f42f009ab092a480e">big_416_29.h</a>
-</li>
-<li>BIG_416_29_parity()
-: <a class="el" href="big__416__29_8h.html#a0d6beee9da1345bfc6b9a26d044bfb6f">big_416_29.h</a>
-</li>
-<li>BIG_416_29_pmul()
-: <a class="el" href="big__416__29_8h.html#ae5841499ea880e9977d32a1799f7f475">big_416_29.h</a>
-</li>
-<li>BIG_416_29_pxmul()
-: <a class="el" href="big__416__29_8h.html#adf110cc273b34fe5126cf6665342e206">big_416_29.h</a>
-</li>
-<li>BIG_416_29_random()
-: <a class="el" href="big__416__29_8h.html#a707a430d9d3a2e04fdad7d66ef00799c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_randomnum()
-: <a class="el" href="big__416__29_8h.html#a6765f3c27ff80da9b6d2ebad01509490">big_416_29.h</a>
-</li>
-<li>BIG_416_29_rawoutput()
-: <a class="el" href="big__416__29_8h.html#a4c3e625f14d5c519876b3d8f0f1a6158">big_416_29.h</a>
-</li>
-<li>BIG_416_29_rcopy()
-: <a class="el" href="big__416__29_8h.html#aab573c7bfe0bc79f45fa4b197ee8971d">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sdcopy()
-: <a class="el" href="big__416__29_8h.html#a9af71f1d5e1005c228278cb95cd2c3e1">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sdiv()
-: <a class="el" href="big__416__29_8h.html#af32886944ce9af389079dc6bc0976986">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sducopy()
-: <a class="el" href="big__416__29_8h.html#a615066df2a33ddc16c1f2a904b5e86e6">big_416_29.h</a>
-</li>
-<li>BIG_416_29_shl()
-: <a class="el" href="big__416__29_8h.html#a9a7f77ea084fb68385803d7ddaeed2fe">big_416_29.h</a>
-</li>
-<li>BIG_416_29_shr()
-: <a class="el" href="big__416__29_8h.html#a6dd5a3f74265f7ba5947ebccc5a90042">big_416_29.h</a>
-</li>
-<li>BIG_416_29_smul()
-: <a class="el" href="big__416__29_8h.html#a9df539ba2f02afd73c10acdfc4364a03">big_416_29.h</a>
-</li>
-<li>BIG_416_29_split()
-: <a class="el" href="big__416__29_8h.html#a374674ab8939e7c1fd154cb51ff80e78">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sqr()
-: <a class="el" href="big__416__29_8h.html#adb89f95d8e956d0c3894fa0e9e4c7023">big_416_29.h</a>
-</li>
-<li>BIG_416_29_ssn()
-: <a class="el" href="big__416__29_8h.html#a9faf6d033461ddbfa26d1a7d1710a0af">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sub()
-: <a class="el" href="big__416__29_8h.html#acad58ac85a661817c26d45b784e56c10">big_416_29.h</a>
-</li>
-<li>BIG_416_29_toBytes()
-: <a class="el" href="big__416__29_8h.html#afef53d763389177bdf29e1eafef7ce69">big_416_29.h</a>
-</li>
-<li>BIG_416_29_zero()
-: <a class="el" href="big__416__29_8h.html#a18a194e4b947f6fb331e61e9582bf472">big_416_29.h</a>
-</li>
 <li>BIG_416_60
 : <a class="el" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">big_416_60.h</a>
 </li>
@@ -3004,222 +1456,6 @@
 <li>BIG_416_60_zero()
 : <a class="el" href="big__416__60_8h.html#a8f397375caa86766a11272fb9090f12c">big_416_60.h</a>
 </li>
-<li>BIG_448_29
-: <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">big_448_29.h</a>
-</li>
-<li>BIG_448_29_add()
-: <a class="el" href="big__448__29_8h.html#a52732e32df914610f06d71e66ae0aaee">big_448_29.h</a>
-</li>
-<li>BIG_448_29_bit()
-: <a class="el" href="big__448__29_8h.html#af024cd5305a28c602df5eabae1b1afd6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_cmove()
-: <a class="el" href="big__448__29_8h.html#aab522df22af3d6f8452a9f1ed5f6e787">big_448_29.h</a>
-</li>
-<li>BIG_448_29_comp()
-: <a class="el" href="big__448__29_8h.html#a96d9269f5721a09b9e9241928241544e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_copy()
-: <a class="el" href="big__448__29_8h.html#acbc8ffb914448e131b56eb4c3ba53fc1">big_448_29.h</a>
-</li>
-<li>BIG_448_29_cswap()
-: <a class="el" href="big__448__29_8h.html#aa0337aa7b6bb10b213193277b6706a07">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dadd()
-: <a class="el" href="big__448__29_8h.html#abd5e5c67823d3e9e195cbbad446b8f2b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dcmove()
-: <a class="el" href="big__448__29_8h.html#a13a3c52ecff409475050fb20b196a4ec">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dcomp()
-: <a class="el" href="big__448__29_8h.html#a0539172f8147c115c9132f3a7dc0912a">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dcopy()
-: <a class="el" href="big__448__29_8h.html#afb1ba79905bb33694bbf515ee7c3d2bd">big_448_29.h</a>
-</li>
-<li>BIG_448_29_ddiv()
-: <a class="el" href="big__448__29_8h.html#a84096083bf0954b59f2925648c7a137a">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dec()
-: <a class="el" href="big__448__29_8h.html#ac046e873f702c3c6ba84a45283591d0c">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dfromBytesLen()
-: <a class="el" href="big__448__29_8h.html#aefe85187833ee1017452f0c48b2df544">big_448_29.h</a>
-</li>
-<li>BIG_448_29_diszilch()
-: <a class="el" href="big__448__29_8h.html#adc34c5a4a04536b69ef88d01318b293f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_div3()
-: <a class="el" href="big__448__29_8h.html#a51937f4122d05f03a9583d1528cd6897">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dmod()
-: <a class="el" href="big__448__29_8h.html#a7ef793e983e087bcb9bf54a73de8c8e6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dmod2m()
-: <a class="el" href="big__448__29_8h.html#a3afb2ac3160292e8c72f614a4c5689f2">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dnbits()
-: <a class="el" href="big__448__29_8h.html#a8c33ce4cfa01dd3bbb8d2916f0e30e1b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dnorm()
-: <a class="el" href="big__448__29_8h.html#a1592d268df6258a58b6d4efa05e6eb41">big_448_29.h</a>
-</li>
-<li>BIG_448_29_doutput()
-: <a class="el" href="big__448__29_8h.html#a5df84f06f1ecdb4f4d0740fb65953f94">big_448_29.h</a>
-</li>
-<li>BIG_448_29_drawoutput()
-: <a class="el" href="big__448__29_8h.html#a2aef6adc137f20abe66c013fdc089453">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dscopy()
-: <a class="el" href="big__448__29_8h.html#a4cca42c269c38dd1c098e2ef5f9b2ef6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dshl()
-: <a class="el" href="big__448__29_8h.html#a26445e5623108ee6104ef5afd7807b61">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dshr()
-: <a class="el" href="big__448__29_8h.html#aeeb1c94512a234362e1fd43dea0aecdb">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dsub()
-: <a class="el" href="big__448__29_8h.html#a690d7ffa0c2b7df6561011bd6156dd43">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dsucopy()
-: <a class="el" href="big__448__29_8h.html#ac7a8bd538830bd4938bdb96555962f91">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dzero()
-: <a class="el" href="big__448__29_8h.html#acdf8614e386d747a7b3609c865a3b808">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fromBytes()
-: <a class="el" href="big__448__29_8h.html#a558045a997bfd9f332d0dc56182da244">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fromBytesLen()
-: <a class="el" href="big__448__29_8h.html#a241537567b6f575209f356b938f5d8f5">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fshl()
-: <a class="el" href="big__448__29_8h.html#a97a62e56535b72fd5449154e9c842ba6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fshr()
-: <a class="el" href="big__448__29_8h.html#a49e73322bb56496afcd9594983166c15">big_448_29.h</a>
-</li>
-<li>BIG_448_29_imul()
-: <a class="el" href="big__448__29_8h.html#a6de5e0385019f0c93dae2b23230299f8">big_448_29.h</a>
-</li>
-<li>BIG_448_29_inc()
-: <a class="el" href="big__448__29_8h.html#a8f36f4e7ab6f2e9fe4ed06cec28153d5">big_448_29.h</a>
-</li>
-<li>BIG_448_29_invmod2m()
-: <a class="el" href="big__448__29_8h.html#a0fb2aab64a09f62ba22061339ddca874">big_448_29.h</a>
-</li>
-<li>BIG_448_29_invmodp()
-: <a class="el" href="big__448__29_8h.html#a2806d6e8f34c46c6a4f7fddaba57179a">big_448_29.h</a>
-</li>
-<li>BIG_448_29_isunity()
-: <a class="el" href="big__448__29_8h.html#a54fe1672b4ae68f10c9b91e251adaabc">big_448_29.h</a>
-</li>
-<li>BIG_448_29_iszilch()
-: <a class="el" href="big__448__29_8h.html#a09c7553a6d3bddeb319b6847b95b206f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_jacobi()
-: <a class="el" href="big__448__29_8h.html#ab76cfe2635aa04110808b1a56f55d967">big_448_29.h</a>
-</li>
-<li>BIG_448_29_lastbits()
-: <a class="el" href="big__448__29_8h.html#a856f088af44e66b839436be19d0cbfb4">big_448_29.h</a>
-</li>
-<li>BIG_448_29_mod()
-: <a class="el" href="big__448__29_8h.html#ac9094c3c5eb5d967cebb5a66b581ec9b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_mod2m()
-: <a class="el" href="big__448__29_8h.html#aa137e18bd8ac5429bb2b9e2ee4be83e8">big_448_29.h</a>
-</li>
-<li>BIG_448_29_moddiv()
-: <a class="el" href="big__448__29_8h.html#a33832c68e0adcf25dba53fd6c5d9c4dd">big_448_29.h</a>
-</li>
-<li>BIG_448_29_modmul()
-: <a class="el" href="big__448__29_8h.html#a737a0b66f8a4ac411d473961d63bfa84">big_448_29.h</a>
-</li>
-<li>BIG_448_29_modneg()
-: <a class="el" href="big__448__29_8h.html#aa240fed64c7cff4d2589e8f5f57cc4bc">big_448_29.h</a>
-</li>
-<li>BIG_448_29_modsqr()
-: <a class="el" href="big__448__29_8h.html#a9418b0503eaca5e00710291c6e824e65">big_448_29.h</a>
-</li>
-<li>BIG_448_29_monty()
-: <a class="el" href="big__448__29_8h.html#ac59e9444d4495f12d5ef69d88f1d64f9">big_448_29.h</a>
-</li>
-<li>BIG_448_29_mul()
-: <a class="el" href="big__448__29_8h.html#ac0bf30b8a5963b8f019da2a3123916ca">big_448_29.h</a>
-</li>
-<li>BIG_448_29_nbits()
-: <a class="el" href="big__448__29_8h.html#a2f758afc90b97744fcbc4092b371f942">big_448_29.h</a>
-</li>
-<li>BIG_448_29_norm()
-: <a class="el" href="big__448__29_8h.html#ad28e337ec4df64509040ae03e6d5a454">big_448_29.h</a>
-</li>
-<li>BIG_448_29_one()
-: <a class="el" href="big__448__29_8h.html#aee02676b57dce89300afc580a6b84579">big_448_29.h</a>
-</li>
-<li>BIG_448_29_or()
-: <a class="el" href="big__448__29_8h.html#a4fb00fa3b6c2c24987257f6a33955e1c">big_448_29.h</a>
-</li>
-<li>BIG_448_29_output()
-: <a class="el" href="big__448__29_8h.html#af57fb9d2c6f6573fbf07caf4cb7c8505">big_448_29.h</a>
-</li>
-<li>BIG_448_29_parity()
-: <a class="el" href="big__448__29_8h.html#af33649f8023f525098d9d55d87ea47b9">big_448_29.h</a>
-</li>
-<li>BIG_448_29_pmul()
-: <a class="el" href="big__448__29_8h.html#a81ef91f38192d1fbdc5826a6d09b2b28">big_448_29.h</a>
-</li>
-<li>BIG_448_29_pxmul()
-: <a class="el" href="big__448__29_8h.html#a5e73af51900b138efd372c1c1faf38ef">big_448_29.h</a>
-</li>
-<li>BIG_448_29_random()
-: <a class="el" href="big__448__29_8h.html#ad247cced03511c10360dc3f09e46664e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_randomnum()
-: <a class="el" href="big__448__29_8h.html#a8e22d200d8827af9686391514c2a11fc">big_448_29.h</a>
-</li>
-<li>BIG_448_29_rawoutput()
-: <a class="el" href="big__448__29_8h.html#a095f347843aefe767bfe2801abb8b770">big_448_29.h</a>
-</li>
-<li>BIG_448_29_rcopy()
-: <a class="el" href="big__448__29_8h.html#ae91f2b61abbf35ff8eead23ff33dbcc6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sdcopy()
-: <a class="el" href="big__448__29_8h.html#a7fbfcd1c557637a639650765514fd13f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sdiv()
-: <a class="el" href="big__448__29_8h.html#a58883fddbb7cec0eae17da2628455e2b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sducopy()
-: <a class="el" href="big__448__29_8h.html#aff258f5a582cc9a517ddac40a426c1c2">big_448_29.h</a>
-</li>
-<li>BIG_448_29_shl()
-: <a class="el" href="big__448__29_8h.html#a4f42b9409fc90afb337c086f36b99b0f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_shr()
-: <a class="el" href="big__448__29_8h.html#ae2edc8357240da28f4abde11918fba1e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_smul()
-: <a class="el" href="big__448__29_8h.html#ad050214613920f9b77dc0b8f5ce10d18">big_448_29.h</a>
-</li>
-<li>BIG_448_29_split()
-: <a class="el" href="big__448__29_8h.html#a3bad363fa21dc4b598d833758e86b5de">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sqr()
-: <a class="el" href="big__448__29_8h.html#a34ab101faf200fbc482ab23e6c09d45e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_ssn()
-: <a class="el" href="big__448__29_8h.html#a4d22bc595ce5949ef5e1fcfc79d769a8">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sub()
-: <a class="el" href="big__448__29_8h.html#a38bad8b10d13490e1608c18122d1757f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_toBytes()
-: <a class="el" href="big__448__29_8h.html#a58fe5186e333019079a63dd29e4de06f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_zero()
-: <a class="el" href="big__448__29_8h.html#a6e430482d15f64c789d7040d3a5ee496">big_448_29.h</a>
-</li>
 <li>BIG_448_58
 : <a class="el" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">big_448_58.h</a>
 </li>
@@ -3436,222 +1672,6 @@
 <li>BIG_448_58_zero()
 : <a class="el" href="big__448__58_8h.html#acc8be96327c22943e311daec9ee49e51">big_448_58.h</a>
 </li>
-<li>BIG_464_28
-: <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">big_464_28.h</a>
-</li>
-<li>BIG_464_28_add()
-: <a class="el" href="big__464__28_8h.html#a01fba33d068023a78a7e2399a2d3f07f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_bit()
-: <a class="el" href="big__464__28_8h.html#a7e046da56c962175f6c7c4312a64bce0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_cmove()
-: <a class="el" href="big__464__28_8h.html#add5c49897dd8e26b3269b1038df97c28">big_464_28.h</a>
-</li>
-<li>BIG_464_28_comp()
-: <a class="el" href="big__464__28_8h.html#a9e2b62f83f21d6f884db7a7ae0e8d537">big_464_28.h</a>
-</li>
-<li>BIG_464_28_copy()
-: <a class="el" href="big__464__28_8h.html#a4892332c418b37b4fa9027fc9405df34">big_464_28.h</a>
-</li>
-<li>BIG_464_28_cswap()
-: <a class="el" href="big__464__28_8h.html#a8332be15edc398cab818bdf8f9e27e30">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dadd()
-: <a class="el" href="big__464__28_8h.html#ad328a582c2ff182f85ae885fd799e19a">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dcmove()
-: <a class="el" href="big__464__28_8h.html#ad803aa419dc66098a6dbad0f67788db9">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dcomp()
-: <a class="el" href="big__464__28_8h.html#ab7be7f30052024ad9d37b7170f16c860">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dcopy()
-: <a class="el" href="big__464__28_8h.html#a81db2e111447b6f7e40dbd6e44763600">big_464_28.h</a>
-</li>
-<li>BIG_464_28_ddiv()
-: <a class="el" href="big__464__28_8h.html#a170c3ec8d24143938f38b05dc3931e4e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dec()
-: <a class="el" href="big__464__28_8h.html#a576bd55c0333c2d11d90b89f5cd2b648">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dfromBytesLen()
-: <a class="el" href="big__464__28_8h.html#a83bccbe89705edcfd1b9d241133f8585">big_464_28.h</a>
-</li>
-<li>BIG_464_28_diszilch()
-: <a class="el" href="big__464__28_8h.html#a8873d18682136ced76e6d2b11b77c720">big_464_28.h</a>
-</li>
-<li>BIG_464_28_div3()
-: <a class="el" href="big__464__28_8h.html#a7876c8124d59c11230c448e228f55496">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dmod()
-: <a class="el" href="big__464__28_8h.html#a0115b32f39fb88dd5409a22b7f9eb451">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dmod2m()
-: <a class="el" href="big__464__28_8h.html#a7a16ef52578c6f8d82c11acee18abf44">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dnbits()
-: <a class="el" href="big__464__28_8h.html#ac198589116dba16e32428e99c3b638d4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dnorm()
-: <a class="el" href="big__464__28_8h.html#af2c8da5bf433447918f3ba52a458ef50">big_464_28.h</a>
-</li>
-<li>BIG_464_28_doutput()
-: <a class="el" href="big__464__28_8h.html#ada5a1e39644074621868023b27a60271">big_464_28.h</a>
-</li>
-<li>BIG_464_28_drawoutput()
-: <a class="el" href="big__464__28_8h.html#a3dbae90aeb9ec645ca3ad40e970bfad0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dscopy()
-: <a class="el" href="big__464__28_8h.html#abe50a0e09ed4f83437d0782b97e2d283">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dshl()
-: <a class="el" href="big__464__28_8h.html#a36d4bfbbea2d5aab754c52cacc1554d9">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dshr()
-: <a class="el" href="big__464__28_8h.html#a7c230f00e209d55db735496223beff32">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dsub()
-: <a class="el" href="big__464__28_8h.html#a8c4beeaa8b6b210a16dd6043d87facde">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dsucopy()
-: <a class="el" href="big__464__28_8h.html#a42f2328339f3a76e959ca6790747833f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dzero()
-: <a class="el" href="big__464__28_8h.html#a55deb4651e0611492c4d72ec8e6ae48f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fromBytes()
-: <a class="el" href="big__464__28_8h.html#ad23433b5216617ebb4994e2a89fcdbd2">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fromBytesLen()
-: <a class="el" href="big__464__28_8h.html#ac2ad39c1ecfa4496a0a8a774960a081f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fshl()
-: <a class="el" href="big__464__28_8h.html#a51d75872491376269b703b0b187d9144">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fshr()
-: <a class="el" href="big__464__28_8h.html#ab86ad92feb62edce77afa319318f07ed">big_464_28.h</a>
-</li>
-<li>BIG_464_28_imul()
-: <a class="el" href="big__464__28_8h.html#a4cc6c09b12cec697a832e228dca37f82">big_464_28.h</a>
-</li>
-<li>BIG_464_28_inc()
-: <a class="el" href="big__464__28_8h.html#af83b921ece47b22b9e2855c0b3725cdd">big_464_28.h</a>
-</li>
-<li>BIG_464_28_invmod2m()
-: <a class="el" href="big__464__28_8h.html#a35db459595ea671794c80ab9b71ff44d">big_464_28.h</a>
-</li>
-<li>BIG_464_28_invmodp()
-: <a class="el" href="big__464__28_8h.html#aa7676f91a1b5a787b528801d39c18555">big_464_28.h</a>
-</li>
-<li>BIG_464_28_isunity()
-: <a class="el" href="big__464__28_8h.html#af38ae608680b8f841bdb3b38094ef01c">big_464_28.h</a>
-</li>
-<li>BIG_464_28_iszilch()
-: <a class="el" href="big__464__28_8h.html#ae17f6314e3e3d44e435097bde278b280">big_464_28.h</a>
-</li>
-<li>BIG_464_28_jacobi()
-: <a class="el" href="big__464__28_8h.html#ae21ccff253d5a36b9238f0b4541cc3d8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_lastbits()
-: <a class="el" href="big__464__28_8h.html#a6f63c7e7427e7aadd3b702db17827e32">big_464_28.h</a>
-</li>
-<li>BIG_464_28_mod()
-: <a class="el" href="big__464__28_8h.html#af6f49a71e883e9ff42d45cb1fca5b1f8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_mod2m()
-: <a class="el" href="big__464__28_8h.html#aaf2dea9e6b3d7fa77fb2d4d3750eaea8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_moddiv()
-: <a class="el" href="big__464__28_8h.html#a09f811df3d755158129e74d177b46e09">big_464_28.h</a>
-</li>
-<li>BIG_464_28_modmul()
-: <a class="el" href="big__464__28_8h.html#ab58a6bfae78e1d113abbbfa0d199d046">big_464_28.h</a>
-</li>
-<li>BIG_464_28_modneg()
-: <a class="el" href="big__464__28_8h.html#a38477a1c29950844dae83e54762d7636">big_464_28.h</a>
-</li>
-<li>BIG_464_28_modsqr()
-: <a class="el" href="big__464__28_8h.html#a1444f02a8698df8cd4a8df0a264491b3">big_464_28.h</a>
-</li>
-<li>BIG_464_28_monty()
-: <a class="el" href="big__464__28_8h.html#a1161b90af288b686285f7aab9df75df7">big_464_28.h</a>
-</li>
-<li>BIG_464_28_mul()
-: <a class="el" href="big__464__28_8h.html#ad96f164178ce52f172cbba1b17f420cf">big_464_28.h</a>
-</li>
-<li>BIG_464_28_nbits()
-: <a class="el" href="big__464__28_8h.html#a116b4c674537ef9d628eebe6574fa832">big_464_28.h</a>
-</li>
-<li>BIG_464_28_norm()
-: <a class="el" href="big__464__28_8h.html#af1fbd32c0654114ba9245eccbcf9ea88">big_464_28.h</a>
-</li>
-<li>BIG_464_28_one()
-: <a class="el" href="big__464__28_8h.html#a7b3d04101d10292b4a770e1bc36742b4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_or()
-: <a class="el" href="big__464__28_8h.html#ad6d1592b8d0831e8ad9f06787c923f84">big_464_28.h</a>
-</li>
-<li>BIG_464_28_output()
-: <a class="el" href="big__464__28_8h.html#a9148d5caf89ac973eb08609d1fffe3e4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_parity()
-: <a class="el" href="big__464__28_8h.html#adaaebe9d8ab81efb52a36f361711271e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_pmul()
-: <a class="el" href="big__464__28_8h.html#a593691880b601f49a4d5729d1dba4a36">big_464_28.h</a>
-</li>
-<li>BIG_464_28_pxmul()
-: <a class="el" href="big__464__28_8h.html#a00cd551dc06b7b8b2b1ea60b9cf020c0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_random()
-: <a class="el" href="big__464__28_8h.html#a18bd5806011167de705ee8a8b12909e8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_randomnum()
-: <a class="el" href="big__464__28_8h.html#a76a41d4d9a00d21e254d29b3b904073c">big_464_28.h</a>
-</li>
-<li>BIG_464_28_rawoutput()
-: <a class="el" href="big__464__28_8h.html#ab89c9021dadc336a7fa1c6af40245c20">big_464_28.h</a>
-</li>
-<li>BIG_464_28_rcopy()
-: <a class="el" href="big__464__28_8h.html#a62c6093e1cc70855cae598b00aa4cf9e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sdcopy()
-: <a class="el" href="big__464__28_8h.html#a9a74eb10b128a46c8b8adec292084f45">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sdiv()
-: <a class="el" href="big__464__28_8h.html#a3b04a0e4d1d079387882ad08e8b67ed0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sducopy()
-: <a class="el" href="big__464__28_8h.html#a3f370670a174f88a173226380301335e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_shl()
-: <a class="el" href="big__464__28_8h.html#a96412ef30ce1ca08ec5547dc6b145820">big_464_28.h</a>
-</li>
-<li>BIG_464_28_shr()
-: <a class="el" href="big__464__28_8h.html#a6f46bdbe352a76c013a05210e0d8bb86">big_464_28.h</a>
-</li>
-<li>BIG_464_28_smul()
-: <a class="el" href="big__464__28_8h.html#aadcd07f0bf2c54cbb0272ab1fef7bf45">big_464_28.h</a>
-</li>
-<li>BIG_464_28_split()
-: <a class="el" href="big__464__28_8h.html#ab70364e09a711b31062bc77b9161e359">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sqr()
-: <a class="el" href="big__464__28_8h.html#a273f85591ba3854fb77e13cdf9157f74">big_464_28.h</a>
-</li>
-<li>BIG_464_28_ssn()
-: <a class="el" href="big__464__28_8h.html#a97de430f46c1dc12ffc50d492bd028c4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sub()
-: <a class="el" href="big__464__28_8h.html#a75d384b9c54453e80dbcb4aa9169770d">big_464_28.h</a>
-</li>
-<li>BIG_464_28_toBytes()
-: <a class="el" href="big__464__28_8h.html#a514a3f6855c7f10e845254b77339b4ea">big_464_28.h</a>
-</li>
-<li>BIG_464_28_zero()
-: <a class="el" href="big__464__28_8h.html#a6df0a73d7102378b62a7823388bd0902">big_464_28.h</a>
-</li>
 <li>BIG_464_60
 : <a class="el" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">big_464_60.h</a>
 </li>
@@ -3868,222 +1888,6 @@
 <li>BIG_464_60_zero()
 : <a class="el" href="big__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558">big_464_60.h</a>
 </li>
-<li>BIG_480_29
-: <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">big_480_29.h</a>
-</li>
-<li>BIG_480_29_add()
-: <a class="el" href="big__480__29_8h.html#a379dbde52cda7fb49d4763c21e4ade1f">big_480_29.h</a>
-</li>
-<li>BIG_480_29_bit()
-: <a class="el" href="big__480__29_8h.html#a7ecd18fc05b954770738fcb645f39f0b">big_480_29.h</a>
-</li>
-<li>BIG_480_29_cmove()
-: <a class="el" href="big__480__29_8h.html#a3b8880a571de4b2dc5f3f3296d1b443a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_comp()
-: <a class="el" href="big__480__29_8h.html#af500bb84fd6877cdf1cb3ee20cf53870">big_480_29.h</a>
-</li>
-<li>BIG_480_29_copy()
-: <a class="el" href="big__480__29_8h.html#aca52a0845f993936d234186a8fc40cb3">big_480_29.h</a>
-</li>
-<li>BIG_480_29_cswap()
-: <a class="el" href="big__480__29_8h.html#a80cd574e62b21769aa661368ca0b73f5">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dadd()
-: <a class="el" href="big__480__29_8h.html#ace791cc8dec53e7d9c086cc9296603d7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dcmove()
-: <a class="el" href="big__480__29_8h.html#afdad982a51c7a9efc7e80f6a7312acf4">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dcomp()
-: <a class="el" href="big__480__29_8h.html#a3459a4e91efa951d86431ef97993d768">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dcopy()
-: <a class="el" href="big__480__29_8h.html#a8bee9574f49bad11d9c25d67efe10ab1">big_480_29.h</a>
-</li>
-<li>BIG_480_29_ddiv()
-: <a class="el" href="big__480__29_8h.html#a7b89d3fe28ea03c276552f41da06fdde">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dec()
-: <a class="el" href="big__480__29_8h.html#afcd929b8b957a8c5d7b248baa4732a79">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dfromBytesLen()
-: <a class="el" href="big__480__29_8h.html#a68f5a24d63b05fdd5fc4e98728f5e7d5">big_480_29.h</a>
-</li>
-<li>BIG_480_29_diszilch()
-: <a class="el" href="big__480__29_8h.html#a6749c3bc67333990a3bd4c7f343bbfb2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_div3()
-: <a class="el" href="big__480__29_8h.html#a6f8b2b2a556243a6f9a9bd7e95851c9e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dmod()
-: <a class="el" href="big__480__29_8h.html#a7475db0ed75a962d7880d078730ce627">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dmod2m()
-: <a class="el" href="big__480__29_8h.html#a4741b70c40e4f0405ae22d40965bbed8">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dnbits()
-: <a class="el" href="big__480__29_8h.html#afd823aae330f07224a7f0891cec24cca">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dnorm()
-: <a class="el" href="big__480__29_8h.html#a50c682e6e693965f09a20b6512cd2ab8">big_480_29.h</a>
-</li>
-<li>BIG_480_29_doutput()
-: <a class="el" href="big__480__29_8h.html#a4ff4ce206cf12ab585ce89ae6d4ab5f9">big_480_29.h</a>
-</li>
-<li>BIG_480_29_drawoutput()
-: <a class="el" href="big__480__29_8h.html#a68af6d9980e360137b36903b19196631">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dscopy()
-: <a class="el" href="big__480__29_8h.html#a40ccfa1143430d0878071677d1f1612f">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dshl()
-: <a class="el" href="big__480__29_8h.html#a5411cdc1ebac6da62d33cd7d2b22fafd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dshr()
-: <a class="el" href="big__480__29_8h.html#a258b8c20ce57bce8b1b6981b77282c3a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dsub()
-: <a class="el" href="big__480__29_8h.html#a95c51dd1666b7f8084ecc20ee14f8fea">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dsucopy()
-: <a class="el" href="big__480__29_8h.html#a59901c26ac1d1ea94412f88421881bca">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dzero()
-: <a class="el" href="big__480__29_8h.html#a69a8d5e328daf4b8b89070d54ed1d1a2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fromBytes()
-: <a class="el" href="big__480__29_8h.html#a68105b21a1d78444e54f3ed017ae5e69">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fromBytesLen()
-: <a class="el" href="big__480__29_8h.html#a90eb904d4f1aae9b7872f6dee98ce14e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fshl()
-: <a class="el" href="big__480__29_8h.html#a242edeb3a03d4decf1e3fa49aab994b7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fshr()
-: <a class="el" href="big__480__29_8h.html#a14e4ac8673cf47c1b10f318d3f4175a7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_imul()
-: <a class="el" href="big__480__29_8h.html#a2b9c63b8fe90e41045e6078d584e7726">big_480_29.h</a>
-</li>
-<li>BIG_480_29_inc()
-: <a class="el" href="big__480__29_8h.html#ad5a565020df281b4465e189c8d0633c1">big_480_29.h</a>
-</li>
-<li>BIG_480_29_invmod2m()
-: <a class="el" href="big__480__29_8h.html#a6b3c5563be78cf18c6760c793bac949d">big_480_29.h</a>
-</li>
-<li>BIG_480_29_invmodp()
-: <a class="el" href="big__480__29_8h.html#a90f031ccc185f63b7eab14fa70481dcb">big_480_29.h</a>
-</li>
-<li>BIG_480_29_isunity()
-: <a class="el" href="big__480__29_8h.html#a2f7933413edaf36c148c4608cc39a73e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_iszilch()
-: <a class="el" href="big__480__29_8h.html#a8f4bd0c84cdc7c5dd9d7d355ece09592">big_480_29.h</a>
-</li>
-<li>BIG_480_29_jacobi()
-: <a class="el" href="big__480__29_8h.html#a1e1df4be0527735fd48824b878f4cafd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_lastbits()
-: <a class="el" href="big__480__29_8h.html#a02aca3e0e40a469c2c8c566f326e42d1">big_480_29.h</a>
-</li>
-<li>BIG_480_29_mod()
-: <a class="el" href="big__480__29_8h.html#afb25b3b566346dfa4ab23a97f65eb98e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_mod2m()
-: <a class="el" href="big__480__29_8h.html#ad0c703ded1cea62ad1e7b304b820811a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_moddiv()
-: <a class="el" href="big__480__29_8h.html#a31bc510fb76b54775949627bdccfbf17">big_480_29.h</a>
-</li>
-<li>BIG_480_29_modmul()
-: <a class="el" href="big__480__29_8h.html#a6e195f2a08e5f39f98272904826e4458">big_480_29.h</a>
-</li>
-<li>BIG_480_29_modneg()
-: <a class="el" href="big__480__29_8h.html#a30769ad6586c737640a240cf44fe3ccd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_modsqr()
-: <a class="el" href="big__480__29_8h.html#a15988e52f5c28d54576a5b3bf38c26e2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_monty()
-: <a class="el" href="big__480__29_8h.html#aaa8b4145014c6f41aff5eeafa855d3d6">big_480_29.h</a>
-</li>
-<li>BIG_480_29_mul()
-: <a class="el" href="big__480__29_8h.html#a7a516f7c27d1f0e2c0843e9ef35a54e2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_nbits()
-: <a class="el" href="big__480__29_8h.html#ad7095568d9170f998ba8f123eeb57568">big_480_29.h</a>
-</li>
-<li>BIG_480_29_norm()
-: <a class="el" href="big__480__29_8h.html#aa7e71c50d2c580d5af8e2f8b9575b416">big_480_29.h</a>
-</li>
-<li>BIG_480_29_one()
-: <a class="el" href="big__480__29_8h.html#a2e7fabef7d1c61ae4042af344141f42f">big_480_29.h</a>
-</li>
-<li>BIG_480_29_or()
-: <a class="el" href="big__480__29_8h.html#acf692b4f12f87fc3557595c12ba197bd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_output()
-: <a class="el" href="big__480__29_8h.html#acf70eeae7372d5391d2c843af8b793da">big_480_29.h</a>
-</li>
-<li>BIG_480_29_parity()
-: <a class="el" href="big__480__29_8h.html#a1f1f3335dacc43945f7c91dfb5b14336">big_480_29.h</a>
-</li>
-<li>BIG_480_29_pmul()
-: <a class="el" href="big__480__29_8h.html#a4f9e6a79551b466c4cfa0181754b5ec0">big_480_29.h</a>
-</li>
-<li>BIG_480_29_pxmul()
-: <a class="el" href="big__480__29_8h.html#a48554072f9ef3a6252783ee43699a14c">big_480_29.h</a>
-</li>
-<li>BIG_480_29_random()
-: <a class="el" href="big__480__29_8h.html#ae064909259a290fbe3f06e655931004d">big_480_29.h</a>
-</li>
-<li>BIG_480_29_randomnum()
-: <a class="el" href="big__480__29_8h.html#a08a96bc628609eea00244c012a9c71ca">big_480_29.h</a>
-</li>
-<li>BIG_480_29_rawoutput()
-: <a class="el" href="big__480__29_8h.html#addbfff9a15b9c7eb4edf59d029e6d007">big_480_29.h</a>
-</li>
-<li>BIG_480_29_rcopy()
-: <a class="el" href="big__480__29_8h.html#a61b7e3d5eb7d54a49623c77ca016336a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sdcopy()
-: <a class="el" href="big__480__29_8h.html#a508559243824b28d807bfaf5744019da">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sdiv()
-: <a class="el" href="big__480__29_8h.html#a381ebe44f6a99233971636b17a85a402">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sducopy()
-: <a class="el" href="big__480__29_8h.html#a87492be96bc427dcdb744de1dedef099">big_480_29.h</a>
-</li>
-<li>BIG_480_29_shl()
-: <a class="el" href="big__480__29_8h.html#afe4ed6cab228d079ca7750bab1ed1bcd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_shr()
-: <a class="el" href="big__480__29_8h.html#a23f804ba0312cfeb293f06d357d6cf35">big_480_29.h</a>
-</li>
-<li>BIG_480_29_smul()
-: <a class="el" href="big__480__29_8h.html#a34882af2460305bf16480414780badb0">big_480_29.h</a>
-</li>
-<li>BIG_480_29_split()
-: <a class="el" href="big__480__29_8h.html#a81c129c3ed195c0f71759176b101a9ae">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sqr()
-: <a class="el" href="big__480__29_8h.html#a71551882d4df9b786fcaca3b9e126e7d">big_480_29.h</a>
-</li>
-<li>BIG_480_29_ssn()
-: <a class="el" href="big__480__29_8h.html#a59484329e57c3e9adcda23d371146a97">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sub()
-: <a class="el" href="big__480__29_8h.html#a96788cbcbddfb54d28609d07876c90b7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_toBytes()
-: <a class="el" href="big__480__29_8h.html#a8e8969807b8d6127aae5bb893c885a63">big_480_29.h</a>
-</li>
-<li>BIG_480_29_zero()
-: <a class="el" href="big__480__29_8h.html#acba1143334c4c98bca59526829bae47d">big_480_29.h</a>
-</li>
 <li>BIG_480_56
 : <a class="el" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">big_480_56.h</a>
 </li>
@@ -4300,222 +2104,6 @@
 <li>BIG_480_56_zero()
 : <a class="el" href="big__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39">big_480_56.h</a>
 </li>
-<li>BIG_512_29
-: <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">big_512_29.h</a>
-</li>
-<li>BIG_512_29_add()
-: <a class="el" href="big__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7">big_512_29.h</a>
-</li>
-<li>BIG_512_29_bit()
-: <a class="el" href="big__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2">big_512_29.h</a>
-</li>
-<li>BIG_512_29_cmove()
-: <a class="el" href="big__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_comp()
-: <a class="el" href="big__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb">big_512_29.h</a>
-</li>
-<li>BIG_512_29_copy()
-: <a class="el" href="big__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0">big_512_29.h</a>
-</li>
-<li>BIG_512_29_cswap()
-: <a class="el" href="big__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dadd()
-: <a class="el" href="big__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dcmove()
-: <a class="el" href="big__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dcomp()
-: <a class="el" href="big__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dcopy()
-: <a class="el" href="big__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_ddiv()
-: <a class="el" href="big__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dec()
-: <a class="el" href="big__512__29_8h.html#a623e829c317486582447b2a59b8839da">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dfromBytesLen()
-: <a class="el" href="big__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_diszilch()
-: <a class="el" href="big__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f">big_512_29.h</a>
-</li>
-<li>BIG_512_29_div3()
-: <a class="el" href="big__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dmod()
-: <a class="el" href="big__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dmod2m()
-: <a class="el" href="big__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dnbits()
-: <a class="el" href="big__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dnorm()
-: <a class="el" href="big__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d">big_512_29.h</a>
-</li>
-<li>BIG_512_29_doutput()
-: <a class="el" href="big__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb">big_512_29.h</a>
-</li>
-<li>BIG_512_29_drawoutput()
-: <a class="el" href="big__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dscopy()
-: <a class="el" href="big__512__29_8h.html#a63f756ee341108a1243525b79fae8071">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dshl()
-: <a class="el" href="big__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dshr()
-: <a class="el" href="big__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dsub()
-: <a class="el" href="big__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dsucopy()
-: <a class="el" href="big__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dzero()
-: <a class="el" href="big__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fromBytes()
-: <a class="el" href="big__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fromBytesLen()
-: <a class="el" href="big__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fshl()
-: <a class="el" href="big__512__29_8h.html#a4586281c3a555718580d243395c4e6ca">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fshr()
-: <a class="el" href="big__512__29_8h.html#a018725bccf723b24153ca3ba6831033a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_imul()
-: <a class="el" href="big__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995">big_512_29.h</a>
-</li>
-<li>BIG_512_29_inc()
-: <a class="el" href="big__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827">big_512_29.h</a>
-</li>
-<li>BIG_512_29_invmod2m()
-: <a class="el" href="big__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_invmodp()
-: <a class="el" href="big__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76">big_512_29.h</a>
-</li>
-<li>BIG_512_29_isunity()
-: <a class="el" href="big__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd">big_512_29.h</a>
-</li>
-<li>BIG_512_29_iszilch()
-: <a class="el" href="big__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_jacobi()
-: <a class="el" href="big__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce">big_512_29.h</a>
-</li>
-<li>BIG_512_29_lastbits()
-: <a class="el" href="big__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079">big_512_29.h</a>
-</li>
-<li>BIG_512_29_mod()
-: <a class="el" href="big__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c">big_512_29.h</a>
-</li>
-<li>BIG_512_29_mod2m()
-: <a class="el" href="big__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444">big_512_29.h</a>
-</li>
-<li>BIG_512_29_moddiv()
-: <a class="el" href="big__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc">big_512_29.h</a>
-</li>
-<li>BIG_512_29_modmul()
-: <a class="el" href="big__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409">big_512_29.h</a>
-</li>
-<li>BIG_512_29_modneg()
-: <a class="el" href="big__512__29_8h.html#afd47bab847bdb38013c08105671f4721">big_512_29.h</a>
-</li>
-<li>BIG_512_29_modsqr()
-: <a class="el" href="big__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_monty()
-: <a class="el" href="big__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382">big_512_29.h</a>
-</li>
-<li>BIG_512_29_mul()
-: <a class="el" href="big__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_nbits()
-: <a class="el" href="big__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933">big_512_29.h</a>
-</li>
-<li>BIG_512_29_norm()
-: <a class="el" href="big__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453">big_512_29.h</a>
-</li>
-<li>BIG_512_29_one()
-: <a class="el" href="big__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514">big_512_29.h</a>
-</li>
-<li>BIG_512_29_or()
-: <a class="el" href="big__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa">big_512_29.h</a>
-</li>
-<li>BIG_512_29_output()
-: <a class="el" href="big__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86">big_512_29.h</a>
-</li>
-<li>BIG_512_29_parity()
-: <a class="el" href="big__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c">big_512_29.h</a>
-</li>
-<li>BIG_512_29_pmul()
-: <a class="el" href="big__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f">big_512_29.h</a>
-</li>
-<li>BIG_512_29_pxmul()
-: <a class="el" href="big__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e">big_512_29.h</a>
-</li>
-<li>BIG_512_29_random()
-: <a class="el" href="big__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93">big_512_29.h</a>
-</li>
-<li>BIG_512_29_randomnum()
-: <a class="el" href="big__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3">big_512_29.h</a>
-</li>
-<li>BIG_512_29_rawoutput()
-: <a class="el" href="big__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229">big_512_29.h</a>
-</li>
-<li>BIG_512_29_rcopy()
-: <a class="el" href="big__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sdcopy()
-: <a class="el" href="big__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sdiv()
-: <a class="el" href="big__512__29_8h.html#aef4408d8a5441e103299919094c7fb34">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sducopy()
-: <a class="el" href="big__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4">big_512_29.h</a>
-</li>
-<li>BIG_512_29_shl()
-: <a class="el" href="big__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_shr()
-: <a class="el" href="big__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b">big_512_29.h</a>
-</li>
-<li>BIG_512_29_smul()
-: <a class="el" href="big__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459">big_512_29.h</a>
-</li>
-<li>BIG_512_29_split()
-: <a class="el" href="big__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sqr()
-: <a class="el" href="big__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056">big_512_29.h</a>
-</li>
-<li>BIG_512_29_ssn()
-: <a class="el" href="big__512__29_8h.html#a09e401bfba7158e57df4160a21afca82">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sub()
-: <a class="el" href="big__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2">big_512_29.h</a>
-</li>
-<li>BIG_512_29_toBytes()
-: <a class="el" href="big__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_zero()
-: <a class="el" href="big__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01">big_512_29.h</a>
-</li>
 <li>BIG_512_56
 : <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">big_512_56.h</a>
 </li>
@@ -4948,222 +2536,6 @@
 <li>BIG_512_60_zero()
 : <a class="el" href="big__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478">big_512_60.h</a>
 </li>
-<li>BIG_528_28
-: <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">big_528_28.h</a>
-</li>
-<li>BIG_528_28_add()
-: <a class="el" href="big__528__28_8h.html#a7afd96bac59d42371b76b95890835631">big_528_28.h</a>
-</li>
-<li>BIG_528_28_bit()
-: <a class="el" href="big__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c">big_528_28.h</a>
-</li>
-<li>BIG_528_28_cmove()
-: <a class="el" href="big__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11">big_528_28.h</a>
-</li>
-<li>BIG_528_28_comp()
-: <a class="el" href="big__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5">big_528_28.h</a>
-</li>
-<li>BIG_528_28_copy()
-: <a class="el" href="big__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85">big_528_28.h</a>
-</li>
-<li>BIG_528_28_cswap()
-: <a class="el" href="big__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dadd()
-: <a class="el" href="big__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dcmove()
-: <a class="el" href="big__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dcomp()
-: <a class="el" href="big__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dcopy()
-: <a class="el" href="big__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72">big_528_28.h</a>
-</li>
-<li>BIG_528_28_ddiv()
-: <a class="el" href="big__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dec()
-: <a class="el" href="big__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dfromBytesLen()
-: <a class="el" href="big__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558">big_528_28.h</a>
-</li>
-<li>BIG_528_28_diszilch()
-: <a class="el" href="big__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_div3()
-: <a class="el" href="big__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dmod()
-: <a class="el" href="big__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dmod2m()
-: <a class="el" href="big__528__28_8h.html#af647547e90a21cca1016b1250b841251">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dnbits()
-: <a class="el" href="big__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dnorm()
-: <a class="el" href="big__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a">big_528_28.h</a>
-</li>
-<li>BIG_528_28_doutput()
-: <a class="el" href="big__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018">big_528_28.h</a>
-</li>
-<li>BIG_528_28_drawoutput()
-: <a class="el" href="big__528__28_8h.html#a92d211f719b808f8bff3e5416485829a">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dscopy()
-: <a class="el" href="big__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dshl()
-: <a class="el" href="big__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dshr()
-: <a class="el" href="big__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dsub()
-: <a class="el" href="big__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dsucopy()
-: <a class="el" href="big__528__28_8h.html#a3605d741288e107006f8a870c19b58d7">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dzero()
-: <a class="el" href="big__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fromBytes()
-: <a class="el" href="big__528__28_8h.html#a0ac81676878f639d380137b47dc640c1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fromBytesLen()
-: <a class="el" href="big__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fshl()
-: <a class="el" href="big__528__28_8h.html#ade0dcec6578773e4914666c864011bf4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fshr()
-: <a class="el" href="big__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82">big_528_28.h</a>
-</li>
-<li>BIG_528_28_imul()
-: <a class="el" href="big__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed">big_528_28.h</a>
-</li>
-<li>BIG_528_28_inc()
-: <a class="el" href="big__528__28_8h.html#aecc2507f27540e765099a45641bd1001">big_528_28.h</a>
-</li>
-<li>BIG_528_28_invmod2m()
-: <a class="el" href="big__528__28_8h.html#a93e28db178c675ff24319a01869c67cf">big_528_28.h</a>
-</li>
-<li>BIG_528_28_invmodp()
-: <a class="el" href="big__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83">big_528_28.h</a>
-</li>
-<li>BIG_528_28_isunity()
-: <a class="el" href="big__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6">big_528_28.h</a>
-</li>
-<li>BIG_528_28_iszilch()
-: <a class="el" href="big__528__28_8h.html#a759b359beb86544bb4399e56b9370125">big_528_28.h</a>
-</li>
-<li>BIG_528_28_jacobi()
-: <a class="el" href="big__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_lastbits()
-: <a class="el" href="big__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367">big_528_28.h</a>
-</li>
-<li>BIG_528_28_mod()
-: <a class="el" href="big__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_mod2m()
-: <a class="el" href="big__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c">big_528_28.h</a>
-</li>
-<li>BIG_528_28_moddiv()
-: <a class="el" href="big__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a">big_528_28.h</a>
-</li>
-<li>BIG_528_28_modmul()
-: <a class="el" href="big__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d">big_528_28.h</a>
-</li>
-<li>BIG_528_28_modneg()
-: <a class="el" href="big__528__28_8h.html#a869ba3a39774e991efc6c85072212231">big_528_28.h</a>
-</li>
-<li>BIG_528_28_modsqr()
-: <a class="el" href="big__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663">big_528_28.h</a>
-</li>
-<li>BIG_528_28_monty()
-: <a class="el" href="big__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b">big_528_28.h</a>
-</li>
-<li>BIG_528_28_mul()
-: <a class="el" href="big__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee">big_528_28.h</a>
-</li>
-<li>BIG_528_28_nbits()
-: <a class="el" href="big__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_norm()
-: <a class="el" href="big__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_one()
-: <a class="el" href="big__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992">big_528_28.h</a>
-</li>
-<li>BIG_528_28_or()
-: <a class="el" href="big__528__28_8h.html#a73d2125663f4285274f82da9cd465f31">big_528_28.h</a>
-</li>
-<li>BIG_528_28_output()
-: <a class="el" href="big__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_parity()
-: <a class="el" href="big__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6">big_528_28.h</a>
-</li>
-<li>BIG_528_28_pmul()
-: <a class="el" href="big__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673">big_528_28.h</a>
-</li>
-<li>BIG_528_28_pxmul()
-: <a class="el" href="big__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e">big_528_28.h</a>
-</li>
-<li>BIG_528_28_random()
-: <a class="el" href="big__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8">big_528_28.h</a>
-</li>
-<li>BIG_528_28_randomnum()
-: <a class="el" href="big__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783">big_528_28.h</a>
-</li>
-<li>BIG_528_28_rawoutput()
-: <a class="el" href="big__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8">big_528_28.h</a>
-</li>
-<li>BIG_528_28_rcopy()
-: <a class="el" href="big__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sdcopy()
-: <a class="el" href="big__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sdiv()
-: <a class="el" href="big__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sducopy()
-: <a class="el" href="big__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_shl()
-: <a class="el" href="big__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61">big_528_28.h</a>
-</li>
-<li>BIG_528_28_shr()
-: <a class="el" href="big__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c">big_528_28.h</a>
-</li>
-<li>BIG_528_28_smul()
-: <a class="el" href="big__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03">big_528_28.h</a>
-</li>
-<li>BIG_528_28_split()
-: <a class="el" href="big__528__28_8h.html#acfe96c94a11817c94683b605ec552af1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sqr()
-: <a class="el" href="big__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38">big_528_28.h</a>
-</li>
-<li>BIG_528_28_ssn()
-: <a class="el" href="big__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sub()
-: <a class="el" href="big__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e">big_528_28.h</a>
-</li>
-<li>BIG_528_28_toBytes()
-: <a class="el" href="big__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445">big_528_28.h</a>
-</li>
-<li>BIG_528_28_zero()
-: <a class="el" href="big__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233">big_528_28.h</a>
-</li>
 <li>BIG_528_60
 : <a class="el" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">big_528_60.h</a>
 </li>
@@ -5380,222 +2752,6 @@
 <li>BIG_528_60_zero()
 : <a class="el" href="big__528__60_8h.html#ab27955873faca327f00f59d01f0fd316">big_528_60.h</a>
 </li>
-<li>BIG_560_29
-: <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">big_560_29.h</a>
-</li>
-<li>BIG_560_29_add()
-: <a class="el" href="big__560__29_8h.html#ae65e9996ba096849473662afb7105678">big_560_29.h</a>
-</li>
-<li>BIG_560_29_bit()
-: <a class="el" href="big__560__29_8h.html#a89a8e99224c79e20a83f65e950f50140">big_560_29.h</a>
-</li>
-<li>BIG_560_29_cmove()
-: <a class="el" href="big__560__29_8h.html#a08c0a219dcc9ba548194f3fb07ddd338">big_560_29.h</a>
-</li>
-<li>BIG_560_29_comp()
-: <a class="el" href="big__560__29_8h.html#a5e71aecc096e5d0cf8abb41ef467280c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_copy()
-: <a class="el" href="big__560__29_8h.html#a51f1a538cd2acd170c64f333bbf9ef38">big_560_29.h</a>
-</li>
-<li>BIG_560_29_cswap()
-: <a class="el" href="big__560__29_8h.html#a5986aced3f00297a9b7aefa2088a2aa0">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dadd()
-: <a class="el" href="big__560__29_8h.html#a4a6546b6be50aa0ed327cae3a76e45b2">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dcmove()
-: <a class="el" href="big__560__29_8h.html#a70647835b3562e8015dca7f80f008b66">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dcomp()
-: <a class="el" href="big__560__29_8h.html#ad1fa33c289213fb0c9546e58a682f39b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dcopy()
-: <a class="el" href="big__560__29_8h.html#a0441ea3e88f376aa446b21393a78d818">big_560_29.h</a>
-</li>
-<li>BIG_560_29_ddiv()
-: <a class="el" href="big__560__29_8h.html#a63a2a4340ec906ef4edafd8cdda5ecd1">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dec()
-: <a class="el" href="big__560__29_8h.html#a33a5c0c69dd8d1efc4c8e665eeff8b9b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dfromBytesLen()
-: <a class="el" href="big__560__29_8h.html#af2b12cf78dd1bda266eed46c74aaa401">big_560_29.h</a>
-</li>
-<li>BIG_560_29_diszilch()
-: <a class="el" href="big__560__29_8h.html#aa8dcbefb1a36e50d3f9b241573ef9a07">big_560_29.h</a>
-</li>
-<li>BIG_560_29_div3()
-: <a class="el" href="big__560__29_8h.html#ac248bd7812fdb863cf77da864d006547">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dmod()
-: <a class="el" href="big__560__29_8h.html#a0145ff9aba864d2e93d34044ab35b0b3">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dmod2m()
-: <a class="el" href="big__560__29_8h.html#abfb7a14c67bc951d22fb8646caa80949">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dnbits()
-: <a class="el" href="big__560__29_8h.html#a96f414c632beb42afa3b18803e3c1c02">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dnorm()
-: <a class="el" href="big__560__29_8h.html#a5a1d428f6a3948985ef7ecee44b1ed90">big_560_29.h</a>
-</li>
-<li>BIG_560_29_doutput()
-: <a class="el" href="big__560__29_8h.html#a3532414b33ec5c454d2aa69450a71e3b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_drawoutput()
-: <a class="el" href="big__560__29_8h.html#a819c27b791c06a68c885c3bac71ed026">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dscopy()
-: <a class="el" href="big__560__29_8h.html#a0e2ca1c8b0e5004d89eb25f7fbe1413a">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dshl()
-: <a class="el" href="big__560__29_8h.html#a2a7dc62a5c174e03456b3df7de48c7d0">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dshr()
-: <a class="el" href="big__560__29_8h.html#a4d4cfcf637b71a4fc532c5d8ed04b6be">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dsub()
-: <a class="el" href="big__560__29_8h.html#a4f9c5cbd7a7139c9e57612b6371edd2f">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dsucopy()
-: <a class="el" href="big__560__29_8h.html#aaa5770a5f1eb5f3520f5af8673d621e3">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dzero()
-: <a class="el" href="big__560__29_8h.html#a35ed74837f580f23ae25b217cb80a7c4">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fromBytes()
-: <a class="el" href="big__560__29_8h.html#a8fa45c00b5827a65847d7f4a09cb296f">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fromBytesLen()
-: <a class="el" href="big__560__29_8h.html#a5e21437235e92875a043ef7b29d0e54c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fshl()
-: <a class="el" href="big__560__29_8h.html#a469fb92dfb3cfad74782399dfa4c0ea7">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fshr()
-: <a class="el" href="big__560__29_8h.html#a87bbbb471bd5640d81799ae94d459a89">big_560_29.h</a>
-</li>
-<li>BIG_560_29_imul()
-: <a class="el" href="big__560__29_8h.html#a7375b371afca2493f289e566e773ca4a">big_560_29.h</a>
-</li>
-<li>BIG_560_29_inc()
-: <a class="el" href="big__560__29_8h.html#aadc38ea4dbbbcf952ca5c939c7afc661">big_560_29.h</a>
-</li>
-<li>BIG_560_29_invmod2m()
-: <a class="el" href="big__560__29_8h.html#a0c147e73b0bae9635bee593175774f0c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_invmodp()
-: <a class="el" href="big__560__29_8h.html#a00a5f8b23c288c2448ddb2d88d315b21">big_560_29.h</a>
-</li>
-<li>BIG_560_29_isunity()
-: <a class="el" href="big__560__29_8h.html#a2a5cdd4dfe0e6aba419a75f49243ad43">big_560_29.h</a>
-</li>
-<li>BIG_560_29_iszilch()
-: <a class="el" href="big__560__29_8h.html#afb68b5fa13e176d7e32a2057b71ac780">big_560_29.h</a>
-</li>
-<li>BIG_560_29_jacobi()
-: <a class="el" href="big__560__29_8h.html#acabe4baa29863ad5559020c8f2136d9f">big_560_29.h</a>
-</li>
-<li>BIG_560_29_lastbits()
-: <a class="el" href="big__560__29_8h.html#ad8abd5137561bfed04669cf96c259781">big_560_29.h</a>
-</li>
-<li>BIG_560_29_mod()
-: <a class="el" href="big__560__29_8h.html#afac3c76a8f4e070630b0e548f23ef358">big_560_29.h</a>
-</li>
-<li>BIG_560_29_mod2m()
-: <a class="el" href="big__560__29_8h.html#ad8b4f3bcef2aa611363bb7afd3477c37">big_560_29.h</a>
-</li>
-<li>BIG_560_29_moddiv()
-: <a class="el" href="big__560__29_8h.html#af4275b84bb243a4299a8fbae6c594db1">big_560_29.h</a>
-</li>
-<li>BIG_560_29_modmul()
-: <a class="el" href="big__560__29_8h.html#a1efc3b09f5b07ca7a559d83e76acbe57">big_560_29.h</a>
-</li>
-<li>BIG_560_29_modneg()
-: <a class="el" href="big__560__29_8h.html#a5a8cb966bd251bd9b28c447e67ef41e8">big_560_29.h</a>
-</li>
-<li>BIG_560_29_modsqr()
-: <a class="el" href="big__560__29_8h.html#a21e87e8bf1b42f00087e74ae6102ba8c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_monty()
-: <a class="el" href="big__560__29_8h.html#adcbe9492816b75278b278758fe1c21bb">big_560_29.h</a>
-</li>
-<li>BIG_560_29_mul()
-: <a class="el" href="big__560__29_8h.html#a57ee8eed41be0783324dbeea72e1078d">big_560_29.h</a>
-</li>
-<li>BIG_560_29_nbits()
-: <a class="el" href="big__560__29_8h.html#a5a29d5bcaa2299f1f7ab4c322a2df907">big_560_29.h</a>
-</li>
-<li>BIG_560_29_norm()
-: <a class="el" href="big__560__29_8h.html#aefd62aa61037b77a52b931b51787e921">big_560_29.h</a>
-</li>
-<li>BIG_560_29_one()
-: <a class="el" href="big__560__29_8h.html#aecec4cf34ec7476ce48f085f126674fd">big_560_29.h</a>
-</li>
-<li>BIG_560_29_or()
-: <a class="el" href="big__560__29_8h.html#a23fb2086d698b03e3b409b6f0c0a80dc">big_560_29.h</a>
-</li>
-<li>BIG_560_29_output()
-: <a class="el" href="big__560__29_8h.html#a5057ccb43e0e7eb9f8aea795ac62aaa7">big_560_29.h</a>
-</li>
-<li>BIG_560_29_parity()
-: <a class="el" href="big__560__29_8h.html#a4db725f0b9ebdb8bd9ef87a31e83300d">big_560_29.h</a>
-</li>
-<li>BIG_560_29_pmul()
-: <a class="el" href="big__560__29_8h.html#a8bbbc9bb0aeb3ea59aed8007ea9ae266">big_560_29.h</a>
-</li>
-<li>BIG_560_29_pxmul()
-: <a class="el" href="big__560__29_8h.html#a6d61085a3a76337a0d82ac3e65fb6026">big_560_29.h</a>
-</li>
-<li>BIG_560_29_random()
-: <a class="el" href="big__560__29_8h.html#adafd6f05406b9a591aa971cba0825c6c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_randomnum()
-: <a class="el" href="big__560__29_8h.html#a8fe1cf5b87b4db63ff9234829408ccc7">big_560_29.h</a>
-</li>
-<li>BIG_560_29_rawoutput()
-: <a class="el" href="big__560__29_8h.html#a5bc5722658a94b5247a1609571487fe0">big_560_29.h</a>
-</li>
-<li>BIG_560_29_rcopy()
-: <a class="el" href="big__560__29_8h.html#a2067a272be66e61ffa263db0489932f8">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sdcopy()
-: <a class="el" href="big__560__29_8h.html#a775faf413caafab161a9b40473957476">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sdiv()
-: <a class="el" href="big__560__29_8h.html#a7751e56b7afb898f804bd614cdce0f11">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sducopy()
-: <a class="el" href="big__560__29_8h.html#ab6b90ba76c93b712c79ecf0fa4c11a85">big_560_29.h</a>
-</li>
-<li>BIG_560_29_shl()
-: <a class="el" href="big__560__29_8h.html#a948b32e26c4c4551351ff9fc68ea4822">big_560_29.h</a>
-</li>
-<li>BIG_560_29_shr()
-: <a class="el" href="big__560__29_8h.html#a5c2b4afaef6383d924f8d87d8b03942b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_smul()
-: <a class="el" href="big__560__29_8h.html#aa708c4c1eea0d5af0b43e82f061f854a">big_560_29.h</a>
-</li>
-<li>BIG_560_29_split()
-: <a class="el" href="big__560__29_8h.html#a19241dcc77b787b493370d3a3e657259">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sqr()
-: <a class="el" href="big__560__29_8h.html#a867fd42d71918d1db92cf4934bf882c5">big_560_29.h</a>
-</li>
-<li>BIG_560_29_ssn()
-: <a class="el" href="big__560__29_8h.html#a3e07a3bbd83a0d6630106c726e58c828">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sub()
-: <a class="el" href="big__560__29_8h.html#a587bc2e12545c048659aaa3eb5c68315">big_560_29.h</a>
-</li>
-<li>BIG_560_29_toBytes()
-: <a class="el" href="big__560__29_8h.html#a54e02dc726f8824e62759a2fa14b59a5">big_560_29.h</a>
-</li>
-<li>BIG_560_29_zero()
-: <a class="el" href="big__560__29_8h.html#a464cd2642cf515bdafe4946d818de6df">big_560_29.h</a>
-</li>
 <li>BIG_560_58
 : <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">big_560_58.h</a>
 </li>
@@ -5812,81 +2968,42 @@
 <li>BIG_560_58_zero()
 : <a class="el" href="big__560__58_8h.html#a263ac166e4e3b19f8dfa5e20c6f87d69">big_560_58.h</a>
 </li>
-<li>BIGBITS_1024_28
-: <a class="el" href="big__1024__28_8h.html#a5e823eda976231f0b203b47b75115f75">big_1024_28.h</a>
-</li>
 <li>BIGBITS_1024_58
 : <a class="el" href="big__1024__58_8h.html#a65bdfd2b6b38168e8bcd9f1af013c7b5">big_1024_58.h</a>
 </li>
-<li>BIGBITS_256_28
-: <a class="el" href="big__256__28_8h.html#a7ead2232fb4a739ef8f73c3fefd48f29">big_256_28.h</a>
-</li>
-<li>BIGBITS_256_29
-: <a class="el" href="big__256__29_8h.html#a6863374287d6031d9e1d8190b0d87205">big_256_29.h</a>
-</li>
 <li>BIGBITS_256_56
 : <a class="el" href="big__256__56_8h.html#a1a77f9a8aca3f6f0a3a3c95a129c6142">big_256_56.h</a>
 </li>
-<li>BIGBITS_336_29
-: <a class="el" href="big__336__29_8h.html#a387bb8aca1a20d3a37bdc32c5d62fb19">big_336_29.h</a>
-</li>
 <li>BIGBITS_336_60
 : <a class="el" href="big__336__60_8h.html#a3f52e43a01b810e38e5ef9ba558a23cb">big_336_60.h</a>
 </li>
-<li>BIGBITS_384_28
-: <a class="el" href="big__384__28_8h.html#a8f05d26a410dd97379ac2651922a6449">big_384_28.h</a>
-</li>
-<li>BIGBITS_384_29
-: <a class="el" href="big__384__29_8h.html#a5feb1f06130ed84f11090989e07af7b2">big_384_29.h</a>
-</li>
 <li>BIGBITS_384_56
 : <a class="el" href="big__384__56_8h.html#a6e1353243985f68f42cdf9be09b90141">big_384_56.h</a>
 </li>
 <li>BIGBITS_384_58
 : <a class="el" href="big__384__58_8h.html#af101e9b3ede482bfe16e1ddab5bf39bb">big_384_58.h</a>
 </li>
-<li>BIGBITS_416_29
-: <a class="el" href="big__416__29_8h.html#aa20947ce69e7c08ec647e7bfae4640ba">big_416_29.h</a>
-</li>
 <li>BIGBITS_416_60
 : <a class="el" href="big__416__60_8h.html#a9994d8070f1ce0d6ea213808cbd0fd69">big_416_60.h</a>
 </li>
-<li>BIGBITS_448_29
-: <a class="el" href="big__448__29_8h.html#a7a5a3ffd6671b7e3013edefee432cf3d">big_448_29.h</a>
-</li>
 <li>BIGBITS_448_58
 : <a class="el" href="big__448__58_8h.html#a2be308d1a50b450fe8b0d8a87f4bd842">big_448_58.h</a>
 </li>
-<li>BIGBITS_464_28
-: <a class="el" href="big__464__28_8h.html#a321939982219e2b95cfd0896c23b70df">big_464_28.h</a>
-</li>
 <li>BIGBITS_464_60
 : <a class="el" href="big__464__60_8h.html#af7ba4d5ab54089d4e31347acd281e097">big_464_60.h</a>
 </li>
-<li>BIGBITS_480_29
-: <a class="el" href="big__480__29_8h.html#a968e298d329bd9c537cae67bca92ec33">big_480_29.h</a>
-</li>
 <li>BIGBITS_480_56
 : <a class="el" href="big__480__56_8h.html#a54f63b6871b5f0d5d5470ce09667c2e8">big_480_56.h</a>
 </li>
-<li>BIGBITS_512_29
-: <a class="el" href="big__512__29_8h.html#a4ddec2d6c6f7f1609ded4668d1d73c6a">big_512_29.h</a>
-</li>
 <li>BIGBITS_512_56
 : <a class="el" href="big__512__56_8h.html#a0db657df710516e21bc7c3a30ebaca9c">big_512_56.h</a>
 </li>
 <li>BIGBITS_512_60
 : <a class="el" href="big__512__60_8h.html#a4454ac6a7c8674732938e8365996729a">big_512_60.h</a>
 </li>
-<li>BIGBITS_528_28
-: <a class="el" href="big__528__28_8h.html#a0525b6e9fdd66250ad0a082d4b43452c">big_528_28.h</a>
-</li>
 <li>BIGBITS_528_60
 : <a class="el" href="big__528__60_8h.html#ab23dce98483079baad467cb7d98d8edf">big_528_60.h</a>
 </li>
-<li>BIGBITS_560_29
-: <a class="el" href="big__560__29_8h.html#a02bdf4e3336ecd6241c01b103495ca3f">big_560_29.h</a>
-</li>
 <li>BIGBITS_560_58
 : <a class="el" href="big__560__58_8h.html#a485d9ac4165cf3e0b0d471a21c161a89">big_560_58.h</a>
 </li>
@@ -5899,11 +3016,20 @@
 <li>BLS_BLS24_KEY_PAIR_GENERATE()
 : <a class="el" href="bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c">bls192_BLS24.h</a>
 </li>
+<li>BLS_BLS24_MAKE_SHARES()
+: <a class="el" href="bls192__BLS24_8h.html#ade4309880d21334a7b64e1ef6204d586">bls192_BLS24.h</a>
+</li>
+<li>BLS_BLS24_RECOVER_SECRET()
+: <a class="el" href="bls192__BLS24_8h.html#a63ccbbd1e272ba050ebc688de8f9381a">bls192_BLS24.h</a>
+</li>
+<li>BLS_BLS24_RECOVER_SIGNATURE()
+: <a class="el" href="bls192__BLS24_8h.html#a51b37e19ec601e7d90d5a65127dc6097">bls192_BLS24.h</a>
+</li>
 <li>BLS_BLS24_SIGN()
-: <a class="el" href="bls192__BLS24_8h.html#a79cbcdfdb4aef90e5e8d02fbc08dd726">bls192_BLS24.h</a>
+: <a class="el" href="bls192__BLS24_8h.html#ace586ee37e95cf2e2b67b9232c5c4bc5">bls192_BLS24.h</a>
 </li>
 <li>BLS_BLS24_VERIFY()
-: <a class="el" href="bls192__BLS24_8h.html#ae167d4ff813dd451b8f9c1e54c041a85">bls192_BLS24.h</a>
+: <a class="el" href="bls192__BLS24_8h.html#a888e6668b6240c162677d5ea4875b417">bls192_BLS24.h</a>
 </li>
 <li>BLS_BLS381_ADD_G1()
 : <a class="el" href="bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f">bls_BLS381.h</a>
@@ -5914,11 +3040,20 @@
 <li>BLS_BLS381_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111">bls_BLS381.h</a>
 </li>
+<li>BLS_BLS381_MAKE_SHARES()
+: <a class="el" href="bls__BLS381_8h.html#abc73fc44019239a33302da199e198624">bls_BLS381.h</a>
+</li>
+<li>BLS_BLS381_RECOVER_SECRET()
+: <a class="el" href="bls__BLS381_8h.html#a3bfe03702c6bb5140ea26c1e863476af">bls_BLS381.h</a>
+</li>
+<li>BLS_BLS381_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BLS381_8h.html#a0bde1c6bf97c00da8b6020ba96711707">bls_BLS381.h</a>
+</li>
 <li>BLS_BLS381_SIGN()
-: <a class="el" href="bls__BLS381_8h.html#abe8ca90d166aa1ea6ee432290bdbcdd4">bls_BLS381.h</a>
+: <a class="el" href="bls__BLS381_8h.html#a24b33bf05c6df70cd1152d513fbc464c">bls_BLS381.h</a>
 </li>
 <li>BLS_BLS381_VERIFY()
-: <a class="el" href="bls__BLS381_8h.html#a16a1ea68ef8fd07379dea104d1da954c">bls_BLS381.h</a>
+: <a class="el" href="bls__BLS381_8h.html#af5c1fa6e4349a4c5d36d46cbb0a9d454">bls_BLS381.h</a>
 </li>
 <li>BLS_BLS383_ADD_G1()
 : <a class="el" href="bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047">bls_BLS383.h</a>
@@ -5929,11 +3064,20 @@
 <li>BLS_BLS383_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97">bls_BLS383.h</a>
 </li>
+<li>BLS_BLS383_MAKE_SHARES()
+: <a class="el" href="bls__BLS383_8h.html#a165fdb46f1f82e986657168266b707bc">bls_BLS383.h</a>
+</li>
+<li>BLS_BLS383_RECOVER_SECRET()
+: <a class="el" href="bls__BLS383_8h.html#ad0f5bdfdb1c6c1897f000d0491d582fb">bls_BLS383.h</a>
+</li>
+<li>BLS_BLS383_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BLS383_8h.html#a0d8e6fd8970b6f5f7a7aeafe881f6dba">bls_BLS383.h</a>
+</li>
 <li>BLS_BLS383_SIGN()
-: <a class="el" href="bls__BLS383_8h.html#a1d383ff4c866b7c7e4a4db653cfffc0b">bls_BLS383.h</a>
+: <a class="el" href="bls__BLS383_8h.html#a035379af6cbcbb1fa769e3b10d3465c1">bls_BLS383.h</a>
 </li>
 <li>BLS_BLS383_VERIFY()
-: <a class="el" href="bls__BLS383_8h.html#a3d85ac20f750866e30664de951009141">bls_BLS383.h</a>
+: <a class="el" href="bls__BLS383_8h.html#a066716fed2f9dee626d6b43c592d6771">bls_BLS383.h</a>
 </li>
 <li>BLS_BLS461_ADD_G1()
 : <a class="el" href="bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb">bls_BLS461.h</a>
@@ -5944,11 +3088,20 @@
 <li>BLS_BLS461_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d">bls_BLS461.h</a>
 </li>
+<li>BLS_BLS461_MAKE_SHARES()
+: <a class="el" href="bls__BLS461_8h.html#a4b5381be8ae73b626601b6aeb34b0e1c">bls_BLS461.h</a>
+</li>
+<li>BLS_BLS461_RECOVER_SECRET()
+: <a class="el" href="bls__BLS461_8h.html#aecd2988e567295aaa7020e96739b7e0f">bls_BLS461.h</a>
+</li>
+<li>BLS_BLS461_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BLS461_8h.html#ac9f911283da8978a6d54e054b2b28697">bls_BLS461.h</a>
+</li>
 <li>BLS_BLS461_SIGN()
-: <a class="el" href="bls__BLS461_8h.html#a9f8ad4d96944199eeeb56aa00f635687">bls_BLS461.h</a>
+: <a class="el" href="bls__BLS461_8h.html#aff825f53a175ac64da3be3c9e5edd59f">bls_BLS461.h</a>
 </li>
 <li>BLS_BLS461_VERIFY()
-: <a class="el" href="bls__BLS461_8h.html#a299f6a77664cc94291edbcf2a9a580c4">bls_BLS461.h</a>
+: <a class="el" href="bls__BLS461_8h.html#a8b58b365bb7bd0365947da6206135941">bls_BLS461.h</a>
 </li>
 <li>BLS_BLS48_ADD_G1()
 : <a class="el" href="bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e">bls256_BLS48.h</a>
@@ -5959,11 +3112,20 @@
 <li>BLS_BLS48_KEY_PAIR_GENERATE()
 : <a class="el" href="bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4">bls256_BLS48.h</a>
 </li>
+<li>BLS_BLS48_MAKE_SHARES()
+: <a class="el" href="bls256__BLS48_8h.html#af89c4de4e305481b2e00f3c2bb7c273b">bls256_BLS48.h</a>
+</li>
+<li>BLS_BLS48_RECOVER_SECRET()
+: <a class="el" href="bls256__BLS48_8h.html#abcf69b92459f13cfbd3f92c206d5deb2">bls256_BLS48.h</a>
+</li>
+<li>BLS_BLS48_RECOVER_SIGNATURE()
+: <a class="el" href="bls256__BLS48_8h.html#a8618134ddcf63d134af292852734ff24">bls256_BLS48.h</a>
+</li>
 <li>BLS_BLS48_SIGN()
-: <a class="el" href="bls256__BLS48_8h.html#aca4a3373e24203541075a1242d469b48">bls256_BLS48.h</a>
+: <a class="el" href="bls256__BLS48_8h.html#a7ac05c21fd4050a821b151ccfca038db">bls256_BLS48.h</a>
 </li>
 <li>BLS_BLS48_VERIFY()
-: <a class="el" href="bls256__BLS48_8h.html#a1a63c26de2f02ed7529f3df2621d515e">bls256_BLS48.h</a>
+: <a class="el" href="bls256__BLS48_8h.html#a662d6fc737881dfeb9b4df7508d67c25">bls256_BLS48.h</a>
 </li>
 <li>BLS_BN254_ADD_G1()
 : <a class="el" href="bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0">bls_BN254.h</a>
@@ -5974,11 +3136,20 @@
 <li>BLS_BN254_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036">bls_BN254.h</a>
 </li>
+<li>BLS_BN254_MAKE_SHARES()
+: <a class="el" href="bls__BN254_8h.html#a857a1e998e2aa2f954899e8e179bf1dd">bls_BN254.h</a>
+</li>
+<li>BLS_BN254_RECOVER_SECRET()
+: <a class="el" href="bls__BN254_8h.html#a7f1095cf77f84b79dd6d9db2c6df2022">bls_BN254.h</a>
+</li>
+<li>BLS_BN254_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BN254_8h.html#a77a7b86612258446419fa1bc592ab397">bls_BN254.h</a>
+</li>
 <li>BLS_BN254_SIGN()
-: <a class="el" href="bls__BN254_8h.html#a90c9bc4b90f94913cd18c6e98e021ee0">bls_BN254.h</a>
+: <a class="el" href="bls__BN254_8h.html#a5ae7e925844eb58dc8ad104d18e92bb9">bls_BN254.h</a>
 </li>
 <li>BLS_BN254_VERIFY()
-: <a class="el" href="bls__BN254_8h.html#a83112996c1c147a42a23ffb186924017">bls_BN254.h</a>
+: <a class="el" href="bls__BN254_8h.html#a5f94d1fc3631280015e93174db72ed5c">bls_BN254.h</a>
 </li>
 <li>BLS_BN254CX_ADD_G1()
 : <a class="el" href="bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa">bls_BN254CX.h</a>
@@ -5989,22 +3160,31 @@
 <li>BLS_BN254CX_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550">bls_BN254CX.h</a>
 </li>
+<li>BLS_BN254CX_MAKE_SHARES()
+: <a class="el" href="bls__BN254CX_8h.html#ab01f2391b3c23a4ec79aa914a3b00ea7">bls_BN254CX.h</a>
+</li>
+<li>BLS_BN254CX_RECOVER_SECRET()
+: <a class="el" href="bls__BN254CX_8h.html#aea2c4835b491f15c6c38b0df28d14f78">bls_BN254CX.h</a>
+</li>
+<li>BLS_BN254CX_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BN254CX_8h.html#a262941837cc3ec8684df0f76b444e889">bls_BN254CX.h</a>
+</li>
 <li>BLS_BN254CX_SIGN()
-: <a class="el" href="bls__BN254CX_8h.html#a20fe77510d7a7f34e8dfd3af5c76268f">bls_BN254CX.h</a>
+: <a class="el" href="bls__BN254CX_8h.html#ac91525b2c002ad84207893f83b4dc9f5">bls_BN254CX.h</a>
 </li>
 <li>BLS_BN254CX_VERIFY()
-: <a class="el" href="bls__BN254CX_8h.html#a065771e3dfd48c41e4f0ace41e681b10">bls_BN254CX.h</a>
+: <a class="el" href="bls__BN254CX_8h.html#a4f13dc21fe15bb4adf4b09fb6a53e6a4">bls_BN254CX.h</a>
 </li>
 <li>BLS_FAIL
-: <a class="el" href="bls__BN254CX_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BN254CX.h</a>
-, <a class="el" href="bls__FP512BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_FP512BN.h</a>
-, <a class="el" href="bls__FP256BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_FP256BN.h</a>
-, <a class="el" href="bls__BLS383_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS383.h</a>
-, <a class="el" href="bls__BN254_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BN254.h</a>
+: <a class="el" href="bls256__BLS48_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls256_BLS48.h</a>
 , <a class="el" href="bls__BLS381_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS381.h</a>
-, <a class="el" href="bls192__BLS24_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls192_BLS24.h</a>
 , <a class="el" href="bls__BLS461_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS461.h</a>
-, <a class="el" href="bls256__BLS48_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls256_BLS48.h</a>
+, <a class="el" href="bls__FP512BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_FP512BN.h</a>
+, <a class="el" href="bls__BN254_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BN254.h</a>
+, <a class="el" href="bls192__BLS24_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls192_BLS24.h</a>
+, <a class="el" href="bls__BLS383_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS383.h</a>
+, <a class="el" href="bls__BN254CX_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BN254CX.h</a>
+, <a class="el" href="bls__FP256BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_FP256BN.h</a>
 </li>
 <li>BLS_FP256BN_ADD_G1()
 : <a class="el" href="bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25">bls_FP256BN.h</a>
@@ -6015,11 +3195,20 @@
 <li>BLS_FP256BN_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b">bls_FP256BN.h</a>
 </li>
+<li>BLS_FP256BN_MAKE_SHARES()
+: <a class="el" href="bls__FP256BN_8h.html#afced5cbbbea572cca508d05a4768f4c0">bls_FP256BN.h</a>
+</li>
+<li>BLS_FP256BN_RECOVER_SECRET()
+: <a class="el" href="bls__FP256BN_8h.html#a00cbfe56ea644ef49521f6bf373abece">bls_FP256BN.h</a>
+</li>
+<li>BLS_FP256BN_RECOVER_SIGNATURE()
+: <a class="el" href="bls__FP256BN_8h.html#a3024cba5ceccc917fc418c0b7c1fd254">bls_FP256BN.h</a>
+</li>
 <li>BLS_FP256BN_SIGN()
-: <a class="el" href="bls__FP256BN_8h.html#ab167e8dc6d1b1668ee44fa54efe86bef">bls_FP256BN.h</a>
+: <a class="el" href="bls__FP256BN_8h.html#aacd18a137b7a4e8d896e27110e35e860">bls_FP256BN.h</a>
 </li>
 <li>BLS_FP256BN_VERIFY()
-: <a class="el" href="bls__FP256BN_8h.html#a2300b3e097d13ca6e1ca892a7a0cf915">bls_FP256BN.h</a>
+: <a class="el" href="bls__FP256BN_8h.html#a416aff4d03e90525a060cef3f4fd6205">bls_FP256BN.h</a>
 </li>
 <li>BLS_FP512BN_ADD_G1()
 : <a class="el" href="bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b">bls_FP512BN.h</a>
@@ -6030,120 +3219,90 @@
 <li>BLS_FP512BN_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f">bls_FP512BN.h</a>
 </li>
+<li>BLS_FP512BN_MAKE_SHARES()
+: <a class="el" href="bls__FP512BN_8h.html#a34530e73aa5cd3d73fb754e772ec4b83">bls_FP512BN.h</a>
+</li>
+<li>BLS_FP512BN_RECOVER_SECRET()
+: <a class="el" href="bls__FP512BN_8h.html#af663f54403701b715327c89ce544deb5">bls_FP512BN.h</a>
+</li>
+<li>BLS_FP512BN_RECOVER_SIGNATURE()
+: <a class="el" href="bls__FP512BN_8h.html#a34a54a52bcc58ff877a99c6ffbaa7eb4">bls_FP512BN.h</a>
+</li>
 <li>BLS_FP512BN_SIGN()
-: <a class="el" href="bls__FP512BN_8h.html#a70a9409a4dda70cd0faa70bd7ed30736">bls_FP512BN.h</a>
+: <a class="el" href="bls__FP512BN_8h.html#abdda5f944531d63ab88279023f662a8f">bls_FP512BN.h</a>
 </li>
 <li>BLS_FP512BN_VERIFY()
-: <a class="el" href="bls__FP512BN_8h.html#a87569f97a06acc6099f197ac27ebe282">bls_FP512BN.h</a>
+: <a class="el" href="bls__FP512BN_8h.html#a526a83b52379b9a84aa14e95ea710ca0">bls_FP512BN.h</a>
 </li>
 <li>BLS_INVALID_G1
-: <a class="el" href="bls256__BLS48_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls256_BLS48.h</a>
-, <a class="el" href="bls__BLS381_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS381.h</a>
-, <a class="el" href="bls__FP256BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_FP256BN.h</a>
-, <a class="el" href="bls__BLS383_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS383.h</a>
-, <a class="el" href="bls__BLS461_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS461.h</a>
-, <a class="el" href="bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_FP512BN.h</a>
+: <a class="el" href="bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_FP512BN.h</a>
 , <a class="el" href="bls__BN254CX_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BN254CX.h</a>
-, <a class="el" href="bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls192_BLS24.h</a>
+, <a class="el" href="bls__FP256BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_FP256BN.h</a>
 , <a class="el" href="bls__BN254_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BN254.h</a>
+, <a class="el" href="bls256__BLS48_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls256_BLS48.h</a>
+, <a class="el" href="bls__BLS383_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS383.h</a>
+, <a class="el" href="bls__BLS381_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS381.h</a>
+, <a class="el" href="bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls192_BLS24.h</a>
+, <a class="el" href="bls__BLS461_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS461.h</a>
 </li>
 <li>BLS_INVALID_G2
-: <a class="el" href="bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS383.h</a>
-, <a class="el" href="bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BN254.h</a>
-, <a class="el" href="bls256__BLS48_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls256_BLS48.h</a>
-, <a class="el" href="bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS461.h</a>
-, <a class="el" href="bls__FP512BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_FP512BN.h</a>
+: <a class="el" href="bls__BLS381_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS381.h</a>
+, <a class="el" href="bls__BN254CX_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BN254CX.h</a>
 , <a class="el" href="bls192__BLS24_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls192_BLS24.h</a>
 , <a class="el" href="bls__FP256BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_FP256BN.h</a>
-, <a class="el" href="bls__BLS381_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS381.h</a>
-, <a class="el" href="bls__BN254CX_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BN254CX.h</a>
+, <a class="el" href="bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BN254.h</a>
+, <a class="el" href="bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS383.h</a>
+, <a class="el" href="bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS461.h</a>
+, <a class="el" href="bls256__BLS48_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls256_BLS48.h</a>
+, <a class="el" href="bls__FP512BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_FP512BN.h</a>
 </li>
 <li>BLS_OK
-: <a class="el" href="bls__BN254_8h.html#a0954a33675757ad87dde21d92a448805">bls_BN254.h</a>
-, <a class="el" href="bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS461.h</a>
-, <a class="el" href="bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805">bls_FP512BN.h</a>
-, <a class="el" href="bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS383.h</a>
-, <a class="el" href="bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805">bls192_BLS24.h</a>
-, <a class="el" href="bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS381.h</a>
-, <a class="el" href="bls256__BLS48_8h.html#a0954a33675757ad87dde21d92a448805">bls256_BLS48.h</a>
+: <a class="el" href="bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805">bls_FP512BN.h</a>
 , <a class="el" href="bls__BN254CX_8h.html#a0954a33675757ad87dde21d92a448805">bls_BN254CX.h</a>
+, <a class="el" href="bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS381.h</a>
+, <a class="el" href="bls__BN254_8h.html#a0954a33675757ad87dde21d92a448805">bls_BN254.h</a>
+, <a class="el" href="bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS461.h</a>
 , <a class="el" href="bls__FP256BN_8h.html#a0954a33675757ad87dde21d92a448805">bls_FP256BN.h</a>
-</li>
-<li>BMASK_1024_28
-: <a class="el" href="big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c">big_1024_28.h</a>
+, <a class="el" href="bls256__BLS48_8h.html#a0954a33675757ad87dde21d92a448805">bls256_BLS48.h</a>
+, <a class="el" href="bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805">bls192_BLS24.h</a>
+, <a class="el" href="bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS383.h</a>
 </li>
 <li>BMASK_1024_58
 : <a class="el" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">big_1024_58.h</a>
 </li>
-<li>BMASK_256_28
-: <a class="el" href="big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967">big_256_28.h</a>
-</li>
-<li>BMASK_256_29
-: <a class="el" href="big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f">big_256_29.h</a>
-</li>
 <li>BMASK_256_56
 : <a class="el" href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">big_256_56.h</a>
 </li>
-<li>BMASK_336_29
-: <a class="el" href="big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f">big_336_29.h</a>
-</li>
 <li>BMASK_336_60
 : <a class="el" href="big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">big_336_60.h</a>
 </li>
-<li>BMASK_384_28
-: <a class="el" href="big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">big_384_28.h</a>
-</li>
-<li>BMASK_384_29
-: <a class="el" href="big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4">big_384_29.h</a>
-</li>
 <li>BMASK_384_56
 : <a class="el" href="big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">big_384_56.h</a>
 </li>
 <li>BMASK_384_58
 : <a class="el" href="big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">big_384_58.h</a>
 </li>
-<li>BMASK_416_29
-: <a class="el" href="big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248">big_416_29.h</a>
-</li>
 <li>BMASK_416_60
 : <a class="el" href="big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">big_416_60.h</a>
 </li>
-<li>BMASK_448_29
-: <a class="el" href="big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6">big_448_29.h</a>
-</li>
 <li>BMASK_448_58
 : <a class="el" href="big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">big_448_58.h</a>
 </li>
-<li>BMASK_464_28
-: <a class="el" href="big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb">big_464_28.h</a>
-</li>
 <li>BMASK_464_60
 : <a class="el" href="big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">big_464_60.h</a>
 </li>
-<li>BMASK_480_29
-: <a class="el" href="big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7">big_480_29.h</a>
-</li>
 <li>BMASK_480_56
 : <a class="el" href="big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">big_480_56.h</a>
 </li>
-<li>BMASK_512_29
-: <a class="el" href="big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">big_512_29.h</a>
-</li>
 <li>BMASK_512_56
 : <a class="el" href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">big_512_56.h</a>
 </li>
 <li>BMASK_512_60
 : <a class="el" href="big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">big_512_60.h</a>
 </li>
-<li>BMASK_528_28
-: <a class="el" href="big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">big_528_28.h</a>
-</li>
 <li>BMASK_528_60
 : <a class="el" href="big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">big_528_60.h</a>
 </li>
-<li>BMASK_560_29
-: <a class="el" href="big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249">big_560_29.h</a>
-</li>
 <li>BMASK_560_58
 : <a class="el" href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">big_560_58.h</a>
 </li>
@@ -6156,7 +3315,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/globals_c.html b/website/static/cdocs/globals_c.html
index 1e4cff6..b662d7e 100644
--- a/website/static/cdocs/globals_c.html
+++ b/website/static/cdocs/globals_c.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: Globals</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 -->
@@ -3481,7 +3484,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/globals_d.html b/website/static/cdocs/globals_d.html
index a5002db..95dd386 100644
--- a/website/static/cdocs/globals_d.html
+++ b/website/static/cdocs/globals_d.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: Globals</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 -->
@@ -64,159 +67,81 @@
 <div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
 
 <h3><a id="index_d"></a>- d -</h3><ul>
-<li>DBIG_1024_28
-: <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">big_1024_28.h</a>
-</li>
 <li>DBIG_1024_58
 : <a class="el" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">big_1024_58.h</a>
 </li>
-<li>DBIG_256_28
-: <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">big_256_28.h</a>
-</li>
-<li>DBIG_256_29
-: <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">big_256_29.h</a>
-</li>
 <li>DBIG_256_56
 : <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">big_256_56.h</a>
 </li>
-<li>DBIG_336_29
-: <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">big_336_29.h</a>
-</li>
 <li>DBIG_336_60
 : <a class="el" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">big_336_60.h</a>
 </li>
-<li>DBIG_384_28
-: <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">big_384_28.h</a>
-</li>
-<li>DBIG_384_29
-: <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">big_384_29.h</a>
-</li>
 <li>DBIG_384_56
 : <a class="el" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">big_384_56.h</a>
 </li>
 <li>DBIG_384_58
 : <a class="el" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">big_384_58.h</a>
 </li>
-<li>DBIG_416_29
-: <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">big_416_29.h</a>
-</li>
 <li>DBIG_416_60
 : <a class="el" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">big_416_60.h</a>
 </li>
-<li>DBIG_448_29
-: <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">big_448_29.h</a>
-</li>
 <li>DBIG_448_58
 : <a class="el" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">big_448_58.h</a>
 </li>
-<li>DBIG_464_28
-: <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">big_464_28.h</a>
-</li>
 <li>DBIG_464_60
 : <a class="el" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">big_464_60.h</a>
 </li>
-<li>DBIG_480_29
-: <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">big_480_29.h</a>
-</li>
 <li>DBIG_480_56
 : <a class="el" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">big_480_56.h</a>
 </li>
-<li>DBIG_512_29
-: <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">big_512_29.h</a>
-</li>
 <li>DBIG_512_56
 : <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">big_512_56.h</a>
 </li>
 <li>DBIG_512_60
 : <a class="el" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">big_512_60.h</a>
 </li>
-<li>DBIG_528_28
-: <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">big_528_28.h</a>
-</li>
 <li>DBIG_528_60
 : <a class="el" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">big_528_60.h</a>
 </li>
-<li>DBIG_560_29
-: <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">big_560_29.h</a>
-</li>
 <li>DBIG_560_58
 : <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">big_560_58.h</a>
 </li>
-<li>DNLEN_1024_28
-: <a class="el" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">big_1024_28.h</a>
-</li>
 <li>DNLEN_1024_58
 : <a class="el" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">big_1024_58.h</a>
 </li>
-<li>DNLEN_256_28
-: <a class="el" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">big_256_28.h</a>
-</li>
-<li>DNLEN_256_29
-: <a class="el" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">big_256_29.h</a>
-</li>
 <li>DNLEN_256_56
 : <a class="el" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">big_256_56.h</a>
 </li>
-<li>DNLEN_336_29
-: <a class="el" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">big_336_29.h</a>
-</li>
 <li>DNLEN_336_60
 : <a class="el" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">big_336_60.h</a>
 </li>
-<li>DNLEN_384_28
-: <a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">big_384_28.h</a>
-</li>
-<li>DNLEN_384_29
-: <a class="el" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">big_384_29.h</a>
-</li>
 <li>DNLEN_384_56
 : <a class="el" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">big_384_56.h</a>
 </li>
 <li>DNLEN_384_58
 : <a class="el" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">big_384_58.h</a>
 </li>
-<li>DNLEN_416_29
-: <a class="el" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">big_416_29.h</a>
-</li>
 <li>DNLEN_416_60
 : <a class="el" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">big_416_60.h</a>
 </li>
-<li>DNLEN_448_29
-: <a class="el" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">big_448_29.h</a>
-</li>
 <li>DNLEN_448_58
 : <a class="el" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">big_448_58.h</a>
 </li>
-<li>DNLEN_464_28
-: <a class="el" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">big_464_28.h</a>
-</li>
 <li>DNLEN_464_60
 : <a class="el" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">big_464_60.h</a>
 </li>
-<li>DNLEN_480_29
-: <a class="el" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">big_480_29.h</a>
-</li>
 <li>DNLEN_480_56
 : <a class="el" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">big_480_56.h</a>
 </li>
-<li>DNLEN_512_29
-: <a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">big_512_29.h</a>
-</li>
 <li>DNLEN_512_56
 : <a class="el" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">big_512_56.h</a>
 </li>
 <li>DNLEN_512_60
 : <a class="el" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">big_512_60.h</a>
 </li>
-<li>DNLEN_528_28
-: <a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">big_528_28.h</a>
-</li>
 <li>DNLEN_528_60
 : <a class="el" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">big_528_60.h</a>
 </li>
-<li>DNLEN_560_29
-: <a class="el" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">big_560_29.h</a>
-</li>
 <li>DNLEN_560_58
 : <a class="el" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">big_560_58.h</a>
 </li>
@@ -226,7 +151,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/globals_defs.html b/website/static/cdocs/globals_defs.html
index 93815c5..9a9ffe2 100644
--- a/website/static/cdocs/globals_defs.html
+++ b/website/static/cdocs/globals_defs.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: Globals</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 -->
@@ -64,81 +67,42 @@
 &#160;
 
 <h3><a id="index_b"></a>- b -</h3><ul>
-<li>BASEBITS_1024_28
-: <a class="el" href="config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823">config_big_1024_28.h</a>
-</li>
 <li>BASEBITS_1024_58
 : <a class="el" href="config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c">config_big_1024_58.h</a>
 </li>
-<li>BASEBITS_256_28
-: <a class="el" href="config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188">config_big_256_28.h</a>
-</li>
-<li>BASEBITS_256_29
-: <a class="el" href="config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333">config_big_256_29.h</a>
-</li>
 <li>BASEBITS_256_56
 : <a class="el" href="config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40">config_big_256_56.h</a>
 </li>
-<li>BASEBITS_336_29
-: <a class="el" href="config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e">config_big_336_29.h</a>
-</li>
 <li>BASEBITS_336_60
 : <a class="el" href="config__big__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988">config_big_336_60.h</a>
 </li>
-<li>BASEBITS_384_28
-: <a class="el" href="config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96">config_big_384_28.h</a>
-</li>
-<li>BASEBITS_384_29
-: <a class="el" href="config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd">config_big_384_29.h</a>
-</li>
 <li>BASEBITS_384_56
 : <a class="el" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">config_big_384_56.h</a>
 </li>
 <li>BASEBITS_384_58
 : <a class="el" href="config__big__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec">config_big_384_58.h</a>
 </li>
-<li>BASEBITS_416_29
-: <a class="el" href="config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e">config_big_416_29.h</a>
-</li>
 <li>BASEBITS_416_60
 : <a class="el" href="config__big__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a">config_big_416_60.h</a>
 </li>
-<li>BASEBITS_448_29
-: <a class="el" href="config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6">config_big_448_29.h</a>
-</li>
 <li>BASEBITS_448_58
 : <a class="el" href="config__big__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9">config_big_448_58.h</a>
 </li>
-<li>BASEBITS_464_28
-: <a class="el" href="config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690">config_big_464_28.h</a>
-</li>
 <li>BASEBITS_464_60
 : <a class="el" href="config__big__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903">config_big_464_60.h</a>
 </li>
-<li>BASEBITS_480_29
-: <a class="el" href="config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14">config_big_480_29.h</a>
-</li>
 <li>BASEBITS_480_56
 : <a class="el" href="config__big__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c">config_big_480_56.h</a>
 </li>
-<li>BASEBITS_512_29
-: <a class="el" href="config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d">config_big_512_29.h</a>
-</li>
 <li>BASEBITS_512_56
 : <a class="el" href="config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3">config_big_512_56.h</a>
 </li>
 <li>BASEBITS_512_60
 : <a class="el" href="config__big__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934">config_big_512_60.h</a>
 </li>
-<li>BASEBITS_528_28
-: <a class="el" href="config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b">config_big_528_28.h</a>
-</li>
 <li>BASEBITS_528_60
 : <a class="el" href="config__big__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad">config_big_528_60.h</a>
 </li>
-<li>BASEBITS_560_29
-: <a class="el" href="config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f">config_big_560_29.h</a>
-</li>
 <li>BASEBITS_560_58
 : <a class="el" href="config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f">config_big_560_58.h</a>
 </li>
@@ -196,81 +160,42 @@
 <li>BGS_FP512BN
 : <a class="el" href="bls__FP512BN_8h.html#acf7e8708a27302422198a2e28f370ada">bls_FP512BN.h</a>
 </li>
-<li>BIGBITS_1024_28
-: <a class="el" href="big__1024__28_8h.html#a5e823eda976231f0b203b47b75115f75">big_1024_28.h</a>
-</li>
 <li>BIGBITS_1024_58
 : <a class="el" href="big__1024__58_8h.html#a65bdfd2b6b38168e8bcd9f1af013c7b5">big_1024_58.h</a>
 </li>
-<li>BIGBITS_256_28
-: <a class="el" href="big__256__28_8h.html#a7ead2232fb4a739ef8f73c3fefd48f29">big_256_28.h</a>
-</li>
-<li>BIGBITS_256_29
-: <a class="el" href="big__256__29_8h.html#a6863374287d6031d9e1d8190b0d87205">big_256_29.h</a>
-</li>
 <li>BIGBITS_256_56
 : <a class="el" href="big__256__56_8h.html#a1a77f9a8aca3f6f0a3a3c95a129c6142">big_256_56.h</a>
 </li>
-<li>BIGBITS_336_29
-: <a class="el" href="big__336__29_8h.html#a387bb8aca1a20d3a37bdc32c5d62fb19">big_336_29.h</a>
-</li>
 <li>BIGBITS_336_60
 : <a class="el" href="big__336__60_8h.html#a3f52e43a01b810e38e5ef9ba558a23cb">big_336_60.h</a>
 </li>
-<li>BIGBITS_384_28
-: <a class="el" href="big__384__28_8h.html#a8f05d26a410dd97379ac2651922a6449">big_384_28.h</a>
-</li>
-<li>BIGBITS_384_29
-: <a class="el" href="big__384__29_8h.html#a5feb1f06130ed84f11090989e07af7b2">big_384_29.h</a>
-</li>
 <li>BIGBITS_384_56
 : <a class="el" href="big__384__56_8h.html#a6e1353243985f68f42cdf9be09b90141">big_384_56.h</a>
 </li>
 <li>BIGBITS_384_58
 : <a class="el" href="big__384__58_8h.html#af101e9b3ede482bfe16e1ddab5bf39bb">big_384_58.h</a>
 </li>
-<li>BIGBITS_416_29
-: <a class="el" href="big__416__29_8h.html#aa20947ce69e7c08ec647e7bfae4640ba">big_416_29.h</a>
-</li>
 <li>BIGBITS_416_60
 : <a class="el" href="big__416__60_8h.html#a9994d8070f1ce0d6ea213808cbd0fd69">big_416_60.h</a>
 </li>
-<li>BIGBITS_448_29
-: <a class="el" href="big__448__29_8h.html#a7a5a3ffd6671b7e3013edefee432cf3d">big_448_29.h</a>
-</li>
 <li>BIGBITS_448_58
 : <a class="el" href="big__448__58_8h.html#a2be308d1a50b450fe8b0d8a87f4bd842">big_448_58.h</a>
 </li>
-<li>BIGBITS_464_28
-: <a class="el" href="big__464__28_8h.html#a321939982219e2b95cfd0896c23b70df">big_464_28.h</a>
-</li>
 <li>BIGBITS_464_60
 : <a class="el" href="big__464__60_8h.html#af7ba4d5ab54089d4e31347acd281e097">big_464_60.h</a>
 </li>
-<li>BIGBITS_480_29
-: <a class="el" href="big__480__29_8h.html#a968e298d329bd9c537cae67bca92ec33">big_480_29.h</a>
-</li>
 <li>BIGBITS_480_56
 : <a class="el" href="big__480__56_8h.html#a54f63b6871b5f0d5d5470ce09667c2e8">big_480_56.h</a>
 </li>
-<li>BIGBITS_512_29
-: <a class="el" href="big__512__29_8h.html#a4ddec2d6c6f7f1609ded4668d1d73c6a">big_512_29.h</a>
-</li>
 <li>BIGBITS_512_56
 : <a class="el" href="big__512__56_8h.html#a0db657df710516e21bc7c3a30ebaca9c">big_512_56.h</a>
 </li>
 <li>BIGBITS_512_60
 : <a class="el" href="big__512__60_8h.html#a4454ac6a7c8674732938e8365996729a">big_512_60.h</a>
 </li>
-<li>BIGBITS_528_28
-: <a class="el" href="big__528__28_8h.html#a0525b6e9fdd66250ad0a082d4b43452c">big_528_28.h</a>
-</li>
 <li>BIGBITS_528_60
 : <a class="el" href="big__528__60_8h.html#ab23dce98483079baad467cb7d98d8edf">big_528_60.h</a>
 </li>
-<li>BIGBITS_560_29
-: <a class="el" href="big__560__29_8h.html#a02bdf4e3336ecd6241c01b103495ca3f">big_560_29.h</a>
-</li>
 <li>BIGBITS_560_58
 : <a class="el" href="big__560__58_8h.html#a485d9ac4165cf3e0b0d471a21c161a89">big_560_58.h</a>
 </li>
@@ -279,120 +204,81 @@
 , <a class="el" href="bls256__BLS48_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls256_BLS48.h</a>
 , <a class="el" href="bls__BLS381_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS381.h</a>
 , <a class="el" href="bls__BLS383_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS383.h</a>
+, <a class="el" href="bls__BLS461_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS461.h</a>
 , <a class="el" href="bls__BN254_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BN254.h</a>
 , <a class="el" href="bls__BN254CX_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BN254CX.h</a>
 , <a class="el" href="bls__FP256BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_FP256BN.h</a>
 , <a class="el" href="bls__FP512BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_FP512BN.h</a>
-, <a class="el" href="bls__BLS461_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8">bls_BLS461.h</a>
 </li>
 <li>BLS_INVALID_G1
-: <a class="el" href="bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls192_BLS24.h</a>
+: <a class="el" href="bls__BN254_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BN254.h</a>
 , <a class="el" href="bls256__BLS48_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls256_BLS48.h</a>
+, <a class="el" href="bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls192_BLS24.h</a>
 , <a class="el" href="bls__BLS381_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS381.h</a>
 , <a class="el" href="bls__BLS383_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS383.h</a>
 , <a class="el" href="bls__BLS461_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BLS461.h</a>
-, <a class="el" href="bls__BN254_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BN254.h</a>
 , <a class="el" href="bls__BN254CX_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_BN254CX.h</a>
-, <a class="el" href="bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_FP512BN.h</a>
 , <a class="el" href="bls__FP256BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_FP256BN.h</a>
+, <a class="el" href="bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a">bls_FP512BN.h</a>
 </li>
 <li>BLS_INVALID_G2
-: <a class="el" href="bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS383.h</a>
-, <a class="el" href="bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BN254.h</a>
-, <a class="el" href="bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS461.h</a>
-, <a class="el" href="bls192__BLS24_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls192_BLS24.h</a>
+: <a class="el" href="bls192__BLS24_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls192_BLS24.h</a>
 , <a class="el" href="bls256__BLS48_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls256_BLS48.h</a>
 , <a class="el" href="bls__BLS381_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS381.h</a>
-, <a class="el" href="bls__FP256BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_FP256BN.h</a>
+, <a class="el" href="bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS383.h</a>
+, <a class="el" href="bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BN254.h</a>
+, <a class="el" href="bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BLS461.h</a>
 , <a class="el" href="bls__FP512BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_FP512BN.h</a>
+, <a class="el" href="bls__FP256BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_FP256BN.h</a>
 , <a class="el" href="bls__BN254CX_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa">bls_BN254CX.h</a>
 </li>
 <li>BLS_OK
 : <a class="el" href="bls__BN254_8h.html#a0954a33675757ad87dde21d92a448805">bls_BN254.h</a>
-, <a class="el" href="bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS383.h</a>
-, <a class="el" href="bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS461.h</a>
-, <a class="el" href="bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805">bls_FP512BN.h</a>
-, <a class="el" href="bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805">bls192_BLS24.h</a>
-, <a class="el" href="bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS381.h</a>
 , <a class="el" href="bls__BN254CX_8h.html#a0954a33675757ad87dde21d92a448805">bls_BN254CX.h</a>
-, <a class="el" href="bls__FP256BN_8h.html#a0954a33675757ad87dde21d92a448805">bls_FP256BN.h</a>
+, <a class="el" href="bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805">bls192_BLS24.h</a>
+, <a class="el" href="bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS461.h</a>
+, <a class="el" href="bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS381.h</a>
+, <a class="el" href="bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805">bls_FP512BN.h</a>
+, <a class="el" href="bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805">bls_BLS383.h</a>
 , <a class="el" href="bls256__BLS48_8h.html#a0954a33675757ad87dde21d92a448805">bls256_BLS48.h</a>
-</li>
-<li>BMASK_1024_28
-: <a class="el" href="big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c">big_1024_28.h</a>
+, <a class="el" href="bls__FP256BN_8h.html#a0954a33675757ad87dde21d92a448805">bls_FP256BN.h</a>
 </li>
 <li>BMASK_1024_58
 : <a class="el" href="big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147">big_1024_58.h</a>
 </li>
-<li>BMASK_256_28
-: <a class="el" href="big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967">big_256_28.h</a>
-</li>
-<li>BMASK_256_29
-: <a class="el" href="big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f">big_256_29.h</a>
-</li>
 <li>BMASK_256_56
 : <a class="el" href="big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae">big_256_56.h</a>
 </li>
-<li>BMASK_336_29
-: <a class="el" href="big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f">big_336_29.h</a>
-</li>
 <li>BMASK_336_60
 : <a class="el" href="big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60">big_336_60.h</a>
 </li>
-<li>BMASK_384_28
-: <a class="el" href="big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644">big_384_28.h</a>
-</li>
-<li>BMASK_384_29
-: <a class="el" href="big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4">big_384_29.h</a>
-</li>
 <li>BMASK_384_56
 : <a class="el" href="big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da">big_384_56.h</a>
 </li>
 <li>BMASK_384_58
 : <a class="el" href="big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8">big_384_58.h</a>
 </li>
-<li>BMASK_416_29
-: <a class="el" href="big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248">big_416_29.h</a>
-</li>
 <li>BMASK_416_60
 : <a class="el" href="big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d">big_416_60.h</a>
 </li>
-<li>BMASK_448_29
-: <a class="el" href="big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6">big_448_29.h</a>
-</li>
 <li>BMASK_448_58
 : <a class="el" href="big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2">big_448_58.h</a>
 </li>
-<li>BMASK_464_28
-: <a class="el" href="big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb">big_464_28.h</a>
-</li>
 <li>BMASK_464_60
 : <a class="el" href="big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0">big_464_60.h</a>
 </li>
-<li>BMASK_480_29
-: <a class="el" href="big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7">big_480_29.h</a>
-</li>
 <li>BMASK_480_56
 : <a class="el" href="big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b">big_480_56.h</a>
 </li>
-<li>BMASK_512_29
-: <a class="el" href="big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d">big_512_29.h</a>
-</li>
 <li>BMASK_512_56
 : <a class="el" href="big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5">big_512_56.h</a>
 </li>
 <li>BMASK_512_60
 : <a class="el" href="big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402">big_512_60.h</a>
 </li>
-<li>BMASK_528_28
-: <a class="el" href="big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626">big_528_28.h</a>
-</li>
 <li>BMASK_528_60
 : <a class="el" href="big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63">big_528_60.h</a>
 </li>
-<li>BMASK_560_29
-: <a class="el" href="big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249">big_560_29.h</a>
-</li>
 <li>BMASK_560_58
 : <a class="el" href="big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663">big_560_58.h</a>
 </li>
@@ -405,7 +291,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/globals_defs_c.html b/website/static/cdocs/globals_defs_c.html
index d83312e..2a3b750 100644
--- a/website/static/cdocs/globals_defs_c.html
+++ b/website/static/cdocs/globals_defs_c.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: Globals</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 -->
@@ -76,7 +79,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/globals_defs_d.html b/website/static/cdocs/globals_defs_d.html
index aa1ee05..a76c4b4 100644
--- a/website/static/cdocs/globals_defs_d.html
+++ b/website/static/cdocs/globals_defs_d.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: Globals</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 -->
@@ -64,81 +67,42 @@
 &#160;
 
 <h3><a id="index_d"></a>- d -</h3><ul>
-<li>DNLEN_1024_28
-: <a class="el" href="big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81">big_1024_28.h</a>
-</li>
 <li>DNLEN_1024_58
 : <a class="el" href="big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba">big_1024_58.h</a>
 </li>
-<li>DNLEN_256_28
-: <a class="el" href="big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e">big_256_28.h</a>
-</li>
-<li>DNLEN_256_29
-: <a class="el" href="big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627">big_256_29.h</a>
-</li>
 <li>DNLEN_256_56
 : <a class="el" href="big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437">big_256_56.h</a>
 </li>
-<li>DNLEN_336_29
-: <a class="el" href="big__336__29_8h.html#a505c0645884488f027436579943cf995">big_336_29.h</a>
-</li>
 <li>DNLEN_336_60
 : <a class="el" href="big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8">big_336_60.h</a>
 </li>
-<li>DNLEN_384_28
-: <a class="el" href="big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce">big_384_28.h</a>
-</li>
-<li>DNLEN_384_29
-: <a class="el" href="big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068">big_384_29.h</a>
-</li>
 <li>DNLEN_384_56
 : <a class="el" href="big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22">big_384_56.h</a>
 </li>
 <li>DNLEN_384_58
 : <a class="el" href="big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8">big_384_58.h</a>
 </li>
-<li>DNLEN_416_29
-: <a class="el" href="big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da">big_416_29.h</a>
-</li>
 <li>DNLEN_416_60
 : <a class="el" href="big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c">big_416_60.h</a>
 </li>
-<li>DNLEN_448_29
-: <a class="el" href="big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c">big_448_29.h</a>
-</li>
 <li>DNLEN_448_58
 : <a class="el" href="big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739">big_448_58.h</a>
 </li>
-<li>DNLEN_464_28
-: <a class="el" href="big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047">big_464_28.h</a>
-</li>
 <li>DNLEN_464_60
 : <a class="el" href="big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755">big_464_60.h</a>
 </li>
-<li>DNLEN_480_29
-: <a class="el" href="big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5">big_480_29.h</a>
-</li>
 <li>DNLEN_480_56
 : <a class="el" href="big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28">big_480_56.h</a>
 </li>
-<li>DNLEN_512_29
-: <a class="el" href="big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd">big_512_29.h</a>
-</li>
 <li>DNLEN_512_56
 : <a class="el" href="big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b">big_512_56.h</a>
 </li>
 <li>DNLEN_512_60
 : <a class="el" href="big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342">big_512_60.h</a>
 </li>
-<li>DNLEN_528_28
-: <a class="el" href="big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2">big_528_28.h</a>
-</li>
 <li>DNLEN_528_60
 : <a class="el" href="big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3">big_528_60.h</a>
 </li>
-<li>DNLEN_560_29
-: <a class="el" href="big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626">big_560_29.h</a>
-</li>
 <li>DNLEN_560_58
 : <a class="el" href="big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532">big_560_58.h</a>
 </li>
@@ -148,7 +112,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/globals_defs_e.html b/website/static/cdocs/globals_defs_e.html
index 3a1c0aa..390a94c 100644
--- a/website/static/cdocs/globals_defs_e.html
+++ b/website/static/cdocs/globals_defs_e.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: Globals</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 -->
@@ -338,7 +341,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/globals_defs_f.html b/website/static/cdocs/globals_defs_f.html
index 44e272d..9a6456a 100644
--- a/website/static/cdocs/globals_defs_f.html
+++ b/website/static/cdocs/globals_defs_f.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: Globals</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 -->
@@ -142,13 +145,19 @@
 <li>FFLEN_4096
 : <a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">config_ff_4096.h</a>
 </li>
+<li>FS_2048
+: <a class="el" href="paillier_8h.html#ae3ce9abc99cec679346a7d38bed96d9b">paillier.h</a>
+</li>
+<li>FS_4096
+: <a class="el" href="paillier_8h.html#a8e7c673251fe80bcf47e9bb26674cd97">paillier.h</a>
+</li>
 </ul>
 </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/globals_defs_h.html b/website/static/cdocs/globals_defs_h.html
index 2af9c03..e94315c 100644
--- a/website/static/cdocs/globals_defs_h.html
+++ b/website/static/cdocs/globals_defs_h.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: Globals</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 -->
@@ -73,81 +76,42 @@
 <li>HASH_TYPE_RSA_4096
 : <a class="el" href="rsa__4096_8h.html#acf16200cf44f099048f8a6e26ebdb0f0">rsa_4096.h</a>
 </li>
-<li>HBITS_1024_28
-: <a class="el" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">big_1024_28.h</a>
-</li>
 <li>HBITS_1024_58
 : <a class="el" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">big_1024_58.h</a>
 </li>
-<li>HBITS_256_28
-: <a class="el" href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">big_256_28.h</a>
-</li>
-<li>HBITS_256_29
-: <a class="el" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">big_256_29.h</a>
-</li>
 <li>HBITS_256_56
 : <a class="el" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">big_256_56.h</a>
 </li>
-<li>HBITS_336_29
-: <a class="el" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">big_336_29.h</a>
-</li>
 <li>HBITS_336_60
 : <a class="el" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">big_336_60.h</a>
 </li>
-<li>HBITS_384_28
-: <a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">big_384_28.h</a>
-</li>
-<li>HBITS_384_29
-: <a class="el" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">big_384_29.h</a>
-</li>
 <li>HBITS_384_56
 : <a class="el" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">big_384_56.h</a>
 </li>
 <li>HBITS_384_58
 : <a class="el" href="big__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">big_384_58.h</a>
 </li>
-<li>HBITS_416_29
-: <a class="el" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">big_416_29.h</a>
-</li>
 <li>HBITS_416_60
 : <a class="el" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">big_416_60.h</a>
 </li>
-<li>HBITS_448_29
-: <a class="el" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">big_448_29.h</a>
-</li>
 <li>HBITS_448_58
 : <a class="el" href="big__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">big_448_58.h</a>
 </li>
-<li>HBITS_464_28
-: <a class="el" href="big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">big_464_28.h</a>
-</li>
 <li>HBITS_464_60
 : <a class="el" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">big_464_60.h</a>
 </li>
-<li>HBITS_480_29
-: <a class="el" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">big_480_29.h</a>
-</li>
 <li>HBITS_480_56
 : <a class="el" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">big_480_56.h</a>
 </li>
-<li>HBITS_512_29
-: <a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">big_512_29.h</a>
-</li>
 <li>HBITS_512_56
 : <a class="el" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">big_512_56.h</a>
 </li>
 <li>HBITS_512_60
 : <a class="el" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">big_512_60.h</a>
 </li>
-<li>HBITS_528_28
-: <a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">big_528_28.h</a>
-</li>
 <li>HBITS_528_60
 : <a class="el" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">big_528_60.h</a>
 </li>
-<li>HBITS_560_29
-: <a class="el" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">big_560_29.h</a>
-</li>
 <li>HBITS_560_58
 : <a class="el" href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">big_560_58.h</a>
 </li>
@@ -160,81 +124,48 @@
 <li>HFLEN_4096
 : <a class="el" href="ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11">ff_4096.h</a>
 </li>
-<li>HMASK_1024_28
-: <a class="el" href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">big_1024_28.h</a>
+<li>HFS_2048
+: <a class="el" href="paillier_8h.html#af12daa3ccdbe8c973ca455b53f58f13b">paillier.h</a>
+</li>
+<li>HFS_4096
+: <a class="el" href="paillier_8h.html#a1f681610ea37533def54ef7ef54ccb92">paillier.h</a>
 </li>
 <li>HMASK_1024_58
 : <a class="el" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">big_1024_58.h</a>
 </li>
-<li>HMASK_256_28
-: <a class="el" href="big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">big_256_28.h</a>
-</li>
-<li>HMASK_256_29
-: <a class="el" href="big__256__29_8h.html#a9873557170d0afc86c18f63c45658217">big_256_29.h</a>
-</li>
 <li>HMASK_256_56
 : <a class="el" href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">big_256_56.h</a>
 </li>
-<li>HMASK_336_29
-: <a class="el" href="big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">big_336_29.h</a>
-</li>
 <li>HMASK_336_60
 : <a class="el" href="big__336__60_8h.html#a11943313ab42b453d55d266c55c51518">big_336_60.h</a>
 </li>
-<li>HMASK_384_28
-: <a class="el" href="big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">big_384_28.h</a>
-</li>
-<li>HMASK_384_29
-: <a class="el" href="big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">big_384_29.h</a>
-</li>
 <li>HMASK_384_56
 : <a class="el" href="big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">big_384_56.h</a>
 </li>
 <li>HMASK_384_58
 : <a class="el" href="big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">big_384_58.h</a>
 </li>
-<li>HMASK_416_29
-: <a class="el" href="big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">big_416_29.h</a>
-</li>
 <li>HMASK_416_60
 : <a class="el" href="big__416__60_8h.html#aa64a4f8541df59159943cce57127b658">big_416_60.h</a>
 </li>
-<li>HMASK_448_29
-: <a class="el" href="big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">big_448_29.h</a>
-</li>
 <li>HMASK_448_58
 : <a class="el" href="big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">big_448_58.h</a>
 </li>
-<li>HMASK_464_28
-: <a class="el" href="big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">big_464_28.h</a>
-</li>
 <li>HMASK_464_60
 : <a class="el" href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">big_464_60.h</a>
 </li>
-<li>HMASK_480_29
-: <a class="el" href="big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">big_480_29.h</a>
-</li>
 <li>HMASK_480_56
 : <a class="el" href="big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">big_480_56.h</a>
 </li>
-<li>HMASK_512_29
-: <a class="el" href="big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">big_512_29.h</a>
-</li>
 <li>HMASK_512_56
 : <a class="el" href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">big_512_56.h</a>
 </li>
 <li>HMASK_512_60
 : <a class="el" href="big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">big_512_60.h</a>
 </li>
-<li>HMASK_528_28
-: <a class="el" href="big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">big_528_28.h</a>
-</li>
 <li>HMASK_528_60
 : <a class="el" href="big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">big_528_60.h</a>
 </li>
-<li>HMASK_560_29
-: <a class="el" href="big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">big_560_29.h</a>
-</li>
 <li>HMASK_560_58
 : <a class="el" href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">big_560_58.h</a>
 </li>
@@ -244,7 +175,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/globals_defs_m.html b/website/static/cdocs/globals_defs_m.html
index 57b5e38..112999d 100644
--- a/website/static/cdocs/globals_defs_m.html
+++ b/website/static/cdocs/globals_defs_m.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: Globals</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 -->
@@ -185,125 +188,86 @@
 <li>MODBITS_SECP256K1
 : <a class="el" href="fp__SECP256K1_8h.html#a7821992562b3f74c125bb8c7e8e4da19">fp_SECP256K1.h</a>
 </li>
-<li>MODBYTES_1024_28
-: <a class="el" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">config_big_1024_28.h</a>
-</li>
 <li>MODBYTES_1024_58
 : <a class="el" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">config_big_1024_58.h</a>
 </li>
-<li>MODBYTES_256_28
-: <a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">config_big_256_28.h</a>
-</li>
-<li>MODBYTES_256_29
-: <a class="el" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">config_big_256_29.h</a>
-</li>
 <li>MODBYTES_256_56
 : <a class="el" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">config_big_256_56.h</a>
 </li>
-<li>MODBYTES_336_29
-: <a class="el" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">config_big_336_29.h</a>
-</li>
 <li>MODBYTES_336_60
 : <a class="el" href="config__big__336__60_8h.html#a95eaf6b85922074e48a30404bc717047">config_big_336_60.h</a>
 </li>
-<li>MODBYTES_384_28
-: <a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">config_big_384_28.h</a>
-</li>
-<li>MODBYTES_384_29
-: <a class="el" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">config_big_384_29.h</a>
-</li>
 <li>MODBYTES_384_56
 : <a class="el" href="config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d">config_big_384_56.h</a>
 </li>
 <li>MODBYTES_384_58
 : <a class="el" href="config__big__384__58_8h.html#a231158cd33825cff286c2406336e0224">config_big_384_58.h</a>
 </li>
-<li>MODBYTES_416_29
-: <a class="el" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">config_big_416_29.h</a>
-</li>
 <li>MODBYTES_416_60
 : <a class="el" href="config__big__416__60_8h.html#aeb3a2204ca57d153e2c4ee83ba1b340a">config_big_416_60.h</a>
 </li>
-<li>MODBYTES_448_29
-: <a class="el" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">config_big_448_29.h</a>
-</li>
 <li>MODBYTES_448_58
 : <a class="el" href="config__big__448__58_8h.html#a60dcc058a132176c334a2d3647c8dfa8">config_big_448_58.h</a>
 </li>
-<li>MODBYTES_464_28
-: <a class="el" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">config_big_464_28.h</a>
-</li>
 <li>MODBYTES_464_60
 : <a class="el" href="config__big__464__60_8h.html#a442cabbdb66ae413e2c26865230cf955">config_big_464_60.h</a>
 </li>
-<li>MODBYTES_480_29
-: <a class="el" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">config_big_480_29.h</a>
-</li>
 <li>MODBYTES_480_56
 : <a class="el" href="config__big__480__56_8h.html#a191ec4881a360e5cfd3a943c8861961d">config_big_480_56.h</a>
 </li>
-<li>MODBYTES_512_29
-: <a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">config_big_512_29.h</a>
-</li>
 <li>MODBYTES_512_56
 : <a class="el" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">config_big_512_56.h</a>
 </li>
 <li>MODBYTES_512_60
 : <a class="el" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">config_big_512_60.h</a>
 </li>
-<li>MODBYTES_528_28
-: <a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">config_big_528_28.h</a>
-</li>
 <li>MODBYTES_528_60
 : <a class="el" href="config__big__528__60_8h.html#a49e3aed3f2be5bc29bf59dc49c05cd6d">config_big_528_60.h</a>
 </li>
-<li>MODBYTES_560_29
-: <a class="el" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">config_big_560_29.h</a>
-</li>
 <li>MODBYTES_560_58
 : <a class="el" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">config_big_560_58.h</a>
 </li>
 <li>MPIN_BAD_PIN
-: <a class="el" href="mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin256_BLS48.h</a>
-, <a class="el" href="mpin__BLS461_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS461.h</a>
-, <a class="el" href="mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin192_BLS24.h</a>
+: <a class="el" href="mpin__BN254_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BN254.h</a>
 , <a class="el" href="mpin__BLS381_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS381.h</a>
+, <a class="el" href="mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin192_BLS24.h</a>
+, <a class="el" href="mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin256_BLS48.h</a>
 , <a class="el" href="mpin__BLS383_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS383.h</a>
-, <a class="el" href="mpin__BN254CX_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BN254CX.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_FP256BN.h</a>
+, <a class="el" href="mpin__BN254CX_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BN254CX.h</a>
+, <a class="el" href="mpin__BLS461_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS461.h</a>
 , <a class="el" href="mpin__FP512BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_FP512BN.h</a>
-, <a class="el" href="mpin__BN254_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BN254.h</a>
 </li>
 <li>MPIN_INVALID_POINT
-: <a class="el" href="mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS383.h</a>
-, <a class="el" href="mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BN254.h</a>
+: <a class="el" href="mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_FP512BN.h</a>
+, <a class="el" href="mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin192_BLS24.h</a>
+, <a class="el" href="mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS381.h</a>
+, <a class="el" href="mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS383.h</a>
+, <a class="el" href="mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS461.h</a>
 , <a class="el" href="mpin__BN254CX_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BN254CX.h</a>
 , <a class="el" href="mpin256__BLS48_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin256_BLS48.h</a>
-, <a class="el" href="mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS461.h</a>
-, <a class="el" href="mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin192_BLS24.h</a>
+, <a class="el" href="mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BN254.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_FP256BN.h</a>
-, <a class="el" href="mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS381.h</a>
-, <a class="el" href="mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_FP512BN.h</a>
 </li>
 <li>MPIN_OK
-: <a class="el" href="mpin__BN254_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254.h</a>
-, <a class="el" href="mpin256__BLS48_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin256_BLS48.h</a>
-, <a class="el" href="mpin__FP512BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_FP512BN.h</a>
-, <a class="el" href="mpin__BLS461_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS461.h</a>
-, <a class="el" href="mpin__BN254CX_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254CX.h</a>
+: <a class="el" href="mpin__BLS383_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS383.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_FP256BN.h</a>
-, <a class="el" href="mpin192__BLS24_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin192_BLS24.h</a>
 , <a class="el" href="mpin__BLS381_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS381.h</a>
-, <a class="el" href="mpin__BLS383_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS383.h</a>
+, <a class="el" href="mpin__BLS461_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS461.h</a>
+, <a class="el" href="mpin192__BLS24_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin192_BLS24.h</a>
+, <a class="el" href="mpin__BN254CX_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254CX.h</a>
+, <a class="el" href="mpin256__BLS48_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin256_BLS48.h</a>
+, <a class="el" href="mpin__BN254_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254.h</a>
+, <a class="el" href="mpin__FP512BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_FP512BN.h</a>
 </li>
 <li>MPIN_PAS
-: <a class="el" href="mpin__BLS461_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS461.h</a>
-, <a class="el" href="mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS383.h</a>
-, <a class="el" href="mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BN254.h</a>
-, <a class="el" href="mpin__BN254CX_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BN254CX.h</a>
-, <a class="el" href="mpin__FP256BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_FP256BN.h</a>
-, <a class="el" href="mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS381.h</a>
+: <a class="el" href="mpin__BN254CX_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BN254CX.h</a>
 , <a class="el" href="mpin__FP512BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_FP512BN.h</a>
+, <a class="el" href="mpin__BLS461_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS461.h</a>
+, <a class="el" href="mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BN254.h</a>
+, <a class="el" href="mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS381.h</a>
+, <a class="el" href="mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS383.h</a>
+, <a class="el" href="mpin__FP256BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_FP256BN.h</a>
 </li>
 </ul>
 </div><!-- contents -->
@@ -311,7 +275,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/globals_defs_n.html b/website/static/cdocs/globals_defs_n.html
index 1bb5080..40ef455 100644
--- a/website/static/cdocs/globals_defs_n.html
+++ b/website/static/cdocs/globals_defs_n.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: Globals</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 -->
@@ -64,159 +67,81 @@
 &#160;
 
 <h3><a id="index_n"></a>- n -</h3><ul>
-<li>NEXCESS_1024_28
-: <a class="el" href="big__1024__28_8h.html#a69f667152c7fff6cad4a64eaaf8a21da">big_1024_28.h</a>
-</li>
 <li>NEXCESS_1024_58
 : <a class="el" href="big__1024__58_8h.html#a6d05e6d3b558714d70318f38f704ce6d">big_1024_58.h</a>
 </li>
-<li>NEXCESS_256_28
-: <a class="el" href="big__256__28_8h.html#a1fd6315e4e0763ca6b2b12f38c902a57">big_256_28.h</a>
-</li>
-<li>NEXCESS_256_29
-: <a class="el" href="big__256__29_8h.html#a3211c1a2e191826e47948c6967f688ab">big_256_29.h</a>
-</li>
 <li>NEXCESS_256_56
 : <a class="el" href="big__256__56_8h.html#abb2364526460e9b2121ae38a6bd46944">big_256_56.h</a>
 </li>
-<li>NEXCESS_336_29
-: <a class="el" href="big__336__29_8h.html#a07f6d3a4d4c0bd5724e65181ab517d2c">big_336_29.h</a>
-</li>
 <li>NEXCESS_336_60
 : <a class="el" href="big__336__60_8h.html#ae3e8977ecd7ecde394e2b4aa9e632dfb">big_336_60.h</a>
 </li>
-<li>NEXCESS_384_28
-: <a class="el" href="big__384__28_8h.html#a8fd2df8afe92c49d115a5fc91d4deb59">big_384_28.h</a>
-</li>
-<li>NEXCESS_384_29
-: <a class="el" href="big__384__29_8h.html#a0eb3ec057af21eb8c5e402134bda3fbb">big_384_29.h</a>
-</li>
 <li>NEXCESS_384_56
 : <a class="el" href="big__384__56_8h.html#a5a6ef8568e207c971f9c23b06673b778">big_384_56.h</a>
 </li>
 <li>NEXCESS_384_58
 : <a class="el" href="big__384__58_8h.html#af4327ee14410cfee8eb9f247e40cd284">big_384_58.h</a>
 </li>
-<li>NEXCESS_416_29
-: <a class="el" href="big__416__29_8h.html#a0da12b741692af75253ccfe8992b197e">big_416_29.h</a>
-</li>
 <li>NEXCESS_416_60
 : <a class="el" href="big__416__60_8h.html#a8876ed3c4e97b21fb7392a856bd41c70">big_416_60.h</a>
 </li>
-<li>NEXCESS_448_29
-: <a class="el" href="big__448__29_8h.html#a2a565018109ce03e9c7f6c2225b7bfd8">big_448_29.h</a>
-</li>
 <li>NEXCESS_448_58
 : <a class="el" href="big__448__58_8h.html#a86ae103736d698ad9e58d2b963ad64fe">big_448_58.h</a>
 </li>
-<li>NEXCESS_464_28
-: <a class="el" href="big__464__28_8h.html#a46960fefb33fff4a60aa0dcf9525c88d">big_464_28.h</a>
-</li>
 <li>NEXCESS_464_60
 : <a class="el" href="big__464__60_8h.html#ac448e22eed8e2d022de02638385fd116">big_464_60.h</a>
 </li>
-<li>NEXCESS_480_29
-: <a class="el" href="big__480__29_8h.html#ab8ca0388c031f3baa2225a98dbb2cc0a">big_480_29.h</a>
-</li>
 <li>NEXCESS_480_56
 : <a class="el" href="big__480__56_8h.html#ab0b2554d6a56132dfed86a30044f6b3a">big_480_56.h</a>
 </li>
-<li>NEXCESS_512_29
-: <a class="el" href="big__512__29_8h.html#abbb65ff3dcf6f8c01ad07af79c8aed5a">big_512_29.h</a>
-</li>
 <li>NEXCESS_512_56
 : <a class="el" href="big__512__56_8h.html#a04df0e72fd01b043bc75136f55dddefa">big_512_56.h</a>
 </li>
 <li>NEXCESS_512_60
 : <a class="el" href="big__512__60_8h.html#a5708fee15b225da579de35fc1b89ca67">big_512_60.h</a>
 </li>
-<li>NEXCESS_528_28
-: <a class="el" href="big__528__28_8h.html#a2b0456920d6877c24ced651bc6ff5617">big_528_28.h</a>
-</li>
 <li>NEXCESS_528_60
 : <a class="el" href="big__528__60_8h.html#acd57cc9b3fb3e357ef8e50b6c7210c07">big_528_60.h</a>
 </li>
-<li>NEXCESS_560_29
-: <a class="el" href="big__560__29_8h.html#af547bb109561c1676dd7fa6d28c4c56c">big_560_29.h</a>
-</li>
 <li>NEXCESS_560_58
 : <a class="el" href="big__560__58_8h.html#a8c82fbf779b6b62aef7e61f30b6b59e5">big_560_58.h</a>
 </li>
-<li>NLEN_1024_28
-: <a class="el" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">big_1024_28.h</a>
-</li>
 <li>NLEN_1024_58
 : <a class="el" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">big_1024_58.h</a>
 </li>
-<li>NLEN_256_28
-: <a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">big_256_28.h</a>
-</li>
-<li>NLEN_256_29
-: <a class="el" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">big_256_29.h</a>
-</li>
 <li>NLEN_256_56
 : <a class="el" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">big_256_56.h</a>
 </li>
-<li>NLEN_336_29
-: <a class="el" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">big_336_29.h</a>
-</li>
 <li>NLEN_336_60
 : <a class="el" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">big_336_60.h</a>
 </li>
-<li>NLEN_384_28
-: <a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">big_384_28.h</a>
-</li>
-<li>NLEN_384_29
-: <a class="el" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">big_384_29.h</a>
-</li>
 <li>NLEN_384_56
 : <a class="el" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">big_384_56.h</a>
 </li>
 <li>NLEN_384_58
 : <a class="el" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">big_384_58.h</a>
 </li>
-<li>NLEN_416_29
-: <a class="el" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">big_416_29.h</a>
-</li>
 <li>NLEN_416_60
 : <a class="el" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">big_416_60.h</a>
 </li>
-<li>NLEN_448_29
-: <a class="el" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">big_448_29.h</a>
-</li>
 <li>NLEN_448_58
 : <a class="el" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">big_448_58.h</a>
 </li>
-<li>NLEN_464_28
-: <a class="el" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">big_464_28.h</a>
-</li>
 <li>NLEN_464_60
 : <a class="el" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">big_464_60.h</a>
 </li>
-<li>NLEN_480_29
-: <a class="el" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">big_480_29.h</a>
-</li>
 <li>NLEN_480_56
 : <a class="el" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">big_480_56.h</a>
 </li>
-<li>NLEN_512_29
-: <a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">big_512_29.h</a>
-</li>
 <li>NLEN_512_56
 : <a class="el" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">big_512_56.h</a>
 </li>
 <li>NLEN_512_60
 : <a class="el" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">big_512_60.h</a>
 </li>
-<li>NLEN_528_28
-: <a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">big_528_28.h</a>
-</li>
 <li>NLEN_528_60
 : <a class="el" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">big_528_60.h</a>
 </li>
-<li>NLEN_560_29
-: <a class="el" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">big_560_29.h</a>
-</li>
 <li>NLEN_560_58
 : <a class="el" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">big_560_58.h</a>
 </li>
@@ -226,7 +151,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/globals_defs_o.html b/website/static/cdocs/globals_defs_o.html
index 95fb642..db38890 100644
--- a/website/static/cdocs/globals_defs_o.html
+++ b/website/static/cdocs/globals_defs_o.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: Globals</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 -->
@@ -139,7 +142,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/globals_defs_p.html b/website/static/cdocs/globals_defs_p.html
index eb3663a..15d0605 100644
--- a/website/static/cdocs/globals_defs_p.html
+++ b/website/static/cdocs/globals_defs_p.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: Globals</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 -->
@@ -193,7 +196,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/globals_defs_r.html b/website/static/cdocs/globals_defs_r.html
index f3d0e20..069b86b 100644
--- a/website/static/cdocs/globals_defs_r.html
+++ b/website/static/cdocs/globals_defs_r.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: Globals</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 -->
@@ -79,7 +82,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/globals_defs_s.html b/website/static/cdocs/globals_defs_s.html
index affd883..cb28a6c 100644
--- a/website/static/cdocs/globals_defs_s.html
+++ b/website/static/cdocs/globals_defs_s.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: Globals</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 -->
@@ -82,7 +85,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/globals_defs_t.html b/website/static/cdocs/globals_defs_t.html
index 49af5e7..98e4777 100644
--- a/website/static/cdocs/globals_defs_t.html
+++ b/website/static/cdocs/globals_defs_t.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: Globals</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 -->
@@ -220,7 +223,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/globals_defs_u.html b/website/static/cdocs/globals_defs_u.html
index ddc669e..8550bf0 100644
--- a/website/static/cdocs/globals_defs_u.html
+++ b/website/static/cdocs/globals_defs_u.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: Globals</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 -->
@@ -79,7 +82,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/globals_defs_w.html b/website/static/cdocs/globals_defs_w.html
index bdc112e..d30b744 100644
--- a/website/static/cdocs/globals_defs_w.html
+++ b/website/static/cdocs/globals_defs_w.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: Globals</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 -->
@@ -146,7 +149,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/globals_e.html b/website/static/cdocs/globals_e.html
index cb47eb9..4a6eb3a 100644
--- a/website/static/cdocs/globals_e.html
+++ b/website/static/cdocs/globals_e.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: Globals</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 -->
@@ -3215,7 +3218,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/globals_f.html b/website/static/cdocs/globals_f.html
index f5566bc..7b674ee 100644
--- a/website/static/cdocs/globals_f.html
+++ b/website/static/cdocs/globals_f.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: Globals</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 -->
@@ -145,6 +148,9 @@
 <li>FF_2048_copy()
 : <a class="el" href="ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6">ff_2048.h</a>
 </li>
+<li>FF_2048_crt()
+: <a class="el" href="ff__2048_8h.html#af06da89f60cc5dd4f4944aab876e9721">ff_2048.h</a>
+</li>
 <li>FF_2048_dec()
 : <a class="el" href="ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f">ff_2048.h</a>
 </li>
@@ -160,6 +166,9 @@
 <li>FF_2048_init()
 : <a class="el" href="ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3">ff_2048.h</a>
 </li>
+<li>FF_2048_invmod2m()
+: <a class="el" href="ff__2048_8h.html#aeb5d9d16c4bbfe021b76690a198df7ed">ff_2048.h</a>
+</li>
 <li>FF_2048_invmodp()
 : <a class="el" href="ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9">ff_2048.h</a>
 </li>
@@ -170,7 +179,7 @@
 : <a class="el" href="ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89">ff_2048.h</a>
 </li>
 <li>FF_2048_mod()
-: <a class="el" href="ff__2048_8h.html#a7ed651a772be1e7c644d4153e67574f3">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#afbae12c8d55508641cbdbda870bb9d05">ff_2048.h</a>
 </li>
 <li>FF_2048_mul()
 : <a class="el" href="ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90">ff_2048.h</a>
@@ -188,13 +197,13 @@
 : <a class="el" href="ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea">ff_2048.h</a>
 </li>
 <li>FF_2048_pow()
-: <a class="el" href="ff__2048_8h.html#a7764e294274140465a4676717677f6b6">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#a57054f9061450cba4235fbc6b03e8bb9">ff_2048.h</a>
 </li>
 <li>FF_2048_pow2()
 : <a class="el" href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">ff_2048.h</a>
 </li>
 <li>FF_2048_power()
-: <a class="el" href="ff__2048_8h.html#a8b87d4ad585cbfaaeadca3d586ffb05a">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#a0bd5964bb4460e0a10949500b58ac472">ff_2048.h</a>
 </li>
 <li>FF_2048_prime()
 : <a class="el" href="ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242">ff_2048.h</a>
@@ -215,10 +224,13 @@
 : <a class="el" href="ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836">ff_2048.h</a>
 </li>
 <li>FF_2048_skpow()
-: <a class="el" href="ff__2048_8h.html#a2789a44182bc8d1fb91fd048a23361b9">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#ab736578e7b655b60101325b7d0e79065">ff_2048.h</a>
+</li>
+<li>FF_2048_skpow2()
+: <a class="el" href="ff__2048_8h.html#a0b3e4f7ee1099043241031cd8426a23b">ff_2048.h</a>
 </li>
 <li>FF_2048_skspow()
-: <a class="el" href="ff__2048_8h.html#acadc23a6f6c053b971d7afaf121d7196">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#ab3081cf68191fa919f374993a02c5014">ff_2048.h</a>
 </li>
 <li>FF_2048_sqr()
 : <a class="el" href="ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f">ff_2048.h</a>
@@ -244,6 +256,9 @@
 <li>FF_3072_copy()
 : <a class="el" href="ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1">ff_3072.h</a>
 </li>
+<li>FF_3072_crt()
+: <a class="el" href="ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea">ff_3072.h</a>
+</li>
 <li>FF_3072_dec()
 : <a class="el" href="ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab">ff_3072.h</a>
 </li>
@@ -259,6 +274,9 @@
 <li>FF_3072_init()
 : <a class="el" href="ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88">ff_3072.h</a>
 </li>
+<li>FF_3072_invmod2m()
+: <a class="el" href="ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a">ff_3072.h</a>
+</li>
 <li>FF_3072_invmodp()
 : <a class="el" href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">ff_3072.h</a>
 </li>
@@ -269,7 +287,7 @@
 : <a class="el" href="ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5">ff_3072.h</a>
 </li>
 <li>FF_3072_mod()
-: <a class="el" href="ff__3072_8h.html#af06a6739f1c0bb51f0cd9781b8ef1792">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852">ff_3072.h</a>
 </li>
 <li>FF_3072_mul()
 : <a class="el" href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">ff_3072.h</a>
@@ -287,13 +305,13 @@
 : <a class="el" href="ff__3072_8h.html#a134652d691699256b947e50877b61cf9">ff_3072.h</a>
 </li>
 <li>FF_3072_pow()
-: <a class="el" href="ff__3072_8h.html#a6b7a3bbd385227b9c4292babb0ab6469">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b">ff_3072.h</a>
 </li>
 <li>FF_3072_pow2()
 : <a class="el" href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">ff_3072.h</a>
 </li>
 <li>FF_3072_power()
-: <a class="el" href="ff__3072_8h.html#af854663f5413b0a941c83fe19a06d506">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91">ff_3072.h</a>
 </li>
 <li>FF_3072_prime()
 : <a class="el" href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">ff_3072.h</a>
@@ -314,10 +332,13 @@
 : <a class="el" href="ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b">ff_3072.h</a>
 </li>
 <li>FF_3072_skpow()
-: <a class="el" href="ff__3072_8h.html#a1998c3c4c38a3f46997b1243b53b4481">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa">ff_3072.h</a>
+</li>
+<li>FF_3072_skpow2()
+: <a class="el" href="ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe">ff_3072.h</a>
 </li>
 <li>FF_3072_skspow()
-: <a class="el" href="ff__3072_8h.html#a381608fd407d688c2387f8597916f3ac">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c">ff_3072.h</a>
 </li>
 <li>FF_3072_sqr()
 : <a class="el" href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">ff_3072.h</a>
@@ -343,6 +364,9 @@
 <li>FF_4096_copy()
 : <a class="el" href="ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef">ff_4096.h</a>
 </li>
+<li>FF_4096_crt()
+: <a class="el" href="ff__4096_8h.html#a1a06ae9c3226295b796b318746e19e21">ff_4096.h</a>
+</li>
 <li>FF_4096_dec()
 : <a class="el" href="ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0">ff_4096.h</a>
 </li>
@@ -358,6 +382,9 @@
 <li>FF_4096_init()
 : <a class="el" href="ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86">ff_4096.h</a>
 </li>
+<li>FF_4096_invmod2m()
+: <a class="el" href="ff__4096_8h.html#ae25e81829ee9ee3718606b771c6bddbe">ff_4096.h</a>
+</li>
 <li>FF_4096_invmodp()
 : <a class="el" href="ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195">ff_4096.h</a>
 </li>
@@ -368,7 +395,7 @@
 : <a class="el" href="ff__4096_8h.html#a370584bba01616d2f9183f45a9843892">ff_4096.h</a>
 </li>
 <li>FF_4096_mod()
-: <a class="el" href="ff__4096_8h.html#a178303ff977c30fc108db4e98723d740">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a16098d5d71673da11edd1b112489e8d7">ff_4096.h</a>
 </li>
 <li>FF_4096_mul()
 : <a class="el" href="ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4">ff_4096.h</a>
@@ -386,13 +413,13 @@
 : <a class="el" href="ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73">ff_4096.h</a>
 </li>
 <li>FF_4096_pow()
-: <a class="el" href="ff__4096_8h.html#a1db67329f43de1ad6e2b73d77e48451a">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a86909027f6afe381756ee285d0140389">ff_4096.h</a>
 </li>
 <li>FF_4096_pow2()
 : <a class="el" href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">ff_4096.h</a>
 </li>
 <li>FF_4096_power()
-: <a class="el" href="ff__4096_8h.html#ab3592fd9ab13f4f517b076529a0e5f98">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#ad607a8113dfc06ba2748acf6889ad6e2">ff_4096.h</a>
 </li>
 <li>FF_4096_prime()
 : <a class="el" href="ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba">ff_4096.h</a>
@@ -413,10 +440,13 @@
 : <a class="el" href="ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c">ff_4096.h</a>
 </li>
 <li>FF_4096_skpow()
-: <a class="el" href="ff__4096_8h.html#a21e0d681199ce63714be3ed742c164d9">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a94147045c8870761893c8be1ed1ac28f">ff_4096.h</a>
+</li>
+<li>FF_4096_skpow2()
+: <a class="el" href="ff__4096_8h.html#a6105e5392c6eb1ccefad29fcf6249d09">ff_4096.h</a>
 </li>
 <li>FF_4096_skspow()
-: <a class="el" href="ff__4096_8h.html#a6412d0214c61c25a6048e75eb76e5116">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a24cf9585b1c49a1ac674e0055ad41444">ff_4096.h</a>
 </li>
 <li>FF_4096_sqr()
 : <a class="el" href="ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10">ff_4096.h</a>
@@ -4637,8 +4667,8 @@
 : <a class="el" href="fp__SECP256K1_8h.html#afdaf7c7a5c45c781a4d6d451d24af41d">fp_SECP256K1.h</a>
 </li>
 <li>Fra_25519
-: <a class="el" href="ecp__ED25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">ecp_ED25519.h</a>
-, <a class="el" href="ecp__C25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">ecp_C25519.h</a>
+: <a class="el" href="ecp__C25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">ecp_C25519.h</a>
+, <a class="el" href="ecp__ED25519_8h.html#a24bc14182cb7bd0a6ec8c87f05fdc91f">ecp_ED25519.h</a>
 </li>
 <li>Fra_256PME
 : <a class="el" href="ecp__NUMS256E_8h.html#a968ba6316c6d66c70e3c4198000228d2">ecp_NUMS256E.h</a>
@@ -4647,12 +4677,12 @@
 : <a class="el" href="ecp__NUMS256W_8h.html#aecf87a32e152ca6a6b45c54a948c3606">ecp_NUMS256W.h</a>
 </li>
 <li>Fra_384PM
-: <a class="el" href="ecp__NUMS384E_8h.html#a1a0c501939bd902c7a5531b30971b662">ecp_NUMS384E.h</a>
-, <a class="el" href="ecp__NUMS384W_8h.html#a1a0c501939bd902c7a5531b30971b662">ecp_NUMS384W.h</a>
+: <a class="el" href="ecp__NUMS384W_8h.html#a1a0c501939bd902c7a5531b30971b662">ecp_NUMS384W.h</a>
+, <a class="el" href="ecp__NUMS384E_8h.html#a1a0c501939bd902c7a5531b30971b662">ecp_NUMS384E.h</a>
 </li>
 <li>Fra_512PM
-: <a class="el" href="ecp__NUMS512W_8h.html#ad6f2370cc46044dc5544155fb45064a3">ecp_NUMS512W.h</a>
-, <a class="el" href="ecp__NUMS512E_8h.html#ad6f2370cc46044dc5544155fb45064a3">ecp_NUMS512E.h</a>
+: <a class="el" href="ecp__NUMS512E_8h.html#ad6f2370cc46044dc5544155fb45064a3">ecp_NUMS512E.h</a>
+, <a class="el" href="ecp__NUMS512W_8h.html#ad6f2370cc46044dc5544155fb45064a3">ecp_NUMS512W.h</a>
 </li>
 <li>Fra_ANSSI
 : <a class="el" href="ecp__ANSSI_8h.html#a7e31ca5c45630c5af66f4b67c80d1a00">ecp_ANSSI.h</a>
@@ -4661,26 +4691,26 @@
 : <a class="el" href="ecp__BLS24_8h.html#ace1762644c051c9e3624407912507ae1">ecp_BLS24.h</a>
 </li>
 <li>Fra_BLS381
-: <a class="el" href="fp12__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">fp12_BLS381.h</a>
-, <a class="el" href="ecp2__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">ecp2_BLS381.h</a>
+: <a class="el" href="ecp2__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">ecp2_BLS381.h</a>
 , <a class="el" href="ecp__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">ecp_BLS381.h</a>
+, <a class="el" href="fp12__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">fp12_BLS381.h</a>
 </li>
 <li>Fra_BLS383
-: <a class="el" href="fp12__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">fp12_BLS383.h</a>
+: <a class="el" href="ecp2__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">ecp2_BLS383.h</a>
 , <a class="el" href="ecp__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">ecp_BLS383.h</a>
-, <a class="el" href="ecp2__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">ecp2_BLS383.h</a>
+, <a class="el" href="fp12__BLS383_8h.html#acc6ace24c297f3d1bbd70c10f12c8f40">fp12_BLS383.h</a>
 </li>
 <li>Fra_BLS461
 : <a class="el" href="ecp2__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">ecp2_BLS461.h</a>
-, <a class="el" href="ecp__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">ecp_BLS461.h</a>
 , <a class="el" href="fp12__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">fp12_BLS461.h</a>
+, <a class="el" href="ecp__BLS461_8h.html#a6d2edb8dfee22d664e4ce1c6f107c3ae">ecp_BLS461.h</a>
 </li>
 <li>Fra_BLS48
 : <a class="el" href="ecp__BLS48_8h.html#aa2f84b8ba9625ad4617db4dfb8c84194">ecp_BLS48.h</a>
 </li>
 <li>Fra_BN254
-: <a class="el" href="fp12__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">fp12_BN254.h</a>
-, <a class="el" href="ecp__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">ecp_BN254.h</a>
+: <a class="el" href="ecp__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">ecp_BN254.h</a>
+, <a class="el" href="fp12__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">fp12_BN254.h</a>
 , <a class="el" href="ecp2__BN254_8h.html#abf41342afa7230d0288d37a140d4ee9d">ecp2_BN254.h</a>
 </li>
 <li>Fra_BN254CX
@@ -4695,9 +4725,9 @@
 : <a class="el" href="ecp__C41417_8h.html#a8085dda6341f7e05ab9a0d2bce9f3e5e">ecp_C41417.h</a>
 </li>
 <li>Fra_FP256BN
-: <a class="el" href="ecp__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">ecp_FP256BN.h</a>
-, <a class="el" href="ecp2__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">ecp2_FP256BN.h</a>
+: <a class="el" href="ecp2__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">ecp2_FP256BN.h</a>
 , <a class="el" href="fp12__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">fp12_FP256BN.h</a>
+, <a class="el" href="ecp__FP256BN_8h.html#a682906829e5ad5c597e675693c5bd8e4">ecp_FP256BN.h</a>
 </li>
 <li>Fra_FP512BN
 : <a class="el" href="ecp2__FP512BN_8h.html#ad7da3c3186a66323a2cd55968808f253">ecp2_FP512BN.h</a>
@@ -4733,8 +4763,8 @@
 : <a class="el" href="ecp__NUMS256W_8h.html#ad3d8b51f66097eb05fce1aea04fcad73">ecp_NUMS256W.h</a>
 </li>
 <li>Frb_384PM
-: <a class="el" href="ecp__NUMS384W_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">ecp_NUMS384W.h</a>
-, <a class="el" href="ecp__NUMS384E_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">ecp_NUMS384E.h</a>
+: <a class="el" href="ecp__NUMS384E_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">ecp_NUMS384E.h</a>
+, <a class="el" href="ecp__NUMS384W_8h.html#ab2c91372f29cbf8b6d44ec4bc2e387b1">ecp_NUMS384W.h</a>
 </li>
 <li>Frb_512PM
 : <a class="el" href="ecp__NUMS512E_8h.html#a8dd44f2b459f2dfd940c9fc64d6faf40">ecp_NUMS512E.h</a>
@@ -4747,8 +4777,8 @@
 : <a class="el" href="ecp__BLS24_8h.html#ae504594c892c33118948f80c86f4abae">ecp_BLS24.h</a>
 </li>
 <li>Frb_BLS381
-: <a class="el" href="fp12__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">fp12_BLS381.h</a>
-, <a class="el" href="ecp__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">ecp_BLS381.h</a>
+: <a class="el" href="ecp__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">ecp_BLS381.h</a>
+, <a class="el" href="fp12__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">fp12_BLS381.h</a>
 , <a class="el" href="ecp2__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">ecp2_BLS381.h</a>
 </li>
 <li>Frb_BLS383
@@ -4757,22 +4787,22 @@
 , <a class="el" href="ecp2__BLS383_8h.html#aa2a080445c52be753695d6abd26a6f0f">ecp2_BLS383.h</a>
 </li>
 <li>Frb_BLS461
-: <a class="el" href="ecp__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">ecp_BLS461.h</a>
-, <a class="el" href="fp12__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">fp12_BLS461.h</a>
+: <a class="el" href="fp12__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">fp12_BLS461.h</a>
+, <a class="el" href="ecp__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">ecp_BLS461.h</a>
 , <a class="el" href="ecp2__BLS461_8h.html#a852f1f5013cc1c12386c59d7cb7e626b">ecp2_BLS461.h</a>
 </li>
 <li>Frb_BLS48
 : <a class="el" href="ecp__BLS48_8h.html#a93bf4c71a6093999ba8e5a84de936a5d">ecp_BLS48.h</a>
 </li>
 <li>Frb_BN254
-: <a class="el" href="ecp2__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">ecp2_BN254.h</a>
-, <a class="el" href="ecp__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">ecp_BN254.h</a>
+: <a class="el" href="ecp__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">ecp_BN254.h</a>
+, <a class="el" href="ecp2__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">ecp2_BN254.h</a>
 , <a class="el" href="fp12__BN254_8h.html#a85fadba81a01e0c26213ed65cbbe7471">fp12_BN254.h</a>
 </li>
 <li>Frb_BN254CX
 : <a class="el" href="fp12__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">fp12_BN254CX.h</a>
-, <a class="el" href="ecp__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">ecp_BN254CX.h</a>
 , <a class="el" href="ecp2__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">ecp2_BN254CX.h</a>
+, <a class="el" href="ecp__BN254CX_8h.html#a17fa2a380fb640a2993fabf146be444b">ecp_BN254CX.h</a>
 </li>
 <li>Frb_BRAINPOOL
 : <a class="el" href="ecp__BRAINPOOL_8h.html#a440cd5847de3d327667e27a9d5e65f5d">ecp_BRAINPOOL.h</a>
@@ -4782,13 +4812,13 @@
 </li>
 <li>Frb_FP256BN
 : <a class="el" href="fp12__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">fp12_FP256BN.h</a>
-, <a class="el" href="ecp2__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">ecp2_FP256BN.h</a>
 , <a class="el" href="ecp__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">ecp_FP256BN.h</a>
+, <a class="el" href="ecp2__FP256BN_8h.html#ad8a72f4c35da61849fac206d83565394">ecp2_FP256BN.h</a>
 </li>
 <li>Frb_FP512BN
-: <a class="el" href="fp12__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">fp12_FP512BN.h</a>
+: <a class="el" href="ecp2__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">ecp2_FP512BN.h</a>
+, <a class="el" href="fp12__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">fp12_FP512BN.h</a>
 , <a class="el" href="ecp__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">ecp_FP512BN.h</a>
-, <a class="el" href="ecp2__FP512BN_8h.html#a99f0e0c6148339ac0862403fdc477991">ecp2_FP512BN.h</a>
 </li>
 <li>Frb_GOLDILOCKS
 : <a class="el" href="ecp__GOLDILOCKS_8h.html#a3ca5c7ba9b34de2cfdc8860381a4ab9f">ecp_GOLDILOCKS.h</a>
@@ -4808,13 +4838,19 @@
 <li>Frb_SECP256K1
 : <a class="el" href="ecp__SECP256K1_8h.html#a0584eac12160515fb95ea79f9b5c22d8">ecp_SECP256K1.h</a>
 </li>
+<li>FS_2048
+: <a class="el" href="paillier_8h.html#ae3ce9abc99cec679346a7d38bed96d9b">paillier.h</a>
+</li>
+<li>FS_4096
+: <a class="el" href="paillier_8h.html#a8e7c673251fe80bcf47e9bb26674cd97">paillier.h</a>
+</li>
 </ul>
 </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/globals_func.html b/website/static/cdocs/globals_func.html
index 2077385..8bd5994 100644
--- a/website/static/cdocs/globals_func.html
+++ b/website/static/cdocs/globals_func.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: Globals</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 -->
@@ -97,7 +100,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/globals_func_b.html b/website/static/cdocs/globals_func_b.html
index 30af851..2e1b79d 100644
--- a/website/static/cdocs/globals_func_b.html
+++ b/website/static/cdocs/globals_func_b.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: Globals</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 -->
@@ -64,219 +67,6 @@
 &#160;
 
 <h3><a id="index_b"></a>- b -</h3><ul>
-<li>BIG_1024_28_add()
-: <a class="el" href="big__1024__28_8h.html#a9c73a8b4ca792ebba655eb8b8de2670d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_bit()
-: <a class="el" href="big__1024__28_8h.html#a46f3c11d266f3caeaefef3f85f7e71d7">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_cmove()
-: <a class="el" href="big__1024__28_8h.html#a906cde91ce5641663dcf1e1914d45bdf">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_comp()
-: <a class="el" href="big__1024__28_8h.html#a7c8aaa518123c302d7fb727c066de799">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_copy()
-: <a class="el" href="big__1024__28_8h.html#a2f8bb5efa10f39a457a76d3621daade8">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_cswap()
-: <a class="el" href="big__1024__28_8h.html#a74b190b116ad7b8ae61ecf74e7f81104">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dadd()
-: <a class="el" href="big__1024__28_8h.html#a3a1df8433d95c50fa37bf1ee3f7dc4c4">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dcmove()
-: <a class="el" href="big__1024__28_8h.html#a600f84090df4a150aa47d45cd767617c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dcomp()
-: <a class="el" href="big__1024__28_8h.html#a19e306f9d97cbbf8a215edb1fdbca3a6">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dcopy()
-: <a class="el" href="big__1024__28_8h.html#a5111c6e4404bf58f040776042ece1108">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_ddiv()
-: <a class="el" href="big__1024__28_8h.html#a559b6794c4285cf596285ae7030fa828">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dec()
-: <a class="el" href="big__1024__28_8h.html#a68251081eb47c35887ff408402c205d3">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dfromBytesLen()
-: <a class="el" href="big__1024__28_8h.html#a25fad48097ab1a81c2654cb2c363a8ea">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_diszilch()
-: <a class="el" href="big__1024__28_8h.html#ae7aa0c3c199de111505a1f2fa620fb68">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_div3()
-: <a class="el" href="big__1024__28_8h.html#ab71e3c68ab0701c8deed44fcfc0320da">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dmod()
-: <a class="el" href="big__1024__28_8h.html#abdc6db328aae7ea8780787e35a976c2d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dmod2m()
-: <a class="el" href="big__1024__28_8h.html#a0af8fe60752ace226e1980f42ee1323c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dnbits()
-: <a class="el" href="big__1024__28_8h.html#aa342006f3e76fe3efa25ec596bfcaa09">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dnorm()
-: <a class="el" href="big__1024__28_8h.html#af187316ae9c222a6f537ba02ba6d58a0">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_doutput()
-: <a class="el" href="big__1024__28_8h.html#ac56ff1f8b418819b091d51e44cc8decb">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_drawoutput()
-: <a class="el" href="big__1024__28_8h.html#a2cb16afcdacd4d31ca6126333cbd8d4d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dscopy()
-: <a class="el" href="big__1024__28_8h.html#ac01fc92d6ac6f4df3bdb821b69328e79">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dshl()
-: <a class="el" href="big__1024__28_8h.html#ac8a0e281a38a42294fa7d262b4bb88dc">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dshr()
-: <a class="el" href="big__1024__28_8h.html#a6ee4273810629405a0fabbcfbe97bea5">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dsub()
-: <a class="el" href="big__1024__28_8h.html#a7f11d7b27dc1dd657e6aac4305e81982">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dsucopy()
-: <a class="el" href="big__1024__28_8h.html#ab1ce66a9f6fa854db007fa2378aeb723">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_dzero()
-: <a class="el" href="big__1024__28_8h.html#adf9707f6f05fa6f11f652c66df3ec4aa">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fromBytes()
-: <a class="el" href="big__1024__28_8h.html#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fromBytesLen()
-: <a class="el" href="big__1024__28_8h.html#a8eed0c87536a7eee8a505d78743bb0fa">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fshl()
-: <a class="el" href="big__1024__28_8h.html#a415004d01c4e2f89b128c01337ddc0da">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_fshr()
-: <a class="el" href="big__1024__28_8h.html#a59b2d05311ee721798227fe033b3c758">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_imul()
-: <a class="el" href="big__1024__28_8h.html#aecefd0d641d7df1e3b7104dd6788a99d">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_inc()
-: <a class="el" href="big__1024__28_8h.html#a798b28f9b493c155ceed8179e7ffc3db">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_invmod2m()
-: <a class="el" href="big__1024__28_8h.html#a5b78d54fd0539fc84bdfb007a0b967bf">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_invmodp()
-: <a class="el" href="big__1024__28_8h.html#a8061d3296101802f5a43ee31df48104c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_isunity()
-: <a class="el" href="big__1024__28_8h.html#afd3bcd46deffcd767611c36b0a05ba43">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_iszilch()
-: <a class="el" href="big__1024__28_8h.html#a4c24835682c9662e0d3850e8d0af3592">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_jacobi()
-: <a class="el" href="big__1024__28_8h.html#aa965afaeb22bdfddf122274e78e98585">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_lastbits()
-: <a class="el" href="big__1024__28_8h.html#a52e1428d99c2bb831b79ca7ef8c8e8e0">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_mod()
-: <a class="el" href="big__1024__28_8h.html#a321e9b9249a04c642b2f807c0181df90">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_mod2m()
-: <a class="el" href="big__1024__28_8h.html#afcbdc858bc02d509b14c5a487f964014">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_moddiv()
-: <a class="el" href="big__1024__28_8h.html#aa8b4cf5c4f52074a6eb3ece6f6d4a83c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_modmul()
-: <a class="el" href="big__1024__28_8h.html#acc2f1661baf86b9975011a6dc857ad6b">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_modneg()
-: <a class="el" href="big__1024__28_8h.html#a6bda312c89508e974166321f8980d201">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_modsqr()
-: <a class="el" href="big__1024__28_8h.html#a8e82166152f3b17468117c89a28c5445">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_monty()
-: <a class="el" href="big__1024__28_8h.html#aac162cb8f56785b3dab55f23773dbf6c">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_mul()
-: <a class="el" href="big__1024__28_8h.html#a41e3fa7841bc262223fc6fcdef6f40ba">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_nbits()
-: <a class="el" href="big__1024__28_8h.html#a16c692d644de8d6e3f481ec50ed1b627">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_norm()
-: <a class="el" href="big__1024__28_8h.html#a20a571a3b9d00d82e00674a4eb9080b5">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_one()
-: <a class="el" href="big__1024__28_8h.html#a6070c113d74ea38583c472dd659aa842">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_or()
-: <a class="el" href="big__1024__28_8h.html#adad5cb758e64bf8e2dd1bf72d43a77ef">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_output()
-: <a class="el" href="big__1024__28_8h.html#a8be43fff007f3d452f7b71ee8c9ad8bc">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_parity()
-: <a class="el" href="big__1024__28_8h.html#a80e1cc2bb904feea615dd9818f0ecb59">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_pmul()
-: <a class="el" href="big__1024__28_8h.html#a8824a12970672cf823c5a16ea883a503">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_pxmul()
-: <a class="el" href="big__1024__28_8h.html#a8f39a50f8bd6ef64bc6d276ca47a3801">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_random()
-: <a class="el" href="big__1024__28_8h.html#a9ba4f0104e394a5d8e7455d1cac1c502">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_randomnum()
-: <a class="el" href="big__1024__28_8h.html#af31fe3a4a7787c2ca597bc7c23293f37">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_rawoutput()
-: <a class="el" href="big__1024__28_8h.html#a053a019376c8068134541df485a77fbc">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_rcopy()
-: <a class="el" href="big__1024__28_8h.html#ab587b7b3487be40d7f181e14a2c19111">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sdcopy()
-: <a class="el" href="big__1024__28_8h.html#a596c48625c51cc8ceb2a286a0908b727">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sdiv()
-: <a class="el" href="big__1024__28_8h.html#a5110b174571a2eeb198fce7834e49443">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sducopy()
-: <a class="el" href="big__1024__28_8h.html#a9609a8759b62bd952da5edd4e2c2f2d8">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_shl()
-: <a class="el" href="big__1024__28_8h.html#ab94e42adaa9edf6caa73217ea541a8d8">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_shr()
-: <a class="el" href="big__1024__28_8h.html#ae9504ee26e7dc63dd5ddf017b5fd20fb">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_smul()
-: <a class="el" href="big__1024__28_8h.html#a0b77c681bb054b89c8099dca4214fb9e">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_split()
-: <a class="el" href="big__1024__28_8h.html#ad3f7062bf40d58cd91bb984f9374925f">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sqr()
-: <a class="el" href="big__1024__28_8h.html#ab95726053fff3459ee437993a8be57ed">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_ssn()
-: <a class="el" href="big__1024__28_8h.html#adf9fbb2177618cc5b47ee6445726128b">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_sub()
-: <a class="el" href="big__1024__28_8h.html#af62f511ff4949856be991fe7a1da4fe0">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_toBytes()
-: <a class="el" href="big__1024__28_8h.html#a210b8ce96bb74cefeedfd51e2c72fbba">big_1024_28.h</a>
-</li>
-<li>BIG_1024_28_zero()
-: <a class="el" href="big__1024__28_8h.html#a48be27e2baa6b6d226b049819e4279d5">big_1024_28.h</a>
-</li>
 <li>BIG_1024_58_add()
 : <a class="el" href="big__1024__58_8h.html#abbe6b3a99af9aecd1841df049153b569">big_1024_58.h</a>
 </li>
@@ -490,432 +280,6 @@
 <li>BIG_1024_58_zero()
 : <a class="el" href="big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f">big_1024_58.h</a>
 </li>
-<li>BIG_256_28_add()
-: <a class="el" href="big__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61">big_256_28.h</a>
-</li>
-<li>BIG_256_28_bit()
-: <a class="el" href="big__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6">big_256_28.h</a>
-</li>
-<li>BIG_256_28_cmove()
-: <a class="el" href="big__256__28_8h.html#a03ab05da92eb2ea796cb26842b7e77e3">big_256_28.h</a>
-</li>
-<li>BIG_256_28_comp()
-: <a class="el" href="big__256__28_8h.html#a38842b53345806d95099918c91e0416e">big_256_28.h</a>
-</li>
-<li>BIG_256_28_copy()
-: <a class="el" href="big__256__28_8h.html#a0831bc3b956e7489f966f919f635ee22">big_256_28.h</a>
-</li>
-<li>BIG_256_28_cswap()
-: <a class="el" href="big__256__28_8h.html#afb4ac61ac3caaf1c89101d90a209177e">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dadd()
-: <a class="el" href="big__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dcmove()
-: <a class="el" href="big__256__28_8h.html#a0ef3b955adfdc30b9c5434ffc7de8ed0">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dcomp()
-: <a class="el" href="big__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dcopy()
-: <a class="el" href="big__256__28_8h.html#aec1619fb62adb5f7d3e0bc25648c56c3">big_256_28.h</a>
-</li>
-<li>BIG_256_28_ddiv()
-: <a class="el" href="big__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dec()
-: <a class="el" href="big__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dfromBytesLen()
-: <a class="el" href="big__256__28_8h.html#a677d109788b548697770dae0287e2878">big_256_28.h</a>
-</li>
-<li>BIG_256_28_diszilch()
-: <a class="el" href="big__256__28_8h.html#aeff6e8bd5aa02ec15629660f185d4ecd">big_256_28.h</a>
-</li>
-<li>BIG_256_28_div3()
-: <a class="el" href="big__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dmod()
-: <a class="el" href="big__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dmod2m()
-: <a class="el" href="big__256__28_8h.html#ae832454893ebd2893dd43466b53fb335">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dnbits()
-: <a class="el" href="big__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dnorm()
-: <a class="el" href="big__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1">big_256_28.h</a>
-</li>
-<li>BIG_256_28_doutput()
-: <a class="el" href="big__256__28_8h.html#a100f5561b2344f026870e2aaa1407f73">big_256_28.h</a>
-</li>
-<li>BIG_256_28_drawoutput()
-: <a class="el" href="big__256__28_8h.html#a32cfd50006ba099108d95dd49906e37d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dscopy()
-: <a class="el" href="big__256__28_8h.html#acdec6adf8bb9116f47ffc3d13a1a2a11">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dshl()
-: <a class="el" href="big__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dshr()
-: <a class="el" href="big__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dsub()
-: <a class="el" href="big__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dsucopy()
-: <a class="el" href="big__256__28_8h.html#afef94b156f0a4a42047ae2ee98bd9306">big_256_28.h</a>
-</li>
-<li>BIG_256_28_dzero()
-: <a class="el" href="big__256__28_8h.html#aee1f0d223f9b39ad2c723011dd55b42c">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fromBytes()
-: <a class="el" href="big__256__28_8h.html#a4042f0ef0741d29c29ca604808803e1d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fromBytesLen()
-: <a class="el" href="big__256__28_8h.html#a5eb3022f9db32c07282522095d3af912">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fshl()
-: <a class="el" href="big__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3">big_256_28.h</a>
-</li>
-<li>BIG_256_28_fshr()
-: <a class="el" href="big__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de">big_256_28.h</a>
-</li>
-<li>BIG_256_28_imul()
-: <a class="el" href="big__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4">big_256_28.h</a>
-</li>
-<li>BIG_256_28_inc()
-: <a class="el" href="big__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85">big_256_28.h</a>
-</li>
-<li>BIG_256_28_invmod2m()
-: <a class="el" href="big__256__28_8h.html#aa861a483021b9d542c71a347c795e6e1">big_256_28.h</a>
-</li>
-<li>BIG_256_28_invmodp()
-: <a class="el" href="big__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7">big_256_28.h</a>
-</li>
-<li>BIG_256_28_isunity()
-: <a class="el" href="big__256__28_8h.html#a1398cb2971ad58ae9d59e717a9b6b1ec">big_256_28.h</a>
-</li>
-<li>BIG_256_28_iszilch()
-: <a class="el" href="big__256__28_8h.html#afbf2db16ec41de1fa64c3d591303e41d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_jacobi()
-: <a class="el" href="big__256__28_8h.html#a40efcc479307dfdf215b576a83469b71">big_256_28.h</a>
-</li>
-<li>BIG_256_28_lastbits()
-: <a class="el" href="big__256__28_8h.html#ab7182226782ef414b678dba9920e18a2">big_256_28.h</a>
-</li>
-<li>BIG_256_28_mod()
-: <a class="el" href="big__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034">big_256_28.h</a>
-</li>
-<li>BIG_256_28_mod2m()
-: <a class="el" href="big__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132">big_256_28.h</a>
-</li>
-<li>BIG_256_28_moddiv()
-: <a class="el" href="big__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_modmul()
-: <a class="el" href="big__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81">big_256_28.h</a>
-</li>
-<li>BIG_256_28_modneg()
-: <a class="el" href="big__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8">big_256_28.h</a>
-</li>
-<li>BIG_256_28_modsqr()
-: <a class="el" href="big__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2">big_256_28.h</a>
-</li>
-<li>BIG_256_28_monty()
-: <a class="el" href="big__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12">big_256_28.h</a>
-</li>
-<li>BIG_256_28_mul()
-: <a class="el" href="big__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30">big_256_28.h</a>
-</li>
-<li>BIG_256_28_nbits()
-: <a class="el" href="big__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11">big_256_28.h</a>
-</li>
-<li>BIG_256_28_norm()
-: <a class="el" href="big__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_one()
-: <a class="el" href="big__256__28_8h.html#a657c178e39eb86021f18f2edce140b04">big_256_28.h</a>
-</li>
-<li>BIG_256_28_or()
-: <a class="el" href="big__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432">big_256_28.h</a>
-</li>
-<li>BIG_256_28_output()
-: <a class="el" href="big__256__28_8h.html#a30b918cd0cab2b6762da39f522f11140">big_256_28.h</a>
-</li>
-<li>BIG_256_28_parity()
-: <a class="el" href="big__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9">big_256_28.h</a>
-</li>
-<li>BIG_256_28_pmul()
-: <a class="el" href="big__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1">big_256_28.h</a>
-</li>
-<li>BIG_256_28_pxmul()
-: <a class="el" href="big__256__28_8h.html#a27820fd216b00e63943900f62afbd78c">big_256_28.h</a>
-</li>
-<li>BIG_256_28_random()
-: <a class="el" href="big__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5">big_256_28.h</a>
-</li>
-<li>BIG_256_28_randomnum()
-: <a class="el" href="big__256__28_8h.html#af61371a17945b604a208a2b935aec74d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_rawoutput()
-: <a class="el" href="big__256__28_8h.html#a8626d88b1bf8cf7aff25c7fde983b726">big_256_28.h</a>
-</li>
-<li>BIG_256_28_rcopy()
-: <a class="el" href="big__256__28_8h.html#a7658779f094b599a129e7697c990baf6">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sdcopy()
-: <a class="el" href="big__256__28_8h.html#ae4f351cc457451bef252ab2cda4c7311">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sdiv()
-: <a class="el" href="big__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sducopy()
-: <a class="el" href="big__256__28_8h.html#af72c8e442888b472223e2a8d44d86c30">big_256_28.h</a>
-</li>
-<li>BIG_256_28_shl()
-: <a class="el" href="big__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99">big_256_28.h</a>
-</li>
-<li>BIG_256_28_shr()
-: <a class="el" href="big__256__28_8h.html#ac897e470de2052dd8d094c867dc53650">big_256_28.h</a>
-</li>
-<li>BIG_256_28_smul()
-: <a class="el" href="big__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a">big_256_28.h</a>
-</li>
-<li>BIG_256_28_split()
-: <a class="el" href="big__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sqr()
-: <a class="el" href="big__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40">big_256_28.h</a>
-</li>
-<li>BIG_256_28_ssn()
-: <a class="el" href="big__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd">big_256_28.h</a>
-</li>
-<li>BIG_256_28_sub()
-: <a class="el" href="big__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19">big_256_28.h</a>
-</li>
-<li>BIG_256_28_toBytes()
-: <a class="el" href="big__256__28_8h.html#a2f7ce434aa163e584027c8495f3a561d">big_256_28.h</a>
-</li>
-<li>BIG_256_28_zero()
-: <a class="el" href="big__256__28_8h.html#aab6a408e01aaab2ee65c2440d8075d94">big_256_28.h</a>
-</li>
-<li>BIG_256_29_add()
-: <a class="el" href="big__256__29_8h.html#a1aef430ef0ea9a948aee90f82071d417">big_256_29.h</a>
-</li>
-<li>BIG_256_29_bit()
-: <a class="el" href="big__256__29_8h.html#a76e5bdb3549fede8f264cfcb26be6018">big_256_29.h</a>
-</li>
-<li>BIG_256_29_cmove()
-: <a class="el" href="big__256__29_8h.html#a8a6bf060bb48f7c51fcda4cde1e8e26e">big_256_29.h</a>
-</li>
-<li>BIG_256_29_comp()
-: <a class="el" href="big__256__29_8h.html#aa1510430ef1fd606da826613e516e0dd">big_256_29.h</a>
-</li>
-<li>BIG_256_29_copy()
-: <a class="el" href="big__256__29_8h.html#aa4870f8e59d0721de55dbd4c2d678abd">big_256_29.h</a>
-</li>
-<li>BIG_256_29_cswap()
-: <a class="el" href="big__256__29_8h.html#a4ba7d16ea20d46ec7a200510ca41a338">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dadd()
-: <a class="el" href="big__256__29_8h.html#ad7f19e783f041f1e0c3474201ea12a92">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dcmove()
-: <a class="el" href="big__256__29_8h.html#afa7b733233ab20bec1044bbfd7e5fd66">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dcomp()
-: <a class="el" href="big__256__29_8h.html#aa4e2034ea1159ea641544922afe4532d">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dcopy()
-: <a class="el" href="big__256__29_8h.html#a705539d4d986b62787cb278c7a9c18cb">big_256_29.h</a>
-</li>
-<li>BIG_256_29_ddiv()
-: <a class="el" href="big__256__29_8h.html#ac06384af8509fa4648f7fe9a31169820">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dec()
-: <a class="el" href="big__256__29_8h.html#af70f9ed20a7e5fef6d4f99449d0b2a0a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dfromBytesLen()
-: <a class="el" href="big__256__29_8h.html#a375ccfc139837462d3f3798cf44fdceb">big_256_29.h</a>
-</li>
-<li>BIG_256_29_diszilch()
-: <a class="el" href="big__256__29_8h.html#a5dde770895a5473f6e9770f92d1f5aa0">big_256_29.h</a>
-</li>
-<li>BIG_256_29_div3()
-: <a class="el" href="big__256__29_8h.html#a734c94d13cbbd866f389706f9684b38f">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dmod()
-: <a class="el" href="big__256__29_8h.html#a199564d5d8a0cc674a13f7d6d5c390a7">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dmod2m()
-: <a class="el" href="big__256__29_8h.html#a3681ba93dd87149397a4d4877f0e0be6">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dnbits()
-: <a class="el" href="big__256__29_8h.html#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dnorm()
-: <a class="el" href="big__256__29_8h.html#ac4155d5f3609fc2a4d3dde920d851e11">big_256_29.h</a>
-</li>
-<li>BIG_256_29_doutput()
-: <a class="el" href="big__256__29_8h.html#a70f41607cec7a5fb5876ef6114cb4487">big_256_29.h</a>
-</li>
-<li>BIG_256_29_drawoutput()
-: <a class="el" href="big__256__29_8h.html#af7c6931543d396754a664b870f53940b">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dscopy()
-: <a class="el" href="big__256__29_8h.html#adfc567d5ba28ba96bef4de548f490936">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dshl()
-: <a class="el" href="big__256__29_8h.html#a03bf0e9d7230ca101c85ca9dd1106647">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dshr()
-: <a class="el" href="big__256__29_8h.html#a3afe99cafc419f225c3b901fc9f018e5">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dsub()
-: <a class="el" href="big__256__29_8h.html#aaef78beead9b031b7e219027ba4dec44">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dsucopy()
-: <a class="el" href="big__256__29_8h.html#aba86a9c166b98d580a9e3452744d5d3c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_dzero()
-: <a class="el" href="big__256__29_8h.html#a7dae9bf5b4e7509b41d56bc627ba8369">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fromBytes()
-: <a class="el" href="big__256__29_8h.html#aece77a065e83680be752dac8a6519b83">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fromBytesLen()
-: <a class="el" href="big__256__29_8h.html#addef2147947e45becf815d91759fe9e8">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fshl()
-: <a class="el" href="big__256__29_8h.html#a0f76a362b0d4e8e3558d52156135920e">big_256_29.h</a>
-</li>
-<li>BIG_256_29_fshr()
-: <a class="el" href="big__256__29_8h.html#a2ff20a509a419768bd691c8e6757aa6c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_imul()
-: <a class="el" href="big__256__29_8h.html#a0cbcbc50b4ed07fd1c1f2ea435626eb2">big_256_29.h</a>
-</li>
-<li>BIG_256_29_inc()
-: <a class="el" href="big__256__29_8h.html#a29dd4f8e557da97534dde4266631e505">big_256_29.h</a>
-</li>
-<li>BIG_256_29_invmod2m()
-: <a class="el" href="big__256__29_8h.html#a4f8baf432b46720a1cfe897a571d23a7">big_256_29.h</a>
-</li>
-<li>BIG_256_29_invmodp()
-: <a class="el" href="big__256__29_8h.html#a4996d5c30887ebba590b50c2eccd16d0">big_256_29.h</a>
-</li>
-<li>BIG_256_29_isunity()
-: <a class="el" href="big__256__29_8h.html#addc0b0eed4709089ea4affd912f7e20a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_iszilch()
-: <a class="el" href="big__256__29_8h.html#a976506581e8e06d57055921dec760493">big_256_29.h</a>
-</li>
-<li>BIG_256_29_jacobi()
-: <a class="el" href="big__256__29_8h.html#ae4d8a36f15283eead515888a5cbbe615">big_256_29.h</a>
-</li>
-<li>BIG_256_29_lastbits()
-: <a class="el" href="big__256__29_8h.html#abbe2731a8b528019a913c292e95c34ad">big_256_29.h</a>
-</li>
-<li>BIG_256_29_mod()
-: <a class="el" href="big__256__29_8h.html#af5870b9727ecb4808a668344f0994109">big_256_29.h</a>
-</li>
-<li>BIG_256_29_mod2m()
-: <a class="el" href="big__256__29_8h.html#a3a83080d302fbdc6b79a791f74cdc01c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_moddiv()
-: <a class="el" href="big__256__29_8h.html#a65c4b2f696fe7e38e29e2c1940a03395">big_256_29.h</a>
-</li>
-<li>BIG_256_29_modmul()
-: <a class="el" href="big__256__29_8h.html#a7539c997cb945c4842f61c61b0dbd527">big_256_29.h</a>
-</li>
-<li>BIG_256_29_modneg()
-: <a class="el" href="big__256__29_8h.html#a2ed8026f6a8a6ab3331afde36953b69b">big_256_29.h</a>
-</li>
-<li>BIG_256_29_modsqr()
-: <a class="el" href="big__256__29_8h.html#a22bf9d63c2ab7316376de3f7fbb958eb">big_256_29.h</a>
-</li>
-<li>BIG_256_29_monty()
-: <a class="el" href="big__256__29_8h.html#a7c252a4354dfb59a76d97e0d6f762627">big_256_29.h</a>
-</li>
-<li>BIG_256_29_mul()
-: <a class="el" href="big__256__29_8h.html#a1ca09ec3b1a33bc6bbb61a351baa2ff7">big_256_29.h</a>
-</li>
-<li>BIG_256_29_nbits()
-: <a class="el" href="big__256__29_8h.html#a23232ca660f365bf5876a8f5c4cf63f3">big_256_29.h</a>
-</li>
-<li>BIG_256_29_norm()
-: <a class="el" href="big__256__29_8h.html#ae448673401c83ef7937ebd8109812d52">big_256_29.h</a>
-</li>
-<li>BIG_256_29_one()
-: <a class="el" href="big__256__29_8h.html#ae4abe3933bc1a620c581e84057bb6a3a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_or()
-: <a class="el" href="big__256__29_8h.html#a7bfb4f437084b7c83fe82dcd319fb04f">big_256_29.h</a>
-</li>
-<li>BIG_256_29_output()
-: <a class="el" href="big__256__29_8h.html#a044828c9a61da9d1abbce2c515080772">big_256_29.h</a>
-</li>
-<li>BIG_256_29_parity()
-: <a class="el" href="big__256__29_8h.html#ab768075ecb86528f6f64727f1712d56e">big_256_29.h</a>
-</li>
-<li>BIG_256_29_pmul()
-: <a class="el" href="big__256__29_8h.html#a26788a5f4a4c8a3c6223cfdc598e2206">big_256_29.h</a>
-</li>
-<li>BIG_256_29_pxmul()
-: <a class="el" href="big__256__29_8h.html#a37858e7d7ba07f829f5fe406e143244a">big_256_29.h</a>
-</li>
-<li>BIG_256_29_random()
-: <a class="el" href="big__256__29_8h.html#ad7ac4bee902715416866db38b3cb9bb2">big_256_29.h</a>
-</li>
-<li>BIG_256_29_randomnum()
-: <a class="el" href="big__256__29_8h.html#a9d82cba4b9bbb7877c7deb40685c5127">big_256_29.h</a>
-</li>
-<li>BIG_256_29_rawoutput()
-: <a class="el" href="big__256__29_8h.html#ac62bbe0fa81461611bb6703b5f9cbd77">big_256_29.h</a>
-</li>
-<li>BIG_256_29_rcopy()
-: <a class="el" href="big__256__29_8h.html#a2a30c02ed0211279e1eb64ef393131cf">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sdcopy()
-: <a class="el" href="big__256__29_8h.html#adf02d79d6b9e70e0c09d0abc9efa9dac">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sdiv()
-: <a class="el" href="big__256__29_8h.html#af5225a9da73fe4fdf6e07b3b135dfc25">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sducopy()
-: <a class="el" href="big__256__29_8h.html#a3ad6c1bda0300811bb05f19092aeccb5">big_256_29.h</a>
-</li>
-<li>BIG_256_29_shl()
-: <a class="el" href="big__256__29_8h.html#a7eb0b9ad8b3f83098cf1e09143063760">big_256_29.h</a>
-</li>
-<li>BIG_256_29_shr()
-: <a class="el" href="big__256__29_8h.html#a897715e22f6f400d1e89eb20b13a4a61">big_256_29.h</a>
-</li>
-<li>BIG_256_29_smul()
-: <a class="el" href="big__256__29_8h.html#aa9a29a0ef363c94da54880dff875562c">big_256_29.h</a>
-</li>
-<li>BIG_256_29_split()
-: <a class="el" href="big__256__29_8h.html#abf41ba04665e4640aae5cc73f1cfe760">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sqr()
-: <a class="el" href="big__256__29_8h.html#af3b9ab7a0b7fb9d2391d0cb9703640a1">big_256_29.h</a>
-</li>
-<li>BIG_256_29_ssn()
-: <a class="el" href="big__256__29_8h.html#a21edd2fc13e98c973af2bcdd8314e8b9">big_256_29.h</a>
-</li>
-<li>BIG_256_29_sub()
-: <a class="el" href="big__256__29_8h.html#a97c753c8b89e022797d2b4d11bf70730">big_256_29.h</a>
-</li>
-<li>BIG_256_29_toBytes()
-: <a class="el" href="big__256__29_8h.html#af28a4870f8aff2e8428c2b6b4f94e756">big_256_29.h</a>
-</li>
-<li>BIG_256_29_zero()
-: <a class="el" href="big__256__29_8h.html#a934c865c43e9c75afe9748f030e4ec46">big_256_29.h</a>
-</li>
 <li>BIG_256_56_add()
 : <a class="el" href="big__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3">big_256_56.h</a>
 </li>
@@ -1129,219 +493,6 @@
 <li>BIG_256_56_zero()
 : <a class="el" href="big__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1">big_256_56.h</a>
 </li>
-<li>BIG_336_29_add()
-: <a class="el" href="big__336__29_8h.html#a75c1d8be1ba70f7f4475ead6a5f43af0">big_336_29.h</a>
-</li>
-<li>BIG_336_29_bit()
-: <a class="el" href="big__336__29_8h.html#ad514e47ff474e65b1b5f10ee790e4c13">big_336_29.h</a>
-</li>
-<li>BIG_336_29_cmove()
-: <a class="el" href="big__336__29_8h.html#a34ec564848369556a4b02dcc01f9ca04">big_336_29.h</a>
-</li>
-<li>BIG_336_29_comp()
-: <a class="el" href="big__336__29_8h.html#a763a715d585c890995a8bbce08988a80">big_336_29.h</a>
-</li>
-<li>BIG_336_29_copy()
-: <a class="el" href="big__336__29_8h.html#a6c4af364650172b17df2e7e0930e666f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_cswap()
-: <a class="el" href="big__336__29_8h.html#a3e973afced1de79a5d3a283ae5b271af">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dadd()
-: <a class="el" href="big__336__29_8h.html#aeabd48c0ad271c023797578103ac840e">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dcmove()
-: <a class="el" href="big__336__29_8h.html#ae9c08f62fd328bb248328dcf3837b134">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dcomp()
-: <a class="el" href="big__336__29_8h.html#adbf7ba2f51fbac9c4fb2943f9f2769da">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dcopy()
-: <a class="el" href="big__336__29_8h.html#a244e69d514f07e515b3473380595b10d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_ddiv()
-: <a class="el" href="big__336__29_8h.html#a6386d5ef47067541157b93e6edaf7e21">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dec()
-: <a class="el" href="big__336__29_8h.html#ad2b49abad8d092e55c30ee6a54e56ff5">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dfromBytesLen()
-: <a class="el" href="big__336__29_8h.html#a20861abd6145ea8dbadd9ff84af2dea1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_diszilch()
-: <a class="el" href="big__336__29_8h.html#a9509b0dc8baeda5dc8c20b32dff94ad4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_div3()
-: <a class="el" href="big__336__29_8h.html#a51ba250655520120124160cc87e0424b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dmod()
-: <a class="el" href="big__336__29_8h.html#a63200114268a09a55ba435bdd917ba7d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dmod2m()
-: <a class="el" href="big__336__29_8h.html#a777bbea4f90ee4bfd54c76036223f70f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dnbits()
-: <a class="el" href="big__336__29_8h.html#a2a2019a072b248c24d0ef0c1bb201954">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dnorm()
-: <a class="el" href="big__336__29_8h.html#a9adcbfd01df1d2862d4a733a939b83ae">big_336_29.h</a>
-</li>
-<li>BIG_336_29_doutput()
-: <a class="el" href="big__336__29_8h.html#aa481a2e2eab1f3187f8780c294e7d9fb">big_336_29.h</a>
-</li>
-<li>BIG_336_29_drawoutput()
-: <a class="el" href="big__336__29_8h.html#ad1b50365cb7eddcbec5ce1c7922c5475">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dscopy()
-: <a class="el" href="big__336__29_8h.html#a7b4f65976a9cc91ba58144fa44bb7177">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dshl()
-: <a class="el" href="big__336__29_8h.html#a71f283cfb6248804db064fea30190cc5">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dshr()
-: <a class="el" href="big__336__29_8h.html#a2c5eca3ca53299e19f5b2cfb026af42f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dsub()
-: <a class="el" href="big__336__29_8h.html#aaec1f3921b23e1646dcec6938c8edf99">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dsucopy()
-: <a class="el" href="big__336__29_8h.html#a3c1b26f91d75cc611fd12dd3808ae8ca">big_336_29.h</a>
-</li>
-<li>BIG_336_29_dzero()
-: <a class="el" href="big__336__29_8h.html#aa12e7e0bd105f263877e1c347d7eccd1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fromBytes()
-: <a class="el" href="big__336__29_8h.html#a966fa27a1ed84d09b8411bd82519072f">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fromBytesLen()
-: <a class="el" href="big__336__29_8h.html#ac912d49447a466dcf1d5f85a6e14f336">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fshl()
-: <a class="el" href="big__336__29_8h.html#a1fb372329a67a713aa3e66a7f5ce7335">big_336_29.h</a>
-</li>
-<li>BIG_336_29_fshr()
-: <a class="el" href="big__336__29_8h.html#af781f798c463ac6403dd9a363772ea0a">big_336_29.h</a>
-</li>
-<li>BIG_336_29_imul()
-: <a class="el" href="big__336__29_8h.html#a5579d667e486744ad3281c318b726fe1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_inc()
-: <a class="el" href="big__336__29_8h.html#a213286f51d77e52e9e3da344da1fbd88">big_336_29.h</a>
-</li>
-<li>BIG_336_29_invmod2m()
-: <a class="el" href="big__336__29_8h.html#aa6d1cde9525f89fd5a3e549b4a26b6dd">big_336_29.h</a>
-</li>
-<li>BIG_336_29_invmodp()
-: <a class="el" href="big__336__29_8h.html#a5c0b44e1207e320b6167a9254f321ab1">big_336_29.h</a>
-</li>
-<li>BIG_336_29_isunity()
-: <a class="el" href="big__336__29_8h.html#ad6deb8d369b93c4784ff598adbabb224">big_336_29.h</a>
-</li>
-<li>BIG_336_29_iszilch()
-: <a class="el" href="big__336__29_8h.html#a230c8d9151ecff0f78b9e12bccdf635e">big_336_29.h</a>
-</li>
-<li>BIG_336_29_jacobi()
-: <a class="el" href="big__336__29_8h.html#a9426091077ed3d20296520250682323d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_lastbits()
-: <a class="el" href="big__336__29_8h.html#ab69ef8cd98e2cfec2c896d795afd41fc">big_336_29.h</a>
-</li>
-<li>BIG_336_29_mod()
-: <a class="el" href="big__336__29_8h.html#a4383888885e060ff4298b0535bc1d3c4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_mod2m()
-: <a class="el" href="big__336__29_8h.html#adcb3a172848c6450b152887f2fd8b523">big_336_29.h</a>
-</li>
-<li>BIG_336_29_moddiv()
-: <a class="el" href="big__336__29_8h.html#a99a30e1d14f7e17d15108df3f1deaf65">big_336_29.h</a>
-</li>
-<li>BIG_336_29_modmul()
-: <a class="el" href="big__336__29_8h.html#a24e62b683fa847940386e56891aa601c">big_336_29.h</a>
-</li>
-<li>BIG_336_29_modneg()
-: <a class="el" href="big__336__29_8h.html#a5c2940f39feede18db26b83eb155ac4c">big_336_29.h</a>
-</li>
-<li>BIG_336_29_modsqr()
-: <a class="el" href="big__336__29_8h.html#a7418873bde193b2ae00ca12bb1bd72d0">big_336_29.h</a>
-</li>
-<li>BIG_336_29_monty()
-: <a class="el" href="big__336__29_8h.html#ae9423918c339248a32cde90059d54bf0">big_336_29.h</a>
-</li>
-<li>BIG_336_29_mul()
-: <a class="el" href="big__336__29_8h.html#ad5467c39a0f90dfe7d5382675d80c4af">big_336_29.h</a>
-</li>
-<li>BIG_336_29_nbits()
-: <a class="el" href="big__336__29_8h.html#afb5782ca3aa5769cfa84cd5d470d503a">big_336_29.h</a>
-</li>
-<li>BIG_336_29_norm()
-: <a class="el" href="big__336__29_8h.html#aae019c2a192bd2b4549f8544b3124985">big_336_29.h</a>
-</li>
-<li>BIG_336_29_one()
-: <a class="el" href="big__336__29_8h.html#aa88f788433edb46e3fce010c675e3ebe">big_336_29.h</a>
-</li>
-<li>BIG_336_29_or()
-: <a class="el" href="big__336__29_8h.html#ad5e8219fa6226d669de04ee7bbe82e8a">big_336_29.h</a>
-</li>
-<li>BIG_336_29_output()
-: <a class="el" href="big__336__29_8h.html#a1ce5cd538831acb1ceaa657dcea7e142">big_336_29.h</a>
-</li>
-<li>BIG_336_29_parity()
-: <a class="el" href="big__336__29_8h.html#a8b664b937461785b3b32f6ba6fbf4e00">big_336_29.h</a>
-</li>
-<li>BIG_336_29_pmul()
-: <a class="el" href="big__336__29_8h.html#ae8b0f5ddf0ba8cd8c725c5acb99a465b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_pxmul()
-: <a class="el" href="big__336__29_8h.html#a6627ad75b1268e62a5f7d88be8014ccd">big_336_29.h</a>
-</li>
-<li>BIG_336_29_random()
-: <a class="el" href="big__336__29_8h.html#aa268dc8d92ea89fd9747df7d6cd56c80">big_336_29.h</a>
-</li>
-<li>BIG_336_29_randomnum()
-: <a class="el" href="big__336__29_8h.html#a0e580dd237aa3ccc3c30da5f17cb25c8">big_336_29.h</a>
-</li>
-<li>BIG_336_29_rawoutput()
-: <a class="el" href="big__336__29_8h.html#a37a28dbc85f653ddc47e5a0977a83d5b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_rcopy()
-: <a class="el" href="big__336__29_8h.html#ab18ce1ef87d290fc6c489a41aa763fbd">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sdcopy()
-: <a class="el" href="big__336__29_8h.html#ad45969a681f02ce92a0fa21fc5ed1c95">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sdiv()
-: <a class="el" href="big__336__29_8h.html#ad355509f4c5d76b7fac2865d7a3817ee">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sducopy()
-: <a class="el" href="big__336__29_8h.html#a2867c99c42fd61b2a2cd3e4267a4e892">big_336_29.h</a>
-</li>
-<li>BIG_336_29_shl()
-: <a class="el" href="big__336__29_8h.html#ad9d73478b62aa9c03c9ed0ee21084ac4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_shr()
-: <a class="el" href="big__336__29_8h.html#a214e850cd3502a3e115959d4622d815b">big_336_29.h</a>
-</li>
-<li>BIG_336_29_smul()
-: <a class="el" href="big__336__29_8h.html#a9c05fe473e5b3b23f505850370dfb4d5">big_336_29.h</a>
-</li>
-<li>BIG_336_29_split()
-: <a class="el" href="big__336__29_8h.html#ac01951f8f16ebf0b7120f083b4c20aab">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sqr()
-: <a class="el" href="big__336__29_8h.html#a79f4ddd5776131afb411c6b8b7d7853d">big_336_29.h</a>
-</li>
-<li>BIG_336_29_ssn()
-: <a class="el" href="big__336__29_8h.html#a7bd8806b8b21c010a9647fac762036d8">big_336_29.h</a>
-</li>
-<li>BIG_336_29_sub()
-: <a class="el" href="big__336__29_8h.html#a89c1e07d9b8e96b7e971ab5417400335">big_336_29.h</a>
-</li>
-<li>BIG_336_29_toBytes()
-: <a class="el" href="big__336__29_8h.html#a3f3773dddbaae9d598cf26562718aca4">big_336_29.h</a>
-</li>
-<li>BIG_336_29_zero()
-: <a class="el" href="big__336__29_8h.html#a04f38d96c8de1197f3b75032e3e987d2">big_336_29.h</a>
-</li>
 <li>BIG_336_60_add()
 : <a class="el" href="big__336__60_8h.html#a6fd779dd5a3c29408daad6706fa2af96">big_336_60.h</a>
 </li>
@@ -1555,432 +706,6 @@
 <li>BIG_336_60_zero()
 : <a class="el" href="big__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f">big_336_60.h</a>
 </li>
-<li>BIG_384_28_add()
-: <a class="el" href="big__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_bit()
-: <a class="el" href="big__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5">big_384_28.h</a>
-</li>
-<li>BIG_384_28_cmove()
-: <a class="el" href="big__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1">big_384_28.h</a>
-</li>
-<li>BIG_384_28_comp()
-: <a class="el" href="big__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f">big_384_28.h</a>
-</li>
-<li>BIG_384_28_copy()
-: <a class="el" href="big__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f">big_384_28.h</a>
-</li>
-<li>BIG_384_28_cswap()
-: <a class="el" href="big__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dadd()
-: <a class="el" href="big__384__28_8h.html#ac45376eaec2c8050f1375202e0976534">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dcmove()
-: <a class="el" href="big__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dcomp()
-: <a class="el" href="big__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dcopy()
-: <a class="el" href="big__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_ddiv()
-: <a class="el" href="big__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dec()
-: <a class="el" href="big__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dfromBytesLen()
-: <a class="el" href="big__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f">big_384_28.h</a>
-</li>
-<li>BIG_384_28_diszilch()
-: <a class="el" href="big__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7">big_384_28.h</a>
-</li>
-<li>BIG_384_28_div3()
-: <a class="el" href="big__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dmod()
-: <a class="el" href="big__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dmod2m()
-: <a class="el" href="big__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dnbits()
-: <a class="el" href="big__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dnorm()
-: <a class="el" href="big__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2">big_384_28.h</a>
-</li>
-<li>BIG_384_28_doutput()
-: <a class="el" href="big__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368">big_384_28.h</a>
-</li>
-<li>BIG_384_28_drawoutput()
-: <a class="el" href="big__384__28_8h.html#afacc56ed2d110adb76534f3835129f70">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dscopy()
-: <a class="el" href="big__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dshl()
-: <a class="el" href="big__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dshr()
-: <a class="el" href="big__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dsub()
-: <a class="el" href="big__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dsucopy()
-: <a class="el" href="big__384__28_8h.html#a1a726364369270a9e29464eeb9aee469">big_384_28.h</a>
-</li>
-<li>BIG_384_28_dzero()
-: <a class="el" href="big__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fromBytes()
-: <a class="el" href="big__384__28_8h.html#a51b34c564e69a54e167e4327dc712219">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fromBytesLen()
-: <a class="el" href="big__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fshl()
-: <a class="el" href="big__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8">big_384_28.h</a>
-</li>
-<li>BIG_384_28_fshr()
-: <a class="el" href="big__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784">big_384_28.h</a>
-</li>
-<li>BIG_384_28_imul()
-: <a class="el" href="big__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d">big_384_28.h</a>
-</li>
-<li>BIG_384_28_inc()
-: <a class="el" href="big__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0">big_384_28.h</a>
-</li>
-<li>BIG_384_28_invmod2m()
-: <a class="el" href="big__384__28_8h.html#a7fe701290d9d38d84514372f424187c5">big_384_28.h</a>
-</li>
-<li>BIG_384_28_invmodp()
-: <a class="el" href="big__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a">big_384_28.h</a>
-</li>
-<li>BIG_384_28_isunity()
-: <a class="el" href="big__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390">big_384_28.h</a>
-</li>
-<li>BIG_384_28_iszilch()
-: <a class="el" href="big__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_jacobi()
-: <a class="el" href="big__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5">big_384_28.h</a>
-</li>
-<li>BIG_384_28_lastbits()
-: <a class="el" href="big__384__28_8h.html#a11b73740018af049295c35189bceac13">big_384_28.h</a>
-</li>
-<li>BIG_384_28_mod()
-: <a class="el" href="big__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_mod2m()
-: <a class="el" href="big__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_moddiv()
-: <a class="el" href="big__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261">big_384_28.h</a>
-</li>
-<li>BIG_384_28_modmul()
-: <a class="el" href="big__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_modneg()
-: <a class="el" href="big__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077">big_384_28.h</a>
-</li>
-<li>BIG_384_28_modsqr()
-: <a class="el" href="big__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81">big_384_28.h</a>
-</li>
-<li>BIG_384_28_monty()
-: <a class="el" href="big__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_mul()
-: <a class="el" href="big__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723">big_384_28.h</a>
-</li>
-<li>BIG_384_28_nbits()
-: <a class="el" href="big__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4">big_384_28.h</a>
-</li>
-<li>BIG_384_28_norm()
-: <a class="el" href="big__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600">big_384_28.h</a>
-</li>
-<li>BIG_384_28_one()
-: <a class="el" href="big__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424">big_384_28.h</a>
-</li>
-<li>BIG_384_28_or()
-: <a class="el" href="big__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c">big_384_28.h</a>
-</li>
-<li>BIG_384_28_output()
-: <a class="el" href="big__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6">big_384_28.h</a>
-</li>
-<li>BIG_384_28_parity()
-: <a class="el" href="big__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4">big_384_28.h</a>
-</li>
-<li>BIG_384_28_pmul()
-: <a class="el" href="big__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e">big_384_28.h</a>
-</li>
-<li>BIG_384_28_pxmul()
-: <a class="el" href="big__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03">big_384_28.h</a>
-</li>
-<li>BIG_384_28_random()
-: <a class="el" href="big__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015">big_384_28.h</a>
-</li>
-<li>BIG_384_28_randomnum()
-: <a class="el" href="big__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20">big_384_28.h</a>
-</li>
-<li>BIG_384_28_rawoutput()
-: <a class="el" href="big__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b">big_384_28.h</a>
-</li>
-<li>BIG_384_28_rcopy()
-: <a class="el" href="big__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sdcopy()
-: <a class="el" href="big__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sdiv()
-: <a class="el" href="big__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sducopy()
-: <a class="el" href="big__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8">big_384_28.h</a>
-</li>
-<li>BIG_384_28_shl()
-: <a class="el" href="big__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71">big_384_28.h</a>
-</li>
-<li>BIG_384_28_shr()
-: <a class="el" href="big__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637">big_384_28.h</a>
-</li>
-<li>BIG_384_28_smul()
-: <a class="el" href="big__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1">big_384_28.h</a>
-</li>
-<li>BIG_384_28_split()
-: <a class="el" href="big__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sqr()
-: <a class="el" href="big__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651">big_384_28.h</a>
-</li>
-<li>BIG_384_28_ssn()
-: <a class="el" href="big__384__28_8h.html#ae24758a390284bae57bd3bc25543309d">big_384_28.h</a>
-</li>
-<li>BIG_384_28_sub()
-: <a class="el" href="big__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998">big_384_28.h</a>
-</li>
-<li>BIG_384_28_toBytes()
-: <a class="el" href="big__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9">big_384_28.h</a>
-</li>
-<li>BIG_384_28_zero()
-: <a class="el" href="big__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c">big_384_28.h</a>
-</li>
-<li>BIG_384_29_add()
-: <a class="el" href="big__384__29_8h.html#ae8a33809748e86abf38be6a82ee48dbc">big_384_29.h</a>
-</li>
-<li>BIG_384_29_bit()
-: <a class="el" href="big__384__29_8h.html#a76a57f414f2b3be61fa038ec2a016bb0">big_384_29.h</a>
-</li>
-<li>BIG_384_29_cmove()
-: <a class="el" href="big__384__29_8h.html#aab35f8dbaae1db3e43babae24a220297">big_384_29.h</a>
-</li>
-<li>BIG_384_29_comp()
-: <a class="el" href="big__384__29_8h.html#ac06efcddbe91d806bf4b8c01c56f08ca">big_384_29.h</a>
-</li>
-<li>BIG_384_29_copy()
-: <a class="el" href="big__384__29_8h.html#aaa87c91cf1a4e235b4e57061744b7488">big_384_29.h</a>
-</li>
-<li>BIG_384_29_cswap()
-: <a class="el" href="big__384__29_8h.html#a5a848fbcf9248fdf5f123ad831f0eb36">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dadd()
-: <a class="el" href="big__384__29_8h.html#a80012252d35e1f39786cb8020b2dbc27">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dcmove()
-: <a class="el" href="big__384__29_8h.html#a550d58a56c3336f2b0a5895aeb61b72b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dcomp()
-: <a class="el" href="big__384__29_8h.html#a0b99018225d825960c70dd1a213c581b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dcopy()
-: <a class="el" href="big__384__29_8h.html#a31493a223d149d150b81109af2622e68">big_384_29.h</a>
-</li>
-<li>BIG_384_29_ddiv()
-: <a class="el" href="big__384__29_8h.html#a4089cb6ff0368f04bb1d415c9ceb1c72">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dec()
-: <a class="el" href="big__384__29_8h.html#a9606f885cd731e6bb70ed43c0fb56de9">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dfromBytesLen()
-: <a class="el" href="big__384__29_8h.html#aebcaf728ea21b894d4f40f2ce84b06e5">big_384_29.h</a>
-</li>
-<li>BIG_384_29_diszilch()
-: <a class="el" href="big__384__29_8h.html#a16caa5b2e994f3b3b09d4a4952970977">big_384_29.h</a>
-</li>
-<li>BIG_384_29_div3()
-: <a class="el" href="big__384__29_8h.html#aa5f1a4ab6733b7f7d6d241ee5062c2de">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dmod()
-: <a class="el" href="big__384__29_8h.html#a042d957754ebc5d6847abf0c0ed613f9">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dmod2m()
-: <a class="el" href="big__384__29_8h.html#ad5942c0c1f2816790ec4c6fac63fb934">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dnbits()
-: <a class="el" href="big__384__29_8h.html#a442287e511b421462af841b34fce153b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dnorm()
-: <a class="el" href="big__384__29_8h.html#a9109a9ab947921c2831aaeb359e16828">big_384_29.h</a>
-</li>
-<li>BIG_384_29_doutput()
-: <a class="el" href="big__384__29_8h.html#a298aa7a0970303e8d65d6653fa72ba24">big_384_29.h</a>
-</li>
-<li>BIG_384_29_drawoutput()
-: <a class="el" href="big__384__29_8h.html#a16f67ff9a20a55edadfd8b1dd6d7a2e8">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dscopy()
-: <a class="el" href="big__384__29_8h.html#a84ac3f34e8a03c0e8f5e3a6d1a856442">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dshl()
-: <a class="el" href="big__384__29_8h.html#a66077e9acce3a88340f7555136248e81">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dshr()
-: <a class="el" href="big__384__29_8h.html#a01b53c51d421c61e4b09ad5ab88995f5">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dsub()
-: <a class="el" href="big__384__29_8h.html#a8e8bf34c64b05b903b9027541825547d">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dsucopy()
-: <a class="el" href="big__384__29_8h.html#a461b13e8431b6341e9c0f18e171e30a1">big_384_29.h</a>
-</li>
-<li>BIG_384_29_dzero()
-: <a class="el" href="big__384__29_8h.html#a58d1c2c922f53294419dd7a491bfac43">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fromBytes()
-: <a class="el" href="big__384__29_8h.html#a611c1c3a2087a61ca8aca6702a501e7d">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fromBytesLen()
-: <a class="el" href="big__384__29_8h.html#ab26f93bbc86ea2938b1d640d50baf514">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fshl()
-: <a class="el" href="big__384__29_8h.html#a534f2208022d5711bc1ce450e7822205">big_384_29.h</a>
-</li>
-<li>BIG_384_29_fshr()
-: <a class="el" href="big__384__29_8h.html#aacf67d3558e177d1e90e6779449062de">big_384_29.h</a>
-</li>
-<li>BIG_384_29_imul()
-: <a class="el" href="big__384__29_8h.html#ad19895d08db9aeebf44eff2cc1dafb52">big_384_29.h</a>
-</li>
-<li>BIG_384_29_inc()
-: <a class="el" href="big__384__29_8h.html#abd830342f83d91806905d61288ff1a89">big_384_29.h</a>
-</li>
-<li>BIG_384_29_invmod2m()
-: <a class="el" href="big__384__29_8h.html#ad24cf08aefb349c5ec7d384fb26d4a3c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_invmodp()
-: <a class="el" href="big__384__29_8h.html#a39adf092cc3e1e0d5f98acaebcf4dd2f">big_384_29.h</a>
-</li>
-<li>BIG_384_29_isunity()
-: <a class="el" href="big__384__29_8h.html#a239235d13ab7ea1c82070ea771293f18">big_384_29.h</a>
-</li>
-<li>BIG_384_29_iszilch()
-: <a class="el" href="big__384__29_8h.html#a69ba68e3a4efc01da04050cc79706680">big_384_29.h</a>
-</li>
-<li>BIG_384_29_jacobi()
-: <a class="el" href="big__384__29_8h.html#af934ab3c68b97302df91f99bbb83a2b0">big_384_29.h</a>
-</li>
-<li>BIG_384_29_lastbits()
-: <a class="el" href="big__384__29_8h.html#a40be50b37b5e4515902c22dad2f156ef">big_384_29.h</a>
-</li>
-<li>BIG_384_29_mod()
-: <a class="el" href="big__384__29_8h.html#a5e429b6a38eff8bc3d7e984e506b92ee">big_384_29.h</a>
-</li>
-<li>BIG_384_29_mod2m()
-: <a class="el" href="big__384__29_8h.html#a2eb7feb42ec2e26b6d413bc27161b003">big_384_29.h</a>
-</li>
-<li>BIG_384_29_moddiv()
-: <a class="el" href="big__384__29_8h.html#ad1ecea87aa16f997ac5926c559c56bf5">big_384_29.h</a>
-</li>
-<li>BIG_384_29_modmul()
-: <a class="el" href="big__384__29_8h.html#a83339bca9b54d2c662b82563aa2cab6e">big_384_29.h</a>
-</li>
-<li>BIG_384_29_modneg()
-: <a class="el" href="big__384__29_8h.html#a9a3aab2f941d3ad88fe09a884ce4bbf3">big_384_29.h</a>
-</li>
-<li>BIG_384_29_modsqr()
-: <a class="el" href="big__384__29_8h.html#a8711ca578f23cc48a617bd707696951a">big_384_29.h</a>
-</li>
-<li>BIG_384_29_monty()
-: <a class="el" href="big__384__29_8h.html#ab5123a78afa3994d0cf7d544317f6a80">big_384_29.h</a>
-</li>
-<li>BIG_384_29_mul()
-: <a class="el" href="big__384__29_8h.html#acc2d3df7f8f1ad51ee78d34f1e6a481b">big_384_29.h</a>
-</li>
-<li>BIG_384_29_nbits()
-: <a class="el" href="big__384__29_8h.html#ad60635d46eb5edd3b8f422fd9094e04c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_norm()
-: <a class="el" href="big__384__29_8h.html#adae96ed56ad1402b54f0a5a1222d8f87">big_384_29.h</a>
-</li>
-<li>BIG_384_29_one()
-: <a class="el" href="big__384__29_8h.html#a885fa7c4bf3a44ff79768ed0d83c80ec">big_384_29.h</a>
-</li>
-<li>BIG_384_29_or()
-: <a class="el" href="big__384__29_8h.html#abc3c04e91c8a5e1336ca2c4fd2744492">big_384_29.h</a>
-</li>
-<li>BIG_384_29_output()
-: <a class="el" href="big__384__29_8h.html#ade4da533b2f4d9e98b4ce291dc9e9019">big_384_29.h</a>
-</li>
-<li>BIG_384_29_parity()
-: <a class="el" href="big__384__29_8h.html#a4c2b8fc522862ee9f466dcb227a6a278">big_384_29.h</a>
-</li>
-<li>BIG_384_29_pmul()
-: <a class="el" href="big__384__29_8h.html#a4141ae18ee04ccefb2d1bf110b935ec0">big_384_29.h</a>
-</li>
-<li>BIG_384_29_pxmul()
-: <a class="el" href="big__384__29_8h.html#a7af0ca6c0f3147ee53ab842ee0d573f7">big_384_29.h</a>
-</li>
-<li>BIG_384_29_random()
-: <a class="el" href="big__384__29_8h.html#ab47d90d426deb85d60b6677eda549e78">big_384_29.h</a>
-</li>
-<li>BIG_384_29_randomnum()
-: <a class="el" href="big__384__29_8h.html#a9771f9ed803f3be53c92db25f6e059fb">big_384_29.h</a>
-</li>
-<li>BIG_384_29_rawoutput()
-: <a class="el" href="big__384__29_8h.html#a82a583012fcdf4a28fd8895d6d086374">big_384_29.h</a>
-</li>
-<li>BIG_384_29_rcopy()
-: <a class="el" href="big__384__29_8h.html#ad0821bce35e6e5adfef3461fc18c3872">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sdcopy()
-: <a class="el" href="big__384__29_8h.html#a331c8e2de95479761e68bfa83e640445">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sdiv()
-: <a class="el" href="big__384__29_8h.html#a396198fbeb743b7ad4f7f80c2934f965">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sducopy()
-: <a class="el" href="big__384__29_8h.html#af84298cbd89cb60dfefe7df04e4ac165">big_384_29.h</a>
-</li>
-<li>BIG_384_29_shl()
-: <a class="el" href="big__384__29_8h.html#a6d9b60bba362a7654da3e79a0364e84c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_shr()
-: <a class="el" href="big__384__29_8h.html#a3260b1ddfce0d1b53a94b8c5dcdcbec8">big_384_29.h</a>
-</li>
-<li>BIG_384_29_smul()
-: <a class="el" href="big__384__29_8h.html#af933c60ca40249a1ee97207d17ec8971">big_384_29.h</a>
-</li>
-<li>BIG_384_29_split()
-: <a class="el" href="big__384__29_8h.html#a89cba4e8778cb74d2a273749ec1fccfb">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sqr()
-: <a class="el" href="big__384__29_8h.html#af7e0e139b973fd707f3dc0416149368e">big_384_29.h</a>
-</li>
-<li>BIG_384_29_ssn()
-: <a class="el" href="big__384__29_8h.html#a944b245f8d0b3478465c737273711da6">big_384_29.h</a>
-</li>
-<li>BIG_384_29_sub()
-: <a class="el" href="big__384__29_8h.html#a4ec616ce0230484c3fe0009710f5233c">big_384_29.h</a>
-</li>
-<li>BIG_384_29_toBytes()
-: <a class="el" href="big__384__29_8h.html#a69579e616a8b921d289151ae3cc40d75">big_384_29.h</a>
-</li>
-<li>BIG_384_29_zero()
-: <a class="el" href="big__384__29_8h.html#a41e218680a464b2f6d727aee4681edb6">big_384_29.h</a>
-</li>
 <li>BIG_384_56_add()
 : <a class="el" href="big__384__56_8h.html#afe5a8c4ad2eea34b6dc4716646f77e18">big_384_56.h</a>
 </li>
@@ -2407,219 +1132,6 @@
 <li>BIG_384_58_zero()
 : <a class="el" href="big__384__58_8h.html#a13f04d7bc085d6284718d88142e68452">big_384_58.h</a>
 </li>
-<li>BIG_416_29_add()
-: <a class="el" href="big__416__29_8h.html#aaaecab31c86f7c91178702073c428a56">big_416_29.h</a>
-</li>
-<li>BIG_416_29_bit()
-: <a class="el" href="big__416__29_8h.html#a8739d1c92d694611bd97a1b5a3a2b3f8">big_416_29.h</a>
-</li>
-<li>BIG_416_29_cmove()
-: <a class="el" href="big__416__29_8h.html#a98dca944b9b0d6b06b788195adb94b56">big_416_29.h</a>
-</li>
-<li>BIG_416_29_comp()
-: <a class="el" href="big__416__29_8h.html#a2aa857e0f0079cae346d944f654c6a9b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_copy()
-: <a class="el" href="big__416__29_8h.html#af86e1bac4d01fc13e8a00105fc6f711c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_cswap()
-: <a class="el" href="big__416__29_8h.html#a77676579ad9e12c35e891cd1b3ad7bab">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dadd()
-: <a class="el" href="big__416__29_8h.html#a142b562a4d92f1f28f333bbe389b53f3">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dcmove()
-: <a class="el" href="big__416__29_8h.html#aa0522b5de35f639c86be4120fe7092dc">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dcomp()
-: <a class="el" href="big__416__29_8h.html#a9eb3d430b55cbebb52d19e653b4ea54d">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dcopy()
-: <a class="el" href="big__416__29_8h.html#a50a77138c16b74b6d3bcbe250a43bb8c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_ddiv()
-: <a class="el" href="big__416__29_8h.html#ac4957789d9712196a20deb06f46b6313">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dec()
-: <a class="el" href="big__416__29_8h.html#a6f0ea72a41d913ad587cba929f93750e">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dfromBytesLen()
-: <a class="el" href="big__416__29_8h.html#a07bf5beb7e8e387c5bab1560e4e2d6e0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_diszilch()
-: <a class="el" href="big__416__29_8h.html#a8fedbfa4e31b49e69728faa2a6f91565">big_416_29.h</a>
-</li>
-<li>BIG_416_29_div3()
-: <a class="el" href="big__416__29_8h.html#afd78a40a3ced9250c93566ad2da629da">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dmod()
-: <a class="el" href="big__416__29_8h.html#a7c517c1e3f9c042b23687ac622dfa7f9">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dmod2m()
-: <a class="el" href="big__416__29_8h.html#a0869f4718734600365ecf63d735292a1">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dnbits()
-: <a class="el" href="big__416__29_8h.html#a188c34ed572f8126c91b07760c198d39">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dnorm()
-: <a class="el" href="big__416__29_8h.html#af57fd6676ad99e00f98234b5a0e69ad8">big_416_29.h</a>
-</li>
-<li>BIG_416_29_doutput()
-: <a class="el" href="big__416__29_8h.html#a2c2a3e48ab57f28f556798c36cb8dc5e">big_416_29.h</a>
-</li>
-<li>BIG_416_29_drawoutput()
-: <a class="el" href="big__416__29_8h.html#a2558ed1d1e691f6dbab20a7a2f46af8b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dscopy()
-: <a class="el" href="big__416__29_8h.html#ae3c2caa8dc99b4c6df19d781f0d48e3f">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dshl()
-: <a class="el" href="big__416__29_8h.html#ab64483dea5dba8a8593b2f0f10aeb486">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dshr()
-: <a class="el" href="big__416__29_8h.html#acdafbd0d229c7730d380f929383a2200">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dsub()
-: <a class="el" href="big__416__29_8h.html#a48f1216d6ecbebb0d5bcc14eb94bf922">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dsucopy()
-: <a class="el" href="big__416__29_8h.html#abeea8d5acc80d509028e53a98d8a6d51">big_416_29.h</a>
-</li>
-<li>BIG_416_29_dzero()
-: <a class="el" href="big__416__29_8h.html#aa57becef0fa7d70d3049f7f4641748da">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fromBytes()
-: <a class="el" href="big__416__29_8h.html#a8164d17175332f303f47a1c38bd941d7">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fromBytesLen()
-: <a class="el" href="big__416__29_8h.html#ae2001c7fb8b395dc564ccf22bfeb4071">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fshl()
-: <a class="el" href="big__416__29_8h.html#a6f57608fc0566752282ea8a25294abc9">big_416_29.h</a>
-</li>
-<li>BIG_416_29_fshr()
-: <a class="el" href="big__416__29_8h.html#a22880937261d7f334522dca3e339deb0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_imul()
-: <a class="el" href="big__416__29_8h.html#a18802fcca173f5402edd2aa2d88066c3">big_416_29.h</a>
-</li>
-<li>BIG_416_29_inc()
-: <a class="el" href="big__416__29_8h.html#af3234bf49b27ea7202e87511577ab2c7">big_416_29.h</a>
-</li>
-<li>BIG_416_29_invmod2m()
-: <a class="el" href="big__416__29_8h.html#ac0dc297a355c4edaa71d33041c248056">big_416_29.h</a>
-</li>
-<li>BIG_416_29_invmodp()
-: <a class="el" href="big__416__29_8h.html#a991ad6a5cf98fd833b92b1aa16f49daf">big_416_29.h</a>
-</li>
-<li>BIG_416_29_isunity()
-: <a class="el" href="big__416__29_8h.html#aba62b6820581d7e01189c197e4ccb2e0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_iszilch()
-: <a class="el" href="big__416__29_8h.html#a5f21d81728b9d4fd660568eba71d3aa2">big_416_29.h</a>
-</li>
-<li>BIG_416_29_jacobi()
-: <a class="el" href="big__416__29_8h.html#af20c1841f5b7a6233f95a3bb6624ba37">big_416_29.h</a>
-</li>
-<li>BIG_416_29_lastbits()
-: <a class="el" href="big__416__29_8h.html#aef1e80b9da63d8ee67746ef86dca29a0">big_416_29.h</a>
-</li>
-<li>BIG_416_29_mod()
-: <a class="el" href="big__416__29_8h.html#acbf733277d63c290b5ad34fc1ee925ba">big_416_29.h</a>
-</li>
-<li>BIG_416_29_mod2m()
-: <a class="el" href="big__416__29_8h.html#a64652c0104675781e738ab2fff57f36d">big_416_29.h</a>
-</li>
-<li>BIG_416_29_moddiv()
-: <a class="el" href="big__416__29_8h.html#a3f53541771281fc6b8dc44a481db8f7c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_modmul()
-: <a class="el" href="big__416__29_8h.html#af7b5a01fff9bec531bbb90eb258fde44">big_416_29.h</a>
-</li>
-<li>BIG_416_29_modneg()
-: <a class="el" href="big__416__29_8h.html#a8729f78f44c7ea52e4c7884744aa94f1">big_416_29.h</a>
-</li>
-<li>BIG_416_29_modsqr()
-: <a class="el" href="big__416__29_8h.html#ad9b04c927ffb3cd630e4c016db03209b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_monty()
-: <a class="el" href="big__416__29_8h.html#a7ae79b99e9ee26d60c28aa3127daa041">big_416_29.h</a>
-</li>
-<li>BIG_416_29_mul()
-: <a class="el" href="big__416__29_8h.html#adb81f17df70c4e35eec8aee20b098065">big_416_29.h</a>
-</li>
-<li>BIG_416_29_nbits()
-: <a class="el" href="big__416__29_8h.html#a2cd3c7ff47a7593f5a5f1a65811f4dfd">big_416_29.h</a>
-</li>
-<li>BIG_416_29_norm()
-: <a class="el" href="big__416__29_8h.html#a661d1791cd3385de1001a0bbbdd06941">big_416_29.h</a>
-</li>
-<li>BIG_416_29_one()
-: <a class="el" href="big__416__29_8h.html#a0c9bb0b78533bd9738759301e40e5f9a">big_416_29.h</a>
-</li>
-<li>BIG_416_29_or()
-: <a class="el" href="big__416__29_8h.html#a6d68fc022e6b069927dc11795e4aab3b">big_416_29.h</a>
-</li>
-<li>BIG_416_29_output()
-: <a class="el" href="big__416__29_8h.html#a2224807ec96be55f42f009ab092a480e">big_416_29.h</a>
-</li>
-<li>BIG_416_29_parity()
-: <a class="el" href="big__416__29_8h.html#a0d6beee9da1345bfc6b9a26d044bfb6f">big_416_29.h</a>
-</li>
-<li>BIG_416_29_pmul()
-: <a class="el" href="big__416__29_8h.html#ae5841499ea880e9977d32a1799f7f475">big_416_29.h</a>
-</li>
-<li>BIG_416_29_pxmul()
-: <a class="el" href="big__416__29_8h.html#adf110cc273b34fe5126cf6665342e206">big_416_29.h</a>
-</li>
-<li>BIG_416_29_random()
-: <a class="el" href="big__416__29_8h.html#a707a430d9d3a2e04fdad7d66ef00799c">big_416_29.h</a>
-</li>
-<li>BIG_416_29_randomnum()
-: <a class="el" href="big__416__29_8h.html#a6765f3c27ff80da9b6d2ebad01509490">big_416_29.h</a>
-</li>
-<li>BIG_416_29_rawoutput()
-: <a class="el" href="big__416__29_8h.html#a4c3e625f14d5c519876b3d8f0f1a6158">big_416_29.h</a>
-</li>
-<li>BIG_416_29_rcopy()
-: <a class="el" href="big__416__29_8h.html#aab573c7bfe0bc79f45fa4b197ee8971d">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sdcopy()
-: <a class="el" href="big__416__29_8h.html#a9af71f1d5e1005c228278cb95cd2c3e1">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sdiv()
-: <a class="el" href="big__416__29_8h.html#af32886944ce9af389079dc6bc0976986">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sducopy()
-: <a class="el" href="big__416__29_8h.html#a615066df2a33ddc16c1f2a904b5e86e6">big_416_29.h</a>
-</li>
-<li>BIG_416_29_shl()
-: <a class="el" href="big__416__29_8h.html#a9a7f77ea084fb68385803d7ddaeed2fe">big_416_29.h</a>
-</li>
-<li>BIG_416_29_shr()
-: <a class="el" href="big__416__29_8h.html#a6dd5a3f74265f7ba5947ebccc5a90042">big_416_29.h</a>
-</li>
-<li>BIG_416_29_smul()
-: <a class="el" href="big__416__29_8h.html#a9df539ba2f02afd73c10acdfc4364a03">big_416_29.h</a>
-</li>
-<li>BIG_416_29_split()
-: <a class="el" href="big__416__29_8h.html#a374674ab8939e7c1fd154cb51ff80e78">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sqr()
-: <a class="el" href="big__416__29_8h.html#adb89f95d8e956d0c3894fa0e9e4c7023">big_416_29.h</a>
-</li>
-<li>BIG_416_29_ssn()
-: <a class="el" href="big__416__29_8h.html#a9faf6d033461ddbfa26d1a7d1710a0af">big_416_29.h</a>
-</li>
-<li>BIG_416_29_sub()
-: <a class="el" href="big__416__29_8h.html#acad58ac85a661817c26d45b784e56c10">big_416_29.h</a>
-</li>
-<li>BIG_416_29_toBytes()
-: <a class="el" href="big__416__29_8h.html#afef53d763389177bdf29e1eafef7ce69">big_416_29.h</a>
-</li>
-<li>BIG_416_29_zero()
-: <a class="el" href="big__416__29_8h.html#a18a194e4b947f6fb331e61e9582bf472">big_416_29.h</a>
-</li>
 <li>BIG_416_60_add()
 : <a class="el" href="big__416__60_8h.html#a883040938971d37c87ff7b02715a502f">big_416_60.h</a>
 </li>
@@ -2833,219 +1345,6 @@
 <li>BIG_416_60_zero()
 : <a class="el" href="big__416__60_8h.html#a8f397375caa86766a11272fb9090f12c">big_416_60.h</a>
 </li>
-<li>BIG_448_29_add()
-: <a class="el" href="big__448__29_8h.html#a52732e32df914610f06d71e66ae0aaee">big_448_29.h</a>
-</li>
-<li>BIG_448_29_bit()
-: <a class="el" href="big__448__29_8h.html#af024cd5305a28c602df5eabae1b1afd6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_cmove()
-: <a class="el" href="big__448__29_8h.html#aab522df22af3d6f8452a9f1ed5f6e787">big_448_29.h</a>
-</li>
-<li>BIG_448_29_comp()
-: <a class="el" href="big__448__29_8h.html#a96d9269f5721a09b9e9241928241544e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_copy()
-: <a class="el" href="big__448__29_8h.html#acbc8ffb914448e131b56eb4c3ba53fc1">big_448_29.h</a>
-</li>
-<li>BIG_448_29_cswap()
-: <a class="el" href="big__448__29_8h.html#aa0337aa7b6bb10b213193277b6706a07">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dadd()
-: <a class="el" href="big__448__29_8h.html#abd5e5c67823d3e9e195cbbad446b8f2b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dcmove()
-: <a class="el" href="big__448__29_8h.html#a13a3c52ecff409475050fb20b196a4ec">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dcomp()
-: <a class="el" href="big__448__29_8h.html#a0539172f8147c115c9132f3a7dc0912a">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dcopy()
-: <a class="el" href="big__448__29_8h.html#afb1ba79905bb33694bbf515ee7c3d2bd">big_448_29.h</a>
-</li>
-<li>BIG_448_29_ddiv()
-: <a class="el" href="big__448__29_8h.html#a84096083bf0954b59f2925648c7a137a">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dec()
-: <a class="el" href="big__448__29_8h.html#ac046e873f702c3c6ba84a45283591d0c">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dfromBytesLen()
-: <a class="el" href="big__448__29_8h.html#aefe85187833ee1017452f0c48b2df544">big_448_29.h</a>
-</li>
-<li>BIG_448_29_diszilch()
-: <a class="el" href="big__448__29_8h.html#adc34c5a4a04536b69ef88d01318b293f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_div3()
-: <a class="el" href="big__448__29_8h.html#a51937f4122d05f03a9583d1528cd6897">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dmod()
-: <a class="el" href="big__448__29_8h.html#a7ef793e983e087bcb9bf54a73de8c8e6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dmod2m()
-: <a class="el" href="big__448__29_8h.html#a3afb2ac3160292e8c72f614a4c5689f2">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dnbits()
-: <a class="el" href="big__448__29_8h.html#a8c33ce4cfa01dd3bbb8d2916f0e30e1b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dnorm()
-: <a class="el" href="big__448__29_8h.html#a1592d268df6258a58b6d4efa05e6eb41">big_448_29.h</a>
-</li>
-<li>BIG_448_29_doutput()
-: <a class="el" href="big__448__29_8h.html#a5df84f06f1ecdb4f4d0740fb65953f94">big_448_29.h</a>
-</li>
-<li>BIG_448_29_drawoutput()
-: <a class="el" href="big__448__29_8h.html#a2aef6adc137f20abe66c013fdc089453">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dscopy()
-: <a class="el" href="big__448__29_8h.html#a4cca42c269c38dd1c098e2ef5f9b2ef6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dshl()
-: <a class="el" href="big__448__29_8h.html#a26445e5623108ee6104ef5afd7807b61">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dshr()
-: <a class="el" href="big__448__29_8h.html#aeeb1c94512a234362e1fd43dea0aecdb">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dsub()
-: <a class="el" href="big__448__29_8h.html#a690d7ffa0c2b7df6561011bd6156dd43">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dsucopy()
-: <a class="el" href="big__448__29_8h.html#ac7a8bd538830bd4938bdb96555962f91">big_448_29.h</a>
-</li>
-<li>BIG_448_29_dzero()
-: <a class="el" href="big__448__29_8h.html#acdf8614e386d747a7b3609c865a3b808">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fromBytes()
-: <a class="el" href="big__448__29_8h.html#a558045a997bfd9f332d0dc56182da244">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fromBytesLen()
-: <a class="el" href="big__448__29_8h.html#a241537567b6f575209f356b938f5d8f5">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fshl()
-: <a class="el" href="big__448__29_8h.html#a97a62e56535b72fd5449154e9c842ba6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_fshr()
-: <a class="el" href="big__448__29_8h.html#a49e73322bb56496afcd9594983166c15">big_448_29.h</a>
-</li>
-<li>BIG_448_29_imul()
-: <a class="el" href="big__448__29_8h.html#a6de5e0385019f0c93dae2b23230299f8">big_448_29.h</a>
-</li>
-<li>BIG_448_29_inc()
-: <a class="el" href="big__448__29_8h.html#a8f36f4e7ab6f2e9fe4ed06cec28153d5">big_448_29.h</a>
-</li>
-<li>BIG_448_29_invmod2m()
-: <a class="el" href="big__448__29_8h.html#a0fb2aab64a09f62ba22061339ddca874">big_448_29.h</a>
-</li>
-<li>BIG_448_29_invmodp()
-: <a class="el" href="big__448__29_8h.html#a2806d6e8f34c46c6a4f7fddaba57179a">big_448_29.h</a>
-</li>
-<li>BIG_448_29_isunity()
-: <a class="el" href="big__448__29_8h.html#a54fe1672b4ae68f10c9b91e251adaabc">big_448_29.h</a>
-</li>
-<li>BIG_448_29_iszilch()
-: <a class="el" href="big__448__29_8h.html#a09c7553a6d3bddeb319b6847b95b206f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_jacobi()
-: <a class="el" href="big__448__29_8h.html#ab76cfe2635aa04110808b1a56f55d967">big_448_29.h</a>
-</li>
-<li>BIG_448_29_lastbits()
-: <a class="el" href="big__448__29_8h.html#a856f088af44e66b839436be19d0cbfb4">big_448_29.h</a>
-</li>
-<li>BIG_448_29_mod()
-: <a class="el" href="big__448__29_8h.html#ac9094c3c5eb5d967cebb5a66b581ec9b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_mod2m()
-: <a class="el" href="big__448__29_8h.html#aa137e18bd8ac5429bb2b9e2ee4be83e8">big_448_29.h</a>
-</li>
-<li>BIG_448_29_moddiv()
-: <a class="el" href="big__448__29_8h.html#a33832c68e0adcf25dba53fd6c5d9c4dd">big_448_29.h</a>
-</li>
-<li>BIG_448_29_modmul()
-: <a class="el" href="big__448__29_8h.html#a737a0b66f8a4ac411d473961d63bfa84">big_448_29.h</a>
-</li>
-<li>BIG_448_29_modneg()
-: <a class="el" href="big__448__29_8h.html#aa240fed64c7cff4d2589e8f5f57cc4bc">big_448_29.h</a>
-</li>
-<li>BIG_448_29_modsqr()
-: <a class="el" href="big__448__29_8h.html#a9418b0503eaca5e00710291c6e824e65">big_448_29.h</a>
-</li>
-<li>BIG_448_29_monty()
-: <a class="el" href="big__448__29_8h.html#ac59e9444d4495f12d5ef69d88f1d64f9">big_448_29.h</a>
-</li>
-<li>BIG_448_29_mul()
-: <a class="el" href="big__448__29_8h.html#ac0bf30b8a5963b8f019da2a3123916ca">big_448_29.h</a>
-</li>
-<li>BIG_448_29_nbits()
-: <a class="el" href="big__448__29_8h.html#a2f758afc90b97744fcbc4092b371f942">big_448_29.h</a>
-</li>
-<li>BIG_448_29_norm()
-: <a class="el" href="big__448__29_8h.html#ad28e337ec4df64509040ae03e6d5a454">big_448_29.h</a>
-</li>
-<li>BIG_448_29_one()
-: <a class="el" href="big__448__29_8h.html#aee02676b57dce89300afc580a6b84579">big_448_29.h</a>
-</li>
-<li>BIG_448_29_or()
-: <a class="el" href="big__448__29_8h.html#a4fb00fa3b6c2c24987257f6a33955e1c">big_448_29.h</a>
-</li>
-<li>BIG_448_29_output()
-: <a class="el" href="big__448__29_8h.html#af57fb9d2c6f6573fbf07caf4cb7c8505">big_448_29.h</a>
-</li>
-<li>BIG_448_29_parity()
-: <a class="el" href="big__448__29_8h.html#af33649f8023f525098d9d55d87ea47b9">big_448_29.h</a>
-</li>
-<li>BIG_448_29_pmul()
-: <a class="el" href="big__448__29_8h.html#a81ef91f38192d1fbdc5826a6d09b2b28">big_448_29.h</a>
-</li>
-<li>BIG_448_29_pxmul()
-: <a class="el" href="big__448__29_8h.html#a5e73af51900b138efd372c1c1faf38ef">big_448_29.h</a>
-</li>
-<li>BIG_448_29_random()
-: <a class="el" href="big__448__29_8h.html#ad247cced03511c10360dc3f09e46664e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_randomnum()
-: <a class="el" href="big__448__29_8h.html#a8e22d200d8827af9686391514c2a11fc">big_448_29.h</a>
-</li>
-<li>BIG_448_29_rawoutput()
-: <a class="el" href="big__448__29_8h.html#a095f347843aefe767bfe2801abb8b770">big_448_29.h</a>
-</li>
-<li>BIG_448_29_rcopy()
-: <a class="el" href="big__448__29_8h.html#ae91f2b61abbf35ff8eead23ff33dbcc6">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sdcopy()
-: <a class="el" href="big__448__29_8h.html#a7fbfcd1c557637a639650765514fd13f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sdiv()
-: <a class="el" href="big__448__29_8h.html#a58883fddbb7cec0eae17da2628455e2b">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sducopy()
-: <a class="el" href="big__448__29_8h.html#aff258f5a582cc9a517ddac40a426c1c2">big_448_29.h</a>
-</li>
-<li>BIG_448_29_shl()
-: <a class="el" href="big__448__29_8h.html#a4f42b9409fc90afb337c086f36b99b0f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_shr()
-: <a class="el" href="big__448__29_8h.html#ae2edc8357240da28f4abde11918fba1e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_smul()
-: <a class="el" href="big__448__29_8h.html#ad050214613920f9b77dc0b8f5ce10d18">big_448_29.h</a>
-</li>
-<li>BIG_448_29_split()
-: <a class="el" href="big__448__29_8h.html#a3bad363fa21dc4b598d833758e86b5de">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sqr()
-: <a class="el" href="big__448__29_8h.html#a34ab101faf200fbc482ab23e6c09d45e">big_448_29.h</a>
-</li>
-<li>BIG_448_29_ssn()
-: <a class="el" href="big__448__29_8h.html#a4d22bc595ce5949ef5e1fcfc79d769a8">big_448_29.h</a>
-</li>
-<li>BIG_448_29_sub()
-: <a class="el" href="big__448__29_8h.html#a38bad8b10d13490e1608c18122d1757f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_toBytes()
-: <a class="el" href="big__448__29_8h.html#a58fe5186e333019079a63dd29e4de06f">big_448_29.h</a>
-</li>
-<li>BIG_448_29_zero()
-: <a class="el" href="big__448__29_8h.html#a6e430482d15f64c789d7040d3a5ee496">big_448_29.h</a>
-</li>
 <li>BIG_448_58_add()
 : <a class="el" href="big__448__58_8h.html#a14543e42824e22d254e56d3a7e4109e8">big_448_58.h</a>
 </li>
@@ -3259,219 +1558,6 @@
 <li>BIG_448_58_zero()
 : <a class="el" href="big__448__58_8h.html#acc8be96327c22943e311daec9ee49e51">big_448_58.h</a>
 </li>
-<li>BIG_464_28_add()
-: <a class="el" href="big__464__28_8h.html#a01fba33d068023a78a7e2399a2d3f07f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_bit()
-: <a class="el" href="big__464__28_8h.html#a7e046da56c962175f6c7c4312a64bce0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_cmove()
-: <a class="el" href="big__464__28_8h.html#add5c49897dd8e26b3269b1038df97c28">big_464_28.h</a>
-</li>
-<li>BIG_464_28_comp()
-: <a class="el" href="big__464__28_8h.html#a9e2b62f83f21d6f884db7a7ae0e8d537">big_464_28.h</a>
-</li>
-<li>BIG_464_28_copy()
-: <a class="el" href="big__464__28_8h.html#a4892332c418b37b4fa9027fc9405df34">big_464_28.h</a>
-</li>
-<li>BIG_464_28_cswap()
-: <a class="el" href="big__464__28_8h.html#a8332be15edc398cab818bdf8f9e27e30">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dadd()
-: <a class="el" href="big__464__28_8h.html#ad328a582c2ff182f85ae885fd799e19a">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dcmove()
-: <a class="el" href="big__464__28_8h.html#ad803aa419dc66098a6dbad0f67788db9">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dcomp()
-: <a class="el" href="big__464__28_8h.html#ab7be7f30052024ad9d37b7170f16c860">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dcopy()
-: <a class="el" href="big__464__28_8h.html#a81db2e111447b6f7e40dbd6e44763600">big_464_28.h</a>
-</li>
-<li>BIG_464_28_ddiv()
-: <a class="el" href="big__464__28_8h.html#a170c3ec8d24143938f38b05dc3931e4e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dec()
-: <a class="el" href="big__464__28_8h.html#a576bd55c0333c2d11d90b89f5cd2b648">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dfromBytesLen()
-: <a class="el" href="big__464__28_8h.html#a83bccbe89705edcfd1b9d241133f8585">big_464_28.h</a>
-</li>
-<li>BIG_464_28_diszilch()
-: <a class="el" href="big__464__28_8h.html#a8873d18682136ced76e6d2b11b77c720">big_464_28.h</a>
-</li>
-<li>BIG_464_28_div3()
-: <a class="el" href="big__464__28_8h.html#a7876c8124d59c11230c448e228f55496">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dmod()
-: <a class="el" href="big__464__28_8h.html#a0115b32f39fb88dd5409a22b7f9eb451">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dmod2m()
-: <a class="el" href="big__464__28_8h.html#a7a16ef52578c6f8d82c11acee18abf44">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dnbits()
-: <a class="el" href="big__464__28_8h.html#ac198589116dba16e32428e99c3b638d4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dnorm()
-: <a class="el" href="big__464__28_8h.html#af2c8da5bf433447918f3ba52a458ef50">big_464_28.h</a>
-</li>
-<li>BIG_464_28_doutput()
-: <a class="el" href="big__464__28_8h.html#ada5a1e39644074621868023b27a60271">big_464_28.h</a>
-</li>
-<li>BIG_464_28_drawoutput()
-: <a class="el" href="big__464__28_8h.html#a3dbae90aeb9ec645ca3ad40e970bfad0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dscopy()
-: <a class="el" href="big__464__28_8h.html#abe50a0e09ed4f83437d0782b97e2d283">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dshl()
-: <a class="el" href="big__464__28_8h.html#a36d4bfbbea2d5aab754c52cacc1554d9">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dshr()
-: <a class="el" href="big__464__28_8h.html#a7c230f00e209d55db735496223beff32">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dsub()
-: <a class="el" href="big__464__28_8h.html#a8c4beeaa8b6b210a16dd6043d87facde">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dsucopy()
-: <a class="el" href="big__464__28_8h.html#a42f2328339f3a76e959ca6790747833f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_dzero()
-: <a class="el" href="big__464__28_8h.html#a55deb4651e0611492c4d72ec8e6ae48f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fromBytes()
-: <a class="el" href="big__464__28_8h.html#ad23433b5216617ebb4994e2a89fcdbd2">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fromBytesLen()
-: <a class="el" href="big__464__28_8h.html#ac2ad39c1ecfa4496a0a8a774960a081f">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fshl()
-: <a class="el" href="big__464__28_8h.html#a51d75872491376269b703b0b187d9144">big_464_28.h</a>
-</li>
-<li>BIG_464_28_fshr()
-: <a class="el" href="big__464__28_8h.html#ab86ad92feb62edce77afa319318f07ed">big_464_28.h</a>
-</li>
-<li>BIG_464_28_imul()
-: <a class="el" href="big__464__28_8h.html#a4cc6c09b12cec697a832e228dca37f82">big_464_28.h</a>
-</li>
-<li>BIG_464_28_inc()
-: <a class="el" href="big__464__28_8h.html#af83b921ece47b22b9e2855c0b3725cdd">big_464_28.h</a>
-</li>
-<li>BIG_464_28_invmod2m()
-: <a class="el" href="big__464__28_8h.html#a35db459595ea671794c80ab9b71ff44d">big_464_28.h</a>
-</li>
-<li>BIG_464_28_invmodp()
-: <a class="el" href="big__464__28_8h.html#aa7676f91a1b5a787b528801d39c18555">big_464_28.h</a>
-</li>
-<li>BIG_464_28_isunity()
-: <a class="el" href="big__464__28_8h.html#af38ae608680b8f841bdb3b38094ef01c">big_464_28.h</a>
-</li>
-<li>BIG_464_28_iszilch()
-: <a class="el" href="big__464__28_8h.html#ae17f6314e3e3d44e435097bde278b280">big_464_28.h</a>
-</li>
-<li>BIG_464_28_jacobi()
-: <a class="el" href="big__464__28_8h.html#ae21ccff253d5a36b9238f0b4541cc3d8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_lastbits()
-: <a class="el" href="big__464__28_8h.html#a6f63c7e7427e7aadd3b702db17827e32">big_464_28.h</a>
-</li>
-<li>BIG_464_28_mod()
-: <a class="el" href="big__464__28_8h.html#af6f49a71e883e9ff42d45cb1fca5b1f8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_mod2m()
-: <a class="el" href="big__464__28_8h.html#aaf2dea9e6b3d7fa77fb2d4d3750eaea8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_moddiv()
-: <a class="el" href="big__464__28_8h.html#a09f811df3d755158129e74d177b46e09">big_464_28.h</a>
-</li>
-<li>BIG_464_28_modmul()
-: <a class="el" href="big__464__28_8h.html#ab58a6bfae78e1d113abbbfa0d199d046">big_464_28.h</a>
-</li>
-<li>BIG_464_28_modneg()
-: <a class="el" href="big__464__28_8h.html#a38477a1c29950844dae83e54762d7636">big_464_28.h</a>
-</li>
-<li>BIG_464_28_modsqr()
-: <a class="el" href="big__464__28_8h.html#a1444f02a8698df8cd4a8df0a264491b3">big_464_28.h</a>
-</li>
-<li>BIG_464_28_monty()
-: <a class="el" href="big__464__28_8h.html#a1161b90af288b686285f7aab9df75df7">big_464_28.h</a>
-</li>
-<li>BIG_464_28_mul()
-: <a class="el" href="big__464__28_8h.html#ad96f164178ce52f172cbba1b17f420cf">big_464_28.h</a>
-</li>
-<li>BIG_464_28_nbits()
-: <a class="el" href="big__464__28_8h.html#a116b4c674537ef9d628eebe6574fa832">big_464_28.h</a>
-</li>
-<li>BIG_464_28_norm()
-: <a class="el" href="big__464__28_8h.html#af1fbd32c0654114ba9245eccbcf9ea88">big_464_28.h</a>
-</li>
-<li>BIG_464_28_one()
-: <a class="el" href="big__464__28_8h.html#a7b3d04101d10292b4a770e1bc36742b4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_or()
-: <a class="el" href="big__464__28_8h.html#ad6d1592b8d0831e8ad9f06787c923f84">big_464_28.h</a>
-</li>
-<li>BIG_464_28_output()
-: <a class="el" href="big__464__28_8h.html#a9148d5caf89ac973eb08609d1fffe3e4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_parity()
-: <a class="el" href="big__464__28_8h.html#adaaebe9d8ab81efb52a36f361711271e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_pmul()
-: <a class="el" href="big__464__28_8h.html#a593691880b601f49a4d5729d1dba4a36">big_464_28.h</a>
-</li>
-<li>BIG_464_28_pxmul()
-: <a class="el" href="big__464__28_8h.html#a00cd551dc06b7b8b2b1ea60b9cf020c0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_random()
-: <a class="el" href="big__464__28_8h.html#a18bd5806011167de705ee8a8b12909e8">big_464_28.h</a>
-</li>
-<li>BIG_464_28_randomnum()
-: <a class="el" href="big__464__28_8h.html#a76a41d4d9a00d21e254d29b3b904073c">big_464_28.h</a>
-</li>
-<li>BIG_464_28_rawoutput()
-: <a class="el" href="big__464__28_8h.html#ab89c9021dadc336a7fa1c6af40245c20">big_464_28.h</a>
-</li>
-<li>BIG_464_28_rcopy()
-: <a class="el" href="big__464__28_8h.html#a62c6093e1cc70855cae598b00aa4cf9e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sdcopy()
-: <a class="el" href="big__464__28_8h.html#a9a74eb10b128a46c8b8adec292084f45">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sdiv()
-: <a class="el" href="big__464__28_8h.html#a3b04a0e4d1d079387882ad08e8b67ed0">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sducopy()
-: <a class="el" href="big__464__28_8h.html#a3f370670a174f88a173226380301335e">big_464_28.h</a>
-</li>
-<li>BIG_464_28_shl()
-: <a class="el" href="big__464__28_8h.html#a96412ef30ce1ca08ec5547dc6b145820">big_464_28.h</a>
-</li>
-<li>BIG_464_28_shr()
-: <a class="el" href="big__464__28_8h.html#a6f46bdbe352a76c013a05210e0d8bb86">big_464_28.h</a>
-</li>
-<li>BIG_464_28_smul()
-: <a class="el" href="big__464__28_8h.html#aadcd07f0bf2c54cbb0272ab1fef7bf45">big_464_28.h</a>
-</li>
-<li>BIG_464_28_split()
-: <a class="el" href="big__464__28_8h.html#ab70364e09a711b31062bc77b9161e359">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sqr()
-: <a class="el" href="big__464__28_8h.html#a273f85591ba3854fb77e13cdf9157f74">big_464_28.h</a>
-</li>
-<li>BIG_464_28_ssn()
-: <a class="el" href="big__464__28_8h.html#a97de430f46c1dc12ffc50d492bd028c4">big_464_28.h</a>
-</li>
-<li>BIG_464_28_sub()
-: <a class="el" href="big__464__28_8h.html#a75d384b9c54453e80dbcb4aa9169770d">big_464_28.h</a>
-</li>
-<li>BIG_464_28_toBytes()
-: <a class="el" href="big__464__28_8h.html#a514a3f6855c7f10e845254b77339b4ea">big_464_28.h</a>
-</li>
-<li>BIG_464_28_zero()
-: <a class="el" href="big__464__28_8h.html#a6df0a73d7102378b62a7823388bd0902">big_464_28.h</a>
-</li>
 <li>BIG_464_60_add()
 : <a class="el" href="big__464__60_8h.html#a8b1eb35189d309774f2b4e7e26d2d62b">big_464_60.h</a>
 </li>
@@ -3685,219 +1771,6 @@
 <li>BIG_464_60_zero()
 : <a class="el" href="big__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558">big_464_60.h</a>
 </li>
-<li>BIG_480_29_add()
-: <a class="el" href="big__480__29_8h.html#a379dbde52cda7fb49d4763c21e4ade1f">big_480_29.h</a>
-</li>
-<li>BIG_480_29_bit()
-: <a class="el" href="big__480__29_8h.html#a7ecd18fc05b954770738fcb645f39f0b">big_480_29.h</a>
-</li>
-<li>BIG_480_29_cmove()
-: <a class="el" href="big__480__29_8h.html#a3b8880a571de4b2dc5f3f3296d1b443a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_comp()
-: <a class="el" href="big__480__29_8h.html#af500bb84fd6877cdf1cb3ee20cf53870">big_480_29.h</a>
-</li>
-<li>BIG_480_29_copy()
-: <a class="el" href="big__480__29_8h.html#aca52a0845f993936d234186a8fc40cb3">big_480_29.h</a>
-</li>
-<li>BIG_480_29_cswap()
-: <a class="el" href="big__480__29_8h.html#a80cd574e62b21769aa661368ca0b73f5">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dadd()
-: <a class="el" href="big__480__29_8h.html#ace791cc8dec53e7d9c086cc9296603d7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dcmove()
-: <a class="el" href="big__480__29_8h.html#afdad982a51c7a9efc7e80f6a7312acf4">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dcomp()
-: <a class="el" href="big__480__29_8h.html#a3459a4e91efa951d86431ef97993d768">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dcopy()
-: <a class="el" href="big__480__29_8h.html#a8bee9574f49bad11d9c25d67efe10ab1">big_480_29.h</a>
-</li>
-<li>BIG_480_29_ddiv()
-: <a class="el" href="big__480__29_8h.html#a7b89d3fe28ea03c276552f41da06fdde">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dec()
-: <a class="el" href="big__480__29_8h.html#afcd929b8b957a8c5d7b248baa4732a79">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dfromBytesLen()
-: <a class="el" href="big__480__29_8h.html#a68f5a24d63b05fdd5fc4e98728f5e7d5">big_480_29.h</a>
-</li>
-<li>BIG_480_29_diszilch()
-: <a class="el" href="big__480__29_8h.html#a6749c3bc67333990a3bd4c7f343bbfb2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_div3()
-: <a class="el" href="big__480__29_8h.html#a6f8b2b2a556243a6f9a9bd7e95851c9e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dmod()
-: <a class="el" href="big__480__29_8h.html#a7475db0ed75a962d7880d078730ce627">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dmod2m()
-: <a class="el" href="big__480__29_8h.html#a4741b70c40e4f0405ae22d40965bbed8">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dnbits()
-: <a class="el" href="big__480__29_8h.html#afd823aae330f07224a7f0891cec24cca">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dnorm()
-: <a class="el" href="big__480__29_8h.html#a50c682e6e693965f09a20b6512cd2ab8">big_480_29.h</a>
-</li>
-<li>BIG_480_29_doutput()
-: <a class="el" href="big__480__29_8h.html#a4ff4ce206cf12ab585ce89ae6d4ab5f9">big_480_29.h</a>
-</li>
-<li>BIG_480_29_drawoutput()
-: <a class="el" href="big__480__29_8h.html#a68af6d9980e360137b36903b19196631">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dscopy()
-: <a class="el" href="big__480__29_8h.html#a40ccfa1143430d0878071677d1f1612f">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dshl()
-: <a class="el" href="big__480__29_8h.html#a5411cdc1ebac6da62d33cd7d2b22fafd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dshr()
-: <a class="el" href="big__480__29_8h.html#a258b8c20ce57bce8b1b6981b77282c3a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dsub()
-: <a class="el" href="big__480__29_8h.html#a95c51dd1666b7f8084ecc20ee14f8fea">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dsucopy()
-: <a class="el" href="big__480__29_8h.html#a59901c26ac1d1ea94412f88421881bca">big_480_29.h</a>
-</li>
-<li>BIG_480_29_dzero()
-: <a class="el" href="big__480__29_8h.html#a69a8d5e328daf4b8b89070d54ed1d1a2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fromBytes()
-: <a class="el" href="big__480__29_8h.html#a68105b21a1d78444e54f3ed017ae5e69">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fromBytesLen()
-: <a class="el" href="big__480__29_8h.html#a90eb904d4f1aae9b7872f6dee98ce14e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fshl()
-: <a class="el" href="big__480__29_8h.html#a242edeb3a03d4decf1e3fa49aab994b7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_fshr()
-: <a class="el" href="big__480__29_8h.html#a14e4ac8673cf47c1b10f318d3f4175a7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_imul()
-: <a class="el" href="big__480__29_8h.html#a2b9c63b8fe90e41045e6078d584e7726">big_480_29.h</a>
-</li>
-<li>BIG_480_29_inc()
-: <a class="el" href="big__480__29_8h.html#ad5a565020df281b4465e189c8d0633c1">big_480_29.h</a>
-</li>
-<li>BIG_480_29_invmod2m()
-: <a class="el" href="big__480__29_8h.html#a6b3c5563be78cf18c6760c793bac949d">big_480_29.h</a>
-</li>
-<li>BIG_480_29_invmodp()
-: <a class="el" href="big__480__29_8h.html#a90f031ccc185f63b7eab14fa70481dcb">big_480_29.h</a>
-</li>
-<li>BIG_480_29_isunity()
-: <a class="el" href="big__480__29_8h.html#a2f7933413edaf36c148c4608cc39a73e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_iszilch()
-: <a class="el" href="big__480__29_8h.html#a8f4bd0c84cdc7c5dd9d7d355ece09592">big_480_29.h</a>
-</li>
-<li>BIG_480_29_jacobi()
-: <a class="el" href="big__480__29_8h.html#a1e1df4be0527735fd48824b878f4cafd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_lastbits()
-: <a class="el" href="big__480__29_8h.html#a02aca3e0e40a469c2c8c566f326e42d1">big_480_29.h</a>
-</li>
-<li>BIG_480_29_mod()
-: <a class="el" href="big__480__29_8h.html#afb25b3b566346dfa4ab23a97f65eb98e">big_480_29.h</a>
-</li>
-<li>BIG_480_29_mod2m()
-: <a class="el" href="big__480__29_8h.html#ad0c703ded1cea62ad1e7b304b820811a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_moddiv()
-: <a class="el" href="big__480__29_8h.html#a31bc510fb76b54775949627bdccfbf17">big_480_29.h</a>
-</li>
-<li>BIG_480_29_modmul()
-: <a class="el" href="big__480__29_8h.html#a6e195f2a08e5f39f98272904826e4458">big_480_29.h</a>
-</li>
-<li>BIG_480_29_modneg()
-: <a class="el" href="big__480__29_8h.html#a30769ad6586c737640a240cf44fe3ccd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_modsqr()
-: <a class="el" href="big__480__29_8h.html#a15988e52f5c28d54576a5b3bf38c26e2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_monty()
-: <a class="el" href="big__480__29_8h.html#aaa8b4145014c6f41aff5eeafa855d3d6">big_480_29.h</a>
-</li>
-<li>BIG_480_29_mul()
-: <a class="el" href="big__480__29_8h.html#a7a516f7c27d1f0e2c0843e9ef35a54e2">big_480_29.h</a>
-</li>
-<li>BIG_480_29_nbits()
-: <a class="el" href="big__480__29_8h.html#ad7095568d9170f998ba8f123eeb57568">big_480_29.h</a>
-</li>
-<li>BIG_480_29_norm()
-: <a class="el" href="big__480__29_8h.html#aa7e71c50d2c580d5af8e2f8b9575b416">big_480_29.h</a>
-</li>
-<li>BIG_480_29_one()
-: <a class="el" href="big__480__29_8h.html#a2e7fabef7d1c61ae4042af344141f42f">big_480_29.h</a>
-</li>
-<li>BIG_480_29_or()
-: <a class="el" href="big__480__29_8h.html#acf692b4f12f87fc3557595c12ba197bd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_output()
-: <a class="el" href="big__480__29_8h.html#acf70eeae7372d5391d2c843af8b793da">big_480_29.h</a>
-</li>
-<li>BIG_480_29_parity()
-: <a class="el" href="big__480__29_8h.html#a1f1f3335dacc43945f7c91dfb5b14336">big_480_29.h</a>
-</li>
-<li>BIG_480_29_pmul()
-: <a class="el" href="big__480__29_8h.html#a4f9e6a79551b466c4cfa0181754b5ec0">big_480_29.h</a>
-</li>
-<li>BIG_480_29_pxmul()
-: <a class="el" href="big__480__29_8h.html#a48554072f9ef3a6252783ee43699a14c">big_480_29.h</a>
-</li>
-<li>BIG_480_29_random()
-: <a class="el" href="big__480__29_8h.html#ae064909259a290fbe3f06e655931004d">big_480_29.h</a>
-</li>
-<li>BIG_480_29_randomnum()
-: <a class="el" href="big__480__29_8h.html#a08a96bc628609eea00244c012a9c71ca">big_480_29.h</a>
-</li>
-<li>BIG_480_29_rawoutput()
-: <a class="el" href="big__480__29_8h.html#addbfff9a15b9c7eb4edf59d029e6d007">big_480_29.h</a>
-</li>
-<li>BIG_480_29_rcopy()
-: <a class="el" href="big__480__29_8h.html#a61b7e3d5eb7d54a49623c77ca016336a">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sdcopy()
-: <a class="el" href="big__480__29_8h.html#a508559243824b28d807bfaf5744019da">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sdiv()
-: <a class="el" href="big__480__29_8h.html#a381ebe44f6a99233971636b17a85a402">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sducopy()
-: <a class="el" href="big__480__29_8h.html#a87492be96bc427dcdb744de1dedef099">big_480_29.h</a>
-</li>
-<li>BIG_480_29_shl()
-: <a class="el" href="big__480__29_8h.html#afe4ed6cab228d079ca7750bab1ed1bcd">big_480_29.h</a>
-</li>
-<li>BIG_480_29_shr()
-: <a class="el" href="big__480__29_8h.html#a23f804ba0312cfeb293f06d357d6cf35">big_480_29.h</a>
-</li>
-<li>BIG_480_29_smul()
-: <a class="el" href="big__480__29_8h.html#a34882af2460305bf16480414780badb0">big_480_29.h</a>
-</li>
-<li>BIG_480_29_split()
-: <a class="el" href="big__480__29_8h.html#a81c129c3ed195c0f71759176b101a9ae">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sqr()
-: <a class="el" href="big__480__29_8h.html#a71551882d4df9b786fcaca3b9e126e7d">big_480_29.h</a>
-</li>
-<li>BIG_480_29_ssn()
-: <a class="el" href="big__480__29_8h.html#a59484329e57c3e9adcda23d371146a97">big_480_29.h</a>
-</li>
-<li>BIG_480_29_sub()
-: <a class="el" href="big__480__29_8h.html#a96788cbcbddfb54d28609d07876c90b7">big_480_29.h</a>
-</li>
-<li>BIG_480_29_toBytes()
-: <a class="el" href="big__480__29_8h.html#a8e8969807b8d6127aae5bb893c885a63">big_480_29.h</a>
-</li>
-<li>BIG_480_29_zero()
-: <a class="el" href="big__480__29_8h.html#acba1143334c4c98bca59526829bae47d">big_480_29.h</a>
-</li>
 <li>BIG_480_56_add()
 : <a class="el" href="big__480__56_8h.html#a8e5257519818e87b2eead6faa1b6fa2d">big_480_56.h</a>
 </li>
@@ -4111,219 +1984,6 @@
 <li>BIG_480_56_zero()
 : <a class="el" href="big__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39">big_480_56.h</a>
 </li>
-<li>BIG_512_29_add()
-: <a class="el" href="big__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7">big_512_29.h</a>
-</li>
-<li>BIG_512_29_bit()
-: <a class="el" href="big__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2">big_512_29.h</a>
-</li>
-<li>BIG_512_29_cmove()
-: <a class="el" href="big__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_comp()
-: <a class="el" href="big__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb">big_512_29.h</a>
-</li>
-<li>BIG_512_29_copy()
-: <a class="el" href="big__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0">big_512_29.h</a>
-</li>
-<li>BIG_512_29_cswap()
-: <a class="el" href="big__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dadd()
-: <a class="el" href="big__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dcmove()
-: <a class="el" href="big__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dcomp()
-: <a class="el" href="big__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dcopy()
-: <a class="el" href="big__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_ddiv()
-: <a class="el" href="big__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dec()
-: <a class="el" href="big__512__29_8h.html#a623e829c317486582447b2a59b8839da">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dfromBytesLen()
-: <a class="el" href="big__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_diszilch()
-: <a class="el" href="big__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f">big_512_29.h</a>
-</li>
-<li>BIG_512_29_div3()
-: <a class="el" href="big__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dmod()
-: <a class="el" href="big__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dmod2m()
-: <a class="el" href="big__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dnbits()
-: <a class="el" href="big__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dnorm()
-: <a class="el" href="big__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d">big_512_29.h</a>
-</li>
-<li>BIG_512_29_doutput()
-: <a class="el" href="big__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb">big_512_29.h</a>
-</li>
-<li>BIG_512_29_drawoutput()
-: <a class="el" href="big__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dscopy()
-: <a class="el" href="big__512__29_8h.html#a63f756ee341108a1243525b79fae8071">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dshl()
-: <a class="el" href="big__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dshr()
-: <a class="el" href="big__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dsub()
-: <a class="el" href="big__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dsucopy()
-: <a class="el" href="big__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125">big_512_29.h</a>
-</li>
-<li>BIG_512_29_dzero()
-: <a class="el" href="big__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fromBytes()
-: <a class="el" href="big__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fromBytesLen()
-: <a class="el" href="big__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fshl()
-: <a class="el" href="big__512__29_8h.html#a4586281c3a555718580d243395c4e6ca">big_512_29.h</a>
-</li>
-<li>BIG_512_29_fshr()
-: <a class="el" href="big__512__29_8h.html#a018725bccf723b24153ca3ba6831033a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_imul()
-: <a class="el" href="big__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995">big_512_29.h</a>
-</li>
-<li>BIG_512_29_inc()
-: <a class="el" href="big__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827">big_512_29.h</a>
-</li>
-<li>BIG_512_29_invmod2m()
-: <a class="el" href="big__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_invmodp()
-: <a class="el" href="big__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76">big_512_29.h</a>
-</li>
-<li>BIG_512_29_isunity()
-: <a class="el" href="big__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd">big_512_29.h</a>
-</li>
-<li>BIG_512_29_iszilch()
-: <a class="el" href="big__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_jacobi()
-: <a class="el" href="big__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce">big_512_29.h</a>
-</li>
-<li>BIG_512_29_lastbits()
-: <a class="el" href="big__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079">big_512_29.h</a>
-</li>
-<li>BIG_512_29_mod()
-: <a class="el" href="big__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c">big_512_29.h</a>
-</li>
-<li>BIG_512_29_mod2m()
-: <a class="el" href="big__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444">big_512_29.h</a>
-</li>
-<li>BIG_512_29_moddiv()
-: <a class="el" href="big__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc">big_512_29.h</a>
-</li>
-<li>BIG_512_29_modmul()
-: <a class="el" href="big__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409">big_512_29.h</a>
-</li>
-<li>BIG_512_29_modneg()
-: <a class="el" href="big__512__29_8h.html#afd47bab847bdb38013c08105671f4721">big_512_29.h</a>
-</li>
-<li>BIG_512_29_modsqr()
-: <a class="el" href="big__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_monty()
-: <a class="el" href="big__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382">big_512_29.h</a>
-</li>
-<li>BIG_512_29_mul()
-: <a class="el" href="big__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a">big_512_29.h</a>
-</li>
-<li>BIG_512_29_nbits()
-: <a class="el" href="big__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933">big_512_29.h</a>
-</li>
-<li>BIG_512_29_norm()
-: <a class="el" href="big__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453">big_512_29.h</a>
-</li>
-<li>BIG_512_29_one()
-: <a class="el" href="big__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514">big_512_29.h</a>
-</li>
-<li>BIG_512_29_or()
-: <a class="el" href="big__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa">big_512_29.h</a>
-</li>
-<li>BIG_512_29_output()
-: <a class="el" href="big__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86">big_512_29.h</a>
-</li>
-<li>BIG_512_29_parity()
-: <a class="el" href="big__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c">big_512_29.h</a>
-</li>
-<li>BIG_512_29_pmul()
-: <a class="el" href="big__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f">big_512_29.h</a>
-</li>
-<li>BIG_512_29_pxmul()
-: <a class="el" href="big__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e">big_512_29.h</a>
-</li>
-<li>BIG_512_29_random()
-: <a class="el" href="big__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93">big_512_29.h</a>
-</li>
-<li>BIG_512_29_randomnum()
-: <a class="el" href="big__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3">big_512_29.h</a>
-</li>
-<li>BIG_512_29_rawoutput()
-: <a class="el" href="big__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229">big_512_29.h</a>
-</li>
-<li>BIG_512_29_rcopy()
-: <a class="el" href="big__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sdcopy()
-: <a class="el" href="big__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sdiv()
-: <a class="el" href="big__512__29_8h.html#aef4408d8a5441e103299919094c7fb34">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sducopy()
-: <a class="el" href="big__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4">big_512_29.h</a>
-</li>
-<li>BIG_512_29_shl()
-: <a class="el" href="big__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5">big_512_29.h</a>
-</li>
-<li>BIG_512_29_shr()
-: <a class="el" href="big__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b">big_512_29.h</a>
-</li>
-<li>BIG_512_29_smul()
-: <a class="el" href="big__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459">big_512_29.h</a>
-</li>
-<li>BIG_512_29_split()
-: <a class="el" href="big__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sqr()
-: <a class="el" href="big__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056">big_512_29.h</a>
-</li>
-<li>BIG_512_29_ssn()
-: <a class="el" href="big__512__29_8h.html#a09e401bfba7158e57df4160a21afca82">big_512_29.h</a>
-</li>
-<li>BIG_512_29_sub()
-: <a class="el" href="big__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2">big_512_29.h</a>
-</li>
-<li>BIG_512_29_toBytes()
-: <a class="el" href="big__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9">big_512_29.h</a>
-</li>
-<li>BIG_512_29_zero()
-: <a class="el" href="big__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01">big_512_29.h</a>
-</li>
 <li>BIG_512_56_add()
 : <a class="el" href="big__512__56_8h.html#a9d63ca24b476f341818792d36bced063">big_512_56.h</a>
 </li>
@@ -4750,219 +2410,6 @@
 <li>BIG_512_60_zero()
 : <a class="el" href="big__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478">big_512_60.h</a>
 </li>
-<li>BIG_528_28_add()
-: <a class="el" href="big__528__28_8h.html#a7afd96bac59d42371b76b95890835631">big_528_28.h</a>
-</li>
-<li>BIG_528_28_bit()
-: <a class="el" href="big__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c">big_528_28.h</a>
-</li>
-<li>BIG_528_28_cmove()
-: <a class="el" href="big__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11">big_528_28.h</a>
-</li>
-<li>BIG_528_28_comp()
-: <a class="el" href="big__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5">big_528_28.h</a>
-</li>
-<li>BIG_528_28_copy()
-: <a class="el" href="big__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85">big_528_28.h</a>
-</li>
-<li>BIG_528_28_cswap()
-: <a class="el" href="big__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dadd()
-: <a class="el" href="big__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dcmove()
-: <a class="el" href="big__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dcomp()
-: <a class="el" href="big__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dcopy()
-: <a class="el" href="big__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72">big_528_28.h</a>
-</li>
-<li>BIG_528_28_ddiv()
-: <a class="el" href="big__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dec()
-: <a class="el" href="big__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dfromBytesLen()
-: <a class="el" href="big__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558">big_528_28.h</a>
-</li>
-<li>BIG_528_28_diszilch()
-: <a class="el" href="big__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_div3()
-: <a class="el" href="big__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dmod()
-: <a class="el" href="big__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dmod2m()
-: <a class="el" href="big__528__28_8h.html#af647547e90a21cca1016b1250b841251">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dnbits()
-: <a class="el" href="big__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dnorm()
-: <a class="el" href="big__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a">big_528_28.h</a>
-</li>
-<li>BIG_528_28_doutput()
-: <a class="el" href="big__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018">big_528_28.h</a>
-</li>
-<li>BIG_528_28_drawoutput()
-: <a class="el" href="big__528__28_8h.html#a92d211f719b808f8bff3e5416485829a">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dscopy()
-: <a class="el" href="big__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dshl()
-: <a class="el" href="big__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dshr()
-: <a class="el" href="big__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dsub()
-: <a class="el" href="big__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dsucopy()
-: <a class="el" href="big__528__28_8h.html#a3605d741288e107006f8a870c19b58d7">big_528_28.h</a>
-</li>
-<li>BIG_528_28_dzero()
-: <a class="el" href="big__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fromBytes()
-: <a class="el" href="big__528__28_8h.html#a0ac81676878f639d380137b47dc640c1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fromBytesLen()
-: <a class="el" href="big__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fshl()
-: <a class="el" href="big__528__28_8h.html#ade0dcec6578773e4914666c864011bf4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_fshr()
-: <a class="el" href="big__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82">big_528_28.h</a>
-</li>
-<li>BIG_528_28_imul()
-: <a class="el" href="big__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed">big_528_28.h</a>
-</li>
-<li>BIG_528_28_inc()
-: <a class="el" href="big__528__28_8h.html#aecc2507f27540e765099a45641bd1001">big_528_28.h</a>
-</li>
-<li>BIG_528_28_invmod2m()
-: <a class="el" href="big__528__28_8h.html#a93e28db178c675ff24319a01869c67cf">big_528_28.h</a>
-</li>
-<li>BIG_528_28_invmodp()
-: <a class="el" href="big__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83">big_528_28.h</a>
-</li>
-<li>BIG_528_28_isunity()
-: <a class="el" href="big__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6">big_528_28.h</a>
-</li>
-<li>BIG_528_28_iszilch()
-: <a class="el" href="big__528__28_8h.html#a759b359beb86544bb4399e56b9370125">big_528_28.h</a>
-</li>
-<li>BIG_528_28_jacobi()
-: <a class="el" href="big__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_lastbits()
-: <a class="el" href="big__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367">big_528_28.h</a>
-</li>
-<li>BIG_528_28_mod()
-: <a class="el" href="big__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_mod2m()
-: <a class="el" href="big__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c">big_528_28.h</a>
-</li>
-<li>BIG_528_28_moddiv()
-: <a class="el" href="big__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a">big_528_28.h</a>
-</li>
-<li>BIG_528_28_modmul()
-: <a class="el" href="big__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d">big_528_28.h</a>
-</li>
-<li>BIG_528_28_modneg()
-: <a class="el" href="big__528__28_8h.html#a869ba3a39774e991efc6c85072212231">big_528_28.h</a>
-</li>
-<li>BIG_528_28_modsqr()
-: <a class="el" href="big__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663">big_528_28.h</a>
-</li>
-<li>BIG_528_28_monty()
-: <a class="el" href="big__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b">big_528_28.h</a>
-</li>
-<li>BIG_528_28_mul()
-: <a class="el" href="big__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee">big_528_28.h</a>
-</li>
-<li>BIG_528_28_nbits()
-: <a class="el" href="big__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_norm()
-: <a class="el" href="big__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_one()
-: <a class="el" href="big__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992">big_528_28.h</a>
-</li>
-<li>BIG_528_28_or()
-: <a class="el" href="big__528__28_8h.html#a73d2125663f4285274f82da9cd465f31">big_528_28.h</a>
-</li>
-<li>BIG_528_28_output()
-: <a class="el" href="big__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f">big_528_28.h</a>
-</li>
-<li>BIG_528_28_parity()
-: <a class="el" href="big__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6">big_528_28.h</a>
-</li>
-<li>BIG_528_28_pmul()
-: <a class="el" href="big__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673">big_528_28.h</a>
-</li>
-<li>BIG_528_28_pxmul()
-: <a class="el" href="big__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e">big_528_28.h</a>
-</li>
-<li>BIG_528_28_random()
-: <a class="el" href="big__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8">big_528_28.h</a>
-</li>
-<li>BIG_528_28_randomnum()
-: <a class="el" href="big__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783">big_528_28.h</a>
-</li>
-<li>BIG_528_28_rawoutput()
-: <a class="el" href="big__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8">big_528_28.h</a>
-</li>
-<li>BIG_528_28_rcopy()
-: <a class="el" href="big__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sdcopy()
-: <a class="el" href="big__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sdiv()
-: <a class="el" href="big__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sducopy()
-: <a class="el" href="big__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_shl()
-: <a class="el" href="big__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61">big_528_28.h</a>
-</li>
-<li>BIG_528_28_shr()
-: <a class="el" href="big__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c">big_528_28.h</a>
-</li>
-<li>BIG_528_28_smul()
-: <a class="el" href="big__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03">big_528_28.h</a>
-</li>
-<li>BIG_528_28_split()
-: <a class="el" href="big__528__28_8h.html#acfe96c94a11817c94683b605ec552af1">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sqr()
-: <a class="el" href="big__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38">big_528_28.h</a>
-</li>
-<li>BIG_528_28_ssn()
-: <a class="el" href="big__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4">big_528_28.h</a>
-</li>
-<li>BIG_528_28_sub()
-: <a class="el" href="big__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e">big_528_28.h</a>
-</li>
-<li>BIG_528_28_toBytes()
-: <a class="el" href="big__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445">big_528_28.h</a>
-</li>
-<li>BIG_528_28_zero()
-: <a class="el" href="big__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233">big_528_28.h</a>
-</li>
 <li>BIG_528_60_add()
 : <a class="el" href="big__528__60_8h.html#a2cf3a406c08eac4a7f60cb209eb032ab">big_528_60.h</a>
 </li>
@@ -5176,219 +2623,6 @@
 <li>BIG_528_60_zero()
 : <a class="el" href="big__528__60_8h.html#ab27955873faca327f00f59d01f0fd316">big_528_60.h</a>
 </li>
-<li>BIG_560_29_add()
-: <a class="el" href="big__560__29_8h.html#ae65e9996ba096849473662afb7105678">big_560_29.h</a>
-</li>
-<li>BIG_560_29_bit()
-: <a class="el" href="big__560__29_8h.html#a89a8e99224c79e20a83f65e950f50140">big_560_29.h</a>
-</li>
-<li>BIG_560_29_cmove()
-: <a class="el" href="big__560__29_8h.html#a08c0a219dcc9ba548194f3fb07ddd338">big_560_29.h</a>
-</li>
-<li>BIG_560_29_comp()
-: <a class="el" href="big__560__29_8h.html#a5e71aecc096e5d0cf8abb41ef467280c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_copy()
-: <a class="el" href="big__560__29_8h.html#a51f1a538cd2acd170c64f333bbf9ef38">big_560_29.h</a>
-</li>
-<li>BIG_560_29_cswap()
-: <a class="el" href="big__560__29_8h.html#a5986aced3f00297a9b7aefa2088a2aa0">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dadd()
-: <a class="el" href="big__560__29_8h.html#a4a6546b6be50aa0ed327cae3a76e45b2">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dcmove()
-: <a class="el" href="big__560__29_8h.html#a70647835b3562e8015dca7f80f008b66">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dcomp()
-: <a class="el" href="big__560__29_8h.html#ad1fa33c289213fb0c9546e58a682f39b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dcopy()
-: <a class="el" href="big__560__29_8h.html#a0441ea3e88f376aa446b21393a78d818">big_560_29.h</a>
-</li>
-<li>BIG_560_29_ddiv()
-: <a class="el" href="big__560__29_8h.html#a63a2a4340ec906ef4edafd8cdda5ecd1">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dec()
-: <a class="el" href="big__560__29_8h.html#a33a5c0c69dd8d1efc4c8e665eeff8b9b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dfromBytesLen()
-: <a class="el" href="big__560__29_8h.html#af2b12cf78dd1bda266eed46c74aaa401">big_560_29.h</a>
-</li>
-<li>BIG_560_29_diszilch()
-: <a class="el" href="big__560__29_8h.html#aa8dcbefb1a36e50d3f9b241573ef9a07">big_560_29.h</a>
-</li>
-<li>BIG_560_29_div3()
-: <a class="el" href="big__560__29_8h.html#ac248bd7812fdb863cf77da864d006547">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dmod()
-: <a class="el" href="big__560__29_8h.html#a0145ff9aba864d2e93d34044ab35b0b3">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dmod2m()
-: <a class="el" href="big__560__29_8h.html#abfb7a14c67bc951d22fb8646caa80949">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dnbits()
-: <a class="el" href="big__560__29_8h.html#a96f414c632beb42afa3b18803e3c1c02">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dnorm()
-: <a class="el" href="big__560__29_8h.html#a5a1d428f6a3948985ef7ecee44b1ed90">big_560_29.h</a>
-</li>
-<li>BIG_560_29_doutput()
-: <a class="el" href="big__560__29_8h.html#a3532414b33ec5c454d2aa69450a71e3b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_drawoutput()
-: <a class="el" href="big__560__29_8h.html#a819c27b791c06a68c885c3bac71ed026">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dscopy()
-: <a class="el" href="big__560__29_8h.html#a0e2ca1c8b0e5004d89eb25f7fbe1413a">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dshl()
-: <a class="el" href="big__560__29_8h.html#a2a7dc62a5c174e03456b3df7de48c7d0">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dshr()
-: <a class="el" href="big__560__29_8h.html#a4d4cfcf637b71a4fc532c5d8ed04b6be">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dsub()
-: <a class="el" href="big__560__29_8h.html#a4f9c5cbd7a7139c9e57612b6371edd2f">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dsucopy()
-: <a class="el" href="big__560__29_8h.html#aaa5770a5f1eb5f3520f5af8673d621e3">big_560_29.h</a>
-</li>
-<li>BIG_560_29_dzero()
-: <a class="el" href="big__560__29_8h.html#a35ed74837f580f23ae25b217cb80a7c4">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fromBytes()
-: <a class="el" href="big__560__29_8h.html#a8fa45c00b5827a65847d7f4a09cb296f">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fromBytesLen()
-: <a class="el" href="big__560__29_8h.html#a5e21437235e92875a043ef7b29d0e54c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fshl()
-: <a class="el" href="big__560__29_8h.html#a469fb92dfb3cfad74782399dfa4c0ea7">big_560_29.h</a>
-</li>
-<li>BIG_560_29_fshr()
-: <a class="el" href="big__560__29_8h.html#a87bbbb471bd5640d81799ae94d459a89">big_560_29.h</a>
-</li>
-<li>BIG_560_29_imul()
-: <a class="el" href="big__560__29_8h.html#a7375b371afca2493f289e566e773ca4a">big_560_29.h</a>
-</li>
-<li>BIG_560_29_inc()
-: <a class="el" href="big__560__29_8h.html#aadc38ea4dbbbcf952ca5c939c7afc661">big_560_29.h</a>
-</li>
-<li>BIG_560_29_invmod2m()
-: <a class="el" href="big__560__29_8h.html#a0c147e73b0bae9635bee593175774f0c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_invmodp()
-: <a class="el" href="big__560__29_8h.html#a00a5f8b23c288c2448ddb2d88d315b21">big_560_29.h</a>
-</li>
-<li>BIG_560_29_isunity()
-: <a class="el" href="big__560__29_8h.html#a2a5cdd4dfe0e6aba419a75f49243ad43">big_560_29.h</a>
-</li>
-<li>BIG_560_29_iszilch()
-: <a class="el" href="big__560__29_8h.html#afb68b5fa13e176d7e32a2057b71ac780">big_560_29.h</a>
-</li>
-<li>BIG_560_29_jacobi()
-: <a class="el" href="big__560__29_8h.html#acabe4baa29863ad5559020c8f2136d9f">big_560_29.h</a>
-</li>
-<li>BIG_560_29_lastbits()
-: <a class="el" href="big__560__29_8h.html#ad8abd5137561bfed04669cf96c259781">big_560_29.h</a>
-</li>
-<li>BIG_560_29_mod()
-: <a class="el" href="big__560__29_8h.html#afac3c76a8f4e070630b0e548f23ef358">big_560_29.h</a>
-</li>
-<li>BIG_560_29_mod2m()
-: <a class="el" href="big__560__29_8h.html#ad8b4f3bcef2aa611363bb7afd3477c37">big_560_29.h</a>
-</li>
-<li>BIG_560_29_moddiv()
-: <a class="el" href="big__560__29_8h.html#af4275b84bb243a4299a8fbae6c594db1">big_560_29.h</a>
-</li>
-<li>BIG_560_29_modmul()
-: <a class="el" href="big__560__29_8h.html#a1efc3b09f5b07ca7a559d83e76acbe57">big_560_29.h</a>
-</li>
-<li>BIG_560_29_modneg()
-: <a class="el" href="big__560__29_8h.html#a5a8cb966bd251bd9b28c447e67ef41e8">big_560_29.h</a>
-</li>
-<li>BIG_560_29_modsqr()
-: <a class="el" href="big__560__29_8h.html#a21e87e8bf1b42f00087e74ae6102ba8c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_monty()
-: <a class="el" href="big__560__29_8h.html#adcbe9492816b75278b278758fe1c21bb">big_560_29.h</a>
-</li>
-<li>BIG_560_29_mul()
-: <a class="el" href="big__560__29_8h.html#a57ee8eed41be0783324dbeea72e1078d">big_560_29.h</a>
-</li>
-<li>BIG_560_29_nbits()
-: <a class="el" href="big__560__29_8h.html#a5a29d5bcaa2299f1f7ab4c322a2df907">big_560_29.h</a>
-</li>
-<li>BIG_560_29_norm()
-: <a class="el" href="big__560__29_8h.html#aefd62aa61037b77a52b931b51787e921">big_560_29.h</a>
-</li>
-<li>BIG_560_29_one()
-: <a class="el" href="big__560__29_8h.html#aecec4cf34ec7476ce48f085f126674fd">big_560_29.h</a>
-</li>
-<li>BIG_560_29_or()
-: <a class="el" href="big__560__29_8h.html#a23fb2086d698b03e3b409b6f0c0a80dc">big_560_29.h</a>
-</li>
-<li>BIG_560_29_output()
-: <a class="el" href="big__560__29_8h.html#a5057ccb43e0e7eb9f8aea795ac62aaa7">big_560_29.h</a>
-</li>
-<li>BIG_560_29_parity()
-: <a class="el" href="big__560__29_8h.html#a4db725f0b9ebdb8bd9ef87a31e83300d">big_560_29.h</a>
-</li>
-<li>BIG_560_29_pmul()
-: <a class="el" href="big__560__29_8h.html#a8bbbc9bb0aeb3ea59aed8007ea9ae266">big_560_29.h</a>
-</li>
-<li>BIG_560_29_pxmul()
-: <a class="el" href="big__560__29_8h.html#a6d61085a3a76337a0d82ac3e65fb6026">big_560_29.h</a>
-</li>
-<li>BIG_560_29_random()
-: <a class="el" href="big__560__29_8h.html#adafd6f05406b9a591aa971cba0825c6c">big_560_29.h</a>
-</li>
-<li>BIG_560_29_randomnum()
-: <a class="el" href="big__560__29_8h.html#a8fe1cf5b87b4db63ff9234829408ccc7">big_560_29.h</a>
-</li>
-<li>BIG_560_29_rawoutput()
-: <a class="el" href="big__560__29_8h.html#a5bc5722658a94b5247a1609571487fe0">big_560_29.h</a>
-</li>
-<li>BIG_560_29_rcopy()
-: <a class="el" href="big__560__29_8h.html#a2067a272be66e61ffa263db0489932f8">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sdcopy()
-: <a class="el" href="big__560__29_8h.html#a775faf413caafab161a9b40473957476">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sdiv()
-: <a class="el" href="big__560__29_8h.html#a7751e56b7afb898f804bd614cdce0f11">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sducopy()
-: <a class="el" href="big__560__29_8h.html#ab6b90ba76c93b712c79ecf0fa4c11a85">big_560_29.h</a>
-</li>
-<li>BIG_560_29_shl()
-: <a class="el" href="big__560__29_8h.html#a948b32e26c4c4551351ff9fc68ea4822">big_560_29.h</a>
-</li>
-<li>BIG_560_29_shr()
-: <a class="el" href="big__560__29_8h.html#a5c2b4afaef6383d924f8d87d8b03942b">big_560_29.h</a>
-</li>
-<li>BIG_560_29_smul()
-: <a class="el" href="big__560__29_8h.html#aa708c4c1eea0d5af0b43e82f061f854a">big_560_29.h</a>
-</li>
-<li>BIG_560_29_split()
-: <a class="el" href="big__560__29_8h.html#a19241dcc77b787b493370d3a3e657259">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sqr()
-: <a class="el" href="big__560__29_8h.html#a867fd42d71918d1db92cf4934bf882c5">big_560_29.h</a>
-</li>
-<li>BIG_560_29_ssn()
-: <a class="el" href="big__560__29_8h.html#a3e07a3bbd83a0d6630106c726e58c828">big_560_29.h</a>
-</li>
-<li>BIG_560_29_sub()
-: <a class="el" href="big__560__29_8h.html#a587bc2e12545c048659aaa3eb5c68315">big_560_29.h</a>
-</li>
-<li>BIG_560_29_toBytes()
-: <a class="el" href="big__560__29_8h.html#a54e02dc726f8824e62759a2fa14b59a5">big_560_29.h</a>
-</li>
-<li>BIG_560_29_zero()
-: <a class="el" href="big__560__29_8h.html#a464cd2642cf515bdafe4946d818de6df">big_560_29.h</a>
-</li>
 <li>BIG_560_58_add()
 : <a class="el" href="big__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c">big_560_58.h</a>
 </li>
@@ -5611,11 +2845,20 @@
 <li>BLS_BLS24_KEY_PAIR_GENERATE()
 : <a class="el" href="bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c">bls192_BLS24.h</a>
 </li>
+<li>BLS_BLS24_MAKE_SHARES()
+: <a class="el" href="bls192__BLS24_8h.html#ade4309880d21334a7b64e1ef6204d586">bls192_BLS24.h</a>
+</li>
+<li>BLS_BLS24_RECOVER_SECRET()
+: <a class="el" href="bls192__BLS24_8h.html#a63ccbbd1e272ba050ebc688de8f9381a">bls192_BLS24.h</a>
+</li>
+<li>BLS_BLS24_RECOVER_SIGNATURE()
+: <a class="el" href="bls192__BLS24_8h.html#a51b37e19ec601e7d90d5a65127dc6097">bls192_BLS24.h</a>
+</li>
 <li>BLS_BLS24_SIGN()
-: <a class="el" href="bls192__BLS24_8h.html#a79cbcdfdb4aef90e5e8d02fbc08dd726">bls192_BLS24.h</a>
+: <a class="el" href="bls192__BLS24_8h.html#ace586ee37e95cf2e2b67b9232c5c4bc5">bls192_BLS24.h</a>
 </li>
 <li>BLS_BLS24_VERIFY()
-: <a class="el" href="bls192__BLS24_8h.html#ae167d4ff813dd451b8f9c1e54c041a85">bls192_BLS24.h</a>
+: <a class="el" href="bls192__BLS24_8h.html#a888e6668b6240c162677d5ea4875b417">bls192_BLS24.h</a>
 </li>
 <li>BLS_BLS381_ADD_G1()
 : <a class="el" href="bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f">bls_BLS381.h</a>
@@ -5626,11 +2869,20 @@
 <li>BLS_BLS381_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111">bls_BLS381.h</a>
 </li>
+<li>BLS_BLS381_MAKE_SHARES()
+: <a class="el" href="bls__BLS381_8h.html#abc73fc44019239a33302da199e198624">bls_BLS381.h</a>
+</li>
+<li>BLS_BLS381_RECOVER_SECRET()
+: <a class="el" href="bls__BLS381_8h.html#a3bfe03702c6bb5140ea26c1e863476af">bls_BLS381.h</a>
+</li>
+<li>BLS_BLS381_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BLS381_8h.html#a0bde1c6bf97c00da8b6020ba96711707">bls_BLS381.h</a>
+</li>
 <li>BLS_BLS381_SIGN()
-: <a class="el" href="bls__BLS381_8h.html#abe8ca90d166aa1ea6ee432290bdbcdd4">bls_BLS381.h</a>
+: <a class="el" href="bls__BLS381_8h.html#a24b33bf05c6df70cd1152d513fbc464c">bls_BLS381.h</a>
 </li>
 <li>BLS_BLS381_VERIFY()
-: <a class="el" href="bls__BLS381_8h.html#a16a1ea68ef8fd07379dea104d1da954c">bls_BLS381.h</a>
+: <a class="el" href="bls__BLS381_8h.html#af5c1fa6e4349a4c5d36d46cbb0a9d454">bls_BLS381.h</a>
 </li>
 <li>BLS_BLS383_ADD_G1()
 : <a class="el" href="bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047">bls_BLS383.h</a>
@@ -5641,11 +2893,20 @@
 <li>BLS_BLS383_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97">bls_BLS383.h</a>
 </li>
+<li>BLS_BLS383_MAKE_SHARES()
+: <a class="el" href="bls__BLS383_8h.html#a165fdb46f1f82e986657168266b707bc">bls_BLS383.h</a>
+</li>
+<li>BLS_BLS383_RECOVER_SECRET()
+: <a class="el" href="bls__BLS383_8h.html#ad0f5bdfdb1c6c1897f000d0491d582fb">bls_BLS383.h</a>
+</li>
+<li>BLS_BLS383_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BLS383_8h.html#a0d8e6fd8970b6f5f7a7aeafe881f6dba">bls_BLS383.h</a>
+</li>
 <li>BLS_BLS383_SIGN()
-: <a class="el" href="bls__BLS383_8h.html#a1d383ff4c866b7c7e4a4db653cfffc0b">bls_BLS383.h</a>
+: <a class="el" href="bls__BLS383_8h.html#a035379af6cbcbb1fa769e3b10d3465c1">bls_BLS383.h</a>
 </li>
 <li>BLS_BLS383_VERIFY()
-: <a class="el" href="bls__BLS383_8h.html#a3d85ac20f750866e30664de951009141">bls_BLS383.h</a>
+: <a class="el" href="bls__BLS383_8h.html#a066716fed2f9dee626d6b43c592d6771">bls_BLS383.h</a>
 </li>
 <li>BLS_BLS461_ADD_G1()
 : <a class="el" href="bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb">bls_BLS461.h</a>
@@ -5656,11 +2917,20 @@
 <li>BLS_BLS461_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d">bls_BLS461.h</a>
 </li>
+<li>BLS_BLS461_MAKE_SHARES()
+: <a class="el" href="bls__BLS461_8h.html#a4b5381be8ae73b626601b6aeb34b0e1c">bls_BLS461.h</a>
+</li>
+<li>BLS_BLS461_RECOVER_SECRET()
+: <a class="el" href="bls__BLS461_8h.html#aecd2988e567295aaa7020e96739b7e0f">bls_BLS461.h</a>
+</li>
+<li>BLS_BLS461_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BLS461_8h.html#ac9f911283da8978a6d54e054b2b28697">bls_BLS461.h</a>
+</li>
 <li>BLS_BLS461_SIGN()
-: <a class="el" href="bls__BLS461_8h.html#a9f8ad4d96944199eeeb56aa00f635687">bls_BLS461.h</a>
+: <a class="el" href="bls__BLS461_8h.html#aff825f53a175ac64da3be3c9e5edd59f">bls_BLS461.h</a>
 </li>
 <li>BLS_BLS461_VERIFY()
-: <a class="el" href="bls__BLS461_8h.html#a299f6a77664cc94291edbcf2a9a580c4">bls_BLS461.h</a>
+: <a class="el" href="bls__BLS461_8h.html#a8b58b365bb7bd0365947da6206135941">bls_BLS461.h</a>
 </li>
 <li>BLS_BLS48_ADD_G1()
 : <a class="el" href="bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e">bls256_BLS48.h</a>
@@ -5671,11 +2941,20 @@
 <li>BLS_BLS48_KEY_PAIR_GENERATE()
 : <a class="el" href="bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4">bls256_BLS48.h</a>
 </li>
+<li>BLS_BLS48_MAKE_SHARES()
+: <a class="el" href="bls256__BLS48_8h.html#af89c4de4e305481b2e00f3c2bb7c273b">bls256_BLS48.h</a>
+</li>
+<li>BLS_BLS48_RECOVER_SECRET()
+: <a class="el" href="bls256__BLS48_8h.html#abcf69b92459f13cfbd3f92c206d5deb2">bls256_BLS48.h</a>
+</li>
+<li>BLS_BLS48_RECOVER_SIGNATURE()
+: <a class="el" href="bls256__BLS48_8h.html#a8618134ddcf63d134af292852734ff24">bls256_BLS48.h</a>
+</li>
 <li>BLS_BLS48_SIGN()
-: <a class="el" href="bls256__BLS48_8h.html#aca4a3373e24203541075a1242d469b48">bls256_BLS48.h</a>
+: <a class="el" href="bls256__BLS48_8h.html#a7ac05c21fd4050a821b151ccfca038db">bls256_BLS48.h</a>
 </li>
 <li>BLS_BLS48_VERIFY()
-: <a class="el" href="bls256__BLS48_8h.html#a1a63c26de2f02ed7529f3df2621d515e">bls256_BLS48.h</a>
+: <a class="el" href="bls256__BLS48_8h.html#a662d6fc737881dfeb9b4df7508d67c25">bls256_BLS48.h</a>
 </li>
 <li>BLS_BN254_ADD_G1()
 : <a class="el" href="bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0">bls_BN254.h</a>
@@ -5686,11 +2965,20 @@
 <li>BLS_BN254_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036">bls_BN254.h</a>
 </li>
+<li>BLS_BN254_MAKE_SHARES()
+: <a class="el" href="bls__BN254_8h.html#a857a1e998e2aa2f954899e8e179bf1dd">bls_BN254.h</a>
+</li>
+<li>BLS_BN254_RECOVER_SECRET()
+: <a class="el" href="bls__BN254_8h.html#a7f1095cf77f84b79dd6d9db2c6df2022">bls_BN254.h</a>
+</li>
+<li>BLS_BN254_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BN254_8h.html#a77a7b86612258446419fa1bc592ab397">bls_BN254.h</a>
+</li>
 <li>BLS_BN254_SIGN()
-: <a class="el" href="bls__BN254_8h.html#a90c9bc4b90f94913cd18c6e98e021ee0">bls_BN254.h</a>
+: <a class="el" href="bls__BN254_8h.html#a5ae7e925844eb58dc8ad104d18e92bb9">bls_BN254.h</a>
 </li>
 <li>BLS_BN254_VERIFY()
-: <a class="el" href="bls__BN254_8h.html#a83112996c1c147a42a23ffb186924017">bls_BN254.h</a>
+: <a class="el" href="bls__BN254_8h.html#a5f94d1fc3631280015e93174db72ed5c">bls_BN254.h</a>
 </li>
 <li>BLS_BN254CX_ADD_G1()
 : <a class="el" href="bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa">bls_BN254CX.h</a>
@@ -5701,11 +2989,20 @@
 <li>BLS_BN254CX_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550">bls_BN254CX.h</a>
 </li>
+<li>BLS_BN254CX_MAKE_SHARES()
+: <a class="el" href="bls__BN254CX_8h.html#ab01f2391b3c23a4ec79aa914a3b00ea7">bls_BN254CX.h</a>
+</li>
+<li>BLS_BN254CX_RECOVER_SECRET()
+: <a class="el" href="bls__BN254CX_8h.html#aea2c4835b491f15c6c38b0df28d14f78">bls_BN254CX.h</a>
+</li>
+<li>BLS_BN254CX_RECOVER_SIGNATURE()
+: <a class="el" href="bls__BN254CX_8h.html#a262941837cc3ec8684df0f76b444e889">bls_BN254CX.h</a>
+</li>
 <li>BLS_BN254CX_SIGN()
-: <a class="el" href="bls__BN254CX_8h.html#a20fe77510d7a7f34e8dfd3af5c76268f">bls_BN254CX.h</a>
+: <a class="el" href="bls__BN254CX_8h.html#ac91525b2c002ad84207893f83b4dc9f5">bls_BN254CX.h</a>
 </li>
 <li>BLS_BN254CX_VERIFY()
-: <a class="el" href="bls__BN254CX_8h.html#a065771e3dfd48c41e4f0ace41e681b10">bls_BN254CX.h</a>
+: <a class="el" href="bls__BN254CX_8h.html#a4f13dc21fe15bb4adf4b09fb6a53e6a4">bls_BN254CX.h</a>
 </li>
 <li>BLS_FP256BN_ADD_G1()
 : <a class="el" href="bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25">bls_FP256BN.h</a>
@@ -5716,11 +3013,20 @@
 <li>BLS_FP256BN_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b">bls_FP256BN.h</a>
 </li>
+<li>BLS_FP256BN_MAKE_SHARES()
+: <a class="el" href="bls__FP256BN_8h.html#afced5cbbbea572cca508d05a4768f4c0">bls_FP256BN.h</a>
+</li>
+<li>BLS_FP256BN_RECOVER_SECRET()
+: <a class="el" href="bls__FP256BN_8h.html#a00cbfe56ea644ef49521f6bf373abece">bls_FP256BN.h</a>
+</li>
+<li>BLS_FP256BN_RECOVER_SIGNATURE()
+: <a class="el" href="bls__FP256BN_8h.html#a3024cba5ceccc917fc418c0b7c1fd254">bls_FP256BN.h</a>
+</li>
 <li>BLS_FP256BN_SIGN()
-: <a class="el" href="bls__FP256BN_8h.html#ab167e8dc6d1b1668ee44fa54efe86bef">bls_FP256BN.h</a>
+: <a class="el" href="bls__FP256BN_8h.html#aacd18a137b7a4e8d896e27110e35e860">bls_FP256BN.h</a>
 </li>
 <li>BLS_FP256BN_VERIFY()
-: <a class="el" href="bls__FP256BN_8h.html#a2300b3e097d13ca6e1ca892a7a0cf915">bls_FP256BN.h</a>
+: <a class="el" href="bls__FP256BN_8h.html#a416aff4d03e90525a060cef3f4fd6205">bls_FP256BN.h</a>
 </li>
 <li>BLS_FP512BN_ADD_G1()
 : <a class="el" href="bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b">bls_FP512BN.h</a>
@@ -5731,11 +3037,20 @@
 <li>BLS_FP512BN_KEY_PAIR_GENERATE()
 : <a class="el" href="bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f">bls_FP512BN.h</a>
 </li>
+<li>BLS_FP512BN_MAKE_SHARES()
+: <a class="el" href="bls__FP512BN_8h.html#a34530e73aa5cd3d73fb754e772ec4b83">bls_FP512BN.h</a>
+</li>
+<li>BLS_FP512BN_RECOVER_SECRET()
+: <a class="el" href="bls__FP512BN_8h.html#af663f54403701b715327c89ce544deb5">bls_FP512BN.h</a>
+</li>
+<li>BLS_FP512BN_RECOVER_SIGNATURE()
+: <a class="el" href="bls__FP512BN_8h.html#a34a54a52bcc58ff877a99c6ffbaa7eb4">bls_FP512BN.h</a>
+</li>
 <li>BLS_FP512BN_SIGN()
-: <a class="el" href="bls__FP512BN_8h.html#a70a9409a4dda70cd0faa70bd7ed30736">bls_FP512BN.h</a>
+: <a class="el" href="bls__FP512BN_8h.html#abdda5f944531d63ab88279023f662a8f">bls_FP512BN.h</a>
 </li>
 <li>BLS_FP512BN_VERIFY()
-: <a class="el" href="bls__FP512BN_8h.html#a87569f97a06acc6099f197ac27ebe282">bls_FP512BN.h</a>
+: <a class="el" href="bls__FP512BN_8h.html#a526a83b52379b9a84aa14e95ea710ca0">bls_FP512BN.h</a>
 </li>
 </ul>
 </div><!-- contents -->
@@ -5743,7 +3058,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/globals_func_c.html b/website/static/cdocs/globals_func_c.html
index 3a2e3e4..34d4618 100644
--- a/website/static/cdocs/globals_func_c.html
+++ b/website/static/cdocs/globals_func_c.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: Globals</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 -->
@@ -73,7 +76,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/globals_func_e.html b/website/static/cdocs/globals_func_e.html
index 047b606..6f77ea1 100644
--- a/website/static/cdocs/globals_func_e.html
+++ b/website/static/cdocs/globals_func_e.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: Globals</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 -->
@@ -2947,7 +2950,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/globals_func_f.html b/website/static/cdocs/globals_func_f.html
index 0f842d4..fb46852 100644
--- a/website/static/cdocs/globals_func_f.html
+++ b/website/static/cdocs/globals_func_f.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: Globals</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 -->
@@ -76,6 +79,9 @@
 <li>FF_2048_copy()
 : <a class="el" href="ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6">ff_2048.h</a>
 </li>
+<li>FF_2048_crt()
+: <a class="el" href="ff__2048_8h.html#af06da89f60cc5dd4f4944aab876e9721">ff_2048.h</a>
+</li>
 <li>FF_2048_dec()
 : <a class="el" href="ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f">ff_2048.h</a>
 </li>
@@ -91,6 +97,9 @@
 <li>FF_2048_init()
 : <a class="el" href="ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3">ff_2048.h</a>
 </li>
+<li>FF_2048_invmod2m()
+: <a class="el" href="ff__2048_8h.html#aeb5d9d16c4bbfe021b76690a198df7ed">ff_2048.h</a>
+</li>
 <li>FF_2048_invmodp()
 : <a class="el" href="ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9">ff_2048.h</a>
 </li>
@@ -101,7 +110,7 @@
 : <a class="el" href="ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89">ff_2048.h</a>
 </li>
 <li>FF_2048_mod()
-: <a class="el" href="ff__2048_8h.html#a7ed651a772be1e7c644d4153e67574f3">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#afbae12c8d55508641cbdbda870bb9d05">ff_2048.h</a>
 </li>
 <li>FF_2048_mul()
 : <a class="el" href="ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90">ff_2048.h</a>
@@ -119,13 +128,13 @@
 : <a class="el" href="ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea">ff_2048.h</a>
 </li>
 <li>FF_2048_pow()
-: <a class="el" href="ff__2048_8h.html#a7764e294274140465a4676717677f6b6">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#a57054f9061450cba4235fbc6b03e8bb9">ff_2048.h</a>
 </li>
 <li>FF_2048_pow2()
 : <a class="el" href="ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be">ff_2048.h</a>
 </li>
 <li>FF_2048_power()
-: <a class="el" href="ff__2048_8h.html#a8b87d4ad585cbfaaeadca3d586ffb05a">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#a0bd5964bb4460e0a10949500b58ac472">ff_2048.h</a>
 </li>
 <li>FF_2048_prime()
 : <a class="el" href="ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242">ff_2048.h</a>
@@ -146,10 +155,13 @@
 : <a class="el" href="ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836">ff_2048.h</a>
 </li>
 <li>FF_2048_skpow()
-: <a class="el" href="ff__2048_8h.html#a2789a44182bc8d1fb91fd048a23361b9">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#ab736578e7b655b60101325b7d0e79065">ff_2048.h</a>
+</li>
+<li>FF_2048_skpow2()
+: <a class="el" href="ff__2048_8h.html#a0b3e4f7ee1099043241031cd8426a23b">ff_2048.h</a>
 </li>
 <li>FF_2048_skspow()
-: <a class="el" href="ff__2048_8h.html#acadc23a6f6c053b971d7afaf121d7196">ff_2048.h</a>
+: <a class="el" href="ff__2048_8h.html#ab3081cf68191fa919f374993a02c5014">ff_2048.h</a>
 </li>
 <li>FF_2048_sqr()
 : <a class="el" href="ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f">ff_2048.h</a>
@@ -175,6 +187,9 @@
 <li>FF_3072_copy()
 : <a class="el" href="ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1">ff_3072.h</a>
 </li>
+<li>FF_3072_crt()
+: <a class="el" href="ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea">ff_3072.h</a>
+</li>
 <li>FF_3072_dec()
 : <a class="el" href="ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab">ff_3072.h</a>
 </li>
@@ -190,6 +205,9 @@
 <li>FF_3072_init()
 : <a class="el" href="ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88">ff_3072.h</a>
 </li>
+<li>FF_3072_invmod2m()
+: <a class="el" href="ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a">ff_3072.h</a>
+</li>
 <li>FF_3072_invmodp()
 : <a class="el" href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">ff_3072.h</a>
 </li>
@@ -200,7 +218,7 @@
 : <a class="el" href="ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5">ff_3072.h</a>
 </li>
 <li>FF_3072_mod()
-: <a class="el" href="ff__3072_8h.html#af06a6739f1c0bb51f0cd9781b8ef1792">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852">ff_3072.h</a>
 </li>
 <li>FF_3072_mul()
 : <a class="el" href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">ff_3072.h</a>
@@ -218,13 +236,13 @@
 : <a class="el" href="ff__3072_8h.html#a134652d691699256b947e50877b61cf9">ff_3072.h</a>
 </li>
 <li>FF_3072_pow()
-: <a class="el" href="ff__3072_8h.html#a6b7a3bbd385227b9c4292babb0ab6469">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b">ff_3072.h</a>
 </li>
 <li>FF_3072_pow2()
 : <a class="el" href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">ff_3072.h</a>
 </li>
 <li>FF_3072_power()
-: <a class="el" href="ff__3072_8h.html#af854663f5413b0a941c83fe19a06d506">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91">ff_3072.h</a>
 </li>
 <li>FF_3072_prime()
 : <a class="el" href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">ff_3072.h</a>
@@ -245,10 +263,13 @@
 : <a class="el" href="ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b">ff_3072.h</a>
 </li>
 <li>FF_3072_skpow()
-: <a class="el" href="ff__3072_8h.html#a1998c3c4c38a3f46997b1243b53b4481">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa">ff_3072.h</a>
+</li>
+<li>FF_3072_skpow2()
+: <a class="el" href="ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe">ff_3072.h</a>
 </li>
 <li>FF_3072_skspow()
-: <a class="el" href="ff__3072_8h.html#a381608fd407d688c2387f8597916f3ac">ff_3072.h</a>
+: <a class="el" href="ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c">ff_3072.h</a>
 </li>
 <li>FF_3072_sqr()
 : <a class="el" href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">ff_3072.h</a>
@@ -274,6 +295,9 @@
 <li>FF_4096_copy()
 : <a class="el" href="ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef">ff_4096.h</a>
 </li>
+<li>FF_4096_crt()
+: <a class="el" href="ff__4096_8h.html#a1a06ae9c3226295b796b318746e19e21">ff_4096.h</a>
+</li>
 <li>FF_4096_dec()
 : <a class="el" href="ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0">ff_4096.h</a>
 </li>
@@ -289,6 +313,9 @@
 <li>FF_4096_init()
 : <a class="el" href="ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86">ff_4096.h</a>
 </li>
+<li>FF_4096_invmod2m()
+: <a class="el" href="ff__4096_8h.html#ae25e81829ee9ee3718606b771c6bddbe">ff_4096.h</a>
+</li>
 <li>FF_4096_invmodp()
 : <a class="el" href="ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195">ff_4096.h</a>
 </li>
@@ -299,7 +326,7 @@
 : <a class="el" href="ff__4096_8h.html#a370584bba01616d2f9183f45a9843892">ff_4096.h</a>
 </li>
 <li>FF_4096_mod()
-: <a class="el" href="ff__4096_8h.html#a178303ff977c30fc108db4e98723d740">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a16098d5d71673da11edd1b112489e8d7">ff_4096.h</a>
 </li>
 <li>FF_4096_mul()
 : <a class="el" href="ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4">ff_4096.h</a>
@@ -317,13 +344,13 @@
 : <a class="el" href="ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73">ff_4096.h</a>
 </li>
 <li>FF_4096_pow()
-: <a class="el" href="ff__4096_8h.html#a1db67329f43de1ad6e2b73d77e48451a">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a86909027f6afe381756ee285d0140389">ff_4096.h</a>
 </li>
 <li>FF_4096_pow2()
 : <a class="el" href="ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d">ff_4096.h</a>
 </li>
 <li>FF_4096_power()
-: <a class="el" href="ff__4096_8h.html#ab3592fd9ab13f4f517b076529a0e5f98">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#ad607a8113dfc06ba2748acf6889ad6e2">ff_4096.h</a>
 </li>
 <li>FF_4096_prime()
 : <a class="el" href="ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba">ff_4096.h</a>
@@ -344,10 +371,13 @@
 : <a class="el" href="ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c">ff_4096.h</a>
 </li>
 <li>FF_4096_skpow()
-: <a class="el" href="ff__4096_8h.html#a21e0d681199ce63714be3ed742c164d9">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a94147045c8870761893c8be1ed1ac28f">ff_4096.h</a>
+</li>
+<li>FF_4096_skpow2()
+: <a class="el" href="ff__4096_8h.html#a6105e5392c6eb1ccefad29fcf6249d09">ff_4096.h</a>
 </li>
 <li>FF_4096_skspow()
-: <a class="el" href="ff__4096_8h.html#a6412d0214c61c25a6048e75eb76e5116">ff_4096.h</a>
+: <a class="el" href="ff__4096_8h.html#a24cf9585b1c49a1ac674e0055ad41444">ff_4096.h</a>
 </li>
 <li>FF_4096_sqr()
 : <a class="el" href="ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10">ff_4096.h</a>
@@ -4564,7 +4594,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/globals_func_g.html b/website/static/cdocs/globals_func_g.html
index b136da7..ea29865 100644
--- a/website/static/cdocs/globals_func_g.html
+++ b/website/static/cdocs/globals_func_g.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: Globals</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 -->
@@ -81,7 +84,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/globals_func_h.html b/website/static/cdocs/globals_func_h.html
index 8a6ae41..fd81d67 100644
--- a/website/static/cdocs/globals_func_h.html
+++ b/website/static/cdocs/globals_func_h.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: Globals</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 -->
@@ -82,7 +85,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/globals_func_k.html b/website/static/cdocs/globals_func_k.html
index 36dc575..78bd520 100644
--- a/website/static/cdocs/globals_func_k.html
+++ b/website/static/cdocs/globals_func_k.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: Globals</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 -->
@@ -76,7 +79,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/globals_func_m.html b/website/static/cdocs/globals_func_m.html
index a08677f..c13b0f4 100644
--- a/website/static/cdocs/globals_func_m.html
+++ b/website/static/cdocs/globals_func_m.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: Globals</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 -->
@@ -748,7 +751,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/globals_func_o.html b/website/static/cdocs/globals_func_o.html
index 90f41a3..7610046 100644
--- a/website/static/cdocs/globals_func_o.html
+++ b/website/static/cdocs/globals_func_o.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: Globals</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 -->
@@ -76,7 +79,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/globals_func_p.html b/website/static/cdocs/globals_func_p.html
index c44b373..cc5f171 100644
--- a/website/static/cdocs/globals_func_p.html
+++ b/website/static/cdocs/globals_func_p.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: Globals</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 -->
@@ -64,6 +67,30 @@
 &#160;
 
 <h3><a id="index_p"></a>- p -</h3><ul>
+<li>PAILLIER_ADD()
+: <a class="el" href="paillier_8h.html#ae7c14aa732c7296722ebee1a27b19a3f">paillier.h</a>
+</li>
+<li>PAILLIER_DECRYPT()
+: <a class="el" href="paillier_8h.html#afdfd329c0c2296587f4ad31b726c46a9">paillier.h</a>
+</li>
+<li>PAILLIER_ENCRYPT()
+: <a class="el" href="paillier_8h.html#a637d7102d00ab63a898b34fb21c835d3">paillier.h</a>
+</li>
+<li>PAILLIER_KEY_PAIR()
+: <a class="el" href="paillier_8h.html#af2c7ba1d7f74ba21e17b54463a3bb7a8">paillier.h</a>
+</li>
+<li>PAILLIER_MULT()
+: <a class="el" href="paillier_8h.html#a3efdaed7b02dacdf319966f253f26d40">paillier.h</a>
+</li>
+<li>PAILLIER_PK_fromOctet()
+: <a class="el" href="paillier_8h.html#a8910d02efcaa97d176c90f2e20496d1a">paillier.h</a>
+</li>
+<li>PAILLIER_PK_toOctet()
+: <a class="el" href="paillier_8h.html#a7de192657d81c9a434ef9e17ead98c15">paillier.h</a>
+</li>
+<li>PAILLIER_PRIVATE_KEY_KILL()
+: <a class="el" href="paillier_8h.html#a4cf8d2d20dbdb35662bd000c42252ad9">paillier.h</a>
+</li>
 <li>PAIR_BLS381_another()
 : <a class="el" href="pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642">pair_BLS381.h</a>
 </li>
@@ -307,7 +334,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/globals_func_r.html b/website/static/cdocs/globals_func_r.html
index 9579be6..988e163 100644
--- a/website/static/cdocs/globals_func_r.html
+++ b/website/static/cdocs/globals_func_r.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: Globals</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 -->
@@ -115,7 +118,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/globals_func_t.html b/website/static/cdocs/globals_func_t.html
index 5657613..1a67a25 100644
--- a/website/static/cdocs/globals_func_t.html
+++ b/website/static/cdocs/globals_func_t.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: Globals</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 -->
@@ -73,7 +76,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/globals_func_w.html b/website/static/cdocs/globals_func_w.html
index 4dabcd7..0cb5407 100644
--- a/website/static/cdocs/globals_func_w.html
+++ b/website/static/cdocs/globals_func_w.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: Globals</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 -->
@@ -286,7 +289,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/globals_func_x.html b/website/static/cdocs/globals_func_x.html
index 9ec4e23..0b629b9 100644
--- a/website/static/cdocs/globals_func_x.html
+++ b/website/static/cdocs/globals_func_x.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: Globals</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 -->
@@ -97,7 +100,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/globals_g.html b/website/static/cdocs/globals_g.html
index 3ccc63d..7656cec 100644
--- a/website/static/cdocs/globals_g.html
+++ b/website/static/cdocs/globals_g.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: Globals</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 -->
@@ -81,7 +84,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/globals_h.html b/website/static/cdocs/globals_h.html
index 71f7ca9..988a841 100644
--- a/website/static/cdocs/globals_h.html
+++ b/website/static/cdocs/globals_h.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: Globals</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 -->
@@ -82,81 +85,42 @@
 <li>HASH_TYPE_RSA_4096
 : <a class="el" href="rsa__4096_8h.html#acf16200cf44f099048f8a6e26ebdb0f0">rsa_4096.h</a>
 </li>
-<li>HBITS_1024_28
-: <a class="el" href="big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488">big_1024_28.h</a>
-</li>
 <li>HBITS_1024_58
 : <a class="el" href="big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d">big_1024_58.h</a>
 </li>
-<li>HBITS_256_28
-: <a class="el" href="big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b">big_256_28.h</a>
-</li>
-<li>HBITS_256_29
-: <a class="el" href="big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af">big_256_29.h</a>
-</li>
 <li>HBITS_256_56
 : <a class="el" href="big__256__56_8h.html#a9de3212703b203df789675e419950b50">big_256_56.h</a>
 </li>
-<li>HBITS_336_29
-: <a class="el" href="big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c">big_336_29.h</a>
-</li>
 <li>HBITS_336_60
 : <a class="el" href="big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9">big_336_60.h</a>
 </li>
-<li>HBITS_384_28
-: <a class="el" href="big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b">big_384_28.h</a>
-</li>
-<li>HBITS_384_29
-: <a class="el" href="big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5">big_384_29.h</a>
-</li>
 <li>HBITS_384_56
 : <a class="el" href="big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b">big_384_56.h</a>
 </li>
 <li>HBITS_384_58
 : <a class="el" href="big__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4">big_384_58.h</a>
 </li>
-<li>HBITS_416_29
-: <a class="el" href="big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6">big_416_29.h</a>
-</li>
 <li>HBITS_416_60
 : <a class="el" href="big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478">big_416_60.h</a>
 </li>
-<li>HBITS_448_29
-: <a class="el" href="big__448__29_8h.html#ad8e6de2119434515297fc71c80107920">big_448_29.h</a>
-</li>
 <li>HBITS_448_58
 : <a class="el" href="big__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af">big_448_58.h</a>
 </li>
-<li>HBITS_464_28
-: <a class="el" href="big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4">big_464_28.h</a>
-</li>
 <li>HBITS_464_60
 : <a class="el" href="big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5">big_464_60.h</a>
 </li>
-<li>HBITS_480_29
-: <a class="el" href="big__480__29_8h.html#a74df771083837786915320c16a8a2bd2">big_480_29.h</a>
-</li>
 <li>HBITS_480_56
 : <a class="el" href="big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6">big_480_56.h</a>
 </li>
-<li>HBITS_512_29
-: <a class="el" href="big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc">big_512_29.h</a>
-</li>
 <li>HBITS_512_56
 : <a class="el" href="big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962">big_512_56.h</a>
 </li>
 <li>HBITS_512_60
 : <a class="el" href="big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808">big_512_60.h</a>
 </li>
-<li>HBITS_528_28
-: <a class="el" href="big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f">big_528_28.h</a>
-</li>
 <li>HBITS_528_60
 : <a class="el" href="big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed">big_528_60.h</a>
 </li>
-<li>HBITS_560_29
-: <a class="el" href="big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9">big_560_29.h</a>
-</li>
 <li>HBITS_560_58
 : <a class="el" href="big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4">big_560_58.h</a>
 </li>
@@ -169,84 +133,51 @@
 <li>HFLEN_4096
 : <a class="el" href="ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11">ff_4096.h</a>
 </li>
+<li>HFS_2048
+: <a class="el" href="paillier_8h.html#af12daa3ccdbe8c973ca455b53f58f13b">paillier.h</a>
+</li>
+<li>HFS_4096
+: <a class="el" href="paillier_8h.html#a1f681610ea37533def54ef7ef54ccb92">paillier.h</a>
+</li>
 <li>HMAC()
 : <a class="el" href="ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246">ecdh_support.h</a>
 </li>
-<li>HMASK_1024_28
-: <a class="el" href="big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56">big_1024_28.h</a>
-</li>
 <li>HMASK_1024_58
 : <a class="el" href="big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4">big_1024_58.h</a>
 </li>
-<li>HMASK_256_28
-: <a class="el" href="big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4">big_256_28.h</a>
-</li>
-<li>HMASK_256_29
-: <a class="el" href="big__256__29_8h.html#a9873557170d0afc86c18f63c45658217">big_256_29.h</a>
-</li>
 <li>HMASK_256_56
 : <a class="el" href="big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b">big_256_56.h</a>
 </li>
-<li>HMASK_336_29
-: <a class="el" href="big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8">big_336_29.h</a>
-</li>
 <li>HMASK_336_60
 : <a class="el" href="big__336__60_8h.html#a11943313ab42b453d55d266c55c51518">big_336_60.h</a>
 </li>
-<li>HMASK_384_28
-: <a class="el" href="big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe">big_384_28.h</a>
-</li>
-<li>HMASK_384_29
-: <a class="el" href="big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952">big_384_29.h</a>
-</li>
 <li>HMASK_384_56
 : <a class="el" href="big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498">big_384_56.h</a>
 </li>
 <li>HMASK_384_58
 : <a class="el" href="big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51">big_384_58.h</a>
 </li>
-<li>HMASK_416_29
-: <a class="el" href="big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d">big_416_29.h</a>
-</li>
 <li>HMASK_416_60
 : <a class="el" href="big__416__60_8h.html#aa64a4f8541df59159943cce57127b658">big_416_60.h</a>
 </li>
-<li>HMASK_448_29
-: <a class="el" href="big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3">big_448_29.h</a>
-</li>
 <li>HMASK_448_58
 : <a class="el" href="big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7">big_448_58.h</a>
 </li>
-<li>HMASK_464_28
-: <a class="el" href="big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6">big_464_28.h</a>
-</li>
 <li>HMASK_464_60
 : <a class="el" href="big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2">big_464_60.h</a>
 </li>
-<li>HMASK_480_29
-: <a class="el" href="big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6">big_480_29.h</a>
-</li>
 <li>HMASK_480_56
 : <a class="el" href="big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65">big_480_56.h</a>
 </li>
-<li>HMASK_512_29
-: <a class="el" href="big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3">big_512_29.h</a>
-</li>
 <li>HMASK_512_56
 : <a class="el" href="big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b">big_512_56.h</a>
 </li>
 <li>HMASK_512_60
 : <a class="el" href="big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6">big_512_60.h</a>
 </li>
-<li>HMASK_528_28
-: <a class="el" href="big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6">big_528_28.h</a>
-</li>
 <li>HMASK_528_60
 : <a class="el" href="big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c">big_528_60.h</a>
 </li>
-<li>HMASK_560_29
-: <a class="el" href="big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877">big_560_29.h</a>
-</li>
 <li>HMASK_560_58
 : <a class="el" href="big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2">big_560_58.h</a>
 </li>
@@ -256,7 +187,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/globals_k.html b/website/static/cdocs/globals_k.html
index 942dd14..0197ff5 100644
--- a/website/static/cdocs/globals_k.html
+++ b/website/static/cdocs/globals_k.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: Globals</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 -->
@@ -76,7 +79,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/globals_m.html b/website/static/cdocs/globals_m.html
index e858d6b..9fcf22a 100644
--- a/website/static/cdocs/globals_m.html
+++ b/website/static/cdocs/globals_m.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: Globals</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 -->
@@ -257,81 +260,42 @@
 <li>MODBITS_SECP256K1
 : <a class="el" href="fp__SECP256K1_8h.html#a7821992562b3f74c125bb8c7e8e4da19">fp_SECP256K1.h</a>
 </li>
-<li>MODBYTES_1024_28
-: <a class="el" href="config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f">config_big_1024_28.h</a>
-</li>
 <li>MODBYTES_1024_58
 : <a class="el" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">config_big_1024_58.h</a>
 </li>
-<li>MODBYTES_256_28
-: <a class="el" href="config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae">config_big_256_28.h</a>
-</li>
-<li>MODBYTES_256_29
-: <a class="el" href="config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d">config_big_256_29.h</a>
-</li>
 <li>MODBYTES_256_56
 : <a class="el" href="config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e">config_big_256_56.h</a>
 </li>
-<li>MODBYTES_336_29
-: <a class="el" href="config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8">config_big_336_29.h</a>
-</li>
 <li>MODBYTES_336_60
 : <a class="el" href="config__big__336__60_8h.html#a95eaf6b85922074e48a30404bc717047">config_big_336_60.h</a>
 </li>
-<li>MODBYTES_384_28
-: <a class="el" href="config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189">config_big_384_28.h</a>
-</li>
-<li>MODBYTES_384_29
-: <a class="el" href="config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79">config_big_384_29.h</a>
-</li>
 <li>MODBYTES_384_56
 : <a class="el" href="config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d">config_big_384_56.h</a>
 </li>
 <li>MODBYTES_384_58
 : <a class="el" href="config__big__384__58_8h.html#a231158cd33825cff286c2406336e0224">config_big_384_58.h</a>
 </li>
-<li>MODBYTES_416_29
-: <a class="el" href="config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027">config_big_416_29.h</a>
-</li>
 <li>MODBYTES_416_60
 : <a class="el" href="config__big__416__60_8h.html#aeb3a2204ca57d153e2c4ee83ba1b340a">config_big_416_60.h</a>
 </li>
-<li>MODBYTES_448_29
-: <a class="el" href="config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d">config_big_448_29.h</a>
-</li>
 <li>MODBYTES_448_58
 : <a class="el" href="config__big__448__58_8h.html#a60dcc058a132176c334a2d3647c8dfa8">config_big_448_58.h</a>
 </li>
-<li>MODBYTES_464_28
-: <a class="el" href="config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b">config_big_464_28.h</a>
-</li>
 <li>MODBYTES_464_60
 : <a class="el" href="config__big__464__60_8h.html#a442cabbdb66ae413e2c26865230cf955">config_big_464_60.h</a>
 </li>
-<li>MODBYTES_480_29
-: <a class="el" href="config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362">config_big_480_29.h</a>
-</li>
 <li>MODBYTES_480_56
 : <a class="el" href="config__big__480__56_8h.html#a191ec4881a360e5cfd3a943c8861961d">config_big_480_56.h</a>
 </li>
-<li>MODBYTES_512_29
-: <a class="el" href="config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e">config_big_512_29.h</a>
-</li>
 <li>MODBYTES_512_56
 : <a class="el" href="config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861">config_big_512_56.h</a>
 </li>
 <li>MODBYTES_512_60
 : <a class="el" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">config_big_512_60.h</a>
 </li>
-<li>MODBYTES_528_28
-: <a class="el" href="config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6">config_big_528_28.h</a>
-</li>
 <li>MODBYTES_528_60
 : <a class="el" href="config__big__528__60_8h.html#a49e3aed3f2be5bc29bf59dc49c05cd6d">config_big_528_60.h</a>
 </li>
-<li>MODBYTES_560_29
-: <a class="el" href="config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84">config_big_560_29.h</a>
-</li>
 <li>MODBYTES_560_58
 : <a class="el" href="config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429">config_big_560_58.h</a>
 </li>
@@ -405,15 +369,15 @@
 : <a class="el" href="fp__SECP256K1_8h.html#a16483b07b42fa4c69f9fba84c7eee4a5">fp_SECP256K1.h</a>
 </li>
 <li>MPIN_BAD_PIN
-: <a class="el" href="mpin__BLS383_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS383.h</a>
+: <a class="el" href="mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin192_BLS24.h</a>
+, <a class="el" href="mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin256_BLS48.h</a>
+, <a class="el" href="mpin__BLS381_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS381.h</a>
+, <a class="el" href="mpin__BLS383_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS383.h</a>
 , <a class="el" href="mpin__BLS461_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS461.h</a>
 , <a class="el" href="mpin__BN254_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BN254.h</a>
 , <a class="el" href="mpin__BN254CX_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BN254CX.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_FP256BN.h</a>
 , <a class="el" href="mpin__FP512BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_FP512BN.h</a>
-, <a class="el" href="mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin192_BLS24.h</a>
-, <a class="el" href="mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin256_BLS48.h</a>
-, <a class="el" href="mpin__BLS381_8h.html#ad558e3e4522f6846ba98a0d3820faebd">mpin_BLS381.h</a>
 </li>
 <li>MPIN_BLS24_CLIENT()
 : <a class="el" href="mpin192__BLS24_8h.html#a32985c8567593556295541b5c2ba773d">mpin192_BLS24.h</a>
@@ -1091,35 +1055,35 @@
 : <a class="el" href="mpin__FP512BN_8h.html#aef561a9f7967bdf1d5dd24f976adf474">mpin_FP512BN.h</a>
 </li>
 <li>MPIN_INVALID_POINT
-: <a class="el" href="mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS461.h</a>
+: <a class="el" href="mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin192_BLS24.h</a>
 , <a class="el" href="mpin256__BLS48_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin256_BLS48.h</a>
-, <a class="el" href="mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS381.h</a>
-, <a class="el" href="mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin192_BLS24.h</a>
-, <a class="el" href="mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BN254.h</a>
-, <a class="el" href="mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS383.h</a>
-, <a class="el" href="mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_FP512BN.h</a>
 , <a class="el" href="mpin__BN254CX_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BN254CX.h</a>
+, <a class="el" href="mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS383.h</a>
+, <a class="el" href="mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BN254.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_FP256BN.h</a>
+, <a class="el" href="mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS461.h</a>
+, <a class="el" href="mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_FP512BN.h</a>
+, <a class="el" href="mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc">mpin_BLS381.h</a>
 </li>
 <li>MPIN_OK
-: <a class="el" href="mpin__BN254_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254.h</a>
+: <a class="el" href="mpin__BLS461_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS461.h</a>
+, <a class="el" href="mpin__BLS383_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS383.h</a>
+, <a class="el" href="mpin256__BLS48_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin256_BLS48.h</a>
+, <a class="el" href="mpin__BN254CX_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254CX.h</a>
+, <a class="el" href="mpin__BLS381_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS381.h</a>
+, <a class="el" href="mpin__BN254_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_FP256BN.h</a>
 , <a class="el" href="mpin__FP512BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_FP512BN.h</a>
-, <a class="el" href="mpin__BLS461_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS461.h</a>
-, <a class="el" href="mpin__BLS381_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS381.h</a>
-, <a class="el" href="mpin256__BLS48_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin256_BLS48.h</a>
-, <a class="el" href="mpin__BLS383_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BLS383.h</a>
-, <a class="el" href="mpin__BN254CX_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin_BN254CX.h</a>
 , <a class="el" href="mpin192__BLS24_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">mpin192_BLS24.h</a>
 </li>
 <li>MPIN_PAS
-: <a class="el" href="mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BN254.h</a>
-, <a class="el" href="mpin__FP512BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_FP512BN.h</a>
-, <a class="el" href="mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS381.h</a>
+: <a class="el" href="mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS381.h</a>
+, <a class="el" href="mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS383.h</a>
+, <a class="el" href="mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BN254.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_FP256BN.h</a>
+, <a class="el" href="mpin__FP512BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_FP512BN.h</a>
 , <a class="el" href="mpin__BLS461_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS461.h</a>
 , <a class="el" href="mpin__BN254CX_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BN254CX.h</a>
-, <a class="el" href="mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442">mpin_BLS383.h</a>
 </li>
 </ul>
 </div><!-- contents -->
@@ -1127,7 +1091,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/globals_n.html b/website/static/cdocs/globals_n.html
index 306137e..279113f 100644
--- a/website/static/cdocs/globals_n.html
+++ b/website/static/cdocs/globals_n.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: Globals</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 -->
@@ -64,159 +67,81 @@
 <div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
 
 <h3><a id="index_n"></a>- n -</h3><ul>
-<li>NEXCESS_1024_28
-: <a class="el" href="big__1024__28_8h.html#a69f667152c7fff6cad4a64eaaf8a21da">big_1024_28.h</a>
-</li>
 <li>NEXCESS_1024_58
 : <a class="el" href="big__1024__58_8h.html#a6d05e6d3b558714d70318f38f704ce6d">big_1024_58.h</a>
 </li>
-<li>NEXCESS_256_28
-: <a class="el" href="big__256__28_8h.html#a1fd6315e4e0763ca6b2b12f38c902a57">big_256_28.h</a>
-</li>
-<li>NEXCESS_256_29
-: <a class="el" href="big__256__29_8h.html#a3211c1a2e191826e47948c6967f688ab">big_256_29.h</a>
-</li>
 <li>NEXCESS_256_56
 : <a class="el" href="big__256__56_8h.html#abb2364526460e9b2121ae38a6bd46944">big_256_56.h</a>
 </li>
-<li>NEXCESS_336_29
-: <a class="el" href="big__336__29_8h.html#a07f6d3a4d4c0bd5724e65181ab517d2c">big_336_29.h</a>
-</li>
 <li>NEXCESS_336_60
 : <a class="el" href="big__336__60_8h.html#ae3e8977ecd7ecde394e2b4aa9e632dfb">big_336_60.h</a>
 </li>
-<li>NEXCESS_384_28
-: <a class="el" href="big__384__28_8h.html#a8fd2df8afe92c49d115a5fc91d4deb59">big_384_28.h</a>
-</li>
-<li>NEXCESS_384_29
-: <a class="el" href="big__384__29_8h.html#a0eb3ec057af21eb8c5e402134bda3fbb">big_384_29.h</a>
-</li>
 <li>NEXCESS_384_56
 : <a class="el" href="big__384__56_8h.html#a5a6ef8568e207c971f9c23b06673b778">big_384_56.h</a>
 </li>
 <li>NEXCESS_384_58
 : <a class="el" href="big__384__58_8h.html#af4327ee14410cfee8eb9f247e40cd284">big_384_58.h</a>
 </li>
-<li>NEXCESS_416_29
-: <a class="el" href="big__416__29_8h.html#a0da12b741692af75253ccfe8992b197e">big_416_29.h</a>
-</li>
 <li>NEXCESS_416_60
 : <a class="el" href="big__416__60_8h.html#a8876ed3c4e97b21fb7392a856bd41c70">big_416_60.h</a>
 </li>
-<li>NEXCESS_448_29
-: <a class="el" href="big__448__29_8h.html#a2a565018109ce03e9c7f6c2225b7bfd8">big_448_29.h</a>
-</li>
 <li>NEXCESS_448_58
 : <a class="el" href="big__448__58_8h.html#a86ae103736d698ad9e58d2b963ad64fe">big_448_58.h</a>
 </li>
-<li>NEXCESS_464_28
-: <a class="el" href="big__464__28_8h.html#a46960fefb33fff4a60aa0dcf9525c88d">big_464_28.h</a>
-</li>
 <li>NEXCESS_464_60
 : <a class="el" href="big__464__60_8h.html#ac448e22eed8e2d022de02638385fd116">big_464_60.h</a>
 </li>
-<li>NEXCESS_480_29
-: <a class="el" href="big__480__29_8h.html#ab8ca0388c031f3baa2225a98dbb2cc0a">big_480_29.h</a>
-</li>
 <li>NEXCESS_480_56
 : <a class="el" href="big__480__56_8h.html#ab0b2554d6a56132dfed86a30044f6b3a">big_480_56.h</a>
 </li>
-<li>NEXCESS_512_29
-: <a class="el" href="big__512__29_8h.html#abbb65ff3dcf6f8c01ad07af79c8aed5a">big_512_29.h</a>
-</li>
 <li>NEXCESS_512_56
 : <a class="el" href="big__512__56_8h.html#a04df0e72fd01b043bc75136f55dddefa">big_512_56.h</a>
 </li>
 <li>NEXCESS_512_60
 : <a class="el" href="big__512__60_8h.html#a5708fee15b225da579de35fc1b89ca67">big_512_60.h</a>
 </li>
-<li>NEXCESS_528_28
-: <a class="el" href="big__528__28_8h.html#a2b0456920d6877c24ced651bc6ff5617">big_528_28.h</a>
-</li>
 <li>NEXCESS_528_60
 : <a class="el" href="big__528__60_8h.html#acd57cc9b3fb3e357ef8e50b6c7210c07">big_528_60.h</a>
 </li>
-<li>NEXCESS_560_29
-: <a class="el" href="big__560__29_8h.html#af547bb109561c1676dd7fa6d28c4c56c">big_560_29.h</a>
-</li>
 <li>NEXCESS_560_58
 : <a class="el" href="big__560__58_8h.html#a8c82fbf779b6b62aef7e61f30b6b59e5">big_560_58.h</a>
 </li>
-<li>NLEN_1024_28
-: <a class="el" href="big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f">big_1024_28.h</a>
-</li>
 <li>NLEN_1024_58
 : <a class="el" href="big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37">big_1024_58.h</a>
 </li>
-<li>NLEN_256_28
-: <a class="el" href="big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8">big_256_28.h</a>
-</li>
-<li>NLEN_256_29
-: <a class="el" href="big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28">big_256_29.h</a>
-</li>
 <li>NLEN_256_56
 : <a class="el" href="big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309">big_256_56.h</a>
 </li>
-<li>NLEN_336_29
-: <a class="el" href="big__336__29_8h.html#a8b14578e59aabea47a378405513d004a">big_336_29.h</a>
-</li>
 <li>NLEN_336_60
 : <a class="el" href="big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659">big_336_60.h</a>
 </li>
-<li>NLEN_384_28
-: <a class="el" href="big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e">big_384_28.h</a>
-</li>
-<li>NLEN_384_29
-: <a class="el" href="big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3">big_384_29.h</a>
-</li>
 <li>NLEN_384_56
 : <a class="el" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">big_384_56.h</a>
 </li>
 <li>NLEN_384_58
 : <a class="el" href="big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630">big_384_58.h</a>
 </li>
-<li>NLEN_416_29
-: <a class="el" href="big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a">big_416_29.h</a>
-</li>
 <li>NLEN_416_60
 : <a class="el" href="big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276">big_416_60.h</a>
 </li>
-<li>NLEN_448_29
-: <a class="el" href="big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc">big_448_29.h</a>
-</li>
 <li>NLEN_448_58
 : <a class="el" href="big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2">big_448_58.h</a>
 </li>
-<li>NLEN_464_28
-: <a class="el" href="big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d">big_464_28.h</a>
-</li>
 <li>NLEN_464_60
 : <a class="el" href="big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d">big_464_60.h</a>
 </li>
-<li>NLEN_480_29
-: <a class="el" href="big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696">big_480_29.h</a>
-</li>
 <li>NLEN_480_56
 : <a class="el" href="big__480__56_8h.html#a107885e16c56648b41e07de2996971d4">big_480_56.h</a>
 </li>
-<li>NLEN_512_29
-: <a class="el" href="big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2">big_512_29.h</a>
-</li>
 <li>NLEN_512_56
 : <a class="el" href="big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441">big_512_56.h</a>
 </li>
 <li>NLEN_512_60
 : <a class="el" href="big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b">big_512_60.h</a>
 </li>
-<li>NLEN_528_28
-: <a class="el" href="big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf">big_528_28.h</a>
-</li>
 <li>NLEN_528_60
 : <a class="el" href="big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07">big_528_60.h</a>
 </li>
-<li>NLEN_560_29
-: <a class="el" href="big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a">big_560_29.h</a>
-</li>
 <li>NLEN_560_58
 : <a class="el" href="big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415">big_560_58.h</a>
 </li>
@@ -226,7 +151,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/globals_o.html b/website/static/cdocs/globals_o.html
index 04c005d..263011b 100644
--- a/website/static/cdocs/globals_o.html
+++ b/website/static/cdocs/globals_o.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: Globals</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 -->
@@ -145,7 +148,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/globals_p.html b/website/static/cdocs/globals_p.html
index e6c929c..5150fef 100644
--- a/website/static/cdocs/globals_p.html
+++ b/website/static/cdocs/globals_p.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: Globals</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 -->
@@ -100,6 +103,30 @@
 <li>P_TBITS_4096
 : <a class="el" href="ff__4096_8h.html#a5ba9da7c29e141e405df229d57698561">ff_4096.h</a>
 </li>
+<li>PAILLIER_ADD()
+: <a class="el" href="paillier_8h.html#ae7c14aa732c7296722ebee1a27b19a3f">paillier.h</a>
+</li>
+<li>PAILLIER_DECRYPT()
+: <a class="el" href="paillier_8h.html#afdfd329c0c2296587f4ad31b726c46a9">paillier.h</a>
+</li>
+<li>PAILLIER_ENCRYPT()
+: <a class="el" href="paillier_8h.html#a637d7102d00ab63a898b34fb21c835d3">paillier.h</a>
+</li>
+<li>PAILLIER_KEY_PAIR()
+: <a class="el" href="paillier_8h.html#af2c7ba1d7f74ba21e17b54463a3bb7a8">paillier.h</a>
+</li>
+<li>PAILLIER_MULT()
+: <a class="el" href="paillier_8h.html#a3efdaed7b02dacdf319966f253f26d40">paillier.h</a>
+</li>
+<li>PAILLIER_PK_fromOctet()
+: <a class="el" href="paillier_8h.html#a8910d02efcaa97d176c90f2e20496d1a">paillier.h</a>
+</li>
+<li>PAILLIER_PK_toOctet()
+: <a class="el" href="paillier_8h.html#a7de192657d81c9a434ef9e17ead98c15">paillier.h</a>
+</li>
+<li>PAILLIER_PRIVATE_KEY_KILL()
+: <a class="el" href="paillier_8h.html#a4cf8d2d20dbdb35662bd000c42252ad9">paillier.h</a>
+</li>
 <li>PAIR_BLS381_another()
 : <a class="el" href="pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642">pair_BLS381.h</a>
 </li>
@@ -335,14 +362,14 @@
 : <a class="el" href="ecdh__support_8h.html#a62c536a5dc88eb2f318773d6461f9759">ecdh_support.h</a>
 </li>
 <li>PBLEN
-: <a class="el" href="mpin__BLS461_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_BLS461.h</a>
-, <a class="el" href="mpin192__BLS24_8h.html#a1bc47461f3417c96da72488c6030447e">mpin192_BLS24.h</a>
+: <a class="el" href="mpin192__BLS24_8h.html#a1bc47461f3417c96da72488c6030447e">mpin192_BLS24.h</a>
+, <a class="el" href="mpin__BN254CX_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_BN254CX.h</a>
 , <a class="el" href="mpin__BLS381_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_BLS381.h</a>
 , <a class="el" href="mpin__BLS383_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_BLS383.h</a>
 , <a class="el" href="mpin256__BLS48_8h.html#a1bc47461f3417c96da72488c6030447e">mpin256_BLS48.h</a>
 , <a class="el" href="mpin__BN254_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_BN254.h</a>
-, <a class="el" href="mpin__BN254CX_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_BN254CX.h</a>
 , <a class="el" href="mpin__FP256BN_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_FP256BN.h</a>
+, <a class="el" href="mpin__BLS461_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_BLS461.h</a>
 , <a class="el" href="mpin__FP512BN_8h.html#a1bc47461f3417c96da72488c6030447e">mpin_FP512BN.h</a>
 </li>
 <li>PFS_BLS24
@@ -400,29 +427,29 @@
 : <a class="el" href="mpin__FP512BN_8h.html#a0811438c0357e66d04452fcc27b783e4">mpin_FP512BN.h</a>
 </li>
 <li>PIV
-: <a class="el" href="wcc__BN254_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_BN254.h</a>
-, <a class="el" href="wcc__BLS381_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_BLS381.h</a>
+: <a class="el" href="wcc__BLS381_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_BLS381.h</a>
 , <a class="el" href="wcc__BLS461_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_BLS461.h</a>
-, <a class="el" href="wcc__FP512BN_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_FP512BN.h</a>
+, <a class="el" href="wcc__BN254_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_BN254.h</a>
 , <a class="el" href="wcc__BLS383_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_BLS383.h</a>
-, <a class="el" href="wcc256__BLS48_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc256_BLS48.h</a>
-, <a class="el" href="wcc192__BLS24_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc192_BLS24.h</a>
 , <a class="el" href="wcc__BN254CX_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_BN254CX.h</a>
+, <a class="el" href="wcc192__BLS24_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc192_BLS24.h</a>
+, <a class="el" href="wcc__FP512BN_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_FP512BN.h</a>
+, <a class="el" href="wcc256__BLS48_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc256_BLS48.h</a>
 , <a class="el" href="wcc__FP256BN_8h.html#a88208820c0de8e46fe682d2e1ea225bb">wcc_FP256BN.h</a>
 </li>
 <li>PKCS15()
 : <a class="el" href="rsa__support_8h.html#a512f095800aeb50f09531474b04aaafd">rsa_support.h</a>
 </li>
 <li>PTAG
-: <a class="el" href="wcc__BLS381_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BLS381.h</a>
-, <a class="el" href="wcc192__BLS24_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc192_BLS24.h</a>
-, <a class="el" href="wcc__BLS383_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BLS383.h</a>
-, <a class="el" href="wcc__BLS461_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BLS461.h</a>
-, <a class="el" href="wcc256__BLS48_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc256_BLS48.h</a>
-, <a class="el" href="wcc__FP256BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_FP256BN.h</a>
-, <a class="el" href="wcc__FP512BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_FP512BN.h</a>
-, <a class="el" href="wcc__BN254_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BN254.h</a>
+: <a class="el" href="wcc__BLS383_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BLS383.h</a>
 , <a class="el" href="wcc__BN254CX_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BN254CX.h</a>
+, <a class="el" href="wcc__BLS381_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BLS381.h</a>
+, <a class="el" href="wcc192__BLS24_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc192_BLS24.h</a>
+, <a class="el" href="wcc256__BLS48_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc256_BLS48.h</a>
+, <a class="el" href="wcc__BN254_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BN254.h</a>
+, <a class="el" href="wcc__FP512BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_FP512BN.h</a>
+, <a class="el" href="wcc__FP256BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_FP256BN.h</a>
+, <a class="el" href="wcc__BLS461_8h.html#a15af35aa0d71cab6c5c72dac99de8215">wcc_BLS461.h</a>
 </li>
 </ul>
 </div><!-- contents -->
@@ -430,7 +457,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/globals_r.html b/website/static/cdocs/globals_r.html
index ebb63d4..926454d 100644
--- a/website/static/cdocs/globals_r.html
+++ b/website/static/cdocs/globals_r.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: Globals</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 -->
@@ -193,7 +196,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/globals_s.html b/website/static/cdocs/globals_s.html
index 4a18cd8..51e44da 100644
--- a/website/static/cdocs/globals_s.html
+++ b/website/static/cdocs/globals_s.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: Globals</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 -->
@@ -82,7 +85,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/globals_t.html b/website/static/cdocs/globals_t.html
index c1e7f59..bf664ae 100644
--- a/website/static/cdocs/globals_t.html
+++ b/website/static/cdocs/globals_t.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: Globals</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 -->
@@ -223,7 +226,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/globals_type.html b/website/static/cdocs/globals_type.html
index 17193d6..86e39e8 100644
--- a/website/static/cdocs/globals_type.html
+++ b/website/static/cdocs/globals_type.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: Globals</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 -->
@@ -61,166 +64,82 @@
 </div>
 
 <div class="contents">
-&#160;
-
-<h3><a id="index_b"></a>- b -</h3><ul>
-<li>BIG_1024_28
-: <a class="el" href="big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62">big_1024_28.h</a>
-</li>
+&#160;<ul>
 <li>BIG_1024_58
 : <a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">big_1024_58.h</a>
 </li>
-<li>BIG_256_28
-: <a class="el" href="big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b">big_256_28.h</a>
-</li>
-<li>BIG_256_29
-: <a class="el" href="big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18">big_256_29.h</a>
-</li>
 <li>BIG_256_56
 : <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">big_256_56.h</a>
 </li>
-<li>BIG_336_29
-: <a class="el" href="big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1">big_336_29.h</a>
-</li>
 <li>BIG_336_60
 : <a class="el" href="big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1">big_336_60.h</a>
 </li>
-<li>BIG_384_28
-: <a class="el" href="big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e">big_384_28.h</a>
-</li>
-<li>BIG_384_29
-: <a class="el" href="big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c">big_384_29.h</a>
-</li>
 <li>BIG_384_56
 : <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">big_384_56.h</a>
 </li>
 <li>BIG_384_58
 : <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">big_384_58.h</a>
 </li>
-<li>BIG_416_29
-: <a class="el" href="big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62">big_416_29.h</a>
-</li>
 <li>BIG_416_60
 : <a class="el" href="big__416__60_8h.html#a44dd6638775981360035b72d63fa739b">big_416_60.h</a>
 </li>
-<li>BIG_448_29
-: <a class="el" href="big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761">big_448_29.h</a>
-</li>
 <li>BIG_448_58
 : <a class="el" href="big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e">big_448_58.h</a>
 </li>
-<li>BIG_464_28
-: <a class="el" href="big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6">big_464_28.h</a>
-</li>
 <li>BIG_464_60
 : <a class="el" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">big_464_60.h</a>
 </li>
-<li>BIG_480_29
-: <a class="el" href="big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff">big_480_29.h</a>
-</li>
 <li>BIG_480_56
 : <a class="el" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">big_480_56.h</a>
 </li>
-<li>BIG_512_29
-: <a class="el" href="big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2">big_512_29.h</a>
-</li>
 <li>BIG_512_56
 : <a class="el" href="big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c">big_512_56.h</a>
 </li>
 <li>BIG_512_60
 : <a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">big_512_60.h</a>
 </li>
-<li>BIG_528_28
-: <a class="el" href="big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e">big_528_28.h</a>
-</li>
 <li>BIG_528_60
 : <a class="el" href="big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45">big_528_60.h</a>
 </li>
-<li>BIG_560_29
-: <a class="el" href="big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795">big_560_29.h</a>
-</li>
 <li>BIG_560_58
 : <a class="el" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">big_560_58.h</a>
 </li>
-</ul>
-
-
-<h3><a id="index_d"></a>- d -</h3><ul>
-<li>DBIG_1024_28
-: <a class="el" href="big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647">big_1024_28.h</a>
-</li>
 <li>DBIG_1024_58
 : <a class="el" href="big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027">big_1024_58.h</a>
 </li>
-<li>DBIG_256_28
-: <a class="el" href="big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be">big_256_28.h</a>
-</li>
-<li>DBIG_256_29
-: <a class="el" href="big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884">big_256_29.h</a>
-</li>
 <li>DBIG_256_56
 : <a class="el" href="big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a">big_256_56.h</a>
 </li>
-<li>DBIG_336_29
-: <a class="el" href="big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9">big_336_29.h</a>
-</li>
 <li>DBIG_336_60
 : <a class="el" href="big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6">big_336_60.h</a>
 </li>
-<li>DBIG_384_28
-: <a class="el" href="big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b">big_384_28.h</a>
-</li>
-<li>DBIG_384_29
-: <a class="el" href="big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8">big_384_29.h</a>
-</li>
 <li>DBIG_384_56
 : <a class="el" href="big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c">big_384_56.h</a>
 </li>
 <li>DBIG_384_58
 : <a class="el" href="big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea">big_384_58.h</a>
 </li>
-<li>DBIG_416_29
-: <a class="el" href="big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0">big_416_29.h</a>
-</li>
 <li>DBIG_416_60
 : <a class="el" href="big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2">big_416_60.h</a>
 </li>
-<li>DBIG_448_29
-: <a class="el" href="big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7">big_448_29.h</a>
-</li>
 <li>DBIG_448_58
 : <a class="el" href="big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32">big_448_58.h</a>
 </li>
-<li>DBIG_464_28
-: <a class="el" href="big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172">big_464_28.h</a>
-</li>
 <li>DBIG_464_60
 : <a class="el" href="big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74">big_464_60.h</a>
 </li>
-<li>DBIG_480_29
-: <a class="el" href="big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410">big_480_29.h</a>
-</li>
 <li>DBIG_480_56
 : <a class="el" href="big__480__56_8h.html#a0431a818206f629e340731bd19e6c948">big_480_56.h</a>
 </li>
-<li>DBIG_512_29
-: <a class="el" href="big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d">big_512_29.h</a>
-</li>
 <li>DBIG_512_56
 : <a class="el" href="big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11">big_512_56.h</a>
 </li>
 <li>DBIG_512_60
 : <a class="el" href="big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906">big_512_60.h</a>
 </li>
-<li>DBIG_528_28
-: <a class="el" href="big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e">big_528_28.h</a>
-</li>
 <li>DBIG_528_60
 : <a class="el" href="big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0">big_528_60.h</a>
 </li>
-<li>DBIG_560_29
-: <a class="el" href="big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959">big_560_29.h</a>
-</li>
 <li>DBIG_560_58
 : <a class="el" href="big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2">big_560_58.h</a>
 </li>
@@ -230,7 +149,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/globals_u.html b/website/static/cdocs/globals_u.html
index c4aa671..f294e09 100644
--- a/website/static/cdocs/globals_u.html
+++ b/website/static/cdocs/globals_u.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: Globals</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 -->
@@ -79,7 +82,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/globals_vars.html b/website/static/cdocs/globals_vars.html
index 210caf8..d6222d0 100644
--- a/website/static/cdocs/globals_vars.html
+++ b/website/static/cdocs/globals_vars.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: Globals</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 -->
@@ -3472,7 +3475,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/globals_vars_f.html b/website/static/cdocs/globals_vars_f.html
index 6543621..c695d38 100644
--- a/website/static/cdocs/globals_vars_f.html
+++ b/website/static/cdocs/globals_vars_f.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: Globals</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 -->
@@ -242,7 +245,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/globals_vars_m.html b/website/static/cdocs/globals_vars_m.html
index a22d63d..2fc1e65 100644
--- a/website/static/cdocs/globals_vars_m.html
+++ b/website/static/cdocs/globals_vars_m.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: Globals</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 -->
@@ -208,7 +211,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/globals_vars_r.html b/website/static/cdocs/globals_vars_r.html
index 26e58fe..430d849 100644
--- a/website/static/cdocs/globals_vars_r.html
+++ b/website/static/cdocs/globals_vars_r.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: Globals</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 -->
@@ -139,7 +142,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/globals_w.html b/website/static/cdocs/globals_w.html
index 58219e8..6bf9d13 100644
--- a/website/static/cdocs/globals_w.html
+++ b/website/static/cdocs/globals_w.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: Globals</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 -->
@@ -362,7 +365,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/globals_x.html b/website/static/cdocs/globals_x.html
index aa73ce6..36e6ec7 100644
--- a/website/static/cdocs/globals_x.html
+++ b/website/static/cdocs/globals_x.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: Globals</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 -->
@@ -97,7 +100,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/index.html b/website/static/cdocs/index.html
index 2c069c9..62c36c9 100644
--- a/website/static/cdocs/index.html
+++ b/website/static/cdocs/index.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: Apache Milagro Crypto Library (AMCL)</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 -->
@@ -60,7 +63,7 @@
 </iframe>
 </div>
 
-<div class="PageDoc"><div class="header">
+<div class="header">
   <div class="headertitle">
 <div class="title">Apache Milagro Crypto Library (AMCL) </div>  </div>
 </div><!--header-->
@@ -93,13 +96,12 @@
 <h1><a class="anchor" id="installonmainpage"></a>
 Installation</h1>
 <p>There are instructions for building for <a class="el" href="linux.html">Linux</a>, <a class="el" href="mac.html">Mac OS</a> and <a class="el" href="windows.html">Windows</a>. </p>
-</div></div><!-- PageDoc -->
-</div><!-- contents -->
+</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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/jquery.js b/website/static/cdocs/jquery.js
index 1ee895c..f5343ed 100644
--- a/website/static/cdocs/jquery.js
+++ b/website/static/cdocs/jquery.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery JavaScript Library v1.7.2
+ * jQuery JavaScript Library v1.7.1
  * http://jquery.com/
  *
  * Copyright 2011, John Resig
@@ -11,16 +11,16 @@
  * Copyright 2011, The Dojo Foundation
  * Released under the MIT, BSD, and GPL Licenses.
  *
- * Date: Wed Mar 21 12:46:34 2012 -0700
+ * Date: Mon Nov 21 21:11:03 2011 -0500
  */
-(function(bd,L){var av=bd.document,bu=bd.navigator,bm=bd.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bd.jQuery,bH=bd.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bd.$===bF){bd.$=bH}if(b0&&bd.jQuery===bF){bd.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bd.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bd.attachEvent("onload",bF.ready);var b0=false;try{b0=bd.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0!=null&&b0==b0.window},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bd.JSON&&bd.JSON.parse){return bd.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){if(typeof b2!=="string"||!b2){return null}var b0,b1;try{if(bd.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bd.execScript||function(b1){bd["eval"].call(bd,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b6,b9,b7,b4,ca,b8){var b2,b5=b9==null,b3=0,b1=b0.length;if(b9&&typeof b9==="object"){for(b3 in b9){bF.access(b0,b6,b3,b9[b3],1,ca,b7)}b4=1}else{if(b7!==L){b2=b8===L&&bF.isFunction(b7);if(b5){if(b2){b2=b6;b6=function(cc,cb,cd){return b2.call(bF(cc),cd)}}else{b6.call(b0,b7);b6=null}}if(b6){for(;b3<b1;b3++){b6(b0[b3],b9,b2?b7.call(b0[b3],b3,b6(b0[b3],b9)):b7,b8)}}b4=1}}return b4?b0:b5?b6.call(b0):b1?b6(b0[0],b9):ca},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a3={};function X(e){var bv=a3[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bx){bx=bx?(a3[bx]||X(bx)):{};var bC=[],bD=[],by,e,bz,bw,bA,bB,bF=function(bG){var bH,bK,bJ,bI,bL;for(bH=0,bK=bG.length;bH<bK;bH++){bJ=bG[bH];bI=b.type(bJ);if(bI==="array"){bF(bJ)}else{if(bI==="function"){if(!bx.unique||!bE.has(bJ)){bC.push(bJ)}}}}},bv=function(bH,bG){bG=bG||[];by=!bx.memory||[bH,bG];e=true;bz=true;bB=bw||0;bw=0;bA=bC.length;for(;bC&&bB<bA;bB++){if(bC[bB].apply(bH,bG)===false&&bx.stopOnFalse){by=true;break}}bz=false;if(bC){if(!bx.once){if(bD&&bD.length){by=bD.shift();bE.fireWith(by[0],by[1])}}else{if(by===true){bE.disable()}else{bC=[]}}}},bE={add:function(){if(bC){var bG=bC.length;bF(arguments);if(bz){bA=bC.length}else{if(by&&by!==true){bw=bG;bv(by[0],by[1])}}}return this},remove:function(){if(bC){var bG=arguments,bI=0,bJ=bG.length;for(;bI<bJ;bI++){for(var bH=0;bH<bC.length;bH++){if(bG[bI]===bC[bH]){if(bz){if(bH<=bA){bA--;if(bH<=bB){bB--}}}bC.splice(bH--,1);if(bx.unique){break}}}}}return this},has:function(bH){if(bC){var bG=0,bI=bC.length;for(;bG<bI;bG++){if(bH===bC[bG]){return true}}}return false},empty:function(){bC=[];return this},disable:function(){bC=bD=by=L;return this},disabled:function(){return !bC},lock:function(){bD=L;if(!by||by===true){bE.disable()}return this},locked:function(){return !bD},fireWith:function(bH,bG){if(bD){if(bz){if(!bx.once){bD.push([bH,bG])}}else{if(!(bx.once&&by)){bv(bH,bG)}}}return this},fire:function(){bE.fireWith(this,arguments);return this},fired:function(){return !!e}};return bE};var aK=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aK.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aK.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aK.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bI,bH,bE,bF,bx,bD,bC,bz,bJ,bA,by,bw,bv=av.createElement("div"),bG=av.documentElement;bv.setAttribute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bH=bv.getElementsByTagName("*");bE=bv.getElementsByTagName("a")[0];if(!bH||!bH.length||!bE){return{}}bF=av.createElement("select");bx=bF.appendChild(av.createElement("option"));bD=bv.getElementsByTagName("input")[0];bI={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bE.getAttribute("style")),hrefNormalized:(bE.getAttribute("href")==="/a"),opacity:/^0.55/.test(bE.style.opacity),cssFloat:!!bE.style.cssFloat,checkOn:(bD.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,pixelMargin:true};b.boxModel=bI.boxModel=(av.compatMode==="CSS1Compat");bD.checked=true;bI.noCloneChecked=bD.cloneNode(true).checked;bF.disabled=true;bI.optDisabled=!bx.disabled;try{delete bv.test}catch(bB){bI.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bI.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bD=av.createElement("input");bD.value="t";bD.setAttribute("type","radio");bI.radioValue=bD.value==="t";bD.setAttribute("checked","checked");bD.setAttribute("name","t");bv.appendChild(bD);bC=av.createDocumentFragment();bC.appendChild(bv.lastChild);bI.checkClone=bC.cloneNode(true).cloneNode(true).lastChild.checked;bI.appendChecked=bD.checked;bC.removeChild(bD);bC.appendChild(bv);if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bA="on"+by;bw=(bA in bv);if(!bw){bv.setAttribute(bA,"return;");bw=(typeof bv[bA]==="function")}bI[by+"Bubbles"]=bw}}bC.removeChild(bv);bC=bF=bx=bv=bD=null;b(function(){var bM,bV,bW,bU,bO,bP,bR,bL,bK,bQ,bN,e,bT,bS=av.getElementsByTagName("body")[0];if(!bS){return}bL=1;bT="padding:0;margin:0;border:";bN="position:absolute;top:0;left:0;width:1px;height:1px;";e=bT+"0;visibility:hidden;";bK="style='"+bN+bT+"5px solid #000;";bQ="<div "+bK+"display:block;'><div style='"+bT+"0;display:block;overflow:hidden;'></div></div><table "+bK+"' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=e+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bS.insertBefore(bM,bS.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='"+bT+"0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bI.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);if(bd.getComputedStyle){bv.innerHTML="";bR=av.createElement("div");bR.style.width="0";bR.style.marginRight="0";bv.style.width="2px";bv.appendChild(bR);bI.reliableMarginRight=(parseInt((bd.getComputedStyle(bR,null)||{marginRight:0}).marginRight,10)||0)===0}if(typeof bv.style.zoom!=="undefined"){bv.innerHTML="";bv.style.width=bv.style.padding="1px";bv.style.border=0;bv.style.overflow="hidden";bv.style.display="inline";bv.style.zoom=1;bI.inlineBlockNeedsLayout=(bv.offsetWidth===3);bv.style.display="block";bv.style.overflow="visible";bv.innerHTML="<div style='width:5px;'></div>";bI.shrinkWrapBlocks=(bv.offsetWidth!==3)}bv.style.cssText=bN+e;bv.innerHTML=bQ;bV=bv.firstChild;bW=bV.firstChild;bO=bV.nextSibling.firstChild.firstChild;bP={doesNotAddBorder:(bW.offsetTop!==5),doesAddBorderForTableAndCells:(bO.offsetTop===5)};bW.style.position="fixed";bW.style.top="20px";bP.fixedPosition=(bW.offsetTop===20||bW.offsetTop===15);bW.style.position=bW.style.top="";bV.style.overflow="hidden";bV.style.position="relative";bP.subtractsBorderForOverflowNotVisible=(bW.offsetTop===-5);bP.doesNotIncludeMarginInBodyOffset=(bS.offsetTop!==bL);if(bd.getComputedStyle){bv.style.marginTop="1%";bI.pixelMargin=(bd.getComputedStyle(bv,null)||{marginTop:0}).marginTop!=="1%"}if(typeof bM.style.zoom!=="undefined"){bM.style.zoom=1}bS.removeChild(bM);bR=bv=bM=null;b.extend(bI,bP)});return bI})();var aT=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(bD,bC){var by,bv,bB,e,bx,bw=this[0],bA=0,bz=null;if(bD===L){if(this.length){bz=b.data(bw);if(bw.nodeType===1&&!b._data(bw,"parsedAttrs")){bB=bw.attributes;for(bx=bB.length;bA<bx;bA++){e=bB[bA].name;if(e.indexOf("data-")===0){e=b.camelCase(e.substring(5));a6(bw,e,bz[e])}}b._data(bw,"parsedAttrs",true)}}return bz}if(typeof bD==="object"){return this.each(function(){b.data(this,bD)})}by=bD.split(".",2);by[1]=by[1]?"."+by[1]:"";bv=by[1]+"!";return b.access(this,function(bE){if(bE===L){bz=this.triggerHandler("getData"+bv,[by[0]]);if(bz===L&&bw){bz=b.data(bw,bD);bz=a6(bw,bD,bz)}return bz===L&&by[1]?this.data(by[0]):bz}by[1]=bE;this.each(function(){var bF=b(this);bF.triggerHandler("setData"+bv,by);b.data(this,bD,bE);bF.triggerHandler("changeData"+bv,by)})},null,bC,arguments.length>1,null,false)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a6(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?+by:aT.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bj(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bj(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bj(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){var bw=2;if(typeof e!=="string"){bv=e;e="fx";bw--}if(arguments.length<bw){return b.queue(this[0],e)}return bv===L?this:this.each(function(){var bx=b.queue(this,e,bv);if(e==="fx"&&bx[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise(bw)}});var aQ=/[\n\t\r]/g,ag=/\s+/,aV=/\r/g,g=/^(?:button|input)$/i,C=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,E=b.support.getSetAttribute,bf,aZ,aG;b.fn.extend({attr:function(e,bv){return b.access(this,b.attr,e,bv,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,b.prop,e,bv,arguments.length>1)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(ag);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(ag);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aQ," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(ag);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aQ," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.type]||b.valHooks[bw.nodeName.toLowerCase()];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aV,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aZ:bf)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(by,bA){var bz,bB,bw,e,bv,bx=0;if(bA&&by.nodeType===1){bB=bA.toLowerCase().split(ag);e=bB.length;for(;bx<e;bx++){bw=bB[bx];if(bw){bz=b.propFix[bw]||bw;bv=ao.test(bw);if(!bv){b.attr(by,bw,"")}by.removeAttribute(E?bw:bz);if(bv&&bz in by){by[bz]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(bf&&b.nodeName(bv,"button")){return bf.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(bf&&b.nodeName(bv,"button")){return bf.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):C.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aZ={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!E){aG={name:true,id:true,coords:true};bf=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aG[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=bf.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:bf.get,set:function(bv,bw,e){if(bw===""){bw="false"}bf.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var be=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/(?:^|\s)hover(\.\S+)?\b/,aP=/^key/,bg=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler;by=bv.selector}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:by&&Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bd,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(bH){bH=b.event.fix(bH||bd.event);var bD=((b._data(this,"events")||{})[bH.type]||[]),bC=bD.delegateCount,bx=[].slice.call(arguments,0),bE=!bH.exclusive&&!bH.namespace,bz=b.event.special[bH.type]||{},bv=[],bJ,bG,by,bA,bK,bI,bB,bw,e,bF,bL;bx[0]=bH;bH.delegateTarget=this;if(bz.preDispatch&&bz.preDispatch.call(this,bH)===false){return}if(bC&&!(bH.button&&bH.type==="click")){bA=b(this);bA.context=this.ownerDocument||this;for(by=bH.target;by!=this;by=by.parentNode||this){if(by.disabled!==true){bI={};bw=[];bA[0]=by;for(bJ=0;bJ<bC;bJ++){e=bD[bJ];bF=e.selector;if(bI[bF]===L){bI[bF]=(e.quick?j(by,e.quick):bA.is(bF))}if(bI[bF]){bw.push(e)}}if(bw.length){bv.push({elem:by,matches:bw})}}}}if(bD.length>bC){bv.push({elem:this,matches:bD.slice(bC)})}for(bJ=0;bJ<bv.length&&!bH.isPropagationStopped();bJ++){bB=bv[bJ];bH.currentTarget=bB.elem;for(bG=0;bG<bB.matches.length&&!bH.isImmediatePropagationStopped();bG++){e=bB.matches[bG];if(bE||(!bH.namespace&&!e.namespace)||bH.namespace_re&&bH.namespace_re.test(e.namespace)){bH.data=e.data;bH.handleObj=e;bK=((b.event.special[e.origType]||{}).handle||e.handler).apply(bB.elem,bx);if(bK!==L){bH.result=bK;if(bK===false){bH.preventDefault();bH.stopPropagation()}}}}}if(bz.postDispatch){bz.postDispatch.call(this,bH)}return bH.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bl}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bl(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bl,isPropagationStopped:bl,isImmediatePropagationStopped:bl};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){e._submit_bubble=true});bv._submit_attached=true}})},postDispatch:function(e){if(e._submit_bubble){delete e._submit_bubble;if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}}},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(be.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(be.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return be.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=bz||e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bl}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on(bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.origType+"."+bv.namespace:bv.origType,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bl}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aP.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bg.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
 /*!
  * Sizzle CSS Selector Engine
  *  Copyright 2011, The Dojo Foundation
  *  Released under the MIT, BSD, and GPL Licenses.
  *  More information: http://sizzlejs.com/
  */
-(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9||e===11){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}bE.match.globalPOS=bD;var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,bb=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.globalPOS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aH(this,e,false),"not",e)},filter:function(e){return this.pushStack(aH(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(B(bx[0])||B(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function B(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||bb.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aH(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aS.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aS="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ah=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,v=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ai=new RegExp("<(?:"+aS+")[\\s/>]","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bn=/\/(java|ecma)script/i,aO=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){return b.access(this,function(bv){return bv===L?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(bv))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(e){return b.access(this,function(by){var bx=this[0]||{},bw=0,bv=this.length;if(by===L){return bx.nodeType===1?bx.innerHTML.replace(ah,""):null}if(typeof by==="string"&&!ae.test(by)&&(b.support.leadingWhitespace||!ar.test(by))&&!ax[(d.exec(by)||["",""])[1].toLowerCase()]){by=by.replace(R,"<$1></$2>");try{for(;bw<bv;bw++){bx=this[bw]||{};if(bx.nodeType===1){b.cleanData(bx.getElementsByTagName("*"));bx.innerHTML=by}}bx=0}catch(bz){}}if(bx){this.empty().append(by)}},null,e,arguments.length)},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?bc(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,function(bG,bH){if(bH.src){b.ajax({type:"GET",global:false,url:bH.src,async:false,dataType:"script"})}else{b.globalEval((bH.text||bH.textContent||bH.innerHTML||"").replace(aO,"/*$0*/"))}if(bH.parentNode){bH.parentNode.removeChild(bH)}})}}return this}});function bc(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function s(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by,bw[by][bx])}}}if(bz.data){bz.data=b.extend({},bz.data)}}function aj(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}else{if(bw==="script"&&e.text!==bv.text){e.text=bv.text}}}}}e.removeAttribute(b.expando);e.removeAttribute("_submit_attached");e.removeAttribute("_change_attached")}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ai.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bh(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function D(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function am(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||b.isXMLDoc(by)||!ai.test("<"+by.nodeName+">")?by.cloneNode(true):am(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){aj(by,bz);e=bh(by);bv=bh(bz);for(bx=0;e[bx];++bx){if(bv[bx]){aj(e[bx],bv[bx])}}}if(bA){s(by,bz);if(bw){e=bh(by);bv=bh(bz);for(bx=0;e[bx];++bx){s(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bI,bw,bv,bx){var bA,bH,bD,bJ=[];bw=bw||av;if(typeof bw.createElement==="undefined"){bw=bw.ownerDocument||bw[0]&&bw[0].ownerDocument||av}for(var bE=0,bG;(bG=bI[bE])!=null;bE++){if(typeof bG==="number"){bG+=""}if(!bG){continue}if(typeof bG==="string"){if(!W.test(bG)){bG=bw.createTextNode(bG)}else{bG=bG.replace(R,"<$1></$2>");var bN=(d.exec(bG)||["",""])[1].toLowerCase(),bz=ax[bN]||ax._default,bK=bz[0],bB=bw.createElement("div"),bL=ac.childNodes,bM;if(bw===av){ac.appendChild(bB)}else{a(bw).appendChild(bB)}bB.innerHTML=bz[1]+bG+bz[2];while(bK--){bB=bB.lastChild}if(!b.support.tbody){var by=v.test(bG),e=bN==="table"&&!by?bB.firstChild&&bB.firstChild.childNodes:bz[1]==="<table>"&&!by?bB.childNodes:[];for(bD=e.length-1;bD>=0;--bD){if(b.nodeName(e[bD],"tbody")&&!e[bD].childNodes.length){e[bD].parentNode.removeChild(e[bD])}}}if(!b.support.leadingWhitespace&&ar.test(bG)){bB.insertBefore(bw.createTextNode(ar.exec(bG)[0]),bB.firstChild)}bG=bB.childNodes;if(bB){bB.parentNode.removeChild(bB);if(bL.length>0){bM=bL[bL.length-1];if(bM&&bM.parentNode){bM.parentNode.removeChild(bM)}}}}}var bF;if(!b.support.appendChecked){if(bG[0]&&typeof(bF=bG.length)==="number"){for(bD=0;bD<bF;bD++){D(bG[bD])}}else{D(bG)}}if(bG.nodeType){bJ.push(bG)}else{bJ=b.merge(bJ,bG)}}if(bv){bA=function(bO){return !bO.type||bn.test(bO.type)};for(bE=0;bJ[bE];bE++){bH=bJ[bE];if(bx&&b.nodeName(bH,"script")&&(!bH.type||bn.test(bH.type))){bx.push(bH.parentNode?bH.parentNode.removeChild(bH):bH)}else{if(bH.nodeType===1){var bC=b.grep(bH.getElementsByTagName("script"),bA);bJ.splice.apply(bJ,[bE+1,0].concat(bC))}bv.appendChild(bH)}}}return bJ},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});var al=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,y=/([A-Z]|^ms)/g,bo=/^[\-+]?(?:\d*\.)?\d+$/i,a1=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,I=/^([\-+])=([\-+.\de]+)/,aE=/^margin/,a9={position:"absolute",visibility:"hidden",display:"block"},G=["Top","Right","Bottom","Left"],Z,aJ,aY;b.fn.css=function(e,bv){return b.access(this,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)},e,bv,arguments.length>1)};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(by,bx,bz){var e={},bw,bv;for(bv in bx){e[bv]=by.style[bv];by.style[bv]=bx[bv]}bw=bz.call(by);for(bv in bx){by.style[bv]=e[bv]}return bw}});b.curCSS=b.css;if(av.defaultView&&av.defaultView.getComputedStyle){aJ=function(bA,bw){var bv,bz,e,by,bx=bA.style;bw=bw.replace(y,"-$1").toLowerCase();if((bz=bA.ownerDocument.defaultView)&&(e=bz.getComputedStyle(bA,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(bA.ownerDocument.documentElement,bA)){bv=b.style(bA,bw)}}if(!b.support.pixelMargin&&e&&aE.test(bw)&&a1.test(bv)){by=bx.width;bx.width=bv;bv=e.width;bx.width=by}return bv}}if(av.documentElement.currentStyle){aY=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv==null&&bx&&(by=bx[bw])){bv=by}if(a1.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":bv;bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aJ||aY;function af(by,bw,bv){var bz=bw==="width"?by.offsetWidth:by.offsetHeight,bx=bw==="width"?1:0,e=4;if(bz>0){if(bv!=="border"){for(;bx<e;bx+=2){if(!bv){bz-=parseFloat(b.css(by,"padding"+G[bx]))||0}if(bv==="margin"){bz+=parseFloat(b.css(by,bv+G[bx]))||0}else{bz-=parseFloat(b.css(by,"border"+G[bx]+"Width"))||0}}}return bz+"px"}bz=Z(by,bw);if(bz<0||bz==null){bz=by.style[bw]}if(a1.test(bz)){return bz}bz=parseFloat(bz)||0;if(bv){for(;bx<e;bx+=2){bz+=parseFloat(b.css(by,"padding"+G[bx]))||0;if(bv!=="padding"){bz+=parseFloat(b.css(by,"border"+G[bx]+"Width"))||0}if(bv==="margin"){bz+=parseFloat(b.css(by,bv+G[bx]))||0}}}return bz+"px"}b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){if(bx){if(by.offsetWidth!==0){return af(by,e,bw)}else{return b.swap(by,a9,function(){return af(by,e,bw)})}}},set:function(bw,bx){return bo.test(bx)?bx+"px":bx}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(al,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=al.test(bw)?bw.replace(al,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bv,e){return b.swap(bv,{display:"inline-block"},function(){if(e){return Z(bv,"margin-right")}else{return bv.style.marginRight}})}}}});if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}b.each({margin:"",padding:"",border:"Width"},function(e,bv){b.cssHooks[e+bv]={expand:function(by){var bx,bz=typeof by==="string"?by.split(" "):[by],bw={};for(bx=0;bx<4;bx++){bw[e+G[bx]+bv]=bz[bx]||bz[bx-2]||bz[0]}return bw}}});var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,a0=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aN=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aR=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a7=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,p=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,z=b.fn.load,aa={},q={},aF,r,aW=["*/"]+["*"];try{aF=bm.href}catch(aw){aF=av.createElement("a");aF.href="";aF=aF.href}r=K.exec(aF.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aX(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aX(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aX(bv,bE,bz,bD,"*",bx)}return bC}function an(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&z){return z.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a7,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||a0.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){an(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}an(bv,e);return bv},ajaxSettings:{url:aF,isLocal:aN.test(r[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bd.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(q),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bk(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=F(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,r[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=r[1]||bI[2]!=r[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(r[3]||(r[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aX(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aR.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aW+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aX(q,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){u(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function u(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{u(bw+"["+(typeof bz==="object"?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&b.type(by)==="object"){for(var e in by){u(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bk(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function F(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),t=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=(typeof bD.data==="string")&&/^application\/x\-www\-form\-urlencoded/.test(bD.contentType);if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(t.test(bD.url)||bx&&t.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bd[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(t,bv);if(bD.url===e){if(bx){by=by.replace(t,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bd[bw]=function(bE){bB=[bE]};bC.always(function(){bd[bw]=bz;if(bB&&b.isFunction(bz)){bd[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var A=bd.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,x=0,N;function aM(){try{return new bd.XMLHttpRequest()}catch(bv){}}function ak(){try{return new bd.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bd.ActiveXObject?function(){return !this.isLocal&&aM()||ak()}:aM;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(A){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}try{bI.text=bA.responseText}catch(bK){}try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++x;if(A){if(!N){N={};b(bd).unload(A)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},ba,m,aB=/^(?:toggle|show|hide)$/,aU=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a4,aI=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a5;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a2("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if((by===""&&b.css(bw,"display")==="none")||!b.contains(bw.ownerDocument.documentElement,bw)){b._data(bw,"olddisplay",w(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a2("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a2("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bL=this.nodeType===1,bJ=bL&&b(this).is(":hidden"),bB,bG,bD,bK,bN,bF,bI,bC,bH,bM,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}if((bN=b.cssHooks[bB])&&"expand" in bN){bF=bN.expand(bz[bB]);delete bz[bB];for(bD in bF){if(!(bD in bz)){bz[bD]=bF[bD]}}}}for(bB in bz){bG=bz[bB];if(b.isArray(bG)){bE.animatedProperties[bB]=bG[1];bG=bz[bB]=bG[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bG==="hide"&&bJ||bG==="show"&&!bJ){return bE.complete.call(this)}if(bL&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||w(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bK=new b.fx(this,bE,bD);bG=bz[bD];if(aB.test(bG)){bA=b._data(this,"toggle"+bD)||(bG==="toggle"?bJ?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bK[bA]()}else{bK[bG]()}}else{bI=aU.exec(bG);bC=bK.cur();if(bI){bH=parseFloat(bI[2]);bM=bI[3]||(b.cssNumber[bD]?"":"px");if(bM!=="px"){b.style(this,bD,(bH||1)+bM);bC=((bH||1)/bK.cur())*bC;b.style(this,bD,bC+bM)}if(bI[1]){bH=((bI[1]==="-="?-1:1)*bH)+bC}bK.custom(bC,bH,bM)}else{bK.custom(bC,bG,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bi(){setTimeout(at,0);return(a5=b.now())}function at(){a5=L}function a2(bv,e){var bw={};b.each(aI.concat.apply([],aI.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a2("show",1),slideUp:a2("hide",1),slideToggle:a2("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(e){return e},swing:function(e){return(-Math.cos(e*Math.PI)/2)+0.5}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a5||bi();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(b._data(e.elem,"fxshow"+e.prop)===L){if(e.options.hide){b._data(e.elem,"fxshow"+e.prop,e.start)}else{if(e.options.show){b._data(e.elem,"fxshow"+e.prop,e.end)}}}};if(bv()&&b.timers.push(bv)&&!a4){a4=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a5||bi(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a4);a4=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(aI.concat.apply([],aI),function(e,bv){if(bv.indexOf("margin")){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function w(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!ba){ba=av.createElement("iframe");ba.frameBorder=ba.width=ba.height=0}e.appendChild(ba);if(!m||!ba.createElement){m=(ba.contentWindow||ba.contentDocument).document;m.write((b.support.boxModel?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(ba)}Q[bx]=bw}return Q[bx]}var a8,V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){a8=function(by,bH,bw,bB){try{bB=by.getBoundingClientRect()}catch(bF){}if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aL(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{a8=function(bz,bE,bx){var bC,bw=bz.offsetParent,bv=bz,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.fn.offset=function(e){if(arguments.length){return e===L?this:this.each(function(bx){b.offset.setOffset(this,e,bx)})}var bv=this[0],bw=bv&&bv.ownerDocument;if(!bw){return null}if(bv===bw.body){return b.offset.bodyOffset(bv)}return a8(bv,bw,bw.documentElement)};b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(bw,bv){var e=/Y/.test(bv);b.fn[bw]=function(bx){return b.access(this,function(by,bB,bA){var bz=aL(by);if(bA===L){return bz?(bv in bz)?bz[bv]:b.support.boxModel&&bz.document.documentElement[bB]||bz.document.body[bB]:by[bB]}if(bz){bz.scrollTo(!e?bA:b(bz).scrollLeft(),e?bA:b(bz).scrollTop())}else{by[bB]=bA}},bw,bx,arguments.length,null)}});function aL(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each({Height:"height",Width:"width"},function(bw,bx){var bv="client"+bw,e="scroll"+bw,by="offset"+bw;b.fn["inner"+bw]=function(){var bz=this[0];return bz?bz.style?parseFloat(b.css(bz,bx,"padding")):this[bx]():null};b.fn["outer"+bw]=function(bA){var bz=this[0];return bz?bz.style?parseFloat(b.css(bz,bx,bA?"margin":"border")):this[bx]():null};b.fn[bx]=function(bz){return b.access(this,function(bC,bB,bD){var bF,bE,bG,bA;if(b.isWindow(bC)){bF=bC.document;bE=bF.documentElement[bv];return b.support.boxModel&&bE||bF.body&&bF.body[bv]||bE}if(bC.nodeType===9){bF=bC.documentElement;if(bF[bv]>=bF[e]){return bF[bv]}return Math.max(bC.body[e],bF[e],bC.body[by],bF[by])}if(bD===L){bG=b.css(bC,bB);bA=parseFloat(bG);return b.isNumeric(bA)?bA:bG}b(bC).css(bB,bD)},bx,bz,arguments.length,null)}});bd.jQuery=bd.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*!
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*!
  * jQuery UI 1.8.18
  *
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
diff --git a/website/static/cdocs/linux.html b/website/static/cdocs/linux.html
index 9ecffaa..d64b622 100644
--- a/website/static/cdocs/linux.html
+++ b/website/static/cdocs/linux.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: Linux</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"
@@ -60,7 +63,7 @@
 </div>
 
 </div><!-- top -->
-<div class="PageDoc"><div class="header">
+<div class="header">
   <div class="headertitle">
 <div class="title">Linux </div>  </div>
 </div><!--header-->
@@ -123,13 +126,12 @@
 <li>
 make package </li>
 </ul>
-</div></div><!-- PageDoc -->
-</div><!-- contents -->
+</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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/mac.html b/website/static/cdocs/mac.html
index 8df99ed..177921d 100644
--- a/website/static/cdocs/mac.html
+++ b/website/static/cdocs/mac.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: Mac OS</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"
@@ -60,7 +63,7 @@
 </div>
 
 </div><!-- top -->
-<div class="PageDoc"><div class="header">
+<div class="header">
   <div class="headertitle">
 <div class="title">Mac OS </div>  </div>
 </div><!--header-->
@@ -117,13 +120,12 @@
 <li>
 sudo make uninstall </li>
 </ul>
-</div></div><!-- PageDoc -->
-</div><!-- contents -->
+</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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/menu.js b/website/static/cdocs/menu.js
index 433c15b..97db4c2 100644
--- a/website/static/cdocs/menu.js
+++ b/website/static/cdocs/menu.js
@@ -1,26 +1,3 @@
-/*
- @licstart  The following is the entire license notice for the
- JavaScript code in this file.
-
- Copyright (C) 1997-2017 by Dimitri van Heesch
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- @licend  The above is the entire license notice
- for the JavaScript code in this file
- */
 function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
   function makeTree(data,relPath) {
     var result='';
@@ -40,11 +17,10 @@
   $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
   if (searchEnabled) {
     if (serverSide) {
-      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
+      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
     } else {
       $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
     }
   }
   $('#main-menu').smartmenus();
 }
-/* @license-end */
diff --git a/website/static/cdocs/menudata.js b/website/static/cdocs/menudata.js
index 4f7a9c8..bb62c8c 100644
--- a/website/static/cdocs/menudata.js
+++ b/website/static/cdocs/menudata.js
@@ -1,26 +1,3 @@
-/*
-@ @licstart  The following is the entire license notice for the
-JavaScript code in this file.
-
-Copyright (C) 1997-2017 by Dimitri van Heesch
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-@licend  The above is the entire license notice
-for the JavaScript code in this file
-*/
 var menudata={children:[
 {text:"Main Page",url:"index.html"},
 {text:"Related Pages",url:"pages.html"},
@@ -118,9 +95,7 @@
 {text:"f",url:"globals_vars_f.html#index_f"},
 {text:"m",url:"globals_vars_m.html#index_m"},
 {text:"r",url:"globals_vars_r.html#index_r"}]},
-{text:"Typedefs",url:"globals_type.html",children:[
-{text:"b",url:"globals_type.html#index_b"},
-{text:"d",url:"globals_type.html#index_d"}]},
+{text:"Typedefs",url:"globals_type.html"},
 {text:"Macros",url:"globals_defs.html",children:[
 {text:"b",url:"globals_defs.html#index_b"},
 {text:"c",url:"globals_defs_c.html#index_c"},
diff --git a/website/static/cdocs/mpin192__BLS24_8h.html b/website/static/cdocs/mpin192__BLS24_8h.html
index 4e409d3..a6195e4 100644
--- a/website/static/cdocs/mpin192__BLS24_8h.html
+++ b/website/static/cdocs/mpin192__BLS24_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: mpin192_BLS24.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"
@@ -965,10 +968,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="ad91d84482e4e856f0f1b96ce03df3589"></a>
@@ -1815,7 +1823,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/mpin192__BLS24_8h_source.html b/website/static/cdocs/mpin192__BLS24_8h_source.html
index c6241a0..fadcbef 100644
--- a/website/static/cdocs/mpin192__BLS24_8h_source.html
+++ b/website/static/cdocs/mpin192__BLS24_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: mpin192_BLS24.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,40 +72,40 @@
 <div class="title">mpin192_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin192__BLS24_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS24_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define MPIN_BLS24_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair192_BLS24.h&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</span></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;<span class="comment">/* Field size is assumed to be greater than or equal to group size */</span></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"><a class="line" href="mpin192__BLS24_8h.html#a38e362af63ef6ccfcea1bf915d17d150">   40</a></span>&#160;<span class="preprocessor">#define PGS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a4b0aa4221cefd2e9856800283bc0f72c">   41</a></span>&#160;<span class="preprocessor">#define PFS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   43</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc">   44</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   45</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a15c5084bd08109c7edebf50db273e494">   47</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a1bc47461f3417c96da72488c6030447e">   48</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">//#define PAS_BLS24 24        </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS24 SHA384   </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   53</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#aab8f5b17cff8b45cc16cfe363f32771b">   54</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS24 (MESSAGE_SIZE+2*PFS_BLS24+1)   </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* MPIN primitives */</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin192__BLS24_8h.html#a3784d2c919bb3cc8f734a0fb835f5c05">MPIN_BLS24_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#acba2e63b4d1bc806e08903c04fa1ba31">MPIN_BLS24_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a6117568e1c58fe535a617f56f1e0bb67">MPIN_BLS24_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#abe201d5d755ae3b6fe4e127a7f701417">MPIN_BLS24_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a32985c8567593556295541b5c2ba773d">MPIN_BLS24_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a7879a86385b24f18ea4187ffcec50017">MPIN_BLS24_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#aa8b924c13bd51125f98e7903bcf87b2d">MPIN_BLS24_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac507184ecc61d59245ce7c87b005fecc">MPIN_BLS24_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a6b9e2979440e77d03836f8c12f1e61ab">MPIN_BLS24_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin192__BLS24_8h.html#a9131f2ea5543e7865cb81b1f79c4651b">MPIN_BLS24_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac91358bf206a5a27406aeecd8314b521">MPIN_BLS24_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#adc457bd8602b58bbc34a09f7c6a7121b">MPIN_BLS24_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a68f87ec8fafe90a03261ca10b4359bd9">MPIN_BLS24_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac3902d641e0004c7d9e1bf8c22b0d83a">MPIN_BLS24_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a4b714024637d90051a614589dbc50d23">MPIN_BLS24_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac1c190202f04d506b4ebff03f0e2d607">MPIN_BLS24_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ad91d84482e4e856f0f1b96ce03df3589">MPIN_BLS24_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#af1a94b7da3fcfb6627d37b88202f9b4f">MPIN_BLS24_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ae7190550f72ff5cd6ce6d06d64143dec">MPIN_BLS24_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ad302cce4567b981f8f821a1172f0ab7c">MPIN_BLS24_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a7caa45a30e6814f35704ab3f10cb6a83">MPIN_BLS24_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a996678d4073655180aa755bff559da04">MPIN_BLS24_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac4bc478a76e6b78d9ea8618478cd1d4b">MPIN_BLS24_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a101adecc2e2106075231ada691f7a8d0">MPIN_BLS24_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#aa29bed65e83bd2157605f6530ce4b303">MPIN_BLS24_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin192__BLS24_8h_html_a7caa45a30e6814f35704ab3f10cb6a83"><div class="ttname"><a href="mpin192__BLS24_8h.html#a7caa45a30e6814f35704ab3f10cb6a83">MPIN_BLS24_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS24_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:476</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_adc457bd8602b58bbc34a09f7c6a7121b"><div class="ttname"><a href="mpin192__BLS24_8h.html#adc457bd8602b58bbc34a09f7c6a7121b">MPIN_BLS24_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS24_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:190</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_af1a94b7da3fcfb6627d37b88202f9b4f"><div class="ttname"><a href="mpin192__BLS24_8h.html#af1a94b7da3fcfb6627d37b88202f9b4f">MPIN_BLS24_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS24_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:358</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a7879a86385b24f18ea4187ffcec50017"><div class="ttname"><a href="mpin192__BLS24_8h.html#a7879a86385b24f18ea4187ffcec50017">MPIN_BLS24_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:399</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a4b714024637d90051a614589dbc50d23"><div class="ttname"><a href="mpin192__BLS24_8h.html#a4b714024637d90051a614589dbc50d23">MPIN_BLS24_ENCODING</a></div><div class="ttdeci">int MPIN_BLS24_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:132</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a9131f2ea5543e7865cb81b1f79c4651b"><div class="ttname"><a href="mpin192__BLS24_8h.html#a9131f2ea5543e7865cb81b1f79c4651b">MPIN_BLS24_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS24_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:521</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_ac1c190202f04d506b4ebff03f0e2d607"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac1c190202f04d506b4ebff03f0e2d607">MPIN_BLS24_DECODING</a></div><div class="ttdeci">int MPIN_BLS24_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:164</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_aa29bed65e83bd2157605f6530ce4b303"><div class="ttname"><a href="mpin192__BLS24_8h.html#aa29bed65e83bd2157605f6530ce4b303">MPIN_BLS24_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS24_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:917</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_ad302cce4567b981f8f821a1172f0ab7c"><div class="ttname"><a href="mpin192__BLS24_8h.html#ad302cce4567b981f8f821a1172f0ab7c">MPIN_BLS24_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS24_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:498</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_ac4bc478a76e6b78d9ea8618478cd1d4b"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac4bc478a76e6b78d9ea8618478cd1d4b">MPIN_BLS24_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS24_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:796</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="mpin192__BLS24_8h_html_a996678d4073655180aa755bff559da04"><div class="ttname"><a href="mpin192__BLS24_8h.html#a996678d4073655180aa755bff559da04">MPIN_BLS24_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS24_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:719</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a6b9e2979440e77d03836f8c12f1e61ab"><div class="ttname"><a href="mpin192__BLS24_8h.html#a6b9e2979440e77d03836f8c12f1e61ab">MPIN_BLS24_SERVER</a></div><div class="ttdeci">int MPIN_BLS24_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:888</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a3784d2c919bb3cc8f734a0fb835f5c05"><div class="ttname"><a href="mpin192__BLS24_8h.html#a3784d2c919bb3cc8f734a0fb835f5c05">MPIN_BLS24_GET_Y</a></div><div class="ttdeci">void MPIN_BLS24_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:841</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_ae7190550f72ff5cd6ce6d06d64143dec"><div class="ttname"><a href="mpin192__BLS24_8h.html#ae7190550f72ff5cd6ce6d06d64143dec">MPIN_BLS24_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS24_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:393</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_ac3902d641e0004c7d9e1bf8c22b0d83a"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac3902d641e0004c7d9e1bf8c22b0d83a">MPIN_BLS24_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS24_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:653</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a6117568e1c58fe535a617f56f1e0bb67"><div class="ttname"><a href="mpin192__BLS24_8h.html#a6117568e1c58fe535a617f56f1e0bb67">MPIN_BLS24_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS24_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:267</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_aa8b924c13bd51125f98e7903bcf87b2d"><div class="ttname"><a href="mpin192__BLS24_8h.html#aa8b924c13bd51125f98e7903bcf87b2d">MPIN_BLS24_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS24_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:223</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_abe201d5d755ae3b6fe4e127a7f701417"><div class="ttname"><a href="mpin192__BLS24_8h.html#abe201d5d755ae3b6fe4e127a7f701417">MPIN_BLS24_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS24_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:238</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_ac507184ecc61d59245ce7c87b005fecc"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac507184ecc61d59245ce7c87b005fecc">MPIN_BLS24_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:289</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a101adecc2e2106075231ada691f7a8d0"><div class="ttname"><a href="mpin192__BLS24_8h.html#a101adecc2e2106075231ada691f7a8d0">MPIN_BLS24_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:758</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a32985c8567593556295541b5c2ba773d"><div class="ttname"><a href="mpin192__BLS24_8h.html#a32985c8567593556295541b5c2ba773d">MPIN_BLS24_CLIENT</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:856</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_acba2e63b4d1bc806e08903c04fa1ba31"><div class="ttname"><a href="mpin192__BLS24_8h.html#acba2e63b4d1bc806e08903c04fa1ba31">MPIN_BLS24_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS24_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:245</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_ac91358bf206a5a27406aeecd8314b521"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac91358bf206a5a27406aeecd8314b521">MPIN_BLS24_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS24_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:550</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="mpin192__BLS24_8h_html_ad91d84482e4e856f0f1b96ce03df3589"><div class="ttname"><a href="mpin192__BLS24_8h.html#ad91d84482e4e856f0f1b96ce03df3589">MPIN_BLS24_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS24_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:316</div></div>
-<div class="ttc" id="mpin192__BLS24_8h_html_a68f87ec8fafe90a03261ca10b4359bd9"><div class="ttname"><a href="mpin192__BLS24_8h.html#a68f87ec8fafe90a03261ca10b4359bd9">MPIN_BLS24_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS24_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:208</div></div>
+<a href="mpin192__BLS24_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS24_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define MPIN_BLS24_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair192_BLS24.h&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</span></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;<span class="comment">/* Field size is assumed to be greater than or equal to group size */</span></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"><a class="line" href="mpin192__BLS24_8h.html#a38e362af63ef6ccfcea1bf915d17d150">   40</a></span>&#160;<span class="preprocessor">#define PGS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a4b0aa4221cefd2e9856800283bc0f72c">   41</a></span>&#160;<span class="preprocessor">#define PFS_BLS24 MODBYTES_480_56  </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   43</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc">   44</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   45</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a15c5084bd08109c7edebf50db273e494">   47</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#a1bc47461f3417c96da72488c6030447e">   48</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">//#define PAS_BLS24 24        </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS24 SHA384   </span></div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   53</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="mpin192__BLS24_8h.html#aab8f5b17cff8b45cc16cfe363f32771b">   54</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS24 (MESSAGE_SIZE+2*PFS_BLS24+1)   </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* MPIN primitives */</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin192__BLS24_8h.html#a3784d2c919bb3cc8f734a0fb835f5c05">MPIN_BLS24_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#acba2e63b4d1bc806e08903c04fa1ba31">MPIN_BLS24_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a6117568e1c58fe535a617f56f1e0bb67">MPIN_BLS24_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#abe201d5d755ae3b6fe4e127a7f701417">MPIN_BLS24_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a32985c8567593556295541b5c2ba773d">MPIN_BLS24_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a7879a86385b24f18ea4187ffcec50017">MPIN_BLS24_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#aa8b924c13bd51125f98e7903bcf87b2d">MPIN_BLS24_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac507184ecc61d59245ce7c87b005fecc">MPIN_BLS24_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a6b9e2979440e77d03836f8c12f1e61ab">MPIN_BLS24_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin192__BLS24_8h.html#a9131f2ea5543e7865cb81b1f79c4651b">MPIN_BLS24_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac91358bf206a5a27406aeecd8314b521">MPIN_BLS24_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#adc457bd8602b58bbc34a09f7c6a7121b">MPIN_BLS24_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a68f87ec8fafe90a03261ca10b4359bd9">MPIN_BLS24_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac3902d641e0004c7d9e1bf8c22b0d83a">MPIN_BLS24_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a4b714024637d90051a614589dbc50d23">MPIN_BLS24_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac1c190202f04d506b4ebff03f0e2d607">MPIN_BLS24_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ad91d84482e4e856f0f1b96ce03df3589">MPIN_BLS24_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#af1a94b7da3fcfb6627d37b88202f9b4f">MPIN_BLS24_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ae7190550f72ff5cd6ce6d06d64143dec">MPIN_BLS24_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ad302cce4567b981f8f821a1172f0ab7c">MPIN_BLS24_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a7caa45a30e6814f35704ab3f10cb6a83">MPIN_BLS24_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a996678d4073655180aa755bff559da04">MPIN_BLS24_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#ac4bc478a76e6b78d9ea8618478cd1d4b">MPIN_BLS24_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#a101adecc2e2106075231ada691f7a8d0">MPIN_BLS24_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin192__BLS24_8h.html#aa29bed65e83bd2157605f6530ce4b303">MPIN_BLS24_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin192__BLS24_8h_html_a7caa45a30e6814f35704ab3f10cb6a83"><div class="ttname"><a href="mpin192__BLS24_8h.html#a7caa45a30e6814f35704ab3f10cb6a83">MPIN_BLS24_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS24_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:476</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_adc457bd8602b58bbc34a09f7c6a7121b"><div class="ttname"><a href="mpin192__BLS24_8h.html#adc457bd8602b58bbc34a09f7c6a7121b">MPIN_BLS24_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS24_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:190</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_af1a94b7da3fcfb6627d37b88202f9b4f"><div class="ttname"><a href="mpin192__BLS24_8h.html#af1a94b7da3fcfb6627d37b88202f9b4f">MPIN_BLS24_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS24_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:358</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a7879a86385b24f18ea4187ffcec50017"><div class="ttname"><a href="mpin192__BLS24_8h.html#a7879a86385b24f18ea4187ffcec50017">MPIN_BLS24_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:399</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a4b714024637d90051a614589dbc50d23"><div class="ttname"><a href="mpin192__BLS24_8h.html#a4b714024637d90051a614589dbc50d23">MPIN_BLS24_ENCODING</a></div><div class="ttdeci">int MPIN_BLS24_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:132</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a9131f2ea5543e7865cb81b1f79c4651b"><div class="ttname"><a href="mpin192__BLS24_8h.html#a9131f2ea5543e7865cb81b1f79c4651b">MPIN_BLS24_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS24_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:521</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_ac1c190202f04d506b4ebff03f0e2d607"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac1c190202f04d506b4ebff03f0e2d607">MPIN_BLS24_DECODING</a></div><div class="ttdeci">int MPIN_BLS24_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:164</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_aa29bed65e83bd2157605f6530ce4b303"><div class="ttname"><a href="mpin192__BLS24_8h.html#aa29bed65e83bd2157605f6530ce4b303">MPIN_BLS24_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS24_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:917</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_ad302cce4567b981f8f821a1172f0ab7c"><div class="ttname"><a href="mpin192__BLS24_8h.html#ad302cce4567b981f8f821a1172f0ab7c">MPIN_BLS24_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS24_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:498</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_ac4bc478a76e6b78d9ea8618478cd1d4b"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac4bc478a76e6b78d9ea8618478cd1d4b">MPIN_BLS24_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS24_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:796</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="mpin192__BLS24_8h_html_a996678d4073655180aa755bff559da04"><div class="ttname"><a href="mpin192__BLS24_8h.html#a996678d4073655180aa755bff559da04">MPIN_BLS24_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS24_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:719</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a6b9e2979440e77d03836f8c12f1e61ab"><div class="ttname"><a href="mpin192__BLS24_8h.html#a6b9e2979440e77d03836f8c12f1e61ab">MPIN_BLS24_SERVER</a></div><div class="ttdeci">int MPIN_BLS24_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:888</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a3784d2c919bb3cc8f734a0fb835f5c05"><div class="ttname"><a href="mpin192__BLS24_8h.html#a3784d2c919bb3cc8f734a0fb835f5c05">MPIN_BLS24_GET_Y</a></div><div class="ttdeci">void MPIN_BLS24_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:841</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_ae7190550f72ff5cd6ce6d06d64143dec"><div class="ttname"><a href="mpin192__BLS24_8h.html#ae7190550f72ff5cd6ce6d06d64143dec">MPIN_BLS24_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS24_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:393</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_ac3902d641e0004c7d9e1bf8c22b0d83a"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac3902d641e0004c7d9e1bf8c22b0d83a">MPIN_BLS24_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS24_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:653</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a6117568e1c58fe535a617f56f1e0bb67"><div class="ttname"><a href="mpin192__BLS24_8h.html#a6117568e1c58fe535a617f56f1e0bb67">MPIN_BLS24_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS24_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:267</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_aa8b924c13bd51125f98e7903bcf87b2d"><div class="ttname"><a href="mpin192__BLS24_8h.html#aa8b924c13bd51125f98e7903bcf87b2d">MPIN_BLS24_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS24_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:223</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_abe201d5d755ae3b6fe4e127a7f701417"><div class="ttname"><a href="mpin192__BLS24_8h.html#abe201d5d755ae3b6fe4e127a7f701417">MPIN_BLS24_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS24_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:238</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_ac507184ecc61d59245ce7c87b005fecc"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac507184ecc61d59245ce7c87b005fecc">MPIN_BLS24_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:289</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a101adecc2e2106075231ada691f7a8d0"><div class="ttname"><a href="mpin192__BLS24_8h.html#a101adecc2e2106075231ada691f7a8d0">MPIN_BLS24_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:758</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a32985c8567593556295541b5c2ba773d"><div class="ttname"><a href="mpin192__BLS24_8h.html#a32985c8567593556295541b5c2ba773d">MPIN_BLS24_CLIENT</a></div><div class="ttdeci">int MPIN_BLS24_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:856</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_acba2e63b4d1bc806e08903c04fa1ba31"><div class="ttname"><a href="mpin192__BLS24_8h.html#acba2e63b4d1bc806e08903c04fa1ba31">MPIN_BLS24_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS24_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:245</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_ac91358bf206a5a27406aeecd8314b521"><div class="ttname"><a href="mpin192__BLS24_8h.html#ac91358bf206a5a27406aeecd8314b521">MPIN_BLS24_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS24_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:550</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="mpin192__BLS24_8h_html_ad91d84482e4e856f0f1b96ce03df3589"><div class="ttname"><a href="mpin192__BLS24_8h.html#ad91d84482e4e856f0f1b96ce03df3589">MPIN_BLS24_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS24_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:316</div></div>
+<div class="ttc" id="mpin192__BLS24_8h_html_a68f87ec8fafe90a03261ca10b4359bd9"><div class="ttname"><a href="mpin192__BLS24_8h.html#a68f87ec8fafe90a03261ca10b4359bd9">MPIN_BLS24_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS24_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin192_BLS24.c:208</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/mpin256__BLS48_8h.html b/website/static/cdocs/mpin256__BLS48_8h.html
index ffa29db..e3b8948 100644
--- a/website/static/cdocs/mpin256__BLS48_8h.html
+++ b/website/static/cdocs/mpin256__BLS48_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: mpin256_BLS48.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"
@@ -965,10 +968,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a3f63d99b620a57987eca9c5b4ae00cda"></a>
@@ -1815,7 +1823,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/mpin256__BLS48_8h_source.html b/website/static/cdocs/mpin256__BLS48_8h_source.html
index 95d5fe0..39f6be8 100644
--- a/website/static/cdocs/mpin256__BLS48_8h_source.html
+++ b/website/static/cdocs/mpin256__BLS48_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: mpin256_BLS48.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,40 +72,40 @@
 <div class="title">mpin256_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin256__BLS48_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS48_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define MPIN_BLS48_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair256_BLS48.h&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</span></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;<span class="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a5ab43489a60b91ee5be37a0b6659141e">   41</a></span>&#160;<span class="preprocessor">#define PGS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#aed4fdae58cc2d6ba22a2ecf5603a24b1">   42</a></span>&#160;<span class="preprocessor">#define PFS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   44</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a1735b73fd12586e70fc971c85e088ffc">   45</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   46</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a15c5084bd08109c7edebf50db273e494">   48</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a1bc47461f3417c96da72488c6030447e">   49</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">//#define PAS_BLS48 24        </span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS48 SHA384   </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   54</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#abc599f5014a91c34cbf2c7f1619a80b5">   55</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS48 (MESSAGE_SIZE+2*PFS_BLS48+1)   </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* MPIN primitives */</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin256__BLS48_8h.html#af6bcf07aa77e7ed72ff4e339e93b33b5">MPIN_BLS48_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a866e14abc80ada987dbc5c25279f64c4">MPIN_BLS48_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a4b8a25413c8d63acc805eae7bdc097b0">MPIN_BLS48_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#aeaa492f38f9cc78ec5f47953c4198adc">MPIN_BLS48_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ab057f2ea83879844f9bc9e2d936ec8ae">MPIN_BLS48_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ac4ffa752c5e0e55003a2996862400381">MPIN_BLS48_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#af45aff2251433897288f68240a9c5651">MPIN_BLS48_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ac0aafefe18decfbe7aa4452c90ff15dc">MPIN_BLS48_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#af276118033d132d12b9727a433bdf5f3">MPIN_BLS48_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin256__BLS48_8h.html#abd5fb722dbe8b9d2956fb5a7652d1c63">MPIN_BLS48_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a7d8ffd22a9fcf0606f753557566d1e60">MPIN_BLS48_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#aa1015de22315dd7ff1ff25214b6cf983">MPIN_BLS48_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#adcd2167c5a18a8e80adf38d8b4d334a1">MPIN_BLS48_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a96a20c3f6c570953f948ffbe9edc7ea8">MPIN_BLS48_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a810e4bbcdbe01665c44a5e39900a6450">MPIN_BLS48_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a8de88e0db4f8866a5924f95fa7b7d35a">MPIN_BLS48_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a3f63d99b620a57987eca9c5b4ae00cda">MPIN_BLS48_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a71d6b13264979369a6da78766fbabb5f">MPIN_BLS48_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#aeac6e57118df8d5bd22b7725c3431809">MPIN_BLS48_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a824f06142297301cd4f1bde572711eee">MPIN_BLS48_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a4f47c99e38c4861ff5868fd668edba05">MPIN_BLS48_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a8c453aa7fa211d1d6907df005b0f658b">MPIN_BLS48_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#adbba9616cd64712945eae1ba6159fcec">MPIN_BLS48_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a007a8fe890933a97c0b76cd4300baa8d">MPIN_BLS48_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ae323e4f9d0988ab1a12e57c4f35bdb2f">MPIN_BLS48_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin256__BLS48_8h_html_a810e4bbcdbe01665c44a5e39900a6450"><div class="ttname"><a href="mpin256__BLS48_8h.html#a810e4bbcdbe01665c44a5e39900a6450">MPIN_BLS48_ENCODING</a></div><div class="ttdeci">int MPIN_BLS48_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:155</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_aeaa492f38f9cc78ec5f47953c4198adc"><div class="ttname"><a href="mpin256__BLS48_8h.html#aeaa492f38f9cc78ec5f47953c4198adc">MPIN_BLS48_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS48_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:261</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a4b8a25413c8d63acc805eae7bdc097b0"><div class="ttname"><a href="mpin256__BLS48_8h.html#a4b8a25413c8d63acc805eae7bdc097b0">MPIN_BLS48_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS48_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:290</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a8de88e0db4f8866a5924f95fa7b7d35a"><div class="ttname"><a href="mpin256__BLS48_8h.html#a8de88e0db4f8866a5924f95fa7b7d35a">MPIN_BLS48_DECODING</a></div><div class="ttdeci">int MPIN_BLS48_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:187</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_af276118033d132d12b9727a433bdf5f3"><div class="ttname"><a href="mpin256__BLS48_8h.html#af276118033d132d12b9727a433bdf5f3">MPIN_BLS48_SERVER</a></div><div class="ttdeci">int MPIN_BLS48_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:910</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a8c453aa7fa211d1d6907df005b0f658b"><div class="ttname"><a href="mpin256__BLS48_8h.html#a8c453aa7fa211d1d6907df005b0f658b">MPIN_BLS48_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS48_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:741</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_ae323e4f9d0988ab1a12e57c4f35bdb2f"><div class="ttname"><a href="mpin256__BLS48_8h.html#ae323e4f9d0988ab1a12e57c4f35bdb2f">MPIN_BLS48_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS48_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:939</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_ab057f2ea83879844f9bc9e2d936ec8ae"><div class="ttname"><a href="mpin256__BLS48_8h.html#ab057f2ea83879844f9bc9e2d936ec8ae">MPIN_BLS48_CLIENT</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:878</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a007a8fe890933a97c0b76cd4300baa8d"><div class="ttname"><a href="mpin256__BLS48_8h.html#a007a8fe890933a97c0b76cd4300baa8d">MPIN_BLS48_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:780</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="mpin256__BLS48_8h_html_a3f63d99b620a57987eca9c5b4ae00cda"><div class="ttname"><a href="mpin256__BLS48_8h.html#a3f63d99b620a57987eca9c5b4ae00cda">MPIN_BLS48_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS48_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:339</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_ac4ffa752c5e0e55003a2996862400381"><div class="ttname"><a href="mpin256__BLS48_8h.html#ac4ffa752c5e0e55003a2996862400381">MPIN_BLS48_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:422</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_adbba9616cd64712945eae1ba6159fcec"><div class="ttname"><a href="mpin256__BLS48_8h.html#adbba9616cd64712945eae1ba6159fcec">MPIN_BLS48_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS48_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:818</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a96a20c3f6c570953f948ffbe9edc7ea8"><div class="ttname"><a href="mpin256__BLS48_8h.html#a96a20c3f6c570953f948ffbe9edc7ea8">MPIN_BLS48_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS48_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:676</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a71d6b13264979369a6da78766fbabb5f"><div class="ttname"><a href="mpin256__BLS48_8h.html#a71d6b13264979369a6da78766fbabb5f">MPIN_BLS48_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS48_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:381</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_adcd2167c5a18a8e80adf38d8b4d334a1"><div class="ttname"><a href="mpin256__BLS48_8h.html#adcd2167c5a18a8e80adf38d8b4d334a1">MPIN_BLS48_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS48_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:231</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_aa1015de22315dd7ff1ff25214b6cf983"><div class="ttname"><a href="mpin256__BLS48_8h.html#aa1015de22315dd7ff1ff25214b6cf983">MPIN_BLS48_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS48_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:213</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_aeac6e57118df8d5bd22b7725c3431809"><div class="ttname"><a href="mpin256__BLS48_8h.html#aeac6e57118df8d5bd22b7725c3431809">MPIN_BLS48_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS48_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:416</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a7d8ffd22a9fcf0606f753557566d1e60"><div class="ttname"><a href="mpin256__BLS48_8h.html#a7d8ffd22a9fcf0606f753557566d1e60">MPIN_BLS48_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS48_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:573</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a4f47c99e38c4861ff5868fd668edba05"><div class="ttname"><a href="mpin256__BLS48_8h.html#a4f47c99e38c4861ff5868fd668edba05">MPIN_BLS48_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS48_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:499</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a866e14abc80ada987dbc5c25279f64c4"><div class="ttname"><a href="mpin256__BLS48_8h.html#a866e14abc80ada987dbc5c25279f64c4">MPIN_BLS48_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS48_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:268</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_abd5fb722dbe8b9d2956fb5a7652d1c63"><div class="ttname"><a href="mpin256__BLS48_8h.html#abd5fb722dbe8b9d2956fb5a7652d1c63">MPIN_BLS48_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS48_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:544</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_a824f06142297301cd4f1bde572711eee"><div class="ttname"><a href="mpin256__BLS48_8h.html#a824f06142297301cd4f1bde572711eee">MPIN_BLS48_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS48_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:521</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_af45aff2251433897288f68240a9c5651"><div class="ttname"><a href="mpin256__BLS48_8h.html#af45aff2251433897288f68240a9c5651">MPIN_BLS48_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS48_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:246</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="mpin256__BLS48_8h_html_ac0aafefe18decfbe7aa4452c90ff15dc"><div class="ttname"><a href="mpin256__BLS48_8h.html#ac0aafefe18decfbe7aa4452c90ff15dc">MPIN_BLS48_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:312</div></div>
-<div class="ttc" id="mpin256__BLS48_8h_html_af6bcf07aa77e7ed72ff4e339e93b33b5"><div class="ttname"><a href="mpin256__BLS48_8h.html#af6bcf07aa77e7ed72ff4e339e93b33b5">MPIN_BLS48_GET_Y</a></div><div class="ttdeci">void MPIN_BLS48_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:863</div></div>
+<a href="mpin256__BLS48_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="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS48_H</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define MPIN_BLS48_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;pair256_BLS48.h&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</span></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;<span class="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a5ab43489a60b91ee5be37a0b6659141e">   41</a></span>&#160;<span class="preprocessor">#define PGS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#aed4fdae58cc2d6ba22a2ecf5603a24b1">   42</a></span>&#160;<span class="preprocessor">#define PFS_BLS48 MODBYTES_560_58  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   44</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a1735b73fd12586e70fc971c85e088ffc">   45</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   46</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a15c5084bd08109c7edebf50db273e494">   48</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#a1bc47461f3417c96da72488c6030447e">   49</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">//#define PAS_BLS48 24        </span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS48 SHA384   </span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   54</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="mpin256__BLS48_8h.html#abc599f5014a91c34cbf2c7f1619a80b5">   55</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS48 (MESSAGE_SIZE+2*PFS_BLS48+1)   </span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* MPIN primitives */</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin256__BLS48_8h.html#af6bcf07aa77e7ed72ff4e339e93b33b5">MPIN_BLS48_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a866e14abc80ada987dbc5c25279f64c4">MPIN_BLS48_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a4b8a25413c8d63acc805eae7bdc097b0">MPIN_BLS48_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#aeaa492f38f9cc78ec5f47953c4198adc">MPIN_BLS48_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ab057f2ea83879844f9bc9e2d936ec8ae">MPIN_BLS48_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ac4ffa752c5e0e55003a2996862400381">MPIN_BLS48_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#af45aff2251433897288f68240a9c5651">MPIN_BLS48_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ac0aafefe18decfbe7aa4452c90ff15dc">MPIN_BLS48_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#af276118033d132d12b9727a433bdf5f3">MPIN_BLS48_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin256__BLS48_8h.html#abd5fb722dbe8b9d2956fb5a7652d1c63">MPIN_BLS48_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a7d8ffd22a9fcf0606f753557566d1e60">MPIN_BLS48_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#aa1015de22315dd7ff1ff25214b6cf983">MPIN_BLS48_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#adcd2167c5a18a8e80adf38d8b4d334a1">MPIN_BLS48_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a96a20c3f6c570953f948ffbe9edc7ea8">MPIN_BLS48_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a810e4bbcdbe01665c44a5e39900a6450">MPIN_BLS48_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a8de88e0db4f8866a5924f95fa7b7d35a">MPIN_BLS48_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a3f63d99b620a57987eca9c5b4ae00cda">MPIN_BLS48_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a71d6b13264979369a6da78766fbabb5f">MPIN_BLS48_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#aeac6e57118df8d5bd22b7725c3431809">MPIN_BLS48_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a824f06142297301cd4f1bde572711eee">MPIN_BLS48_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a4f47c99e38c4861ff5868fd668edba05">MPIN_BLS48_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a8c453aa7fa211d1d6907df005b0f658b">MPIN_BLS48_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#adbba9616cd64712945eae1ba6159fcec">MPIN_BLS48_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#a007a8fe890933a97c0b76cd4300baa8d">MPIN_BLS48_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin256__BLS48_8h.html#ae323e4f9d0988ab1a12e57c4f35bdb2f">MPIN_BLS48_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin256__BLS48_8h_html_a810e4bbcdbe01665c44a5e39900a6450"><div class="ttname"><a href="mpin256__BLS48_8h.html#a810e4bbcdbe01665c44a5e39900a6450">MPIN_BLS48_ENCODING</a></div><div class="ttdeci">int MPIN_BLS48_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:155</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_aeaa492f38f9cc78ec5f47953c4198adc"><div class="ttname"><a href="mpin256__BLS48_8h.html#aeaa492f38f9cc78ec5f47953c4198adc">MPIN_BLS48_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS48_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:261</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a4b8a25413c8d63acc805eae7bdc097b0"><div class="ttname"><a href="mpin256__BLS48_8h.html#a4b8a25413c8d63acc805eae7bdc097b0">MPIN_BLS48_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS48_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:290</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a8de88e0db4f8866a5924f95fa7b7d35a"><div class="ttname"><a href="mpin256__BLS48_8h.html#a8de88e0db4f8866a5924f95fa7b7d35a">MPIN_BLS48_DECODING</a></div><div class="ttdeci">int MPIN_BLS48_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:187</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_af276118033d132d12b9727a433bdf5f3"><div class="ttname"><a href="mpin256__BLS48_8h.html#af276118033d132d12b9727a433bdf5f3">MPIN_BLS48_SERVER</a></div><div class="ttdeci">int MPIN_BLS48_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:910</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a8c453aa7fa211d1d6907df005b0f658b"><div class="ttname"><a href="mpin256__BLS48_8h.html#a8c453aa7fa211d1d6907df005b0f658b">MPIN_BLS48_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS48_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:741</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_ae323e4f9d0988ab1a12e57c4f35bdb2f"><div class="ttname"><a href="mpin256__BLS48_8h.html#ae323e4f9d0988ab1a12e57c4f35bdb2f">MPIN_BLS48_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS48_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:939</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_ab057f2ea83879844f9bc9e2d936ec8ae"><div class="ttname"><a href="mpin256__BLS48_8h.html#ab057f2ea83879844f9bc9e2d936ec8ae">MPIN_BLS48_CLIENT</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:878</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a007a8fe890933a97c0b76cd4300baa8d"><div class="ttname"><a href="mpin256__BLS48_8h.html#a007a8fe890933a97c0b76cd4300baa8d">MPIN_BLS48_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:780</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="mpin256__BLS48_8h_html_a3f63d99b620a57987eca9c5b4ae00cda"><div class="ttname"><a href="mpin256__BLS48_8h.html#a3f63d99b620a57987eca9c5b4ae00cda">MPIN_BLS48_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS48_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:339</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_ac4ffa752c5e0e55003a2996862400381"><div class="ttname"><a href="mpin256__BLS48_8h.html#ac4ffa752c5e0e55003a2996862400381">MPIN_BLS48_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:422</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_adbba9616cd64712945eae1ba6159fcec"><div class="ttname"><a href="mpin256__BLS48_8h.html#adbba9616cd64712945eae1ba6159fcec">MPIN_BLS48_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS48_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:818</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a96a20c3f6c570953f948ffbe9edc7ea8"><div class="ttname"><a href="mpin256__BLS48_8h.html#a96a20c3f6c570953f948ffbe9edc7ea8">MPIN_BLS48_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS48_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:676</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a71d6b13264979369a6da78766fbabb5f"><div class="ttname"><a href="mpin256__BLS48_8h.html#a71d6b13264979369a6da78766fbabb5f">MPIN_BLS48_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS48_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:381</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_adcd2167c5a18a8e80adf38d8b4d334a1"><div class="ttname"><a href="mpin256__BLS48_8h.html#adcd2167c5a18a8e80adf38d8b4d334a1">MPIN_BLS48_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS48_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:231</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_aa1015de22315dd7ff1ff25214b6cf983"><div class="ttname"><a href="mpin256__BLS48_8h.html#aa1015de22315dd7ff1ff25214b6cf983">MPIN_BLS48_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS48_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:213</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_aeac6e57118df8d5bd22b7725c3431809"><div class="ttname"><a href="mpin256__BLS48_8h.html#aeac6e57118df8d5bd22b7725c3431809">MPIN_BLS48_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS48_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:416</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a7d8ffd22a9fcf0606f753557566d1e60"><div class="ttname"><a href="mpin256__BLS48_8h.html#a7d8ffd22a9fcf0606f753557566d1e60">MPIN_BLS48_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS48_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:573</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a4f47c99e38c4861ff5868fd668edba05"><div class="ttname"><a href="mpin256__BLS48_8h.html#a4f47c99e38c4861ff5868fd668edba05">MPIN_BLS48_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS48_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:499</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a866e14abc80ada987dbc5c25279f64c4"><div class="ttname"><a href="mpin256__BLS48_8h.html#a866e14abc80ada987dbc5c25279f64c4">MPIN_BLS48_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS48_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:268</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_abd5fb722dbe8b9d2956fb5a7652d1c63"><div class="ttname"><a href="mpin256__BLS48_8h.html#abd5fb722dbe8b9d2956fb5a7652d1c63">MPIN_BLS48_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS48_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:544</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_a824f06142297301cd4f1bde572711eee"><div class="ttname"><a href="mpin256__BLS48_8h.html#a824f06142297301cd4f1bde572711eee">MPIN_BLS48_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS48_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:521</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_af45aff2251433897288f68240a9c5651"><div class="ttname"><a href="mpin256__BLS48_8h.html#af45aff2251433897288f68240a9c5651">MPIN_BLS48_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS48_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:246</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="mpin256__BLS48_8h_html_ac0aafefe18decfbe7aa4452c90ff15dc"><div class="ttname"><a href="mpin256__BLS48_8h.html#ac0aafefe18decfbe7aa4452c90ff15dc">MPIN_BLS48_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS48_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:312</div></div>
+<div class="ttc" id="mpin256__BLS48_8h_html_af6bcf07aa77e7ed72ff4e339e93b33b5"><div class="ttname"><a href="mpin256__BLS48_8h.html#af6bcf07aa77e7ed72ff4e339e93b33b5">MPIN_BLS48_GET_Y</a></div><div class="ttdeci">void MPIN_BLS48_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin256_BLS48.c:863</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/mpin__BLS381_8h.html b/website/static/cdocs/mpin__BLS381_8h.html
index ac2396a..267d254 100644
--- a/website/static/cdocs/mpin__BLS381_8h.html
+++ b/website/static/cdocs/mpin__BLS381_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: mpin_BLS381.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"
@@ -981,10 +984,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="ad96a31cd1e5debe1700374bfaa8c32ad"></a>
@@ -1831,7 +1839,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/mpin__BLS381_8h_source.html b/website/static/cdocs/mpin__BLS381_8h_source.html
index debb048..69814a6 100644
--- a/website/static/cdocs/mpin__BLS381_8h_source.html
+++ b/website/static/cdocs/mpin__BLS381_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: mpin_BLS381.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,41 +72,41 @@
 <div class="title">mpin_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin__BLS381_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS381_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BLS381_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS381_8h.html">pair_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#ab9c59446f925894e05c3c4b86feb998d">   36</a></span>&#160;<span class="preprocessor">#define PGS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#aaef6d2b5388f0b425b52e67c9f84da54">   37</a></span>&#160;<span class="preprocessor">#define PFS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BLS381 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS381 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#ac4f00b578bcb0cc6c89094db987fc019">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS381 (MESSAGE_SIZE+2*PFS_BLS381+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS381_8h.html#aab8e036007b140e2b70118a10c2fbbea">MPIN_BLS381_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a4047b9865cd89b294a19e07d871fffa1">MPIN_BLS381_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a4453883104a7f869c3bf4b93d4ae06ed">MPIN_BLS381_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#aa5aad609b63d67ab0340c4e3edeb4360">MPIN_BLS381_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a417871aeb98494c06f480f457d9a79ed">MPIN_BLS381_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a5ef3b9a2f76da66d3b9eba8b9e5ff391">MPIN_BLS381_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a43df0c4f0a9f25e3b78f1eaabb96d3f7">MPIN_BLS381_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a95de8edc29b5603d78bd4685085f72c2">MPIN_BLS381_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a77fddd13ae9696cbafb7faf8ce207277">MPIN_BLS381_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS381_8h.html#a2632d4ad2aaa9eef4ed6759becde86ad">MPIN_BLS381_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a63b39dfd0f79ec2d8b71de893241cfae">MPIN_BLS381_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a2691626b80eb683b04eae4145cf20e44">MPIN_BLS381_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a9f62f995ee134b8a09a16e6d4bf24e34">MPIN_BLS381_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#ab845efa21dc01e27ede48e62657ece53">MPIN_BLS381_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#af5e988e4b3b7069eab68106337b72026">MPIN_BLS381_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a9f9d4d0b9af69f8f6e1ba4eb7726814e">MPIN_BLS381_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#ad96a31cd1e5debe1700374bfaa8c32ad">MPIN_BLS381_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a5216f4fb73063c518f441d64c7a6fee1">MPIN_BLS381_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a8ec8620f9af0f8c5e40768af3a08dd3b">MPIN_BLS381_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a280d1e6e102c677a59a8b98571c9a874">MPIN_BLS381_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a2470cdbd8bc53a0bd2593f4949c2b65e">MPIN_BLS381_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a5da827cbe4bc8055767cff3985938e00">MPIN_BLS381_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a99b12ff5a25e990f7ce5061daa79ca55">MPIN_BLS381_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#ab7db93723c5f77b9169a103902bbaafc">MPIN_BLS381_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a644f1488319e43005727bf4eb3742cac">MPIN_BLS381_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BLS381_8h_html_a77fddd13ae9696cbafb7faf8ce207277"><div class="ttname"><a href="mpin__BLS381_8h.html#a77fddd13ae9696cbafb7faf8ce207277">MPIN_BLS381_SERVER</a></div><div class="ttdeci">int MPIN_BLS381_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:876</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a5ef3b9a2f76da66d3b9eba8b9e5ff391"><div class="ttname"><a href="mpin__BLS381_8h.html#a5ef3b9a2f76da66d3b9eba8b9e5ff391">MPIN_BLS381_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:389</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a9f9d4d0b9af69f8f6e1ba4eb7726814e"><div class="ttname"><a href="mpin__BLS381_8h.html#a9f9d4d0b9af69f8f6e1ba4eb7726814e">MPIN_BLS381_DECODING</a></div><div class="ttdeci">int MPIN_BLS381_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:154</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_ad96a31cd1e5debe1700374bfaa8c32ad"><div class="ttname"><a href="mpin__BLS381_8h.html#ad96a31cd1e5debe1700374bfaa8c32ad">MPIN_BLS381_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS381_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:306</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a63b39dfd0f79ec2d8b71de893241cfae"><div class="ttname"><a href="mpin__BLS381_8h.html#a63b39dfd0f79ec2d8b71de893241cfae">MPIN_BLS381_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS381_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:540</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a5da827cbe4bc8055767cff3985938e00"><div class="ttname"><a href="mpin__BLS381_8h.html#a5da827cbe4bc8055767cff3985938e00">MPIN_BLS381_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS381_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:708</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_ab7db93723c5f77b9169a103902bbaafc"><div class="ttname"><a href="mpin__BLS381_8h.html#ab7db93723c5f77b9169a103902bbaafc">MPIN_BLS381_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:747</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_aa5aad609b63d67ab0340c4e3edeb4360"><div class="ttname"><a href="mpin__BLS381_8h.html#aa5aad609b63d67ab0340c4e3edeb4360">MPIN_BLS381_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS381_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:228</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="mpin__BLS381_8h_html_a4047b9865cd89b294a19e07d871fffa1"><div class="ttname"><a href="mpin__BLS381_8h.html#a4047b9865cd89b294a19e07d871fffa1">MPIN_BLS381_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS381_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:235</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_af5e988e4b3b7069eab68106337b72026"><div class="ttname"><a href="mpin__BLS381_8h.html#af5e988e4b3b7069eab68106337b72026">MPIN_BLS381_ENCODING</a></div><div class="ttdeci">int MPIN_BLS381_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:122</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a8ec8620f9af0f8c5e40768af3a08dd3b"><div class="ttname"><a href="mpin__BLS381_8h.html#a8ec8620f9af0f8c5e40768af3a08dd3b">MPIN_BLS381_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS381_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:383</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a2632d4ad2aaa9eef4ed6759becde86ad"><div class="ttname"><a href="mpin__BLS381_8h.html#a2632d4ad2aaa9eef4ed6759becde86ad">MPIN_BLS381_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS381_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:511</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a2470cdbd8bc53a0bd2593f4949c2b65e"><div class="ttname"><a href="mpin__BLS381_8h.html#a2470cdbd8bc53a0bd2593f4949c2b65e">MPIN_BLS381_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS381_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:466</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_aab8e036007b140e2b70118a10c2fbbea"><div class="ttname"><a href="mpin__BLS381_8h.html#aab8e036007b140e2b70118a10c2fbbea">MPIN_BLS381_GET_Y</a></div><div class="ttdeci">void MPIN_BLS381_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:829</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a4453883104a7f869c3bf4b93d4ae06ed"><div class="ttname"><a href="mpin__BLS381_8h.html#a4453883104a7f869c3bf4b93d4ae06ed">MPIN_BLS381_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS381_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:257</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a2691626b80eb683b04eae4145cf20e44"><div class="ttname"><a href="mpin__BLS381_8h.html#a2691626b80eb683b04eae4145cf20e44">MPIN_BLS381_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS381_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:180</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a280d1e6e102c677a59a8b98571c9a874"><div class="ttname"><a href="mpin__BLS381_8h.html#a280d1e6e102c677a59a8b98571c9a874">MPIN_BLS381_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS381_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:489</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_ab845efa21dc01e27ede48e62657ece53"><div class="ttname"><a href="mpin__BLS381_8h.html#ab845efa21dc01e27ede48e62657ece53">MPIN_BLS381_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS381_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:642</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a9f62f995ee134b8a09a16e6d4bf24e34"><div class="ttname"><a href="mpin__BLS381_8h.html#a9f62f995ee134b8a09a16e6d4bf24e34">MPIN_BLS381_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS381_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:198</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a417871aeb98494c06f480f457d9a79ed"><div class="ttname"><a href="mpin__BLS381_8h.html#a417871aeb98494c06f480f457d9a79ed">MPIN_BLS381_CLIENT</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:844</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a5216f4fb73063c518f441d64c7a6fee1"><div class="ttname"><a href="mpin__BLS381_8h.html#a5216f4fb73063c518f441d64c7a6fee1">MPIN_BLS381_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS381_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:348</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a43df0c4f0a9f25e3b78f1eaabb96d3f7"><div class="ttname"><a href="mpin__BLS381_8h.html#a43df0c4f0a9f25e3b78f1eaabb96d3f7">MPIN_BLS381_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS381_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:213</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a99b12ff5a25e990f7ce5061daa79ca55"><div class="ttname"><a href="mpin__BLS381_8h.html#a99b12ff5a25e990f7ce5061daa79ca55">MPIN_BLS381_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS381_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:784</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="mpin__BLS381_8h_html_a644f1488319e43005727bf4eb3742cac"><div class="ttname"><a href="mpin__BLS381_8h.html#a644f1488319e43005727bf4eb3742cac">MPIN_BLS381_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS381_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:905</div></div>
-<div class="ttc" id="pair__BLS381_8h_html"><div class="ttname"><a href="pair__BLS381_8h.html">pair_BLS381.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="mpin__BLS381_8h_html_a95de8edc29b5603d78bd4685085f72c2"><div class="ttname"><a href="mpin__BLS381_8h.html#a95de8edc29b5603d78bd4685085f72c2">MPIN_BLS381_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:279</div></div>
+<a href="mpin__BLS381_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS381_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BLS381_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS381_8h.html">pair_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#ab9c59446f925894e05c3c4b86feb998d">   36</a></span>&#160;<span class="preprocessor">#define PGS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#aaef6d2b5388f0b425b52e67c9f84da54">   37</a></span>&#160;<span class="preprocessor">#define PFS_BLS381 MODBYTES_384_58  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BLS381 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS381 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BLS381_8h.html#ac4f00b578bcb0cc6c89094db987fc019">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS381 (MESSAGE_SIZE+2*PFS_BLS381+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS381_8h.html#aab8e036007b140e2b70118a10c2fbbea">MPIN_BLS381_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a4047b9865cd89b294a19e07d871fffa1">MPIN_BLS381_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a4453883104a7f869c3bf4b93d4ae06ed">MPIN_BLS381_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#aa5aad609b63d67ab0340c4e3edeb4360">MPIN_BLS381_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a417871aeb98494c06f480f457d9a79ed">MPIN_BLS381_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a5ef3b9a2f76da66d3b9eba8b9e5ff391">MPIN_BLS381_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a43df0c4f0a9f25e3b78f1eaabb96d3f7">MPIN_BLS381_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a95de8edc29b5603d78bd4685085f72c2">MPIN_BLS381_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a77fddd13ae9696cbafb7faf8ce207277">MPIN_BLS381_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS381_8h.html#a2632d4ad2aaa9eef4ed6759becde86ad">MPIN_BLS381_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a63b39dfd0f79ec2d8b71de893241cfae">MPIN_BLS381_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a2691626b80eb683b04eae4145cf20e44">MPIN_BLS381_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a9f62f995ee134b8a09a16e6d4bf24e34">MPIN_BLS381_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#ab845efa21dc01e27ede48e62657ece53">MPIN_BLS381_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#af5e988e4b3b7069eab68106337b72026">MPIN_BLS381_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a9f9d4d0b9af69f8f6e1ba4eb7726814e">MPIN_BLS381_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#ad96a31cd1e5debe1700374bfaa8c32ad">MPIN_BLS381_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a5216f4fb73063c518f441d64c7a6fee1">MPIN_BLS381_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a8ec8620f9af0f8c5e40768af3a08dd3b">MPIN_BLS381_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a280d1e6e102c677a59a8b98571c9a874">MPIN_BLS381_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a2470cdbd8bc53a0bd2593f4949c2b65e">MPIN_BLS381_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a5da827cbe4bc8055767cff3985938e00">MPIN_BLS381_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a99b12ff5a25e990f7ce5061daa79ca55">MPIN_BLS381_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#ab7db93723c5f77b9169a103902bbaafc">MPIN_BLS381_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS381_8h.html#a644f1488319e43005727bf4eb3742cac">MPIN_BLS381_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BLS381_8h_html_a77fddd13ae9696cbafb7faf8ce207277"><div class="ttname"><a href="mpin__BLS381_8h.html#a77fddd13ae9696cbafb7faf8ce207277">MPIN_BLS381_SERVER</a></div><div class="ttdeci">int MPIN_BLS381_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:876</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a5ef3b9a2f76da66d3b9eba8b9e5ff391"><div class="ttname"><a href="mpin__BLS381_8h.html#a5ef3b9a2f76da66d3b9eba8b9e5ff391">MPIN_BLS381_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:389</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a9f9d4d0b9af69f8f6e1ba4eb7726814e"><div class="ttname"><a href="mpin__BLS381_8h.html#a9f9d4d0b9af69f8f6e1ba4eb7726814e">MPIN_BLS381_DECODING</a></div><div class="ttdeci">int MPIN_BLS381_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:154</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_ad96a31cd1e5debe1700374bfaa8c32ad"><div class="ttname"><a href="mpin__BLS381_8h.html#ad96a31cd1e5debe1700374bfaa8c32ad">MPIN_BLS381_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS381_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:306</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a63b39dfd0f79ec2d8b71de893241cfae"><div class="ttname"><a href="mpin__BLS381_8h.html#a63b39dfd0f79ec2d8b71de893241cfae">MPIN_BLS381_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS381_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:540</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a5da827cbe4bc8055767cff3985938e00"><div class="ttname"><a href="mpin__BLS381_8h.html#a5da827cbe4bc8055767cff3985938e00">MPIN_BLS381_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS381_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:708</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_ab7db93723c5f77b9169a103902bbaafc"><div class="ttname"><a href="mpin__BLS381_8h.html#ab7db93723c5f77b9169a103902bbaafc">MPIN_BLS381_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:747</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_aa5aad609b63d67ab0340c4e3edeb4360"><div class="ttname"><a href="mpin__BLS381_8h.html#aa5aad609b63d67ab0340c4e3edeb4360">MPIN_BLS381_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS381_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:228</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="mpin__BLS381_8h_html_a4047b9865cd89b294a19e07d871fffa1"><div class="ttname"><a href="mpin__BLS381_8h.html#a4047b9865cd89b294a19e07d871fffa1">MPIN_BLS381_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS381_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:235</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_af5e988e4b3b7069eab68106337b72026"><div class="ttname"><a href="mpin__BLS381_8h.html#af5e988e4b3b7069eab68106337b72026">MPIN_BLS381_ENCODING</a></div><div class="ttdeci">int MPIN_BLS381_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:122</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a8ec8620f9af0f8c5e40768af3a08dd3b"><div class="ttname"><a href="mpin__BLS381_8h.html#a8ec8620f9af0f8c5e40768af3a08dd3b">MPIN_BLS381_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS381_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:383</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a2632d4ad2aaa9eef4ed6759becde86ad"><div class="ttname"><a href="mpin__BLS381_8h.html#a2632d4ad2aaa9eef4ed6759becde86ad">MPIN_BLS381_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS381_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:511</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a2470cdbd8bc53a0bd2593f4949c2b65e"><div class="ttname"><a href="mpin__BLS381_8h.html#a2470cdbd8bc53a0bd2593f4949c2b65e">MPIN_BLS381_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS381_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:466</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_aab8e036007b140e2b70118a10c2fbbea"><div class="ttname"><a href="mpin__BLS381_8h.html#aab8e036007b140e2b70118a10c2fbbea">MPIN_BLS381_GET_Y</a></div><div class="ttdeci">void MPIN_BLS381_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:829</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a4453883104a7f869c3bf4b93d4ae06ed"><div class="ttname"><a href="mpin__BLS381_8h.html#a4453883104a7f869c3bf4b93d4ae06ed">MPIN_BLS381_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS381_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:257</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a2691626b80eb683b04eae4145cf20e44"><div class="ttname"><a href="mpin__BLS381_8h.html#a2691626b80eb683b04eae4145cf20e44">MPIN_BLS381_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS381_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:180</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a280d1e6e102c677a59a8b98571c9a874"><div class="ttname"><a href="mpin__BLS381_8h.html#a280d1e6e102c677a59a8b98571c9a874">MPIN_BLS381_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS381_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:489</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_ab845efa21dc01e27ede48e62657ece53"><div class="ttname"><a href="mpin__BLS381_8h.html#ab845efa21dc01e27ede48e62657ece53">MPIN_BLS381_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS381_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:642</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a9f62f995ee134b8a09a16e6d4bf24e34"><div class="ttname"><a href="mpin__BLS381_8h.html#a9f62f995ee134b8a09a16e6d4bf24e34">MPIN_BLS381_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS381_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:198</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a417871aeb98494c06f480f457d9a79ed"><div class="ttname"><a href="mpin__BLS381_8h.html#a417871aeb98494c06f480f457d9a79ed">MPIN_BLS381_CLIENT</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:844</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a5216f4fb73063c518f441d64c7a6fee1"><div class="ttname"><a href="mpin__BLS381_8h.html#a5216f4fb73063c518f441d64c7a6fee1">MPIN_BLS381_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS381_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:348</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a43df0c4f0a9f25e3b78f1eaabb96d3f7"><div class="ttname"><a href="mpin__BLS381_8h.html#a43df0c4f0a9f25e3b78f1eaabb96d3f7">MPIN_BLS381_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS381_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:213</div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a99b12ff5a25e990f7ce5061daa79ca55"><div class="ttname"><a href="mpin__BLS381_8h.html#a99b12ff5a25e990f7ce5061daa79ca55">MPIN_BLS381_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS381_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:784</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="mpin__BLS381_8h_html_a644f1488319e43005727bf4eb3742cac"><div class="ttname"><a href="mpin__BLS381_8h.html#a644f1488319e43005727bf4eb3742cac">MPIN_BLS381_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS381_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:905</div></div>
+<div class="ttc" id="pair__BLS381_8h_html"><div class="ttname"><a href="pair__BLS381_8h.html">pair_BLS381.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="mpin__BLS381_8h_html_a95de8edc29b5603d78bd4685085f72c2"><div class="ttname"><a href="mpin__BLS381_8h.html#a95de8edc29b5603d78bd4685085f72c2">MPIN_BLS381_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS381_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS381.c:279</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/mpin__BLS383_8h.html b/website/static/cdocs/mpin__BLS383_8h.html
index e5f17ff..ce11c92 100644
--- a/website/static/cdocs/mpin__BLS383_8h.html
+++ b/website/static/cdocs/mpin__BLS383_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: mpin_BLS383.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"
@@ -981,10 +984,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="af14eb7279800719e3dcceeb783875090"></a>
@@ -1831,7 +1839,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/mpin__BLS383_8h_source.html b/website/static/cdocs/mpin__BLS383_8h_source.html
index f121d3a..81f2b03 100644
--- a/website/static/cdocs/mpin__BLS383_8h_source.html
+++ b/website/static/cdocs/mpin__BLS383_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: mpin_BLS383.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,41 +72,41 @@
 <div class="title">mpin_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin__BLS383_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS383_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BLS383_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS383_8h.html">pair_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a94033e493e9dd7cc01fa5ab9d7fc6df6">   36</a></span>&#160;<span class="preprocessor">#define PGS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a87bcb2b6f6c0b8d4ff7595ddd0f8c2c4">   37</a></span>&#160;<span class="preprocessor">#define PFS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BLS383 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS383 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a8040abab816c480310847eb5f37ac968">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS383 (MESSAGE_SIZE+2*PFS_BLS383+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS383_8h.html#a579afc9b4b5316f8d8bd2f86497a77ee">MPIN_BLS383_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a2745d762b3e943863bb16adbc0ce96fb">MPIN_BLS383_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a679b2100a2a0bdd3de04e3bc69d06e07">MPIN_BLS383_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a43e246268bd9cab4c57b7b69e825e826">MPIN_BLS383_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#ab6171f4678f3ea4ef56644f8e0f28308">MPIN_BLS383_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#aef56a7eeb3df31dc4585c7c1334aac65">MPIN_BLS383_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#ae102e46603a922334cd46edf4ea5486d">MPIN_BLS383_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a7b27ee01665b2e9b18c30d9342f9e85b">MPIN_BLS383_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a8f5b530ac871fb53ff93e61e5ed8deb2">MPIN_BLS383_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS383_8h.html#adda8fa98e0916b7f84355cee3c59ec9b">MPIN_BLS383_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a56300f590bbbcbf40cc174d8731e284c">MPIN_BLS383_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a0c2e58187561f6965f9c2749a5798f97">MPIN_BLS383_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a3ee69ae19c1921554701c2ab5736920e">MPIN_BLS383_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a38007cd1851712b448ba392e91679602">MPIN_BLS383_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#aaf72870178aacef00809a53dbc4101d1">MPIN_BLS383_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a3b3310f9f867572c1b8d95c61d1e04b4">MPIN_BLS383_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#af14eb7279800719e3dcceeb783875090">MPIN_BLS383_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a8c770f91c2438ae79b8c9e7087ab644b">MPIN_BLS383_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a3d7eeddf822d124e292e23ec9b8757d8">MPIN_BLS383_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#ac3a8c8b009e5098e22d812877aa148a5">MPIN_BLS383_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#af26af112575bf1ca9817f7721301b873">MPIN_BLS383_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a4cd211ff37e90c3c30b9a38f43aaf7de">MPIN_BLS383_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#acbf76a4405449758db95cf77d036c0e5">MPIN_BLS383_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#abb27005be7631bd4a7e083dd0efe2d5d">MPIN_BLS383_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#aed8b9bc613c9c183dde1cf67c602bd68">MPIN_BLS383_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BLS383_8h_html_a2745d762b3e943863bb16adbc0ce96fb"><div class="ttname"><a href="mpin__BLS383_8h.html#a2745d762b3e943863bb16adbc0ce96fb">MPIN_BLS383_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS383_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:235</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_ac3a8c8b009e5098e22d812877aa148a5"><div class="ttname"><a href="mpin__BLS383_8h.html#ac3a8c8b009e5098e22d812877aa148a5">MPIN_BLS383_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS383_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:489</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a56300f590bbbcbf40cc174d8731e284c"><div class="ttname"><a href="mpin__BLS383_8h.html#a56300f590bbbcbf40cc174d8731e284c">MPIN_BLS383_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS383_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:540</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_adda8fa98e0916b7f84355cee3c59ec9b"><div class="ttname"><a href="mpin__BLS383_8h.html#adda8fa98e0916b7f84355cee3c59ec9b">MPIN_BLS383_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS383_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:511</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_ab6171f4678f3ea4ef56644f8e0f28308"><div class="ttname"><a href="mpin__BLS383_8h.html#ab6171f4678f3ea4ef56644f8e0f28308">MPIN_BLS383_CLIENT</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:844</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_aed8b9bc613c9c183dde1cf67c602bd68"><div class="ttname"><a href="mpin__BLS383_8h.html#aed8b9bc613c9c183dde1cf67c602bd68">MPIN_BLS383_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS383_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:905</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_ae102e46603a922334cd46edf4ea5486d"><div class="ttname"><a href="mpin__BLS383_8h.html#ae102e46603a922334cd46edf4ea5486d">MPIN_BLS383_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS383_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:213</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a4cd211ff37e90c3c30b9a38f43aaf7de"><div class="ttname"><a href="mpin__BLS383_8h.html#a4cd211ff37e90c3c30b9a38f43aaf7de">MPIN_BLS383_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS383_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:708</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="mpin__BLS383_8h_html_acbf76a4405449758db95cf77d036c0e5"><div class="ttname"><a href="mpin__BLS383_8h.html#acbf76a4405449758db95cf77d036c0e5">MPIN_BLS383_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS383_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:784</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_af14eb7279800719e3dcceeb783875090"><div class="ttname"><a href="mpin__BLS383_8h.html#af14eb7279800719e3dcceeb783875090">MPIN_BLS383_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS383_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:306</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a8f5b530ac871fb53ff93e61e5ed8deb2"><div class="ttname"><a href="mpin__BLS383_8h.html#a8f5b530ac871fb53ff93e61e5ed8deb2">MPIN_BLS383_SERVER</a></div><div class="ttdeci">int MPIN_BLS383_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:876</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a43e246268bd9cab4c57b7b69e825e826"><div class="ttname"><a href="mpin__BLS383_8h.html#a43e246268bd9cab4c57b7b69e825e826">MPIN_BLS383_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS383_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:228</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a3ee69ae19c1921554701c2ab5736920e"><div class="ttname"><a href="mpin__BLS383_8h.html#a3ee69ae19c1921554701c2ab5736920e">MPIN_BLS383_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS383_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:198</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_abb27005be7631bd4a7e083dd0efe2d5d"><div class="ttname"><a href="mpin__BLS383_8h.html#abb27005be7631bd4a7e083dd0efe2d5d">MPIN_BLS383_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:747</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a0c2e58187561f6965f9c2749a5798f97"><div class="ttname"><a href="mpin__BLS383_8h.html#a0c2e58187561f6965f9c2749a5798f97">MPIN_BLS383_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS383_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:180</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_af26af112575bf1ca9817f7721301b873"><div class="ttname"><a href="mpin__BLS383_8h.html#af26af112575bf1ca9817f7721301b873">MPIN_BLS383_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS383_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:466</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a8c770f91c2438ae79b8c9e7087ab644b"><div class="ttname"><a href="mpin__BLS383_8h.html#a8c770f91c2438ae79b8c9e7087ab644b">MPIN_BLS383_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS383_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:348</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a38007cd1851712b448ba392e91679602"><div class="ttname"><a href="mpin__BLS383_8h.html#a38007cd1851712b448ba392e91679602">MPIN_BLS383_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS383_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:642</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a579afc9b4b5316f8d8bd2f86497a77ee"><div class="ttname"><a href="mpin__BLS383_8h.html#a579afc9b4b5316f8d8bd2f86497a77ee">MPIN_BLS383_GET_Y</a></div><div class="ttdeci">void MPIN_BLS383_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:829</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a7b27ee01665b2e9b18c30d9342f9e85b"><div class="ttname"><a href="mpin__BLS383_8h.html#a7b27ee01665b2e9b18c30d9342f9e85b">MPIN_BLS383_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:279</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_aef56a7eeb3df31dc4585c7c1334aac65"><div class="ttname"><a href="mpin__BLS383_8h.html#aef56a7eeb3df31dc4585c7c1334aac65">MPIN_BLS383_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:389</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_aaf72870178aacef00809a53dbc4101d1"><div class="ttname"><a href="mpin__BLS383_8h.html#aaf72870178aacef00809a53dbc4101d1">MPIN_BLS383_ENCODING</a></div><div class="ttdeci">int MPIN_BLS383_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:122</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a3d7eeddf822d124e292e23ec9b8757d8"><div class="ttname"><a href="mpin__BLS383_8h.html#a3d7eeddf822d124e292e23ec9b8757d8">MPIN_BLS383_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS383_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:383</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="mpin__BLS383_8h_html_a679b2100a2a0bdd3de04e3bc69d06e07"><div class="ttname"><a href="mpin__BLS383_8h.html#a679b2100a2a0bdd3de04e3bc69d06e07">MPIN_BLS383_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS383_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:257</div></div>
-<div class="ttc" id="pair__BLS383_8h_html"><div class="ttname"><a href="pair__BLS383_8h.html">pair_BLS383.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="mpin__BLS383_8h_html_a3b3310f9f867572c1b8d95c61d1e04b4"><div class="ttname"><a href="mpin__BLS383_8h.html#a3b3310f9f867572c1b8d95c61d1e04b4">MPIN_BLS383_DECODING</a></div><div class="ttdeci">int MPIN_BLS383_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:154</div></div>
+<a href="mpin__BLS383_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS383_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BLS383_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS383_8h.html">pair_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a94033e493e9dd7cc01fa5ab9d7fc6df6">   36</a></span>&#160;<span class="preprocessor">#define PGS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a87bcb2b6f6c0b8d4ff7595ddd0f8c2c4">   37</a></span>&#160;<span class="preprocessor">#define PFS_BLS383 MODBYTES_384_58  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BLS383 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS383 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BLS383_8h.html#a8040abab816c480310847eb5f37ac968">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS383 (MESSAGE_SIZE+2*PFS_BLS383+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS383_8h.html#a579afc9b4b5316f8d8bd2f86497a77ee">MPIN_BLS383_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a2745d762b3e943863bb16adbc0ce96fb">MPIN_BLS383_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a679b2100a2a0bdd3de04e3bc69d06e07">MPIN_BLS383_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a43e246268bd9cab4c57b7b69e825e826">MPIN_BLS383_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#ab6171f4678f3ea4ef56644f8e0f28308">MPIN_BLS383_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#aef56a7eeb3df31dc4585c7c1334aac65">MPIN_BLS383_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#ae102e46603a922334cd46edf4ea5486d">MPIN_BLS383_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a7b27ee01665b2e9b18c30d9342f9e85b">MPIN_BLS383_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a8f5b530ac871fb53ff93e61e5ed8deb2">MPIN_BLS383_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS383_8h.html#adda8fa98e0916b7f84355cee3c59ec9b">MPIN_BLS383_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a56300f590bbbcbf40cc174d8731e284c">MPIN_BLS383_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a0c2e58187561f6965f9c2749a5798f97">MPIN_BLS383_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a3ee69ae19c1921554701c2ab5736920e">MPIN_BLS383_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a38007cd1851712b448ba392e91679602">MPIN_BLS383_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#aaf72870178aacef00809a53dbc4101d1">MPIN_BLS383_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a3b3310f9f867572c1b8d95c61d1e04b4">MPIN_BLS383_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#af14eb7279800719e3dcceeb783875090">MPIN_BLS383_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a8c770f91c2438ae79b8c9e7087ab644b">MPIN_BLS383_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a3d7eeddf822d124e292e23ec9b8757d8">MPIN_BLS383_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#ac3a8c8b009e5098e22d812877aa148a5">MPIN_BLS383_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#af26af112575bf1ca9817f7721301b873">MPIN_BLS383_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#a4cd211ff37e90c3c30b9a38f43aaf7de">MPIN_BLS383_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#acbf76a4405449758db95cf77d036c0e5">MPIN_BLS383_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#abb27005be7631bd4a7e083dd0efe2d5d">MPIN_BLS383_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS383_8h.html#aed8b9bc613c9c183dde1cf67c602bd68">MPIN_BLS383_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BLS383_8h_html_a2745d762b3e943863bb16adbc0ce96fb"><div class="ttname"><a href="mpin__BLS383_8h.html#a2745d762b3e943863bb16adbc0ce96fb">MPIN_BLS383_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS383_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:235</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_ac3a8c8b009e5098e22d812877aa148a5"><div class="ttname"><a href="mpin__BLS383_8h.html#ac3a8c8b009e5098e22d812877aa148a5">MPIN_BLS383_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS383_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:489</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a56300f590bbbcbf40cc174d8731e284c"><div class="ttname"><a href="mpin__BLS383_8h.html#a56300f590bbbcbf40cc174d8731e284c">MPIN_BLS383_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS383_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:540</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_adda8fa98e0916b7f84355cee3c59ec9b"><div class="ttname"><a href="mpin__BLS383_8h.html#adda8fa98e0916b7f84355cee3c59ec9b">MPIN_BLS383_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS383_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:511</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_ab6171f4678f3ea4ef56644f8e0f28308"><div class="ttname"><a href="mpin__BLS383_8h.html#ab6171f4678f3ea4ef56644f8e0f28308">MPIN_BLS383_CLIENT</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:844</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_aed8b9bc613c9c183dde1cf67c602bd68"><div class="ttname"><a href="mpin__BLS383_8h.html#aed8b9bc613c9c183dde1cf67c602bd68">MPIN_BLS383_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS383_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:905</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_ae102e46603a922334cd46edf4ea5486d"><div class="ttname"><a href="mpin__BLS383_8h.html#ae102e46603a922334cd46edf4ea5486d">MPIN_BLS383_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS383_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:213</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a4cd211ff37e90c3c30b9a38f43aaf7de"><div class="ttname"><a href="mpin__BLS383_8h.html#a4cd211ff37e90c3c30b9a38f43aaf7de">MPIN_BLS383_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS383_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:708</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="mpin__BLS383_8h_html_acbf76a4405449758db95cf77d036c0e5"><div class="ttname"><a href="mpin__BLS383_8h.html#acbf76a4405449758db95cf77d036c0e5">MPIN_BLS383_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS383_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:784</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_af14eb7279800719e3dcceeb783875090"><div class="ttname"><a href="mpin__BLS383_8h.html#af14eb7279800719e3dcceeb783875090">MPIN_BLS383_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS383_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:306</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a8f5b530ac871fb53ff93e61e5ed8deb2"><div class="ttname"><a href="mpin__BLS383_8h.html#a8f5b530ac871fb53ff93e61e5ed8deb2">MPIN_BLS383_SERVER</a></div><div class="ttdeci">int MPIN_BLS383_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:876</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a43e246268bd9cab4c57b7b69e825e826"><div class="ttname"><a href="mpin__BLS383_8h.html#a43e246268bd9cab4c57b7b69e825e826">MPIN_BLS383_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS383_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:228</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a3ee69ae19c1921554701c2ab5736920e"><div class="ttname"><a href="mpin__BLS383_8h.html#a3ee69ae19c1921554701c2ab5736920e">MPIN_BLS383_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS383_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:198</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_abb27005be7631bd4a7e083dd0efe2d5d"><div class="ttname"><a href="mpin__BLS383_8h.html#abb27005be7631bd4a7e083dd0efe2d5d">MPIN_BLS383_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:747</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a0c2e58187561f6965f9c2749a5798f97"><div class="ttname"><a href="mpin__BLS383_8h.html#a0c2e58187561f6965f9c2749a5798f97">MPIN_BLS383_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS383_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:180</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_af26af112575bf1ca9817f7721301b873"><div class="ttname"><a href="mpin__BLS383_8h.html#af26af112575bf1ca9817f7721301b873">MPIN_BLS383_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS383_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:466</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a8c770f91c2438ae79b8c9e7087ab644b"><div class="ttname"><a href="mpin__BLS383_8h.html#a8c770f91c2438ae79b8c9e7087ab644b">MPIN_BLS383_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS383_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:348</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a38007cd1851712b448ba392e91679602"><div class="ttname"><a href="mpin__BLS383_8h.html#a38007cd1851712b448ba392e91679602">MPIN_BLS383_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS383_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:642</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a579afc9b4b5316f8d8bd2f86497a77ee"><div class="ttname"><a href="mpin__BLS383_8h.html#a579afc9b4b5316f8d8bd2f86497a77ee">MPIN_BLS383_GET_Y</a></div><div class="ttdeci">void MPIN_BLS383_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:829</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a7b27ee01665b2e9b18c30d9342f9e85b"><div class="ttname"><a href="mpin__BLS383_8h.html#a7b27ee01665b2e9b18c30d9342f9e85b">MPIN_BLS383_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:279</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_aef56a7eeb3df31dc4585c7c1334aac65"><div class="ttname"><a href="mpin__BLS383_8h.html#aef56a7eeb3df31dc4585c7c1334aac65">MPIN_BLS383_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS383_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:389</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_aaf72870178aacef00809a53dbc4101d1"><div class="ttname"><a href="mpin__BLS383_8h.html#aaf72870178aacef00809a53dbc4101d1">MPIN_BLS383_ENCODING</a></div><div class="ttdeci">int MPIN_BLS383_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:122</div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a3d7eeddf822d124e292e23ec9b8757d8"><div class="ttname"><a href="mpin__BLS383_8h.html#a3d7eeddf822d124e292e23ec9b8757d8">MPIN_BLS383_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS383_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:383</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="mpin__BLS383_8h_html_a679b2100a2a0bdd3de04e3bc69d06e07"><div class="ttname"><a href="mpin__BLS383_8h.html#a679b2100a2a0bdd3de04e3bc69d06e07">MPIN_BLS383_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS383_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:257</div></div>
+<div class="ttc" id="pair__BLS383_8h_html"><div class="ttname"><a href="pair__BLS383_8h.html">pair_BLS383.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="mpin__BLS383_8h_html_a3b3310f9f867572c1b8d95c61d1e04b4"><div class="ttname"><a href="mpin__BLS383_8h.html#a3b3310f9f867572c1b8d95c61d1e04b4">MPIN_BLS383_DECODING</a></div><div class="ttdeci">int MPIN_BLS383_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin_BLS383.c:154</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/mpin__BLS461_8h.html b/website/static/cdocs/mpin__BLS461_8h.html
index 4b0eed0..63ab4c9 100644
--- a/website/static/cdocs/mpin__BLS461_8h.html
+++ b/website/static/cdocs/mpin__BLS461_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: mpin_BLS461.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"
@@ -981,10 +984,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a2f73b7affcf44db226442bfd5c4fa3c3"></a>
@@ -1831,7 +1839,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/mpin__BLS461_8h_source.html b/website/static/cdocs/mpin__BLS461_8h_source.html
index 2062247..55bec40 100644
--- a/website/static/cdocs/mpin__BLS461_8h_source.html
+++ b/website/static/cdocs/mpin__BLS461_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: mpin_BLS461.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,41 +72,41 @@
 <div class="title">mpin_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin__BLS461_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS461_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BLS461_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS461_8h.html">pair_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#afd95bf14e2ce880d29112519b4897c40">   36</a></span>&#160;<span class="preprocessor">#define PGS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a758124ce1e525b20369db6823d88e103">   37</a></span>&#160;<span class="preprocessor">#define PFS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BLS461 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS461 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#af37871f31f0cf745c50f996792988a19">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS461 (MESSAGE_SIZE+2*PFS_BLS461+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS461_8h.html#afed7a304c1087b5db1162d65f3291d55">MPIN_BLS461_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a7d91874a939ba545791739c2b5a7d983">MPIN_BLS461_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ad4c14453027ca0d6f38c8d8175b9915f">MPIN_BLS461_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a9f34545e493a759d090228cb69698dcf">MPIN_BLS461_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ac706eaf61bf21db68b8da63df51363ec">MPIN_BLS461_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#acf41b82003ae09745478e21c14686183">MPIN_BLS461_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a2d6d702b8607e4bc982eb48c019f3396">MPIN_BLS461_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a75acf08fa18080a0feb6e0c7e76628ec">MPIN_BLS461_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a5c6554014fc53e3dfcaf6f88532c2124">MPIN_BLS461_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS461_8h.html#aee187c1fc5ffb0f036391f16b7e902ad">MPIN_BLS461_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#abd9ba6260b4418edda0e7bd6584d8c6c">MPIN_BLS461_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#acd1706c6affadd577a54d7c0a70ae2d9">MPIN_BLS461_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ac217b662770e09d47f6317f4096d1f65">MPIN_BLS461_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a32ef77411171216549ef459753097759">MPIN_BLS461_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ad0d804358e2f08db8cc99405bd90f33b">MPIN_BLS461_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ac6c3294037548ae1f0a2431cf6083bc7">MPIN_BLS461_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a2f73b7affcf44db226442bfd5c4fa3c3">MPIN_BLS461_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a80aa31e02d55531d26bb0de8a274dcc3">MPIN_BLS461_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a647e7ea2e2b106d7045e17bd435b25e7">MPIN_BLS461_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a9ab386f2aca1de92c8db9961c102cc1a">MPIN_BLS461_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#af37ed7ada8db694da68fe9b349c73b79">MPIN_BLS461_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#aa3149c7f8e17f0095398aa4cf795177b">MPIN_BLS461_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a8ecdeeaccac76b6288600781c00c9df5">MPIN_BLS461_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ab9f726e6610bc64e22702e866faa28f2">MPIN_BLS461_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a63da65940b2130072e615eab8580e4e3">MPIN_BLS461_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BLS461_8h_html_acd1706c6affadd577a54d7c0a70ae2d9"><div class="ttname"><a href="mpin__BLS461_8h.html#acd1706c6affadd577a54d7c0a70ae2d9">MPIN_BLS461_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS461_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:180</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a63da65940b2130072e615eab8580e4e3"><div class="ttname"><a href="mpin__BLS461_8h.html#a63da65940b2130072e615eab8580e4e3">MPIN_BLS461_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS461_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:905</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_ad4c14453027ca0d6f38c8d8175b9915f"><div class="ttname"><a href="mpin__BLS461_8h.html#ad4c14453027ca0d6f38c8d8175b9915f">MPIN_BLS461_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS461_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:257</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a8ecdeeaccac76b6288600781c00c9df5"><div class="ttname"><a href="mpin__BLS461_8h.html#a8ecdeeaccac76b6288600781c00c9df5">MPIN_BLS461_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS461_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:784</div></div>
-<div class="ttc" id="pair__BLS461_8h_html"><div class="ttname"><a href="pair__BLS461_8h.html">pair_BLS461.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a9ab386f2aca1de92c8db9961c102cc1a"><div class="ttname"><a href="mpin__BLS461_8h.html#a9ab386f2aca1de92c8db9961c102cc1a">MPIN_BLS461_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS461_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:489</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a2d6d702b8607e4bc982eb48c019f3396"><div class="ttname"><a href="mpin__BLS461_8h.html#a2d6d702b8607e4bc982eb48c019f3396">MPIN_BLS461_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS461_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:213</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a80aa31e02d55531d26bb0de8a274dcc3"><div class="ttname"><a href="mpin__BLS461_8h.html#a80aa31e02d55531d26bb0de8a274dcc3">MPIN_BLS461_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS461_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:348</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a32ef77411171216549ef459753097759"><div class="ttname"><a href="mpin__BLS461_8h.html#a32ef77411171216549ef459753097759">MPIN_BLS461_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS461_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:642</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_ad0d804358e2f08db8cc99405bd90f33b"><div class="ttname"><a href="mpin__BLS461_8h.html#ad0d804358e2f08db8cc99405bd90f33b">MPIN_BLS461_ENCODING</a></div><div class="ttdeci">int MPIN_BLS461_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:122</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a9f34545e493a759d090228cb69698dcf"><div class="ttname"><a href="mpin__BLS461_8h.html#a9f34545e493a759d090228cb69698dcf">MPIN_BLS461_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS461_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:228</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a2f73b7affcf44db226442bfd5c4fa3c3"><div class="ttname"><a href="mpin__BLS461_8h.html#a2f73b7affcf44db226442bfd5c4fa3c3">MPIN_BLS461_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS461_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:306</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a7d91874a939ba545791739c2b5a7d983"><div class="ttname"><a href="mpin__BLS461_8h.html#a7d91874a939ba545791739c2b5a7d983">MPIN_BLS461_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS461_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:235</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a647e7ea2e2b106d7045e17bd435b25e7"><div class="ttname"><a href="mpin__BLS461_8h.html#a647e7ea2e2b106d7045e17bd435b25e7">MPIN_BLS461_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS461_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:383</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_abd9ba6260b4418edda0e7bd6584d8c6c"><div class="ttname"><a href="mpin__BLS461_8h.html#abd9ba6260b4418edda0e7bd6584d8c6c">MPIN_BLS461_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS461_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:540</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_ac6c3294037548ae1f0a2431cf6083bc7"><div class="ttname"><a href="mpin__BLS461_8h.html#ac6c3294037548ae1f0a2431cf6083bc7">MPIN_BLS461_DECODING</a></div><div class="ttdeci">int MPIN_BLS461_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:154</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a75acf08fa18080a0feb6e0c7e76628ec"><div class="ttname"><a href="mpin__BLS461_8h.html#a75acf08fa18080a0feb6e0c7e76628ec">MPIN_BLS461_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:279</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_aa3149c7f8e17f0095398aa4cf795177b"><div class="ttname"><a href="mpin__BLS461_8h.html#aa3149c7f8e17f0095398aa4cf795177b">MPIN_BLS461_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS461_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:708</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_ac217b662770e09d47f6317f4096d1f65"><div class="ttname"><a href="mpin__BLS461_8h.html#ac217b662770e09d47f6317f4096d1f65">MPIN_BLS461_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS461_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:198</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_ac706eaf61bf21db68b8da63df51363ec"><div class="ttname"><a href="mpin__BLS461_8h.html#ac706eaf61bf21db68b8da63df51363ec">MPIN_BLS461_CLIENT</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:844</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_ab9f726e6610bc64e22702e866faa28f2"><div class="ttname"><a href="mpin__BLS461_8h.html#ab9f726e6610bc64e22702e866faa28f2">MPIN_BLS461_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:747</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_a5c6554014fc53e3dfcaf6f88532c2124"><div class="ttname"><a href="mpin__BLS461_8h.html#a5c6554014fc53e3dfcaf6f88532c2124">MPIN_BLS461_SERVER</a></div><div class="ttdeci">int MPIN_BLS461_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:876</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_acf41b82003ae09745478e21c14686183"><div class="ttname"><a href="mpin__BLS461_8h.html#acf41b82003ae09745478e21c14686183">MPIN_BLS461_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:389</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="mpin__BLS461_8h_html_aee187c1fc5ffb0f036391f16b7e902ad"><div class="ttname"><a href="mpin__BLS461_8h.html#aee187c1fc5ffb0f036391f16b7e902ad">MPIN_BLS461_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS461_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:511</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_af37ed7ada8db694da68fe9b349c73b79"><div class="ttname"><a href="mpin__BLS461_8h.html#af37ed7ada8db694da68fe9b349c73b79">MPIN_BLS461_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS461_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:466</div></div>
-<div class="ttc" id="mpin__BLS461_8h_html_afed7a304c1087b5db1162d65f3291d55"><div class="ttname"><a href="mpin__BLS461_8h.html#afed7a304c1087b5db1162d65f3291d55">MPIN_BLS461_GET_Y</a></div><div class="ttdeci">void MPIN_BLS461_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:829</div></div>
+<a href="mpin__BLS461_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BLS461_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BLS461_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS461_8h.html">pair_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#afd95bf14e2ce880d29112519b4897c40">   36</a></span>&#160;<span class="preprocessor">#define PGS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a758124ce1e525b20369db6823d88e103">   37</a></span>&#160;<span class="preprocessor">#define PFS_BLS461 MODBYTES_464_60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BLS461 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BLS461 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BLS461_8h.html#af37871f31f0cf745c50f996792988a19">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BLS461 (MESSAGE_SIZE+2*PFS_BLS461+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS461_8h.html#afed7a304c1087b5db1162d65f3291d55">MPIN_BLS461_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a7d91874a939ba545791739c2b5a7d983">MPIN_BLS461_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ad4c14453027ca0d6f38c8d8175b9915f">MPIN_BLS461_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a9f34545e493a759d090228cb69698dcf">MPIN_BLS461_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ac706eaf61bf21db68b8da63df51363ec">MPIN_BLS461_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#acf41b82003ae09745478e21c14686183">MPIN_BLS461_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a2d6d702b8607e4bc982eb48c019f3396">MPIN_BLS461_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a75acf08fa18080a0feb6e0c7e76628ec">MPIN_BLS461_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a5c6554014fc53e3dfcaf6f88532c2124">MPIN_BLS461_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BLS461_8h.html#aee187c1fc5ffb0f036391f16b7e902ad">MPIN_BLS461_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#abd9ba6260b4418edda0e7bd6584d8c6c">MPIN_BLS461_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#acd1706c6affadd577a54d7c0a70ae2d9">MPIN_BLS461_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ac217b662770e09d47f6317f4096d1f65">MPIN_BLS461_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a32ef77411171216549ef459753097759">MPIN_BLS461_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ad0d804358e2f08db8cc99405bd90f33b">MPIN_BLS461_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ac6c3294037548ae1f0a2431cf6083bc7">MPIN_BLS461_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a2f73b7affcf44db226442bfd5c4fa3c3">MPIN_BLS461_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a80aa31e02d55531d26bb0de8a274dcc3">MPIN_BLS461_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a647e7ea2e2b106d7045e17bd435b25e7">MPIN_BLS461_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a9ab386f2aca1de92c8db9961c102cc1a">MPIN_BLS461_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#af37ed7ada8db694da68fe9b349c73b79">MPIN_BLS461_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#aa3149c7f8e17f0095398aa4cf795177b">MPIN_BLS461_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a8ecdeeaccac76b6288600781c00c9df5">MPIN_BLS461_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#ab9f726e6610bc64e22702e866faa28f2">MPIN_BLS461_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BLS461_8h.html#a63da65940b2130072e615eab8580e4e3">MPIN_BLS461_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BLS461_8h_html_acd1706c6affadd577a54d7c0a70ae2d9"><div class="ttname"><a href="mpin__BLS461_8h.html#acd1706c6affadd577a54d7c0a70ae2d9">MPIN_BLS461_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BLS461_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:180</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a63da65940b2130072e615eab8580e4e3"><div class="ttname"><a href="mpin__BLS461_8h.html#a63da65940b2130072e615eab8580e4e3">MPIN_BLS461_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BLS461_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:905</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_ad4c14453027ca0d6f38c8d8175b9915f"><div class="ttname"><a href="mpin__BLS461_8h.html#ad4c14453027ca0d6f38c8d8175b9915f">MPIN_BLS461_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BLS461_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:257</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a8ecdeeaccac76b6288600781c00c9df5"><div class="ttname"><a href="mpin__BLS461_8h.html#a8ecdeeaccac76b6288600781c00c9df5">MPIN_BLS461_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BLS461_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:784</div></div>
+<div class="ttc" id="pair__BLS461_8h_html"><div class="ttname"><a href="pair__BLS461_8h.html">pair_BLS461.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a9ab386f2aca1de92c8db9961c102cc1a"><div class="ttname"><a href="mpin__BLS461_8h.html#a9ab386f2aca1de92c8db9961c102cc1a">MPIN_BLS461_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BLS461_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:489</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a2d6d702b8607e4bc982eb48c019f3396"><div class="ttname"><a href="mpin__BLS461_8h.html#a2d6d702b8607e4bc982eb48c019f3396">MPIN_BLS461_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BLS461_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:213</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a80aa31e02d55531d26bb0de8a274dcc3"><div class="ttname"><a href="mpin__BLS461_8h.html#a80aa31e02d55531d26bb0de8a274dcc3">MPIN_BLS461_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS461_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:348</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a32ef77411171216549ef459753097759"><div class="ttname"><a href="mpin__BLS461_8h.html#a32ef77411171216549ef459753097759">MPIN_BLS461_KANGAROO</a></div><div class="ttdeci">int MPIN_BLS461_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:642</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_ad0d804358e2f08db8cc99405bd90f33b"><div class="ttname"><a href="mpin__BLS461_8h.html#ad0d804358e2f08db8cc99405bd90f33b">MPIN_BLS461_ENCODING</a></div><div class="ttdeci">int MPIN_BLS461_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:122</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a9f34545e493a759d090228cb69698dcf"><div class="ttname"><a href="mpin__BLS461_8h.html#a9f34545e493a759d090228cb69698dcf">MPIN_BLS461_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BLS461_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:228</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a2f73b7affcf44db226442bfd5c4fa3c3"><div class="ttname"><a href="mpin__BLS461_8h.html#a2f73b7affcf44db226442bfd5c4fa3c3">MPIN_BLS461_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BLS461_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:306</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a7d91874a939ba545791739c2b5a7d983"><div class="ttname"><a href="mpin__BLS461_8h.html#a7d91874a939ba545791739c2b5a7d983">MPIN_BLS461_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BLS461_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:235</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a647e7ea2e2b106d7045e17bd435b25e7"><div class="ttname"><a href="mpin__BLS461_8h.html#a647e7ea2e2b106d7045e17bd435b25e7">MPIN_BLS461_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BLS461_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:383</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_abd9ba6260b4418edda0e7bd6584d8c6c"><div class="ttname"><a href="mpin__BLS461_8h.html#abd9ba6260b4418edda0e7bd6584d8c6c">MPIN_BLS461_SERVER_2</a></div><div class="ttdeci">int MPIN_BLS461_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:540</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_ac6c3294037548ae1f0a2431cf6083bc7"><div class="ttname"><a href="mpin__BLS461_8h.html#ac6c3294037548ae1f0a2431cf6083bc7">MPIN_BLS461_DECODING</a></div><div class="ttdeci">int MPIN_BLS461_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:154</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a75acf08fa18080a0feb6e0c7e76628ec"><div class="ttname"><a href="mpin__BLS461_8h.html#a75acf08fa18080a0feb6e0c7e76628ec">MPIN_BLS461_CLIENT_2</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:279</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_aa3149c7f8e17f0095398aa4cf795177b"><div class="ttname"><a href="mpin__BLS461_8h.html#aa3149c7f8e17f0095398aa4cf795177b">MPIN_BLS461_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BLS461_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:708</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_ac217b662770e09d47f6317f4096d1f65"><div class="ttname"><a href="mpin__BLS461_8h.html#ac217b662770e09d47f6317f4096d1f65">MPIN_BLS461_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BLS461_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:198</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_ac706eaf61bf21db68b8da63df51363ec"><div class="ttname"><a href="mpin__BLS461_8h.html#ac706eaf61bf21db68b8da63df51363ec">MPIN_BLS461_CLIENT</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:844</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_ab9f726e6610bc64e22702e866faa28f2"><div class="ttname"><a href="mpin__BLS461_8h.html#ab9f726e6610bc64e22702e866faa28f2">MPIN_BLS461_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:747</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_a5c6554014fc53e3dfcaf6f88532c2124"><div class="ttname"><a href="mpin__BLS461_8h.html#a5c6554014fc53e3dfcaf6f88532c2124">MPIN_BLS461_SERVER</a></div><div class="ttdeci">int MPIN_BLS461_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:876</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_acf41b82003ae09745478e21c14686183"><div class="ttname"><a href="mpin__BLS461_8h.html#acf41b82003ae09745478e21c14686183">MPIN_BLS461_CLIENT_1</a></div><div class="ttdeci">int MPIN_BLS461_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:389</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="mpin__BLS461_8h_html_aee187c1fc5ffb0f036391f16b7e902ad"><div class="ttname"><a href="mpin__BLS461_8h.html#aee187c1fc5ffb0f036391f16b7e902ad">MPIN_BLS461_SERVER_1</a></div><div class="ttdeci">void MPIN_BLS461_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:511</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_af37ed7ada8db694da68fe9b349c73b79"><div class="ttname"><a href="mpin__BLS461_8h.html#af37ed7ada8db694da68fe9b349c73b79">MPIN_BLS461_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BLS461_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:466</div></div>
+<div class="ttc" id="mpin__BLS461_8h_html_afed7a304c1087b5db1162d65f3291d55"><div class="ttname"><a href="mpin__BLS461_8h.html#afed7a304c1087b5db1162d65f3291d55">MPIN_BLS461_GET_Y</a></div><div class="ttdeci">void MPIN_BLS461_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin_BLS461.c:829</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/mpin__BN254CX_8h.html b/website/static/cdocs/mpin__BN254CX_8h.html
index 874e24e..1697e6e 100644
--- a/website/static/cdocs/mpin__BN254CX_8h.html
+++ b/website/static/cdocs/mpin__BN254CX_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: mpin_BN254CX.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"
@@ -981,10 +984,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a8dd3bb4cc3ae18ec139cf9ec98eac7da"></a>
@@ -1831,7 +1839,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/mpin__BN254CX_8h_source.html b/website/static/cdocs/mpin__BN254CX_8h_source.html
index 086b098..29d523d 100644
--- a/website/static/cdocs/mpin__BN254CX_8h_source.html
+++ b/website/static/cdocs/mpin__BN254CX_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: mpin_BN254CX.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,41 +72,41 @@
 <div class="title">mpin_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin__BN254CX_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BN254CX_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BN254CX_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254CX_8h.html">pair_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a630a0784d27dd2a0fb1e4225737950c7">   36</a></span>&#160;<span class="preprocessor">#define PGS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a00061f408b1ec13b74891a4cbbcbd160">   37</a></span>&#160;<span class="preprocessor">#define PFS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BN254CX 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BN254CX SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#ae43459136df64e30caeedb4844317621">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BN254CX (MESSAGE_SIZE+2*PFS_BN254CX+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254CX_8h.html#a2f023b9bfb42bab3a619af84092d7687">MPIN_BN254CX_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a128dba66b7d1a5b4e2ba27946cd959d3">MPIN_BN254CX_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a1810d8437a1c6851b98dbc453a8180c3">MPIN_BN254CX_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a6e83f8e58e13eb363301eb904a29fc8e">MPIN_BN254CX_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#af88cb486d05712923201490916eea8d0">MPIN_BN254CX_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a313d12bc183704bba56930a96b8d218c">MPIN_BN254CX_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a3a8969786e07d99327dcbb8fe528eabd">MPIN_BN254CX_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#aa616747adbec2b96d2ea03392ae818c6">MPIN_BN254CX_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a2625d7e6bbd3746e9d446f77c97e85f4">MPIN_BN254CX_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254CX_8h.html#a04271f53ac35dde8e2f852a243e7e7eb">MPIN_BN254CX_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#aea3b23e5ab101eb7282f6931960909b6">MPIN_BN254CX_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a7948d37e49d2608fefe2f8f79acd0d2e">MPIN_BN254CX_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a4a0f870ce11fde73bebf9c4bd05f8263">MPIN_BN254CX_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a8788b2f449ed364f729e34e55090aa8d">MPIN_BN254CX_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ae5f99b20f1b7a19d057b3e731abf989d">MPIN_BN254CX_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ac44ebfb052cd9c827621a51c1f1e7448">MPIN_BN254CX_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a8dd3bb4cc3ae18ec139cf9ec98eac7da">MPIN_BN254CX_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ada9ec1fe2ec9a934850eb09851c4f2fa">MPIN_BN254CX_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a1cef3e5287ded45293630bfe6da4014f">MPIN_BN254CX_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a1f722aa83fbc58933bb81cd7bc902306">MPIN_BN254CX_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#aa9a6d7aa7921c8e852a9feeae2b97d99">MPIN_BN254CX_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a338845485b0991ffd11ec9bc8535284a">MPIN_BN254CX_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a8028e510cad99b9fa3e6628eda10fa48">MPIN_BN254CX_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a85158505ff529168b46ea66a8a71c678">MPIN_BN254CX_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ab4644a270491ae4474559ff8a8549220">MPIN_BN254CX_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BN254CX_8h_html_a8dd3bb4cc3ae18ec139cf9ec98eac7da"><div class="ttname"><a href="mpin__BN254CX_8h.html#a8dd3bb4cc3ae18ec139cf9ec98eac7da">MPIN_BN254CX_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254CX_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:306</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_ada9ec1fe2ec9a934850eb09851c4f2fa"><div class="ttname"><a href="mpin__BN254CX_8h.html#ada9ec1fe2ec9a934850eb09851c4f2fa">MPIN_BN254CX_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254CX_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:348</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a128dba66b7d1a5b4e2ba27946cd959d3"><div class="ttname"><a href="mpin__BN254CX_8h.html#a128dba66b7d1a5b4e2ba27946cd959d3">MPIN_BN254CX_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BN254CX_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:235</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_ab4644a270491ae4474559ff8a8549220"><div class="ttname"><a href="mpin__BN254CX_8h.html#ab4644a270491ae4474559ff8a8549220">MPIN_BN254CX_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BN254CX_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:905</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a7948d37e49d2608fefe2f8f79acd0d2e"><div class="ttname"><a href="mpin__BN254CX_8h.html#a7948d37e49d2608fefe2f8f79acd0d2e">MPIN_BN254CX_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BN254CX_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:180</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_aea3b23e5ab101eb7282f6931960909b6"><div class="ttname"><a href="mpin__BN254CX_8h.html#aea3b23e5ab101eb7282f6931960909b6">MPIN_BN254CX_SERVER_2</a></div><div class="ttdeci">int MPIN_BN254CX_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:540</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="mpin__BN254CX_8h_html_a4a0f870ce11fde73bebf9c4bd05f8263"><div class="ttname"><a href="mpin__BN254CX_8h.html#a4a0f870ce11fde73bebf9c4bd05f8263">MPIN_BN254CX_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BN254CX_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:198</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a04271f53ac35dde8e2f852a243e7e7eb"><div class="ttname"><a href="mpin__BN254CX_8h.html#a04271f53ac35dde8e2f852a243e7e7eb">MPIN_BN254CX_SERVER_1</a></div><div class="ttdeci">void MPIN_BN254CX_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:511</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_aa9a6d7aa7921c8e852a9feeae2b97d99"><div class="ttname"><a href="mpin__BN254CX_8h.html#aa9a6d7aa7921c8e852a9feeae2b97d99">MPIN_BN254CX_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BN254CX_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:466</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a85158505ff529168b46ea66a8a71c678"><div class="ttname"><a href="mpin__BN254CX_8h.html#a85158505ff529168b46ea66a8a71c678">MPIN_BN254CX_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:747</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a1f722aa83fbc58933bb81cd7bc902306"><div class="ttname"><a href="mpin__BN254CX_8h.html#a1f722aa83fbc58933bb81cd7bc902306">MPIN_BN254CX_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BN254CX_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:489</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_ae5f99b20f1b7a19d057b3e731abf989d"><div class="ttname"><a href="mpin__BN254CX_8h.html#ae5f99b20f1b7a19d057b3e731abf989d">MPIN_BN254CX_ENCODING</a></div><div class="ttdeci">int MPIN_BN254CX_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:122</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a2f023b9bfb42bab3a619af84092d7687"><div class="ttname"><a href="mpin__BN254CX_8h.html#a2f023b9bfb42bab3a619af84092d7687">MPIN_BN254CX_GET_Y</a></div><div class="ttdeci">void MPIN_BN254CX_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:829</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a8788b2f449ed364f729e34e55090aa8d"><div class="ttname"><a href="mpin__BN254CX_8h.html#a8788b2f449ed364f729e34e55090aa8d">MPIN_BN254CX_KANGAROO</a></div><div class="ttdeci">int MPIN_BN254CX_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:642</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_af88cb486d05712923201490916eea8d0"><div class="ttname"><a href="mpin__BN254CX_8h.html#af88cb486d05712923201490916eea8d0">MPIN_BN254CX_CLIENT</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:844</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a338845485b0991ffd11ec9bc8535284a"><div class="ttname"><a href="mpin__BN254CX_8h.html#a338845485b0991ffd11ec9bc8535284a">MPIN_BN254CX_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BN254CX_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:708</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a313d12bc183704bba56930a96b8d218c"><div class="ttname"><a href="mpin__BN254CX_8h.html#a313d12bc183704bba56930a96b8d218c">MPIN_BN254CX_CLIENT_1</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:389</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_aa616747adbec2b96d2ea03392ae818c6"><div class="ttname"><a href="mpin__BN254CX_8h.html#aa616747adbec2b96d2ea03392ae818c6">MPIN_BN254CX_CLIENT_2</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:279</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html"><div class="ttname"><a href="pair__BN254CX_8h.html">pair_BN254CX.h</a></div><div class="ttdoc">PAIR Header File.</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="mpin__BN254CX_8h_html_a1cef3e5287ded45293630bfe6da4014f"><div class="ttname"><a href="mpin__BN254CX_8h.html#a1cef3e5287ded45293630bfe6da4014f">MPIN_BN254CX_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BN254CX_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:383</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a3a8969786e07d99327dcbb8fe528eabd"><div class="ttname"><a href="mpin__BN254CX_8h.html#a3a8969786e07d99327dcbb8fe528eabd">MPIN_BN254CX_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BN254CX_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:213</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a2625d7e6bbd3746e9d446f77c97e85f4"><div class="ttname"><a href="mpin__BN254CX_8h.html#a2625d7e6bbd3746e9d446f77c97e85f4">MPIN_BN254CX_SERVER</a></div><div class="ttdeci">int MPIN_BN254CX_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:876</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_ac44ebfb052cd9c827621a51c1f1e7448"><div class="ttname"><a href="mpin__BN254CX_8h.html#ac44ebfb052cd9c827621a51c1f1e7448">MPIN_BN254CX_DECODING</a></div><div class="ttdeci">int MPIN_BN254CX_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:154</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a1810d8437a1c6851b98dbc453a8180c3"><div class="ttname"><a href="mpin__BN254CX_8h.html#a1810d8437a1c6851b98dbc453a8180c3">MPIN_BN254CX_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BN254CX_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:257</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a8028e510cad99b9fa3e6628eda10fa48"><div class="ttname"><a href="mpin__BN254CX_8h.html#a8028e510cad99b9fa3e6628eda10fa48">MPIN_BN254CX_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BN254CX_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:784</div></div>
-<div class="ttc" id="mpin__BN254CX_8h_html_a6e83f8e58e13eb363301eb904a29fc8e"><div class="ttname"><a href="mpin__BN254CX_8h.html#a6e83f8e58e13eb363301eb904a29fc8e">MPIN_BN254CX_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BN254CX_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:228</div></div>
+<a href="mpin__BN254CX_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BN254CX_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BN254CX_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254CX_8h.html">pair_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a630a0784d27dd2a0fb1e4225737950c7">   36</a></span>&#160;<span class="preprocessor">#define PGS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a00061f408b1ec13b74891a4cbbcbd160">   37</a></span>&#160;<span class="preprocessor">#define PFS_BN254CX MODBYTES_256_56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BN254CX 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BN254CX SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BN254CX_8h.html#ae43459136df64e30caeedb4844317621">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BN254CX (MESSAGE_SIZE+2*PFS_BN254CX+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254CX_8h.html#a2f023b9bfb42bab3a619af84092d7687">MPIN_BN254CX_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a128dba66b7d1a5b4e2ba27946cd959d3">MPIN_BN254CX_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a1810d8437a1c6851b98dbc453a8180c3">MPIN_BN254CX_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a6e83f8e58e13eb363301eb904a29fc8e">MPIN_BN254CX_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#af88cb486d05712923201490916eea8d0">MPIN_BN254CX_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a313d12bc183704bba56930a96b8d218c">MPIN_BN254CX_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a3a8969786e07d99327dcbb8fe528eabd">MPIN_BN254CX_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#aa616747adbec2b96d2ea03392ae818c6">MPIN_BN254CX_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a2625d7e6bbd3746e9d446f77c97e85f4">MPIN_BN254CX_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254CX_8h.html#a04271f53ac35dde8e2f852a243e7e7eb">MPIN_BN254CX_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#aea3b23e5ab101eb7282f6931960909b6">MPIN_BN254CX_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a7948d37e49d2608fefe2f8f79acd0d2e">MPIN_BN254CX_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a4a0f870ce11fde73bebf9c4bd05f8263">MPIN_BN254CX_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a8788b2f449ed364f729e34e55090aa8d">MPIN_BN254CX_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ae5f99b20f1b7a19d057b3e731abf989d">MPIN_BN254CX_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ac44ebfb052cd9c827621a51c1f1e7448">MPIN_BN254CX_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a8dd3bb4cc3ae18ec139cf9ec98eac7da">MPIN_BN254CX_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ada9ec1fe2ec9a934850eb09851c4f2fa">MPIN_BN254CX_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a1cef3e5287ded45293630bfe6da4014f">MPIN_BN254CX_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a1f722aa83fbc58933bb81cd7bc902306">MPIN_BN254CX_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#aa9a6d7aa7921c8e852a9feeae2b97d99">MPIN_BN254CX_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a338845485b0991ffd11ec9bc8535284a">MPIN_BN254CX_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a8028e510cad99b9fa3e6628eda10fa48">MPIN_BN254CX_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#a85158505ff529168b46ea66a8a71c678">MPIN_BN254CX_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254CX_8h.html#ab4644a270491ae4474559ff8a8549220">MPIN_BN254CX_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BN254CX_8h_html_a8dd3bb4cc3ae18ec139cf9ec98eac7da"><div class="ttname"><a href="mpin__BN254CX_8h.html#a8dd3bb4cc3ae18ec139cf9ec98eac7da">MPIN_BN254CX_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254CX_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:306</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_ada9ec1fe2ec9a934850eb09851c4f2fa"><div class="ttname"><a href="mpin__BN254CX_8h.html#ada9ec1fe2ec9a934850eb09851c4f2fa">MPIN_BN254CX_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254CX_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:348</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a128dba66b7d1a5b4e2ba27946cd959d3"><div class="ttname"><a href="mpin__BN254CX_8h.html#a128dba66b7d1a5b4e2ba27946cd959d3">MPIN_BN254CX_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BN254CX_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:235</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_ab4644a270491ae4474559ff8a8549220"><div class="ttname"><a href="mpin__BN254CX_8h.html#ab4644a270491ae4474559ff8a8549220">MPIN_BN254CX_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BN254CX_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:905</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a7948d37e49d2608fefe2f8f79acd0d2e"><div class="ttname"><a href="mpin__BN254CX_8h.html#a7948d37e49d2608fefe2f8f79acd0d2e">MPIN_BN254CX_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BN254CX_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:180</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_aea3b23e5ab101eb7282f6931960909b6"><div class="ttname"><a href="mpin__BN254CX_8h.html#aea3b23e5ab101eb7282f6931960909b6">MPIN_BN254CX_SERVER_2</a></div><div class="ttdeci">int MPIN_BN254CX_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:540</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="mpin__BN254CX_8h_html_a4a0f870ce11fde73bebf9c4bd05f8263"><div class="ttname"><a href="mpin__BN254CX_8h.html#a4a0f870ce11fde73bebf9c4bd05f8263">MPIN_BN254CX_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BN254CX_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:198</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a04271f53ac35dde8e2f852a243e7e7eb"><div class="ttname"><a href="mpin__BN254CX_8h.html#a04271f53ac35dde8e2f852a243e7e7eb">MPIN_BN254CX_SERVER_1</a></div><div class="ttdeci">void MPIN_BN254CX_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:511</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_aa9a6d7aa7921c8e852a9feeae2b97d99"><div class="ttname"><a href="mpin__BN254CX_8h.html#aa9a6d7aa7921c8e852a9feeae2b97d99">MPIN_BN254CX_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BN254CX_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:466</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a85158505ff529168b46ea66a8a71c678"><div class="ttname"><a href="mpin__BN254CX_8h.html#a85158505ff529168b46ea66a8a71c678">MPIN_BN254CX_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:747</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a1f722aa83fbc58933bb81cd7bc902306"><div class="ttname"><a href="mpin__BN254CX_8h.html#a1f722aa83fbc58933bb81cd7bc902306">MPIN_BN254CX_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BN254CX_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:489</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_ae5f99b20f1b7a19d057b3e731abf989d"><div class="ttname"><a href="mpin__BN254CX_8h.html#ae5f99b20f1b7a19d057b3e731abf989d">MPIN_BN254CX_ENCODING</a></div><div class="ttdeci">int MPIN_BN254CX_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:122</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a2f023b9bfb42bab3a619af84092d7687"><div class="ttname"><a href="mpin__BN254CX_8h.html#a2f023b9bfb42bab3a619af84092d7687">MPIN_BN254CX_GET_Y</a></div><div class="ttdeci">void MPIN_BN254CX_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:829</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a8788b2f449ed364f729e34e55090aa8d"><div class="ttname"><a href="mpin__BN254CX_8h.html#a8788b2f449ed364f729e34e55090aa8d">MPIN_BN254CX_KANGAROO</a></div><div class="ttdeci">int MPIN_BN254CX_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:642</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_af88cb486d05712923201490916eea8d0"><div class="ttname"><a href="mpin__BN254CX_8h.html#af88cb486d05712923201490916eea8d0">MPIN_BN254CX_CLIENT</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:844</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a338845485b0991ffd11ec9bc8535284a"><div class="ttname"><a href="mpin__BN254CX_8h.html#a338845485b0991ffd11ec9bc8535284a">MPIN_BN254CX_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BN254CX_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:708</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a313d12bc183704bba56930a96b8d218c"><div class="ttname"><a href="mpin__BN254CX_8h.html#a313d12bc183704bba56930a96b8d218c">MPIN_BN254CX_CLIENT_1</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:389</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_aa616747adbec2b96d2ea03392ae818c6"><div class="ttname"><a href="mpin__BN254CX_8h.html#aa616747adbec2b96d2ea03392ae818c6">MPIN_BN254CX_CLIENT_2</a></div><div class="ttdeci">int MPIN_BN254CX_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:279</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html"><div class="ttname"><a href="pair__BN254CX_8h.html">pair_BN254CX.h</a></div><div class="ttdoc">PAIR Header File. </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="mpin__BN254CX_8h_html_a1cef3e5287ded45293630bfe6da4014f"><div class="ttname"><a href="mpin__BN254CX_8h.html#a1cef3e5287ded45293630bfe6da4014f">MPIN_BN254CX_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BN254CX_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:383</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a3a8969786e07d99327dcbb8fe528eabd"><div class="ttname"><a href="mpin__BN254CX_8h.html#a3a8969786e07d99327dcbb8fe528eabd">MPIN_BN254CX_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BN254CX_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:213</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a2625d7e6bbd3746e9d446f77c97e85f4"><div class="ttname"><a href="mpin__BN254CX_8h.html#a2625d7e6bbd3746e9d446f77c97e85f4">MPIN_BN254CX_SERVER</a></div><div class="ttdeci">int MPIN_BN254CX_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:876</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_ac44ebfb052cd9c827621a51c1f1e7448"><div class="ttname"><a href="mpin__BN254CX_8h.html#ac44ebfb052cd9c827621a51c1f1e7448">MPIN_BN254CX_DECODING</a></div><div class="ttdeci">int MPIN_BN254CX_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:154</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a1810d8437a1c6851b98dbc453a8180c3"><div class="ttname"><a href="mpin__BN254CX_8h.html#a1810d8437a1c6851b98dbc453a8180c3">MPIN_BN254CX_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BN254CX_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:257</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a8028e510cad99b9fa3e6628eda10fa48"><div class="ttname"><a href="mpin__BN254CX_8h.html#a8028e510cad99b9fa3e6628eda10fa48">MPIN_BN254CX_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BN254CX_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:784</div></div>
+<div class="ttc" id="mpin__BN254CX_8h_html_a6e83f8e58e13eb363301eb904a29fc8e"><div class="ttname"><a href="mpin__BN254CX_8h.html#a6e83f8e58e13eb363301eb904a29fc8e">MPIN_BN254CX_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BN254CX_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254CX.c:228</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/mpin__BN254_8h.html b/website/static/cdocs/mpin__BN254_8h.html
index 469cf43..930a7f1 100644
--- a/website/static/cdocs/mpin__BN254_8h.html
+++ b/website/static/cdocs/mpin__BN254_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: mpin_BN254.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"
@@ -981,10 +984,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a82d47dbef8b5460f610ddbf9040e7fbc"></a>
@@ -1831,7 +1839,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/mpin__BN254_8h_source.html b/website/static/cdocs/mpin__BN254_8h_source.html
index 2881f20..6b75c9e 100644
--- a/website/static/cdocs/mpin__BN254_8h_source.html
+++ b/website/static/cdocs/mpin__BN254_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: mpin_BN254.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,41 +72,41 @@
 <div class="title">mpin_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin__BN254_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BN254_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BN254_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254_8h.html">pair_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a02bf6ad57095ecf70327ed23e03742f2">   36</a></span>&#160;<span class="preprocessor">#define PGS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a86401e2276d7cedac55ea829cd92a072">   37</a></span>&#160;<span class="preprocessor">#define PFS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BN254 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BN254 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a516007914ae806a229d6970045ba92cb">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BN254 (MESSAGE_SIZE+2*PFS_BN254+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254_8h.html#a8669a3640c6af84f0bf85ac759fc20cd">MPIN_BN254_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ae4d0330cf9d4cdec9259b5485a8278a0">MPIN_BN254_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a385346b312b16a4d86ad9aa581986c60">MPIN_BN254_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a34496828cd1e425701cd11ccf8c74ee7">MPIN_BN254_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ac41203e4e28c4ad919bed4211a4cd7be">MPIN_BN254_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a35ea3dea36e8314ba3a1206652b7b497">MPIN_BN254_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a8a9e98cb69e6e420dc2e1f8326173c1a">MPIN_BN254_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ada137965507a1a9194ae4eaa5aeebf75">MPIN_BN254_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a7b1239bd2a451f8ae7e77aadafb8cfac">MPIN_BN254_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254_8h.html#a6ccfca6fddbdd74822723c3512e78c02">MPIN_BN254_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a2bc98b01681673bd6e48f35180747517">MPIN_BN254_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a59f98c9869e9a47acb53d3a049090869">MPIN_BN254_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a24da4cacf1d1df827b47a0a19739f313">MPIN_BN254_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#acb32bb93ddf7643f42b307807789580e">MPIN_BN254_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a9aad97ce00ee98d3f7ae95d523854bcd">MPIN_BN254_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a8993cb4d2ce5d2bad086e69997d99fb4">MPIN_BN254_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a82d47dbef8b5460f610ddbf9040e7fbc">MPIN_BN254_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a93013a0ebddf81fb3473147c773286b7">MPIN_BN254_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a13db61b5b1ad0f509f4891ed7b2ec9c9">MPIN_BN254_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a74cae5ee53217b7c112f434313955de5">MPIN_BN254_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a410973ba2f5efbae544280b24d40eb75">MPIN_BN254_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a4dedc7c8f64abef3408dc30a46194163">MPIN_BN254_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a7dceae71682494682bc9301be3557f9f">MPIN_BN254_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a1e355a305fc3479bf628db14c10e2e63">MPIN_BN254_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ae555438a6cbb507418e96540e6250d52">MPIN_BN254_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BN254_8h_html_a9aad97ce00ee98d3f7ae95d523854bcd"><div class="ttname"><a href="mpin__BN254_8h.html#a9aad97ce00ee98d3f7ae95d523854bcd">MPIN_BN254_ENCODING</a></div><div class="ttdeci">int MPIN_BN254_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:122</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_ae4d0330cf9d4cdec9259b5485a8278a0"><div class="ttname"><a href="mpin__BN254_8h.html#ae4d0330cf9d4cdec9259b5485a8278a0">MPIN_BN254_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BN254_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:235</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a34496828cd1e425701cd11ccf8c74ee7"><div class="ttname"><a href="mpin__BN254_8h.html#a34496828cd1e425701cd11ccf8c74ee7">MPIN_BN254_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BN254_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:228</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a7b1239bd2a451f8ae7e77aadafb8cfac"><div class="ttname"><a href="mpin__BN254_8h.html#a7b1239bd2a451f8ae7e77aadafb8cfac">MPIN_BN254_SERVER</a></div><div class="ttdeci">int MPIN_BN254_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:876</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a8a9e98cb69e6e420dc2e1f8326173c1a"><div class="ttname"><a href="mpin__BN254_8h.html#a8a9e98cb69e6e420dc2e1f8326173c1a">MPIN_BN254_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BN254_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:213</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a24da4cacf1d1df827b47a0a19739f313"><div class="ttname"><a href="mpin__BN254_8h.html#a24da4cacf1d1df827b47a0a19739f313">MPIN_BN254_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BN254_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:198</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a13db61b5b1ad0f509f4891ed7b2ec9c9"><div class="ttname"><a href="mpin__BN254_8h.html#a13db61b5b1ad0f509f4891ed7b2ec9c9">MPIN_BN254_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BN254_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:383</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a1e355a305fc3479bf628db14c10e2e63"><div class="ttname"><a href="mpin__BN254_8h.html#a1e355a305fc3479bf628db14c10e2e63">MPIN_BN254_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BN254_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:747</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="mpin__BN254_8h_html_a8669a3640c6af84f0bf85ac759fc20cd"><div class="ttname"><a href="mpin__BN254_8h.html#a8669a3640c6af84f0bf85ac759fc20cd">MPIN_BN254_GET_Y</a></div><div class="ttdeci">void MPIN_BN254_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:829</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a93013a0ebddf81fb3473147c773286b7"><div class="ttname"><a href="mpin__BN254_8h.html#a93013a0ebddf81fb3473147c773286b7">MPIN_BN254_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:348</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a59f98c9869e9a47acb53d3a049090869"><div class="ttname"><a href="mpin__BN254_8h.html#a59f98c9869e9a47acb53d3a049090869">MPIN_BN254_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BN254_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:180</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a385346b312b16a4d86ad9aa581986c60"><div class="ttname"><a href="mpin__BN254_8h.html#a385346b312b16a4d86ad9aa581986c60">MPIN_BN254_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BN254_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:257</div></div>
-<div class="ttc" id="pair__BN254_8h_html"><div class="ttname"><a href="pair__BN254_8h.html">pair_BN254.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a6ccfca6fddbdd74822723c3512e78c02"><div class="ttname"><a href="mpin__BN254_8h.html#a6ccfca6fddbdd74822723c3512e78c02">MPIN_BN254_SERVER_1</a></div><div class="ttdeci">void MPIN_BN254_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:511</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_ac41203e4e28c4ad919bed4211a4cd7be"><div class="ttname"><a href="mpin__BN254_8h.html#ac41203e4e28c4ad919bed4211a4cd7be">MPIN_BN254_CLIENT</a></div><div class="ttdeci">int MPIN_BN254_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:844</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a410973ba2f5efbae544280b24d40eb75"><div class="ttname"><a href="mpin__BN254_8h.html#a410973ba2f5efbae544280b24d40eb75">MPIN_BN254_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BN254_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:466</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a4dedc7c8f64abef3408dc30a46194163"><div class="ttname"><a href="mpin__BN254_8h.html#a4dedc7c8f64abef3408dc30a46194163">MPIN_BN254_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BN254_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:708</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a7dceae71682494682bc9301be3557f9f"><div class="ttname"><a href="mpin__BN254_8h.html#a7dceae71682494682bc9301be3557f9f">MPIN_BN254_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BN254_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:784</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a35ea3dea36e8314ba3a1206652b7b497"><div class="ttname"><a href="mpin__BN254_8h.html#a35ea3dea36e8314ba3a1206652b7b497">MPIN_BN254_CLIENT_1</a></div><div class="ttdeci">int MPIN_BN254_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:389</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_ae555438a6cbb507418e96540e6250d52"><div class="ttname"><a href="mpin__BN254_8h.html#ae555438a6cbb507418e96540e6250d52">MPIN_BN254_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BN254_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:905</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a8993cb4d2ce5d2bad086e69997d99fb4"><div class="ttname"><a href="mpin__BN254_8h.html#a8993cb4d2ce5d2bad086e69997d99fb4">MPIN_BN254_DECODING</a></div><div class="ttdeci">int MPIN_BN254_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:154</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a2bc98b01681673bd6e48f35180747517"><div class="ttname"><a href="mpin__BN254_8h.html#a2bc98b01681673bd6e48f35180747517">MPIN_BN254_SERVER_2</a></div><div class="ttdeci">int MPIN_BN254_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:540</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_ada137965507a1a9194ae4eaa5aeebf75"><div class="ttname"><a href="mpin__BN254_8h.html#ada137965507a1a9194ae4eaa5aeebf75">MPIN_BN254_CLIENT_2</a></div><div class="ttdeci">int MPIN_BN254_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:279</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="mpin__BN254_8h_html_a82d47dbef8b5460f610ddbf9040e7fbc"><div class="ttname"><a href="mpin__BN254_8h.html#a82d47dbef8b5460f610ddbf9040e7fbc">MPIN_BN254_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:306</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_acb32bb93ddf7643f42b307807789580e"><div class="ttname"><a href="mpin__BN254_8h.html#acb32bb93ddf7643f42b307807789580e">MPIN_BN254_KANGAROO</a></div><div class="ttdeci">int MPIN_BN254_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:642</div></div>
-<div class="ttc" id="mpin__BN254_8h_html_a74cae5ee53217b7c112f434313955de5"><div class="ttname"><a href="mpin__BN254_8h.html#a74cae5ee53217b7c112f434313955de5">MPIN_BN254_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BN254_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:489</div></div>
+<a href="mpin__BN254_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_BN254_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_BN254_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254_8h.html">pair_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a02bf6ad57095ecf70327ed23e03742f2">   36</a></span>&#160;<span class="preprocessor">#define PGS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a86401e2276d7cedac55ea829cd92a072">   37</a></span>&#160;<span class="preprocessor">#define PFS_BN254 MODBYTES_256_56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_BN254 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_BN254 SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__BN254_8h.html#a516007914ae806a229d6970045ba92cb">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_BN254 (MESSAGE_SIZE+2*PFS_BN254+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254_8h.html#a8669a3640c6af84f0bf85ac759fc20cd">MPIN_BN254_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ae4d0330cf9d4cdec9259b5485a8278a0">MPIN_BN254_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a385346b312b16a4d86ad9aa581986c60">MPIN_BN254_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a34496828cd1e425701cd11ccf8c74ee7">MPIN_BN254_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ac41203e4e28c4ad919bed4211a4cd7be">MPIN_BN254_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a35ea3dea36e8314ba3a1206652b7b497">MPIN_BN254_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a8a9e98cb69e6e420dc2e1f8326173c1a">MPIN_BN254_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ada137965507a1a9194ae4eaa5aeebf75">MPIN_BN254_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a7b1239bd2a451f8ae7e77aadafb8cfac">MPIN_BN254_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__BN254_8h.html#a6ccfca6fddbdd74822723c3512e78c02">MPIN_BN254_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a2bc98b01681673bd6e48f35180747517">MPIN_BN254_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a59f98c9869e9a47acb53d3a049090869">MPIN_BN254_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a24da4cacf1d1df827b47a0a19739f313">MPIN_BN254_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#acb32bb93ddf7643f42b307807789580e">MPIN_BN254_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a9aad97ce00ee98d3f7ae95d523854bcd">MPIN_BN254_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a8993cb4d2ce5d2bad086e69997d99fb4">MPIN_BN254_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a82d47dbef8b5460f610ddbf9040e7fbc">MPIN_BN254_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a93013a0ebddf81fb3473147c773286b7">MPIN_BN254_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a13db61b5b1ad0f509f4891ed7b2ec9c9">MPIN_BN254_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a74cae5ee53217b7c112f434313955de5">MPIN_BN254_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a410973ba2f5efbae544280b24d40eb75">MPIN_BN254_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a4dedc7c8f64abef3408dc30a46194163">MPIN_BN254_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a7dceae71682494682bc9301be3557f9f">MPIN_BN254_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#a1e355a305fc3479bf628db14c10e2e63">MPIN_BN254_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__BN254_8h.html#ae555438a6cbb507418e96540e6250d52">MPIN_BN254_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__BN254_8h_html_a9aad97ce00ee98d3f7ae95d523854bcd"><div class="ttname"><a href="mpin__BN254_8h.html#a9aad97ce00ee98d3f7ae95d523854bcd">MPIN_BN254_ENCODING</a></div><div class="ttdeci">int MPIN_BN254_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:122</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_ae4d0330cf9d4cdec9259b5485a8278a0"><div class="ttname"><a href="mpin__BN254_8h.html#ae4d0330cf9d4cdec9259b5485a8278a0">MPIN_BN254_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_BN254_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:235</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a34496828cd1e425701cd11ccf8c74ee7"><div class="ttname"><a href="mpin__BN254_8h.html#a34496828cd1e425701cd11ccf8c74ee7">MPIN_BN254_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_BN254_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:228</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a7b1239bd2a451f8ae7e77aadafb8cfac"><div class="ttname"><a href="mpin__BN254_8h.html#a7b1239bd2a451f8ae7e77aadafb8cfac">MPIN_BN254_SERVER</a></div><div class="ttdeci">int MPIN_BN254_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:876</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a8a9e98cb69e6e420dc2e1f8326173c1a"><div class="ttname"><a href="mpin__BN254_8h.html#a8a9e98cb69e6e420dc2e1f8326173c1a">MPIN_BN254_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_BN254_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:213</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a24da4cacf1d1df827b47a0a19739f313"><div class="ttname"><a href="mpin__BN254_8h.html#a24da4cacf1d1df827b47a0a19739f313">MPIN_BN254_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_BN254_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:198</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a13db61b5b1ad0f509f4891ed7b2ec9c9"><div class="ttname"><a href="mpin__BN254_8h.html#a13db61b5b1ad0f509f4891ed7b2ec9c9">MPIN_BN254_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_BN254_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:383</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a1e355a305fc3479bf628db14c10e2e63"><div class="ttname"><a href="mpin__BN254_8h.html#a1e355a305fc3479bf628db14c10e2e63">MPIN_BN254_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_BN254_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:747</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="mpin__BN254_8h_html_a8669a3640c6af84f0bf85ac759fc20cd"><div class="ttname"><a href="mpin__BN254_8h.html#a8669a3640c6af84f0bf85ac759fc20cd">MPIN_BN254_GET_Y</a></div><div class="ttdeci">void MPIN_BN254_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:829</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a93013a0ebddf81fb3473147c773286b7"><div class="ttname"><a href="mpin__BN254_8h.html#a93013a0ebddf81fb3473147c773286b7">MPIN_BN254_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:348</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a59f98c9869e9a47acb53d3a049090869"><div class="ttname"><a href="mpin__BN254_8h.html#a59f98c9869e9a47acb53d3a049090869">MPIN_BN254_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_BN254_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:180</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a385346b312b16a4d86ad9aa581986c60"><div class="ttname"><a href="mpin__BN254_8h.html#a385346b312b16a4d86ad9aa581986c60">MPIN_BN254_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_BN254_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:257</div></div>
+<div class="ttc" id="pair__BN254_8h_html"><div class="ttname"><a href="pair__BN254_8h.html">pair_BN254.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a6ccfca6fddbdd74822723c3512e78c02"><div class="ttname"><a href="mpin__BN254_8h.html#a6ccfca6fddbdd74822723c3512e78c02">MPIN_BN254_SERVER_1</a></div><div class="ttdeci">void MPIN_BN254_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:511</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_ac41203e4e28c4ad919bed4211a4cd7be"><div class="ttname"><a href="mpin__BN254_8h.html#ac41203e4e28c4ad919bed4211a4cd7be">MPIN_BN254_CLIENT</a></div><div class="ttdeci">int MPIN_BN254_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:844</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a410973ba2f5efbae544280b24d40eb75"><div class="ttname"><a href="mpin__BN254_8h.html#a410973ba2f5efbae544280b24d40eb75">MPIN_BN254_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_BN254_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:466</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a4dedc7c8f64abef3408dc30a46194163"><div class="ttname"><a href="mpin__BN254_8h.html#a4dedc7c8f64abef3408dc30a46194163">MPIN_BN254_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_BN254_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:708</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a7dceae71682494682bc9301be3557f9f"><div class="ttname"><a href="mpin__BN254_8h.html#a7dceae71682494682bc9301be3557f9f">MPIN_BN254_SERVER_KEY</a></div><div class="ttdeci">int MPIN_BN254_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:784</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a35ea3dea36e8314ba3a1206652b7b497"><div class="ttname"><a href="mpin__BN254_8h.html#a35ea3dea36e8314ba3a1206652b7b497">MPIN_BN254_CLIENT_1</a></div><div class="ttdeci">int MPIN_BN254_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:389</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_ae555438a6cbb507418e96540e6250d52"><div class="ttname"><a href="mpin__BN254_8h.html#ae555438a6cbb507418e96540e6250d52">MPIN_BN254_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_BN254_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:905</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a8993cb4d2ce5d2bad086e69997d99fb4"><div class="ttname"><a href="mpin__BN254_8h.html#a8993cb4d2ce5d2bad086e69997d99fb4">MPIN_BN254_DECODING</a></div><div class="ttdeci">int MPIN_BN254_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:154</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a2bc98b01681673bd6e48f35180747517"><div class="ttname"><a href="mpin__BN254_8h.html#a2bc98b01681673bd6e48f35180747517">MPIN_BN254_SERVER_2</a></div><div class="ttdeci">int MPIN_BN254_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:540</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_ada137965507a1a9194ae4eaa5aeebf75"><div class="ttname"><a href="mpin__BN254_8h.html#ada137965507a1a9194ae4eaa5aeebf75">MPIN_BN254_CLIENT_2</a></div><div class="ttdeci">int MPIN_BN254_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:279</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="mpin__BN254_8h_html_a82d47dbef8b5460f610ddbf9040e7fbc"><div class="ttname"><a href="mpin__BN254_8h.html#a82d47dbef8b5460f610ddbf9040e7fbc">MPIN_BN254_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_BN254_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:306</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_acb32bb93ddf7643f42b307807789580e"><div class="ttname"><a href="mpin__BN254_8h.html#acb32bb93ddf7643f42b307807789580e">MPIN_BN254_KANGAROO</a></div><div class="ttdeci">int MPIN_BN254_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:642</div></div>
+<div class="ttc" id="mpin__BN254_8h_html_a74cae5ee53217b7c112f434313955de5"><div class="ttname"><a href="mpin__BN254_8h.html#a74cae5ee53217b7c112f434313955de5">MPIN_BN254_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_BN254_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_BN254.c:489</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/mpin__FP256BN_8h.html b/website/static/cdocs/mpin__FP256BN_8h.html
index 30b1815..a8a2a92 100644
--- a/website/static/cdocs/mpin__FP256BN_8h.html
+++ b/website/static/cdocs/mpin__FP256BN_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: mpin_FP256BN.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"
@@ -981,10 +984,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a76bf76447aea7453e4cc376e93408637"></a>
@@ -1831,7 +1839,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/mpin__FP256BN_8h_source.html b/website/static/cdocs/mpin__FP256BN_8h_source.html
index 8e084c0..d5b7229 100644
--- a/website/static/cdocs/mpin__FP256BN_8h_source.html
+++ b/website/static/cdocs/mpin__FP256BN_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: mpin_FP256BN.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,41 +72,41 @@
 <div class="title">mpin_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin__FP256BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_FP256BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_FP256BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP256BN_8h.html">pair_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#ae6d455bf0e40f5beca75e56d56ee34d6">   36</a></span>&#160;<span class="preprocessor">#define PGS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#af4556d6f26693c2c84aa4a0eea28c171">   37</a></span>&#160;<span class="preprocessor">#define PFS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_FP256BN 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_FP256BN SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#af6a27dc78aa9c18d9a13381554341704">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_FP256BN (MESSAGE_SIZE+2*PFS_FP256BN+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP256BN_8h.html#a940cb182cdb4add069db9594c2cd21c9">MPIN_FP256BN_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a14c27fadeccc841cd927b835291cd894">MPIN_FP256BN_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a93ccddd5fa79c9d15064878de50ef15a">MPIN_FP256BN_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a9a6bc54f48285a6f5b9b86e790daede3">MPIN_FP256BN_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ac825e84a08e3e55b8892c3317fd6512f">MPIN_FP256BN_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ae53e383a8705fcc79445f35dc3b81773">MPIN_FP256BN_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a0432f36efcb34b10420238b5148e0a10">MPIN_FP256BN_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a7ca9c874f0e9f5a14f0c7ef6f377a37e">MPIN_FP256BN_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ae3c5a1626d8cbc1eb78439b630ffb248">MPIN_FP256BN_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP256BN_8h.html#a76c09183b4aecfd7889dc82727f74b9a">MPIN_FP256BN_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ab081821ee77dbe64e5c5af1283aef0a8">MPIN_FP256BN_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a936596b7ef90f580fb2f11c54e05cf4c">MPIN_FP256BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a05096af9c57f1e2030aada1ef0c23816">MPIN_FP256BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a720fb275bb6f252d616d21924100b74d">MPIN_FP256BN_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ac91190f464ef23a18c3713820597ee5f">MPIN_FP256BN_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a478280d9c50fe8ab54a515981fa8ec3f">MPIN_FP256BN_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a76bf76447aea7453e4cc376e93408637">MPIN_FP256BN_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a8eae09b8ce8aba6eebb00848e751132b">MPIN_FP256BN_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a96787d183e7901cd212e42c9d221c0f1">MPIN_FP256BN_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ae97b295f965a14977fad9dfc04e62f95">MPIN_FP256BN_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#aa060add8af65e7e2dbf793b94478a853">MPIN_FP256BN_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ac76c9be8f714f897b9dedac5dd7e0d3a">MPIN_FP256BN_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a92431ef2840b73fcc88e5b0930b342b9">MPIN_FP256BN_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ad24166990f7e8004a8118c2a1ccb753d">MPIN_FP256BN_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a3ee769f5c0d68a60e846926127e61592">MPIN_FP256BN_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__FP256BN_8h_html_ac76c9be8f714f897b9dedac5dd7e0d3a"><div class="ttname"><a href="mpin__FP256BN_8h.html#ac76c9be8f714f897b9dedac5dd7e0d3a">MPIN_FP256BN_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_FP256BN_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:708</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_ae97b295f965a14977fad9dfc04e62f95"><div class="ttname"><a href="mpin__FP256BN_8h.html#ae97b295f965a14977fad9dfc04e62f95">MPIN_FP256BN_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_FP256BN_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:489</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_ae3c5a1626d8cbc1eb78439b630ffb248"><div class="ttname"><a href="mpin__FP256BN_8h.html#ae3c5a1626d8cbc1eb78439b630ffb248">MPIN_FP256BN_SERVER</a></div><div class="ttdeci">int MPIN_FP256BN_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:876</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a478280d9c50fe8ab54a515981fa8ec3f"><div class="ttname"><a href="mpin__FP256BN_8h.html#a478280d9c50fe8ab54a515981fa8ec3f">MPIN_FP256BN_DECODING</a></div><div class="ttdeci">int MPIN_FP256BN_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:154</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_ad24166990f7e8004a8118c2a1ccb753d"><div class="ttname"><a href="mpin__FP256BN_8h.html#ad24166990f7e8004a8118c2a1ccb753d">MPIN_FP256BN_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:747</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a0432f36efcb34b10420238b5148e0a10"><div class="ttname"><a href="mpin__FP256BN_8h.html#a0432f36efcb34b10420238b5148e0a10">MPIN_FP256BN_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_FP256BN_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:213</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a96787d183e7901cd212e42c9d221c0f1"><div class="ttname"><a href="mpin__FP256BN_8h.html#a96787d183e7901cd212e42c9d221c0f1">MPIN_FP256BN_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_FP256BN_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:383</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a7ca9c874f0e9f5a14f0c7ef6f377a37e"><div class="ttname"><a href="mpin__FP256BN_8h.html#a7ca9c874f0e9f5a14f0c7ef6f377a37e">MPIN_FP256BN_CLIENT_2</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:279</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="mpin__FP256BN_8h_html_ac91190f464ef23a18c3713820597ee5f"><div class="ttname"><a href="mpin__FP256BN_8h.html#ac91190f464ef23a18c3713820597ee5f">MPIN_FP256BN_ENCODING</a></div><div class="ttdeci">int MPIN_FP256BN_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:122</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_aa060add8af65e7e2dbf793b94478a853"><div class="ttname"><a href="mpin__FP256BN_8h.html#aa060add8af65e7e2dbf793b94478a853">MPIN_FP256BN_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_FP256BN_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:466</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a936596b7ef90f580fb2f11c54e05cf4c"><div class="ttname"><a href="mpin__FP256BN_8h.html#a936596b7ef90f580fb2f11c54e05cf4c">MPIN_FP256BN_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_FP256BN_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:180</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a92431ef2840b73fcc88e5b0930b342b9"><div class="ttname"><a href="mpin__FP256BN_8h.html#a92431ef2840b73fcc88e5b0930b342b9">MPIN_FP256BN_SERVER_KEY</a></div><div class="ttdeci">int MPIN_FP256BN_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:784</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_ae53e383a8705fcc79445f35dc3b81773"><div class="ttname"><a href="mpin__FP256BN_8h.html#ae53e383a8705fcc79445f35dc3b81773">MPIN_FP256BN_CLIENT_1</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:389</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html"><div class="ttname"><a href="pair__FP256BN_8h.html">pair_FP256BN.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a14c27fadeccc841cd927b835291cd894"><div class="ttname"><a href="mpin__FP256BN_8h.html#a14c27fadeccc841cd927b835291cd894">MPIN_FP256BN_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_FP256BN_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:235</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a93ccddd5fa79c9d15064878de50ef15a"><div class="ttname"><a href="mpin__FP256BN_8h.html#a93ccddd5fa79c9d15064878de50ef15a">MPIN_FP256BN_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_FP256BN_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:257</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a720fb275bb6f252d616d21924100b74d"><div class="ttname"><a href="mpin__FP256BN_8h.html#a720fb275bb6f252d616d21924100b74d">MPIN_FP256BN_KANGAROO</a></div><div class="ttdeci">int MPIN_FP256BN_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:642</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a76bf76447aea7453e4cc376e93408637"><div class="ttname"><a href="mpin__FP256BN_8h.html#a76bf76447aea7453e4cc376e93408637">MPIN_FP256BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP256BN_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:306</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a9a6bc54f48285a6f5b9b86e790daede3"><div class="ttname"><a href="mpin__FP256BN_8h.html#a9a6bc54f48285a6f5b9b86e790daede3">MPIN_FP256BN_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_FP256BN_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:228</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a940cb182cdb4add069db9594c2cd21c9"><div class="ttname"><a href="mpin__FP256BN_8h.html#a940cb182cdb4add069db9594c2cd21c9">MPIN_FP256BN_GET_Y</a></div><div class="ttdeci">void MPIN_FP256BN_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:829</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a3ee769f5c0d68a60e846926127e61592"><div class="ttname"><a href="mpin__FP256BN_8h.html#a3ee769f5c0d68a60e846926127e61592">MPIN_FP256BN_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_FP256BN_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:905</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a76c09183b4aecfd7889dc82727f74b9a"><div class="ttname"><a href="mpin__FP256BN_8h.html#a76c09183b4aecfd7889dc82727f74b9a">MPIN_FP256BN_SERVER_1</a></div><div class="ttdeci">void MPIN_FP256BN_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:511</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a05096af9c57f1e2030aada1ef0c23816"><div class="ttname"><a href="mpin__FP256BN_8h.html#a05096af9c57f1e2030aada1ef0c23816">MPIN_FP256BN_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_FP256BN_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:198</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="mpin__FP256BN_8h_html_ab081821ee77dbe64e5c5af1283aef0a8"><div class="ttname"><a href="mpin__FP256BN_8h.html#ab081821ee77dbe64e5c5af1283aef0a8">MPIN_FP256BN_SERVER_2</a></div><div class="ttdeci">int MPIN_FP256BN_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:540</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_a8eae09b8ce8aba6eebb00848e751132b"><div class="ttname"><a href="mpin__FP256BN_8h.html#a8eae09b8ce8aba6eebb00848e751132b">MPIN_FP256BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP256BN_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:348</div></div>
-<div class="ttc" id="mpin__FP256BN_8h_html_ac825e84a08e3e55b8892c3317fd6512f"><div class="ttname"><a href="mpin__FP256BN_8h.html#ac825e84a08e3e55b8892c3317fd6512f">MPIN_FP256BN_CLIENT</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:844</div></div>
+<a href="mpin__FP256BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_FP256BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_FP256BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP256BN_8h.html">pair_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#ae6d455bf0e40f5beca75e56d56ee34d6">   36</a></span>&#160;<span class="preprocessor">#define PGS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#af4556d6f26693c2c84aa4a0eea28c171">   37</a></span>&#160;<span class="preprocessor">#define PFS_FP256BN MODBYTES_256_56  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_FP256BN 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_FP256BN SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__FP256BN_8h.html#af6a27dc78aa9c18d9a13381554341704">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_FP256BN (MESSAGE_SIZE+2*PFS_FP256BN+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP256BN_8h.html#a940cb182cdb4add069db9594c2cd21c9">MPIN_FP256BN_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a14c27fadeccc841cd927b835291cd894">MPIN_FP256BN_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a93ccddd5fa79c9d15064878de50ef15a">MPIN_FP256BN_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a9a6bc54f48285a6f5b9b86e790daede3">MPIN_FP256BN_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ac825e84a08e3e55b8892c3317fd6512f">MPIN_FP256BN_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ae53e383a8705fcc79445f35dc3b81773">MPIN_FP256BN_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a0432f36efcb34b10420238b5148e0a10">MPIN_FP256BN_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a7ca9c874f0e9f5a14f0c7ef6f377a37e">MPIN_FP256BN_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ae3c5a1626d8cbc1eb78439b630ffb248">MPIN_FP256BN_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP256BN_8h.html#a76c09183b4aecfd7889dc82727f74b9a">MPIN_FP256BN_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ab081821ee77dbe64e5c5af1283aef0a8">MPIN_FP256BN_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a936596b7ef90f580fb2f11c54e05cf4c">MPIN_FP256BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a05096af9c57f1e2030aada1ef0c23816">MPIN_FP256BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a720fb275bb6f252d616d21924100b74d">MPIN_FP256BN_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ac91190f464ef23a18c3713820597ee5f">MPIN_FP256BN_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a478280d9c50fe8ab54a515981fa8ec3f">MPIN_FP256BN_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a76bf76447aea7453e4cc376e93408637">MPIN_FP256BN_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a8eae09b8ce8aba6eebb00848e751132b">MPIN_FP256BN_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a96787d183e7901cd212e42c9d221c0f1">MPIN_FP256BN_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ae97b295f965a14977fad9dfc04e62f95">MPIN_FP256BN_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#aa060add8af65e7e2dbf793b94478a853">MPIN_FP256BN_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ac76c9be8f714f897b9dedac5dd7e0d3a">MPIN_FP256BN_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a92431ef2840b73fcc88e5b0930b342b9">MPIN_FP256BN_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#ad24166990f7e8004a8118c2a1ccb753d">MPIN_FP256BN_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP256BN_8h.html#a3ee769f5c0d68a60e846926127e61592">MPIN_FP256BN_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__FP256BN_8h_html_ac76c9be8f714f897b9dedac5dd7e0d3a"><div class="ttname"><a href="mpin__FP256BN_8h.html#ac76c9be8f714f897b9dedac5dd7e0d3a">MPIN_FP256BN_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_FP256BN_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:708</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_ae97b295f965a14977fad9dfc04e62f95"><div class="ttname"><a href="mpin__FP256BN_8h.html#ae97b295f965a14977fad9dfc04e62f95">MPIN_FP256BN_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_FP256BN_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:489</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_ae3c5a1626d8cbc1eb78439b630ffb248"><div class="ttname"><a href="mpin__FP256BN_8h.html#ae3c5a1626d8cbc1eb78439b630ffb248">MPIN_FP256BN_SERVER</a></div><div class="ttdeci">int MPIN_FP256BN_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:876</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a478280d9c50fe8ab54a515981fa8ec3f"><div class="ttname"><a href="mpin__FP256BN_8h.html#a478280d9c50fe8ab54a515981fa8ec3f">MPIN_FP256BN_DECODING</a></div><div class="ttdeci">int MPIN_FP256BN_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:154</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_ad24166990f7e8004a8118c2a1ccb753d"><div class="ttname"><a href="mpin__FP256BN_8h.html#ad24166990f7e8004a8118c2a1ccb753d">MPIN_FP256BN_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:747</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a0432f36efcb34b10420238b5148e0a10"><div class="ttname"><a href="mpin__FP256BN_8h.html#a0432f36efcb34b10420238b5148e0a10">MPIN_FP256BN_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_FP256BN_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:213</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a96787d183e7901cd212e42c9d221c0f1"><div class="ttname"><a href="mpin__FP256BN_8h.html#a96787d183e7901cd212e42c9d221c0f1">MPIN_FP256BN_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_FP256BN_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:383</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a7ca9c874f0e9f5a14f0c7ef6f377a37e"><div class="ttname"><a href="mpin__FP256BN_8h.html#a7ca9c874f0e9f5a14f0c7ef6f377a37e">MPIN_FP256BN_CLIENT_2</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:279</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="mpin__FP256BN_8h_html_ac91190f464ef23a18c3713820597ee5f"><div class="ttname"><a href="mpin__FP256BN_8h.html#ac91190f464ef23a18c3713820597ee5f">MPIN_FP256BN_ENCODING</a></div><div class="ttdeci">int MPIN_FP256BN_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:122</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_aa060add8af65e7e2dbf793b94478a853"><div class="ttname"><a href="mpin__FP256BN_8h.html#aa060add8af65e7e2dbf793b94478a853">MPIN_FP256BN_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_FP256BN_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:466</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a936596b7ef90f580fb2f11c54e05cf4c"><div class="ttname"><a href="mpin__FP256BN_8h.html#a936596b7ef90f580fb2f11c54e05cf4c">MPIN_FP256BN_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_FP256BN_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:180</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a92431ef2840b73fcc88e5b0930b342b9"><div class="ttname"><a href="mpin__FP256BN_8h.html#a92431ef2840b73fcc88e5b0930b342b9">MPIN_FP256BN_SERVER_KEY</a></div><div class="ttdeci">int MPIN_FP256BN_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:784</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_ae53e383a8705fcc79445f35dc3b81773"><div class="ttname"><a href="mpin__FP256BN_8h.html#ae53e383a8705fcc79445f35dc3b81773">MPIN_FP256BN_CLIENT_1</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:389</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html"><div class="ttname"><a href="pair__FP256BN_8h.html">pair_FP256BN.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a14c27fadeccc841cd927b835291cd894"><div class="ttname"><a href="mpin__FP256BN_8h.html#a14c27fadeccc841cd927b835291cd894">MPIN_FP256BN_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_FP256BN_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:235</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a93ccddd5fa79c9d15064878de50ef15a"><div class="ttname"><a href="mpin__FP256BN_8h.html#a93ccddd5fa79c9d15064878de50ef15a">MPIN_FP256BN_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_FP256BN_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:257</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a720fb275bb6f252d616d21924100b74d"><div class="ttname"><a href="mpin__FP256BN_8h.html#a720fb275bb6f252d616d21924100b74d">MPIN_FP256BN_KANGAROO</a></div><div class="ttdeci">int MPIN_FP256BN_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:642</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a76bf76447aea7453e4cc376e93408637"><div class="ttname"><a href="mpin__FP256BN_8h.html#a76bf76447aea7453e4cc376e93408637">MPIN_FP256BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP256BN_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:306</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a9a6bc54f48285a6f5b9b86e790daede3"><div class="ttname"><a href="mpin__FP256BN_8h.html#a9a6bc54f48285a6f5b9b86e790daede3">MPIN_FP256BN_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_FP256BN_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:228</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a940cb182cdb4add069db9594c2cd21c9"><div class="ttname"><a href="mpin__FP256BN_8h.html#a940cb182cdb4add069db9594c2cd21c9">MPIN_FP256BN_GET_Y</a></div><div class="ttdeci">void MPIN_FP256BN_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:829</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a3ee769f5c0d68a60e846926127e61592"><div class="ttname"><a href="mpin__FP256BN_8h.html#a3ee769f5c0d68a60e846926127e61592">MPIN_FP256BN_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_FP256BN_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:905</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a76c09183b4aecfd7889dc82727f74b9a"><div class="ttname"><a href="mpin__FP256BN_8h.html#a76c09183b4aecfd7889dc82727f74b9a">MPIN_FP256BN_SERVER_1</a></div><div class="ttdeci">void MPIN_FP256BN_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:511</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a05096af9c57f1e2030aada1ef0c23816"><div class="ttname"><a href="mpin__FP256BN_8h.html#a05096af9c57f1e2030aada1ef0c23816">MPIN_FP256BN_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_FP256BN_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:198</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="mpin__FP256BN_8h_html_ab081821ee77dbe64e5c5af1283aef0a8"><div class="ttname"><a href="mpin__FP256BN_8h.html#ab081821ee77dbe64e5c5af1283aef0a8">MPIN_FP256BN_SERVER_2</a></div><div class="ttdeci">int MPIN_FP256BN_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:540</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_a8eae09b8ce8aba6eebb00848e751132b"><div class="ttname"><a href="mpin__FP256BN_8h.html#a8eae09b8ce8aba6eebb00848e751132b">MPIN_FP256BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP256BN_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:348</div></div>
+<div class="ttc" id="mpin__FP256BN_8h_html_ac825e84a08e3e55b8892c3317fd6512f"><div class="ttname"><a href="mpin__FP256BN_8h.html#ac825e84a08e3e55b8892c3317fd6512f">MPIN_FP256BN_CLIENT</a></div><div class="ttdeci">int MPIN_FP256BN_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP256BN.c:844</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/mpin__FP512BN_8h.html b/website/static/cdocs/mpin__FP512BN_8h.html
index 035bd20..8e0450e 100644
--- a/website/static/cdocs/mpin__FP512BN_8h.html
+++ b/website/static/cdocs/mpin__FP512BN_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: mpin_FP512BN.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"
@@ -981,10 +984,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param R is a pointer to a cryptographically secure random number generator
-@param Z an output internally randomly generated if R!=NULL, otherwise it must be provided as an input
-@param Pa the output public key for the client
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">R</td><td>is a pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">Z</td><td>an output internally randomly generated if R!=NULL, otherwise it must be provided as an input </td></tr>
+    <tr><td class="paramname">Pa</td><td>the output public key for the client </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="a49d7236838801f71d2f17c81a4fb0e35"></a>
@@ -1831,7 +1839,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/mpin__FP512BN_8h_source.html b/website/static/cdocs/mpin__FP512BN_8h_source.html
index cb45ec1..1801f7f 100644
--- a/website/static/cdocs/mpin__FP512BN_8h_source.html
+++ b/website/static/cdocs/mpin__FP512BN_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: mpin_FP512BN.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,41 +72,41 @@
 <div class="title">mpin_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="mpin__FP512BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_FP512BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_FP512BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP512BN_8h.html">pair_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a0811438c0357e66d04452fcc27b783e4">   36</a></span>&#160;<span class="preprocessor">#define PGS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#ab984b8de74d2bd277ba2fd3a019d8da6">   37</a></span>&#160;<span class="preprocessor">#define PFS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_FP512BN 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_FP512BN SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#aa5b5094702a8fbb27123964a44b7f2f8">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_FP512BN (MESSAGE_SIZE+2*PFS_FP512BN+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP512BN_8h.html#afbc48bd2cb8b81283e81999435daa2aa">MPIN_FP512BN_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a775604109cd5258d49c1d437b10b5d3a">MPIN_FP512BN_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a9d3cb845d48767f3b46e5221dcfdcf9e">MPIN_FP512BN_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a911638e97214778d6d5b55ca1ac7da42">MPIN_FP512BN_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a73ad64de03dae5a93cf1e305d96d7118">MPIN_FP512BN_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#aed1aeef7bc5fb0fba3602ae6283a4092">MPIN_FP512BN_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#af59564cff41054fdb924c2ce1e5e8ef2">MPIN_FP512BN_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a23ac05508529b0dc8e60cc3435ff08fa">MPIN_FP512BN_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a871210ac00056cddbc7ac8a21433b234">MPIN_FP512BN_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP512BN_8h.html#a98691a8e35012f8aad9ca214b903a3fb">MPIN_FP512BN_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#ae5c6505bd5b2e9e810021b487bb2ccc5">MPIN_FP512BN_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a7a26b77686ab21a6319f67802b9899a8">MPIN_FP512BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#ac7a3d25e90cc514f19901fa8827b150d">MPIN_FP512BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#adf2e078e0a463417f682a7e26db3297c">MPIN_FP512BN_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#afe601979502c0b350dc7d34e6300964b">MPIN_FP512BN_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a1273356349fac7ba0bfe0575d0395c40">MPIN_FP512BN_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a49d7236838801f71d2f17c81a4fb0e35">MPIN_FP512BN_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#ab02506cf0fd7b3e0cf1cef5d4c1b0cd2">MPIN_FP512BN_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a482ce52edf402489045dda0d0992b194">MPIN_FP512BN_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a0c67ca00cc51bc932ef009e523b2f002">MPIN_FP512BN_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a6077a41eada3308ec5373263e24bd197">MPIN_FP512BN_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a4c45f5fb067106892893db21ed57388a">MPIN_FP512BN_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#aef561a9f7967bdf1d5dd24f976adf474">MPIN_FP512BN_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#af111d7924dcc411d8c2064b391ef80bc">MPIN_FP512BN_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#af5e1665f6585ed8d8308508706ae8ac9">MPIN_FP512BN_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__FP512BN_8h_html_af111d7924dcc411d8c2064b391ef80bc"><div class="ttname"><a href="mpin__FP512BN_8h.html#af111d7924dcc411d8c2064b391ef80bc">MPIN_FP512BN_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:747</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a1273356349fac7ba0bfe0575d0395c40"><div class="ttname"><a href="mpin__FP512BN_8h.html#a1273356349fac7ba0bfe0575d0395c40">MPIN_FP512BN_DECODING</a></div><div class="ttdeci">int MPIN_FP512BN_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:154</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a73ad64de03dae5a93cf1e305d96d7118"><div class="ttname"><a href="mpin__FP512BN_8h.html#a73ad64de03dae5a93cf1e305d96d7118">MPIN_FP512BN_CLIENT</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:844</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_aed1aeef7bc5fb0fba3602ae6283a4092"><div class="ttname"><a href="mpin__FP512BN_8h.html#aed1aeef7bc5fb0fba3602ae6283a4092">MPIN_FP512BN_CLIENT_1</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:389</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a98691a8e35012f8aad9ca214b903a3fb"><div class="ttname"><a href="mpin__FP512BN_8h.html#a98691a8e35012f8aad9ca214b903a3fb">MPIN_FP512BN_SERVER_1</a></div><div class="ttdeci">void MPIN_FP512BN_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:511</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a4c45f5fb067106892893db21ed57388a"><div class="ttname"><a href="mpin__FP512BN_8h.html#a4c45f5fb067106892893db21ed57388a">MPIN_FP512BN_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_FP512BN_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:708</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a7a26b77686ab21a6319f67802b9899a8"><div class="ttname"><a href="mpin__FP512BN_8h.html#a7a26b77686ab21a6319f67802b9899a8">MPIN_FP512BN_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_FP512BN_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:180</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a911638e97214778d6d5b55ca1ac7da42"><div class="ttname"><a href="mpin__FP512BN_8h.html#a911638e97214778d6d5b55ca1ac7da42">MPIN_FP512BN_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_FP512BN_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:228</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_aef561a9f7967bdf1d5dd24f976adf474"><div class="ttname"><a href="mpin__FP512BN_8h.html#aef561a9f7967bdf1d5dd24f976adf474">MPIN_FP512BN_SERVER_KEY</a></div><div class="ttdeci">int MPIN_FP512BN_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:784</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html"><div class="ttname"><a href="pair__FP512BN_8h.html">pair_FP512BN.h</a></div><div class="ttdoc">PAIR Header File.</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="mpin__FP512BN_8h_html_a482ce52edf402489045dda0d0992b194"><div class="ttname"><a href="mpin__FP512BN_8h.html#a482ce52edf402489045dda0d0992b194">MPIN_FP512BN_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_FP512BN_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:383</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_afbc48bd2cb8b81283e81999435daa2aa"><div class="ttname"><a href="mpin__FP512BN_8h.html#afbc48bd2cb8b81283e81999435daa2aa">MPIN_FP512BN_GET_Y</a></div><div class="ttdeci">void MPIN_FP512BN_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:829</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_adf2e078e0a463417f682a7e26db3297c"><div class="ttname"><a href="mpin__FP512BN_8h.html#adf2e078e0a463417f682a7e26db3297c">MPIN_FP512BN_KANGAROO</a></div><div class="ttdeci">int MPIN_FP512BN_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:642</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a9d3cb845d48767f3b46e5221dcfdcf9e"><div class="ttname"><a href="mpin__FP512BN_8h.html#a9d3cb845d48767f3b46e5221dcfdcf9e">MPIN_FP512BN_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_FP512BN_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:257</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_afe601979502c0b350dc7d34e6300964b"><div class="ttname"><a href="mpin__FP512BN_8h.html#afe601979502c0b350dc7d34e6300964b">MPIN_FP512BN_ENCODING</a></div><div class="ttdeci">int MPIN_FP512BN_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:122</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_af5e1665f6585ed8d8308508706ae8ac9"><div class="ttname"><a href="mpin__FP512BN_8h.html#af5e1665f6585ed8d8308508706ae8ac9">MPIN_FP512BN_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_FP512BN_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:905</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a23ac05508529b0dc8e60cc3435ff08fa"><div class="ttname"><a href="mpin__FP512BN_8h.html#a23ac05508529b0dc8e60cc3435ff08fa">MPIN_FP512BN_CLIENT_2</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:279</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a871210ac00056cddbc7ac8a21433b234"><div class="ttname"><a href="mpin__FP512BN_8h.html#a871210ac00056cddbc7ac8a21433b234">MPIN_FP512BN_SERVER</a></div><div class="ttdeci">int MPIN_FP512BN_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:876</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_af59564cff41054fdb924c2ce1e5e8ef2"><div class="ttname"><a href="mpin__FP512BN_8h.html#af59564cff41054fdb924c2ce1e5e8ef2">MPIN_FP512BN_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_FP512BN_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:213</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a49d7236838801f71d2f17c81a4fb0e35"><div class="ttname"><a href="mpin__FP512BN_8h.html#a49d7236838801f71d2f17c81a4fb0e35">MPIN_FP512BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP512BN_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:306</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_ac7a3d25e90cc514f19901fa8827b150d"><div class="ttname"><a href="mpin__FP512BN_8h.html#ac7a3d25e90cc514f19901fa8827b150d">MPIN_FP512BN_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_FP512BN_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:198</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="mpin__FP512BN_8h_html_a775604109cd5258d49c1d437b10b5d3a"><div class="ttname"><a href="mpin__FP512BN_8h.html#a775604109cd5258d49c1d437b10b5d3a">MPIN_FP512BN_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_FP512BN_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:235</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_ae5c6505bd5b2e9e810021b487bb2ccc5"><div class="ttname"><a href="mpin__FP512BN_8h.html#ae5c6505bd5b2e9e810021b487bb2ccc5">MPIN_FP512BN_SERVER_2</a></div><div class="ttdeci">int MPIN_FP512BN_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:540</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a6077a41eada3308ec5373263e24bd197"><div class="ttname"><a href="mpin__FP512BN_8h.html#a6077a41eada3308ec5373263e24bd197">MPIN_FP512BN_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_FP512BN_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:466</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_ab02506cf0fd7b3e0cf1cef5d4c1b0cd2"><div class="ttname"><a href="mpin__FP512BN_8h.html#ab02506cf0fd7b3e0cf1cef5d4c1b0cd2">MPIN_FP512BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP512BN_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:348</div></div>
-<div class="ttc" id="mpin__FP512BN_8h_html_a0c67ca00cc51bc932ef009e523b2f002"><div class="ttname"><a href="mpin__FP512BN_8h.html#a0c67ca00cc51bc932ef009e523b2f002">MPIN_FP512BN_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_FP512BN_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID.</div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:489</div></div>
+<a href="mpin__FP512BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef MPIN_FP512BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define MPIN_FP512BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP512BN_8h.html">pair_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a0811438c0357e66d04452fcc27b783e4">   36</a></span>&#160;<span class="preprocessor">#define PGS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#ab984b8de74d2bd277ba2fd3a019d8da6">   37</a></span>&#160;<span class="preprocessor">#define PFS_FP512BN MODBYTES_512_60  </span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">//#define PAS_FP512BN 16            </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec">   40</a></span>&#160;<span class="preprocessor">#define MPIN_OK             0   </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc">   41</a></span>&#160;<span class="preprocessor">#define MPIN_INVALID_POINT  -14 </span></div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd">   42</a></span>&#160;<span class="preprocessor">#define MPIN_BAD_PIN        -19 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442">   44</a></span>&#160;<span class="preprocessor">#define MPIN_PAS 16          </span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a15c5084bd08109c7edebf50db273e494">   45</a></span>&#160;<span class="preprocessor">#define MAXPIN 10000         </span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#a1bc47461f3417c96da72488c6030447e">   46</a></span>&#160;<span class="preprocessor">#define PBLEN 14             </span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">//#define HASH_TYPE_MPIN_FP512BN SHA256   </span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#aeca90e1c1c62b70670514ffc18c9dfd4">   50</a></span>&#160;<span class="preprocessor">#define MESSAGE_SIZE 256        </span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mpin__FP512BN_8h.html#aa5b5094702a8fbb27123964a44b7f2f8">   51</a></span>&#160;<span class="preprocessor">#define M_SIZE_FP512BN (MESSAGE_SIZE+2*PFS_FP512BN+1)   </span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor"></span><span class="comment">/* MPIN support functions */</span><span class="preprocessor"></span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">/* MPIN primitives */</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;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP512BN_8h.html#afbc48bd2cb8b81283e81999435daa2aa">MPIN_FP512BN_GET_Y</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> t,<a class="code" href="structoctet.html">octet</a> *O,<a class="code" href="structoctet.html">octet</a> *Y);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a775604109cd5258d49c1d437b10b5d3a">MPIN_FP512BN_EXTRACT_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a9d3cb845d48767f3b46e5221dcfdcf9e">MPIN_FP512BN_RESTORE_FACTOR</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> factor,<span class="keywordtype">int</span> facbits,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a911638e97214778d6d5b55ca1ac7da42">MPIN_FP512BN_EXTRACT_PIN</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</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;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a73ad64de03dae5a93cf1e305d96d7118">MPIN_FP512BN_CLIENT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP, <a class="code" href="structoctet.html">octet</a>* MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *y);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#aed1aeef7bc5fb0fba3602ae6283a4092">MPIN_FP512BN_CLIENT_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *x,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#af59564cff41054fdb924c2ce1e5e8ef2">MPIN_FP512BN_RANDOM_GENERATE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a23ac05508529b0dc8e60cc3435ff08fa">MPIN_FP512BN_CLIENT_2</a>(<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *V);</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a871210ac00056cddbc7ac8a21433b234">MPIN_FP512BN_SERVER</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *MESSAGE, <span class="keywordtype">int</span> t, <a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keywordtype">void</span> <a class="code" href="mpin__FP512BN_8h.html#a98691a8e35012f8aad9ca214b903a3fb">MPIN_FP512BN_SERVER_1</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#ae5c6505bd5b2e9e810021b487bb2ccc5">MPIN_FP512BN_SERVER_2</a>(<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *HTID,<a class="code" href="structoctet.html">octet</a> *y,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a7a26b77686ab21a6319f67802b9899a8">MPIN_FP512BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *Q1,<a class="code" href="structoctet.html">octet</a> *Q2,<a class="code" href="structoctet.html">octet</a> *Q);</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#ac7a3d25e90cc514f19901fa8827b150d">MPIN_FP512BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *P1,<a class="code" href="structoctet.html">octet</a> *P2,<a class="code" href="structoctet.html">octet</a> *P);</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#adf2e078e0a463417f682a7e26db3297c">MPIN_FP512BN_KANGAROO</a>(<a class="code" href="structoctet.html">octet</a> *E,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#afe601979502c0b350dc7d34e6300964b">MPIN_FP512BN_ENCODING</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a1273356349fac7ba0bfe0575d0395c40">MPIN_FP512BN_DECODING</a>(<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a49d7236838801f71d2f17c81a4fb0e35">MPIN_FP512BN_GET_G1_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#ab02506cf0fd7b3e0cf1cef5d4c1b0cd2">MPIN_FP512BN_GET_G2_MULTIPLE</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<span class="keywordtype">int</span> type,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a482ce52edf402489045dda0d0992b194">MPIN_FP512BN_GET_CLIENT_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CS);</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a0c67ca00cc51bc932ef009e523b2f002">MPIN_FP512BN_GET_CLIENT_PERMIT</a>(<span class="keywordtype">int</span> h,<span class="keywordtype">int</span> d,<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *TP);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a6077a41eada3308ec5373263e24bd197">MPIN_FP512BN_GET_SERVER_SECRET</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *SS);</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">/* int MPIN_TEST_PAIRING(octet *,octet *); */</span></div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">/* For M-Pin Full */</span></div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#a4c45f5fb067106892893db21ed57388a">MPIN_FP512BN_PRECOMPUTE</a>(<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *CP,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2);</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#aef561a9f7967bdf1d5dd24f976adf474">MPIN_FP512BN_SERVER_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *SS,<a class="code" href="structoctet.html">octet</a> *w,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *UT,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#af111d7924dcc411d8c2064b391ef80bc">MPIN_FP512BN_CLIENT_KEY</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *g1,<a class="code" href="structoctet.html">octet</a> *g2,<span class="keywordtype">int</span> pin,<a class="code" href="structoctet.html">octet</a> *r,<a class="code" href="structoctet.html">octet</a> *x,<a class="code" href="structoctet.html">octet</a> *p,<a class="code" href="structoctet.html">octet</a> *T,<a class="code" href="structoctet.html">octet</a> *K);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="keywordtype">int</span> <a class="code" href="mpin__FP512BN_8h.html#af5e1665f6585ed8d8308508706ae8ac9">MPIN_FP512BN_GET_DVS_KEYPAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *Z,<a class="code" href="structoctet.html">octet</a> *Pa);</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div><div class="ttc" id="mpin__FP512BN_8h_html_af111d7924dcc411d8c2064b391ef80bc"><div class="ttname"><a href="mpin__FP512BN_8h.html#af111d7924dcc411d8c2064b391ef80bc">MPIN_FP512BN_CLIENT_KEY</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT_KEY(int h, octet *g1, octet *g2, int pin, octet *r, octet *x, octet *p, octet *T, octet *K)</div><div class="ttdoc">Calculate Key on Client side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:747</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a1273356349fac7ba0bfe0575d0395c40"><div class="ttname"><a href="mpin__FP512BN_8h.html#a1273356349fac7ba0bfe0575d0395c40">MPIN_FP512BN_DECODING</a></div><div class="ttdeci">int MPIN_FP512BN_DECODING(octet *TP)</div><div class="ttdoc">Encoding of an obfuscated Time Permit. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:154</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a73ad64de03dae5a93cf1e305d96d7118"><div class="ttname"><a href="mpin__FP512BN_8h.html#a73ad64de03dae5a93cf1e305d96d7118">MPIN_FP512BN_CLIENT</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *V, octet *U, octet *UT, octet *TP, octet *MESSAGE, int t, octet *y)</div><div class="ttdoc">Perform client side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:844</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_aed1aeef7bc5fb0fba3602ae6283a4092"><div class="ttname"><a href="mpin__FP512BN_8h.html#aed1aeef7bc5fb0fba3602ae6283a4092">MPIN_FP512BN_CLIENT_1</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT_1(int h, int d, octet *ID, csprng *R, octet *x, int pin, octet *T, octet *S, octet *U, octet *UT, octet *TP)</div><div class="ttdoc">Perform first pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:389</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a98691a8e35012f8aad9ca214b903a3fb"><div class="ttname"><a href="mpin__FP512BN_8h.html#a98691a8e35012f8aad9ca214b903a3fb">MPIN_FP512BN_SERVER_1</a></div><div class="ttdeci">void MPIN_FP512BN_SERVER_1(int h, int d, octet *ID, octet *HID, octet *HTID)</div><div class="ttdoc">Perform first pass of the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:511</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a4c45f5fb067106892893db21ed57388a"><div class="ttname"><a href="mpin__FP512BN_8h.html#a4c45f5fb067106892893db21ed57388a">MPIN_FP512BN_PRECOMPUTE</a></div><div class="ttdeci">int MPIN_FP512BN_PRECOMPUTE(octet *T, octet *ID, octet *CP, octet *g1, octet *g2)</div><div class="ttdoc">Precompute values for use by the client side of M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:708</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a7a26b77686ab21a6319f67802b9899a8"><div class="ttname"><a href="mpin__FP512BN_8h.html#a7a26b77686ab21a6319f67802b9899a8">MPIN_FP512BN_RECOMBINE_G1</a></div><div class="ttdeci">int MPIN_FP512BN_RECOMBINE_G1(octet *Q1, octet *Q2, octet *Q)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:180</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a911638e97214778d6d5b55ca1ac7da42"><div class="ttname"><a href="mpin__FP512BN_8h.html#a911638e97214778d6d5b55ca1ac7da42">MPIN_FP512BN_EXTRACT_PIN</a></div><div class="ttdeci">int MPIN_FP512BN_EXTRACT_PIN(int h, octet *ID, int pin, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:228</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_aef561a9f7967bdf1d5dd24f976adf474"><div class="ttname"><a href="mpin__FP512BN_8h.html#aef561a9f7967bdf1d5dd24f976adf474">MPIN_FP512BN_SERVER_KEY</a></div><div class="ttdeci">int MPIN_FP512BN_SERVER_KEY(int h, octet *Z, octet *SS, octet *w, octet *p, octet *I, octet *U, octet *UT, octet *K)</div><div class="ttdoc">Calculate Key on Server side for M-Pin Full. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:784</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html"><div class="ttname"><a href="pair__FP512BN_8h.html">pair_FP512BN.h</a></div><div class="ttdoc">PAIR Header File. </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="mpin__FP512BN_8h_html_a482ce52edf402489045dda0d0992b194"><div class="ttname"><a href="mpin__FP512BN_8h.html#a482ce52edf402489045dda0d0992b194">MPIN_FP512BN_GET_CLIENT_SECRET</a></div><div class="ttdeci">int MPIN_FP512BN_GET_CLIENT_SECRET(octet *S, octet *ID, octet *CS)</div><div class="ttdoc">Create a client secret in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:383</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_afbc48bd2cb8b81283e81999435daa2aa"><div class="ttname"><a href="mpin__FP512BN_8h.html#afbc48bd2cb8b81283e81999435daa2aa">MPIN_FP512BN_GET_Y</a></div><div class="ttdeci">void MPIN_FP512BN_GET_Y(int h, int t, octet *O, octet *Y)</div><div class="ttdoc">Generate Y=H(s,O), where s is epoch time, O is an octet, and H(.) is a hash function. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:829</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_adf2e078e0a463417f682a7e26db3297c"><div class="ttname"><a href="mpin__FP512BN_8h.html#adf2e078e0a463417f682a7e26db3297c">MPIN_FP512BN_KANGAROO</a></div><div class="ttdeci">int MPIN_FP512BN_KANGAROO(octet *E, octet *F)</div><div class="ttdoc">Use Kangaroos to find PIN error. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:642</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a9d3cb845d48767f3b46e5221dcfdcf9e"><div class="ttname"><a href="mpin__FP512BN_8h.html#a9d3cb845d48767f3b46e5221dcfdcf9e">MPIN_FP512BN_RESTORE_FACTOR</a></div><div class="ttdeci">int MPIN_FP512BN_RESTORE_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:257</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_afe601979502c0b350dc7d34e6300964b"><div class="ttname"><a href="mpin__FP512BN_8h.html#afe601979502c0b350dc7d34e6300964b">MPIN_FP512BN_ENCODING</a></div><div class="ttdeci">int MPIN_FP512BN_ENCODING(csprng *R, octet *TP)</div><div class="ttdoc">Encoding of a Time Permit to make it indistinguishable from a random string. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:122</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_af5e1665f6585ed8d8308508706ae8ac9"><div class="ttname"><a href="mpin__FP512BN_8h.html#af5e1665f6585ed8d8308508706ae8ac9">MPIN_FP512BN_GET_DVS_KEYPAIR</a></div><div class="ttdeci">int MPIN_FP512BN_GET_DVS_KEYPAIR(csprng *R, octet *Z, octet *Pa)</div><div class="ttdoc">Generates a random public key for the client z.Q. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:905</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a23ac05508529b0dc8e60cc3435ff08fa"><div class="ttname"><a href="mpin__FP512BN_8h.html#a23ac05508529b0dc8e60cc3435ff08fa">MPIN_FP512BN_CLIENT_2</a></div><div class="ttdeci">int MPIN_FP512BN_CLIENT_2(octet *x, octet *y, octet *V)</div><div class="ttdoc">Perform second pass of the client side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:279</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a871210ac00056cddbc7ac8a21433b234"><div class="ttname"><a href="mpin__FP512BN_8h.html#a871210ac00056cddbc7ac8a21433b234">MPIN_FP512BN_SERVER</a></div><div class="ttdeci">int MPIN_FP512BN_SERVER(int h, int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *ID, octet *MESSAGE, int t, octet *Pa)</div><div class="ttdoc">Perform server side of the one-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:876</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_af59564cff41054fdb924c2ce1e5e8ef2"><div class="ttname"><a href="mpin__FP512BN_8h.html#af59564cff41054fdb924c2ce1e5e8ef2">MPIN_FP512BN_RANDOM_GENERATE</a></div><div class="ttdeci">int MPIN_FP512BN_RANDOM_GENERATE(csprng *R, octet *S)</div><div class="ttdoc">Generate a random group element. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:213</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a49d7236838801f71d2f17c81a4fb0e35"><div class="ttname"><a href="mpin__FP512BN_8h.html#a49d7236838801f71d2f17c81a4fb0e35">MPIN_FP512BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP512BN_GET_G1_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:306</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_ac7a3d25e90cc514f19901fa8827b150d"><div class="ttname"><a href="mpin__FP512BN_8h.html#ac7a3d25e90cc514f19901fa8827b150d">MPIN_FP512BN_RECOMBINE_G2</a></div><div class="ttdeci">int MPIN_FP512BN_RECOMBINE_G2(octet *P1, octet *P2, octet *P)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:198</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="mpin__FP512BN_8h_html_a775604109cd5258d49c1d437b10b5d3a"><div class="ttname"><a href="mpin__FP512BN_8h.html#a775604109cd5258d49c1d437b10b5d3a">MPIN_FP512BN_EXTRACT_FACTOR</a></div><div class="ttdeci">int MPIN_FP512BN_EXTRACT_FACTOR(int h, octet *ID, int factor, int facbits, octet *CS)</div><div class="ttdoc">Extract a PIN number from a client secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:235</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_ae5c6505bd5b2e9e810021b487bb2ccc5"><div class="ttname"><a href="mpin__FP512BN_8h.html#ae5c6505bd5b2e9e810021b487bb2ccc5">MPIN_FP512BN_SERVER_2</a></div><div class="ttdeci">int MPIN_FP512BN_SERVER_2(int d, octet *HID, octet *HTID, octet *y, octet *SS, octet *U, octet *UT, octet *V, octet *E, octet *F, octet *Pa)</div><div class="ttdoc">Perform third pass on the server side of the 3-pass version of the M-Pin protocol. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:540</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a6077a41eada3308ec5373263e24bd197"><div class="ttname"><a href="mpin__FP512BN_8h.html#a6077a41eada3308ec5373263e24bd197">MPIN_FP512BN_GET_SERVER_SECRET</a></div><div class="ttdeci">int MPIN_FP512BN_GET_SERVER_SECRET(octet *S, octet *SS)</div><div class="ttdoc">Create a server secret in G2 from a master secret. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:466</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_ab02506cf0fd7b3e0cf1cef5d4c1b0cd2"><div class="ttname"><a href="mpin__FP512BN_8h.html#ab02506cf0fd7b3e0cf1cef5d4c1b0cd2">MPIN_FP512BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int MPIN_FP512BN_GET_G2_MULTIPLE(csprng *R, int type, octet *x, octet *G, octet *W)</div><div class="ttdoc">Find a random multiple of a point in G1. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:348</div></div>
+<div class="ttc" id="mpin__FP512BN_8h_html_a0c67ca00cc51bc932ef009e523b2f002"><div class="ttname"><a href="mpin__FP512BN_8h.html#a0c67ca00cc51bc932ef009e523b2f002">MPIN_FP512BN_GET_CLIENT_PERMIT</a></div><div class="ttdeci">int MPIN_FP512BN_GET_CLIENT_PERMIT(int h, int d, octet *S, octet *ID, octet *TP)</div><div class="ttdoc">Create a Time Permit in G1 from a master secret and the client ID. </div><div class="ttdef"><b>Definition:</b> mpin_FP512BN.c:489</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/pages.html b/website/static/cdocs/pages.html
index a0ba116..2a98d2a 100644
--- a/website/static/cdocs/pages.html
+++ b/website/static/cdocs/pages.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: Related Pages</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 -->
@@ -77,7 +80,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/paillier_8h.html b/website/static/cdocs/paillier_8h.html
new file mode 100644
index 0000000..6f8862c
--- /dev/null
+++ b/website/static/cdocs/paillier_8h.html
@@ -0,0 +1,594 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>AMCL: paillier.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">AMCL
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">paillier.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Paillier declarations.  
+<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;string.h&gt;</code><br />
+<code>#include &lt;time.h&gt;</code><br />
+<code>#include &quot;<a class="el" href="ff__4096_8h_source.html">ff_4096.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="ff__2048_8h_source.html">ff_2048.h</a>&quot;</code><br />
+</div>
+<p><a href="paillier_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="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Paillier Public Key.  <a href="structPAILLIER__public__key.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Paillier Private Key.  <a href="structPAILLIER__private__key.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a8e7c673251fe80bcf47e9bb26674cd97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#a8e7c673251fe80bcf47e9bb26674cd97">FS_4096</a>&#160;&#160;&#160;<a class="el" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">MODBYTES_512_60</a>*<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a></td></tr>
+<tr class="separator:a8e7c673251fe80bcf47e9bb26674cd97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3ce9abc99cec679346a7d38bed96d9b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#ae3ce9abc99cec679346a7d38bed96d9b">FS_2048</a>&#160;&#160;&#160;<a class="el" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">MODBYTES_1024_58</a>*<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a></td></tr>
+<tr class="separator:ae3ce9abc99cec679346a7d38bed96d9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f681610ea37533def54ef7ef54ccb92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#a1f681610ea37533def54ef7ef54ccb92">HFS_4096</a>&#160;&#160;&#160;<a class="el" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">MODBYTES_512_60</a>*<a class="el" href="ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11">HFLEN_4096</a></td></tr>
+<tr class="separator:a1f681610ea37533def54ef7ef54ccb92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af12daa3ccdbe8c973ca455b53f58f13b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#af12daa3ccdbe8c973ca455b53f58f13b">HFS_2048</a>&#160;&#160;&#160;<a class="el" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">MODBYTES_1024_58</a>*<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a></td></tr>
+<tr class="separator:af12daa3ccdbe8c973ca455b53f58f13b"><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:af2c7ba1d7f74ba21e17b54463a3bb7a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#af2c7ba1d7f74ba21e17b54463a3bb7a8">PAILLIER_KEY_PAIR</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structoctet.html">octet</a> *P, <a class="el" href="structoctet.html">octet</a> *Q, <a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *PRIV)</td></tr>
+<tr class="memdesc:af2c7ba1d7f74ba21e17b54463a3bb7a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the key pair.  <a href="#af2c7ba1d7f74ba21e17b54463a3bb7a8">More...</a><br /></td></tr>
+<tr class="separator:af2c7ba1d7f74ba21e17b54463a3bb7a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cf8d2d20dbdb35662bd000c42252ad9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#a4cf8d2d20dbdb35662bd000c42252ad9">PAILLIER_PRIVATE_KEY_KILL</a> (<a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *PRIV)</td></tr>
+<tr class="memdesc:a4cf8d2d20dbdb35662bd000c42252ad9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear private key.  <a href="#a4cf8d2d20dbdb35662bd000c42252ad9">More...</a><br /></td></tr>
+<tr class="separator:a4cf8d2d20dbdb35662bd000c42252ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a637d7102d00ab63a898b34fb21c835d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#a637d7102d00ab63a898b34fb21c835d3">PAILLIER_ENCRYPT</a> (<a class="el" href="structcsprng.html">csprng</a> *RNG, <a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="el" href="structoctet.html">octet</a> *PT, <a class="el" href="structoctet.html">octet</a> *CT, <a class="el" href="structoctet.html">octet</a> *R)</td></tr>
+<tr class="memdesc:a637d7102d00ab63a898b34fb21c835d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encrypt a plaintext.  <a href="#a637d7102d00ab63a898b34fb21c835d3">More...</a><br /></td></tr>
+<tr class="separator:a637d7102d00ab63a898b34fb21c835d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afdfd329c0c2296587f4ad31b726c46a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#afdfd329c0c2296587f4ad31b726c46a9">PAILLIER_DECRYPT</a> (<a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *PRIV, <a class="el" href="structoctet.html">octet</a> *CT, <a class="el" href="structoctet.html">octet</a> *PT)</td></tr>
+<tr class="memdesc:afdfd329c0c2296587f4ad31b726c46a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypt ciphertext.  <a href="#afdfd329c0c2296587f4ad31b726c46a9">More...</a><br /></td></tr>
+<tr class="separator:afdfd329c0c2296587f4ad31b726c46a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7c14aa732c7296722ebee1a27b19a3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#ae7c14aa732c7296722ebee1a27b19a3f">PAILLIER_ADD</a> (<a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="el" href="structoctet.html">octet</a> *CT1, <a class="el" href="structoctet.html">octet</a> *CT2, <a class="el" href="structoctet.html">octet</a> *CT)</td></tr>
+<tr class="memdesc:ae7c14aa732c7296722ebee1a27b19a3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Homomorphic addition of plaintexts.  <a href="#ae7c14aa732c7296722ebee1a27b19a3f">More...</a><br /></td></tr>
+<tr class="separator:ae7c14aa732c7296722ebee1a27b19a3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3efdaed7b02dacdf319966f253f26d40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#a3efdaed7b02dacdf319966f253f26d40">PAILLIER_MULT</a> (<a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="el" href="structoctet.html">octet</a> *CT1, <a class="el" href="structoctet.html">octet</a> *PT, <a class="el" href="structoctet.html">octet</a> *CT)</td></tr>
+<tr class="memdesc:a3efdaed7b02dacdf319966f253f26d40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Homomorphic multipication of plaintexts.  <a href="#a3efdaed7b02dacdf319966f253f26d40">More...</a><br /></td></tr>
+<tr class="separator:a3efdaed7b02dacdf319966f253f26d40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8910d02efcaa97d176c90f2e20496d1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#a8910d02efcaa97d176c90f2e20496d1a">PAILLIER_PK_fromOctet</a> (<a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="el" href="structoctet.html">octet</a> *PK)</td></tr>
+<tr class="memdesc:a8910d02efcaa97d176c90f2e20496d1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a public key from its octet representation.  <a href="#a8910d02efcaa97d176c90f2e20496d1a">More...</a><br /></td></tr>
+<tr class="separator:a8910d02efcaa97d176c90f2e20496d1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7de192657d81c9a434ef9e17ead98c15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="paillier_8h.html#a7de192657d81c9a434ef9e17ead98c15">PAILLIER_PK_toOctet</a> (<a class="el" href="structoctet.html">octet</a> *PK, <a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB)</td></tr>
+<tr class="memdesc:a7de192657d81c9a434ef9e17ead98c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a public key to an octet.  <a href="#a7de192657d81c9a434ef9e17ead98c15">More...</a><br /></td></tr>
+<tr class="separator:a7de192657d81c9a434ef9e17ead98c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="ae3ce9abc99cec679346a7d38bed96d9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3ce9abc99cec679346a7d38bed96d9b">&#9670;&nbsp;</a></span>FS_2048</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define FS_2048&#160;&#160;&#160;<a class="el" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">MODBYTES_1024_58</a>*<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>2048 field size in bytes </p>
+
+</div>
+</div>
+<a id="a8e7c673251fe80bcf47e9bb26674cd97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8e7c673251fe80bcf47e9bb26674cd97">&#9670;&nbsp;</a></span>FS_4096</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define FS_4096&#160;&#160;&#160;<a class="el" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">MODBYTES_512_60</a>*<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>4096 field size in bytes </p>
+
+</div>
+</div>
+<a id="af12daa3ccdbe8c973ca455b53f58f13b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af12daa3ccdbe8c973ca455b53f58f13b">&#9670;&nbsp;</a></span>HFS_2048</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HFS_2048&#160;&#160;&#160;<a class="el" href="config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112">MODBYTES_1024_58</a>*<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Half 2048 field size in bytes </p>
+
+</div>
+</div>
+<a id="a1f681610ea37533def54ef7ef54ccb92"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f681610ea37533def54ef7ef54ccb92">&#9670;&nbsp;</a></span>HFS_4096</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define HFS_4096&#160;&#160;&#160;<a class="el" href="config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525">MODBYTES_512_60</a>*<a class="el" href="ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11">HFLEN_4096</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Half 4096 field size in bytes </p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ae7c14aa732c7296722ebee1a27b19a3f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae7c14aa732c7296722ebee1a27b19a3f">&#9670;&nbsp;</a></span>PAILLIER_ADD()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_ADD </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *&#160;</td>
+          <td class="paramname"><em>PUB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>CT1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>CT2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>CT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>\( E(m1+m2) = E(m1)*E(m2) \)</p>
+<ol>
+<li>
+\( ct = ct1*ct2 \pmod{n^2} \) </li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">PUB</td><td>Public key </td></tr>
+    <tr><td class="paramname">CT1</td><td>Ciphertext one </td></tr>
+    <tr><td class="paramname">CT2</td><td>Ciphertext two </td></tr>
+    <tr><td class="paramname">CT</td><td>Ciphertext </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns 0 or else error code </dd></dl>
+
+</div>
+</div>
+<a id="afdfd329c0c2296587f4ad31b726c46a9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afdfd329c0c2296587f4ad31b726c46a9">&#9670;&nbsp;</a></span>PAILLIER_DECRYPT()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_DECRYPT </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *&#160;</td>
+          <td class="paramname"><em>PRIV</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>CT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>PT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>These are the decryption steps modulo n. The computations are carried out modulo p and q and combined using the CRT.</p>
+<ol>
+<li>
+\( ctl = ct^l \pmod{n^2} - 1 \) </li>
+<li>
+\( ctln = ctl / n \) </li>
+<li>
+\( pt = ctln * m \pmod{n} \) </li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">PRIV</td><td>Private key </td></tr>
+    <tr><td class="paramname">CT</td><td>Ciphertext </td></tr>
+    <tr><td class="paramname">PT</td><td>Plaintext </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a637d7102d00ab63a898b34fb21c835d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a637d7102d00ab63a898b34fb21c835d3">&#9670;&nbsp;</a></span>PAILLIER_ENCRYPT()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_ENCRYPT </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
+          <td class="paramname"><em>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *&#160;</td>
+          <td class="paramname"><em>PUB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>PT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>CT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</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>These are the encryption steps.</p>
+<ol>
+<li>
+\( m &lt; n \) </li>
+<li>
+\( r &lt; n \) </li>
+<li>
+\( c = g^m.r^n\pmod{n^2} \) </li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">PUB</td><td>Public key </td></tr>
+    <tr><td class="paramname">PT</td><td>Plaintext </td></tr>
+    <tr><td class="paramname">CT</td><td>Ciphertext </td></tr>
+    <tr><td class="paramname">R</td><td>R value for testing. If RNG is NULL then this value is read. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="af2c7ba1d7f74ba21e17b54463a3bb7a8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af2c7ba1d7f74ba21e17b54463a3bb7a8">&#9670;&nbsp;</a></span>PAILLIER_KEY_PAIR()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_KEY_PAIR </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> *&#160;</td>
+          <td class="paramname"><em>RNG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>P</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>Q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *&#160;</td>
+          <td class="paramname"><em>PUB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *&#160;</td>
+          <td class="paramname"><em>PRIV</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Pick large prime numbers of the same size \( p \) and \( q \)</p>
+<ol>
+<li>
+\( n = pq \) </li>
+<li>
+\( g = n + 1 \) </li>
+<li>
+\( l = (p-1)(q-1) \) </li>
+<li>
+\( m = l^{-1} \pmod{n} \) </li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">RNG</td><td>Pointer to a cryptographically secure random number generator </td></tr>
+    <tr><td class="paramname">P</td><td>Prime number. If RNG is NULL then this value is read </td></tr>
+    <tr><td class="paramname">Q</td><td>Prime number. If RNG is NULL then this value is read </td></tr>
+    <tr><td class="paramname">PUB</td><td>Public key </td></tr>
+    <tr><td class="paramname">PRIV</td><td>Private key </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a3efdaed7b02dacdf319966f253f26d40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3efdaed7b02dacdf319966f253f26d40">&#9670;&nbsp;</a></span>PAILLIER_MULT()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_MULT </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *&#160;</td>
+          <td class="paramname"><em>PUB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>CT1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>PT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>CT</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>\( E(m1*m2) = E(m1)^{m2} \)</p>
+<ol>
+<li>
+\( ct = ct1^{m2} \pmod{n^2} \) </li>
+</ol>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">PUB</td><td>Public key </td></tr>
+    <tr><td class="paramname">CT1</td><td>Ciphertext one </td></tr>
+    <tr><td class="paramname">PT</td><td>Plaintext constant </td></tr>
+    <tr><td class="paramname">CT</td><td>Ciphertext </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a8910d02efcaa97d176c90f2e20496d1a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8910d02efcaa97d176c90f2e20496d1a">&#9670;&nbsp;</a></span>PAILLIER_PK_fromOctet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_PK_fromOctet </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *&#160;</td>
+          <td class="paramname"><em>PUB</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>PK</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">PUB</td><td>Public key </td></tr>
+    <tr><td class="paramname">PK</td><td>Octet representation of the public key </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a7de192657d81c9a434ef9e17ead98c15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7de192657d81c9a434ef9e17ead98c15">&#9670;&nbsp;</a></span>PAILLIER_PK_toOctet()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_PK_toOctet </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
+          <td class="paramname"><em>PK</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *&#160;</td>
+          <td class="paramname"><em>PUB</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">PK</td><td>Destination octet </td></tr>
+    <tr><td class="paramname">PUB</td><td>Public key </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a4cf8d2d20dbdb35662bd000c42252ad9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4cf8d2d20dbdb35662bd000c42252ad9">&#9670;&nbsp;</a></span>PAILLIER_PRIVATE_KEY_KILL()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void PAILLIER_PRIVATE_KEY_KILL </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *&#160;</td>
+          <td class="paramname"><em>PRIV</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">PRIV</td><td>Private key to clean </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>
diff --git a/website/static/cdocs/paillier_8h_source.html b/website/static/cdocs/paillier_8h_source.html
new file mode 100644
index 0000000..2f96ca4
--- /dev/null
+++ b/website/static/cdocs/paillier_8h_source.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>AMCL: paillier.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>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">AMCL
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">paillier.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="paillier_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="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ff__4096_8h.html">ff_4096.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ff__2048_8h.html">ff_2048.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// Field size</span></div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="paillier_8h.html#a8e7c673251fe80bcf47e9bb26674cd97">   34</a></span>&#160;<span class="preprocessor">#define FS_4096 MODBYTES_512_60*FFLEN_4096    </span></div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="paillier_8h.html#ae3ce9abc99cec679346a7d38bed96d9b">   35</a></span>&#160;<span class="preprocessor">#define FS_2048 MODBYTES_1024_58*FFLEN_2048   </span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">// Half field size</span></div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="paillier_8h.html#a1f681610ea37533def54ef7ef54ccb92">   38</a></span>&#160;<span class="preprocessor">#define HFS_4096 MODBYTES_512_60*HFLEN_4096   </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="paillier_8h.html#af12daa3ccdbe8c973ca455b53f58f13b">   39</a></span>&#160;<span class="preprocessor">#define HFS_2048 MODBYTES_1024_58*HFLEN_2048  </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structPAILLIER__public__key.html">   44</a></span>&#160;<span class="preprocessor">typedef struct{</span></div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="structPAILLIER__public__key.html#aea6d614974ac68d25dac9e180bcb7ffb">   45</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> n[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]; </div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="structPAILLIER__public__key.html#a4e46a0e4c68e944801e372d31e7b24c4">   46</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> g[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]; </div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structPAILLIER__public__key.html#a43b28e4ff07c932a25813cc639419bc6">   48</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> n2[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]; </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}<a class="code" href="structPAILLIER__public__key.html">PAILLIER_public_key</a>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html">   54</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span>{</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#ab3a4b6e01c3185983d6240e4e093574a">   55</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> p[<a class="code" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]; </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#a0827afad71df06ce991fa2799cc2f381">   56</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> q[<a class="code" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]; </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#af888282934b457a7c74bfd5ee5af0247">   58</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> lp[<a class="code" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]; </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#a4cef9b08dca71828a00c91d1927bf66c">   59</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> lq[<a class="code" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]; </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#a952c7c468cd4d17b5b5671fe31165a8d">   61</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> invp[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]; </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#a5146fab180da3422d66d3cf944fb0247">   62</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> invq[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]; </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#a954590d1d80ad8257ae57dc258a8c2c9">   64</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> p2[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]; </div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#acf50ad57d674567ac4065000152f87c4">   65</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> q2[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]; </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#a2baa64964f2d29de901c3495a0b10951">   67</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> mp[<a class="code" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]; </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structPAILLIER__private__key.html#a8eabfd60330252513a941ff4eb60a74a">   68</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> mq[<a class="code" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]; </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;}<a class="code" href="structPAILLIER__private__key.html">PAILLIER_private_key</a>;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#af2c7ba1d7f74ba21e17b54463a3bb7a8">PAILLIER_KEY_PAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structoctet.html">octet</a> *P, <a class="code" href="structoctet.html">octet</a>* Q, <a class="code" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="code" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *PRIV);</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#a4cf8d2d20dbdb35662bd000c42252ad9">PAILLIER_PRIVATE_KEY_KILL</a>(<a class="code" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *PRIV);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#a637d7102d00ab63a898b34fb21c835d3">PAILLIER_ENCRYPT</a>(<a class="code" href="structcsprng.html">csprng</a> *RNG, <a class="code" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="code" href="structoctet.html">octet</a>* PT, <a class="code" href="structoctet.html">octet</a>* CT, <a class="code" href="structoctet.html">octet</a>* R);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#afdfd329c0c2296587f4ad31b726c46a9">PAILLIER_DECRYPT</a>(<a class="code" href="structPAILLIER__private__key.html">PAILLIER_private_key</a> *PRIV, <a class="code" href="structoctet.html">octet</a>* CT, <a class="code" href="structoctet.html">octet</a>* PT);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#ae7c14aa732c7296722ebee1a27b19a3f">PAILLIER_ADD</a>(<a class="code" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="code" href="structoctet.html">octet</a>* CT1, <a class="code" href="structoctet.html">octet</a>* CT2, <a class="code" href="structoctet.html">octet</a>* CT);</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#a3efdaed7b02dacdf319966f253f26d40">PAILLIER_MULT</a>(<a class="code" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="code" href="structoctet.html">octet</a>* CT1, <a class="code" href="structoctet.html">octet</a>* PT, <a class="code" href="structoctet.html">octet</a>* CT);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#a8910d02efcaa97d176c90f2e20496d1a">PAILLIER_PK_fromOctet</a>(<a class="code" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB, <a class="code" href="structoctet.html">octet</a> *PK);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="keywordtype">void</span> <a class="code" href="paillier_8h.html#a7de192657d81c9a434ef9e17ead98c15">PAILLIER_PK_toOctet</a>(<a class="code" href="structoctet.html">octet</a> *PK, <a class="code" href="structPAILLIER__public__key.html">PAILLIER_public_key</a> *PUB);</div><div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
+<div class="ttc" id="ff__2048_8h_html_a227e21d0b00faf73e541ec680ea433cc"><div class="ttname"><a href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a></div><div class="ttdeci">#define HFLEN_2048</div><div class="ttdef"><b>Definition:</b> ff_2048.h:33</div></div>
+<div class="ttc" id="paillier_8h_html_a7de192657d81c9a434ef9e17ead98c15"><div class="ttname"><a href="paillier_8h.html#a7de192657d81c9a434ef9e17ead98c15">PAILLIER_PK_toOctet</a></div><div class="ttdeci">void PAILLIER_PK_toOctet(octet *PK, PAILLIER_public_key *PUB)</div><div class="ttdoc">Write a public key to an octet. </div><div class="ttdef"><b>Definition:</b> paillier.c:312</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="paillier_8h_html_ae7c14aa732c7296722ebee1a27b19a3f"><div class="ttname"><a href="paillier_8h.html#ae7c14aa732c7296722ebee1a27b19a3f">PAILLIER_ADD</a></div><div class="ttdeci">void PAILLIER_ADD(PAILLIER_public_key *PUB, octet *CT1, octet *CT2, octet *CT)</div><div class="ttdoc">Homomorphic addition of plaintexts. </div><div class="ttdef"><b>Definition:</b> paillier.c:255</div></div>
+<div class="ttc" id="paillier_8h_html_a8910d02efcaa97d176c90f2e20496d1a"><div class="ttname"><a href="paillier_8h.html#a8910d02efcaa97d176c90f2e20496d1a">PAILLIER_PK_fromOctet</a></div><div class="ttdeci">void PAILLIER_PK_fromOctet(PAILLIER_public_key *PUB, octet *PK)</div><div class="ttdoc">Read a public key from its octet representation. </div><div class="ttdef"><b>Definition:</b> paillier.c:299</div></div>
+<div class="ttc" id="ff__4096_8h_html"><div class="ttname"><a href="ff__4096_8h.html">ff_4096.h</a></div><div class="ttdoc">FF Header File. </div></div>
+<div class="ttc" id="ff__2048_8h_html"><div class="ttname"><a href="ff__2048_8h.html">ff_2048.h</a></div><div class="ttdoc">FF Header File. </div></div>
+<div class="ttc" id="paillier_8h_html_a3efdaed7b02dacdf319966f253f26d40"><div class="ttname"><a href="paillier_8h.html#a3efdaed7b02dacdf319966f253f26d40">PAILLIER_MULT</a></div><div class="ttdeci">void PAILLIER_MULT(PAILLIER_public_key *PUB, octet *CT1, octet *PT, octet *CT)</div><div class="ttdoc">Homomorphic multipication of plaintexts. </div><div class="ttdef"><b>Definition:</b> paillier.c:274</div></div>
+<div class="ttc" id="paillier_8h_html_afdfd329c0c2296587f4ad31b726c46a9"><div class="ttname"><a href="paillier_8h.html#afdfd329c0c2296587f4ad31b726c46a9">PAILLIER_DECRYPT</a></div><div class="ttdeci">void PAILLIER_DECRYPT(PAILLIER_private_key *PRIV, octet *CT, octet *PT)</div><div class="ttdoc">Decrypt ciphertext. </div><div class="ttdef"><b>Definition:</b> paillier.c:192</div></div>
+<div class="ttc" id="paillier_8h_html_a637d7102d00ab63a898b34fb21c835d3"><div class="ttname"><a href="paillier_8h.html#a637d7102d00ab63a898b34fb21c835d3">PAILLIER_ENCRYPT</a></div><div class="ttdeci">void PAILLIER_ENCRYPT(csprng *RNG, PAILLIER_public_key *PUB, octet *PT, octet *CT, octet *R)</div><div class="ttdoc">Encrypt a plaintext. </div><div class="ttdef"><b>Definition:</b> paillier.c:151</div></div>
+<div class="ttc" id="structPAILLIER__public__key_html"><div class="ttname"><a href="structPAILLIER__public__key.html">PAILLIER_public_key</a></div><div class="ttdoc">Paillier Public Key. </div><div class="ttdef"><b>Definition:</b> paillier.h:44</div></div>
+<div class="ttc" id="config__ff__4096_8h_html_af3c21ac004bc32aa00e7a20811de549c"><div class="ttname"><a href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a></div><div class="ttdeci">#define FFLEN_4096</div><div class="ttdef"><b>Definition:</b> config_ff_4096.h:35</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="structPAILLIER__private__key_html"><div class="ttname"><a href="structPAILLIER__private__key.html">PAILLIER_private_key</a></div><div class="ttdoc">Paillier Private Key. </div><div class="ttdef"><b>Definition:</b> paillier.h:54</div></div>
+<div class="ttc" id="paillier_8h_html_a4cf8d2d20dbdb35662bd000c42252ad9"><div class="ttname"><a href="paillier_8h.html#a4cf8d2d20dbdb35662bd000c42252ad9">PAILLIER_PRIVATE_KEY_KILL</a></div><div class="ttdeci">void PAILLIER_PRIVATE_KEY_KILL(PAILLIER_private_key *PRIV)</div><div class="ttdoc">Clear private key. </div><div class="ttdef"><b>Definition:</b> paillier.c:136</div></div>
+<div class="ttc" id="paillier_8h_html_af2c7ba1d7f74ba21e17b54463a3bb7a8"><div class="ttname"><a href="paillier_8h.html#af2c7ba1d7f74ba21e17b54463a3bb7a8">PAILLIER_KEY_PAIR</a></div><div class="ttdeci">void PAILLIER_KEY_PAIR(csprng *RNG, octet *P, octet *Q, PAILLIER_public_key *PUB, PAILLIER_private_key *PRIV)</div><div class="ttdoc">Generate the key pair. </div><div class="ttdef"><b>Definition:</b> paillier.c:31</div></div>
+<div class="ttc" id="config__ff__2048_8h_html_a9d97b1d9ded0164b99640480ddac4f1e"><div class="ttname"><a href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a></div><div class="ttdeci">#define FFLEN_2048</div><div class="ttdef"><b>Definition:</b> config_ff_2048.h:35</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.13
+</small></address>
+</body>
+</html>
diff --git a/website/static/cdocs/pair192__BLS24_8h_source.html b/website/static/cdocs/pair192__BLS24_8h_source.html
index 9a5cd42..3134ade 100644
--- a/website/static/cdocs/pair192__BLS24_8h_source.html
+++ b/website/static/cdocs/pair192__BLS24_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: pair192_BLS24.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,14 +72,14 @@
 <div class="title">pair192_BLS24.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;<span class="preprocessor">#ifndef PAIR192_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define PAIR192_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp24_BLS24.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;ecp4_BLS24.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS24_8h.html">ecp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">/* Pairing constants */</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a>; </div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a13fecb13cb8be0789f4127fa9609b51c">CURVE_Cru_BLS24</a>; </div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a14b20db943ac625e4172097b165e4331">CURVE_W_BLS24</a>[2];        </div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a5bad3855136bb896a772bd83fad01e6c">CURVE_SB_BLS24</a>[2][2]; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a37ff0d9d4122324cb4b436812b4ab93d">CURVE_WB_BLS24</a>[4];       </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa58915d10b48e5bbf4bb2c7428b36a92">CURVE_BB_BLS24</a>[4][4]; </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_another(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> r[],<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a>* PV,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a>* QV);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_ate(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *r,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_double_ate(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *r,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *R,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *S);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_fexp(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_G1mul(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_G2mul(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_GTpow(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS24_GTmember(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS24_nbits(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> n3,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> n);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_initmp(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> r[]);</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;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_miller(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *res,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> r[]);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS24_8h_html_a14b20db943ac625e4172097b165e4331"><div class="ttname"><a href="ecp__BLS24_8h.html#a14b20db943ac625e4172097b165e4331">CURVE_W_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_W_BLS24[2]</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;<span class="preprocessor">#ifndef PAIR192_BLS24_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define PAIR192_BLS24_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp24_BLS24.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;ecp4_BLS24.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS24_8h.html">ecp_BLS24.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">/* Pairing constants */</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a>; </div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a13fecb13cb8be0789f4127fa9609b51c">CURVE_Cru_BLS24</a>; </div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a14b20db943ac625e4172097b165e4331">CURVE_W_BLS24</a>[2];    </div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a5bad3855136bb896a772bd83fad01e6c">CURVE_SB_BLS24</a>[2][2]; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#a37ff0d9d4122324cb4b436812b4ab93d">CURVE_WB_BLS24</a>[4];   </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> <a class="code" href="ecp__BLS24_8h.html#aa58915d10b48e5bbf4bb2c7428b36a92">CURVE_BB_BLS24</a>[4][4]; </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_another(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> r[],<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a>* PV,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a>* QV);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_ate(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *r,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_double_ate(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *r,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *R,<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *S);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_fexp(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_G1mul(<a class="code" href="structECP__BLS24.html">ECP_BLS24</a> *Q,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_G2mul(<a class="code" href="structECP4__BLS24.html">ECP4_BLS24</a> *P,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_GTpow(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> b);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS24_GTmember(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *x);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS24_nbits(<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> n3,<a class="code" href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a> n);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_initmp(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> r[]);</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;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS24_miller(<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> *res,<a class="code" href="structFP24__BLS24.html">FP24_BLS24</a> r[]);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__BLS24_8h_html_a14b20db943ac625e4172097b165e4331"><div class="ttname"><a href="ecp__BLS24_8h.html#a14b20db943ac625e4172097b165e4331">CURVE_W_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_W_BLS24[2]</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a5bad3855136bb896a772bd83fad01e6c"><div class="ttname"><a href="ecp__BLS24_8h.html#a5bad3855136bb896a772bd83fad01e6c">CURVE_SB_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_SB_BLS24[2][2]</div></div>
-<div class="ttc" id="ecp__BLS24_8h_html"><div class="ttname"><a href="ecp__BLS24_8h.html">ecp_BLS24.h</a></div><div class="ttdoc">ECP Header File.</div></div>
+<div class="ttc" id="ecp__BLS24_8h_html"><div class="ttname"><a href="ecp__BLS24_8h.html">ecp_BLS24.h</a></div><div class="ttdoc">ECP Header File. </div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a13fecb13cb8be0789f4127fa9609b51c"><div class="ttname"><a href="ecp__BLS24_8h.html#a13fecb13cb8be0789f4127fa9609b51c">CURVE_Cru_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Cru_BLS24</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a709d65f7c1cf566606d66655cfc181b9"><div class="ttname"><a href="ecp__BLS24_8h.html#a709d65f7c1cf566606d66655cfc181b9">CURVE_Bnx_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_Bnx_BLS24</div></div>
-<div class="ttc" id="structECP4__BLS24_html"><div class="ttname"><a href="structECP4__BLS24.html">ECP4_BLS24</a></div><div class="ttdoc">ECP4 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:31</div></div>
-<div class="ttc" id="structFP24__BLS24_html"><div class="ttname"><a href="structFP24__BLS24.html">FP24_BLS24</a></div><div class="ttdoc">FP12 Structure - towered over three FP8.</div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:29</div></div>
-<div class="ttc" id="structECP__BLS24_html"><div class="ttname"><a href="structECP__BLS24.html">ECP_BLS24</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS24.h:105</div></div>
+<div class="ttc" id="structECP4__BLS24_html"><div class="ttname"><a href="structECP4__BLS24.html">ECP4_BLS24</a></div><div class="ttdoc">ECP4 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp4_BLS24.h:31</div></div>
+<div class="ttc" id="structFP24__BLS24_html"><div class="ttname"><a href="structFP24__BLS24.html">FP24_BLS24</a></div><div class="ttdoc">FP12 Structure - towered over three FP8. </div><div class="ttdef"><b>Definition:</b> fp24_BLS24.h:29</div></div>
+<div class="ttc" id="structECP__BLS24_html"><div class="ttname"><a href="structECP__BLS24.html">ECP_BLS24</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS24.h:105</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_a37ff0d9d4122324cb4b436812b4ab93d"><div class="ttname"><a href="ecp__BLS24_8h.html#a37ff0d9d4122324cb4b436812b4ab93d">CURVE_WB_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_WB_BLS24[4]</div></div>
 <div class="ttc" id="big__480__56_8h_html_a5bf780014d489361cffeb4dd5a89fcba"><div class="ttname"><a href="big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba">BIG_480_56</a></div><div class="ttdeci">chunk BIG_480_56[NLEN_480_56]</div><div class="ttdef"><b>Definition:</b> big_480_56.h:58</div></div>
 <div class="ttc" id="ecp__BLS24_8h_html_aa58915d10b48e5bbf4bb2c7428b36a92"><div class="ttname"><a href="ecp__BLS24_8h.html#aa58915d10b48e5bbf4bb2c7428b36a92">CURVE_BB_BLS24</a></div><div class="ttdeci">const BIG_480_56 CURVE_BB_BLS24[4][4]</div></div>
@@ -85,7 +88,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/pair256__BLS48_8h_source.html b/website/static/cdocs/pair256__BLS48_8h_source.html
index c33bfe0..3178b0d 100644
--- a/website/static/cdocs/pair256__BLS48_8h_source.html
+++ b/website/static/cdocs/pair256__BLS48_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: pair256_BLS48.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,15 +72,15 @@
 <div class="title">pair256_BLS48.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;<span class="preprocessor">#ifndef PAIR256_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define PAIR256_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp48_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;ecp8_BLS48.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS48_8h.html">ecp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">/* Pairing constants */</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a>; </div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac0d02388d5a9ae47636cae925af9e9c4">CURVE_Cru_BLS48</a>; </div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5706495c30b1e31626ac53bf46bb7f01">CURVE_W_BLS48</a>[2];        </div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a764bb08e4d5be373c2e250d5480805be">CURVE_SB_BLS48</a>[2][2]; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a40668810415ea1a1385010871050dc2f">CURVE_WB_BLS48</a>[4];       </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6ce6af013412b72e4ca615905c2b447f">CURVE_BB_BLS48</a>[4][4]; </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_another(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> r[],<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a>* PV,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a>* QV);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_ate(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_double_ate(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *R,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *S);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_fexp(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_G1mul(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_G2mul(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_GTpow(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS48_GTmember(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS48_nbits(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n3,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_initmp(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> r[]);</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;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_miller(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *res,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> r[]);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP8__BLS48_html"><div class="ttname"><a href="structECP8__BLS48.html">ECP8_BLS48</a></div><div class="ttdoc">ECP8 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp8_BLS48.h:35</div></div>
-<div class="ttc" id="ecp__BLS48_8h_html"><div class="ttname"><a href="ecp__BLS48_8h.html">ecp_BLS48.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="structFP48__BLS48_html"><div class="ttname"><a href="structFP48__BLS48.html">FP48_BLS48</a></div><div class="ttdoc">FP12 Structure - towered over three FP16.</div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:29</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;<span class="preprocessor">#ifndef PAIR256_BLS48_H</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define PAIR256_BLS48_H</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;fp48_BLS48.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;ecp8_BLS48.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS48_8h.html">ecp_BLS48.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">/* Pairing constants */</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="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a>; </div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#ac0d02388d5a9ae47636cae925af9e9c4">CURVE_Cru_BLS48</a>; </div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a5706495c30b1e31626ac53bf46bb7f01">CURVE_W_BLS48</a>[2];    </div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a764bb08e4d5be373c2e250d5480805be">CURVE_SB_BLS48</a>[2][2]; </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a40668810415ea1a1385010871050dc2f">CURVE_WB_BLS48</a>[4];   </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> <a class="code" href="ecp__BLS48_8h.html#a6ce6af013412b72e4ca615905c2b447f">CURVE_BB_BLS48</a>[4][4]; </div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_another(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> r[],<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a>* PV,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a>* QV);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_ate(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_double_ate(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *r,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *R,<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *S);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_fexp(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_G1mul(<a class="code" href="structECP__BLS48.html">ECP_BLS48</a> *Q,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_G2mul(<a class="code" href="structECP8__BLS48.html">ECP8_BLS48</a> *P,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_GTpow(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> b);</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS48_GTmember(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *x);</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> PAIR_BLS48_nbits(<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n3,<a class="code" href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a> n);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_initmp(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> r[]);</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;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> PAIR_BLS48_miller(<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> *res,<a class="code" href="structFP48__BLS48.html">FP48_BLS48</a> r[]);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP8__BLS48_html"><div class="ttname"><a href="structECP8__BLS48.html">ECP8_BLS48</a></div><div class="ttdoc">ECP8 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp8_BLS48.h:35</div></div>
+<div class="ttc" id="ecp__BLS48_8h_html"><div class="ttname"><a href="ecp__BLS48_8h.html">ecp_BLS48.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="structFP48__BLS48_html"><div class="ttname"><a href="structFP48__BLS48.html">FP48_BLS48</a></div><div class="ttdoc">FP12 Structure - towered over three FP16. </div><div class="ttdef"><b>Definition:</b> fp48_BLS48.h:29</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a6ce6af013412b72e4ca615905c2b447f"><div class="ttname"><a href="ecp__BLS48_8h.html#a6ce6af013412b72e4ca615905c2b447f">CURVE_BB_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_BB_BLS48[4][4]</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_ac0d02388d5a9ae47636cae925af9e9c4"><div class="ttname"><a href="ecp__BLS48_8h.html#ac0d02388d5a9ae47636cae925af9e9c4">CURVE_Cru_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Cru_BLS48</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a40668810415ea1a1385010871050dc2f"><div class="ttname"><a href="ecp__BLS48_8h.html#a40668810415ea1a1385010871050dc2f">CURVE_WB_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_WB_BLS48[4]</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a764bb08e4d5be373c2e250d5480805be"><div class="ttname"><a href="ecp__BLS48_8h.html#a764bb08e4d5be373c2e250d5480805be">CURVE_SB_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_SB_BLS48[2][2]</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a1a09fcdee43807fb24f1265b5fffd56b"><div class="ttname"><a href="ecp__BLS48_8h.html#a1a09fcdee43807fb24f1265b5fffd56b">CURVE_Bnx_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_Bnx_BLS48</div></div>
-<div class="ttc" id="structECP__BLS48_html"><div class="ttname"><a href="structECP__BLS48.html">ECP_BLS48</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS48.h:105</div></div>
+<div class="ttc" id="structECP__BLS48_html"><div class="ttname"><a href="structECP__BLS48.html">ECP_BLS48</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS48.h:105</div></div>
 <div class="ttc" id="big__560__58_8h_html_a6149450df1017dc5c4ef9e54fad78b30"><div class="ttname"><a href="big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30">BIG_560_58</a></div><div class="ttdeci">chunk BIG_560_58[NLEN_560_58]</div><div class="ttdef"><b>Definition:</b> big_560_58.h:58</div></div>
 <div class="ttc" id="ecp__BLS48_8h_html_a5706495c30b1e31626ac53bf46bb7f01"><div class="ttname"><a href="ecp__BLS48_8h.html#a5706495c30b1e31626ac53bf46bb7f01">CURVE_W_BLS48</a></div><div class="ttdeci">const BIG_560_58 CURVE_W_BLS48[2]</div></div>
 </div><!-- fragment --></div><!-- contents -->
@@ -85,7 +88,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/pair__BLS381_8h.html b/website/static/cdocs/pair__BLS381_8h.html
index d532f0d..7e82b46 100644
--- a/website/static/cdocs/pair__BLS381_8h.html
+++ b/website/static/cdocs/pair__BLS381_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: pair_BLS381.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"
@@ -620,7 +623,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/pair__BLS381_8h_source.html b/website/static/cdocs/pair__BLS381_8h_source.html
index 718cda4..6577aba 100644
--- a/website/static/cdocs/pair__BLS381_8h_source.html
+++ b/website/static/cdocs/pair__BLS381_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: pair_BLS381.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,36 +72,36 @@
 <div class="title">pair_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pair__BLS381_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 PAIR_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BLS381_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 &quot;<a class="code" href="fp12__BLS381_8h.html">fp12_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BLS381_8h.html">ecp2_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS381_8h.html">ecp_BLS381.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#a633370fe9d1b0f30c7877879f7371908">CURVE_Cru_BLS381</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a>[2];       </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#adc31f7aafa529744e1417b7ad6c8dada">CURVE_SB_BLS381</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#a569727714eda3247c43e488b37fbd272">CURVE_WB_BLS381</a>[4];      </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#ae6a6e6a7e0cdd1fc2dc14b38da49893a">CURVE_BB_BLS381</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642">PAIR_BLS381_another</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> r[],<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a>* PV,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#aa3d950560e479b434ce3c0545e8936ee">PAIR_BLS381_ate</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#aaba8972448d80a300a888b78a7c84af6">PAIR_BLS381_double_ate</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *R,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#ae77aedc08756ccbb616e332d87c32e51">PAIR_BLS381_fexp</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</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="pair__BLS381_8h.html#a323af36abba2fbaf4fe09b6710cb0bed">PAIR_BLS381_G1mul</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a84edb7faf7d71c4add6cc2754c2abb35">PAIR_BLS381_G2mul</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a0ed48bfd50fdd775e6cc38d4a08636f3">PAIR_BLS381_GTpow</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS381_8h.html#a695742fa685c3eb2c553813b68007d89">PAIR_BLS381_GTmember</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS381_8h.html#a05faad81610f46cfeba3a85a3981bce6">PAIR_BLS381_nbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n3,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a128c75bb37658aa1e938ce717dd89068">PAIR_BLS381_initmp</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BLS381_8h.html#a64761d2d91aef5497a8d587bbf80787b">PAIR_BLS381_miller</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *res,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BLS381_8h_html_ae6e182a64e658ae2f24b4ce059dc1a7c"><div class="ttname"><a href="pair__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Bnx_BLS381</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_aa3d950560e479b434ce3c0545e8936ee"><div class="ttname"><a href="pair__BLS381_8h.html#aa3d950560e479b434ce3c0545e8936ee">PAIR_BLS381_ate</a></div><div class="ttdeci">void PAIR_BLS381_ate(FP12_BLS381 *r, ECP2_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q)</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:272</div></div>
+<a href="pair__BLS381_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 PAIR_BLS381_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BLS381_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 &quot;<a class="code" href="fp12__BLS381_8h.html">fp12_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BLS381_8h.html">ecp2_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS381_8h.html">ecp_BLS381.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#a633370fe9d1b0f30c7877879f7371908">CURVE_Cru_BLS381</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a>[2];   </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#adc31f7aafa529744e1417b7ad6c8dada">CURVE_SB_BLS381</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#a569727714eda3247c43e488b37fbd272">CURVE_WB_BLS381</a>[4];  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS381_8h.html#ae6a6e6a7e0cdd1fc2dc14b38da49893a">CURVE_BB_BLS381</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642">PAIR_BLS381_another</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> r[],<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a>* PV,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#aa3d950560e479b434ce3c0545e8936ee">PAIR_BLS381_ate</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#aaba8972448d80a300a888b78a7c84af6">PAIR_BLS381_double_ate</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *r,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *R,<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#ae77aedc08756ccbb616e332d87c32e51">PAIR_BLS381_fexp</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</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="pair__BLS381_8h.html#a323af36abba2fbaf4fe09b6710cb0bed">PAIR_BLS381_G1mul</a>(<a class="code" href="structECP__BLS381.html">ECP_BLS381</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a84edb7faf7d71c4add6cc2754c2abb35">PAIR_BLS381_G2mul</a>(<a class="code" href="structECP2__BLS381.html">ECP2_BLS381</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a0ed48bfd50fdd775e6cc38d4a08636f3">PAIR_BLS381_GTpow</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS381_8h.html#a695742fa685c3eb2c553813b68007d89">PAIR_BLS381_GTmember</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS381_8h.html#a05faad81610f46cfeba3a85a3981bce6">PAIR_BLS381_nbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n3,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS381_8h.html#a128c75bb37658aa1e938ce717dd89068">PAIR_BLS381_initmp</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BLS381_8h.html#a64761d2d91aef5497a8d587bbf80787b">PAIR_BLS381_miller</a>(<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> *res,<a class="code" href="structFP12__BLS381.html">FP12_BLS381</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BLS381_8h_html_ae6e182a64e658ae2f24b4ce059dc1a7c"><div class="ttname"><a href="pair__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Bnx_BLS381</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_aa3d950560e479b434ce3c0545e8936ee"><div class="ttname"><a href="pair__BLS381_8h.html#aa3d950560e479b434ce3c0545e8936ee">PAIR_BLS381_ate</a></div><div class="ttdeci">void PAIR_BLS381_ate(FP12_BLS381 *r, ECP2_BLS381 *P, ECP_BLS381 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q) </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:272</div></div>
 <div class="ttc" id="pair__BLS381_8h_html_adc31f7aafa529744e1417b7ad6c8dada"><div class="ttname"><a href="pair__BLS381_8h.html#adc31f7aafa529744e1417b7ad6c8dada">CURVE_SB_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_SB_BLS381[2][2]</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_aaba8972448d80a300a888b78a7c84af6"><div class="ttname"><a href="pair__BLS381_8h.html#aaba8972448d80a300a888b78a7c84af6">PAIR_BLS381_double_ate</a></div><div class="ttdeci">void PAIR_BLS381_double_ate(FP12_BLS381 *r, ECP2_BLS381 *P, ECP_BLS381 *Q, ECP2_BLS381 *R, ECP_BLS381 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:356</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_aaba8972448d80a300a888b78a7c84af6"><div class="ttname"><a href="pair__BLS381_8h.html#aaba8972448d80a300a888b78a7c84af6">PAIR_BLS381_double_ate</a></div><div class="ttdeci">void PAIR_BLS381_double_ate(FP12_BLS381 *r, ECP2_BLS381 *P, ECP_BLS381 *Q, ECP2_BLS381 *R, ECP_BLS381 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S) </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:356</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
 <div class="ttc" id="pair__BLS381_8h_html_a64af80fccbee15e68a18615680ebff58"><div class="ttname"><a href="pair__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_W_BLS381[2]</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a84edb7faf7d71c4add6cc2754c2abb35"><div class="ttname"><a href="pair__BLS381_8h.html#a84edb7faf7d71c4add6cc2754c2abb35">PAIR_BLS381_G2mul</a></div><div class="ttdeci">void PAIR_BLS381_G2mul(ECP2_BLS381 *P, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:764</div></div>
-<div class="ttc" id="ecp__BLS381_8h_html"><div class="ttname"><a href="ecp__BLS381_8h.html">ecp_BLS381.h</a></div><div class="ttdoc">ECP Header File.</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a84edb7faf7d71c4add6cc2754c2abb35"><div class="ttname"><a href="pair__BLS381_8h.html#a84edb7faf7d71c4add6cc2754c2abb35">PAIR_BLS381_G2mul</a></div><div class="ttdeci">void PAIR_BLS381_G2mul(ECP2_BLS381 *P, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:764</div></div>
+<div class="ttc" id="ecp__BLS381_8h_html"><div class="ttname"><a href="ecp__BLS381_8h.html">ecp_BLS381.h</a></div><div class="ttdoc">ECP Header File. </div></div>
 <div class="ttc" id="pair__BLS381_8h_html_a633370fe9d1b0f30c7877879f7371908"><div class="ttname"><a href="pair__BLS381_8h.html#a633370fe9d1b0f30c7877879f7371908">CURVE_Cru_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cru_BLS381</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a128c75bb37658aa1e938ce717dd89068"><div class="ttname"><a href="pair__BLS381_8h.html#a128c75bb37658aa1e938ce717dd89068">PAIR_BLS381_initmp</a></div><div class="ttdeci">void PAIR_BLS381_initmp(FP12_BLS381 r[])</div><div class="ttdoc">Initialise structure for multi-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:173</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a64761d2d91aef5497a8d587bbf80787b"><div class="ttname"><a href="pair__BLS381_8h.html#a64761d2d91aef5497a8d587bbf80787b">PAIR_BLS381_miller</a></div><div class="ttdeci">void PAIR_BLS381_miller(FP12_BLS381 *res, FP12_BLS381 r[])</div><div class="ttdoc">Miller loop.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:182</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a05faad81610f46cfeba3a85a3981bce6"><div class="ttname"><a href="pair__BLS381_8h.html#a05faad81610f46cfeba3a85a3981bce6">PAIR_BLS381_nbits</a></div><div class="ttdeci">int PAIR_BLS381_nbits(BIG_384_58 n3, BIG_384_58 n)</div><div class="ttdoc">Prepare Ate parameter.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:139</div></div>
-<div class="ttc" id="structFP12__BLS381_html"><div class="ttname"><a href="structFP12__BLS381.html">FP12_BLS381</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:36</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a128c75bb37658aa1e938ce717dd89068"><div class="ttname"><a href="pair__BLS381_8h.html#a128c75bb37658aa1e938ce717dd89068">PAIR_BLS381_initmp</a></div><div class="ttdeci">void PAIR_BLS381_initmp(FP12_BLS381 r[])</div><div class="ttdoc">Initialise structure for multi-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:173</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a64761d2d91aef5497a8d587bbf80787b"><div class="ttname"><a href="pair__BLS381_8h.html#a64761d2d91aef5497a8d587bbf80787b">PAIR_BLS381_miller</a></div><div class="ttdeci">void PAIR_BLS381_miller(FP12_BLS381 *res, FP12_BLS381 r[])</div><div class="ttdoc">Miller loop. </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:182</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a05faad81610f46cfeba3a85a3981bce6"><div class="ttname"><a href="pair__BLS381_8h.html#a05faad81610f46cfeba3a85a3981bce6">PAIR_BLS381_nbits</a></div><div class="ttdeci">int PAIR_BLS381_nbits(BIG_384_58 n3, BIG_384_58 n)</div><div class="ttdoc">Prepare Ate parameter. </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:139</div></div>
+<div class="ttc" id="structFP12__BLS381_html"><div class="ttname"><a href="structFP12__BLS381.html">FP12_BLS381</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS381.h:36</div></div>
 <div class="ttc" id="pair__BLS381_8h_html_ae6a6e6a7e0cdd1fc2dc14b38da49893a"><div class="ttname"><a href="pair__BLS381_8h.html#ae6a6e6a7e0cdd1fc2dc14b38da49893a">CURVE_BB_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_BB_BLS381[4][4]</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a695742fa685c3eb2c553813b68007d89"><div class="ttname"><a href="pair__BLS381_8h.html#a695742fa685c3eb2c553813b68007d89">PAIR_BLS381_GTmember</a></div><div class="ttdeci">int PAIR_BLS381_GTmember(FP12_BLS381 *x)</div><div class="ttdoc">Tests FP12 for membership of GT.</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_ae77aedc08756ccbb616e332d87c32e51"><div class="ttname"><a href="pair__BLS381_8h.html#ae77aedc08756ccbb616e332d87c32e51">PAIR_BLS381_fexp</a></div><div class="ttdeci">void PAIR_BLS381_fexp(FP12_BLS381 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:469</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a0ed48bfd50fdd775e6cc38d4a08636f3"><div class="ttname"><a href="pair__BLS381_8h.html#a0ed48bfd50fdd775e6cc38d4a08636f3">PAIR_BLS381_GTpow</a></div><div class="ttdeci">void PAIR_BLS381_GTpow(FP12_BLS381 *x, BIG_384_58 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:813</div></div>
-<div class="ttc" id="structECP__BLS381_html"><div class="ttname"><a href="structECP__BLS381.html">ECP_BLS381</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS381.h:105</div></div>
-<div class="ttc" id="ecp2__BLS381_8h_html"><div class="ttname"><a href="ecp2__BLS381_8h.html">ecp2_BLS381.h</a></div><div class="ttdoc">ECP2 Header File.</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a695742fa685c3eb2c553813b68007d89"><div class="ttname"><a href="pair__BLS381_8h.html#a695742fa685c3eb2c553813b68007d89">PAIR_BLS381_GTmember</a></div><div class="ttdeci">int PAIR_BLS381_GTmember(FP12_BLS381 *x)</div><div class="ttdoc">Tests FP12 for membership of GT. </div></div>
+<div class="ttc" id="pair__BLS381_8h_html_ae77aedc08756ccbb616e332d87c32e51"><div class="ttname"><a href="pair__BLS381_8h.html#ae77aedc08756ccbb616e332d87c32e51">PAIR_BLS381_fexp</a></div><div class="ttdeci">void PAIR_BLS381_fexp(FP12_BLS381 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT. ...</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:469</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a0ed48bfd50fdd775e6cc38d4a08636f3"><div class="ttname"><a href="pair__BLS381_8h.html#a0ed48bfd50fdd775e6cc38d4a08636f3">PAIR_BLS381_GTpow</a></div><div class="ttdeci">void PAIR_BLS381_GTpow(FP12_BLS381 *x, BIG_384_58 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power. </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:813</div></div>
+<div class="ttc" id="structECP__BLS381_html"><div class="ttname"><a href="structECP__BLS381.html">ECP_BLS381</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS381.h:105</div></div>
+<div class="ttc" id="ecp2__BLS381_8h_html"><div class="ttname"><a href="ecp2__BLS381_8h.html">ecp2_BLS381.h</a></div><div class="ttdoc">ECP2 Header File. </div></div>
 <div class="ttc" id="pair__BLS381_8h_html_a569727714eda3247c43e488b37fbd272"><div class="ttname"><a href="pair__BLS381_8h.html#a569727714eda3247c43e488b37fbd272">CURVE_WB_BLS381</a></div><div class="ttdeci">const BIG_384_58 CURVE_WB_BLS381[4]</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a8f9fc9a8acb5a52a063b657ca1ff5642"><div class="ttname"><a href="pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642">PAIR_BLS381_another</a></div><div class="ttdeci">void PAIR_BLS381_another(FP12_BLS381 r[], ECP2_BLS381 *PV, ECP_BLS381 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:200</div></div>
-<div class="ttc" id="pair__BLS381_8h_html_a323af36abba2fbaf4fe09b6710cb0bed"><div class="ttname"><a href="pair__BLS381_8h.html#a323af36abba2fbaf4fe09b6710cb0bed">PAIR_BLS381_G1mul</a></div><div class="ttdeci">void PAIR_BLS381_G1mul(ECP_BLS381 *Q, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:718</div></div>
-<div class="ttc" id="fp12__BLS381_8h_html"><div class="ttname"><a href="fp12__BLS381_8h.html">fp12_BLS381.h</a></div><div class="ttdoc">FP12 Header File.</div></div>
-<div class="ttc" id="structECP2__BLS381_html"><div class="ttname"><a href="structECP2__BLS381.html">ECP2_BLS381</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.h:37</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a8f9fc9a8acb5a52a063b657ca1ff5642"><div class="ttname"><a href="pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642">PAIR_BLS381_another</a></div><div class="ttdeci">void PAIR_BLS381_another(FP12_BLS381 r[], ECP2_BLS381 *PV, ECP_BLS381 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:200</div></div>
+<div class="ttc" id="pair__BLS381_8h_html_a323af36abba2fbaf4fe09b6710cb0bed"><div class="ttname"><a href="pair__BLS381_8h.html#a323af36abba2fbaf4fe09b6710cb0bed">PAIR_BLS381_G1mul</a></div><div class="ttdeci">void PAIR_BLS381_G1mul(ECP_BLS381 *Q, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BLS381.c:718</div></div>
+<div class="ttc" id="fp12__BLS381_8h_html"><div class="ttname"><a href="fp12__BLS381_8h.html">fp12_BLS381.h</a></div><div class="ttdoc">FP12 Header File. </div></div>
+<div class="ttc" id="structECP2__BLS381_html"><div class="ttname"><a href="structECP2__BLS381.html">ECP2_BLS381</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS381.h:37</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/pair__BLS383_8h.html b/website/static/cdocs/pair__BLS383_8h.html
index 526d5c2..f8d3020 100644
--- a/website/static/cdocs/pair__BLS383_8h.html
+++ b/website/static/cdocs/pair__BLS383_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: pair_BLS383.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"
@@ -620,7 +623,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/pair__BLS383_8h_source.html b/website/static/cdocs/pair__BLS383_8h_source.html
index 0919718..c49428d 100644
--- a/website/static/cdocs/pair__BLS383_8h_source.html
+++ b/website/static/cdocs/pair__BLS383_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: pair_BLS383.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,36 +72,36 @@
 <div class="title">pair_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pair__BLS383_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 PAIR_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BLS383_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 &quot;<a class="code" href="fp12__BLS383_8h.html">fp12_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BLS383_8h.html">ecp2_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS383_8h.html">ecp_BLS383.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#af264d94469f96df653876035cabbeff6">CURVE_Cru_BLS383</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#acfbd6d74f94e57d1460a01c7a29375a1">CURVE_W_BLS383</a>[2];       </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#aa161ba561e6e819ffe09927244502e25">CURVE_SB_BLS383</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#a18de889be7822e7c66cdc0d6b4dea71b">CURVE_WB_BLS383</a>[4];      </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#ace4a1c29ae245f9ce4a1a4cd44f30157">CURVE_BB_BLS383</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a2abc23933ed3aae1cdd672b9891e299b">PAIR_BLS383_another</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> r[],<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a>* PV,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#aad0ff731e31659a054cc788b80ef9c18">PAIR_BLS383_ate</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a8aaf02843d7f66cbf340b162ac208883">PAIR_BLS383_double_ate</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *R,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a81b3bb753c27e4dd2c3815ea5e55f993">PAIR_BLS383_fexp</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</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="pair__BLS383_8h.html#a2342d85d4e2b2b6a6bda7333d975efaf">PAIR_BLS383_G1mul</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a4a2d1003614e730d8c9857a7ce1a43fc">PAIR_BLS383_G2mul</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a70ead548d56382ff8d38db415e0661c0">PAIR_BLS383_GTpow</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS383_8h.html#acd746c57aab8bec076bc1022aaae11a3">PAIR_BLS383_GTmember</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS383_8h.html#a07fbf1900e5d6fc628d097705edab882">PAIR_BLS383_nbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n3,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#ace5fe6d0ff924bf734c1cebf1722a5e0">PAIR_BLS383_initmp</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BLS383_8h.html#a7f338cadb3093d12ba49884315104bc4">PAIR_BLS383_miller</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *res,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BLS383_8h_html_a4a2d1003614e730d8c9857a7ce1a43fc"><div class="ttname"><a href="pair__BLS383_8h.html#a4a2d1003614e730d8c9857a7ce1a43fc">PAIR_BLS383_G2mul</a></div><div class="ttdeci">void PAIR_BLS383_G2mul(ECP2_BLS383 *P, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:764</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_a07fbf1900e5d6fc628d097705edab882"><div class="ttname"><a href="pair__BLS383_8h.html#a07fbf1900e5d6fc628d097705edab882">PAIR_BLS383_nbits</a></div><div class="ttdeci">int PAIR_BLS383_nbits(BIG_384_58 n3, BIG_384_58 n)</div><div class="ttdoc">Prepare Ate parameter.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:139</div></div>
+<a href="pair__BLS383_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 PAIR_BLS383_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BLS383_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 &quot;<a class="code" href="fp12__BLS383_8h.html">fp12_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BLS383_8h.html">ecp2_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS383_8h.html">ecp_BLS383.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#af264d94469f96df653876035cabbeff6">CURVE_Cru_BLS383</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#acfbd6d74f94e57d1460a01c7a29375a1">CURVE_W_BLS383</a>[2];   </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#aa161ba561e6e819ffe09927244502e25">CURVE_SB_BLS383</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#a18de889be7822e7c66cdc0d6b4dea71b">CURVE_WB_BLS383</a>[4];  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> <a class="code" href="pair__BLS383_8h.html#ace4a1c29ae245f9ce4a1a4cd44f30157">CURVE_BB_BLS383</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a2abc23933ed3aae1cdd672b9891e299b">PAIR_BLS383_another</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> r[],<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a>* PV,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#aad0ff731e31659a054cc788b80ef9c18">PAIR_BLS383_ate</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a8aaf02843d7f66cbf340b162ac208883">PAIR_BLS383_double_ate</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *r,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *R,<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a81b3bb753c27e4dd2c3815ea5e55f993">PAIR_BLS383_fexp</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</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="pair__BLS383_8h.html#a2342d85d4e2b2b6a6bda7333d975efaf">PAIR_BLS383_G1mul</a>(<a class="code" href="structECP__BLS383.html">ECP_BLS383</a> *Q,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a4a2d1003614e730d8c9857a7ce1a43fc">PAIR_BLS383_G2mul</a>(<a class="code" href="structECP2__BLS383.html">ECP2_BLS383</a> *P,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#a70ead548d56382ff8d38db415e0661c0">PAIR_BLS383_GTpow</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS383_8h.html#acd746c57aab8bec076bc1022aaae11a3">PAIR_BLS383_GTmember</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS383_8h.html#a07fbf1900e5d6fc628d097705edab882">PAIR_BLS383_nbits</a>(<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n3,<a class="code" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS383_8h.html#ace5fe6d0ff924bf734c1cebf1722a5e0">PAIR_BLS383_initmp</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BLS383_8h.html#a7f338cadb3093d12ba49884315104bc4">PAIR_BLS383_miller</a>(<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> *res,<a class="code" href="structFP12__BLS383.html">FP12_BLS383</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BLS383_8h_html_a4a2d1003614e730d8c9857a7ce1a43fc"><div class="ttname"><a href="pair__BLS383_8h.html#a4a2d1003614e730d8c9857a7ce1a43fc">PAIR_BLS383_G2mul</a></div><div class="ttdeci">void PAIR_BLS383_G2mul(ECP2_BLS383 *P, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:764</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_a07fbf1900e5d6fc628d097705edab882"><div class="ttname"><a href="pair__BLS383_8h.html#a07fbf1900e5d6fc628d097705edab882">PAIR_BLS383_nbits</a></div><div class="ttdeci">int PAIR_BLS383_nbits(BIG_384_58 n3, BIG_384_58 n)</div><div class="ttdoc">Prepare Ate parameter. </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:139</div></div>
 <div class="ttc" id="pair__BLS383_8h_html_a18de889be7822e7c66cdc0d6b4dea71b"><div class="ttname"><a href="pair__BLS383_8h.html#a18de889be7822e7c66cdc0d6b4dea71b">CURVE_WB_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_WB_BLS383[4]</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_a2342d85d4e2b2b6a6bda7333d975efaf"><div class="ttname"><a href="pair__BLS383_8h.html#a2342d85d4e2b2b6a6bda7333d975efaf">PAIR_BLS383_G1mul</a></div><div class="ttdeci">void PAIR_BLS383_G1mul(ECP_BLS383 *Q, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:718</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_a2342d85d4e2b2b6a6bda7333d975efaf"><div class="ttname"><a href="pair__BLS383_8h.html#a2342d85d4e2b2b6a6bda7333d975efaf">PAIR_BLS383_G1mul</a></div><div class="ttdeci">void PAIR_BLS383_G1mul(ECP_BLS383 *Q, BIG_384_58 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:718</div></div>
 <div class="ttc" id="pair__BLS383_8h_html_aa161ba561e6e819ffe09927244502e25"><div class="ttname"><a href="pair__BLS383_8h.html#aa161ba561e6e819ffe09927244502e25">CURVE_SB_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_SB_BLS383[2][2]</div></div>
-<div class="ttc" id="ecp__BLS383_8h_html"><div class="ttname"><a href="ecp__BLS383_8h.html">ecp_BLS383.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_a70ead548d56382ff8d38db415e0661c0"><div class="ttname"><a href="pair__BLS383_8h.html#a70ead548d56382ff8d38db415e0661c0">PAIR_BLS383_GTpow</a></div><div class="ttdeci">void PAIR_BLS383_GTpow(FP12_BLS383 *x, BIG_384_58 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:813</div></div>
+<div class="ttc" id="ecp__BLS383_8h_html"><div class="ttname"><a href="ecp__BLS383_8h.html">ecp_BLS383.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="pair__BLS383_8h_html_a70ead548d56382ff8d38db415e0661c0"><div class="ttname"><a href="pair__BLS383_8h.html#a70ead548d56382ff8d38db415e0661c0">PAIR_BLS383_GTpow</a></div><div class="ttdeci">void PAIR_BLS383_GTpow(FP12_BLS383 *x, BIG_384_58 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power. </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:813</div></div>
 <div class="ttc" id="big__384__58_8h_html_ab8c68dbf8612f8f005c402a289c5da31"><div class="ttname"><a href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a></div><div class="ttdeci">chunk BIG_384_58[NLEN_384_58]</div><div class="ttdef"><b>Definition:</b> big_384_58.h:58</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_a2abc23933ed3aae1cdd672b9891e299b"><div class="ttname"><a href="pair__BLS383_8h.html#a2abc23933ed3aae1cdd672b9891e299b">PAIR_BLS383_another</a></div><div class="ttdeci">void PAIR_BLS383_another(FP12_BLS383 r[], ECP2_BLS383 *PV, ECP_BLS383 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:200</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_ace5fe6d0ff924bf734c1cebf1722a5e0"><div class="ttname"><a href="pair__BLS383_8h.html#ace5fe6d0ff924bf734c1cebf1722a5e0">PAIR_BLS383_initmp</a></div><div class="ttdeci">void PAIR_BLS383_initmp(FP12_BLS383 r[])</div><div class="ttdoc">Initialise structure for multi-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:173</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_a8aaf02843d7f66cbf340b162ac208883"><div class="ttname"><a href="pair__BLS383_8h.html#a8aaf02843d7f66cbf340b162ac208883">PAIR_BLS383_double_ate</a></div><div class="ttdeci">void PAIR_BLS383_double_ate(FP12_BLS383 *r, ECP2_BLS383 *P, ECP_BLS383 *Q, ECP2_BLS383 *R, ECP_BLS383 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:356</div></div>
-<div class="ttc" id="structECP2__BLS383_html"><div class="ttname"><a href="structECP2__BLS383.html">ECP2_BLS383</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.h:37</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_a2abc23933ed3aae1cdd672b9891e299b"><div class="ttname"><a href="pair__BLS383_8h.html#a2abc23933ed3aae1cdd672b9891e299b">PAIR_BLS383_another</a></div><div class="ttdeci">void PAIR_BLS383_another(FP12_BLS383 r[], ECP2_BLS383 *PV, ECP_BLS383 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:200</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_ace5fe6d0ff924bf734c1cebf1722a5e0"><div class="ttname"><a href="pair__BLS383_8h.html#ace5fe6d0ff924bf734c1cebf1722a5e0">PAIR_BLS383_initmp</a></div><div class="ttdeci">void PAIR_BLS383_initmp(FP12_BLS383 r[])</div><div class="ttdoc">Initialise structure for multi-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:173</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_a8aaf02843d7f66cbf340b162ac208883"><div class="ttname"><a href="pair__BLS383_8h.html#a8aaf02843d7f66cbf340b162ac208883">PAIR_BLS383_double_ate</a></div><div class="ttdeci">void PAIR_BLS383_double_ate(FP12_BLS383 *r, ECP2_BLS383 *P, ECP_BLS383 *Q, ECP2_BLS383 *R, ECP_BLS383 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S) </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:356</div></div>
+<div class="ttc" id="structECP2__BLS383_html"><div class="ttname"><a href="structECP2__BLS383.html">ECP2_BLS383</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS383.h:37</div></div>
 <div class="ttc" id="pair__BLS383_8h_html_acfbd6d74f94e57d1460a01c7a29375a1"><div class="ttname"><a href="pair__BLS383_8h.html#acfbd6d74f94e57d1460a01c7a29375a1">CURVE_W_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_W_BLS383[2]</div></div>
 <div class="ttc" id="pair__BLS383_8h_html_af264d94469f96df653876035cabbeff6"><div class="ttname"><a href="pair__BLS383_8h.html#af264d94469f96df653876035cabbeff6">CURVE_Cru_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Cru_BLS383</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_acd746c57aab8bec076bc1022aaae11a3"><div class="ttname"><a href="pair__BLS383_8h.html#acd746c57aab8bec076bc1022aaae11a3">PAIR_BLS383_GTmember</a></div><div class="ttdeci">int PAIR_BLS383_GTmember(FP12_BLS383 *x)</div><div class="ttdoc">Tests FP12 for membership of GT.</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_acd746c57aab8bec076bc1022aaae11a3"><div class="ttname"><a href="pair__BLS383_8h.html#acd746c57aab8bec076bc1022aaae11a3">PAIR_BLS383_GTmember</a></div><div class="ttdeci">int PAIR_BLS383_GTmember(FP12_BLS383 *x)</div><div class="ttdoc">Tests FP12 for membership of GT. </div></div>
 <div class="ttc" id="pair__BLS383_8h_html_a9041fc9e3d96a065c02c2b919582cd4a"><div class="ttname"><a href="pair__BLS383_8h.html#a9041fc9e3d96a065c02c2b919582cd4a">CURVE_Bnx_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_Bnx_BLS383</div></div>
-<div class="ttc" id="ecp2__BLS383_8h_html"><div class="ttname"><a href="ecp2__BLS383_8h.html">ecp2_BLS383.h</a></div><div class="ttdoc">ECP2 Header File.</div></div>
+<div class="ttc" id="ecp2__BLS383_8h_html"><div class="ttname"><a href="ecp2__BLS383_8h.html">ecp2_BLS383.h</a></div><div class="ttdoc">ECP2 Header File. </div></div>
 <div class="ttc" id="pair__BLS383_8h_html_ace4a1c29ae245f9ce4a1a4cd44f30157"><div class="ttname"><a href="pair__BLS383_8h.html#ace4a1c29ae245f9ce4a1a4cd44f30157">CURVE_BB_BLS383</a></div><div class="ttdeci">const BIG_384_58 CURVE_BB_BLS383[4][4]</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_a81b3bb753c27e4dd2c3815ea5e55f993"><div class="ttname"><a href="pair__BLS383_8h.html#a81b3bb753c27e4dd2c3815ea5e55f993">PAIR_BLS383_fexp</a></div><div class="ttdeci">void PAIR_BLS383_fexp(FP12_BLS383 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:469</div></div>
-<div class="ttc" id="structECP__BLS383_html"><div class="ttname"><a href="structECP__BLS383.html">ECP_BLS383</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS383.h:105</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_a7f338cadb3093d12ba49884315104bc4"><div class="ttname"><a href="pair__BLS383_8h.html#a7f338cadb3093d12ba49884315104bc4">PAIR_BLS383_miller</a></div><div class="ttdeci">void PAIR_BLS383_miller(FP12_BLS383 *res, FP12_BLS383 r[])</div><div class="ttdoc">Miller loop.</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:182</div></div>
-<div class="ttc" id="fp12__BLS383_8h_html"><div class="ttname"><a href="fp12__BLS383_8h.html">fp12_BLS383.h</a></div><div class="ttdoc">FP12 Header File.</div></div>
-<div class="ttc" id="pair__BLS383_8h_html_aad0ff731e31659a054cc788b80ef9c18"><div class="ttname"><a href="pair__BLS383_8h.html#aad0ff731e31659a054cc788b80ef9c18">PAIR_BLS383_ate</a></div><div class="ttdeci">void PAIR_BLS383_ate(FP12_BLS383 *r, ECP2_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q)</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:272</div></div>
-<div class="ttc" id="structFP12__BLS383_html"><div class="ttname"><a href="structFP12__BLS383.html">FP12_BLS383</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:36</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_a81b3bb753c27e4dd2c3815ea5e55f993"><div class="ttname"><a href="pair__BLS383_8h.html#a81b3bb753c27e4dd2c3815ea5e55f993">PAIR_BLS383_fexp</a></div><div class="ttdeci">void PAIR_BLS383_fexp(FP12_BLS383 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT. ...</div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:469</div></div>
+<div class="ttc" id="structECP__BLS383_html"><div class="ttname"><a href="structECP__BLS383.html">ECP_BLS383</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS383.h:105</div></div>
+<div class="ttc" id="pair__BLS383_8h_html_a7f338cadb3093d12ba49884315104bc4"><div class="ttname"><a href="pair__BLS383_8h.html#a7f338cadb3093d12ba49884315104bc4">PAIR_BLS383_miller</a></div><div class="ttdeci">void PAIR_BLS383_miller(FP12_BLS383 *res, FP12_BLS383 r[])</div><div class="ttdoc">Miller loop. </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:182</div></div>
+<div class="ttc" id="fp12__BLS383_8h_html"><div class="ttname"><a href="fp12__BLS383_8h.html">fp12_BLS383.h</a></div><div class="ttdoc">FP12 Header File. </div></div>
+<div class="ttc" id="pair__BLS383_8h_html_aad0ff731e31659a054cc788b80ef9c18"><div class="ttname"><a href="pair__BLS383_8h.html#aad0ff731e31659a054cc788b80ef9c18">PAIR_BLS383_ate</a></div><div class="ttdeci">void PAIR_BLS383_ate(FP12_BLS383 *r, ECP2_BLS383 *P, ECP_BLS383 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q) </div><div class="ttdef"><b>Definition:</b> pair_BLS383.c:272</div></div>
+<div class="ttc" id="structFP12__BLS383_html"><div class="ttname"><a href="structFP12__BLS383.html">FP12_BLS383</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS383.h:36</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/pair__BLS461_8h.html b/website/static/cdocs/pair__BLS461_8h.html
index f83e2e3..c448c31 100644
--- a/website/static/cdocs/pair__BLS461_8h.html
+++ b/website/static/cdocs/pair__BLS461_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: pair_BLS461.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"
@@ -620,7 +623,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/pair__BLS461_8h_source.html b/website/static/cdocs/pair__BLS461_8h_source.html
index 55dc18f..568c16b 100644
--- a/website/static/cdocs/pair__BLS461_8h_source.html
+++ b/website/static/cdocs/pair__BLS461_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: pair_BLS461.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,36 +72,36 @@
 <div class="title">pair_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pair__BLS461_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 PAIR_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BLS461_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 &quot;<a class="code" href="fp12__BLS461_8h.html">fp12_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BLS461_8h.html">ecp2_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS461_8h.html">ecp_BLS461.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#afe7e0fd0c39ff0b4b1b8de3099ce81f0">CURVE_Cru_BLS461</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#ad2d861f32f2716548769bce77467bf5b">CURVE_W_BLS461</a>[2];       </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#af67e6f3e94e26dceea58d9c96581bef5">CURVE_SB_BLS461</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#a49c91ef078471fdb5370cc6c8f8f9c1b">CURVE_WB_BLS461</a>[4];      </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#a30e9ae647c0f01230bedc414e4c8955a">CURVE_BB_BLS461</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#a14bf96302c0d77f77195e55ba09b672d">PAIR_BLS461_another</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> r[],<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a>* PV,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#aeb3c4bc8e9841f34801ba78ca925d450">PAIR_BLS461_ate</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#adcee25eb6c17b14586c65d3b2f417958">PAIR_BLS461_double_ate</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *R,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#a9da63a97e6d17d24ed34d04a4dffabd7">PAIR_BLS461_fexp</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</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="pair__BLS461_8h.html#a0820445bbd9b98c28bd6e498fecaa3e4">PAIR_BLS461_G1mul</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#ab24b7f436a5420ba9c8663157e9eb658">PAIR_BLS461_G2mul</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#ad83351a3869867f4aed55b7aa346787f">PAIR_BLS461_GTpow</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS461_8h.html#a924359255ef6e88fba44985ee772db72">PAIR_BLS461_GTmember</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS461_8h.html#a34c3d1defe3a2593bf9ec02e6767b808">PAIR_BLS461_nbits</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> n3,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#ae130a2af81eb0cf34f3e714e456d7278">PAIR_BLS461_initmp</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BLS461_8h.html#a8312160a11243f1bc5d678d8194cb234">PAIR_BLS461_miller</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *res,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BLS461_8h_html_a164b6ff6a3e68d61d3423da98df47959"><div class="ttname"><a href="pair__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Bnx_BLS461</div></div>
-<div class="ttc" id="structECP2__BLS461_html"><div class="ttname"><a href="structECP2__BLS461.html">ECP2_BLS461</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.h:37</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_a9da63a97e6d17d24ed34d04a4dffabd7"><div class="ttname"><a href="pair__BLS461_8h.html#a9da63a97e6d17d24ed34d04a4dffabd7">PAIR_BLS461_fexp</a></div><div class="ttdeci">void PAIR_BLS461_fexp(FP12_BLS461 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:469</div></div>
-<div class="ttc" id="fp12__BLS461_8h_html"><div class="ttname"><a href="fp12__BLS461_8h.html">fp12_BLS461.h</a></div><div class="ttdoc">FP12 Header File.</div></div>
+<a href="pair__BLS461_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 PAIR_BLS461_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BLS461_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 &quot;<a class="code" href="fp12__BLS461_8h.html">fp12_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BLS461_8h.html">ecp2_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BLS461_8h.html">ecp_BLS461.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#afe7e0fd0c39ff0b4b1b8de3099ce81f0">CURVE_Cru_BLS461</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#ad2d861f32f2716548769bce77467bf5b">CURVE_W_BLS461</a>[2];   </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#af67e6f3e94e26dceea58d9c96581bef5">CURVE_SB_BLS461</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#a49c91ef078471fdb5370cc6c8f8f9c1b">CURVE_WB_BLS461</a>[4];  </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> <a class="code" href="pair__BLS461_8h.html#a30e9ae647c0f01230bedc414e4c8955a">CURVE_BB_BLS461</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#a14bf96302c0d77f77195e55ba09b672d">PAIR_BLS461_another</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> r[],<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a>* PV,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#aeb3c4bc8e9841f34801ba78ca925d450">PAIR_BLS461_ate</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#adcee25eb6c17b14586c65d3b2f417958">PAIR_BLS461_double_ate</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *r,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *R,<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#a9da63a97e6d17d24ed34d04a4dffabd7">PAIR_BLS461_fexp</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</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="pair__BLS461_8h.html#a0820445bbd9b98c28bd6e498fecaa3e4">PAIR_BLS461_G1mul</a>(<a class="code" href="structECP__BLS461.html">ECP_BLS461</a> *Q,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#ab24b7f436a5420ba9c8663157e9eb658">PAIR_BLS461_G2mul</a>(<a class="code" href="structECP2__BLS461.html">ECP2_BLS461</a> *P,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#ad83351a3869867f4aed55b7aa346787f">PAIR_BLS461_GTpow</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS461_8h.html#a924359255ef6e88fba44985ee772db72">PAIR_BLS461_GTmember</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BLS461_8h.html#a34c3d1defe3a2593bf9ec02e6767b808">PAIR_BLS461_nbits</a>(<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> n3,<a class="code" href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BLS461_8h.html#ae130a2af81eb0cf34f3e714e456d7278">PAIR_BLS461_initmp</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BLS461_8h.html#a8312160a11243f1bc5d678d8194cb234">PAIR_BLS461_miller</a>(<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> *res,<a class="code" href="structFP12__BLS461.html">FP12_BLS461</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BLS461_8h_html_a164b6ff6a3e68d61d3423da98df47959"><div class="ttname"><a href="pair__BLS461_8h.html#a164b6ff6a3e68d61d3423da98df47959">CURVE_Bnx_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Bnx_BLS461</div></div>
+<div class="ttc" id="structECP2__BLS461_html"><div class="ttname"><a href="structECP2__BLS461.html">ECP2_BLS461</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BLS461.h:37</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_a9da63a97e6d17d24ed34d04a4dffabd7"><div class="ttname"><a href="pair__BLS461_8h.html#a9da63a97e6d17d24ed34d04a4dffabd7">PAIR_BLS461_fexp</a></div><div class="ttdeci">void PAIR_BLS461_fexp(FP12_BLS461 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT. ...</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:469</div></div>
+<div class="ttc" id="fp12__BLS461_8h_html"><div class="ttname"><a href="fp12__BLS461_8h.html">fp12_BLS461.h</a></div><div class="ttdoc">FP12 Header File. </div></div>
 <div class="ttc" id="pair__BLS461_8h_html_a49c91ef078471fdb5370cc6c8f8f9c1b"><div class="ttname"><a href="pair__BLS461_8h.html#a49c91ef078471fdb5370cc6c8f8f9c1b">CURVE_WB_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_WB_BLS461[4]</div></div>
 <div class="ttc" id="pair__BLS461_8h_html_afe7e0fd0c39ff0b4b1b8de3099ce81f0"><div class="ttname"><a href="pair__BLS461_8h.html#afe7e0fd0c39ff0b4b1b8de3099ce81f0">CURVE_Cru_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_Cru_BLS461</div></div>
 <div class="ttc" id="big__464__60_8h_html_a170cff556211f14df9c4ad2ad753dc93"><div class="ttname"><a href="big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93">BIG_464_60</a></div><div class="ttdeci">chunk BIG_464_60[NLEN_464_60]</div><div class="ttdef"><b>Definition:</b> big_464_60.h:58</div></div>
 <div class="ttc" id="pair__BLS461_8h_html_af67e6f3e94e26dceea58d9c96581bef5"><div class="ttname"><a href="pair__BLS461_8h.html#af67e6f3e94e26dceea58d9c96581bef5">CURVE_SB_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_SB_BLS461[2][2]</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_ad83351a3869867f4aed55b7aa346787f"><div class="ttname"><a href="pair__BLS461_8h.html#ad83351a3869867f4aed55b7aa346787f">PAIR_BLS461_GTpow</a></div><div class="ttdeci">void PAIR_BLS461_GTpow(FP12_BLS461 *x, BIG_464_60 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:813</div></div>
-<div class="ttc" id="structECP__BLS461_html"><div class="ttname"><a href="structECP__BLS461.html">ECP_BLS461</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BLS461.h:105</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_ad83351a3869867f4aed55b7aa346787f"><div class="ttname"><a href="pair__BLS461_8h.html#ad83351a3869867f4aed55b7aa346787f">PAIR_BLS461_GTpow</a></div><div class="ttdeci">void PAIR_BLS461_GTpow(FP12_BLS461 *x, BIG_464_60 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power. </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:813</div></div>
+<div class="ttc" id="structECP__BLS461_html"><div class="ttname"><a href="structECP__BLS461.html">ECP_BLS461</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BLS461.h:105</div></div>
 <div class="ttc" id="pair__BLS461_8h_html_ad2d861f32f2716548769bce77467bf5b"><div class="ttname"><a href="pair__BLS461_8h.html#ad2d861f32f2716548769bce77467bf5b">CURVE_W_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_W_BLS461[2]</div></div>
-<div class="ttc" id="ecp__BLS461_8h_html"><div class="ttname"><a href="ecp__BLS461_8h.html">ecp_BLS461.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="structFP12__BLS461_html"><div class="ttname"><a href="structFP12__BLS461.html">FP12_BLS461</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:36</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_aeb3c4bc8e9841f34801ba78ca925d450"><div class="ttname"><a href="pair__BLS461_8h.html#aeb3c4bc8e9841f34801ba78ca925d450">PAIR_BLS461_ate</a></div><div class="ttdeci">void PAIR_BLS461_ate(FP12_BLS461 *r, ECP2_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q)</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:272</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_ae130a2af81eb0cf34f3e714e456d7278"><div class="ttname"><a href="pair__BLS461_8h.html#ae130a2af81eb0cf34f3e714e456d7278">PAIR_BLS461_initmp</a></div><div class="ttdeci">void PAIR_BLS461_initmp(FP12_BLS461 r[])</div><div class="ttdoc">Initialise structure for multi-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:173</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_a924359255ef6e88fba44985ee772db72"><div class="ttname"><a href="pair__BLS461_8h.html#a924359255ef6e88fba44985ee772db72">PAIR_BLS461_GTmember</a></div><div class="ttdeci">int PAIR_BLS461_GTmember(FP12_BLS461 *x)</div><div class="ttdoc">Tests FP12 for membership of GT.</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_adcee25eb6c17b14586c65d3b2f417958"><div class="ttname"><a href="pair__BLS461_8h.html#adcee25eb6c17b14586c65d3b2f417958">PAIR_BLS461_double_ate</a></div><div class="ttdeci">void PAIR_BLS461_double_ate(FP12_BLS461 *r, ECP2_BLS461 *P, ECP_BLS461 *Q, ECP2_BLS461 *R, ECP_BLS461 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:356</div></div>
+<div class="ttc" id="ecp__BLS461_8h_html"><div class="ttname"><a href="ecp__BLS461_8h.html">ecp_BLS461.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="structFP12__BLS461_html"><div class="ttname"><a href="structFP12__BLS461.html">FP12_BLS461</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BLS461.h:36</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_aeb3c4bc8e9841f34801ba78ca925d450"><div class="ttname"><a href="pair__BLS461_8h.html#aeb3c4bc8e9841f34801ba78ca925d450">PAIR_BLS461_ate</a></div><div class="ttdeci">void PAIR_BLS461_ate(FP12_BLS461 *r, ECP2_BLS461 *P, ECP_BLS461 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q) </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:272</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_ae130a2af81eb0cf34f3e714e456d7278"><div class="ttname"><a href="pair__BLS461_8h.html#ae130a2af81eb0cf34f3e714e456d7278">PAIR_BLS461_initmp</a></div><div class="ttdeci">void PAIR_BLS461_initmp(FP12_BLS461 r[])</div><div class="ttdoc">Initialise structure for multi-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:173</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_a924359255ef6e88fba44985ee772db72"><div class="ttname"><a href="pair__BLS461_8h.html#a924359255ef6e88fba44985ee772db72">PAIR_BLS461_GTmember</a></div><div class="ttdeci">int PAIR_BLS461_GTmember(FP12_BLS461 *x)</div><div class="ttdoc">Tests FP12 for membership of GT. </div></div>
+<div class="ttc" id="pair__BLS461_8h_html_adcee25eb6c17b14586c65d3b2f417958"><div class="ttname"><a href="pair__BLS461_8h.html#adcee25eb6c17b14586c65d3b2f417958">PAIR_BLS461_double_ate</a></div><div class="ttdeci">void PAIR_BLS461_double_ate(FP12_BLS461 *r, ECP2_BLS461 *P, ECP_BLS461 *Q, ECP2_BLS461 *R, ECP_BLS461 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S) </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:356</div></div>
 <div class="ttc" id="pair__BLS461_8h_html_a30e9ae647c0f01230bedc414e4c8955a"><div class="ttname"><a href="pair__BLS461_8h.html#a30e9ae647c0f01230bedc414e4c8955a">CURVE_BB_BLS461</a></div><div class="ttdeci">const BIG_464_60 CURVE_BB_BLS461[4][4]</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_a0820445bbd9b98c28bd6e498fecaa3e4"><div class="ttname"><a href="pair__BLS461_8h.html#a0820445bbd9b98c28bd6e498fecaa3e4">PAIR_BLS461_G1mul</a></div><div class="ttdeci">void PAIR_BLS461_G1mul(ECP_BLS461 *Q, BIG_464_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:718</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_a8312160a11243f1bc5d678d8194cb234"><div class="ttname"><a href="pair__BLS461_8h.html#a8312160a11243f1bc5d678d8194cb234">PAIR_BLS461_miller</a></div><div class="ttdeci">void PAIR_BLS461_miller(FP12_BLS461 *res, FP12_BLS461 r[])</div><div class="ttdoc">Miller loop.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:182</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_ab24b7f436a5420ba9c8663157e9eb658"><div class="ttname"><a href="pair__BLS461_8h.html#ab24b7f436a5420ba9c8663157e9eb658">PAIR_BLS461_G2mul</a></div><div class="ttdeci">void PAIR_BLS461_G2mul(ECP2_BLS461 *P, BIG_464_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:764</div></div>
-<div class="ttc" id="ecp2__BLS461_8h_html"><div class="ttname"><a href="ecp2__BLS461_8h.html">ecp2_BLS461.h</a></div><div class="ttdoc">ECP2 Header File.</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_a34c3d1defe3a2593bf9ec02e6767b808"><div class="ttname"><a href="pair__BLS461_8h.html#a34c3d1defe3a2593bf9ec02e6767b808">PAIR_BLS461_nbits</a></div><div class="ttdeci">int PAIR_BLS461_nbits(BIG_464_60 n3, BIG_464_60 n)</div><div class="ttdoc">Prepare Ate parameter.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:139</div></div>
-<div class="ttc" id="pair__BLS461_8h_html_a14bf96302c0d77f77195e55ba09b672d"><div class="ttname"><a href="pair__BLS461_8h.html#a14bf96302c0d77f77195e55ba09b672d">PAIR_BLS461_another</a></div><div class="ttdeci">void PAIR_BLS461_another(FP12_BLS461 r[], ECP2_BLS461 *PV, ECP_BLS461 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:200</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_a0820445bbd9b98c28bd6e498fecaa3e4"><div class="ttname"><a href="pair__BLS461_8h.html#a0820445bbd9b98c28bd6e498fecaa3e4">PAIR_BLS461_G1mul</a></div><div class="ttdeci">void PAIR_BLS461_G1mul(ECP_BLS461 *Q, BIG_464_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:718</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_a8312160a11243f1bc5d678d8194cb234"><div class="ttname"><a href="pair__BLS461_8h.html#a8312160a11243f1bc5d678d8194cb234">PAIR_BLS461_miller</a></div><div class="ttdeci">void PAIR_BLS461_miller(FP12_BLS461 *res, FP12_BLS461 r[])</div><div class="ttdoc">Miller loop. </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:182</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_ab24b7f436a5420ba9c8663157e9eb658"><div class="ttname"><a href="pair__BLS461_8h.html#ab24b7f436a5420ba9c8663157e9eb658">PAIR_BLS461_G2mul</a></div><div class="ttdeci">void PAIR_BLS461_G2mul(ECP2_BLS461 *P, BIG_464_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:764</div></div>
+<div class="ttc" id="ecp2__BLS461_8h_html"><div class="ttname"><a href="ecp2__BLS461_8h.html">ecp2_BLS461.h</a></div><div class="ttdoc">ECP2 Header File. </div></div>
+<div class="ttc" id="pair__BLS461_8h_html_a34c3d1defe3a2593bf9ec02e6767b808"><div class="ttname"><a href="pair__BLS461_8h.html#a34c3d1defe3a2593bf9ec02e6767b808">PAIR_BLS461_nbits</a></div><div class="ttdeci">int PAIR_BLS461_nbits(BIG_464_60 n3, BIG_464_60 n)</div><div class="ttdoc">Prepare Ate parameter. </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:139</div></div>
+<div class="ttc" id="pair__BLS461_8h_html_a14bf96302c0d77f77195e55ba09b672d"><div class="ttname"><a href="pair__BLS461_8h.html#a14bf96302c0d77f77195e55ba09b672d">PAIR_BLS461_another</a></div><div class="ttdeci">void PAIR_BLS461_another(FP12_BLS461 r[], ECP2_BLS461 *PV, ECP_BLS461 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BLS461.c:200</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/pair__BN254CX_8h.html b/website/static/cdocs/pair__BN254CX_8h.html
index ddd04bb..3c183a0 100644
--- a/website/static/cdocs/pair__BN254CX_8h.html
+++ b/website/static/cdocs/pair__BN254CX_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: pair_BN254CX.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"
@@ -620,7 +623,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/pair__BN254CX_8h_source.html b/website/static/cdocs/pair__BN254CX_8h_source.html
index fe1dff1..a29a98f 100644
--- a/website/static/cdocs/pair__BN254CX_8h_source.html
+++ b/website/static/cdocs/pair__BN254CX_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: pair_BN254CX.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,36 +72,36 @@
 <div class="title">pair_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pair__BN254CX_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 PAIR_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BN254CX_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 &quot;<a class="code" href="fp12__BN254CX_8h.html">fp12_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BN254CX_8h.html">ecp2_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#ae96e4bddc2c2e24813b3a5f90cb4d80d">CURVE_Cru_BN254CX</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#aa9e422e0ac192a2dec3263d0e08d25a7">CURVE_W_BN254CX</a>[2];      </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#ae7511c37ed68f07cfeb3709d28e139f0">CURVE_SB_BN254CX</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#a424f1e4a7a66eea1edee443fc306f673">CURVE_WB_BN254CX</a>[4];     </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#a0c995862d7d0aa82d7fa5a59605628db">CURVE_BB_BN254CX</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#ad0a87940b5ea6360baa74d0aaa9f934f">PAIR_BN254CX_another</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> r[],<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a>* PV,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#a9ea4efe2c2efce2c857ec095436242a2">PAIR_BN254CX_ate</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#a35a2e77a79c134cf34bf254a72e6327d">PAIR_BN254CX_double_ate</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *R,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#ab1fb5cc2e47268643c694f09cbaf811b">PAIR_BN254CX_fexp</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</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="pair__BN254CX_8h.html#aa1be3c8736ccc5c1d48b08a93dc034cd">PAIR_BN254CX_G1mul</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#ae2c99beb9c8cb729da18c08160f313d9">PAIR_BN254CX_G2mul</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#a4f50ba60c4ba8e756c12ca6f2121d66c">PAIR_BN254CX_GTpow</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254CX_8h.html#a714a7830d1ab9fda7d73baac2aa2303d">PAIR_BN254CX_GTmember</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254CX_8h.html#adb3898c4a3c32d77899e7345d0480895">PAIR_BN254CX_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n3,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#af5f08bd391c2937d9195cd0b647bfd73">PAIR_BN254CX_initmp</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BN254CX_8h.html#ad27ca9ed2140201136b85b2631e9f15d">PAIR_BN254CX_miller</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *res,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BN254CX_8h_html_ab1fb5cc2e47268643c694f09cbaf811b"><div class="ttname"><a href="pair__BN254CX_8h.html#ab1fb5cc2e47268643c694f09cbaf811b">PAIR_BN254CX_fexp</a></div><div class="ttdeci">void PAIR_BN254CX_fexp(FP12_BN254CX *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:469</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_ae2c99beb9c8cb729da18c08160f313d9"><div class="ttname"><a href="pair__BN254CX_8h.html#ae2c99beb9c8cb729da18c08160f313d9">PAIR_BN254CX_G2mul</a></div><div class="ttdeci">void PAIR_BN254CX_G2mul(ECP2_BN254CX *P, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:764</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_ad0a87940b5ea6360baa74d0aaa9f934f"><div class="ttname"><a href="pair__BN254CX_8h.html#ad0a87940b5ea6360baa74d0aaa9f934f">PAIR_BN254CX_another</a></div><div class="ttdeci">void PAIR_BN254CX_another(FP12_BN254CX r[], ECP2_BN254CX *PV, ECP_BN254CX *QV)</div><div class="ttdoc">Precompute line functions for n-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:200</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_adb3898c4a3c32d77899e7345d0480895"><div class="ttname"><a href="pair__BN254CX_8h.html#adb3898c4a3c32d77899e7345d0480895">PAIR_BN254CX_nbits</a></div><div class="ttdeci">int PAIR_BN254CX_nbits(BIG_256_56 n3, BIG_256_56 n)</div><div class="ttdoc">Prepare Ate parameter.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:139</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_af5f08bd391c2937d9195cd0b647bfd73"><div class="ttname"><a href="pair__BN254CX_8h.html#af5f08bd391c2937d9195cd0b647bfd73">PAIR_BN254CX_initmp</a></div><div class="ttdeci">void PAIR_BN254CX_initmp(FP12_BN254CX r[])</div><div class="ttdoc">Initialise structure for multi-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:173</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_a4f50ba60c4ba8e756c12ca6f2121d66c"><div class="ttname"><a href="pair__BN254CX_8h.html#a4f50ba60c4ba8e756c12ca6f2121d66c">PAIR_BN254CX_GTpow</a></div><div class="ttdeci">void PAIR_BN254CX_GTpow(FP12_BN254CX *x, BIG_256_56 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:813</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_aa1be3c8736ccc5c1d48b08a93dc034cd"><div class="ttname"><a href="pair__BN254CX_8h.html#aa1be3c8736ccc5c1d48b08a93dc034cd">PAIR_BN254CX_G1mul</a></div><div class="ttdeci">void PAIR_BN254CX_G1mul(ECP_BN254CX *Q, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:718</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_a35a2e77a79c134cf34bf254a72e6327d"><div class="ttname"><a href="pair__BN254CX_8h.html#a35a2e77a79c134cf34bf254a72e6327d">PAIR_BN254CX_double_ate</a></div><div class="ttdeci">void PAIR_BN254CX_double_ate(FP12_BN254CX *r, ECP2_BN254CX *P, ECP_BN254CX *Q, ECP2_BN254CX *R, ECP_BN254CX *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:356</div></div>
+<a href="pair__BN254CX_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 PAIR_BN254CX_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BN254CX_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 &quot;<a class="code" href="fp12__BN254CX_8h.html">fp12_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BN254CX_8h.html">ecp2_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#ae96e4bddc2c2e24813b3a5f90cb4d80d">CURVE_Cru_BN254CX</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#aa9e422e0ac192a2dec3263d0e08d25a7">CURVE_W_BN254CX</a>[2];  </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#ae7511c37ed68f07cfeb3709d28e139f0">CURVE_SB_BN254CX</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#a424f1e4a7a66eea1edee443fc306f673">CURVE_WB_BN254CX</a>[4];     </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254CX_8h.html#a0c995862d7d0aa82d7fa5a59605628db">CURVE_BB_BN254CX</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#ad0a87940b5ea6360baa74d0aaa9f934f">PAIR_BN254CX_another</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> r[],<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a>* PV,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#a9ea4efe2c2efce2c857ec095436242a2">PAIR_BN254CX_ate</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#a35a2e77a79c134cf34bf254a72e6327d">PAIR_BN254CX_double_ate</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *r,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *R,<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#ab1fb5cc2e47268643c694f09cbaf811b">PAIR_BN254CX_fexp</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</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="pair__BN254CX_8h.html#aa1be3c8736ccc5c1d48b08a93dc034cd">PAIR_BN254CX_G1mul</a>(<a class="code" href="structECP__BN254CX.html">ECP_BN254CX</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#ae2c99beb9c8cb729da18c08160f313d9">PAIR_BN254CX_G2mul</a>(<a class="code" href="structECP2__BN254CX.html">ECP2_BN254CX</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#a4f50ba60c4ba8e756c12ca6f2121d66c">PAIR_BN254CX_GTpow</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254CX_8h.html#a714a7830d1ab9fda7d73baac2aa2303d">PAIR_BN254CX_GTmember</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254CX_8h.html#adb3898c4a3c32d77899e7345d0480895">PAIR_BN254CX_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n3,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254CX_8h.html#af5f08bd391c2937d9195cd0b647bfd73">PAIR_BN254CX_initmp</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BN254CX_8h.html#ad27ca9ed2140201136b85b2631e9f15d">PAIR_BN254CX_miller</a>(<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> *res,<a class="code" href="structFP12__BN254CX.html">FP12_BN254CX</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="pair__BN254CX_8h_html_ab1fb5cc2e47268643c694f09cbaf811b"><div class="ttname"><a href="pair__BN254CX_8h.html#ab1fb5cc2e47268643c694f09cbaf811b">PAIR_BN254CX_fexp</a></div><div class="ttdeci">void PAIR_BN254CX_fexp(FP12_BN254CX *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT. ...</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:469</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_ae2c99beb9c8cb729da18c08160f313d9"><div class="ttname"><a href="pair__BN254CX_8h.html#ae2c99beb9c8cb729da18c08160f313d9">PAIR_BN254CX_G2mul</a></div><div class="ttdeci">void PAIR_BN254CX_G2mul(ECP2_BN254CX *P, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:764</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_ad0a87940b5ea6360baa74d0aaa9f934f"><div class="ttname"><a href="pair__BN254CX_8h.html#ad0a87940b5ea6360baa74d0aaa9f934f">PAIR_BN254CX_another</a></div><div class="ttdeci">void PAIR_BN254CX_another(FP12_BN254CX r[], ECP2_BN254CX *PV, ECP_BN254CX *QV)</div><div class="ttdoc">Precompute line functions for n-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:200</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_adb3898c4a3c32d77899e7345d0480895"><div class="ttname"><a href="pair__BN254CX_8h.html#adb3898c4a3c32d77899e7345d0480895">PAIR_BN254CX_nbits</a></div><div class="ttdeci">int PAIR_BN254CX_nbits(BIG_256_56 n3, BIG_256_56 n)</div><div class="ttdoc">Prepare Ate parameter. </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:139</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_af5f08bd391c2937d9195cd0b647bfd73"><div class="ttname"><a href="pair__BN254CX_8h.html#af5f08bd391c2937d9195cd0b647bfd73">PAIR_BN254CX_initmp</a></div><div class="ttdeci">void PAIR_BN254CX_initmp(FP12_BN254CX r[])</div><div class="ttdoc">Initialise structure for multi-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:173</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_a4f50ba60c4ba8e756c12ca6f2121d66c"><div class="ttname"><a href="pair__BN254CX_8h.html#a4f50ba60c4ba8e756c12ca6f2121d66c">PAIR_BN254CX_GTpow</a></div><div class="ttdeci">void PAIR_BN254CX_GTpow(FP12_BN254CX *x, BIG_256_56 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power. </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:813</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_aa1be3c8736ccc5c1d48b08a93dc034cd"><div class="ttname"><a href="pair__BN254CX_8h.html#aa1be3c8736ccc5c1d48b08a93dc034cd">PAIR_BN254CX_G1mul</a></div><div class="ttdeci">void PAIR_BN254CX_G1mul(ECP_BN254CX *Q, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:718</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_a35a2e77a79c134cf34bf254a72e6327d"><div class="ttname"><a href="pair__BN254CX_8h.html#a35a2e77a79c134cf34bf254a72e6327d">PAIR_BN254CX_double_ate</a></div><div class="ttdeci">void PAIR_BN254CX_double_ate(FP12_BN254CX *r, ECP2_BN254CX *P, ECP_BN254CX *Q, ECP2_BN254CX *R, ECP_BN254CX *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S) </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:356</div></div>
 <div class="ttc" id="pair__BN254CX_8h_html_ae7511c37ed68f07cfeb3709d28e139f0"><div class="ttname"><a href="pair__BN254CX_8h.html#ae7511c37ed68f07cfeb3709d28e139f0">CURVE_SB_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_BN254CX[2][2]</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_a9ea4efe2c2efce2c857ec095436242a2"><div class="ttname"><a href="pair__BN254CX_8h.html#a9ea4efe2c2efce2c857ec095436242a2">PAIR_BN254CX_ate</a></div><div class="ttdeci">void PAIR_BN254CX_ate(FP12_BN254CX *r, ECP2_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q)</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:272</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_a9ea4efe2c2efce2c857ec095436242a2"><div class="ttname"><a href="pair__BN254CX_8h.html#a9ea4efe2c2efce2c857ec095436242a2">PAIR_BN254CX_ate</a></div><div class="ttdeci">void PAIR_BN254CX_ate(FP12_BN254CX *r, ECP2_BN254CX *P, ECP_BN254CX *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q) </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:272</div></div>
 <div class="ttc" id="pair__BN254CX_8h_html_aa9e422e0ac192a2dec3263d0e08d25a7"><div class="ttname"><a href="pair__BN254CX_8h.html#aa9e422e0ac192a2dec3263d0e08d25a7">CURVE_W_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_BN254CX[2]</div></div>
-<div class="ttc" id="fp12__BN254CX_8h_html"><div class="ttname"><a href="fp12__BN254CX_8h.html">fp12_BN254CX.h</a></div><div class="ttdoc">FP12 Header File.</div></div>
-<div class="ttc" id="structECP__BN254CX_html"><div class="ttname"><a href="structECP__BN254CX.html">ECP_BN254CX</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.h:105</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_ad27ca9ed2140201136b85b2631e9f15d"><div class="ttname"><a href="pair__BN254CX_8h.html#ad27ca9ed2140201136b85b2631e9f15d">PAIR_BN254CX_miller</a></div><div class="ttdeci">void PAIR_BN254CX_miller(FP12_BN254CX *res, FP12_BN254CX r[])</div><div class="ttdoc">Miller loop.</div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:182</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html_a714a7830d1ab9fda7d73baac2aa2303d"><div class="ttname"><a href="pair__BN254CX_8h.html#a714a7830d1ab9fda7d73baac2aa2303d">PAIR_BN254CX_GTmember</a></div><div class="ttdeci">int PAIR_BN254CX_GTmember(FP12_BN254CX *x)</div><div class="ttdoc">Tests FP12 for membership of GT.</div></div>
-<div class="ttc" id="structFP12__BN254CX_html"><div class="ttname"><a href="structFP12__BN254CX.html">FP12_BN254CX</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:36</div></div>
+<div class="ttc" id="fp12__BN254CX_8h_html"><div class="ttname"><a href="fp12__BN254CX_8h.html">fp12_BN254CX.h</a></div><div class="ttdoc">FP12 Header File. </div></div>
+<div class="ttc" id="structECP__BN254CX_html"><div class="ttname"><a href="structECP__BN254CX.html">ECP_BN254CX</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BN254CX.h:105</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_ad27ca9ed2140201136b85b2631e9f15d"><div class="ttname"><a href="pair__BN254CX_8h.html#ad27ca9ed2140201136b85b2631e9f15d">PAIR_BN254CX_miller</a></div><div class="ttdeci">void PAIR_BN254CX_miller(FP12_BN254CX *res, FP12_BN254CX r[])</div><div class="ttdoc">Miller loop. </div><div class="ttdef"><b>Definition:</b> pair_BN254CX.c:182</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html_a714a7830d1ab9fda7d73baac2aa2303d"><div class="ttname"><a href="pair__BN254CX_8h.html#a714a7830d1ab9fda7d73baac2aa2303d">PAIR_BN254CX_GTmember</a></div><div class="ttdeci">int PAIR_BN254CX_GTmember(FP12_BN254CX *x)</div><div class="ttdoc">Tests FP12 for membership of GT. </div></div>
+<div class="ttc" id="structFP12__BN254CX_html"><div class="ttname"><a href="structFP12__BN254CX.html">FP12_BN254CX</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254CX.h:36</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
-<div class="ttc" id="structECP2__BN254CX_html"><div class="ttname"><a href="structECP2__BN254CX.html">ECP2_BN254CX</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.h:37</div></div>
+<div class="ttc" id="structECP2__BN254CX_html"><div class="ttname"><a href="structECP2__BN254CX.html">ECP2_BN254CX</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254CX.h:37</div></div>
 <div class="ttc" id="pair__BN254CX_8h_html_ae96e4bddc2c2e24813b3a5f90cb4d80d"><div class="ttname"><a href="pair__BN254CX_8h.html#ae96e4bddc2c2e24813b3a5f90cb4d80d">CURVE_Cru_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_BN254CX</div></div>
 <div class="ttc" id="pair__BN254CX_8h_html_a0c995862d7d0aa82d7fa5a59605628db"><div class="ttname"><a href="pair__BN254CX_8h.html#a0c995862d7d0aa82d7fa5a59605628db">CURVE_BB_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_BN254CX[4][4]</div></div>
-<div class="ttc" id="ecp__BN254CX_8h_html"><div class="ttname"><a href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a></div><div class="ttdoc">ECP Header File.</div></div>
+<div class="ttc" id="ecp__BN254CX_8h_html"><div class="ttname"><a href="ecp__BN254CX_8h.html">ecp_BN254CX.h</a></div><div class="ttdoc">ECP Header File. </div></div>
 <div class="ttc" id="pair__BN254CX_8h_html_a424f1e4a7a66eea1edee443fc306f673"><div class="ttname"><a href="pair__BN254CX_8h.html#a424f1e4a7a66eea1edee443fc306f673">CURVE_WB_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_BN254CX[4]</div></div>
-<div class="ttc" id="ecp2__BN254CX_8h_html"><div class="ttname"><a href="ecp2__BN254CX_8h.html">ecp2_BN254CX.h</a></div><div class="ttdoc">ECP2 Header File.</div></div>
+<div class="ttc" id="ecp2__BN254CX_8h_html"><div class="ttname"><a href="ecp2__BN254CX_8h.html">ecp2_BN254CX.h</a></div><div class="ttdoc">ECP2 Header File. </div></div>
 <div class="ttc" id="pair__BN254CX_8h_html_a7deaf9d8c32aa462bc43f85a3a360c05"><div class="ttname"><a href="pair__BN254CX_8h.html#a7deaf9d8c32aa462bc43f85a3a360c05">CURVE_Bnx_BN254CX</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_BN254CX</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/pair__BN254_8h.html b/website/static/cdocs/pair__BN254_8h.html
index f398ef1..a9bef2c 100644
--- a/website/static/cdocs/pair__BN254_8h.html
+++ b/website/static/cdocs/pair__BN254_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: pair_BN254.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"
@@ -620,7 +623,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/pair__BN254_8h_source.html b/website/static/cdocs/pair__BN254_8h_source.html
index 006614d..e8967a8 100644
--- a/website/static/cdocs/pair__BN254_8h_source.html
+++ b/website/static/cdocs/pair__BN254_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: pair_BN254.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,36 +72,36 @@
 <div class="title">pair_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pair__BN254_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 PAIR_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BN254_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 &quot;<a class="code" href="fp12__BN254_8h.html">fp12_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BN254_8h.html">ecp2_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254_8h.html">ecp_BN254.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a5f4fe1daf3cec6d41d1bee51d058c6c4">CURVE_Cru_BN254</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a1547abe4b2c6ee56abc8d94be440b25f">CURVE_W_BN254</a>[2];        </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#aceeeb86f794c7df551b3faea905b10bf">CURVE_SB_BN254</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a74aa353773228d6a21bd2b76f52ae9ea">CURVE_WB_BN254</a>[4];       </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a4206cf145c73ad24598227e8b63515fd">CURVE_BB_BN254</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a1bd444d1f57b13eb8442a43d8ccb8621">PAIR_BN254_another</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> r[],<a class="code" href="structECP2__BN254.html">ECP2_BN254</a>* PV,<a class="code" href="structECP__BN254.html">ECP_BN254</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a82ef1fdbaf7d9e2b1f6625cf18b6f77e">PAIR_BN254_ate</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a6e7eda947dca9737fbb27bdb46c8d53d">PAIR_BN254_double_ate</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *R,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a935bd71a4fe685d88568587c0567260c">PAIR_BN254_fexp</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</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="pair__BN254_8h.html#ad808f10a0a462ee8b35aeedd55b2319f">PAIR_BN254_G1mul</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a985b5d9185b584d8f6673eb90bd2a736">PAIR_BN254_G2mul</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a97b7413dfc7469c7dc308aac4f6cfab2">PAIR_BN254_GTpow</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254_8h.html#ac1e79ddb60b405d41e4a0caee8241ee0">PAIR_BN254_GTmember</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254_8h.html#a23768454cf931dfe120e74789e26f942">PAIR_BN254_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n3,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a71cb96bc181b73d17f0559d9da683252">PAIR_BN254_initmp</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BN254_8h.html#aeaa483c25a9c4ab06c1b56668fafad8b">PAIR_BN254_miller</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *res,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP__BN254_html"><div class="ttname"><a href="structECP__BN254.html">ECP_BN254</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_BN254.h:105</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a97b7413dfc7469c7dc308aac4f6cfab2"><div class="ttname"><a href="pair__BN254_8h.html#a97b7413dfc7469c7dc308aac4f6cfab2">PAIR_BN254_GTpow</a></div><div class="ttdeci">void PAIR_BN254_GTpow(FP12_BN254 *x, BIG_256_56 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:813</div></div>
-<div class="ttc" id="structECP2__BN254_html"><div class="ttname"><a href="structECP2__BN254.html">ECP2_BN254</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_BN254.h:37</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a985b5d9185b584d8f6673eb90bd2a736"><div class="ttname"><a href="pair__BN254_8h.html#a985b5d9185b584d8f6673eb90bd2a736">PAIR_BN254_G2mul</a></div><div class="ttdeci">void PAIR_BN254_G2mul(ECP2_BN254 *P, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:764</div></div>
-<div class="ttc" id="structFP12__BN254_html"><div class="ttname"><a href="structFP12__BN254.html">FP12_BN254</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:36</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a23768454cf931dfe120e74789e26f942"><div class="ttname"><a href="pair__BN254_8h.html#a23768454cf931dfe120e74789e26f942">PAIR_BN254_nbits</a></div><div class="ttdeci">int PAIR_BN254_nbits(BIG_256_56 n3, BIG_256_56 n)</div><div class="ttdoc">Prepare Ate parameter.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:139</div></div>
-<div class="ttc" id="fp12__BN254_8h_html"><div class="ttname"><a href="fp12__BN254_8h.html">fp12_BN254.h</a></div><div class="ttdoc">FP12 Header File.</div></div>
+<a href="pair__BN254_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 PAIR_BN254_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_BN254_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 &quot;<a class="code" href="fp12__BN254_8h.html">fp12_BN254.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__BN254_8h.html">ecp2_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__BN254_8h.html">ecp_BN254.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a5f4fe1daf3cec6d41d1bee51d058c6c4">CURVE_Cru_BN254</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a1547abe4b2c6ee56abc8d94be440b25f">CURVE_W_BN254</a>[2];    </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#aceeeb86f794c7df551b3faea905b10bf">CURVE_SB_BN254</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a74aa353773228d6a21bd2b76f52ae9ea">CURVE_WB_BN254</a>[4];   </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__BN254_8h.html#a4206cf145c73ad24598227e8b63515fd">CURVE_BB_BN254</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a1bd444d1f57b13eb8442a43d8ccb8621">PAIR_BN254_another</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> r[],<a class="code" href="structECP2__BN254.html">ECP2_BN254</a>* PV,<a class="code" href="structECP__BN254.html">ECP_BN254</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a82ef1fdbaf7d9e2b1f6625cf18b6f77e">PAIR_BN254_ate</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a6e7eda947dca9737fbb27bdb46c8d53d">PAIR_BN254_double_ate</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *r,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *R,<a class="code" href="structECP__BN254.html">ECP_BN254</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a935bd71a4fe685d88568587c0567260c">PAIR_BN254_fexp</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</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="pair__BN254_8h.html#ad808f10a0a462ee8b35aeedd55b2319f">PAIR_BN254_G1mul</a>(<a class="code" href="structECP__BN254.html">ECP_BN254</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a985b5d9185b584d8f6673eb90bd2a736">PAIR_BN254_G2mul</a>(<a class="code" href="structECP2__BN254.html">ECP2_BN254</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a97b7413dfc7469c7dc308aac4f6cfab2">PAIR_BN254_GTpow</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254_8h.html#ac1e79ddb60b405d41e4a0caee8241ee0">PAIR_BN254_GTmember</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__BN254_8h.html#a23768454cf931dfe120e74789e26f942">PAIR_BN254_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n3,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__BN254_8h.html#a71cb96bc181b73d17f0559d9da683252">PAIR_BN254_initmp</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__BN254_8h.html#aeaa483c25a9c4ab06c1b56668fafad8b">PAIR_BN254_miller</a>(<a class="code" href="structFP12__BN254.html">FP12_BN254</a> *res,<a class="code" href="structFP12__BN254.html">FP12_BN254</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structECP__BN254_html"><div class="ttname"><a href="structECP__BN254.html">ECP_BN254</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_BN254.h:105</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a97b7413dfc7469c7dc308aac4f6cfab2"><div class="ttname"><a href="pair__BN254_8h.html#a97b7413dfc7469c7dc308aac4f6cfab2">PAIR_BN254_GTpow</a></div><div class="ttdeci">void PAIR_BN254_GTpow(FP12_BN254 *x, BIG_256_56 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power. </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:813</div></div>
+<div class="ttc" id="structECP2__BN254_html"><div class="ttname"><a href="structECP2__BN254.html">ECP2_BN254</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_BN254.h:37</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a985b5d9185b584d8f6673eb90bd2a736"><div class="ttname"><a href="pair__BN254_8h.html#a985b5d9185b584d8f6673eb90bd2a736">PAIR_BN254_G2mul</a></div><div class="ttdeci">void PAIR_BN254_G2mul(ECP2_BN254 *P, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:764</div></div>
+<div class="ttc" id="structFP12__BN254_html"><div class="ttname"><a href="structFP12__BN254.html">FP12_BN254</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_BN254.h:36</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a23768454cf931dfe120e74789e26f942"><div class="ttname"><a href="pair__BN254_8h.html#a23768454cf931dfe120e74789e26f942">PAIR_BN254_nbits</a></div><div class="ttdeci">int PAIR_BN254_nbits(BIG_256_56 n3, BIG_256_56 n)</div><div class="ttdoc">Prepare Ate parameter. </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:139</div></div>
+<div class="ttc" id="fp12__BN254_8h_html"><div class="ttname"><a href="fp12__BN254_8h.html">fp12_BN254.h</a></div><div class="ttdoc">FP12 Header File. </div></div>
 <div class="ttc" id="pair__BN254_8h_html_aceeeb86f794c7df551b3faea905b10bf"><div class="ttname"><a href="pair__BN254_8h.html#aceeeb86f794c7df551b3faea905b10bf">CURVE_SB_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_BN254[2][2]</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a1bd444d1f57b13eb8442a43d8ccb8621"><div class="ttname"><a href="pair__BN254_8h.html#a1bd444d1f57b13eb8442a43d8ccb8621">PAIR_BN254_another</a></div><div class="ttdeci">void PAIR_BN254_another(FP12_BN254 r[], ECP2_BN254 *PV, ECP_BN254 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:200</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a935bd71a4fe685d88568587c0567260c"><div class="ttname"><a href="pair__BN254_8h.html#a935bd71a4fe685d88568587c0567260c">PAIR_BN254_fexp</a></div><div class="ttdeci">void PAIR_BN254_fexp(FP12_BN254 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:469</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a6e7eda947dca9737fbb27bdb46c8d53d"><div class="ttname"><a href="pair__BN254_8h.html#a6e7eda947dca9737fbb27bdb46c8d53d">PAIR_BN254_double_ate</a></div><div class="ttdeci">void PAIR_BN254_double_ate(FP12_BN254 *r, ECP2_BN254 *P, ECP_BN254 *Q, ECP2_BN254 *R, ECP_BN254 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:356</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a1bd444d1f57b13eb8442a43d8ccb8621"><div class="ttname"><a href="pair__BN254_8h.html#a1bd444d1f57b13eb8442a43d8ccb8621">PAIR_BN254_another</a></div><div class="ttdeci">void PAIR_BN254_another(FP12_BN254 r[], ECP2_BN254 *PV, ECP_BN254 *QV)</div><div class="ttdoc">Precompute line functions for n-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:200</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a935bd71a4fe685d88568587c0567260c"><div class="ttname"><a href="pair__BN254_8h.html#a935bd71a4fe685d88568587c0567260c">PAIR_BN254_fexp</a></div><div class="ttdeci">void PAIR_BN254_fexp(FP12_BN254 *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT. ...</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:469</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a6e7eda947dca9737fbb27bdb46c8d53d"><div class="ttname"><a href="pair__BN254_8h.html#a6e7eda947dca9737fbb27bdb46c8d53d">PAIR_BN254_double_ate</a></div><div class="ttdeci">void PAIR_BN254_double_ate(FP12_BN254 *r, ECP2_BN254 *P, ECP_BN254 *Q, ECP2_BN254 *R, ECP_BN254 *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S) </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:356</div></div>
 <div class="ttc" id="pair__BN254_8h_html_a891b9fda048e66408bd6d66bf41d67ea"><div class="ttname"><a href="pair__BN254_8h.html#a891b9fda048e66408bd6d66bf41d67ea">CURVE_Bnx_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_BN254</div></div>
-<div class="ttc" id="ecp2__BN254_8h_html"><div class="ttname"><a href="ecp2__BN254_8h.html">ecp2_BN254.h</a></div><div class="ttdoc">ECP2 Header File.</div></div>
+<div class="ttc" id="ecp2__BN254_8h_html"><div class="ttname"><a href="ecp2__BN254_8h.html">ecp2_BN254.h</a></div><div class="ttdoc">ECP2 Header File. </div></div>
 <div class="ttc" id="pair__BN254_8h_html_a74aa353773228d6a21bd2b76f52ae9ea"><div class="ttname"><a href="pair__BN254_8h.html#a74aa353773228d6a21bd2b76f52ae9ea">CURVE_WB_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_BN254[4]</div></div>
-<div class="ttc" id="pair__BN254_8h_html_aeaa483c25a9c4ab06c1b56668fafad8b"><div class="ttname"><a href="pair__BN254_8h.html#aeaa483c25a9c4ab06c1b56668fafad8b">PAIR_BN254_miller</a></div><div class="ttdeci">void PAIR_BN254_miller(FP12_BN254 *res, FP12_BN254 r[])</div><div class="ttdoc">Miller loop.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:182</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a71cb96bc181b73d17f0559d9da683252"><div class="ttname"><a href="pair__BN254_8h.html#a71cb96bc181b73d17f0559d9da683252">PAIR_BN254_initmp</a></div><div class="ttdeci">void PAIR_BN254_initmp(FP12_BN254 r[])</div><div class="ttdoc">Initialise structure for multi-pairing.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:173</div></div>
-<div class="ttc" id="ecp__BN254_8h_html"><div class="ttname"><a href="ecp__BN254_8h.html">ecp_BN254.h</a></div><div class="ttdoc">ECP Header File.</div></div>
+<div class="ttc" id="pair__BN254_8h_html_aeaa483c25a9c4ab06c1b56668fafad8b"><div class="ttname"><a href="pair__BN254_8h.html#aeaa483c25a9c4ab06c1b56668fafad8b">PAIR_BN254_miller</a></div><div class="ttdeci">void PAIR_BN254_miller(FP12_BN254 *res, FP12_BN254 r[])</div><div class="ttdoc">Miller loop. </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:182</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a71cb96bc181b73d17f0559d9da683252"><div class="ttname"><a href="pair__BN254_8h.html#a71cb96bc181b73d17f0559d9da683252">PAIR_BN254_initmp</a></div><div class="ttdeci">void PAIR_BN254_initmp(FP12_BN254 r[])</div><div class="ttdoc">Initialise structure for multi-pairing. </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:173</div></div>
+<div class="ttc" id="ecp__BN254_8h_html"><div class="ttname"><a href="ecp__BN254_8h.html">ecp_BN254.h</a></div><div class="ttdoc">ECP Header File. </div></div>
 <div class="ttc" id="pair__BN254_8h_html_a5f4fe1daf3cec6d41d1bee51d058c6c4"><div class="ttname"><a href="pair__BN254_8h.html#a5f4fe1daf3cec6d41d1bee51d058c6c4">CURVE_Cru_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_BN254</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
 <div class="ttc" id="pair__BN254_8h_html_a1547abe4b2c6ee56abc8d94be440b25f"><div class="ttname"><a href="pair__BN254_8h.html#a1547abe4b2c6ee56abc8d94be440b25f">CURVE_W_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_BN254[2]</div></div>
 <div class="ttc" id="pair__BN254_8h_html_a4206cf145c73ad24598227e8b63515fd"><div class="ttname"><a href="pair__BN254_8h.html#a4206cf145c73ad24598227e8b63515fd">CURVE_BB_BN254</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_BN254[4][4]</div></div>
-<div class="ttc" id="pair__BN254_8h_html_ac1e79ddb60b405d41e4a0caee8241ee0"><div class="ttname"><a href="pair__BN254_8h.html#ac1e79ddb60b405d41e4a0caee8241ee0">PAIR_BN254_GTmember</a></div><div class="ttdeci">int PAIR_BN254_GTmember(FP12_BN254 *x)</div><div class="ttdoc">Tests FP12 for membership of GT.</div></div>
-<div class="ttc" id="pair__BN254_8h_html_ad808f10a0a462ee8b35aeedd55b2319f"><div class="ttname"><a href="pair__BN254_8h.html#ad808f10a0a462ee8b35aeedd55b2319f">PAIR_BN254_G1mul</a></div><div class="ttdeci">void PAIR_BN254_G1mul(ECP_BN254 *Q, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:718</div></div>
-<div class="ttc" id="pair__BN254_8h_html_a82ef1fdbaf7d9e2b1f6625cf18b6f77e"><div class="ttname"><a href="pair__BN254_8h.html#a82ef1fdbaf7d9e2b1f6625cf18b6f77e">PAIR_BN254_ate</a></div><div class="ttdeci">void PAIR_BN254_ate(FP12_BN254 *r, ECP2_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q)</div><div class="ttdef"><b>Definition:</b> pair_BN254.c:272</div></div>
+<div class="ttc" id="pair__BN254_8h_html_ac1e79ddb60b405d41e4a0caee8241ee0"><div class="ttname"><a href="pair__BN254_8h.html#ac1e79ddb60b405d41e4a0caee8241ee0">PAIR_BN254_GTmember</a></div><div class="ttdeci">int PAIR_BN254_GTmember(FP12_BN254 *x)</div><div class="ttdoc">Tests FP12 for membership of GT. </div></div>
+<div class="ttc" id="pair__BN254_8h_html_ad808f10a0a462ee8b35aeedd55b2319f"><div class="ttname"><a href="pair__BN254_8h.html#ad808f10a0a462ee8b35aeedd55b2319f">PAIR_BN254_G1mul</a></div><div class="ttdeci">void PAIR_BN254_G1mul(ECP_BN254 *Q, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:718</div></div>
+<div class="ttc" id="pair__BN254_8h_html_a82ef1fdbaf7d9e2b1f6625cf18b6f77e"><div class="ttname"><a href="pair__BN254_8h.html#a82ef1fdbaf7d9e2b1f6625cf18b6f77e">PAIR_BN254_ate</a></div><div class="ttdeci">void PAIR_BN254_ate(FP12_BN254 *r, ECP2_BN254 *P, ECP_BN254 *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q) </div><div class="ttdef"><b>Definition:</b> pair_BN254.c:272</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/pair__FP256BN_8h.html b/website/static/cdocs/pair__FP256BN_8h.html
index 24fa4f9..f55328e 100644
--- a/website/static/cdocs/pair__FP256BN_8h.html
+++ b/website/static/cdocs/pair__FP256BN_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: pair_FP256BN.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"
@@ -620,7 +623,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/pair__FP256BN_8h_source.html b/website/static/cdocs/pair__FP256BN_8h_source.html
index b814c5b..96a8a2c 100644
--- a/website/static/cdocs/pair__FP256BN_8h_source.html
+++ b/website/static/cdocs/pair__FP256BN_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: pair_FP256BN.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,36 +72,36 @@
 <div class="title">pair_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pair__FP256BN_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 PAIR_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_FP256BN_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 &quot;<a class="code" href="fp12__FP256BN_8h.html">fp12_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__FP256BN_8h.html">ecp2_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a1e4a40fa73fb46a0226ee1252b6dd9f3">CURVE_Cru_FP256BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a4521adc0ede6afae5b82e75cd248484f">CURVE_W_FP256BN</a>[2];      </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a54a2be05e5e394ddd45d2a5b21509182">CURVE_SB_FP256BN</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a78a202e723161e392bf420fb413a293b">CURVE_WB_FP256BN</a>[4];     </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a552cc467dca5ee3d00e51754c7d411c6">CURVE_BB_FP256BN</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#aaa9feabbdc3508ce829ab02dca905a5d">PAIR_FP256BN_another</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> r[],<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a>* PV,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#add714a32016ac9212a74255e47b5e8e1">PAIR_FP256BN_ate</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a949e85f7051d0b9b59693174f22548fc">PAIR_FP256BN_double_ate</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *R,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a08e4a88119f95e6f1659bef17ac79da5">PAIR_FP256BN_fexp</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</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="pair__FP256BN_8h.html#ab52d15bdaed5eb42fe0ae3fa1cbc201e">PAIR_FP256BN_G1mul</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a22e4f8483b9e5ca1c0406e34f4473520">PAIR_FP256BN_G2mul</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a545c2d67667408b3b203e40bc0bfd709">PAIR_FP256BN_GTpow</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP256BN_8h.html#afe597680cdc44fee36bb3114c2587017">PAIR_FP256BN_GTmember</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP256BN_8h.html#a340318adeb517e5440659c986101c713">PAIR_FP256BN_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n3,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a3c4e82e9bdfb37dc3d2b834f44d03129">PAIR_FP256BN_initmp</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__FP256BN_8h.html#a47cb4a499cef8e07b8c440cd78a43c6d">PAIR_FP256BN_miller</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *res,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__FP256BN_8h_html"><div class="ttname"><a href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a></div><div class="ttdoc">ECP Header File.</div></div>
-<div class="ttc" id="structECP__FP256BN_html"><div class="ttname"><a href="structECP__FP256BN.html">ECP_FP256BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.h:105</div></div>
+<a href="pair__FP256BN_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 PAIR_FP256BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_FP256BN_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 &quot;<a class="code" href="fp12__FP256BN_8h.html">fp12_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__FP256BN_8h.html">ecp2_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a1e4a40fa73fb46a0226ee1252b6dd9f3">CURVE_Cru_FP256BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a4521adc0ede6afae5b82e75cd248484f">CURVE_W_FP256BN</a>[2];  </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a54a2be05e5e394ddd45d2a5b21509182">CURVE_SB_FP256BN</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a78a202e723161e392bf420fb413a293b">CURVE_WB_FP256BN</a>[4];     </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> <a class="code" href="pair__FP256BN_8h.html#a552cc467dca5ee3d00e51754c7d411c6">CURVE_BB_FP256BN</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#aaa9feabbdc3508ce829ab02dca905a5d">PAIR_FP256BN_another</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> r[],<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a>* PV,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#add714a32016ac9212a74255e47b5e8e1">PAIR_FP256BN_ate</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a949e85f7051d0b9b59693174f22548fc">PAIR_FP256BN_double_ate</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *r,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *R,<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a08e4a88119f95e6f1659bef17ac79da5">PAIR_FP256BN_fexp</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</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="pair__FP256BN_8h.html#ab52d15bdaed5eb42fe0ae3fa1cbc201e">PAIR_FP256BN_G1mul</a>(<a class="code" href="structECP__FP256BN.html">ECP_FP256BN</a> *Q,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a22e4f8483b9e5ca1c0406e34f4473520">PAIR_FP256BN_G2mul</a>(<a class="code" href="structECP2__FP256BN.html">ECP2_FP256BN</a> *P,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a545c2d67667408b3b203e40bc0bfd709">PAIR_FP256BN_GTpow</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP256BN_8h.html#afe597680cdc44fee36bb3114c2587017">PAIR_FP256BN_GTmember</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP256BN_8h.html#a340318adeb517e5440659c986101c713">PAIR_FP256BN_nbits</a>(<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n3,<a class="code" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP256BN_8h.html#a3c4e82e9bdfb37dc3d2b834f44d03129">PAIR_FP256BN_initmp</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__FP256BN_8h.html#a47cb4a499cef8e07b8c440cd78a43c6d">PAIR_FP256BN_miller</a>(<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> *res,<a class="code" href="structFP12__FP256BN.html">FP12_FP256BN</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="ecp__FP256BN_8h_html"><div class="ttname"><a href="ecp__FP256BN_8h.html">ecp_FP256BN.h</a></div><div class="ttdoc">ECP Header File. </div></div>
+<div class="ttc" id="structECP__FP256BN_html"><div class="ttname"><a href="structECP__FP256BN.html">ECP_FP256BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_FP256BN.h:105</div></div>
 <div class="ttc" id="pair__FP256BN_8h_html_a552cc467dca5ee3d00e51754c7d411c6"><div class="ttname"><a href="pair__FP256BN_8h.html#a552cc467dca5ee3d00e51754c7d411c6">CURVE_BB_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_BB_FP256BN[4][4]</div></div>
 <div class="ttc" id="pair__FP256BN_8h_html_a54a2be05e5e394ddd45d2a5b21509182"><div class="ttname"><a href="pair__FP256BN_8h.html#a54a2be05e5e394ddd45d2a5b21509182">CURVE_SB_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_SB_FP256BN[2][2]</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_a3c4e82e9bdfb37dc3d2b834f44d03129"><div class="ttname"><a href="pair__FP256BN_8h.html#a3c4e82e9bdfb37dc3d2b834f44d03129">PAIR_FP256BN_initmp</a></div><div class="ttdeci">void PAIR_FP256BN_initmp(FP12_FP256BN r[])</div><div class="ttdoc">Initialise structure for multi-pairing.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:173</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_a3c4e82e9bdfb37dc3d2b834f44d03129"><div class="ttname"><a href="pair__FP256BN_8h.html#a3c4e82e9bdfb37dc3d2b834f44d03129">PAIR_FP256BN_initmp</a></div><div class="ttdeci">void PAIR_FP256BN_initmp(FP12_FP256BN r[])</div><div class="ttdoc">Initialise structure for multi-pairing. </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:173</div></div>
 <div class="ttc" id="pair__FP256BN_8h_html_a1e4a40fa73fb46a0226ee1252b6dd9f3"><div class="ttname"><a href="pair__FP256BN_8h.html#a1e4a40fa73fb46a0226ee1252b6dd9f3">CURVE_Cru_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Cru_FP256BN</div></div>
-<div class="ttc" id="fp12__FP256BN_8h_html"><div class="ttname"><a href="fp12__FP256BN_8h.html">fp12_FP256BN.h</a></div><div class="ttdoc">FP12 Header File.</div></div>
-<div class="ttc" id="structECP2__FP256BN_html"><div class="ttname"><a href="structECP2__FP256BN.html">ECP2_FP256BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.h:37</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_a949e85f7051d0b9b59693174f22548fc"><div class="ttname"><a href="pair__FP256BN_8h.html#a949e85f7051d0b9b59693174f22548fc">PAIR_FP256BN_double_ate</a></div><div class="ttdeci">void PAIR_FP256BN_double_ate(FP12_FP256BN *r, ECP2_FP256BN *P, ECP_FP256BN *Q, ECP2_FP256BN *R, ECP_FP256BN *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:356</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_a340318adeb517e5440659c986101c713"><div class="ttname"><a href="pair__FP256BN_8h.html#a340318adeb517e5440659c986101c713">PAIR_FP256BN_nbits</a></div><div class="ttdeci">int PAIR_FP256BN_nbits(BIG_256_56 n3, BIG_256_56 n)</div><div class="ttdoc">Prepare Ate parameter.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:139</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_a22e4f8483b9e5ca1c0406e34f4473520"><div class="ttname"><a href="pair__FP256BN_8h.html#a22e4f8483b9e5ca1c0406e34f4473520">PAIR_FP256BN_G2mul</a></div><div class="ttdeci">void PAIR_FP256BN_G2mul(ECP2_FP256BN *P, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:764</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_aaa9feabbdc3508ce829ab02dca905a5d"><div class="ttname"><a href="pair__FP256BN_8h.html#aaa9feabbdc3508ce829ab02dca905a5d">PAIR_FP256BN_another</a></div><div class="ttdeci">void PAIR_FP256BN_another(FP12_FP256BN r[], ECP2_FP256BN *PV, ECP_FP256BN *QV)</div><div class="ttdoc">Precompute line functions for n-pairing.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:200</div></div>
+<div class="ttc" id="fp12__FP256BN_8h_html"><div class="ttname"><a href="fp12__FP256BN_8h.html">fp12_FP256BN.h</a></div><div class="ttdoc">FP12 Header File. </div></div>
+<div class="ttc" id="structECP2__FP256BN_html"><div class="ttname"><a href="structECP2__FP256BN.html">ECP2_FP256BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_FP256BN.h:37</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_a949e85f7051d0b9b59693174f22548fc"><div class="ttname"><a href="pair__FP256BN_8h.html#a949e85f7051d0b9b59693174f22548fc">PAIR_FP256BN_double_ate</a></div><div class="ttdeci">void PAIR_FP256BN_double_ate(FP12_FP256BN *r, ECP2_FP256BN *P, ECP_FP256BN *Q, ECP2_FP256BN *R, ECP_FP256BN *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S) </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:356</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_a340318adeb517e5440659c986101c713"><div class="ttname"><a href="pair__FP256BN_8h.html#a340318adeb517e5440659c986101c713">PAIR_FP256BN_nbits</a></div><div class="ttdeci">int PAIR_FP256BN_nbits(BIG_256_56 n3, BIG_256_56 n)</div><div class="ttdoc">Prepare Ate parameter. </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:139</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_a22e4f8483b9e5ca1c0406e34f4473520"><div class="ttname"><a href="pair__FP256BN_8h.html#a22e4f8483b9e5ca1c0406e34f4473520">PAIR_FP256BN_G2mul</a></div><div class="ttdeci">void PAIR_FP256BN_G2mul(ECP2_FP256BN *P, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:764</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_aaa9feabbdc3508ce829ab02dca905a5d"><div class="ttname"><a href="pair__FP256BN_8h.html#aaa9feabbdc3508ce829ab02dca905a5d">PAIR_FP256BN_another</a></div><div class="ttdeci">void PAIR_FP256BN_another(FP12_FP256BN r[], ECP2_FP256BN *PV, ECP_FP256BN *QV)</div><div class="ttdoc">Precompute line functions for n-pairing. </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:200</div></div>
 <div class="ttc" id="pair__FP256BN_8h_html_a32d6454dbe379414cbf371501bdfa14c"><div class="ttname"><a href="pair__FP256BN_8h.html#a32d6454dbe379414cbf371501bdfa14c">CURVE_Bnx_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_Bnx_FP256BN</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_a545c2d67667408b3b203e40bc0bfd709"><div class="ttname"><a href="pair__FP256BN_8h.html#a545c2d67667408b3b203e40bc0bfd709">PAIR_FP256BN_GTpow</a></div><div class="ttdeci">void PAIR_FP256BN_GTpow(FP12_FP256BN *x, BIG_256_56 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:813</div></div>
-<div class="ttc" id="ecp2__FP256BN_8h_html"><div class="ttname"><a href="ecp2__FP256BN_8h.html">ecp2_FP256BN.h</a></div><div class="ttdoc">ECP2 Header File.</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_afe597680cdc44fee36bb3114c2587017"><div class="ttname"><a href="pair__FP256BN_8h.html#afe597680cdc44fee36bb3114c2587017">PAIR_FP256BN_GTmember</a></div><div class="ttdeci">int PAIR_FP256BN_GTmember(FP12_FP256BN *x)</div><div class="ttdoc">Tests FP12 for membership of GT.</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_a08e4a88119f95e6f1659bef17ac79da5"><div class="ttname"><a href="pair__FP256BN_8h.html#a08e4a88119f95e6f1659bef17ac79da5">PAIR_FP256BN_fexp</a></div><div class="ttdeci">void PAIR_FP256BN_fexp(FP12_FP256BN *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:469</div></div>
-<div class="ttc" id="structFP12__FP256BN_html"><div class="ttname"><a href="structFP12__FP256BN.html">FP12_FP256BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:36</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_a545c2d67667408b3b203e40bc0bfd709"><div class="ttname"><a href="pair__FP256BN_8h.html#a545c2d67667408b3b203e40bc0bfd709">PAIR_FP256BN_GTpow</a></div><div class="ttdeci">void PAIR_FP256BN_GTpow(FP12_FP256BN *x, BIG_256_56 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power. </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:813</div></div>
+<div class="ttc" id="ecp2__FP256BN_8h_html"><div class="ttname"><a href="ecp2__FP256BN_8h.html">ecp2_FP256BN.h</a></div><div class="ttdoc">ECP2 Header File. </div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_afe597680cdc44fee36bb3114c2587017"><div class="ttname"><a href="pair__FP256BN_8h.html#afe597680cdc44fee36bb3114c2587017">PAIR_FP256BN_GTmember</a></div><div class="ttdeci">int PAIR_FP256BN_GTmember(FP12_FP256BN *x)</div><div class="ttdoc">Tests FP12 for membership of GT. </div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_a08e4a88119f95e6f1659bef17ac79da5"><div class="ttname"><a href="pair__FP256BN_8h.html#a08e4a88119f95e6f1659bef17ac79da5">PAIR_FP256BN_fexp</a></div><div class="ttdeci">void PAIR_FP256BN_fexp(FP12_FP256BN *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT. ...</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:469</div></div>
+<div class="ttc" id="structFP12__FP256BN_html"><div class="ttname"><a href="structFP12__FP256BN.html">FP12_FP256BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP256BN.h:36</div></div>
 <div class="ttc" id="big__256__56_8h_html_abea3e70a8a87f28329ed8e48af7bb244"><div class="ttname"><a href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a></div><div class="ttdeci">chunk BIG_256_56[NLEN_256_56]</div><div class="ttdef"><b>Definition:</b> big_256_56.h:58</div></div>
 <div class="ttc" id="pair__FP256BN_8h_html_a78a202e723161e392bf420fb413a293b"><div class="ttname"><a href="pair__FP256BN_8h.html#a78a202e723161e392bf420fb413a293b">CURVE_WB_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_WB_FP256BN[4]</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_add714a32016ac9212a74255e47b5e8e1"><div class="ttname"><a href="pair__FP256BN_8h.html#add714a32016ac9212a74255e47b5e8e1">PAIR_FP256BN_ate</a></div><div class="ttdeci">void PAIR_FP256BN_ate(FP12_FP256BN *r, ECP2_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q)</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:272</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_ab52d15bdaed5eb42fe0ae3fa1cbc201e"><div class="ttname"><a href="pair__FP256BN_8h.html#ab52d15bdaed5eb42fe0ae3fa1cbc201e">PAIR_FP256BN_G1mul</a></div><div class="ttdeci">void PAIR_FP256BN_G1mul(ECP_FP256BN *Q, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:718</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html_a47cb4a499cef8e07b8c440cd78a43c6d"><div class="ttname"><a href="pair__FP256BN_8h.html#a47cb4a499cef8e07b8c440cd78a43c6d">PAIR_FP256BN_miller</a></div><div class="ttdeci">void PAIR_FP256BN_miller(FP12_FP256BN *res, FP12_FP256BN r[])</div><div class="ttdoc">Miller loop.</div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:182</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_add714a32016ac9212a74255e47b5e8e1"><div class="ttname"><a href="pair__FP256BN_8h.html#add714a32016ac9212a74255e47b5e8e1">PAIR_FP256BN_ate</a></div><div class="ttdeci">void PAIR_FP256BN_ate(FP12_FP256BN *r, ECP2_FP256BN *P, ECP_FP256BN *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q) </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:272</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_ab52d15bdaed5eb42fe0ae3fa1cbc201e"><div class="ttname"><a href="pair__FP256BN_8h.html#ab52d15bdaed5eb42fe0ae3fa1cbc201e">PAIR_FP256BN_G1mul</a></div><div class="ttdeci">void PAIR_FP256BN_G1mul(ECP_FP256BN *Q, BIG_256_56 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:718</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html_a47cb4a499cef8e07b8c440cd78a43c6d"><div class="ttname"><a href="pair__FP256BN_8h.html#a47cb4a499cef8e07b8c440cd78a43c6d">PAIR_FP256BN_miller</a></div><div class="ttdeci">void PAIR_FP256BN_miller(FP12_FP256BN *res, FP12_FP256BN r[])</div><div class="ttdoc">Miller loop. </div><div class="ttdef"><b>Definition:</b> pair_FP256BN.c:182</div></div>
 <div class="ttc" id="pair__FP256BN_8h_html_a4521adc0ede6afae5b82e75cd248484f"><div class="ttname"><a href="pair__FP256BN_8h.html#a4521adc0ede6afae5b82e75cd248484f">CURVE_W_FP256BN</a></div><div class="ttdeci">const BIG_256_56 CURVE_W_FP256BN[2]</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/pair__FP512BN_8h.html b/website/static/cdocs/pair__FP512BN_8h.html
index f606a37..3505650 100644
--- a/website/static/cdocs/pair__FP512BN_8h.html
+++ b/website/static/cdocs/pair__FP512BN_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: pair_FP512BN.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"
@@ -620,7 +623,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/pair__FP512BN_8h_source.html b/website/static/cdocs/pair__FP512BN_8h_source.html
index 8e31da7..cfdd057 100644
--- a/website/static/cdocs/pair__FP512BN_8h_source.html
+++ b/website/static/cdocs/pair__FP512BN_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: pair_FP512BN.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,36 +72,36 @@
 <div class="title">pair_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pair__FP512BN_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 PAIR_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_FP512BN_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 &quot;<a class="code" href="fp12__FP512BN_8h.html">fp12_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__FP512BN_8h.html">ecp2_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#a2cbeec7c489096de65a000f9f0b96ca0">CURVE_Cru_FP512BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#aa30bd494d22b536ca5d247674c394bea">CURVE_W_FP512BN</a>[2];      </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#aa9c96b7b8f982ae7ae594218d6aee2f6">CURVE_SB_FP512BN</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#a71f89bc43d50f3f3f3161c5d9337fd49">CURVE_WB_FP512BN</a>[4];     </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#aa4b8d3bf44351f475ba69561eaac3a1b">CURVE_BB_FP512BN</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#addb9baf99c7f3c05c892f83eb05cc968">PAIR_FP512BN_another</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> r[],<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a>* PV,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a490d94042be5a94fc86afb718f306bf0">PAIR_FP512BN_ate</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a2060671f7ed18fc80907e78d42cd9b47">PAIR_FP512BN_double_ate</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *R,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#ac9984f2d5c627889d6819a0a42200425">PAIR_FP512BN_fexp</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</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="pair__FP512BN_8h.html#a30d8f297d036b66d0b72738c38cabd1a">PAIR_FP512BN_G1mul</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a64772a99687b9a6ec9755779ce196ab1">PAIR_FP512BN_G2mul</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a9db1a72fd40bd20f3891e3f66356ef53">PAIR_FP512BN_GTpow</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP512BN_8h.html#a7f097b0c590545af878fd4c6fdf766aa">PAIR_FP512BN_GTmember</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP512BN_8h.html#a63495d10ae7efa053daf4fe1c7f092a3">PAIR_FP512BN_nbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> n3,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#ada64af2c0037b24da15149a15006cf7a">PAIR_FP512BN_initmp</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__FP512BN_8h.html#abd4a4760af3759f4508f91f17814a3e6">PAIR_FP512BN_miller</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *res,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_addb9baf99c7f3c05c892f83eb05cc968"><div class="ttname"><a href="pair__FP512BN_8h.html#addb9baf99c7f3c05c892f83eb05cc968">PAIR_FP512BN_another</a></div><div class="ttdeci">void PAIR_FP512BN_another(FP12_FP512BN r[], ECP2_FP512BN *PV, ECP_FP512BN *QV)</div><div class="ttdoc">Precompute line functions for n-pairing.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:200</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_a63495d10ae7efa053daf4fe1c7f092a3"><div class="ttname"><a href="pair__FP512BN_8h.html#a63495d10ae7efa053daf4fe1c7f092a3">PAIR_FP512BN_nbits</a></div><div class="ttdeci">int PAIR_FP512BN_nbits(BIG_512_60 n3, BIG_512_60 n)</div><div class="ttdoc">Prepare Ate parameter.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:139</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_a7f097b0c590545af878fd4c6fdf766aa"><div class="ttname"><a href="pair__FP512BN_8h.html#a7f097b0c590545af878fd4c6fdf766aa">PAIR_FP512BN_GTmember</a></div><div class="ttdeci">int PAIR_FP512BN_GTmember(FP12_FP512BN *x)</div><div class="ttdoc">Tests FP12 for membership of GT.</div></div>
-<div class="ttc" id="ecp__FP512BN_8h_html"><div class="ttname"><a href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a></div><div class="ttdoc">ECP Header File.</div></div>
+<a href="pair__FP512BN_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 PAIR_FP512BN_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define PAIR_FP512BN_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 &quot;<a class="code" href="fp12__FP512BN_8h.html">fp12_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp2__FP512BN_8h.html">ecp2_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a>&quot;</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="comment">/* Pairing constants */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a>; </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#a2cbeec7c489096de65a000f9f0b96ca0">CURVE_Cru_FP512BN</a>; </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#aa30bd494d22b536ca5d247674c394bea">CURVE_W_FP512BN</a>[2];  </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#aa9c96b7b8f982ae7ae594218d6aee2f6">CURVE_SB_FP512BN</a>[2][2]; </div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#a71f89bc43d50f3f3f3161c5d9337fd49">CURVE_WB_FP512BN</a>[4];     </div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> <a class="code" href="pair__FP512BN_8h.html#aa4b8d3bf44351f475ba69561eaac3a1b">CURVE_BB_FP512BN</a>[4][4]; </div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Pairing function prototypes */</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#addb9baf99c7f3c05c892f83eb05cc968">PAIR_FP512BN_another</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> r[],<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a>* PV,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a>* QV);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a490d94042be5a94fc86afb718f306bf0">PAIR_FP512BN_ate</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a2060671f7ed18fc80907e78d42cd9b47">PAIR_FP512BN_double_ate</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *r,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *R,<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *S);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#ac9984f2d5c627889d6819a0a42200425">PAIR_FP512BN_fexp</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</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="pair__FP512BN_8h.html#a30d8f297d036b66d0b72738c38cabd1a">PAIR_FP512BN_G1mul</a>(<a class="code" href="structECP__FP512BN.html">ECP_FP512BN</a> *Q,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a64772a99687b9a6ec9755779ce196ab1">PAIR_FP512BN_G2mul</a>(<a class="code" href="structECP2__FP512BN.html">ECP2_FP512BN</a> *P,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#a9db1a72fd40bd20f3891e3f66356ef53">PAIR_FP512BN_GTpow</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> b);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP512BN_8h.html#a7f097b0c590545af878fd4c6fdf766aa">PAIR_FP512BN_GTmember</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *x);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="pair__FP512BN_8h.html#a63495d10ae7efa053daf4fe1c7f092a3">PAIR_FP512BN_nbits</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> n3,<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> n);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="pair__FP512BN_8h.html#ada64af2c0037b24da15149a15006cf7a">PAIR_FP512BN_initmp</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> r[]);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</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="pair__FP512BN_8h.html#abd4a4760af3759f4508f91f17814a3e6">PAIR_FP512BN_miller</a>(<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> *res,<a class="code" href="structFP12__FP512BN.html">FP12_FP512BN</a> r[]);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_addb9baf99c7f3c05c892f83eb05cc968"><div class="ttname"><a href="pair__FP512BN_8h.html#addb9baf99c7f3c05c892f83eb05cc968">PAIR_FP512BN_another</a></div><div class="ttdeci">void PAIR_FP512BN_another(FP12_FP512BN r[], ECP2_FP512BN *PV, ECP_FP512BN *QV)</div><div class="ttdoc">Precompute line functions for n-pairing. </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:200</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_a63495d10ae7efa053daf4fe1c7f092a3"><div class="ttname"><a href="pair__FP512BN_8h.html#a63495d10ae7efa053daf4fe1c7f092a3">PAIR_FP512BN_nbits</a></div><div class="ttdeci">int PAIR_FP512BN_nbits(BIG_512_60 n3, BIG_512_60 n)</div><div class="ttdoc">Prepare Ate parameter. </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:139</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_a7f097b0c590545af878fd4c6fdf766aa"><div class="ttname"><a href="pair__FP512BN_8h.html#a7f097b0c590545af878fd4c6fdf766aa">PAIR_FP512BN_GTmember</a></div><div class="ttdeci">int PAIR_FP512BN_GTmember(FP12_FP512BN *x)</div><div class="ttdoc">Tests FP12 for membership of GT. </div></div>
+<div class="ttc" id="ecp__FP512BN_8h_html"><div class="ttname"><a href="ecp__FP512BN_8h.html">ecp_FP512BN.h</a></div><div class="ttdoc">ECP Header File. </div></div>
 <div class="ttc" id="pair__FP512BN_8h_html_aa9c96b7b8f982ae7ae594218d6aee2f6"><div class="ttname"><a href="pair__FP512BN_8h.html#aa9c96b7b8f982ae7ae594218d6aee2f6">CURVE_SB_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_SB_FP512BN[2][2]</div></div>
 <div class="ttc" id="pair__FP512BN_8h_html_aa4b8d3bf44351f475ba69561eaac3a1b"><div class="ttname"><a href="pair__FP512BN_8h.html#aa4b8d3bf44351f475ba69561eaac3a1b">CURVE_BB_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_BB_FP512BN[4][4]</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_a64772a99687b9a6ec9755779ce196ab1"><div class="ttname"><a href="pair__FP512BN_8h.html#a64772a99687b9a6ec9755779ce196ab1">PAIR_FP512BN_G2mul</a></div><div class="ttdeci">void PAIR_FP512BN_G2mul(ECP2_FP512BN *P, BIG_512_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:764</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_a64772a99687b9a6ec9755779ce196ab1"><div class="ttname"><a href="pair__FP512BN_8h.html#a64772a99687b9a6ec9755779ce196ab1">PAIR_FP512BN_G2mul</a></div><div class="ttdeci">void PAIR_FP512BN_G2mul(ECP2_FP512BN *P, BIG_512_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G2 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:764</div></div>
 <div class="ttc" id="pair__FP512BN_8h_html_a9295120c8bc5f87ec3beee2f2b368c36"><div class="ttname"><a href="pair__FP512BN_8h.html#a9295120c8bc5f87ec3beee2f2b368c36">CURVE_Bnx_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Bnx_FP512BN</div></div>
-<div class="ttc" id="ecp2__FP512BN_8h_html"><div class="ttname"><a href="ecp2__FP512BN_8h.html">ecp2_FP512BN.h</a></div><div class="ttdoc">ECP2 Header File.</div></div>
+<div class="ttc" id="ecp2__FP512BN_8h_html"><div class="ttname"><a href="ecp2__FP512BN_8h.html">ecp2_FP512BN.h</a></div><div class="ttdoc">ECP2 Header File. </div></div>
 <div class="ttc" id="pair__FP512BN_8h_html_aa30bd494d22b536ca5d247674c394bea"><div class="ttname"><a href="pair__FP512BN_8h.html#aa30bd494d22b536ca5d247674c394bea">CURVE_W_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_W_FP512BN[2]</div></div>
-<div class="ttc" id="structECP2__FP512BN_html"><div class="ttname"><a href="structECP2__FP512BN.html">ECP2_FP512BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field.</div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.h:37</div></div>
+<div class="ttc" id="structECP2__FP512BN_html"><div class="ttname"><a href="structECP2__FP512BN.html">ECP2_FP512BN</a></div><div class="ttdoc">ECP2 Structure - Elliptic Curve Point over quadratic extension field. </div><div class="ttdef"><b>Definition:</b> ecp2_FP512BN.h:37</div></div>
 <div class="ttc" id="pair__FP512BN_8h_html_a71f89bc43d50f3f3f3161c5d9337fd49"><div class="ttname"><a href="pair__FP512BN_8h.html#a71f89bc43d50f3f3f3161c5d9337fd49">CURVE_WB_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_WB_FP512BN[4]</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_a30d8f297d036b66d0b72738c38cabd1a"><div class="ttname"><a href="pair__FP512BN_8h.html#a30d8f297d036b66d0b72738c38cabd1a">PAIR_FP512BN_G1mul</a></div><div class="ttdeci">void PAIR_FP512BN_G1mul(ECP_FP512BN *Q, BIG_512_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:718</div></div>
-<div class="ttc" id="structECP__FP512BN_html"><div class="ttname"><a href="structECP__FP512BN.html">ECP_FP512BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field.</div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.h:105</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_a490d94042be5a94fc86afb718f306bf0"><div class="ttname"><a href="pair__FP512BN_8h.html#a490d94042be5a94fc86afb718f306bf0">PAIR_FP512BN_ate</a></div><div class="ttdeci">void PAIR_FP512BN_ate(FP12_FP512BN *r, ECP2_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q)</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:272</div></div>
-<div class="ttc" id="structFP12__FP512BN_html"><div class="ttname"><a href="structFP12__FP512BN.html">FP12_FP512BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4.</div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:36</div></div>
-<div class="ttc" id="fp12__FP512BN_8h_html"><div class="ttname"><a href="fp12__FP512BN_8h.html">fp12_FP512BN.h</a></div><div class="ttdoc">FP12 Header File.</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_ac9984f2d5c627889d6819a0a42200425"><div class="ttname"><a href="pair__FP512BN_8h.html#ac9984f2d5c627889d6819a0a42200425">PAIR_FP512BN_fexp</a></div><div class="ttdeci">void PAIR_FP512BN_fexp(FP12_FP512BN *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:469</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_abd4a4760af3759f4508f91f17814a3e6"><div class="ttname"><a href="pair__FP512BN_8h.html#abd4a4760af3759f4508f91f17814a3e6">PAIR_FP512BN_miller</a></div><div class="ttdeci">void PAIR_FP512BN_miller(FP12_FP512BN *res, FP12_FP512BN r[])</div><div class="ttdoc">Miller loop.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:182</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_a9db1a72fd40bd20f3891e3f66356ef53"><div class="ttname"><a href="pair__FP512BN_8h.html#a9db1a72fd40bd20f3891e3f66356ef53">PAIR_FP512BN_GTpow</a></div><div class="ttdeci">void PAIR_FP512BN_GTpow(FP12_FP512BN *x, BIG_512_60 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:813</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_a2060671f7ed18fc80907e78d42cd9b47"><div class="ttname"><a href="pair__FP512BN_8h.html#a2060671f7ed18fc80907e78d42cd9b47">PAIR_FP512BN_double_ate</a></div><div class="ttdeci">void PAIR_FP512BN_double_ate(FP12_FP512BN *r, ECP2_FP512BN *P, ECP_FP512BN *Q, ECP2_FP512BN *R, ECP_FP512BN *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S)</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:356</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html_ada64af2c0037b24da15149a15006cf7a"><div class="ttname"><a href="pair__FP512BN_8h.html#ada64af2c0037b24da15149a15006cf7a">PAIR_FP512BN_initmp</a></div><div class="ttdeci">void PAIR_FP512BN_initmp(FP12_FP512BN r[])</div><div class="ttdoc">Initialise structure for multi-pairing.</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:173</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_a30d8f297d036b66d0b72738c38cabd1a"><div class="ttname"><a href="pair__FP512BN_8h.html#a30d8f297d036b66d0b72738c38cabd1a">PAIR_FP512BN_G1mul</a></div><div class="ttdeci">void PAIR_FP512BN_G1mul(ECP_FP512BN *Q, BIG_512_60 b)</div><div class="ttdoc">Fast point multiplication of a member of the group G1 by a BIG number. </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:718</div></div>
+<div class="ttc" id="structECP__FP512BN_html"><div class="ttname"><a href="structECP__FP512BN.html">ECP_FP512BN</a></div><div class="ttdoc">ECP structure - Elliptic Curve Point over base field. </div><div class="ttdef"><b>Definition:</b> ecp_FP512BN.h:105</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_a490d94042be5a94fc86afb718f306bf0"><div class="ttname"><a href="pair__FP512BN_8h.html#a490d94042be5a94fc86afb718f306bf0">PAIR_FP512BN_ate</a></div><div class="ttdeci">void PAIR_FP512BN_ate(FP12_FP512BN *r, ECP2_FP512BN *P, ECP_FP512BN *Q)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE pairing e(P,Q) </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:272</div></div>
+<div class="ttc" id="structFP12__FP512BN_html"><div class="ttname"><a href="structFP12__FP512BN.html">FP12_FP512BN</a></div><div class="ttdoc">FP12 Structure - towered over three FP4. </div><div class="ttdef"><b>Definition:</b> fp12_FP512BN.h:36</div></div>
+<div class="ttc" id="fp12__FP512BN_8h_html"><div class="ttname"><a href="fp12__FP512BN_8h.html">fp12_FP512BN.h</a></div><div class="ttdoc">FP12 Header File. </div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_ac9984f2d5c627889d6819a0a42200425"><div class="ttname"><a href="pair__FP512BN_8h.html#ac9984f2d5c627889d6819a0a42200425">PAIR_FP512BN_fexp</a></div><div class="ttdeci">void PAIR_FP512BN_fexp(FP12_FP512BN *x)</div><div class="ttdoc">Final exponentiation of pairing, converts output of Miller loop to element in GT. ...</div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:469</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_abd4a4760af3759f4508f91f17814a3e6"><div class="ttname"><a href="pair__FP512BN_8h.html#abd4a4760af3759f4508f91f17814a3e6">PAIR_FP512BN_miller</a></div><div class="ttdeci">void PAIR_FP512BN_miller(FP12_FP512BN *res, FP12_FP512BN r[])</div><div class="ttdoc">Miller loop. </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:182</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_a9db1a72fd40bd20f3891e3f66356ef53"><div class="ttname"><a href="pair__FP512BN_8h.html#a9db1a72fd40bd20f3891e3f66356ef53">PAIR_FP512BN_GTpow</a></div><div class="ttdeci">void PAIR_FP512BN_GTpow(FP12_FP512BN *x, BIG_512_60 b)</div><div class="ttdoc">Fast raising of a member of GT to a BIG power. </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:813</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_a2060671f7ed18fc80907e78d42cd9b47"><div class="ttname"><a href="pair__FP512BN_8h.html#a2060671f7ed18fc80907e78d42cd9b47">PAIR_FP512BN_double_ate</a></div><div class="ttdeci">void PAIR_FP512BN_double_ate(FP12_FP512BN *r, ECP2_FP512BN *P, ECP_FP512BN *Q, ECP2_FP512BN *R, ECP_FP512BN *S)</div><div class="ttdoc">Calculate Miller loop for Optimal ATE double-pairing e(P,Q).e(R,S) </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:356</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html_ada64af2c0037b24da15149a15006cf7a"><div class="ttname"><a href="pair__FP512BN_8h.html#ada64af2c0037b24da15149a15006cf7a">PAIR_FP512BN_initmp</a></div><div class="ttdeci">void PAIR_FP512BN_initmp(FP12_FP512BN r[])</div><div class="ttdoc">Initialise structure for multi-pairing. </div><div class="ttdef"><b>Definition:</b> pair_FP512BN.c:173</div></div>
 <div class="ttc" id="pair__FP512BN_8h_html_a2cbeec7c489096de65a000f9f0b96ca0"><div class="ttname"><a href="pair__FP512BN_8h.html#a2cbeec7c489096de65a000f9f0b96ca0">CURVE_Cru_FP512BN</a></div><div class="ttdeci">const BIG_512_60 CURVE_Cru_FP512BN</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/pbc__support_8h.html b/website/static/cdocs/pbc__support_8h.html
index 53c31d2..f8cd111 100644
--- a/website/static/cdocs/pbc__support_8h.html
+++ b/website/static/cdocs/pbc__support_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: pbc_support.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"
@@ -435,11 +438,16 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param sha is the hash type
-@param n integer involved in the hash
-@param x octect involved in the h ash
-@param w output
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">sha</td><td>is the hash type </td></tr>
+    <tr><td class="paramname">n</td><td>integer involved in the hash </td></tr>
+    <tr><td class="paramname">x</td><td>octect involved in the h ash </td></tr>
+    <tr><td class="paramname">w</td><td>output </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a id="ab3ba37964488d50c32164667cade5c47"></a>
@@ -466,7 +474,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/pbc__support_8h_source.html b/website/static/cdocs/pbc__support_8h_source.html
index 4d4a897..55dbf2a 100644
--- a/website/static/cdocs/pbc__support_8h_source.html
+++ b/website/static/cdocs/pbc__support_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: pbc_support.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,20 +72,20 @@
 <div class="title">pbc_support.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="pbc__support_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef PBC_SUPPORT_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PBC_SUPPORT_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="pbc__support_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   33</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440  </span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">extern void mhashit(int sha,int n,octet *x,octet *w);</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> <a class="code" href="pbc__support_8h.html#ab3ba37964488d50c32164667cade5c47">today</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#ac67c0eddbb5645724893a815837c2a4d">HASH_ALL</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *CU,<a class="code" href="structoctet.html">octet</a> *Y,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *H);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#a0a6352129931893109bf7693f7cf1077">HASH_ID</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> <a class="code" href="pbc__support_8h.html#ad0370d54d65ca8da3d4748f49613edcf">GET_TIME</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#a36f18731b0822fcc66120f5d64ece6c1">AES_GCM_ENCRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *IV,<a class="code" href="structoctet.html">octet</a> *H,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#ae4aa0f36fb96432ff2ed3a0055dc6c0c">AES_GCM_DECRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *IV,<a class="code" href="structoctet.html">octet</a> *H,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *T);</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">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif</span></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="pbc__support_8h_html_ae4aa0f36fb96432ff2ed3a0055dc6c0c"><div class="ttname"><a href="pbc__support_8h.html#ae4aa0f36fb96432ff2ed3a0055dc6c0c">AES_GCM_DECRYPT</a></div><div class="ttdeci">void AES_GCM_DECRYPT(octet *K, octet *IV, octet *H, octet *C, octet *P, octet *T)</div><div class="ttdoc">AES-GCM Decryption.</div><div class="ttdef"><b>Definition:</b> pbc_support.c:170</div></div>
-<div class="ttc" id="pbc__support_8h_html_ad0370d54d65ca8da3d4748f49613edcf"><div class="ttname"><a href="pbc__support_8h.html#ad0370d54d65ca8da3d4748f49613edcf">GET_TIME</a></div><div class="ttdeci">unsign32 GET_TIME(void)</div><div class="ttdoc">Get epoch time as unsigned integer.</div><div class="ttdef"><b>Definition:</b> pbc_support.c:150</div></div>
-<div class="ttc" id="pbc__support_8h_html_a36f18731b0822fcc66120f5d64ece6c1"><div class="ttname"><a href="pbc__support_8h.html#a36f18731b0822fcc66120f5d64ece6c1">AES_GCM_ENCRYPT</a></div><div class="ttdeci">void AES_GCM_ENCRYPT(octet *K, octet *IV, octet *H, octet *P, octet *C, octet *T)</div><div class="ttdoc">AES-GCM Encryption.</div><div class="ttdef"><b>Definition:</b> pbc_support.c:157</div></div>
-<div class="ttc" id="pbc__support_8h_html_ab3ba37964488d50c32164667cade5c47"><div class="ttname"><a href="pbc__support_8h.html#ab3ba37964488d50c32164667cade5c47">today</a></div><div class="ttdeci">unsign32 today(void)</div><div class="ttdoc">Supply today's date as days from the epoch.</div><div class="ttdef"><b>Definition:</b> pbc_support.c:120</div></div>
-<div class="ttc" id="pbc__support_8h_html_ac67c0eddbb5645724893a815837c2a4d"><div class="ttname"><a href="pbc__support_8h.html#ac67c0eddbb5645724893a815837c2a4d">HASH_ALL</a></div><div class="ttdeci">void HASH_ALL(int h, octet *I, octet *U, octet *CU, octet *Y, octet *V, octet *R, octet *W, octet *H)</div><div class="ttdoc">Hash the session transcript.</div><div class="ttdef"><b>Definition:</b> pbc_support.c:129</div></div>
-<div class="ttc" id="pbc__support_8h_html_a0a6352129931893109bf7693f7cf1077"><div class="ttname"><a href="pbc__support_8h.html#a0a6352129931893109bf7693f7cf1077">HASH_ID</a></div><div class="ttdeci">void HASH_ID(int h, octet *ID, octet *HID)</div><div class="ttdoc">Hash an M-Pin Identity to an octet string.</div><div class="ttdef"><b>Definition:</b> pbc_support.c:145</div></div>
+<a href="pbc__support_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef PBC_SUPPORT_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define PBC_SUPPORT_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="pbc__support_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   33</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440  </span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">extern void mhashit(int sha,int n,octet *x,octet *w);</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> <a class="code" href="pbc__support_8h.html#ab3ba37964488d50c32164667cade5c47">today</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#ac67c0eddbb5645724893a815837c2a4d">HASH_ALL</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *I,<a class="code" href="structoctet.html">octet</a> *U,<a class="code" href="structoctet.html">octet</a> *CU,<a class="code" href="structoctet.html">octet</a> *Y,<a class="code" href="structoctet.html">octet</a> *V,<a class="code" href="structoctet.html">octet</a> *R,<a class="code" href="structoctet.html">octet</a> *W,<a class="code" href="structoctet.html">octet</a> *H);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#a0a6352129931893109bf7693f7cf1077">HASH_ID</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *ID,<a class="code" href="structoctet.html">octet</a> *HID);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<a class="code" href="arch_8h.html#a59582c63ae040d9b1a47f17b0ac03db0">unsign32</a> <a class="code" href="pbc__support_8h.html#ad0370d54d65ca8da3d4748f49613edcf">GET_TIME</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#a36f18731b0822fcc66120f5d64ece6c1">AES_GCM_ENCRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *IV,<a class="code" href="structoctet.html">octet</a> *H,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *T);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="keywordtype">void</span> <a class="code" href="pbc__support_8h.html#ae4aa0f36fb96432ff2ed3a0055dc6c0c">AES_GCM_DECRYPT</a>(<a class="code" href="structoctet.html">octet</a> *K,<a class="code" href="structoctet.html">octet</a> *IV,<a class="code" href="structoctet.html">octet</a> *H,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *T);</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">   95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#endif</span></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="pbc__support_8h_html_ae4aa0f36fb96432ff2ed3a0055dc6c0c"><div class="ttname"><a href="pbc__support_8h.html#ae4aa0f36fb96432ff2ed3a0055dc6c0c">AES_GCM_DECRYPT</a></div><div class="ttdeci">void AES_GCM_DECRYPT(octet *K, octet *IV, octet *H, octet *C, octet *P, octet *T)</div><div class="ttdoc">AES-GCM Decryption. </div><div class="ttdef"><b>Definition:</b> pbc_support.c:170</div></div>
+<div class="ttc" id="pbc__support_8h_html_ad0370d54d65ca8da3d4748f49613edcf"><div class="ttname"><a href="pbc__support_8h.html#ad0370d54d65ca8da3d4748f49613edcf">GET_TIME</a></div><div class="ttdeci">unsign32 GET_TIME(void)</div><div class="ttdoc">Get epoch time as unsigned integer. </div><div class="ttdef"><b>Definition:</b> pbc_support.c:150</div></div>
+<div class="ttc" id="pbc__support_8h_html_a36f18731b0822fcc66120f5d64ece6c1"><div class="ttname"><a href="pbc__support_8h.html#a36f18731b0822fcc66120f5d64ece6c1">AES_GCM_ENCRYPT</a></div><div class="ttdeci">void AES_GCM_ENCRYPT(octet *K, octet *IV, octet *H, octet *P, octet *C, octet *T)</div><div class="ttdoc">AES-GCM Encryption. </div><div class="ttdef"><b>Definition:</b> pbc_support.c:157</div></div>
+<div class="ttc" id="pbc__support_8h_html_ab3ba37964488d50c32164667cade5c47"><div class="ttname"><a href="pbc__support_8h.html#ab3ba37964488d50c32164667cade5c47">today</a></div><div class="ttdeci">unsign32 today(void)</div><div class="ttdoc">Supply today&amp;#39;s date as days from the epoch. </div><div class="ttdef"><b>Definition:</b> pbc_support.c:120</div></div>
+<div class="ttc" id="pbc__support_8h_html_ac67c0eddbb5645724893a815837c2a4d"><div class="ttname"><a href="pbc__support_8h.html#ac67c0eddbb5645724893a815837c2a4d">HASH_ALL</a></div><div class="ttdeci">void HASH_ALL(int h, octet *I, octet *U, octet *CU, octet *Y, octet *V, octet *R, octet *W, octet *H)</div><div class="ttdoc">Hash the session transcript. </div><div class="ttdef"><b>Definition:</b> pbc_support.c:129</div></div>
+<div class="ttc" id="pbc__support_8h_html_a0a6352129931893109bf7693f7cf1077"><div class="ttname"><a href="pbc__support_8h.html#a0a6352129931893109bf7693f7cf1077">HASH_ID</a></div><div class="ttdeci">void HASH_ID(int h, octet *ID, octet *HID)</div><div class="ttdoc">Hash an M-Pin Identity to an octet string. </div><div class="ttdef"><b>Definition:</b> pbc_support.c:145</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><!-- 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/randapi_8h.html b/website/static/cdocs/randapi_8h.html
index a5988cd..8db3c84 100644
--- a/website/static/cdocs/randapi_8h.html
+++ b/website/static/cdocs/randapi_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: randapi.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"
@@ -154,7 +157,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/randapi_8h_source.html b/website/static/cdocs/randapi_8h_source.html
index d3b38da..c843012 100644
--- a/website/static/cdocs/randapi_8h_source.html
+++ b/website/static/cdocs/randapi_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: randapi.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,16 +72,16 @@
 <div class="title">randapi.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="randapi_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 RANDOM_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define RANDOM_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="randapi_8h.html#ac0f0732989d0dd8760bd17f3f2b98fd3">CREATE_CSPRNG</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="randapi_8h.html#a1499834f0a378b9bd6713f244a59b0a8">KILL_CSPRNG</a>(<a class="code" href="structcsprng.html">csprng</a> *R);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="ttc" id="randapi_8h_html_ac0f0732989d0dd8760bd17f3f2b98fd3"><div class="ttname"><a href="randapi_8h.html#ac0f0732989d0dd8760bd17f3f2b98fd3">CREATE_CSPRNG</a></div><div class="ttdeci">void CREATE_CSPRNG(csprng *R, octet *S)</div><div class="ttdoc">Initialise a random number generator.</div><div class="ttdef"><b>Definition:</b> randapi.c:25</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="randapi_8h_html_a1499834f0a378b9bd6713f244a59b0a8"><div class="ttname"><a href="randapi_8h.html#a1499834f0a378b9bd6713f244a59b0a8">KILL_CSPRNG</a></div><div class="ttdeci">void KILL_CSPRNG(csprng *R)</div><div class="ttdoc">Kill a random number generator.</div><div class="ttdef"><b>Definition:</b> randapi.c:30</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>
+<a href="randapi_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 RANDOM_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define RANDOM_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="randapi_8h.html#ac0f0732989d0dd8760bd17f3f2b98fd3">CREATE_CSPRNG</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *S);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="randapi_8h.html#a1499834f0a378b9bd6713f244a59b0a8">KILL_CSPRNG</a>(<a class="code" href="structcsprng.html">csprng</a> *R);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="ttc" id="randapi_8h_html_ac0f0732989d0dd8760bd17f3f2b98fd3"><div class="ttname"><a href="randapi_8h.html#ac0f0732989d0dd8760bd17f3f2b98fd3">CREATE_CSPRNG</a></div><div class="ttdeci">void CREATE_CSPRNG(csprng *R, octet *S)</div><div class="ttdoc">Initialise a random number generator. </div><div class="ttdef"><b>Definition:</b> randapi.c:25</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="randapi_8h_html_a1499834f0a378b9bd6713f244a59b0a8"><div class="ttname"><a href="randapi_8h.html#a1499834f0a378b9bd6713f244a59b0a8">KILL_CSPRNG</a></div><div class="ttdeci">void KILL_CSPRNG(csprng *R)</div><div class="ttdoc">Kill a random number generator. </div><div class="ttdef"><b>Definition:</b> randapi.c:30</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><!-- 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/rsa__2048_8h.html b/website/static/cdocs/rsa__2048_8h.html
index 44ddb72..f85597b 100644
--- a/website/static/cdocs/rsa__2048_8h.html
+++ b/website/static/cdocs/rsa__2048_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: rsa_2048.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"
@@ -360,7 +363,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/rsa__2048_8h_source.html b/website/static/cdocs/rsa__2048_8h_source.html
index 781a24e..09d1f02 100644
--- a/website/static/cdocs/rsa__2048_8h_source.html
+++ b/website/static/cdocs/rsa__2048_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: rsa_2048.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,27 +72,27 @@
 <div class="title">rsa_2048.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="rsa__2048_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="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef RSA_2048_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define RSA_2048_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ff__2048_8h.html">ff_2048.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rsa__support_8h.html">rsa_support.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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"><a class="line" href="rsa__2048_8h.html#a4461a3cfe51cd4d692255ce4e510a84b">   37</a></span>&#160;<span class="preprocessor">#define HASH_TYPE_RSA_2048 SHA256 </span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="comment">/*** END OF USER CONFIGURABLE SECTION ***/</span><span class="preprocessor"></span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="rsa__2048_8h.html#a996cb7b9d7c86814d31362c120f5b4f7">   41</a></span>&#160;<span class="preprocessor">#define RFS_2048 MODBYTES_1024_58*FFLEN_2048 </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structrsa__public__key__2048.html">   48</a></span>&#160;<span class="preprocessor">typedef struct</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"><a class="line" href="structrsa__public__key__2048.html#a86cb8b61a0836da58d6b9165ed9ab2e9">   50</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structrsa__public__key__2048.html#a86cb8b61a0836da58d6b9165ed9ab2e9">e</a>;     </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e">   51</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;} <a class="code" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html">   58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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"><a class="line" href="structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5">   60</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> p[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2];  </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674">   61</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> q[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2];  </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#a382828d05d8fe5975b0b1399faa6eeb0">   62</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> dp[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2]; </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#a5730806511aefae689797463c78181aa">   63</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> dq[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2]; </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#ae01011219e26017dd3efb9eeccf9237b">   64</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> c[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2];  </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* RSA Auxiliary Functions */</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__2048_8h.html#a753b02b1cf6a6f44244cc05b7882bf2c">RSA_2048_KEY_PAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> e,<a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>* PRIV,<a class="code" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>* PUB,<a class="code" href="structoctet.html">octet</a> *P, <a class="code" href="structoctet.html">octet</a>* Q);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</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="rsa__2048_8h.html#a958ad60454650b79db859db1527d6721">RSA_2048_ENCRYPT</a>(<a class="code" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>* PUB,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *G);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__2048_8h.html#a25e2ee6e47d2f2ef4de16b859710e1a4">RSA_2048_DECRYPT</a>(<a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>* PRIV,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *F);</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="rsa__2048_8h.html#a7a89496c24440b302cf88bfc3915c4e1">RSA_2048_PRIVATE_KEY_KILL</a>(<a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a> *PRIV);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__2048_8h.html#a8db5537ffbc8757d2df796e249b8a253">RSA_2048_fromOctet</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</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;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="rsa__2048_8h_html_a8db5537ffbc8757d2df796e249b8a253"><div class="ttname"><a href="rsa__2048_8h.html#a8db5537ffbc8757d2df796e249b8a253">RSA_2048_fromOctet</a></div><div class="ttdeci">void RSA_2048_fromOctet(BIG_1024_58 *x, octet *S)</div><div class="ttdoc">Populates an RSA public key from an octet string.</div></div>
-<div class="ttc" id="rsa__support_8h_html"><div class="ttname"><a href="rsa__support_8h.html">rsa_support.h</a></div><div class="ttdoc">RSA Support Header File.</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="rsa__2048_8h_html_a25e2ee6e47d2f2ef4de16b859710e1a4"><div class="ttname"><a href="rsa__2048_8h.html#a25e2ee6e47d2f2ef4de16b859710e1a4">RSA_2048_DECRYPT</a></div><div class="ttdeci">void RSA_2048_DECRYPT(rsa_private_key_2048 *PRIV, octet *G, octet *F)</div><div class="ttdoc">RSA decryption of ciphertext.</div><div class="ttdef"><b>Definition:</b> rsa_2048.c:130</div></div>
-<div class="ttc" id="rsa__2048_8h_html_a753b02b1cf6a6f44244cc05b7882bf2c"><div class="ttname"><a href="rsa__2048_8h.html#a753b02b1cf6a6f44244cc05b7882bf2c">RSA_2048_KEY_PAIR</a></div><div class="ttdeci">void RSA_2048_KEY_PAIR(csprng *R, sign32 e, rsa_private_key_2048 *PRIV, rsa_public_key_2048 *PUB, octet *P, octet *Q)</div><div class="ttdoc">RSA Key Pair Generator.</div><div class="ttdef"><b>Definition:</b> rsa_2048.c:31</div></div>
-<div class="ttc" id="ff__2048_8h_html"><div class="ttname"><a href="ff__2048_8h.html">ff_2048.h</a></div><div class="ttdoc">FF Header File.</div></div>
-<div class="ttc" id="structrsa__private__key__2048_html"><div class="ttname"><a href="structrsa__private__key__2048.html">rsa_private_key_2048</a></div><div class="ttdoc">Integer Factorisation Private Key.</div><div class="ttdef"><b>Definition:</b> rsa_2048.h:58</div></div>
-<div class="ttc" id="structrsa__public__key__2048_html"><div class="ttname"><a href="structrsa__public__key__2048.html">rsa_public_key_2048</a></div><div class="ttdoc">Integer Factorisation Public Key.</div><div class="ttdef"><b>Definition:</b> rsa_2048.h:48</div></div>
+<a href="rsa__2048_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="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef RSA_2048_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define RSA_2048_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ff__2048_8h.html">ff_2048.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rsa__support_8h.html">rsa_support.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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"><a class="line" href="rsa__2048_8h.html#a4461a3cfe51cd4d692255ce4e510a84b">   37</a></span>&#160;<span class="preprocessor">#define HASH_TYPE_RSA_2048 SHA256 </span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="comment">/*** END OF USER CONFIGURABLE SECTION ***/</span><span class="preprocessor"></span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="rsa__2048_8h.html#a996cb7b9d7c86814d31362c120f5b4f7">   41</a></span>&#160;<span class="preprocessor">#define RFS_2048 MODBYTES_1024_58*FFLEN_2048 </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structrsa__public__key__2048.html">   48</a></span>&#160;<span class="preprocessor">typedef struct</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"><a class="line" href="structrsa__public__key__2048.html#a86cb8b61a0836da58d6b9165ed9ab2e9">   50</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structrsa__public__key__2048.html#a86cb8b61a0836da58d6b9165ed9ab2e9">e</a>;     </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e">   51</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> n[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;} <a class="code" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html">   58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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"><a class="line" href="structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5">   60</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> p[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2];  </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674">   61</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> q[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2];  </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#a382828d05d8fe5975b0b1399faa6eeb0">   62</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> dp[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2]; </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#a5730806511aefae689797463c78181aa">   63</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> dq[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2]; </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structrsa__private__key__2048.html#ae01011219e26017dd3efb9eeccf9237b">   64</a></span>&#160;    <a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> c[<a class="code" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>/2];  </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* RSA Auxiliary Functions */</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__2048_8h.html#a753b02b1cf6a6f44244cc05b7882bf2c">RSA_2048_KEY_PAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> e,<a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>* PRIV,<a class="code" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>* PUB,<a class="code" href="structoctet.html">octet</a> *P, <a class="code" href="structoctet.html">octet</a>* Q);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</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="rsa__2048_8h.html#a958ad60454650b79db859db1527d6721">RSA_2048_ENCRYPT</a>(<a class="code" href="structrsa__public__key__2048.html">rsa_public_key_2048</a>* PUB,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *G);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__2048_8h.html#a25e2ee6e47d2f2ef4de16b859710e1a4">RSA_2048_DECRYPT</a>(<a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a>* PRIV,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *F);</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="rsa__2048_8h.html#a7a89496c24440b302cf88bfc3915c4e1">RSA_2048_PRIVATE_KEY_KILL</a>(<a class="code" href="structrsa__private__key__2048.html">rsa_private_key_2048</a> *PRIV);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__2048_8h.html#a8db5537ffbc8757d2df796e249b8a253">RSA_2048_fromOctet</a>(<a class="code" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</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;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="rsa__2048_8h_html_a8db5537ffbc8757d2df796e249b8a253"><div class="ttname"><a href="rsa__2048_8h.html#a8db5537ffbc8757d2df796e249b8a253">RSA_2048_fromOctet</a></div><div class="ttdeci">void RSA_2048_fromOctet(BIG_1024_58 *x, octet *S)</div><div class="ttdoc">Populates an RSA public key from an octet string. </div></div>
+<div class="ttc" id="rsa__support_8h_html"><div class="ttname"><a href="rsa__support_8h.html">rsa_support.h</a></div><div class="ttdoc">RSA Support Header File. </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="rsa__2048_8h_html_a25e2ee6e47d2f2ef4de16b859710e1a4"><div class="ttname"><a href="rsa__2048_8h.html#a25e2ee6e47d2f2ef4de16b859710e1a4">RSA_2048_DECRYPT</a></div><div class="ttdeci">void RSA_2048_DECRYPT(rsa_private_key_2048 *PRIV, octet *G, octet *F)</div><div class="ttdoc">RSA decryption of ciphertext. </div><div class="ttdef"><b>Definition:</b> rsa_2048.c:130</div></div>
+<div class="ttc" id="rsa__2048_8h_html_a753b02b1cf6a6f44244cc05b7882bf2c"><div class="ttname"><a href="rsa__2048_8h.html#a753b02b1cf6a6f44244cc05b7882bf2c">RSA_2048_KEY_PAIR</a></div><div class="ttdeci">void RSA_2048_KEY_PAIR(csprng *R, sign32 e, rsa_private_key_2048 *PRIV, rsa_public_key_2048 *PUB, octet *P, octet *Q)</div><div class="ttdoc">RSA Key Pair Generator. </div><div class="ttdef"><b>Definition:</b> rsa_2048.c:31</div></div>
+<div class="ttc" id="ff__2048_8h_html"><div class="ttname"><a href="ff__2048_8h.html">ff_2048.h</a></div><div class="ttdoc">FF Header File. </div></div>
+<div class="ttc" id="structrsa__private__key__2048_html"><div class="ttname"><a href="structrsa__private__key__2048.html">rsa_private_key_2048</a></div><div class="ttdoc">Integer Factorisation Private Key. </div><div class="ttdef"><b>Definition:</b> rsa_2048.h:58</div></div>
+<div class="ttc" id="structrsa__public__key__2048_html"><div class="ttname"><a href="structrsa__public__key__2048.html">rsa_public_key_2048</a></div><div class="ttdoc">Integer Factorisation Public Key. </div><div class="ttdef"><b>Definition:</b> rsa_2048.h:48</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
 <div class="ttc" id="structrsa__public__key__2048_html_a86cb8b61a0836da58d6b9165ed9ab2e9"><div class="ttname"><a href="structrsa__public__key__2048.html#a86cb8b61a0836da58d6b9165ed9ab2e9">rsa_public_key_2048::e</a></div><div class="ttdeci">sign32 e</div><div class="ttdef"><b>Definition:</b> rsa_2048.h:50</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="rsa__2048_8h_html_a7a89496c24440b302cf88bfc3915c4e1"><div class="ttname"><a href="rsa__2048_8h.html#a7a89496c24440b302cf88bfc3915c4e1">RSA_2048_PRIVATE_KEY_KILL</a></div><div class="ttdeci">void RSA_2048_PRIVATE_KEY_KILL(rsa_private_key_2048 *PRIV)</div><div class="ttdoc">Destroy an RSA private Key.</div><div class="ttdef"><b>Definition:</b> rsa_2048.c:104</div></div>
-<div class="ttc" id="rsa__2048_8h_html_a958ad60454650b79db859db1527d6721"><div class="ttname"><a href="rsa__2048_8h.html#a958ad60454650b79db859db1527d6721">RSA_2048_ENCRYPT</a></div><div class="ttdeci">void RSA_2048_ENCRYPT(rsa_public_key_2048 *PUB, octet *F, octet *G)</div><div class="ttdoc">RSA encryption of suitably padded plaintext.</div><div class="ttdef"><b>Definition:</b> rsa_2048.c:119</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="rsa__2048_8h_html_a7a89496c24440b302cf88bfc3915c4e1"><div class="ttname"><a href="rsa__2048_8h.html#a7a89496c24440b302cf88bfc3915c4e1">RSA_2048_PRIVATE_KEY_KILL</a></div><div class="ttdeci">void RSA_2048_PRIVATE_KEY_KILL(rsa_private_key_2048 *PRIV)</div><div class="ttdoc">Destroy an RSA private Key. </div><div class="ttdef"><b>Definition:</b> rsa_2048.c:104</div></div>
+<div class="ttc" id="rsa__2048_8h_html_a958ad60454650b79db859db1527d6721"><div class="ttname"><a href="rsa__2048_8h.html#a958ad60454650b79db859db1527d6721">RSA_2048_ENCRYPT</a></div><div class="ttdeci">void RSA_2048_ENCRYPT(rsa_public_key_2048 *PUB, octet *F, octet *G)</div><div class="ttdoc">RSA encryption of suitably padded plaintext. </div><div class="ttdef"><b>Definition:</b> rsa_2048.c:119</div></div>
 <div class="ttc" id="config__ff__2048_8h_html_a9d97b1d9ded0164b99640480ddac4f1e"><div class="ttname"><a href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a></div><div class="ttdeci">#define FFLEN_2048</div><div class="ttdef"><b>Definition:</b> config_ff_2048.h:35</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/rsa__3072_8h.html b/website/static/cdocs/rsa__3072_8h.html
index b663d00..9929821 100644
--- a/website/static/cdocs/rsa__3072_8h.html
+++ b/website/static/cdocs/rsa__3072_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: rsa_3072.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"
@@ -360,7 +363,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/rsa__3072_8h_source.html b/website/static/cdocs/rsa__3072_8h_source.html
index 3275512..a07dfc5 100644
--- a/website/static/cdocs/rsa__3072_8h_source.html
+++ b/website/static/cdocs/rsa__3072_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: rsa_3072.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,27 +72,27 @@
 <div class="title">rsa_3072.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="rsa__3072_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="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef RSA_3072_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define RSA_3072_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ff__3072_8h.html">ff_3072.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rsa__support_8h.html">rsa_support.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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"><a class="line" href="rsa__3072_8h.html#a7ccf1504fdbe6fbb51b3bdc6559fe686">   37</a></span>&#160;<span class="preprocessor">#define HASH_TYPE_RSA_3072 SHA256 </span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="comment">/*** END OF USER CONFIGURABLE SECTION ***/</span><span class="preprocessor"></span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="rsa__3072_8h.html#a5bc8ba0098cdfd21bacd832f1f4d2ac8">   41</a></span>&#160;<span class="preprocessor">#define RFS_3072 MODBYTES_384_56*FFLEN_3072 </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structrsa__public__key__3072.html">   48</a></span>&#160;<span class="preprocessor">typedef struct</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"><a class="line" href="structrsa__public__key__3072.html#a8a44497182f58b0fe7d6413f1f88a69c">   50</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structrsa__public__key__3072.html#a8a44497182f58b0fe7d6413f1f88a69c">e</a>;     </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c">   51</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> n[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>]; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;} <a class="code" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html">   58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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"><a class="line" href="structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c">   60</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> p[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2];  </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7">   61</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> q[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2];  </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#a9a927d74ceac60187d2a23b668a13757">   62</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> dp[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2]; </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#ac52cfae3a87644cbf0119902737801f4">   63</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> dq[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2]; </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#a1281cf17de0ad55b18b8ff33f0be0599">   64</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> c[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2];  </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* RSA Auxiliary Functions */</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__3072_8h.html#ae45aa8fdf906ca4c128712ee9cfa4af6">RSA_3072_KEY_PAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> e,<a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>* PRIV,<a class="code" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>* PUB,<a class="code" href="structoctet.html">octet</a> *P, <a class="code" href="structoctet.html">octet</a>* Q);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</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="rsa__3072_8h.html#aefea96c0e2cdc7116adb71332a94198e">RSA_3072_ENCRYPT</a>(<a class="code" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>* PUB,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *G);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__3072_8h.html#afabe0231911df90e8d0ebc121a383f85">RSA_3072_DECRYPT</a>(<a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>* PRIV,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *F);</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="rsa__3072_8h.html#aa3cbeb08aa7f23eb33b57c200bc0be3c">RSA_3072_PRIVATE_KEY_KILL</a>(<a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a> *PRIV);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__3072_8h.html#ae218fa230c4b45045d6730785ac526a5">RSA_3072_fromOctet</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</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;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structrsa__public__key__3072_html"><div class="ttname"><a href="structrsa__public__key__3072.html">rsa_public_key_3072</a></div><div class="ttdoc">Integer Factorisation Public Key.</div><div class="ttdef"><b>Definition:</b> rsa_3072.h:48</div></div>
+<a href="rsa__3072_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="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef RSA_3072_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define RSA_3072_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ff__3072_8h.html">ff_3072.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rsa__support_8h.html">rsa_support.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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"><a class="line" href="rsa__3072_8h.html#a7ccf1504fdbe6fbb51b3bdc6559fe686">   37</a></span>&#160;<span class="preprocessor">#define HASH_TYPE_RSA_3072 SHA256 </span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="comment">/*** END OF USER CONFIGURABLE SECTION ***/</span><span class="preprocessor"></span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="rsa__3072_8h.html#a5bc8ba0098cdfd21bacd832f1f4d2ac8">   41</a></span>&#160;<span class="preprocessor">#define RFS_3072 MODBYTES_384_56*FFLEN_3072 </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structrsa__public__key__3072.html">   48</a></span>&#160;<span class="preprocessor">typedef struct</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"><a class="line" href="structrsa__public__key__3072.html#a8a44497182f58b0fe7d6413f1f88a69c">   50</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structrsa__public__key__3072.html#a8a44497182f58b0fe7d6413f1f88a69c">e</a>;     </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c">   51</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> n[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>]; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;} <a class="code" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html">   58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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"><a class="line" href="structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c">   60</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> p[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2];  </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7">   61</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> q[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2];  </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#a9a927d74ceac60187d2a23b668a13757">   62</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> dp[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2]; </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#ac52cfae3a87644cbf0119902737801f4">   63</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> dq[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2]; </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structrsa__private__key__3072.html#a1281cf17de0ad55b18b8ff33f0be0599">   64</a></span>&#160;    <a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> c[<a class="code" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2];  </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* RSA Auxiliary Functions */</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__3072_8h.html#ae45aa8fdf906ca4c128712ee9cfa4af6">RSA_3072_KEY_PAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> e,<a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>* PRIV,<a class="code" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>* PUB,<a class="code" href="structoctet.html">octet</a> *P, <a class="code" href="structoctet.html">octet</a>* Q);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</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="rsa__3072_8h.html#aefea96c0e2cdc7116adb71332a94198e">RSA_3072_ENCRYPT</a>(<a class="code" href="structrsa__public__key__3072.html">rsa_public_key_3072</a>* PUB,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *G);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__3072_8h.html#afabe0231911df90e8d0ebc121a383f85">RSA_3072_DECRYPT</a>(<a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a>* PRIV,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *F);</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="rsa__3072_8h.html#aa3cbeb08aa7f23eb33b57c200bc0be3c">RSA_3072_PRIVATE_KEY_KILL</a>(<a class="code" href="structrsa__private__key__3072.html">rsa_private_key_3072</a> *PRIV);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__3072_8h.html#ae218fa230c4b45045d6730785ac526a5">RSA_3072_fromOctet</a>(<a class="code" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</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;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structrsa__public__key__3072_html"><div class="ttname"><a href="structrsa__public__key__3072.html">rsa_public_key_3072</a></div><div class="ttdoc">Integer Factorisation Public Key. </div><div class="ttdef"><b>Definition:</b> rsa_3072.h:48</div></div>
 <div class="ttc" id="big__384__56_8h_html_a84b175c07377e6d2a06d66603d2e719c"><div class="ttname"><a href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a></div><div class="ttdeci">chunk BIG_384_56[NLEN_384_56]</div><div class="ttdef"><b>Definition:</b> big_384_56.h:58</div></div>
-<div class="ttc" id="rsa__support_8h_html"><div class="ttname"><a href="rsa__support_8h.html">rsa_support.h</a></div><div class="ttdoc">RSA Support Header File.</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="rsa__3072_8h_html_aefea96c0e2cdc7116adb71332a94198e"><div class="ttname"><a href="rsa__3072_8h.html#aefea96c0e2cdc7116adb71332a94198e">RSA_3072_ENCRYPT</a></div><div class="ttdeci">void RSA_3072_ENCRYPT(rsa_public_key_3072 *PUB, octet *F, octet *G)</div><div class="ttdoc">RSA encryption of suitably padded plaintext.</div><div class="ttdef"><b>Definition:</b> rsa_3072.c:119</div></div>
-<div class="ttc" id="rsa__3072_8h_html_ae218fa230c4b45045d6730785ac526a5"><div class="ttname"><a href="rsa__3072_8h.html#ae218fa230c4b45045d6730785ac526a5">RSA_3072_fromOctet</a></div><div class="ttdeci">void RSA_3072_fromOctet(BIG_384_56 *x, octet *S)</div><div class="ttdoc">Populates an RSA public key from an octet string.</div></div>
-<div class="ttc" id="structrsa__private__key__3072_html"><div class="ttname"><a href="structrsa__private__key__3072.html">rsa_private_key_3072</a></div><div class="ttdoc">Integer Factorisation Private Key.</div><div class="ttdef"><b>Definition:</b> rsa_3072.h:58</div></div>
-<div class="ttc" id="rsa__3072_8h_html_ae45aa8fdf906ca4c128712ee9cfa4af6"><div class="ttname"><a href="rsa__3072_8h.html#ae45aa8fdf906ca4c128712ee9cfa4af6">RSA_3072_KEY_PAIR</a></div><div class="ttdeci">void RSA_3072_KEY_PAIR(csprng *R, sign32 e, rsa_private_key_3072 *PRIV, rsa_public_key_3072 *PUB, octet *P, octet *Q)</div><div class="ttdoc">RSA Key Pair Generator.</div><div class="ttdef"><b>Definition:</b> rsa_3072.c:31</div></div>
+<div class="ttc" id="rsa__support_8h_html"><div class="ttname"><a href="rsa__support_8h.html">rsa_support.h</a></div><div class="ttdoc">RSA Support Header File. </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="rsa__3072_8h_html_aefea96c0e2cdc7116adb71332a94198e"><div class="ttname"><a href="rsa__3072_8h.html#aefea96c0e2cdc7116adb71332a94198e">RSA_3072_ENCRYPT</a></div><div class="ttdeci">void RSA_3072_ENCRYPT(rsa_public_key_3072 *PUB, octet *F, octet *G)</div><div class="ttdoc">RSA encryption of suitably padded plaintext. </div><div class="ttdef"><b>Definition:</b> rsa_3072.c:119</div></div>
+<div class="ttc" id="rsa__3072_8h_html_ae218fa230c4b45045d6730785ac526a5"><div class="ttname"><a href="rsa__3072_8h.html#ae218fa230c4b45045d6730785ac526a5">RSA_3072_fromOctet</a></div><div class="ttdeci">void RSA_3072_fromOctet(BIG_384_56 *x, octet *S)</div><div class="ttdoc">Populates an RSA public key from an octet string. </div></div>
+<div class="ttc" id="structrsa__private__key__3072_html"><div class="ttname"><a href="structrsa__private__key__3072.html">rsa_private_key_3072</a></div><div class="ttdoc">Integer Factorisation Private Key. </div><div class="ttdef"><b>Definition:</b> rsa_3072.h:58</div></div>
+<div class="ttc" id="rsa__3072_8h_html_ae45aa8fdf906ca4c128712ee9cfa4af6"><div class="ttname"><a href="rsa__3072_8h.html#ae45aa8fdf906ca4c128712ee9cfa4af6">RSA_3072_KEY_PAIR</a></div><div class="ttdeci">void RSA_3072_KEY_PAIR(csprng *R, sign32 e, rsa_private_key_3072 *PRIV, rsa_public_key_3072 *PUB, octet *P, octet *Q)</div><div class="ttdoc">RSA Key Pair Generator. </div><div class="ttdef"><b>Definition:</b> rsa_3072.c:31</div></div>
 <div class="ttc" id="config__ff__3072_8h_html_aaaf83c3d8d02afcc96d24bcabc418da4"><div class="ttname"><a href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a></div><div class="ttdeci">#define FFLEN_3072</div><div class="ttdef"><b>Definition:</b> config_ff_3072.h:35</div></div>
 <div class="ttc" id="structrsa__public__key__3072_html_a8a44497182f58b0fe7d6413f1f88a69c"><div class="ttname"><a href="structrsa__public__key__3072.html#a8a44497182f58b0fe7d6413f1f88a69c">rsa_public_key_3072::e</a></div><div class="ttdeci">sign32 e</div><div class="ttdef"><b>Definition:</b> rsa_3072.h:50</div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="rsa__3072_8h_html_aa3cbeb08aa7f23eb33b57c200bc0be3c"><div class="ttname"><a href="rsa__3072_8h.html#aa3cbeb08aa7f23eb33b57c200bc0be3c">RSA_3072_PRIVATE_KEY_KILL</a></div><div class="ttdeci">void RSA_3072_PRIVATE_KEY_KILL(rsa_private_key_3072 *PRIV)</div><div class="ttdoc">Destroy an RSA private Key.</div><div class="ttdef"><b>Definition:</b> rsa_3072.c:104</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="ff__3072_8h_html"><div class="ttname"><a href="ff__3072_8h.html">ff_3072.h</a></div><div class="ttdoc">FF Header File.</div></div>
-<div class="ttc" id="rsa__3072_8h_html_afabe0231911df90e8d0ebc121a383f85"><div class="ttname"><a href="rsa__3072_8h.html#afabe0231911df90e8d0ebc121a383f85">RSA_3072_DECRYPT</a></div><div class="ttdeci">void RSA_3072_DECRYPT(rsa_private_key_3072 *PRIV, octet *G, octet *F)</div><div class="ttdoc">RSA decryption of ciphertext.</div><div class="ttdef"><b>Definition:</b> rsa_3072.c:130</div></div>
+<div class="ttc" id="rsa__3072_8h_html_aa3cbeb08aa7f23eb33b57c200bc0be3c"><div class="ttname"><a href="rsa__3072_8h.html#aa3cbeb08aa7f23eb33b57c200bc0be3c">RSA_3072_PRIVATE_KEY_KILL</a></div><div class="ttdeci">void RSA_3072_PRIVATE_KEY_KILL(rsa_private_key_3072 *PRIV)</div><div class="ttdoc">Destroy an RSA private Key. </div><div class="ttdef"><b>Definition:</b> rsa_3072.c:104</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="ff__3072_8h_html"><div class="ttname"><a href="ff__3072_8h.html">ff_3072.h</a></div><div class="ttdoc">FF Header File. </div></div>
+<div class="ttc" id="rsa__3072_8h_html_afabe0231911df90e8d0ebc121a383f85"><div class="ttname"><a href="rsa__3072_8h.html#afabe0231911df90e8d0ebc121a383f85">RSA_3072_DECRYPT</a></div><div class="ttdeci">void RSA_3072_DECRYPT(rsa_private_key_3072 *PRIV, octet *G, octet *F)</div><div class="ttdoc">RSA decryption of ciphertext. </div><div class="ttdef"><b>Definition:</b> rsa_3072.c:130</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/rsa__4096_8h.html b/website/static/cdocs/rsa__4096_8h.html
index 4eda1d1..4dd1332 100644
--- a/website/static/cdocs/rsa__4096_8h.html
+++ b/website/static/cdocs/rsa__4096_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: rsa_4096.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"
@@ -360,7 +363,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/rsa__4096_8h_source.html b/website/static/cdocs/rsa__4096_8h_source.html
index 11d9be6..d4f2e96 100644
--- a/website/static/cdocs/rsa__4096_8h_source.html
+++ b/website/static/cdocs/rsa__4096_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: rsa_4096.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"
@@ -71,25 +74,25 @@
 <div class="contents">
 <a href="rsa__4096_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="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef RSA_4096_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define RSA_4096_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ff__4096_8h.html">ff_4096.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rsa__support_8h.html">rsa_support.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/*** START OF USER CONFIGURABLE SECTION -  ***/</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"><a class="line" href="rsa__4096_8h.html#acf16200cf44f099048f8a6e26ebdb0f0">   37</a></span>&#160;<span class="preprocessor">#define HASH_TYPE_RSA_4096 SHA256 </span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="comment">/*** END OF USER CONFIGURABLE SECTION ***/</span><span class="preprocessor"></span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="rsa__4096_8h.html#ad11a752c61ee9bf2690d65e783381132">   41</a></span>&#160;<span class="preprocessor">#define RFS_4096 MODBYTES_512_60*FFLEN_4096 </span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structrsa__public__key__4096.html">   48</a></span>&#160;<span class="preprocessor">typedef struct</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"><a class="line" href="structrsa__public__key__4096.html#a509d24e90e45458f90eabf4614497dde">   50</a></span>&#160;    <a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> <a class="code" href="structrsa__public__key__4096.html#a509d24e90e45458f90eabf4614497dde">e</a>;     </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="structrsa__public__key__4096.html#a4a90bc6aeaa897b7934e7fe46fe6cf67">   51</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> n[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]; </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;} <a class="code" href="structrsa__public__key__4096.html">rsa_public_key_4096</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structrsa__private__key__4096.html">   58</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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"><a class="line" href="structrsa__private__key__4096.html#a8e0b9a8a44f62faf01c1cd6eb45cc191">   60</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> p[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>/2];  </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structrsa__private__key__4096.html#ad078f177ba6eb2967066c102b40d0e09">   61</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> q[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>/2];  </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structrsa__private__key__4096.html#a592793fce1988f4950c25655cb9cb936">   62</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> dp[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>/2]; </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structrsa__private__key__4096.html#a5f519097ead4db5749a98ce0d34b73a1">   63</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> dq[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>/2]; </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structrsa__private__key__4096.html#a6e6a587086fe75d657cd891481dc0c92">   64</a></span>&#160;    <a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> c[<a class="code" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>/2];  </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;} <a class="code" href="structrsa__private__key__4096.html">rsa_private_key_4096</a>;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">/* RSA Auxiliary Functions */</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__4096_8h.html#a07b031a91d1833f3a1ab79e60f9b4bb1">RSA_4096_KEY_PAIR</a>(<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> e,<a class="code" href="structrsa__private__key__4096.html">rsa_private_key_4096</a>* PRIV,<a class="code" href="structrsa__public__key__4096.html">rsa_public_key_4096</a>* PUB,<a class="code" href="structoctet.html">octet</a> *P, <a class="code" href="structoctet.html">octet</a>* Q);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</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="rsa__4096_8h.html#a09030c5f9f4842eeb4c2c831aa65b498">RSA_4096_ENCRYPT</a>(<a class="code" href="structrsa__public__key__4096.html">rsa_public_key_4096</a>* PUB,<a class="code" href="structoctet.html">octet</a> *F,<a class="code" href="structoctet.html">octet</a> *G);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__4096_8h.html#a33ca71c71b4ff57a70160ad133ca2bf5">RSA_4096_DECRYPT</a>(<a class="code" href="structrsa__private__key__4096.html">rsa_private_key_4096</a>* PRIV,<a class="code" href="structoctet.html">octet</a> *G,<a class="code" href="structoctet.html">octet</a> *F);</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="rsa__4096_8h.html#a6a8f7623af6518be48dec472a3eee0f5">RSA_4096_PRIVATE_KEY_KILL</a>(<a class="code" href="structrsa__private__key__4096.html">rsa_private_key_4096</a> *PRIV);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="rsa__4096_8h.html#a8a11cfd22c2d694005fb63be2192a83a">RSA_4096_fromOctet</a>(<a class="code" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> *x,<a class="code" href="structoctet.html">octet</a> *S);</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;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structrsa__public__key__4096_html_a509d24e90e45458f90eabf4614497dde"><div class="ttname"><a href="structrsa__public__key__4096.html#a509d24e90e45458f90eabf4614497dde">rsa_public_key_4096::e</a></div><div class="ttdeci">sign32 e</div><div class="ttdef"><b>Definition:</b> rsa_4096.h:50</div></div>
 <div class="ttc" id="big__512__60_8h_html_a38953b585df73ecbd30fded6cc5b54b7"><div class="ttname"><a href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a></div><div class="ttdeci">chunk BIG_512_60[NLEN_512_60]</div><div class="ttdef"><b>Definition:</b> big_512_60.h:58</div></div>
-<div class="ttc" id="rsa__4096_8h_html_a6a8f7623af6518be48dec472a3eee0f5"><div class="ttname"><a href="rsa__4096_8h.html#a6a8f7623af6518be48dec472a3eee0f5">RSA_4096_PRIVATE_KEY_KILL</a></div><div class="ttdeci">void RSA_4096_PRIVATE_KEY_KILL(rsa_private_key_4096 *PRIV)</div><div class="ttdoc">Destroy an RSA private Key.</div><div class="ttdef"><b>Definition:</b> rsa_4096.c:104</div></div>
-<div class="ttc" id="rsa__4096_8h_html_a33ca71c71b4ff57a70160ad133ca2bf5"><div class="ttname"><a href="rsa__4096_8h.html#a33ca71c71b4ff57a70160ad133ca2bf5">RSA_4096_DECRYPT</a></div><div class="ttdeci">void RSA_4096_DECRYPT(rsa_private_key_4096 *PRIV, octet *G, octet *F)</div><div class="ttdoc">RSA decryption of ciphertext.</div><div class="ttdef"><b>Definition:</b> rsa_4096.c:130</div></div>
-<div class="ttc" id="rsa__4096_8h_html_a8a11cfd22c2d694005fb63be2192a83a"><div class="ttname"><a href="rsa__4096_8h.html#a8a11cfd22c2d694005fb63be2192a83a">RSA_4096_fromOctet</a></div><div class="ttdeci">void RSA_4096_fromOctet(BIG_512_60 *x, octet *S)</div><div class="ttdoc">Populates an RSA public key from an octet string.</div></div>
-<div class="ttc" id="structrsa__public__key__4096_html"><div class="ttname"><a href="structrsa__public__key__4096.html">rsa_public_key_4096</a></div><div class="ttdoc">Integer Factorisation Public Key.</div><div class="ttdef"><b>Definition:</b> rsa_4096.h:48</div></div>
-<div class="ttc" id="rsa__support_8h_html"><div class="ttname"><a href="rsa__support_8h.html">rsa_support.h</a></div><div class="ttdoc">RSA Support Header File.</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="rsa__4096_8h_html_a07b031a91d1833f3a1ab79e60f9b4bb1"><div class="ttname"><a href="rsa__4096_8h.html#a07b031a91d1833f3a1ab79e60f9b4bb1">RSA_4096_KEY_PAIR</a></div><div class="ttdeci">void RSA_4096_KEY_PAIR(csprng *R, sign32 e, rsa_private_key_4096 *PRIV, rsa_public_key_4096 *PUB, octet *P, octet *Q)</div><div class="ttdoc">RSA Key Pair Generator.</div><div class="ttdef"><b>Definition:</b> rsa_4096.c:31</div></div>
-<div class="ttc" id="ff__4096_8h_html"><div class="ttname"><a href="ff__4096_8h.html">ff_4096.h</a></div><div class="ttdoc">FF Header File.</div></div>
+<div class="ttc" id="rsa__4096_8h_html_a6a8f7623af6518be48dec472a3eee0f5"><div class="ttname"><a href="rsa__4096_8h.html#a6a8f7623af6518be48dec472a3eee0f5">RSA_4096_PRIVATE_KEY_KILL</a></div><div class="ttdeci">void RSA_4096_PRIVATE_KEY_KILL(rsa_private_key_4096 *PRIV)</div><div class="ttdoc">Destroy an RSA private Key. </div><div class="ttdef"><b>Definition:</b> rsa_4096.c:104</div></div>
+<div class="ttc" id="rsa__4096_8h_html_a33ca71c71b4ff57a70160ad133ca2bf5"><div class="ttname"><a href="rsa__4096_8h.html#a33ca71c71b4ff57a70160ad133ca2bf5">RSA_4096_DECRYPT</a></div><div class="ttdeci">void RSA_4096_DECRYPT(rsa_private_key_4096 *PRIV, octet *G, octet *F)</div><div class="ttdoc">RSA decryption of ciphertext. </div><div class="ttdef"><b>Definition:</b> rsa_4096.c:130</div></div>
+<div class="ttc" id="rsa__4096_8h_html_a8a11cfd22c2d694005fb63be2192a83a"><div class="ttname"><a href="rsa__4096_8h.html#a8a11cfd22c2d694005fb63be2192a83a">RSA_4096_fromOctet</a></div><div class="ttdeci">void RSA_4096_fromOctet(BIG_512_60 *x, octet *S)</div><div class="ttdoc">Populates an RSA public key from an octet string. </div></div>
+<div class="ttc" id="structrsa__public__key__4096_html"><div class="ttname"><a href="structrsa__public__key__4096.html">rsa_public_key_4096</a></div><div class="ttdoc">Integer Factorisation Public Key. </div><div class="ttdef"><b>Definition:</b> rsa_4096.h:48</div></div>
+<div class="ttc" id="rsa__support_8h_html"><div class="ttname"><a href="rsa__support_8h.html">rsa_support.h</a></div><div class="ttdoc">RSA Support Header File. </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="rsa__4096_8h_html_a07b031a91d1833f3a1ab79e60f9b4bb1"><div class="ttname"><a href="rsa__4096_8h.html#a07b031a91d1833f3a1ab79e60f9b4bb1">RSA_4096_KEY_PAIR</a></div><div class="ttdeci">void RSA_4096_KEY_PAIR(csprng *R, sign32 e, rsa_private_key_4096 *PRIV, rsa_public_key_4096 *PUB, octet *P, octet *Q)</div><div class="ttdoc">RSA Key Pair Generator. </div><div class="ttdef"><b>Definition:</b> rsa_4096.c:31</div></div>
+<div class="ttc" id="ff__4096_8h_html"><div class="ttname"><a href="ff__4096_8h.html">ff_4096.h</a></div><div class="ttdoc">FF Header File. </div></div>
 <div class="ttc" id="arch_8h_html_af31fcb3b74c4bcf6507f62d801277492"><div class="ttname"><a href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a></div><div class="ttdeci">#define sign32</div><div class="ttdef"><b>Definition:</b> arch.h:62</div></div>
-<div class="ttc" id="structrsa__private__key__4096_html"><div class="ttname"><a href="structrsa__private__key__4096.html">rsa_private_key_4096</a></div><div class="ttdoc">Integer Factorisation Private Key.</div><div class="ttdef"><b>Definition:</b> rsa_4096.h:58</div></div>
+<div class="ttc" id="structrsa__private__key__4096_html"><div class="ttname"><a href="structrsa__private__key__4096.html">rsa_private_key_4096</a></div><div class="ttdoc">Integer Factorisation Private Key. </div><div class="ttdef"><b>Definition:</b> rsa_4096.h:58</div></div>
 <div class="ttc" id="config__ff__4096_8h_html_af3c21ac004bc32aa00e7a20811de549c"><div class="ttname"><a href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a></div><div class="ttdeci">#define FFLEN_4096</div><div class="ttdef"><b>Definition:</b> config_ff_4096.h:35</div></div>
-<div class="ttc" id="rsa__4096_8h_html_a09030c5f9f4842eeb4c2c831aa65b498"><div class="ttname"><a href="rsa__4096_8h.html#a09030c5f9f4842eeb4c2c831aa65b498">RSA_4096_ENCRYPT</a></div><div class="ttdeci">void RSA_4096_ENCRYPT(rsa_public_key_4096 *PUB, octet *F, octet *G)</div><div class="ttdoc">RSA encryption of suitably padded plaintext.</div><div class="ttdef"><b>Definition:</b> rsa_4096.c:119</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="rsa__4096_8h_html_a09030c5f9f4842eeb4c2c831aa65b498"><div class="ttname"><a href="rsa__4096_8h.html#a09030c5f9f4842eeb4c2c831aa65b498">RSA_4096_ENCRYPT</a></div><div class="ttdeci">void RSA_4096_ENCRYPT(rsa_public_key_4096 *PUB, octet *F, octet *G)</div><div class="ttdoc">RSA encryption of suitably padded plaintext. </div><div class="ttdef"><b>Definition:</b> rsa_4096.c:119</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><!-- 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/rsa__support_8h.html b/website/static/cdocs/rsa__support_8h.html
index 421d8d1..8dda312 100644
--- a/website/static/cdocs/rsa__support_8h.html
+++ b/website/static/cdocs/rsa__support_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: rsa_support.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"
@@ -263,7 +266,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/rsa__support_8h_source.html b/website/static/cdocs/rsa__support_8h_source.html
index e03bbbe..41312be 100644
--- a/website/static/cdocs/rsa__support_8h_source.html
+++ b/website/static/cdocs/rsa__support_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: rsa_support.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,16 +72,16 @@
 <div class="title">rsa_support.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="rsa__support_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 RSA_SUPPORT_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define RSA_SUPPORT_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="rsa__support_8h.html#aa735a301da394741fbd7737fb35141e8">   32</a></span>&#160;<span class="preprocessor">#define MAX_RSA_BYTES 512 </span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">extern int PKCS15(int h,octet *M,octet *W);</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>      <a class="code" href="rsa__support_8h.html#a22d206244890a93a86fd77efb64a09a2">OAEP_ENCODE</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="rsa__support_8h.html#a8d96d5f657823c3c9736f6c0d4125273">OAEP_DECODE</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *F);</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="preprocessor">#endif</span></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="rsa__support_8h_html_a22d206244890a93a86fd77efb64a09a2"><div class="ttname"><a href="rsa__support_8h.html#a22d206244890a93a86fd77efb64a09a2">OAEP_ENCODE</a></div><div class="ttdeci">int OAEP_ENCODE(int h, octet *M, csprng *R, octet *P, octet *F)</div><div class="ttdoc">OAEP padding of a message prior to RSA encryption.</div><div class="ttdef"><b>Definition:</b> rsa_support.c:161</div></div>
-<div class="ttc" id="rsa__support_8h_html_a8d96d5f657823c3c9736f6c0d4125273"><div class="ttname"><a href="rsa__support_8h.html#a8d96d5f657823c3c9736f6c0d4125273">OAEP_DECODE</a></div><div class="ttdeci">int OAEP_DECODE(int h, octet *P, octet *F)</div><div class="ttdoc">OAEP unpadding of a message after RSA decryption.</div><div class="ttdef"><b>Definition:</b> rsa_support.c:202</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>
+<a href="rsa__support_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 RSA_SUPPORT_H</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define RSA_SUPPORT_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 &quot;amcl.h&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="rsa__support_8h.html#aa735a301da394741fbd7737fb35141e8">   32</a></span>&#160;<span class="preprocessor">#define MAX_RSA_BYTES 512 </span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">extern int PKCS15(int h,octet *M,octet *W);</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="rsa__support_8h.html#a22d206244890a93a86fd77efb64a09a2">OAEP_ENCODE</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *M,<a class="code" href="structcsprng.html">csprng</a> *R,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *F);</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="rsa__support_8h.html#a8d96d5f657823c3c9736f6c0d4125273">OAEP_DECODE</a>(<span class="keywordtype">int</span> h,<a class="code" href="structoctet.html">octet</a> *P,<a class="code" href="structoctet.html">octet</a> *F);</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="preprocessor">#endif</span></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="rsa__support_8h_html_a22d206244890a93a86fd77efb64a09a2"><div class="ttname"><a href="rsa__support_8h.html#a22d206244890a93a86fd77efb64a09a2">OAEP_ENCODE</a></div><div class="ttdeci">int OAEP_ENCODE(int h, octet *M, csprng *R, octet *P, octet *F)</div><div class="ttdoc">OAEP padding of a message prior to RSA encryption. </div><div class="ttdef"><b>Definition:</b> rsa_support.c:161</div></div>
+<div class="ttc" id="rsa__support_8h_html_a8d96d5f657823c3c9736f6c0d4125273"><div class="ttname"><a href="rsa__support_8h.html#a8d96d5f657823c3c9736f6c0d4125273">OAEP_DECODE</a></div><div class="ttdeci">int OAEP_DECODE(int h, octet *P, octet *F)</div><div class="ttdoc">OAEP unpadding of a message after RSA decryption. </div><div class="ttdef"><b>Definition:</b> rsa_support.c:202</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><!-- 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/search/all_0.html b/website/static/cdocs/search/all_0.html
index 5330204..f25360b 100644
--- a/website/static/cdocs/search/all_0.html
+++ b/website/static/cdocs/search/all_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_1.html b/website/static/cdocs/search/all_1.html
index 2f46793..b13f0f7 100644
--- a/website/static/cdocs/search/all_1.html
+++ b/website/static/cdocs/search/all_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_1.js b/website/static/cdocs/search/all_1.js
index 28f77ea..b2ec2a8 100644
--- a/website/static/cdocs/search/all_1.js
+++ b/website/static/cdocs/search/all_1.js
@@ -1,31 +1,18 @@
 var searchData=
 [
   ['b',['b',['../structFP12__BLS381.html#ae2c9f35195321b9dd8b61bc9b8d0aab9',1,'FP12_BLS381::b()'],['../structFP12__BLS383.html#a8354ef85e35360fcc5e0d026a8639efc',1,'FP12_BLS383::b()'],['../structFP12__BLS461.html#a65e6e6f1ddc2f4c4fa4379aea0fe78d9',1,'FP12_BLS461::b()'],['../structFP12__BN254.html#a62d97f1d4cc45d673d8aa018ee81c2e5',1,'FP12_BN254::b()'],['../structFP12__BN254CX.html#a386bbb29e67ca65e44945791a9a86f3c',1,'FP12_BN254CX::b()'],['../structFP12__FP256BN.html#a5ed6d3c3db45ef28440278299ed2057e',1,'FP12_FP256BN::b()'],['../structFP12__FP512BN.html#a489e2bcec3be4cecae74463786c850d0',1,'FP12_FP512BN::b()'],['../structFP16__BLS48.html#a1403e156a14e0591aa4954856b7249a6',1,'FP16_BLS48::b()'],['../structFP24__BLS24.html#ae5447ecae9c66ed52889671d9a56830a',1,'FP24_BLS24::b()'],['../structFP2__BLS24.html#acf1b609cc556dc974bf42ecf15b71fd0',1,'FP2_BLS24::b()'],['../structFP2__BLS381.html#a7b141a50df80ec50c6cb104d1f8f4c14',1,'FP2_BLS381::b()'],['../structFP2__BLS383.html#a6ef23563e45402ac7e217ff51a5e9cd5',1,'FP2_BLS383::b()'],['../structFP2__BLS461.html#a66c6dc0ed8de250caa6fc41351d6041f',1,'FP2_BLS461::b()'],['../structFP2__BLS48.html#a075df0cd3747e49481975970b39baa5b',1,'FP2_BLS48::b()'],['../structFP2__BN254.html#ab1ca32260ede24a103cfa981462c2c84',1,'FP2_BN254::b()'],['../structFP2__BN254CX.html#a9c0ee083a28bd9ae240e3ef4b85e8e9f',1,'FP2_BN254CX::b()'],['../structFP2__FP256BN.html#a24419686c04d26258e51c110434048ec',1,'FP2_FP256BN::b()'],['../structFP2__FP512BN.html#a786f81b6232b396c0df5ad4c419b784c',1,'FP2_FP512BN::b()'],['../structFP48__BLS48.html#a6f48e7495562cce4c1132c502fab945b',1,'FP48_BLS48::b()'],['../structFP4__BLS24.html#a20e23cd7abac73cfaf22f2be5156dd10',1,'FP4_BLS24::b()'],['../structFP4__BLS381.html#a8f2c3b4c985c0901afc03685d09819c3',1,'FP4_BLS381::b()'],['../structFP4__BLS383.html#a20392109e5ef2a45a9a0bfa773fadde2',1,'FP4_BLS383::b()'],['../structFP4__BLS461.html#a37b9711e42d6a1e1f5f01ee487beaaf2',1,'FP4_BLS461::b()'],['../structFP4__BLS48.html#af5478a59b96586d558e008c26352a40f',1,'FP4_BLS48::b()'],['../structFP4__BN254.html#a29bbb32252281a775bd23f7c9adf41f5',1,'FP4_BN254::b()'],['../structFP4__BN254CX.html#ab0f5c9cb9f8eab1431a0c5873c67b104',1,'FP4_BN254CX::b()'],['../structFP4__FP256BN.html#ad6777dda8daf02c71dcae01b3b86819f',1,'FP4_FP256BN::b()'],['../structFP4__FP512BN.html#a9ed745b9be02391665e4fd43cd2a6665',1,'FP4_FP512BN::b()'],['../structFP8__BLS24.html#ad36bcf58615a868a2dfc5453f6a64b43',1,'FP8_BLS24::b()'],['../structFP8__BLS48.html#a5c87a7f52f7b34ec5b82cce60c49ad79',1,'FP8_BLS48::b()']]],
-  ['basebits_5f1024_5f28',['BASEBITS_1024_28',['../config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823',1,'config_big_1024_28.h']]],
   ['basebits_5f1024_5f58',['BASEBITS_1024_58',['../config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c',1,'config_big_1024_58.h']]],
-  ['basebits_5f256_5f28',['BASEBITS_256_28',['../config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188',1,'config_big_256_28.h']]],
-  ['basebits_5f256_5f29',['BASEBITS_256_29',['../config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333',1,'config_big_256_29.h']]],
   ['basebits_5f256_5f56',['BASEBITS_256_56',['../config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40',1,'config_big_256_56.h']]],
-  ['basebits_5f336_5f29',['BASEBITS_336_29',['../config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e',1,'config_big_336_29.h']]],
   ['basebits_5f336_5f60',['BASEBITS_336_60',['../config__big__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988',1,'config_big_336_60.h']]],
-  ['basebits_5f384_5f28',['BASEBITS_384_28',['../config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96',1,'config_big_384_28.h']]],
-  ['basebits_5f384_5f29',['BASEBITS_384_29',['../config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd',1,'config_big_384_29.h']]],
   ['basebits_5f384_5f56',['BASEBITS_384_56',['../config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1',1,'config_big_384_56.h']]],
   ['basebits_5f384_5f58',['BASEBITS_384_58',['../config__big__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec',1,'config_big_384_58.h']]],
-  ['basebits_5f416_5f29',['BASEBITS_416_29',['../config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e',1,'config_big_416_29.h']]],
   ['basebits_5f416_5f60',['BASEBITS_416_60',['../config__big__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a',1,'config_big_416_60.h']]],
-  ['basebits_5f448_5f29',['BASEBITS_448_29',['../config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6',1,'config_big_448_29.h']]],
   ['basebits_5f448_5f58',['BASEBITS_448_58',['../config__big__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9',1,'config_big_448_58.h']]],
-  ['basebits_5f464_5f28',['BASEBITS_464_28',['../config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690',1,'config_big_464_28.h']]],
   ['basebits_5f464_5f60',['BASEBITS_464_60',['../config__big__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903',1,'config_big_464_60.h']]],
-  ['basebits_5f480_5f29',['BASEBITS_480_29',['../config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14',1,'config_big_480_29.h']]],
   ['basebits_5f480_5f56',['BASEBITS_480_56',['../config__big__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c',1,'config_big_480_56.h']]],
-  ['basebits_5f512_5f29',['BASEBITS_512_29',['../config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d',1,'config_big_512_29.h']]],
   ['basebits_5f512_5f56',['BASEBITS_512_56',['../config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3',1,'config_big_512_56.h']]],
   ['basebits_5f512_5f60',['BASEBITS_512_60',['../config__big__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934',1,'config_big_512_60.h']]],
-  ['basebits_5f528_5f28',['BASEBITS_528_28',['../config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b',1,'config_big_528_28.h']]],
   ['basebits_5f528_5f60',['BASEBITS_528_60',['../config__big__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad',1,'config_big_528_60.h']]],
-  ['basebits_5f560_5f29',['BASEBITS_560_29',['../config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f',1,'config_big_560_29.h']]],
   ['basebits_5f560_5f58',['BASEBITS_560_58',['../config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f',1,'config_big_560_58.h']]],
   ['bfs_5fbls24',['BFS_BLS24',['../bls192__BLS24_8h.html#ae26181d2349141710a9aacc1dfb52902',1,'bls192_BLS24.h']]],
   ['bfs_5fbls381',['BFS_BLS381',['../bls__BLS381_8h.html#a8567169f1d1227a60b6accd116a9ecef',1,'bls_BLS381.h']]],
@@ -45,79 +32,6 @@
   ['bgs_5fbn254cx',['BGS_BN254CX',['../bls__BN254CX_8h.html#a44ec4dc84f6828d9668bfbb180c9f598',1,'bls_BN254CX.h']]],
   ['bgs_5ffp256bn',['BGS_FP256BN',['../bls__FP256BN_8h.html#a4a5104f80b96689adf3aba0b33a8829d',1,'bls_FP256BN.h']]],
   ['bgs_5ffp512bn',['BGS_FP512BN',['../bls__FP512BN_8h.html#acf7e8708a27302422198a2e28f370ada',1,'bls_FP512BN.h']]],
-  ['big_5f1024_5f28',['BIG_1024_28',['../big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62',1,'big_1024_28.h']]],
-  ['big_5f1024_5f28_2eh',['big_1024_28.h',['../big__1024__28_8h.html',1,'']]],
-  ['big_5f1024_5f28_5fadd',['BIG_1024_28_add',['../big__1024__28_8h.html#a9c73a8b4ca792ebba655eb8b8de2670d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fbit',['BIG_1024_28_bit',['../big__1024__28_8h.html#a46f3c11d266f3caeaefef3f85f7e71d7',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcmove',['BIG_1024_28_cmove',['../big__1024__28_8h.html#a906cde91ce5641663dcf1e1914d45bdf',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcomp',['BIG_1024_28_comp',['../big__1024__28_8h.html#a7c8aaa518123c302d7fb727c066de799',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcopy',['BIG_1024_28_copy',['../big__1024__28_8h.html#a2f8bb5efa10f39a457a76d3621daade8',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcswap',['BIG_1024_28_cswap',['../big__1024__28_8h.html#a74b190b116ad7b8ae61ecf74e7f81104',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdadd',['BIG_1024_28_dadd',['../big__1024__28_8h.html#a3a1df8433d95c50fa37bf1ee3f7dc4c4',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdcmove',['BIG_1024_28_dcmove',['../big__1024__28_8h.html#a600f84090df4a150aa47d45cd767617c',1,'big_1024_28.h']]],
-  ['big_5f1024_5f28_5fdcomp',['BIG_1024_28_dcomp',['../big__1024__28_8h.html#a19e306f9d97cbbf8a215edb1fdbca3a6',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdcopy',['BIG_1024_28_dcopy',['../big__1024__28_8h.html#a5111c6e4404bf58f040776042ece1108',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fddiv',['BIG_1024_28_ddiv',['../big__1024__28_8h.html#a559b6794c4285cf596285ae7030fa828',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdec',['BIG_1024_28_dec',['../big__1024__28_8h.html#a68251081eb47c35887ff408402c205d3',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdfrombyteslen',['BIG_1024_28_dfromBytesLen',['../big__1024__28_8h.html#a25fad48097ab1a81c2654cb2c363a8ea',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdiszilch',['BIG_1024_28_diszilch',['../big__1024__28_8h.html#ae7aa0c3c199de111505a1f2fa620fb68',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdiv3',['BIG_1024_28_div3',['../big__1024__28_8h.html#ab71e3c68ab0701c8deed44fcfc0320da',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdmod',['BIG_1024_28_dmod',['../big__1024__28_8h.html#abdc6db328aae7ea8780787e35a976c2d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdmod2m',['BIG_1024_28_dmod2m',['../big__1024__28_8h.html#a0af8fe60752ace226e1980f42ee1323c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdnbits',['BIG_1024_28_dnbits',['../big__1024__28_8h.html#aa342006f3e76fe3efa25ec596bfcaa09',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdnorm',['BIG_1024_28_dnorm',['../big__1024__28_8h.html#af187316ae9c222a6f537ba02ba6d58a0',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdoutput',['BIG_1024_28_doutput',['../big__1024__28_8h.html#ac56ff1f8b418819b091d51e44cc8decb',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdrawoutput',['BIG_1024_28_drawoutput',['../big__1024__28_8h.html#a2cb16afcdacd4d31ca6126333cbd8d4d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdscopy',['BIG_1024_28_dscopy',['../big__1024__28_8h.html#ac01fc92d6ac6f4df3bdb821b69328e79',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdshl',['BIG_1024_28_dshl',['../big__1024__28_8h.html#ac8a0e281a38a42294fa7d262b4bb88dc',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdshr',['BIG_1024_28_dshr',['../big__1024__28_8h.html#a6ee4273810629405a0fabbcfbe97bea5',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdsub',['BIG_1024_28_dsub',['../big__1024__28_8h.html#a7f11d7b27dc1dd657e6aac4305e81982',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdsucopy',['BIG_1024_28_dsucopy',['../big__1024__28_8h.html#ab1ce66a9f6fa854db007fa2378aeb723',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdzero',['BIG_1024_28_dzero',['../big__1024__28_8h.html#adf9707f6f05fa6f11f652c66df3ec4aa',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffrombytes',['BIG_1024_28_fromBytes',['../big__1024__28_8h.html#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffrombyteslen',['BIG_1024_28_fromBytesLen',['../big__1024__28_8h.html#a8eed0c87536a7eee8a505d78743bb0fa',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffshl',['BIG_1024_28_fshl',['../big__1024__28_8h.html#a415004d01c4e2f89b128c01337ddc0da',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffshr',['BIG_1024_28_fshr',['../big__1024__28_8h.html#a59b2d05311ee721798227fe033b3c758',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fimul',['BIG_1024_28_imul',['../big__1024__28_8h.html#aecefd0d641d7df1e3b7104dd6788a99d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5finc',['BIG_1024_28_inc',['../big__1024__28_8h.html#a798b28f9b493c155ceed8179e7ffc3db',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5finvmod2m',['BIG_1024_28_invmod2m',['../big__1024__28_8h.html#a5b78d54fd0539fc84bdfb007a0b967bf',1,'big_1024_28.h']]],
-  ['big_5f1024_5f28_5finvmodp',['BIG_1024_28_invmodp',['../big__1024__28_8h.html#a8061d3296101802f5a43ee31df48104c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fisunity',['BIG_1024_28_isunity',['../big__1024__28_8h.html#afd3bcd46deffcd767611c36b0a05ba43',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fiszilch',['BIG_1024_28_iszilch',['../big__1024__28_8h.html#a4c24835682c9662e0d3850e8d0af3592',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fjacobi',['BIG_1024_28_jacobi',['../big__1024__28_8h.html#aa965afaeb22bdfddf122274e78e98585',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5flastbits',['BIG_1024_28_lastbits',['../big__1024__28_8h.html#a52e1428d99c2bb831b79ca7ef8c8e8e0',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmod',['BIG_1024_28_mod',['../big__1024__28_8h.html#a321e9b9249a04c642b2f807c0181df90',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmod2m',['BIG_1024_28_mod2m',['../big__1024__28_8h.html#afcbdc858bc02d509b14c5a487f964014',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmoddiv',['BIG_1024_28_moddiv',['../big__1024__28_8h.html#aa8b4cf5c4f52074a6eb3ece6f6d4a83c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmodmul',['BIG_1024_28_modmul',['../big__1024__28_8h.html#acc2f1661baf86b9975011a6dc857ad6b',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmodneg',['BIG_1024_28_modneg',['../big__1024__28_8h.html#a6bda312c89508e974166321f8980d201',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmodsqr',['BIG_1024_28_modsqr',['../big__1024__28_8h.html#a8e82166152f3b17468117c89a28c5445',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmonty',['BIG_1024_28_monty',['../big__1024__28_8h.html#aac162cb8f56785b3dab55f23773dbf6c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmul',['BIG_1024_28_mul',['../big__1024__28_8h.html#a41e3fa7841bc262223fc6fcdef6f40ba',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fnbits',['BIG_1024_28_nbits',['../big__1024__28_8h.html#a16c692d644de8d6e3f481ec50ed1b627',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fnorm',['BIG_1024_28_norm',['../big__1024__28_8h.html#a20a571a3b9d00d82e00674a4eb9080b5',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fone',['BIG_1024_28_one',['../big__1024__28_8h.html#a6070c113d74ea38583c472dd659aa842',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5for',['BIG_1024_28_or',['../big__1024__28_8h.html#adad5cb758e64bf8e2dd1bf72d43a77ef',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5foutput',['BIG_1024_28_output',['../big__1024__28_8h.html#a8be43fff007f3d452f7b71ee8c9ad8bc',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fparity',['BIG_1024_28_parity',['../big__1024__28_8h.html#a80e1cc2bb904feea615dd9818f0ecb59',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fpmul',['BIG_1024_28_pmul',['../big__1024__28_8h.html#a8824a12970672cf823c5a16ea883a503',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fpxmul',['BIG_1024_28_pxmul',['../big__1024__28_8h.html#a8f39a50f8bd6ef64bc6d276ca47a3801',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frandom',['BIG_1024_28_random',['../big__1024__28_8h.html#a9ba4f0104e394a5d8e7455d1cac1c502',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frandomnum',['BIG_1024_28_randomnum',['../big__1024__28_8h.html#af31fe3a4a7787c2ca597bc7c23293f37',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frawoutput',['BIG_1024_28_rawoutput',['../big__1024__28_8h.html#a053a019376c8068134541df485a77fbc',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frcopy',['BIG_1024_28_rcopy',['../big__1024__28_8h.html#ab587b7b3487be40d7f181e14a2c19111',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsdcopy',['BIG_1024_28_sdcopy',['../big__1024__28_8h.html#a596c48625c51cc8ceb2a286a0908b727',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsdiv',['BIG_1024_28_sdiv',['../big__1024__28_8h.html#a5110b174571a2eeb198fce7834e49443',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsducopy',['BIG_1024_28_sducopy',['../big__1024__28_8h.html#a9609a8759b62bd952da5edd4e2c2f2d8',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fshl',['BIG_1024_28_shl',['../big__1024__28_8h.html#ab94e42adaa9edf6caa73217ea541a8d8',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fshr',['BIG_1024_28_shr',['../big__1024__28_8h.html#ae9504ee26e7dc63dd5ddf017b5fd20fb',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsmul',['BIG_1024_28_smul',['../big__1024__28_8h.html#a0b77c681bb054b89c8099dca4214fb9e',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsplit',['BIG_1024_28_split',['../big__1024__28_8h.html#ad3f7062bf40d58cd91bb984f9374925f',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsqr',['BIG_1024_28_sqr',['../big__1024__28_8h.html#ab95726053fff3459ee437993a8be57ed',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fssn',['BIG_1024_28_ssn',['../big__1024__28_8h.html#adf9fbb2177618cc5b47ee6445726128b',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsub',['BIG_1024_28_sub',['../big__1024__28_8h.html#af62f511ff4949856be991fe7a1da4fe0',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ftobytes',['BIG_1024_28_toBytes',['../big__1024__28_8h.html#a210b8ce96bb74cefeedfd51e2c72fbba',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fzero',['BIG_1024_28_zero',['../big__1024__28_8h.html#a48be27e2baa6b6d226b049819e4279d5',1,'big_1024_28.c']]],
   ['big_5f1024_5f58',['BIG_1024_58',['../big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691',1,'big_1024_58.h']]],
   ['big_5f1024_5f58_2eh',['big_1024_58.h',['../big__1024__58_8h.html',1,'']]],
   ['big_5f1024_5f58_5fadd',['BIG_1024_58_add',['../big__1024__58_8h.html#abbe6b3a99af9aecd1841df049153b569',1,'big_1024_58.c']]],
@@ -153,7 +67,7 @@
   ['big_5f1024_5f58_5ffshr',['BIG_1024_58_fshr',['../big__1024__58_8h.html#ac5bf43346b61df367fe387509e0bc844',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fimul',['BIG_1024_58_imul',['../big__1024__58_8h.html#aea983376fb00f180a797da09e3266fde',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5finc',['BIG_1024_58_inc',['../big__1024__58_8h.html#afca0383b584f39627f2d3b2a19742441',1,'big_1024_58.c']]],
-  ['big_5f1024_5f58_5finvmod2m',['BIG_1024_58_invmod2m',['../big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4',1,'ff_2048.c']]],
+  ['big_5f1024_5f58_5finvmod2m',['BIG_1024_58_invmod2m',['../big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5finvmodp',['BIG_1024_58_invmodp',['../big__1024__58_8h.html#a94ba3da9d18c02c77fd80f74c69c2a81',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fisunity',['BIG_1024_58_isunity',['../big__1024__58_8h.html#a9e68fc45805cdfe899c73b8dc39050b1',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fiszilch',['BIG_1024_58_iszilch',['../big__1024__58_8h.html#a9914e305af21db990dbe3a057922803a',1,'big_1024_58.c']]],
@@ -191,152 +105,6 @@
   ['big_5f1024_5f58_5fsub',['BIG_1024_58_sub',['../big__1024__58_8h.html#aaa5525a00e5d792272627b952c839311',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5ftobytes',['BIG_1024_58_toBytes',['../big__1024__58_8h.html#a34066f8efa6c016c7c502ef15022eae7',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fzero',['BIG_1024_58_zero',['../big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f',1,'big_1024_58.c']]],
-  ['big_5f256_5f28',['BIG_256_28',['../big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b',1,'big_256_28.h']]],
-  ['big_5f256_5f28_2eh',['big_256_28.h',['../big__256__28_8h.html',1,'']]],
-  ['big_5f256_5f28_5fadd',['BIG_256_28_add',['../big__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fbit',['BIG_256_28_bit',['../big__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcmove',['BIG_256_28_cmove',['../big__256__28_8h.html#a03ab05da92eb2ea796cb26842b7e77e3',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcomp',['BIG_256_28_comp',['../big__256__28_8h.html#a38842b53345806d95099918c91e0416e',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcopy',['BIG_256_28_copy',['../big__256__28_8h.html#a0831bc3b956e7489f966f919f635ee22',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcswap',['BIG_256_28_cswap',['../big__256__28_8h.html#afb4ac61ac3caaf1c89101d90a209177e',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdadd',['BIG_256_28_dadd',['../big__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdcmove',['BIG_256_28_dcmove',['../big__256__28_8h.html#a0ef3b955adfdc30b9c5434ffc7de8ed0',1,'big_256_28.h']]],
-  ['big_5f256_5f28_5fdcomp',['BIG_256_28_dcomp',['../big__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdcopy',['BIG_256_28_dcopy',['../big__256__28_8h.html#aec1619fb62adb5f7d3e0bc25648c56c3',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fddiv',['BIG_256_28_ddiv',['../big__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdec',['BIG_256_28_dec',['../big__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdfrombyteslen',['BIG_256_28_dfromBytesLen',['../big__256__28_8h.html#a677d109788b548697770dae0287e2878',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdiszilch',['BIG_256_28_diszilch',['../big__256__28_8h.html#aeff6e8bd5aa02ec15629660f185d4ecd',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdiv3',['BIG_256_28_div3',['../big__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdmod',['BIG_256_28_dmod',['../big__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdmod2m',['BIG_256_28_dmod2m',['../big__256__28_8h.html#ae832454893ebd2893dd43466b53fb335',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdnbits',['BIG_256_28_dnbits',['../big__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdnorm',['BIG_256_28_dnorm',['../big__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdoutput',['BIG_256_28_doutput',['../big__256__28_8h.html#a100f5561b2344f026870e2aaa1407f73',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdrawoutput',['BIG_256_28_drawoutput',['../big__256__28_8h.html#a32cfd50006ba099108d95dd49906e37d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdscopy',['BIG_256_28_dscopy',['../big__256__28_8h.html#acdec6adf8bb9116f47ffc3d13a1a2a11',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdshl',['BIG_256_28_dshl',['../big__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdshr',['BIG_256_28_dshr',['../big__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdsub',['BIG_256_28_dsub',['../big__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdsucopy',['BIG_256_28_dsucopy',['../big__256__28_8h.html#afef94b156f0a4a42047ae2ee98bd9306',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdzero',['BIG_256_28_dzero',['../big__256__28_8h.html#aee1f0d223f9b39ad2c723011dd55b42c',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffrombytes',['BIG_256_28_fromBytes',['../big__256__28_8h.html#a4042f0ef0741d29c29ca604808803e1d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffrombyteslen',['BIG_256_28_fromBytesLen',['../big__256__28_8h.html#a5eb3022f9db32c07282522095d3af912',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffshl',['BIG_256_28_fshl',['../big__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffshr',['BIG_256_28_fshr',['../big__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fimul',['BIG_256_28_imul',['../big__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5finc',['BIG_256_28_inc',['../big__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5finvmod2m',['BIG_256_28_invmod2m',['../big__256__28_8h.html#aa861a483021b9d542c71a347c795e6e1',1,'big_256_28.h']]],
-  ['big_5f256_5f28_5finvmodp',['BIG_256_28_invmodp',['../big__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fisunity',['BIG_256_28_isunity',['../big__256__28_8h.html#a1398cb2971ad58ae9d59e717a9b6b1ec',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fiszilch',['BIG_256_28_iszilch',['../big__256__28_8h.html#afbf2db16ec41de1fa64c3d591303e41d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fjacobi',['BIG_256_28_jacobi',['../big__256__28_8h.html#a40efcc479307dfdf215b576a83469b71',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5flastbits',['BIG_256_28_lastbits',['../big__256__28_8h.html#ab7182226782ef414b678dba9920e18a2',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmod',['BIG_256_28_mod',['../big__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmod2m',['BIG_256_28_mod2m',['../big__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmoddiv',['BIG_256_28_moddiv',['../big__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmodmul',['BIG_256_28_modmul',['../big__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmodneg',['BIG_256_28_modneg',['../big__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmodsqr',['BIG_256_28_modsqr',['../big__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmonty',['BIG_256_28_monty',['../big__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmul',['BIG_256_28_mul',['../big__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fnbits',['BIG_256_28_nbits',['../big__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fnorm',['BIG_256_28_norm',['../big__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fone',['BIG_256_28_one',['../big__256__28_8h.html#a657c178e39eb86021f18f2edce140b04',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5for',['BIG_256_28_or',['../big__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5foutput',['BIG_256_28_output',['../big__256__28_8h.html#a30b918cd0cab2b6762da39f522f11140',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fparity',['BIG_256_28_parity',['../big__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fpmul',['BIG_256_28_pmul',['../big__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fpxmul',['BIG_256_28_pxmul',['../big__256__28_8h.html#a27820fd216b00e63943900f62afbd78c',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frandom',['BIG_256_28_random',['../big__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frandomnum',['BIG_256_28_randomnum',['../big__256__28_8h.html#af61371a17945b604a208a2b935aec74d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frawoutput',['BIG_256_28_rawoutput',['../big__256__28_8h.html#a8626d88b1bf8cf7aff25c7fde983b726',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frcopy',['BIG_256_28_rcopy',['../big__256__28_8h.html#a7658779f094b599a129e7697c990baf6',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsdcopy',['BIG_256_28_sdcopy',['../big__256__28_8h.html#ae4f351cc457451bef252ab2cda4c7311',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsdiv',['BIG_256_28_sdiv',['../big__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsducopy',['BIG_256_28_sducopy',['../big__256__28_8h.html#af72c8e442888b472223e2a8d44d86c30',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fshl',['BIG_256_28_shl',['../big__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fshr',['BIG_256_28_shr',['../big__256__28_8h.html#ac897e470de2052dd8d094c867dc53650',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsmul',['BIG_256_28_smul',['../big__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsplit',['BIG_256_28_split',['../big__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsqr',['BIG_256_28_sqr',['../big__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fssn',['BIG_256_28_ssn',['../big__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsub',['BIG_256_28_sub',['../big__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ftobytes',['BIG_256_28_toBytes',['../big__256__28_8h.html#a2f7ce434aa163e584027c8495f3a561d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fzero',['BIG_256_28_zero',['../big__256__28_8h.html#aab6a408e01aaab2ee65c2440d8075d94',1,'big_256_28.c']]],
-  ['big_5f256_5f29',['BIG_256_29',['../big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18',1,'big_256_29.h']]],
-  ['big_5f256_5f29_2eh',['big_256_29.h',['../big__256__29_8h.html',1,'']]],
-  ['big_5f256_5f29_5fadd',['BIG_256_29_add',['../big__256__29_8h.html#a1aef430ef0ea9a948aee90f82071d417',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fbit',['BIG_256_29_bit',['../big__256__29_8h.html#a76e5bdb3549fede8f264cfcb26be6018',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcmove',['BIG_256_29_cmove',['../big__256__29_8h.html#a8a6bf060bb48f7c51fcda4cde1e8e26e',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcomp',['BIG_256_29_comp',['../big__256__29_8h.html#aa1510430ef1fd606da826613e516e0dd',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcopy',['BIG_256_29_copy',['../big__256__29_8h.html#aa4870f8e59d0721de55dbd4c2d678abd',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcswap',['BIG_256_29_cswap',['../big__256__29_8h.html#a4ba7d16ea20d46ec7a200510ca41a338',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdadd',['BIG_256_29_dadd',['../big__256__29_8h.html#ad7f19e783f041f1e0c3474201ea12a92',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdcmove',['BIG_256_29_dcmove',['../big__256__29_8h.html#afa7b733233ab20bec1044bbfd7e5fd66',1,'big_256_29.h']]],
-  ['big_5f256_5f29_5fdcomp',['BIG_256_29_dcomp',['../big__256__29_8h.html#aa4e2034ea1159ea641544922afe4532d',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdcopy',['BIG_256_29_dcopy',['../big__256__29_8h.html#a705539d4d986b62787cb278c7a9c18cb',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fddiv',['BIG_256_29_ddiv',['../big__256__29_8h.html#ac06384af8509fa4648f7fe9a31169820',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdec',['BIG_256_29_dec',['../big__256__29_8h.html#af70f9ed20a7e5fef6d4f99449d0b2a0a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdfrombyteslen',['BIG_256_29_dfromBytesLen',['../big__256__29_8h.html#a375ccfc139837462d3f3798cf44fdceb',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdiszilch',['BIG_256_29_diszilch',['../big__256__29_8h.html#a5dde770895a5473f6e9770f92d1f5aa0',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdiv3',['BIG_256_29_div3',['../big__256__29_8h.html#a734c94d13cbbd866f389706f9684b38f',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdmod',['BIG_256_29_dmod',['../big__256__29_8h.html#a199564d5d8a0cc674a13f7d6d5c390a7',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdmod2m',['BIG_256_29_dmod2m',['../big__256__29_8h.html#a3681ba93dd87149397a4d4877f0e0be6',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdnbits',['BIG_256_29_dnbits',['../big__256__29_8h.html#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdnorm',['BIG_256_29_dnorm',['../big__256__29_8h.html#ac4155d5f3609fc2a4d3dde920d851e11',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdoutput',['BIG_256_29_doutput',['../big__256__29_8h.html#a70f41607cec7a5fb5876ef6114cb4487',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdrawoutput',['BIG_256_29_drawoutput',['../big__256__29_8h.html#af7c6931543d396754a664b870f53940b',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdscopy',['BIG_256_29_dscopy',['../big__256__29_8h.html#adfc567d5ba28ba96bef4de548f490936',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdshl',['BIG_256_29_dshl',['../big__256__29_8h.html#a03bf0e9d7230ca101c85ca9dd1106647',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdshr',['BIG_256_29_dshr',['../big__256__29_8h.html#a3afe99cafc419f225c3b901fc9f018e5',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdsub',['BIG_256_29_dsub',['../big__256__29_8h.html#aaef78beead9b031b7e219027ba4dec44',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdsucopy',['BIG_256_29_dsucopy',['../big__256__29_8h.html#aba86a9c166b98d580a9e3452744d5d3c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdzero',['BIG_256_29_dzero',['../big__256__29_8h.html#a7dae9bf5b4e7509b41d56bc627ba8369',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffrombytes',['BIG_256_29_fromBytes',['../big__256__29_8h.html#aece77a065e83680be752dac8a6519b83',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffrombyteslen',['BIG_256_29_fromBytesLen',['../big__256__29_8h.html#addef2147947e45becf815d91759fe9e8',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffshl',['BIG_256_29_fshl',['../big__256__29_8h.html#a0f76a362b0d4e8e3558d52156135920e',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffshr',['BIG_256_29_fshr',['../big__256__29_8h.html#a2ff20a509a419768bd691c8e6757aa6c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fimul',['BIG_256_29_imul',['../big__256__29_8h.html#a0cbcbc50b4ed07fd1c1f2ea435626eb2',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5finc',['BIG_256_29_inc',['../big__256__29_8h.html#a29dd4f8e557da97534dde4266631e505',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5finvmod2m',['BIG_256_29_invmod2m',['../big__256__29_8h.html#a4f8baf432b46720a1cfe897a571d23a7',1,'big_256_29.h']]],
-  ['big_5f256_5f29_5finvmodp',['BIG_256_29_invmodp',['../big__256__29_8h.html#a4996d5c30887ebba590b50c2eccd16d0',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fisunity',['BIG_256_29_isunity',['../big__256__29_8h.html#addc0b0eed4709089ea4affd912f7e20a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fiszilch',['BIG_256_29_iszilch',['../big__256__29_8h.html#a976506581e8e06d57055921dec760493',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fjacobi',['BIG_256_29_jacobi',['../big__256__29_8h.html#ae4d8a36f15283eead515888a5cbbe615',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5flastbits',['BIG_256_29_lastbits',['../big__256__29_8h.html#abbe2731a8b528019a913c292e95c34ad',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmod',['BIG_256_29_mod',['../big__256__29_8h.html#af5870b9727ecb4808a668344f0994109',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmod2m',['BIG_256_29_mod2m',['../big__256__29_8h.html#a3a83080d302fbdc6b79a791f74cdc01c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmoddiv',['BIG_256_29_moddiv',['../big__256__29_8h.html#a65c4b2f696fe7e38e29e2c1940a03395',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmodmul',['BIG_256_29_modmul',['../big__256__29_8h.html#a7539c997cb945c4842f61c61b0dbd527',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmodneg',['BIG_256_29_modneg',['../big__256__29_8h.html#a2ed8026f6a8a6ab3331afde36953b69b',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmodsqr',['BIG_256_29_modsqr',['../big__256__29_8h.html#a22bf9d63c2ab7316376de3f7fbb958eb',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmonty',['BIG_256_29_monty',['../big__256__29_8h.html#a7c252a4354dfb59a76d97e0d6f762627',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmul',['BIG_256_29_mul',['../big__256__29_8h.html#a1ca09ec3b1a33bc6bbb61a351baa2ff7',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fnbits',['BIG_256_29_nbits',['../big__256__29_8h.html#a23232ca660f365bf5876a8f5c4cf63f3',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fnorm',['BIG_256_29_norm',['../big__256__29_8h.html#ae448673401c83ef7937ebd8109812d52',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fone',['BIG_256_29_one',['../big__256__29_8h.html#ae4abe3933bc1a620c581e84057bb6a3a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5for',['BIG_256_29_or',['../big__256__29_8h.html#a7bfb4f437084b7c83fe82dcd319fb04f',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5foutput',['BIG_256_29_output',['../big__256__29_8h.html#a044828c9a61da9d1abbce2c515080772',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fparity',['BIG_256_29_parity',['../big__256__29_8h.html#ab768075ecb86528f6f64727f1712d56e',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fpmul',['BIG_256_29_pmul',['../big__256__29_8h.html#a26788a5f4a4c8a3c6223cfdc598e2206',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fpxmul',['BIG_256_29_pxmul',['../big__256__29_8h.html#a37858e7d7ba07f829f5fe406e143244a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frandom',['BIG_256_29_random',['../big__256__29_8h.html#ad7ac4bee902715416866db38b3cb9bb2',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frandomnum',['BIG_256_29_randomnum',['../big__256__29_8h.html#a9d82cba4b9bbb7877c7deb40685c5127',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frawoutput',['BIG_256_29_rawoutput',['../big__256__29_8h.html#ac62bbe0fa81461611bb6703b5f9cbd77',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frcopy',['BIG_256_29_rcopy',['../big__256__29_8h.html#a2a30c02ed0211279e1eb64ef393131cf',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsdcopy',['BIG_256_29_sdcopy',['../big__256__29_8h.html#adf02d79d6b9e70e0c09d0abc9efa9dac',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsdiv',['BIG_256_29_sdiv',['../big__256__29_8h.html#af5225a9da73fe4fdf6e07b3b135dfc25',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsducopy',['BIG_256_29_sducopy',['../big__256__29_8h.html#a3ad6c1bda0300811bb05f19092aeccb5',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fshl',['BIG_256_29_shl',['../big__256__29_8h.html#a7eb0b9ad8b3f83098cf1e09143063760',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fshr',['BIG_256_29_shr',['../big__256__29_8h.html#a897715e22f6f400d1e89eb20b13a4a61',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsmul',['BIG_256_29_smul',['../big__256__29_8h.html#aa9a29a0ef363c94da54880dff875562c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsplit',['BIG_256_29_split',['../big__256__29_8h.html#abf41ba04665e4640aae5cc73f1cfe760',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsqr',['BIG_256_29_sqr',['../big__256__29_8h.html#af3b9ab7a0b7fb9d2391d0cb9703640a1',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fssn',['BIG_256_29_ssn',['../big__256__29_8h.html#a21edd2fc13e98c973af2bcdd8314e8b9',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsub',['BIG_256_29_sub',['../big__256__29_8h.html#a97c753c8b89e022797d2b4d11bf70730',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ftobytes',['BIG_256_29_toBytes',['../big__256__29_8h.html#af28a4870f8aff2e8428c2b6b4f94e756',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fzero',['BIG_256_29_zero',['../big__256__29_8h.html#a934c865c43e9c75afe9748f030e4ec46',1,'big_256_29.c']]],
   ['big_5f256_5f56',['BIG_256_56',['../big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244',1,'big_256_56.h']]],
   ['big_5f256_5f56_2eh',['big_256_56.h',['../big__256__56_8h.html',1,'']]],
   ['big_5f256_5f56_5fadd',['BIG_256_56_add',['../big__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3',1,'big_256_56.c']]],
@@ -372,7 +140,7 @@
   ['big_5f256_5f56_5ffshr',['BIG_256_56_fshr',['../big__256__56_8h.html#ae2503de5720030f26b6c4333ac7d98e4',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fimul',['BIG_256_56_imul',['../big__256__56_8h.html#ab122c9bc11ced893982f8d7e87f6d16b',1,'big_256_56.c']]],
   ['big_5f256_5f56_5finc',['BIG_256_56_inc',['../big__256__56_8h.html#a9de89e29493f9cb68834d42b9fa55740',1,'big_256_56.c']]],
-  ['big_5f256_5f56_5finvmod2m',['BIG_256_56_invmod2m',['../big__256__56_8h.html#a63396a981b7423fb6b83014c87e17198',1,'big_256_56.h']]],
+  ['big_5f256_5f56_5finvmod2m',['BIG_256_56_invmod2m',['../big__256__56_8h.html#a63396a981b7423fb6b83014c87e17198',1,'big_256_56.c']]],
   ['big_5f256_5f56_5finvmodp',['BIG_256_56_invmodp',['../big__256__56_8h.html#a1957fef0abc63c2a816d264532f5aa8e',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fisunity',['BIG_256_56_isunity',['../big__256__56_8h.html#ae636476adf911162915969bf70750f45',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fiszilch',['BIG_256_56_iszilch',['../big__256__56_8h.html#ac13c91de6deefb2098a17f7081984384',1,'big_256_56.c']]],
@@ -410,79 +178,6 @@
   ['big_5f256_5f56_5fsub',['BIG_256_56_sub',['../big__256__56_8h.html#a7f8334cd5e8d117b04a7bd1b483eab59',1,'big_256_56.c']]],
   ['big_5f256_5f56_5ftobytes',['BIG_256_56_toBytes',['../big__256__56_8h.html#ad4d7e429da003447d680466dd428d514',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fzero',['BIG_256_56_zero',['../big__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1',1,'big_256_56.c']]],
-  ['big_5f336_5f29',['BIG_336_29',['../big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1',1,'big_336_29.h']]],
-  ['big_5f336_5f29_2eh',['big_336_29.h',['../big__336__29_8h.html',1,'']]],
-  ['big_5f336_5f29_5fadd',['BIG_336_29_add',['../big__336__29_8h.html#a75c1d8be1ba70f7f4475ead6a5f43af0',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fbit',['BIG_336_29_bit',['../big__336__29_8h.html#ad514e47ff474e65b1b5f10ee790e4c13',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcmove',['BIG_336_29_cmove',['../big__336__29_8h.html#a34ec564848369556a4b02dcc01f9ca04',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcomp',['BIG_336_29_comp',['../big__336__29_8h.html#a763a715d585c890995a8bbce08988a80',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcopy',['BIG_336_29_copy',['../big__336__29_8h.html#a6c4af364650172b17df2e7e0930e666f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcswap',['BIG_336_29_cswap',['../big__336__29_8h.html#a3e973afced1de79a5d3a283ae5b271af',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdadd',['BIG_336_29_dadd',['../big__336__29_8h.html#aeabd48c0ad271c023797578103ac840e',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdcmove',['BIG_336_29_dcmove',['../big__336__29_8h.html#ae9c08f62fd328bb248328dcf3837b134',1,'big_336_29.h']]],
-  ['big_5f336_5f29_5fdcomp',['BIG_336_29_dcomp',['../big__336__29_8h.html#adbf7ba2f51fbac9c4fb2943f9f2769da',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdcopy',['BIG_336_29_dcopy',['../big__336__29_8h.html#a244e69d514f07e515b3473380595b10d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fddiv',['BIG_336_29_ddiv',['../big__336__29_8h.html#a6386d5ef47067541157b93e6edaf7e21',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdec',['BIG_336_29_dec',['../big__336__29_8h.html#ad2b49abad8d092e55c30ee6a54e56ff5',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdfrombyteslen',['BIG_336_29_dfromBytesLen',['../big__336__29_8h.html#a20861abd6145ea8dbadd9ff84af2dea1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdiszilch',['BIG_336_29_diszilch',['../big__336__29_8h.html#a9509b0dc8baeda5dc8c20b32dff94ad4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdiv3',['BIG_336_29_div3',['../big__336__29_8h.html#a51ba250655520120124160cc87e0424b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdmod',['BIG_336_29_dmod',['../big__336__29_8h.html#a63200114268a09a55ba435bdd917ba7d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdmod2m',['BIG_336_29_dmod2m',['../big__336__29_8h.html#a777bbea4f90ee4bfd54c76036223f70f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdnbits',['BIG_336_29_dnbits',['../big__336__29_8h.html#a2a2019a072b248c24d0ef0c1bb201954',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdnorm',['BIG_336_29_dnorm',['../big__336__29_8h.html#a9adcbfd01df1d2862d4a733a939b83ae',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdoutput',['BIG_336_29_doutput',['../big__336__29_8h.html#aa481a2e2eab1f3187f8780c294e7d9fb',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdrawoutput',['BIG_336_29_drawoutput',['../big__336__29_8h.html#ad1b50365cb7eddcbec5ce1c7922c5475',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdscopy',['BIG_336_29_dscopy',['../big__336__29_8h.html#a7b4f65976a9cc91ba58144fa44bb7177',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdshl',['BIG_336_29_dshl',['../big__336__29_8h.html#a71f283cfb6248804db064fea30190cc5',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdshr',['BIG_336_29_dshr',['../big__336__29_8h.html#a2c5eca3ca53299e19f5b2cfb026af42f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdsub',['BIG_336_29_dsub',['../big__336__29_8h.html#aaec1f3921b23e1646dcec6938c8edf99',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdsucopy',['BIG_336_29_dsucopy',['../big__336__29_8h.html#a3c1b26f91d75cc611fd12dd3808ae8ca',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdzero',['BIG_336_29_dzero',['../big__336__29_8h.html#aa12e7e0bd105f263877e1c347d7eccd1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffrombytes',['BIG_336_29_fromBytes',['../big__336__29_8h.html#a966fa27a1ed84d09b8411bd82519072f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffrombyteslen',['BIG_336_29_fromBytesLen',['../big__336__29_8h.html#ac912d49447a466dcf1d5f85a6e14f336',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffshl',['BIG_336_29_fshl',['../big__336__29_8h.html#a1fb372329a67a713aa3e66a7f5ce7335',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffshr',['BIG_336_29_fshr',['../big__336__29_8h.html#af781f798c463ac6403dd9a363772ea0a',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fimul',['BIG_336_29_imul',['../big__336__29_8h.html#a5579d667e486744ad3281c318b726fe1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5finc',['BIG_336_29_inc',['../big__336__29_8h.html#a213286f51d77e52e9e3da344da1fbd88',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5finvmod2m',['BIG_336_29_invmod2m',['../big__336__29_8h.html#aa6d1cde9525f89fd5a3e549b4a26b6dd',1,'big_336_29.h']]],
-  ['big_5f336_5f29_5finvmodp',['BIG_336_29_invmodp',['../big__336__29_8h.html#a5c0b44e1207e320b6167a9254f321ab1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fisunity',['BIG_336_29_isunity',['../big__336__29_8h.html#ad6deb8d369b93c4784ff598adbabb224',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fiszilch',['BIG_336_29_iszilch',['../big__336__29_8h.html#a230c8d9151ecff0f78b9e12bccdf635e',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fjacobi',['BIG_336_29_jacobi',['../big__336__29_8h.html#a9426091077ed3d20296520250682323d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5flastbits',['BIG_336_29_lastbits',['../big__336__29_8h.html#ab69ef8cd98e2cfec2c896d795afd41fc',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmod',['BIG_336_29_mod',['../big__336__29_8h.html#a4383888885e060ff4298b0535bc1d3c4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmod2m',['BIG_336_29_mod2m',['../big__336__29_8h.html#adcb3a172848c6450b152887f2fd8b523',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmoddiv',['BIG_336_29_moddiv',['../big__336__29_8h.html#a99a30e1d14f7e17d15108df3f1deaf65',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmodmul',['BIG_336_29_modmul',['../big__336__29_8h.html#a24e62b683fa847940386e56891aa601c',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmodneg',['BIG_336_29_modneg',['../big__336__29_8h.html#a5c2940f39feede18db26b83eb155ac4c',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmodsqr',['BIG_336_29_modsqr',['../big__336__29_8h.html#a7418873bde193b2ae00ca12bb1bd72d0',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmonty',['BIG_336_29_monty',['../big__336__29_8h.html#ae9423918c339248a32cde90059d54bf0',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmul',['BIG_336_29_mul',['../big__336__29_8h.html#ad5467c39a0f90dfe7d5382675d80c4af',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fnbits',['BIG_336_29_nbits',['../big__336__29_8h.html#afb5782ca3aa5769cfa84cd5d470d503a',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fnorm',['BIG_336_29_norm',['../big__336__29_8h.html#aae019c2a192bd2b4549f8544b3124985',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fone',['BIG_336_29_one',['../big__336__29_8h.html#aa88f788433edb46e3fce010c675e3ebe',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5for',['BIG_336_29_or',['../big__336__29_8h.html#ad5e8219fa6226d669de04ee7bbe82e8a',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5foutput',['BIG_336_29_output',['../big__336__29_8h.html#a1ce5cd538831acb1ceaa657dcea7e142',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fparity',['BIG_336_29_parity',['../big__336__29_8h.html#a8b664b937461785b3b32f6ba6fbf4e00',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fpmul',['BIG_336_29_pmul',['../big__336__29_8h.html#ae8b0f5ddf0ba8cd8c725c5acb99a465b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fpxmul',['BIG_336_29_pxmul',['../big__336__29_8h.html#a6627ad75b1268e62a5f7d88be8014ccd',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frandom',['BIG_336_29_random',['../big__336__29_8h.html#aa268dc8d92ea89fd9747df7d6cd56c80',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frandomnum',['BIG_336_29_randomnum',['../big__336__29_8h.html#a0e580dd237aa3ccc3c30da5f17cb25c8',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frawoutput',['BIG_336_29_rawoutput',['../big__336__29_8h.html#a37a28dbc85f653ddc47e5a0977a83d5b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frcopy',['BIG_336_29_rcopy',['../big__336__29_8h.html#ab18ce1ef87d290fc6c489a41aa763fbd',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsdcopy',['BIG_336_29_sdcopy',['../big__336__29_8h.html#ad45969a681f02ce92a0fa21fc5ed1c95',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsdiv',['BIG_336_29_sdiv',['../big__336__29_8h.html#ad355509f4c5d76b7fac2865d7a3817ee',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsducopy',['BIG_336_29_sducopy',['../big__336__29_8h.html#a2867c99c42fd61b2a2cd3e4267a4e892',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fshl',['BIG_336_29_shl',['../big__336__29_8h.html#ad9d73478b62aa9c03c9ed0ee21084ac4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fshr',['BIG_336_29_shr',['../big__336__29_8h.html#a214e850cd3502a3e115959d4622d815b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsmul',['BIG_336_29_smul',['../big__336__29_8h.html#a9c05fe473e5b3b23f505850370dfb4d5',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsplit',['BIG_336_29_split',['../big__336__29_8h.html#ac01951f8f16ebf0b7120f083b4c20aab',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsqr',['BIG_336_29_sqr',['../big__336__29_8h.html#a79f4ddd5776131afb411c6b8b7d7853d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fssn',['BIG_336_29_ssn',['../big__336__29_8h.html#a7bd8806b8b21c010a9647fac762036d8',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsub',['BIG_336_29_sub',['../big__336__29_8h.html#a89c1e07d9b8e96b7e971ab5417400335',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ftobytes',['BIG_336_29_toBytes',['../big__336__29_8h.html#a3f3773dddbaae9d598cf26562718aca4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fzero',['BIG_336_29_zero',['../big__336__29_8h.html#a04f38d96c8de1197f3b75032e3e987d2',1,'big_336_29.c']]],
   ['big_5f336_5f60',['BIG_336_60',['../big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1',1,'big_336_60.h']]],
   ['big_5f336_5f60_2eh',['big_336_60.h',['../big__336__60_8h.html',1,'']]],
   ['big_5f336_5f60_5fadd',['BIG_336_60_add',['../big__336__60_8h.html#a6fd779dd5a3c29408daad6706fa2af96',1,'big_336_60.c']]],
@@ -518,7 +213,7 @@
   ['big_5f336_5f60_5ffshr',['BIG_336_60_fshr',['../big__336__60_8h.html#a302bb3ec86e68b5e47efcd092ce74d6b',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fimul',['BIG_336_60_imul',['../big__336__60_8h.html#aab0c9a28410127cb2bf1b18fadba2758',1,'big_336_60.c']]],
   ['big_5f336_5f60_5finc',['BIG_336_60_inc',['../big__336__60_8h.html#a9e50880f7150af10b54c5b8be27d6ef7',1,'big_336_60.c']]],
-  ['big_5f336_5f60_5finvmod2m',['BIG_336_60_invmod2m',['../big__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c',1,'big_336_60.h']]],
+  ['big_5f336_5f60_5finvmod2m',['BIG_336_60_invmod2m',['../big__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c',1,'big_336_60.c']]],
   ['big_5f336_5f60_5finvmodp',['BIG_336_60_invmodp',['../big__336__60_8h.html#a2ea32ae9b84ac45118f6a5bdb361535b',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fisunity',['BIG_336_60_isunity',['../big__336__60_8h.html#a6110ea9f4eb7f2c2b149811811498c2d',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fiszilch',['BIG_336_60_iszilch',['../big__336__60_8h.html#ad2fdb06120298ceb0a05dfb3b9cf7ec9',1,'big_336_60.c']]],
@@ -556,152 +251,6 @@
   ['big_5f336_5f60_5fsub',['BIG_336_60_sub',['../big__336__60_8h.html#a4e0852f724706e43c0e2d2e00832a79e',1,'big_336_60.c']]],
   ['big_5f336_5f60_5ftobytes',['BIG_336_60_toBytes',['../big__336__60_8h.html#af57d9134bdb184783baba00ca655c68f',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fzero',['BIG_336_60_zero',['../big__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f',1,'big_336_60.c']]],
-  ['big_5f384_5f28',['BIG_384_28',['../big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e',1,'big_384_28.h']]],
-  ['big_5f384_5f28_2eh',['big_384_28.h',['../big__384__28_8h.html',1,'']]],
-  ['big_5f384_5f28_5fadd',['BIG_384_28_add',['../big__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fbit',['BIG_384_28_bit',['../big__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcmove',['BIG_384_28_cmove',['../big__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcomp',['BIG_384_28_comp',['../big__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcopy',['BIG_384_28_copy',['../big__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcswap',['BIG_384_28_cswap',['../big__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdadd',['BIG_384_28_dadd',['../big__384__28_8h.html#ac45376eaec2c8050f1375202e0976534',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdcmove',['BIG_384_28_dcmove',['../big__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9',1,'big_384_28.h']]],
-  ['big_5f384_5f28_5fdcomp',['BIG_384_28_dcomp',['../big__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdcopy',['BIG_384_28_dcopy',['../big__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fddiv',['BIG_384_28_ddiv',['../big__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdec',['BIG_384_28_dec',['../big__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdfrombyteslen',['BIG_384_28_dfromBytesLen',['../big__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdiszilch',['BIG_384_28_diszilch',['../big__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdiv3',['BIG_384_28_div3',['../big__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdmod',['BIG_384_28_dmod',['../big__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdmod2m',['BIG_384_28_dmod2m',['../big__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdnbits',['BIG_384_28_dnbits',['../big__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdnorm',['BIG_384_28_dnorm',['../big__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdoutput',['BIG_384_28_doutput',['../big__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdrawoutput',['BIG_384_28_drawoutput',['../big__384__28_8h.html#afacc56ed2d110adb76534f3835129f70',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdscopy',['BIG_384_28_dscopy',['../big__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdshl',['BIG_384_28_dshl',['../big__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdshr',['BIG_384_28_dshr',['../big__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdsub',['BIG_384_28_dsub',['../big__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdsucopy',['BIG_384_28_dsucopy',['../big__384__28_8h.html#a1a726364369270a9e29464eeb9aee469',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdzero',['BIG_384_28_dzero',['../big__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffrombytes',['BIG_384_28_fromBytes',['../big__384__28_8h.html#a51b34c564e69a54e167e4327dc712219',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffrombyteslen',['BIG_384_28_fromBytesLen',['../big__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffshl',['BIG_384_28_fshl',['../big__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffshr',['BIG_384_28_fshr',['../big__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fimul',['BIG_384_28_imul',['../big__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5finc',['BIG_384_28_inc',['../big__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5finvmod2m',['BIG_384_28_invmod2m',['../big__384__28_8h.html#a7fe701290d9d38d84514372f424187c5',1,'big_384_28.h']]],
-  ['big_5f384_5f28_5finvmodp',['BIG_384_28_invmodp',['../big__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fisunity',['BIG_384_28_isunity',['../big__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fiszilch',['BIG_384_28_iszilch',['../big__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fjacobi',['BIG_384_28_jacobi',['../big__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5flastbits',['BIG_384_28_lastbits',['../big__384__28_8h.html#a11b73740018af049295c35189bceac13',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmod',['BIG_384_28_mod',['../big__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmod2m',['BIG_384_28_mod2m',['../big__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmoddiv',['BIG_384_28_moddiv',['../big__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmodmul',['BIG_384_28_modmul',['../big__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmodneg',['BIG_384_28_modneg',['../big__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmodsqr',['BIG_384_28_modsqr',['../big__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmonty',['BIG_384_28_monty',['../big__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmul',['BIG_384_28_mul',['../big__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fnbits',['BIG_384_28_nbits',['../big__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fnorm',['BIG_384_28_norm',['../big__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fone',['BIG_384_28_one',['../big__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5for',['BIG_384_28_or',['../big__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5foutput',['BIG_384_28_output',['../big__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fparity',['BIG_384_28_parity',['../big__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fpmul',['BIG_384_28_pmul',['../big__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fpxmul',['BIG_384_28_pxmul',['../big__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frandom',['BIG_384_28_random',['../big__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frandomnum',['BIG_384_28_randomnum',['../big__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frawoutput',['BIG_384_28_rawoutput',['../big__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frcopy',['BIG_384_28_rcopy',['../big__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsdcopy',['BIG_384_28_sdcopy',['../big__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsdiv',['BIG_384_28_sdiv',['../big__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsducopy',['BIG_384_28_sducopy',['../big__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fshl',['BIG_384_28_shl',['../big__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fshr',['BIG_384_28_shr',['../big__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsmul',['BIG_384_28_smul',['../big__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsplit',['BIG_384_28_split',['../big__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsqr',['BIG_384_28_sqr',['../big__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fssn',['BIG_384_28_ssn',['../big__384__28_8h.html#ae24758a390284bae57bd3bc25543309d',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsub',['BIG_384_28_sub',['../big__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ftobytes',['BIG_384_28_toBytes',['../big__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fzero',['BIG_384_28_zero',['../big__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c',1,'big_384_28.c']]],
-  ['big_5f384_5f29',['BIG_384_29',['../big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c',1,'big_384_29.h']]],
-  ['big_5f384_5f29_2eh',['big_384_29.h',['../big__384__29_8h.html',1,'']]],
-  ['big_5f384_5f29_5fadd',['BIG_384_29_add',['../big__384__29_8h.html#ae8a33809748e86abf38be6a82ee48dbc',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fbit',['BIG_384_29_bit',['../big__384__29_8h.html#a76a57f414f2b3be61fa038ec2a016bb0',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcmove',['BIG_384_29_cmove',['../big__384__29_8h.html#aab35f8dbaae1db3e43babae24a220297',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcomp',['BIG_384_29_comp',['../big__384__29_8h.html#ac06efcddbe91d806bf4b8c01c56f08ca',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcopy',['BIG_384_29_copy',['../big__384__29_8h.html#aaa87c91cf1a4e235b4e57061744b7488',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcswap',['BIG_384_29_cswap',['../big__384__29_8h.html#a5a848fbcf9248fdf5f123ad831f0eb36',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdadd',['BIG_384_29_dadd',['../big__384__29_8h.html#a80012252d35e1f39786cb8020b2dbc27',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdcmove',['BIG_384_29_dcmove',['../big__384__29_8h.html#a550d58a56c3336f2b0a5895aeb61b72b',1,'big_384_29.h']]],
-  ['big_5f384_5f29_5fdcomp',['BIG_384_29_dcomp',['../big__384__29_8h.html#a0b99018225d825960c70dd1a213c581b',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdcopy',['BIG_384_29_dcopy',['../big__384__29_8h.html#a31493a223d149d150b81109af2622e68',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fddiv',['BIG_384_29_ddiv',['../big__384__29_8h.html#a4089cb6ff0368f04bb1d415c9ceb1c72',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdec',['BIG_384_29_dec',['../big__384__29_8h.html#a9606f885cd731e6bb70ed43c0fb56de9',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdfrombyteslen',['BIG_384_29_dfromBytesLen',['../big__384__29_8h.html#aebcaf728ea21b894d4f40f2ce84b06e5',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdiszilch',['BIG_384_29_diszilch',['../big__384__29_8h.html#a16caa5b2e994f3b3b09d4a4952970977',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdiv3',['BIG_384_29_div3',['../big__384__29_8h.html#aa5f1a4ab6733b7f7d6d241ee5062c2de',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdmod',['BIG_384_29_dmod',['../big__384__29_8h.html#a042d957754ebc5d6847abf0c0ed613f9',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdmod2m',['BIG_384_29_dmod2m',['../big__384__29_8h.html#ad5942c0c1f2816790ec4c6fac63fb934',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdnbits',['BIG_384_29_dnbits',['../big__384__29_8h.html#a442287e511b421462af841b34fce153b',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdnorm',['BIG_384_29_dnorm',['../big__384__29_8h.html#a9109a9ab947921c2831aaeb359e16828',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdoutput',['BIG_384_29_doutput',['../big__384__29_8h.html#a298aa7a0970303e8d65d6653fa72ba24',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdrawoutput',['BIG_384_29_drawoutput',['../big__384__29_8h.html#a16f67ff9a20a55edadfd8b1dd6d7a2e8',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdscopy',['BIG_384_29_dscopy',['../big__384__29_8h.html#a84ac3f34e8a03c0e8f5e3a6d1a856442',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdshl',['BIG_384_29_dshl',['../big__384__29_8h.html#a66077e9acce3a88340f7555136248e81',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdshr',['BIG_384_29_dshr',['../big__384__29_8h.html#a01b53c51d421c61e4b09ad5ab88995f5',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdsub',['BIG_384_29_dsub',['../big__384__29_8h.html#a8e8bf34c64b05b903b9027541825547d',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdsucopy',['BIG_384_29_dsucopy',['../big__384__29_8h.html#a461b13e8431b6341e9c0f18e171e30a1',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdzero',['BIG_384_29_dzero',['../big__384__29_8h.html#a58d1c2c922f53294419dd7a491bfac43',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffrombytes',['BIG_384_29_fromBytes',['../big__384__29_8h.html#a611c1c3a2087a61ca8aca6702a501e7d',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffrombyteslen',['BIG_384_29_fromBytesLen',['../big__384__29_8h.html#ab26f93bbc86ea2938b1d640d50baf514',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffshl',['BIG_384_29_fshl',['../big__384__29_8h.html#a534f2208022d5711bc1ce450e7822205',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffshr',['BIG_384_29_fshr',['../big__384__29_8h.html#aacf67d3558e177d1e90e6779449062de',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fimul',['BIG_384_29_imul',['../big__384__29_8h.html#ad19895d08db9aeebf44eff2cc1dafb52',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5finc',['BIG_384_29_inc',['../big__384__29_8h.html#abd830342f83d91806905d61288ff1a89',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5finvmod2m',['BIG_384_29_invmod2m',['../big__384__29_8h.html#ad24cf08aefb349c5ec7d384fb26d4a3c',1,'big_384_29.h']]],
-  ['big_5f384_5f29_5finvmodp',['BIG_384_29_invmodp',['../big__384__29_8h.html#a39adf092cc3e1e0d5f98acaebcf4dd2f',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fisunity',['BIG_384_29_isunity',['../big__384__29_8h.html#a239235d13ab7ea1c82070ea771293f18',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fiszilch',['BIG_384_29_iszilch',['../big__384__29_8h.html#a69ba68e3a4efc01da04050cc79706680',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fjacobi',['BIG_384_29_jacobi',['../big__384__29_8h.html#af934ab3c68b97302df91f99bbb83a2b0',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5flastbits',['BIG_384_29_lastbits',['../big__384__29_8h.html#a40be50b37b5e4515902c22dad2f156ef',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmod',['BIG_384_29_mod',['../big__384__29_8h.html#a5e429b6a38eff8bc3d7e984e506b92ee',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmod2m',['BIG_384_29_mod2m',['../big__384__29_8h.html#a2eb7feb42ec2e26b6d413bc27161b003',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmoddiv',['BIG_384_29_moddiv',['../big__384__29_8h.html#ad1ecea87aa16f997ac5926c559c56bf5',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmodmul',['BIG_384_29_modmul',['../big__384__29_8h.html#a83339bca9b54d2c662b82563aa2cab6e',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmodneg',['BIG_384_29_modneg',['../big__384__29_8h.html#a9a3aab2f941d3ad88fe09a884ce4bbf3',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmodsqr',['BIG_384_29_modsqr',['../big__384__29_8h.html#a8711ca578f23cc48a617bd707696951a',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmonty',['BIG_384_29_monty',['../big__384__29_8h.html#ab5123a78afa3994d0cf7d544317f6a80',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmul',['BIG_384_29_mul',['../big__384__29_8h.html#acc2d3df7f8f1ad51ee78d34f1e6a481b',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fnbits',['BIG_384_29_nbits',['../big__384__29_8h.html#ad60635d46eb5edd3b8f422fd9094e04c',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fnorm',['BIG_384_29_norm',['../big__384__29_8h.html#adae96ed56ad1402b54f0a5a1222d8f87',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fone',['BIG_384_29_one',['../big__384__29_8h.html#a885fa7c4bf3a44ff79768ed0d83c80ec',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5for',['BIG_384_29_or',['../big__384__29_8h.html#abc3c04e91c8a5e1336ca2c4fd2744492',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5foutput',['BIG_384_29_output',['../big__384__29_8h.html#ade4da533b2f4d9e98b4ce291dc9e9019',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fparity',['BIG_384_29_parity',['../big__384__29_8h.html#a4c2b8fc522862ee9f466dcb227a6a278',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fpmul',['BIG_384_29_pmul',['../big__384__29_8h.html#a4141ae18ee04ccefb2d1bf110b935ec0',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fpxmul',['BIG_384_29_pxmul',['../big__384__29_8h.html#a7af0ca6c0f3147ee53ab842ee0d573f7',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frandom',['BIG_384_29_random',['../big__384__29_8h.html#ab47d90d426deb85d60b6677eda549e78',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frandomnum',['BIG_384_29_randomnum',['../big__384__29_8h.html#a9771f9ed803f3be53c92db25f6e059fb',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frawoutput',['BIG_384_29_rawoutput',['../big__384__29_8h.html#a82a583012fcdf4a28fd8895d6d086374',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frcopy',['BIG_384_29_rcopy',['../big__384__29_8h.html#ad0821bce35e6e5adfef3461fc18c3872',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsdcopy',['BIG_384_29_sdcopy',['../big__384__29_8h.html#a331c8e2de95479761e68bfa83e640445',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsdiv',['BIG_384_29_sdiv',['../big__384__29_8h.html#a396198fbeb743b7ad4f7f80c2934f965',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsducopy',['BIG_384_29_sducopy',['../big__384__29_8h.html#af84298cbd89cb60dfefe7df04e4ac165',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fshl',['BIG_384_29_shl',['../big__384__29_8h.html#a6d9b60bba362a7654da3e79a0364e84c',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fshr',['BIG_384_29_shr',['../big__384__29_8h.html#a3260b1ddfce0d1b53a94b8c5dcdcbec8',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsmul',['BIG_384_29_smul',['../big__384__29_8h.html#af933c60ca40249a1ee97207d17ec8971',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsplit',['BIG_384_29_split',['../big__384__29_8h.html#a89cba4e8778cb74d2a273749ec1fccfb',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsqr',['BIG_384_29_sqr',['../big__384__29_8h.html#af7e0e139b973fd707f3dc0416149368e',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fssn',['BIG_384_29_ssn',['../big__384__29_8h.html#a944b245f8d0b3478465c737273711da6',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsub',['BIG_384_29_sub',['../big__384__29_8h.html#a4ec616ce0230484c3fe0009710f5233c',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ftobytes',['BIG_384_29_toBytes',['../big__384__29_8h.html#a69579e616a8b921d289151ae3cc40d75',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fzero',['BIG_384_29_zero',['../big__384__29_8h.html#a41e218680a464b2f6d727aee4681edb6',1,'big_384_29.c']]],
   ['big_5f384_5f56',['BIG_384_56',['../big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c',1,'big_384_56.h']]],
   ['big_5f384_5f56_2eh',['big_384_56.h',['../big__384__56_8h.html',1,'']]],
   ['big_5f384_5f56_5fadd',['BIG_384_56_add',['../big__384__56_8h.html#afe5a8c4ad2eea34b6dc4716646f77e18',1,'big_384_56.c']]],
@@ -737,7 +286,7 @@
   ['big_5f384_5f56_5ffshr',['BIG_384_56_fshr',['../big__384__56_8h.html#ab650eeee7180e6bc956edf083890ae96',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fimul',['BIG_384_56_imul',['../big__384__56_8h.html#a6ac44aa223a117f1239157b2c2d477e3',1,'big_384_56.c']]],
   ['big_5f384_5f56_5finc',['BIG_384_56_inc',['../big__384__56_8h.html#ac341a05be2a42320d3144cecb595166f',1,'big_384_56.c']]],
-  ['big_5f384_5f56_5finvmod2m',['BIG_384_56_invmod2m',['../big__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2',1,'ff_3072.c']]],
+  ['big_5f384_5f56_5finvmod2m',['BIG_384_56_invmod2m',['../big__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2',1,'big_384_56.c']]],
   ['big_5f384_5f56_5finvmodp',['BIG_384_56_invmodp',['../big__384__56_8h.html#ac96a4421de3b5fd001192f2f0544cf7a',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fisunity',['BIG_384_56_isunity',['../big__384__56_8h.html#a904972dd817ed39992151c2d9c40e530',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fiszilch',['BIG_384_56_iszilch',['../big__384__56_8h.html#a501d069a9b78be0c8ad093314e1f7bb3',1,'big_384_56.c']]],
@@ -810,7 +359,7 @@
   ['big_5f384_5f58_5ffshr',['BIG_384_58_fshr',['../big__384__58_8h.html#a5f9d30e39044ce32968dfb9befa4cc92',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fimul',['BIG_384_58_imul',['../big__384__58_8h.html#a79c763f34d8c986f12c11c1bbdb8f3c1',1,'big_384_58.c']]],
   ['big_5f384_5f58_5finc',['BIG_384_58_inc',['../big__384__58_8h.html#ab5ab83546289412fe928c96aa65e73b1',1,'big_384_58.c']]],
-  ['big_5f384_5f58_5finvmod2m',['BIG_384_58_invmod2m',['../big__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5',1,'big_384_58.h']]],
+  ['big_5f384_5f58_5finvmod2m',['BIG_384_58_invmod2m',['../big__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5',1,'big_384_58.c']]],
   ['big_5f384_5f58_5finvmodp',['BIG_384_58_invmodp',['../big__384__58_8h.html#a5a1e7aea63e90f03b07eedc3185fb1d4',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fisunity',['BIG_384_58_isunity',['../big__384__58_8h.html#a95b36449d7c9b454aa7078ee3d315440',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fiszilch',['BIG_384_58_iszilch',['../big__384__58_8h.html#a085ab7b1ab27484e4a7c7140feb60187',1,'big_384_58.c']]],
@@ -848,79 +397,6 @@
   ['big_5f384_5f58_5fsub',['BIG_384_58_sub',['../big__384__58_8h.html#a8a56a1492a22aba9398327f4f4fd2c07',1,'big_384_58.c']]],
   ['big_5f384_5f58_5ftobytes',['BIG_384_58_toBytes',['../big__384__58_8h.html#a6fed12fb7988a0dd95e7fc46ceda3fb1',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fzero',['BIG_384_58_zero',['../big__384__58_8h.html#a13f04d7bc085d6284718d88142e68452',1,'big_384_58.c']]],
-  ['big_5f416_5f29',['BIG_416_29',['../big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62',1,'big_416_29.h']]],
-  ['big_5f416_5f29_2eh',['big_416_29.h',['../big__416__29_8h.html',1,'']]],
-  ['big_5f416_5f29_5fadd',['BIG_416_29_add',['../big__416__29_8h.html#aaaecab31c86f7c91178702073c428a56',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fbit',['BIG_416_29_bit',['../big__416__29_8h.html#a8739d1c92d694611bd97a1b5a3a2b3f8',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcmove',['BIG_416_29_cmove',['../big__416__29_8h.html#a98dca944b9b0d6b06b788195adb94b56',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcomp',['BIG_416_29_comp',['../big__416__29_8h.html#a2aa857e0f0079cae346d944f654c6a9b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcopy',['BIG_416_29_copy',['../big__416__29_8h.html#af86e1bac4d01fc13e8a00105fc6f711c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcswap',['BIG_416_29_cswap',['../big__416__29_8h.html#a77676579ad9e12c35e891cd1b3ad7bab',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdadd',['BIG_416_29_dadd',['../big__416__29_8h.html#a142b562a4d92f1f28f333bbe389b53f3',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdcmove',['BIG_416_29_dcmove',['../big__416__29_8h.html#aa0522b5de35f639c86be4120fe7092dc',1,'big_416_29.h']]],
-  ['big_5f416_5f29_5fdcomp',['BIG_416_29_dcomp',['../big__416__29_8h.html#a9eb3d430b55cbebb52d19e653b4ea54d',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdcopy',['BIG_416_29_dcopy',['../big__416__29_8h.html#a50a77138c16b74b6d3bcbe250a43bb8c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fddiv',['BIG_416_29_ddiv',['../big__416__29_8h.html#ac4957789d9712196a20deb06f46b6313',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdec',['BIG_416_29_dec',['../big__416__29_8h.html#a6f0ea72a41d913ad587cba929f93750e',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdfrombyteslen',['BIG_416_29_dfromBytesLen',['../big__416__29_8h.html#a07bf5beb7e8e387c5bab1560e4e2d6e0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdiszilch',['BIG_416_29_diszilch',['../big__416__29_8h.html#a8fedbfa4e31b49e69728faa2a6f91565',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdiv3',['BIG_416_29_div3',['../big__416__29_8h.html#afd78a40a3ced9250c93566ad2da629da',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdmod',['BIG_416_29_dmod',['../big__416__29_8h.html#a7c517c1e3f9c042b23687ac622dfa7f9',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdmod2m',['BIG_416_29_dmod2m',['../big__416__29_8h.html#a0869f4718734600365ecf63d735292a1',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdnbits',['BIG_416_29_dnbits',['../big__416__29_8h.html#a188c34ed572f8126c91b07760c198d39',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdnorm',['BIG_416_29_dnorm',['../big__416__29_8h.html#af57fd6676ad99e00f98234b5a0e69ad8',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdoutput',['BIG_416_29_doutput',['../big__416__29_8h.html#a2c2a3e48ab57f28f556798c36cb8dc5e',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdrawoutput',['BIG_416_29_drawoutput',['../big__416__29_8h.html#a2558ed1d1e691f6dbab20a7a2f46af8b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdscopy',['BIG_416_29_dscopy',['../big__416__29_8h.html#ae3c2caa8dc99b4c6df19d781f0d48e3f',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdshl',['BIG_416_29_dshl',['../big__416__29_8h.html#ab64483dea5dba8a8593b2f0f10aeb486',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdshr',['BIG_416_29_dshr',['../big__416__29_8h.html#acdafbd0d229c7730d380f929383a2200',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdsub',['BIG_416_29_dsub',['../big__416__29_8h.html#a48f1216d6ecbebb0d5bcc14eb94bf922',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdsucopy',['BIG_416_29_dsucopy',['../big__416__29_8h.html#abeea8d5acc80d509028e53a98d8a6d51',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdzero',['BIG_416_29_dzero',['../big__416__29_8h.html#aa57becef0fa7d70d3049f7f4641748da',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffrombytes',['BIG_416_29_fromBytes',['../big__416__29_8h.html#a8164d17175332f303f47a1c38bd941d7',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffrombyteslen',['BIG_416_29_fromBytesLen',['../big__416__29_8h.html#ae2001c7fb8b395dc564ccf22bfeb4071',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffshl',['BIG_416_29_fshl',['../big__416__29_8h.html#a6f57608fc0566752282ea8a25294abc9',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffshr',['BIG_416_29_fshr',['../big__416__29_8h.html#a22880937261d7f334522dca3e339deb0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fimul',['BIG_416_29_imul',['../big__416__29_8h.html#a18802fcca173f5402edd2aa2d88066c3',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5finc',['BIG_416_29_inc',['../big__416__29_8h.html#af3234bf49b27ea7202e87511577ab2c7',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5finvmod2m',['BIG_416_29_invmod2m',['../big__416__29_8h.html#ac0dc297a355c4edaa71d33041c248056',1,'big_416_29.h']]],
-  ['big_5f416_5f29_5finvmodp',['BIG_416_29_invmodp',['../big__416__29_8h.html#a991ad6a5cf98fd833b92b1aa16f49daf',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fisunity',['BIG_416_29_isunity',['../big__416__29_8h.html#aba62b6820581d7e01189c197e4ccb2e0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fiszilch',['BIG_416_29_iszilch',['../big__416__29_8h.html#a5f21d81728b9d4fd660568eba71d3aa2',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fjacobi',['BIG_416_29_jacobi',['../big__416__29_8h.html#af20c1841f5b7a6233f95a3bb6624ba37',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5flastbits',['BIG_416_29_lastbits',['../big__416__29_8h.html#aef1e80b9da63d8ee67746ef86dca29a0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmod',['BIG_416_29_mod',['../big__416__29_8h.html#acbf733277d63c290b5ad34fc1ee925ba',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmod2m',['BIG_416_29_mod2m',['../big__416__29_8h.html#a64652c0104675781e738ab2fff57f36d',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmoddiv',['BIG_416_29_moddiv',['../big__416__29_8h.html#a3f53541771281fc6b8dc44a481db8f7c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmodmul',['BIG_416_29_modmul',['../big__416__29_8h.html#af7b5a01fff9bec531bbb90eb258fde44',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmodneg',['BIG_416_29_modneg',['../big__416__29_8h.html#a8729f78f44c7ea52e4c7884744aa94f1',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmodsqr',['BIG_416_29_modsqr',['../big__416__29_8h.html#ad9b04c927ffb3cd630e4c016db03209b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmonty',['BIG_416_29_monty',['../big__416__29_8h.html#a7ae79b99e9ee26d60c28aa3127daa041',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmul',['BIG_416_29_mul',['../big__416__29_8h.html#adb81f17df70c4e35eec8aee20b098065',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fnbits',['BIG_416_29_nbits',['../big__416__29_8h.html#a2cd3c7ff47a7593f5a5f1a65811f4dfd',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fnorm',['BIG_416_29_norm',['../big__416__29_8h.html#a661d1791cd3385de1001a0bbbdd06941',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fone',['BIG_416_29_one',['../big__416__29_8h.html#a0c9bb0b78533bd9738759301e40e5f9a',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5for',['BIG_416_29_or',['../big__416__29_8h.html#a6d68fc022e6b069927dc11795e4aab3b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5foutput',['BIG_416_29_output',['../big__416__29_8h.html#a2224807ec96be55f42f009ab092a480e',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fparity',['BIG_416_29_parity',['../big__416__29_8h.html#a0d6beee9da1345bfc6b9a26d044bfb6f',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fpmul',['BIG_416_29_pmul',['../big__416__29_8h.html#ae5841499ea880e9977d32a1799f7f475',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fpxmul',['BIG_416_29_pxmul',['../big__416__29_8h.html#adf110cc273b34fe5126cf6665342e206',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frandom',['BIG_416_29_random',['../big__416__29_8h.html#a707a430d9d3a2e04fdad7d66ef00799c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frandomnum',['BIG_416_29_randomnum',['../big__416__29_8h.html#a6765f3c27ff80da9b6d2ebad01509490',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frawoutput',['BIG_416_29_rawoutput',['../big__416__29_8h.html#a4c3e625f14d5c519876b3d8f0f1a6158',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frcopy',['BIG_416_29_rcopy',['../big__416__29_8h.html#aab573c7bfe0bc79f45fa4b197ee8971d',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsdcopy',['BIG_416_29_sdcopy',['../big__416__29_8h.html#a9af71f1d5e1005c228278cb95cd2c3e1',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsdiv',['BIG_416_29_sdiv',['../big__416__29_8h.html#af32886944ce9af389079dc6bc0976986',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsducopy',['BIG_416_29_sducopy',['../big__416__29_8h.html#a615066df2a33ddc16c1f2a904b5e86e6',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fshl',['BIG_416_29_shl',['../big__416__29_8h.html#a9a7f77ea084fb68385803d7ddaeed2fe',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fshr',['BIG_416_29_shr',['../big__416__29_8h.html#a6dd5a3f74265f7ba5947ebccc5a90042',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsmul',['BIG_416_29_smul',['../big__416__29_8h.html#a9df539ba2f02afd73c10acdfc4364a03',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsplit',['BIG_416_29_split',['../big__416__29_8h.html#a374674ab8939e7c1fd154cb51ff80e78',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsqr',['BIG_416_29_sqr',['../big__416__29_8h.html#adb89f95d8e956d0c3894fa0e9e4c7023',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fssn',['BIG_416_29_ssn',['../big__416__29_8h.html#a9faf6d033461ddbfa26d1a7d1710a0af',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsub',['BIG_416_29_sub',['../big__416__29_8h.html#acad58ac85a661817c26d45b784e56c10',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ftobytes',['BIG_416_29_toBytes',['../big__416__29_8h.html#afef53d763389177bdf29e1eafef7ce69',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fzero',['BIG_416_29_zero',['../big__416__29_8h.html#a18a194e4b947f6fb331e61e9582bf472',1,'big_416_29.c']]],
   ['big_5f416_5f60',['BIG_416_60',['../big__416__60_8h.html#a44dd6638775981360035b72d63fa739b',1,'big_416_60.h']]],
   ['big_5f416_5f60_2eh',['big_416_60.h',['../big__416__60_8h.html',1,'']]],
   ['big_5f416_5f60_5fadd',['BIG_416_60_add',['../big__416__60_8h.html#a883040938971d37c87ff7b02715a502f',1,'big_416_60.c']]],
@@ -956,7 +432,7 @@
   ['big_5f416_5f60_5ffshr',['BIG_416_60_fshr',['../big__416__60_8h.html#a13d8d211baf4897b6c33ca6b21c5f0f3',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fimul',['BIG_416_60_imul',['../big__416__60_8h.html#a2694e52bbfe1177f4f2fffc532c904e6',1,'big_416_60.c']]],
   ['big_5f416_5f60_5finc',['BIG_416_60_inc',['../big__416__60_8h.html#ad001f306391c4246bedd44d86cd94017',1,'big_416_60.c']]],
-  ['big_5f416_5f60_5finvmod2m',['BIG_416_60_invmod2m',['../big__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb',1,'big_416_60.h']]],
+  ['big_5f416_5f60_5finvmod2m',['BIG_416_60_invmod2m',['../big__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb',1,'big_416_60.c']]],
   ['big_5f416_5f60_5finvmodp',['BIG_416_60_invmodp',['../big__416__60_8h.html#a98ec049dcf151c0ac808b23dac571f87',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fisunity',['BIG_416_60_isunity',['../big__416__60_8h.html#a9c49df41345de0f105a4fee08e69e946',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fiszilch',['BIG_416_60_iszilch',['../big__416__60_8h.html#a7e94ebf52e7ae257f66363c6ac0799f6',1,'big_416_60.c']]],
@@ -994,79 +470,6 @@
   ['big_5f416_5f60_5fsub',['BIG_416_60_sub',['../big__416__60_8h.html#a0064bf5b0ad9e1ce56719d20f219bfa7',1,'big_416_60.c']]],
   ['big_5f416_5f60_5ftobytes',['BIG_416_60_toBytes',['../big__416__60_8h.html#a6e3d2294179d88e4c8f27b3b8a06e031',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fzero',['BIG_416_60_zero',['../big__416__60_8h.html#a8f397375caa86766a11272fb9090f12c',1,'big_416_60.c']]],
-  ['big_5f448_5f29',['BIG_448_29',['../big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761',1,'big_448_29.h']]],
-  ['big_5f448_5f29_2eh',['big_448_29.h',['../big__448__29_8h.html',1,'']]],
-  ['big_5f448_5f29_5fadd',['BIG_448_29_add',['../big__448__29_8h.html#a52732e32df914610f06d71e66ae0aaee',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fbit',['BIG_448_29_bit',['../big__448__29_8h.html#af024cd5305a28c602df5eabae1b1afd6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcmove',['BIG_448_29_cmove',['../big__448__29_8h.html#aab522df22af3d6f8452a9f1ed5f6e787',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcomp',['BIG_448_29_comp',['../big__448__29_8h.html#a96d9269f5721a09b9e9241928241544e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcopy',['BIG_448_29_copy',['../big__448__29_8h.html#acbc8ffb914448e131b56eb4c3ba53fc1',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcswap',['BIG_448_29_cswap',['../big__448__29_8h.html#aa0337aa7b6bb10b213193277b6706a07',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdadd',['BIG_448_29_dadd',['../big__448__29_8h.html#abd5e5c67823d3e9e195cbbad446b8f2b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdcmove',['BIG_448_29_dcmove',['../big__448__29_8h.html#a13a3c52ecff409475050fb20b196a4ec',1,'big_448_29.h']]],
-  ['big_5f448_5f29_5fdcomp',['BIG_448_29_dcomp',['../big__448__29_8h.html#a0539172f8147c115c9132f3a7dc0912a',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdcopy',['BIG_448_29_dcopy',['../big__448__29_8h.html#afb1ba79905bb33694bbf515ee7c3d2bd',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fddiv',['BIG_448_29_ddiv',['../big__448__29_8h.html#a84096083bf0954b59f2925648c7a137a',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdec',['BIG_448_29_dec',['../big__448__29_8h.html#ac046e873f702c3c6ba84a45283591d0c',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdfrombyteslen',['BIG_448_29_dfromBytesLen',['../big__448__29_8h.html#aefe85187833ee1017452f0c48b2df544',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdiszilch',['BIG_448_29_diszilch',['../big__448__29_8h.html#adc34c5a4a04536b69ef88d01318b293f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdiv3',['BIG_448_29_div3',['../big__448__29_8h.html#a51937f4122d05f03a9583d1528cd6897',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdmod',['BIG_448_29_dmod',['../big__448__29_8h.html#a7ef793e983e087bcb9bf54a73de8c8e6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdmod2m',['BIG_448_29_dmod2m',['../big__448__29_8h.html#a3afb2ac3160292e8c72f614a4c5689f2',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdnbits',['BIG_448_29_dnbits',['../big__448__29_8h.html#a8c33ce4cfa01dd3bbb8d2916f0e30e1b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdnorm',['BIG_448_29_dnorm',['../big__448__29_8h.html#a1592d268df6258a58b6d4efa05e6eb41',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdoutput',['BIG_448_29_doutput',['../big__448__29_8h.html#a5df84f06f1ecdb4f4d0740fb65953f94',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdrawoutput',['BIG_448_29_drawoutput',['../big__448__29_8h.html#a2aef6adc137f20abe66c013fdc089453',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdscopy',['BIG_448_29_dscopy',['../big__448__29_8h.html#a4cca42c269c38dd1c098e2ef5f9b2ef6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdshl',['BIG_448_29_dshl',['../big__448__29_8h.html#a26445e5623108ee6104ef5afd7807b61',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdshr',['BIG_448_29_dshr',['../big__448__29_8h.html#aeeb1c94512a234362e1fd43dea0aecdb',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdsub',['BIG_448_29_dsub',['../big__448__29_8h.html#a690d7ffa0c2b7df6561011bd6156dd43',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdsucopy',['BIG_448_29_dsucopy',['../big__448__29_8h.html#ac7a8bd538830bd4938bdb96555962f91',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdzero',['BIG_448_29_dzero',['../big__448__29_8h.html#acdf8614e386d747a7b3609c865a3b808',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffrombytes',['BIG_448_29_fromBytes',['../big__448__29_8h.html#a558045a997bfd9f332d0dc56182da244',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffrombyteslen',['BIG_448_29_fromBytesLen',['../big__448__29_8h.html#a241537567b6f575209f356b938f5d8f5',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffshl',['BIG_448_29_fshl',['../big__448__29_8h.html#a97a62e56535b72fd5449154e9c842ba6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffshr',['BIG_448_29_fshr',['../big__448__29_8h.html#a49e73322bb56496afcd9594983166c15',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fimul',['BIG_448_29_imul',['../big__448__29_8h.html#a6de5e0385019f0c93dae2b23230299f8',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5finc',['BIG_448_29_inc',['../big__448__29_8h.html#a8f36f4e7ab6f2e9fe4ed06cec28153d5',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5finvmod2m',['BIG_448_29_invmod2m',['../big__448__29_8h.html#a0fb2aab64a09f62ba22061339ddca874',1,'big_448_29.h']]],
-  ['big_5f448_5f29_5finvmodp',['BIG_448_29_invmodp',['../big__448__29_8h.html#a2806d6e8f34c46c6a4f7fddaba57179a',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fisunity',['BIG_448_29_isunity',['../big__448__29_8h.html#a54fe1672b4ae68f10c9b91e251adaabc',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fiszilch',['BIG_448_29_iszilch',['../big__448__29_8h.html#a09c7553a6d3bddeb319b6847b95b206f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fjacobi',['BIG_448_29_jacobi',['../big__448__29_8h.html#ab76cfe2635aa04110808b1a56f55d967',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5flastbits',['BIG_448_29_lastbits',['../big__448__29_8h.html#a856f088af44e66b839436be19d0cbfb4',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmod',['BIG_448_29_mod',['../big__448__29_8h.html#ac9094c3c5eb5d967cebb5a66b581ec9b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmod2m',['BIG_448_29_mod2m',['../big__448__29_8h.html#aa137e18bd8ac5429bb2b9e2ee4be83e8',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmoddiv',['BIG_448_29_moddiv',['../big__448__29_8h.html#a33832c68e0adcf25dba53fd6c5d9c4dd',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmodmul',['BIG_448_29_modmul',['../big__448__29_8h.html#a737a0b66f8a4ac411d473961d63bfa84',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmodneg',['BIG_448_29_modneg',['../big__448__29_8h.html#aa240fed64c7cff4d2589e8f5f57cc4bc',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmodsqr',['BIG_448_29_modsqr',['../big__448__29_8h.html#a9418b0503eaca5e00710291c6e824e65',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmonty',['BIG_448_29_monty',['../big__448__29_8h.html#ac59e9444d4495f12d5ef69d88f1d64f9',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmul',['BIG_448_29_mul',['../big__448__29_8h.html#ac0bf30b8a5963b8f019da2a3123916ca',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fnbits',['BIG_448_29_nbits',['../big__448__29_8h.html#a2f758afc90b97744fcbc4092b371f942',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fnorm',['BIG_448_29_norm',['../big__448__29_8h.html#ad28e337ec4df64509040ae03e6d5a454',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fone',['BIG_448_29_one',['../big__448__29_8h.html#aee02676b57dce89300afc580a6b84579',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5for',['BIG_448_29_or',['../big__448__29_8h.html#a4fb00fa3b6c2c24987257f6a33955e1c',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5foutput',['BIG_448_29_output',['../big__448__29_8h.html#af57fb9d2c6f6573fbf07caf4cb7c8505',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fparity',['BIG_448_29_parity',['../big__448__29_8h.html#af33649f8023f525098d9d55d87ea47b9',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fpmul',['BIG_448_29_pmul',['../big__448__29_8h.html#a81ef91f38192d1fbdc5826a6d09b2b28',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fpxmul',['BIG_448_29_pxmul',['../big__448__29_8h.html#a5e73af51900b138efd372c1c1faf38ef',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frandom',['BIG_448_29_random',['../big__448__29_8h.html#ad247cced03511c10360dc3f09e46664e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frandomnum',['BIG_448_29_randomnum',['../big__448__29_8h.html#a8e22d200d8827af9686391514c2a11fc',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frawoutput',['BIG_448_29_rawoutput',['../big__448__29_8h.html#a095f347843aefe767bfe2801abb8b770',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frcopy',['BIG_448_29_rcopy',['../big__448__29_8h.html#ae91f2b61abbf35ff8eead23ff33dbcc6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsdcopy',['BIG_448_29_sdcopy',['../big__448__29_8h.html#a7fbfcd1c557637a639650765514fd13f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsdiv',['BIG_448_29_sdiv',['../big__448__29_8h.html#a58883fddbb7cec0eae17da2628455e2b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsducopy',['BIG_448_29_sducopy',['../big__448__29_8h.html#aff258f5a582cc9a517ddac40a426c1c2',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fshl',['BIG_448_29_shl',['../big__448__29_8h.html#a4f42b9409fc90afb337c086f36b99b0f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fshr',['BIG_448_29_shr',['../big__448__29_8h.html#ae2edc8357240da28f4abde11918fba1e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsmul',['BIG_448_29_smul',['../big__448__29_8h.html#ad050214613920f9b77dc0b8f5ce10d18',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsplit',['BIG_448_29_split',['../big__448__29_8h.html#a3bad363fa21dc4b598d833758e86b5de',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsqr',['BIG_448_29_sqr',['../big__448__29_8h.html#a34ab101faf200fbc482ab23e6c09d45e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fssn',['BIG_448_29_ssn',['../big__448__29_8h.html#a4d22bc595ce5949ef5e1fcfc79d769a8',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsub',['BIG_448_29_sub',['../big__448__29_8h.html#a38bad8b10d13490e1608c18122d1757f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ftobytes',['BIG_448_29_toBytes',['../big__448__29_8h.html#a58fe5186e333019079a63dd29e4de06f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fzero',['BIG_448_29_zero',['../big__448__29_8h.html#a6e430482d15f64c789d7040d3a5ee496',1,'big_448_29.c']]],
   ['big_5f448_5f58',['BIG_448_58',['../big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e',1,'big_448_58.h']]],
   ['big_5f448_5f58_2eh',['big_448_58.h',['../big__448__58_8h.html',1,'']]],
   ['big_5f448_5f58_5fadd',['BIG_448_58_add',['../big__448__58_8h.html#a14543e42824e22d254e56d3a7e4109e8',1,'big_448_58.c']]],
@@ -1102,7 +505,7 @@
   ['big_5f448_5f58_5ffshr',['BIG_448_58_fshr',['../big__448__58_8h.html#ade03744016610e17fd1ae66a96bb9754',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fimul',['BIG_448_58_imul',['../big__448__58_8h.html#acca52d192f334a58010a2ee7201e4166',1,'big_448_58.c']]],
   ['big_5f448_5f58_5finc',['BIG_448_58_inc',['../big__448__58_8h.html#a26e57c2bdc14a2afc1ea4a834c29ac69',1,'big_448_58.c']]],
-  ['big_5f448_5f58_5finvmod2m',['BIG_448_58_invmod2m',['../big__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b',1,'big_448_58.h']]],
+  ['big_5f448_5f58_5finvmod2m',['BIG_448_58_invmod2m',['../big__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b',1,'big_448_58.c']]],
   ['big_5f448_5f58_5finvmodp',['BIG_448_58_invmodp',['../big__448__58_8h.html#ab129d1b8609f383be377a7002d8ee43c',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fisunity',['BIG_448_58_isunity',['../big__448__58_8h.html#a9f443ee8da32fc63b49924e8e3eface5',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fiszilch',['BIG_448_58_iszilch',['../big__448__58_8h.html#a383e7ac6bac02d230549076a311af36f',1,'big_448_58.c']]],
@@ -1140,79 +543,6 @@
   ['big_5f448_5f58_5fsub',['BIG_448_58_sub',['../big__448__58_8h.html#ab226b5d4e92246c0901fd2adca199d97',1,'big_448_58.c']]],
   ['big_5f448_5f58_5ftobytes',['BIG_448_58_toBytes',['../big__448__58_8h.html#a7986d10bad9b3e2fab5a2e9b789dad15',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fzero',['BIG_448_58_zero',['../big__448__58_8h.html#acc8be96327c22943e311daec9ee49e51',1,'big_448_58.c']]],
-  ['big_5f464_5f28',['BIG_464_28',['../big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6',1,'big_464_28.h']]],
-  ['big_5f464_5f28_2eh',['big_464_28.h',['../big__464__28_8h.html',1,'']]],
-  ['big_5f464_5f28_5fadd',['BIG_464_28_add',['../big__464__28_8h.html#a01fba33d068023a78a7e2399a2d3f07f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fbit',['BIG_464_28_bit',['../big__464__28_8h.html#a7e046da56c962175f6c7c4312a64bce0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcmove',['BIG_464_28_cmove',['../big__464__28_8h.html#add5c49897dd8e26b3269b1038df97c28',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcomp',['BIG_464_28_comp',['../big__464__28_8h.html#a9e2b62f83f21d6f884db7a7ae0e8d537',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcopy',['BIG_464_28_copy',['../big__464__28_8h.html#a4892332c418b37b4fa9027fc9405df34',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcswap',['BIG_464_28_cswap',['../big__464__28_8h.html#a8332be15edc398cab818bdf8f9e27e30',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdadd',['BIG_464_28_dadd',['../big__464__28_8h.html#ad328a582c2ff182f85ae885fd799e19a',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdcmove',['BIG_464_28_dcmove',['../big__464__28_8h.html#ad803aa419dc66098a6dbad0f67788db9',1,'big_464_28.h']]],
-  ['big_5f464_5f28_5fdcomp',['BIG_464_28_dcomp',['../big__464__28_8h.html#ab7be7f30052024ad9d37b7170f16c860',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdcopy',['BIG_464_28_dcopy',['../big__464__28_8h.html#a81db2e111447b6f7e40dbd6e44763600',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fddiv',['BIG_464_28_ddiv',['../big__464__28_8h.html#a170c3ec8d24143938f38b05dc3931e4e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdec',['BIG_464_28_dec',['../big__464__28_8h.html#a576bd55c0333c2d11d90b89f5cd2b648',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdfrombyteslen',['BIG_464_28_dfromBytesLen',['../big__464__28_8h.html#a83bccbe89705edcfd1b9d241133f8585',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdiszilch',['BIG_464_28_diszilch',['../big__464__28_8h.html#a8873d18682136ced76e6d2b11b77c720',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdiv3',['BIG_464_28_div3',['../big__464__28_8h.html#a7876c8124d59c11230c448e228f55496',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdmod',['BIG_464_28_dmod',['../big__464__28_8h.html#a0115b32f39fb88dd5409a22b7f9eb451',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdmod2m',['BIG_464_28_dmod2m',['../big__464__28_8h.html#a7a16ef52578c6f8d82c11acee18abf44',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdnbits',['BIG_464_28_dnbits',['../big__464__28_8h.html#ac198589116dba16e32428e99c3b638d4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdnorm',['BIG_464_28_dnorm',['../big__464__28_8h.html#af2c8da5bf433447918f3ba52a458ef50',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdoutput',['BIG_464_28_doutput',['../big__464__28_8h.html#ada5a1e39644074621868023b27a60271',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdrawoutput',['BIG_464_28_drawoutput',['../big__464__28_8h.html#a3dbae90aeb9ec645ca3ad40e970bfad0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdscopy',['BIG_464_28_dscopy',['../big__464__28_8h.html#abe50a0e09ed4f83437d0782b97e2d283',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdshl',['BIG_464_28_dshl',['../big__464__28_8h.html#a36d4bfbbea2d5aab754c52cacc1554d9',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdshr',['BIG_464_28_dshr',['../big__464__28_8h.html#a7c230f00e209d55db735496223beff32',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdsub',['BIG_464_28_dsub',['../big__464__28_8h.html#a8c4beeaa8b6b210a16dd6043d87facde',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdsucopy',['BIG_464_28_dsucopy',['../big__464__28_8h.html#a42f2328339f3a76e959ca6790747833f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdzero',['BIG_464_28_dzero',['../big__464__28_8h.html#a55deb4651e0611492c4d72ec8e6ae48f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffrombytes',['BIG_464_28_fromBytes',['../big__464__28_8h.html#ad23433b5216617ebb4994e2a89fcdbd2',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffrombyteslen',['BIG_464_28_fromBytesLen',['../big__464__28_8h.html#ac2ad39c1ecfa4496a0a8a774960a081f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffshl',['BIG_464_28_fshl',['../big__464__28_8h.html#a51d75872491376269b703b0b187d9144',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffshr',['BIG_464_28_fshr',['../big__464__28_8h.html#ab86ad92feb62edce77afa319318f07ed',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fimul',['BIG_464_28_imul',['../big__464__28_8h.html#a4cc6c09b12cec697a832e228dca37f82',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5finc',['BIG_464_28_inc',['../big__464__28_8h.html#af83b921ece47b22b9e2855c0b3725cdd',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5finvmod2m',['BIG_464_28_invmod2m',['../big__464__28_8h.html#a35db459595ea671794c80ab9b71ff44d',1,'big_464_28.h']]],
-  ['big_5f464_5f28_5finvmodp',['BIG_464_28_invmodp',['../big__464__28_8h.html#aa7676f91a1b5a787b528801d39c18555',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fisunity',['BIG_464_28_isunity',['../big__464__28_8h.html#af38ae608680b8f841bdb3b38094ef01c',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fiszilch',['BIG_464_28_iszilch',['../big__464__28_8h.html#ae17f6314e3e3d44e435097bde278b280',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fjacobi',['BIG_464_28_jacobi',['../big__464__28_8h.html#ae21ccff253d5a36b9238f0b4541cc3d8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5flastbits',['BIG_464_28_lastbits',['../big__464__28_8h.html#a6f63c7e7427e7aadd3b702db17827e32',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmod',['BIG_464_28_mod',['../big__464__28_8h.html#af6f49a71e883e9ff42d45cb1fca5b1f8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmod2m',['BIG_464_28_mod2m',['../big__464__28_8h.html#aaf2dea9e6b3d7fa77fb2d4d3750eaea8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmoddiv',['BIG_464_28_moddiv',['../big__464__28_8h.html#a09f811df3d755158129e74d177b46e09',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmodmul',['BIG_464_28_modmul',['../big__464__28_8h.html#ab58a6bfae78e1d113abbbfa0d199d046',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmodneg',['BIG_464_28_modneg',['../big__464__28_8h.html#a38477a1c29950844dae83e54762d7636',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmodsqr',['BIG_464_28_modsqr',['../big__464__28_8h.html#a1444f02a8698df8cd4a8df0a264491b3',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmonty',['BIG_464_28_monty',['../big__464__28_8h.html#a1161b90af288b686285f7aab9df75df7',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmul',['BIG_464_28_mul',['../big__464__28_8h.html#ad96f164178ce52f172cbba1b17f420cf',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fnbits',['BIG_464_28_nbits',['../big__464__28_8h.html#a116b4c674537ef9d628eebe6574fa832',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fnorm',['BIG_464_28_norm',['../big__464__28_8h.html#af1fbd32c0654114ba9245eccbcf9ea88',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fone',['BIG_464_28_one',['../big__464__28_8h.html#a7b3d04101d10292b4a770e1bc36742b4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5for',['BIG_464_28_or',['../big__464__28_8h.html#ad6d1592b8d0831e8ad9f06787c923f84',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5foutput',['BIG_464_28_output',['../big__464__28_8h.html#a9148d5caf89ac973eb08609d1fffe3e4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fparity',['BIG_464_28_parity',['../big__464__28_8h.html#adaaebe9d8ab81efb52a36f361711271e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fpmul',['BIG_464_28_pmul',['../big__464__28_8h.html#a593691880b601f49a4d5729d1dba4a36',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fpxmul',['BIG_464_28_pxmul',['../big__464__28_8h.html#a00cd551dc06b7b8b2b1ea60b9cf020c0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frandom',['BIG_464_28_random',['../big__464__28_8h.html#a18bd5806011167de705ee8a8b12909e8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frandomnum',['BIG_464_28_randomnum',['../big__464__28_8h.html#a76a41d4d9a00d21e254d29b3b904073c',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frawoutput',['BIG_464_28_rawoutput',['../big__464__28_8h.html#ab89c9021dadc336a7fa1c6af40245c20',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frcopy',['BIG_464_28_rcopy',['../big__464__28_8h.html#a62c6093e1cc70855cae598b00aa4cf9e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsdcopy',['BIG_464_28_sdcopy',['../big__464__28_8h.html#a9a74eb10b128a46c8b8adec292084f45',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsdiv',['BIG_464_28_sdiv',['../big__464__28_8h.html#a3b04a0e4d1d079387882ad08e8b67ed0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsducopy',['BIG_464_28_sducopy',['../big__464__28_8h.html#a3f370670a174f88a173226380301335e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fshl',['BIG_464_28_shl',['../big__464__28_8h.html#a96412ef30ce1ca08ec5547dc6b145820',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fshr',['BIG_464_28_shr',['../big__464__28_8h.html#a6f46bdbe352a76c013a05210e0d8bb86',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsmul',['BIG_464_28_smul',['../big__464__28_8h.html#aadcd07f0bf2c54cbb0272ab1fef7bf45',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsplit',['BIG_464_28_split',['../big__464__28_8h.html#ab70364e09a711b31062bc77b9161e359',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsqr',['BIG_464_28_sqr',['../big__464__28_8h.html#a273f85591ba3854fb77e13cdf9157f74',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fssn',['BIG_464_28_ssn',['../big__464__28_8h.html#a97de430f46c1dc12ffc50d492bd028c4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsub',['BIG_464_28_sub',['../big__464__28_8h.html#a75d384b9c54453e80dbcb4aa9169770d',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ftobytes',['BIG_464_28_toBytes',['../big__464__28_8h.html#a514a3f6855c7f10e845254b77339b4ea',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fzero',['BIG_464_28_zero',['../big__464__28_8h.html#a6df0a73d7102378b62a7823388bd0902',1,'big_464_28.c']]],
   ['big_5f464_5f60',['BIG_464_60',['../big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93',1,'big_464_60.h']]],
   ['big_5f464_5f60_2eh',['big_464_60.h',['../big__464__60_8h.html',1,'']]],
   ['big_5f464_5f60_5fadd',['BIG_464_60_add',['../big__464__60_8h.html#a8b1eb35189d309774f2b4e7e26d2d62b',1,'big_464_60.c']]],
@@ -1248,7 +578,7 @@
   ['big_5f464_5f60_5ffshr',['BIG_464_60_fshr',['../big__464__60_8h.html#a2ca49c76a85de717c08b58fc2eefad3c',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fimul',['BIG_464_60_imul',['../big__464__60_8h.html#a6331455987958bf61858bb4ae2a79ad7',1,'big_464_60.c']]],
   ['big_5f464_5f60_5finc',['BIG_464_60_inc',['../big__464__60_8h.html#ac4d561b2c3fcce1abc59051389329dae',1,'big_464_60.c']]],
-  ['big_5f464_5f60_5finvmod2m',['BIG_464_60_invmod2m',['../big__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965',1,'big_464_60.h']]],
+  ['big_5f464_5f60_5finvmod2m',['BIG_464_60_invmod2m',['../big__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965',1,'big_464_60.c']]],
   ['big_5f464_5f60_5finvmodp',['BIG_464_60_invmodp',['../big__464__60_8h.html#ac6f8d5b3d4f46e3991a36b05b35d136e',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fisunity',['BIG_464_60_isunity',['../big__464__60_8h.html#a4576449859777f58064c4f8c545cf609',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fiszilch',['BIG_464_60_iszilch',['../big__464__60_8h.html#a64b1467a3b2428afcd4198e1709792ff',1,'big_464_60.c']]],
@@ -1286,79 +616,6 @@
   ['big_5f464_5f60_5fsub',['BIG_464_60_sub',['../big__464__60_8h.html#abf77bda3c29dff1f4b28572fd52f5045',1,'big_464_60.c']]],
   ['big_5f464_5f60_5ftobytes',['BIG_464_60_toBytes',['../big__464__60_8h.html#a4a393d4b95b22864983d214218abd31f',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fzero',['BIG_464_60_zero',['../big__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558',1,'big_464_60.c']]],
-  ['big_5f480_5f29',['BIG_480_29',['../big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff',1,'big_480_29.h']]],
-  ['big_5f480_5f29_2eh',['big_480_29.h',['../big__480__29_8h.html',1,'']]],
-  ['big_5f480_5f29_5fadd',['BIG_480_29_add',['../big__480__29_8h.html#a379dbde52cda7fb49d4763c21e4ade1f',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fbit',['BIG_480_29_bit',['../big__480__29_8h.html#a7ecd18fc05b954770738fcb645f39f0b',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcmove',['BIG_480_29_cmove',['../big__480__29_8h.html#a3b8880a571de4b2dc5f3f3296d1b443a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcomp',['BIG_480_29_comp',['../big__480__29_8h.html#af500bb84fd6877cdf1cb3ee20cf53870',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcopy',['BIG_480_29_copy',['../big__480__29_8h.html#aca52a0845f993936d234186a8fc40cb3',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcswap',['BIG_480_29_cswap',['../big__480__29_8h.html#a80cd574e62b21769aa661368ca0b73f5',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdadd',['BIG_480_29_dadd',['../big__480__29_8h.html#ace791cc8dec53e7d9c086cc9296603d7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdcmove',['BIG_480_29_dcmove',['../big__480__29_8h.html#afdad982a51c7a9efc7e80f6a7312acf4',1,'big_480_29.h']]],
-  ['big_5f480_5f29_5fdcomp',['BIG_480_29_dcomp',['../big__480__29_8h.html#a3459a4e91efa951d86431ef97993d768',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdcopy',['BIG_480_29_dcopy',['../big__480__29_8h.html#a8bee9574f49bad11d9c25d67efe10ab1',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fddiv',['BIG_480_29_ddiv',['../big__480__29_8h.html#a7b89d3fe28ea03c276552f41da06fdde',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdec',['BIG_480_29_dec',['../big__480__29_8h.html#afcd929b8b957a8c5d7b248baa4732a79',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdfrombyteslen',['BIG_480_29_dfromBytesLen',['../big__480__29_8h.html#a68f5a24d63b05fdd5fc4e98728f5e7d5',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdiszilch',['BIG_480_29_diszilch',['../big__480__29_8h.html#a6749c3bc67333990a3bd4c7f343bbfb2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdiv3',['BIG_480_29_div3',['../big__480__29_8h.html#a6f8b2b2a556243a6f9a9bd7e95851c9e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdmod',['BIG_480_29_dmod',['../big__480__29_8h.html#a7475db0ed75a962d7880d078730ce627',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdmod2m',['BIG_480_29_dmod2m',['../big__480__29_8h.html#a4741b70c40e4f0405ae22d40965bbed8',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdnbits',['BIG_480_29_dnbits',['../big__480__29_8h.html#afd823aae330f07224a7f0891cec24cca',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdnorm',['BIG_480_29_dnorm',['../big__480__29_8h.html#a50c682e6e693965f09a20b6512cd2ab8',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdoutput',['BIG_480_29_doutput',['../big__480__29_8h.html#a4ff4ce206cf12ab585ce89ae6d4ab5f9',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdrawoutput',['BIG_480_29_drawoutput',['../big__480__29_8h.html#a68af6d9980e360137b36903b19196631',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdscopy',['BIG_480_29_dscopy',['../big__480__29_8h.html#a40ccfa1143430d0878071677d1f1612f',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdshl',['BIG_480_29_dshl',['../big__480__29_8h.html#a5411cdc1ebac6da62d33cd7d2b22fafd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdshr',['BIG_480_29_dshr',['../big__480__29_8h.html#a258b8c20ce57bce8b1b6981b77282c3a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdsub',['BIG_480_29_dsub',['../big__480__29_8h.html#a95c51dd1666b7f8084ecc20ee14f8fea',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdsucopy',['BIG_480_29_dsucopy',['../big__480__29_8h.html#a59901c26ac1d1ea94412f88421881bca',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdzero',['BIG_480_29_dzero',['../big__480__29_8h.html#a69a8d5e328daf4b8b89070d54ed1d1a2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffrombytes',['BIG_480_29_fromBytes',['../big__480__29_8h.html#a68105b21a1d78444e54f3ed017ae5e69',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffrombyteslen',['BIG_480_29_fromBytesLen',['../big__480__29_8h.html#a90eb904d4f1aae9b7872f6dee98ce14e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffshl',['BIG_480_29_fshl',['../big__480__29_8h.html#a242edeb3a03d4decf1e3fa49aab994b7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffshr',['BIG_480_29_fshr',['../big__480__29_8h.html#a14e4ac8673cf47c1b10f318d3f4175a7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fimul',['BIG_480_29_imul',['../big__480__29_8h.html#a2b9c63b8fe90e41045e6078d584e7726',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5finc',['BIG_480_29_inc',['../big__480__29_8h.html#ad5a565020df281b4465e189c8d0633c1',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5finvmod2m',['BIG_480_29_invmod2m',['../big__480__29_8h.html#a6b3c5563be78cf18c6760c793bac949d',1,'big_480_29.h']]],
-  ['big_5f480_5f29_5finvmodp',['BIG_480_29_invmodp',['../big__480__29_8h.html#a90f031ccc185f63b7eab14fa70481dcb',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fisunity',['BIG_480_29_isunity',['../big__480__29_8h.html#a2f7933413edaf36c148c4608cc39a73e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fiszilch',['BIG_480_29_iszilch',['../big__480__29_8h.html#a8f4bd0c84cdc7c5dd9d7d355ece09592',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fjacobi',['BIG_480_29_jacobi',['../big__480__29_8h.html#a1e1df4be0527735fd48824b878f4cafd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5flastbits',['BIG_480_29_lastbits',['../big__480__29_8h.html#a02aca3e0e40a469c2c8c566f326e42d1',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmod',['BIG_480_29_mod',['../big__480__29_8h.html#afb25b3b566346dfa4ab23a97f65eb98e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmod2m',['BIG_480_29_mod2m',['../big__480__29_8h.html#ad0c703ded1cea62ad1e7b304b820811a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmoddiv',['BIG_480_29_moddiv',['../big__480__29_8h.html#a31bc510fb76b54775949627bdccfbf17',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmodmul',['BIG_480_29_modmul',['../big__480__29_8h.html#a6e195f2a08e5f39f98272904826e4458',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmodneg',['BIG_480_29_modneg',['../big__480__29_8h.html#a30769ad6586c737640a240cf44fe3ccd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmodsqr',['BIG_480_29_modsqr',['../big__480__29_8h.html#a15988e52f5c28d54576a5b3bf38c26e2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmonty',['BIG_480_29_monty',['../big__480__29_8h.html#aaa8b4145014c6f41aff5eeafa855d3d6',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmul',['BIG_480_29_mul',['../big__480__29_8h.html#a7a516f7c27d1f0e2c0843e9ef35a54e2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fnbits',['BIG_480_29_nbits',['../big__480__29_8h.html#ad7095568d9170f998ba8f123eeb57568',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fnorm',['BIG_480_29_norm',['../big__480__29_8h.html#aa7e71c50d2c580d5af8e2f8b9575b416',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fone',['BIG_480_29_one',['../big__480__29_8h.html#a2e7fabef7d1c61ae4042af344141f42f',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5for',['BIG_480_29_or',['../big__480__29_8h.html#acf692b4f12f87fc3557595c12ba197bd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5foutput',['BIG_480_29_output',['../big__480__29_8h.html#acf70eeae7372d5391d2c843af8b793da',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fparity',['BIG_480_29_parity',['../big__480__29_8h.html#a1f1f3335dacc43945f7c91dfb5b14336',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fpmul',['BIG_480_29_pmul',['../big__480__29_8h.html#a4f9e6a79551b466c4cfa0181754b5ec0',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fpxmul',['BIG_480_29_pxmul',['../big__480__29_8h.html#a48554072f9ef3a6252783ee43699a14c',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frandom',['BIG_480_29_random',['../big__480__29_8h.html#ae064909259a290fbe3f06e655931004d',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frandomnum',['BIG_480_29_randomnum',['../big__480__29_8h.html#a08a96bc628609eea00244c012a9c71ca',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frawoutput',['BIG_480_29_rawoutput',['../big__480__29_8h.html#addbfff9a15b9c7eb4edf59d029e6d007',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frcopy',['BIG_480_29_rcopy',['../big__480__29_8h.html#a61b7e3d5eb7d54a49623c77ca016336a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsdcopy',['BIG_480_29_sdcopy',['../big__480__29_8h.html#a508559243824b28d807bfaf5744019da',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsdiv',['BIG_480_29_sdiv',['../big__480__29_8h.html#a381ebe44f6a99233971636b17a85a402',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsducopy',['BIG_480_29_sducopy',['../big__480__29_8h.html#a87492be96bc427dcdb744de1dedef099',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fshl',['BIG_480_29_shl',['../big__480__29_8h.html#afe4ed6cab228d079ca7750bab1ed1bcd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fshr',['BIG_480_29_shr',['../big__480__29_8h.html#a23f804ba0312cfeb293f06d357d6cf35',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsmul',['BIG_480_29_smul',['../big__480__29_8h.html#a34882af2460305bf16480414780badb0',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsplit',['BIG_480_29_split',['../big__480__29_8h.html#a81c129c3ed195c0f71759176b101a9ae',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsqr',['BIG_480_29_sqr',['../big__480__29_8h.html#a71551882d4df9b786fcaca3b9e126e7d',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fssn',['BIG_480_29_ssn',['../big__480__29_8h.html#a59484329e57c3e9adcda23d371146a97',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsub',['BIG_480_29_sub',['../big__480__29_8h.html#a96788cbcbddfb54d28609d07876c90b7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ftobytes',['BIG_480_29_toBytes',['../big__480__29_8h.html#a8e8969807b8d6127aae5bb893c885a63',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fzero',['BIG_480_29_zero',['../big__480__29_8h.html#acba1143334c4c98bca59526829bae47d',1,'big_480_29.c']]],
   ['big_5f480_5f56',['BIG_480_56',['../big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba',1,'big_480_56.h']]],
   ['big_5f480_5f56_2eh',['big_480_56.h',['../big__480__56_8h.html',1,'']]],
   ['big_5f480_5f56_5fadd',['BIG_480_56_add',['../big__480__56_8h.html#a8e5257519818e87b2eead6faa1b6fa2d',1,'big_480_56.c']]],
@@ -1394,7 +651,7 @@
   ['big_5f480_5f56_5ffshr',['BIG_480_56_fshr',['../big__480__56_8h.html#a5e62a4f106f08e86c842a8ad431a880d',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fimul',['BIG_480_56_imul',['../big__480__56_8h.html#a6dfbd18b8fa18cdf69b51fb8fb4e2d08',1,'big_480_56.c']]],
   ['big_5f480_5f56_5finc',['BIG_480_56_inc',['../big__480__56_8h.html#a5a1efb721dac640b6d66204f06ba3097',1,'big_480_56.c']]],
-  ['big_5f480_5f56_5finvmod2m',['BIG_480_56_invmod2m',['../big__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da',1,'big_480_56.h']]],
+  ['big_5f480_5f56_5finvmod2m',['BIG_480_56_invmod2m',['../big__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da',1,'big_480_56.c']]],
   ['big_5f480_5f56_5finvmodp',['BIG_480_56_invmodp',['../big__480__56_8h.html#a4a2733d3a1d0765ce73273eda3e72d18',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fisunity',['BIG_480_56_isunity',['../big__480__56_8h.html#a97ee2f2834a8aeed7dbc84587eb13f3b',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fiszilch',['BIG_480_56_iszilch',['../big__480__56_8h.html#a50cb6208874f4bcec5a44e00f0bbf56a',1,'big_480_56.c']]],
@@ -1432,79 +689,6 @@
   ['big_5f480_5f56_5fsub',['BIG_480_56_sub',['../big__480__56_8h.html#ab508f60468bf615a84a75a77b7c6d6c7',1,'big_480_56.c']]],
   ['big_5f480_5f56_5ftobytes',['BIG_480_56_toBytes',['../big__480__56_8h.html#a9cf77f88cf8141aca7a62a5636517931',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fzero',['BIG_480_56_zero',['../big__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39',1,'big_480_56.c']]],
-  ['big_5f512_5f29',['BIG_512_29',['../big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2',1,'big_512_29.h']]],
-  ['big_5f512_5f29_2eh',['big_512_29.h',['../big__512__29_8h.html',1,'']]],
-  ['big_5f512_5f29_5fadd',['BIG_512_29_add',['../big__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fbit',['BIG_512_29_bit',['../big__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcmove',['BIG_512_29_cmove',['../big__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcomp',['BIG_512_29_comp',['../big__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcopy',['BIG_512_29_copy',['../big__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcswap',['BIG_512_29_cswap',['../big__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdadd',['BIG_512_29_dadd',['../big__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdcmove',['BIG_512_29_dcmove',['../big__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64',1,'big_512_29.h']]],
-  ['big_5f512_5f29_5fdcomp',['BIG_512_29_dcomp',['../big__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdcopy',['BIG_512_29_dcopy',['../big__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fddiv',['BIG_512_29_ddiv',['../big__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdec',['BIG_512_29_dec',['../big__512__29_8h.html#a623e829c317486582447b2a59b8839da',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdfrombyteslen',['BIG_512_29_dfromBytesLen',['../big__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdiszilch',['BIG_512_29_diszilch',['../big__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdiv3',['BIG_512_29_div3',['../big__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdmod',['BIG_512_29_dmod',['../big__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdmod2m',['BIG_512_29_dmod2m',['../big__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdnbits',['BIG_512_29_dnbits',['../big__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdnorm',['BIG_512_29_dnorm',['../big__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdoutput',['BIG_512_29_doutput',['../big__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdrawoutput',['BIG_512_29_drawoutput',['../big__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdscopy',['BIG_512_29_dscopy',['../big__512__29_8h.html#a63f756ee341108a1243525b79fae8071',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdshl',['BIG_512_29_dshl',['../big__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdshr',['BIG_512_29_dshr',['../big__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdsub',['BIG_512_29_dsub',['../big__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdsucopy',['BIG_512_29_dsucopy',['../big__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdzero',['BIG_512_29_dzero',['../big__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffrombytes',['BIG_512_29_fromBytes',['../big__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffrombyteslen',['BIG_512_29_fromBytesLen',['../big__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffshl',['BIG_512_29_fshl',['../big__512__29_8h.html#a4586281c3a555718580d243395c4e6ca',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffshr',['BIG_512_29_fshr',['../big__512__29_8h.html#a018725bccf723b24153ca3ba6831033a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fimul',['BIG_512_29_imul',['../big__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5finc',['BIG_512_29_inc',['../big__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5finvmod2m',['BIG_512_29_invmod2m',['../big__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9',1,'big_512_29.h']]],
-  ['big_5f512_5f29_5finvmodp',['BIG_512_29_invmodp',['../big__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fisunity',['BIG_512_29_isunity',['../big__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fiszilch',['BIG_512_29_iszilch',['../big__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fjacobi',['BIG_512_29_jacobi',['../big__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5flastbits',['BIG_512_29_lastbits',['../big__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmod',['BIG_512_29_mod',['../big__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmod2m',['BIG_512_29_mod2m',['../big__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmoddiv',['BIG_512_29_moddiv',['../big__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmodmul',['BIG_512_29_modmul',['../big__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmodneg',['BIG_512_29_modneg',['../big__512__29_8h.html#afd47bab847bdb38013c08105671f4721',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmodsqr',['BIG_512_29_modsqr',['../big__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmonty',['BIG_512_29_monty',['../big__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmul',['BIG_512_29_mul',['../big__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fnbits',['BIG_512_29_nbits',['../big__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fnorm',['BIG_512_29_norm',['../big__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fone',['BIG_512_29_one',['../big__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5for',['BIG_512_29_or',['../big__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5foutput',['BIG_512_29_output',['../big__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fparity',['BIG_512_29_parity',['../big__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fpmul',['BIG_512_29_pmul',['../big__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fpxmul',['BIG_512_29_pxmul',['../big__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frandom',['BIG_512_29_random',['../big__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frandomnum',['BIG_512_29_randomnum',['../big__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frawoutput',['BIG_512_29_rawoutput',['../big__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frcopy',['BIG_512_29_rcopy',['../big__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsdcopy',['BIG_512_29_sdcopy',['../big__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsdiv',['BIG_512_29_sdiv',['../big__512__29_8h.html#aef4408d8a5441e103299919094c7fb34',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsducopy',['BIG_512_29_sducopy',['../big__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fshl',['BIG_512_29_shl',['../big__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fshr',['BIG_512_29_shr',['../big__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsmul',['BIG_512_29_smul',['../big__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsplit',['BIG_512_29_split',['../big__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsqr',['BIG_512_29_sqr',['../big__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fssn',['BIG_512_29_ssn',['../big__512__29_8h.html#a09e401bfba7158e57df4160a21afca82',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsub',['BIG_512_29_sub',['../big__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ftobytes',['BIG_512_29_toBytes',['../big__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fzero',['BIG_512_29_zero',['../big__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01',1,'big_512_29.c']]],
   ['big_5f512_5f56',['BIG_512_56',['../big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c',1,'big_512_56.h']]],
   ['big_5f512_5f56_2eh',['big_512_56.h',['../big__512__56_8h.html',1,'']]],
   ['big_5f512_5f56_5fadd',['BIG_512_56_add',['../big__512__56_8h.html#a9d63ca24b476f341818792d36bced063',1,'big_512_56.c']]],
@@ -1540,7 +724,7 @@
   ['big_5f512_5f56_5ffshr',['BIG_512_56_fshr',['../big__512__56_8h.html#a017f4fbc93b39f7449f32e98c5b42caa',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fimul',['BIG_512_56_imul',['../big__512__56_8h.html#ad0d5e92eddf8ffb0887ba01b52ab64b2',1,'big_512_56.c']]],
   ['big_5f512_5f56_5finc',['BIG_512_56_inc',['../big__512__56_8h.html#ab8efbc4513b62ba29acb31422274031a',1,'big_512_56.c']]],
-  ['big_5f512_5f56_5finvmod2m',['BIG_512_56_invmod2m',['../big__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e',1,'big_512_56.h']]],
+  ['big_5f512_5f56_5finvmod2m',['BIG_512_56_invmod2m',['../big__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e',1,'big_512_56.c']]],
   ['big_5f512_5f56_5finvmodp',['BIG_512_56_invmodp',['../big__512__56_8h.html#aa53606a6b41f19e07fc7107e0e584cfb',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fisunity',['BIG_512_56_isunity',['../big__512__56_8h.html#a3340dedd669f14005a5fd1a8cb8034d3',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fiszilch',['BIG_512_56_iszilch',['../big__512__56_8h.html#a6c03cc064c9712a767314119a679973d',1,'big_512_56.c']]],
@@ -1613,7 +797,7 @@
   ['big_5f512_5f60_5ffshr',['BIG_512_60_fshr',['../big__512__60_8h.html#af237293c0f0514780c0f3176175b9d32',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fimul',['BIG_512_60_imul',['../big__512__60_8h.html#a542c4f90796443050e69e769c20d22b5',1,'big_512_60.c']]],
   ['big_5f512_5f60_5finc',['BIG_512_60_inc',['../big__512__60_8h.html#a35171cff61735ae65092bc6576ba2062',1,'big_512_60.c']]],
-  ['big_5f512_5f60_5finvmod2m',['BIG_512_60_invmod2m',['../big__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312',1,'ff_4096.c']]],
+  ['big_5f512_5f60_5finvmod2m',['BIG_512_60_invmod2m',['../big__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312',1,'big_512_60.c']]],
   ['big_5f512_5f60_5finvmodp',['BIG_512_60_invmodp',['../big__512__60_8h.html#ac646cd18f1c3bbc928afc97fc33a26a4',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fisunity',['BIG_512_60_isunity',['../big__512__60_8h.html#afc1b120837075b231e2a57423295266e',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fiszilch',['BIG_512_60_iszilch',['../big__512__60_8h.html#a7a1e0c2e0ee9e436e0cea761642dbf6f',1,'big_512_60.c']]],
@@ -1651,79 +835,6 @@
   ['big_5f512_5f60_5fsub',['BIG_512_60_sub',['../big__512__60_8h.html#a7d5787816e576176808e092c408a946c',1,'big_512_60.c']]],
   ['big_5f512_5f60_5ftobytes',['BIG_512_60_toBytes',['../big__512__60_8h.html#a96d33f801e30529795373c3ab5f8869c',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fzero',['BIG_512_60_zero',['../big__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478',1,'big_512_60.c']]],
-  ['big_5f528_5f28',['BIG_528_28',['../big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e',1,'big_528_28.h']]],
-  ['big_5f528_5f28_2eh',['big_528_28.h',['../big__528__28_8h.html',1,'']]],
-  ['big_5f528_5f28_5fadd',['BIG_528_28_add',['../big__528__28_8h.html#a7afd96bac59d42371b76b95890835631',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fbit',['BIG_528_28_bit',['../big__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcmove',['BIG_528_28_cmove',['../big__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcomp',['BIG_528_28_comp',['../big__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcopy',['BIG_528_28_copy',['../big__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcswap',['BIG_528_28_cswap',['../big__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdadd',['BIG_528_28_dadd',['../big__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdcmove',['BIG_528_28_dcmove',['../big__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2',1,'big_528_28.h']]],
-  ['big_5f528_5f28_5fdcomp',['BIG_528_28_dcomp',['../big__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdcopy',['BIG_528_28_dcopy',['../big__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fddiv',['BIG_528_28_ddiv',['../big__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdec',['BIG_528_28_dec',['../big__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdfrombyteslen',['BIG_528_28_dfromBytesLen',['../big__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdiszilch',['BIG_528_28_diszilch',['../big__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdiv3',['BIG_528_28_div3',['../big__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdmod',['BIG_528_28_dmod',['../big__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdmod2m',['BIG_528_28_dmod2m',['../big__528__28_8h.html#af647547e90a21cca1016b1250b841251',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdnbits',['BIG_528_28_dnbits',['../big__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdnorm',['BIG_528_28_dnorm',['../big__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdoutput',['BIG_528_28_doutput',['../big__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdrawoutput',['BIG_528_28_drawoutput',['../big__528__28_8h.html#a92d211f719b808f8bff3e5416485829a',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdscopy',['BIG_528_28_dscopy',['../big__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdshl',['BIG_528_28_dshl',['../big__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdshr',['BIG_528_28_dshr',['../big__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdsub',['BIG_528_28_dsub',['../big__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdsucopy',['BIG_528_28_dsucopy',['../big__528__28_8h.html#a3605d741288e107006f8a870c19b58d7',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdzero',['BIG_528_28_dzero',['../big__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffrombytes',['BIG_528_28_fromBytes',['../big__528__28_8h.html#a0ac81676878f639d380137b47dc640c1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffrombyteslen',['BIG_528_28_fromBytesLen',['../big__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffshl',['BIG_528_28_fshl',['../big__528__28_8h.html#ade0dcec6578773e4914666c864011bf4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffshr',['BIG_528_28_fshr',['../big__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fimul',['BIG_528_28_imul',['../big__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5finc',['BIG_528_28_inc',['../big__528__28_8h.html#aecc2507f27540e765099a45641bd1001',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5finvmod2m',['BIG_528_28_invmod2m',['../big__528__28_8h.html#a93e28db178c675ff24319a01869c67cf',1,'big_528_28.h']]],
-  ['big_5f528_5f28_5finvmodp',['BIG_528_28_invmodp',['../big__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fisunity',['BIG_528_28_isunity',['../big__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fiszilch',['BIG_528_28_iszilch',['../big__528__28_8h.html#a759b359beb86544bb4399e56b9370125',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fjacobi',['BIG_528_28_jacobi',['../big__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5flastbits',['BIG_528_28_lastbits',['../big__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmod',['BIG_528_28_mod',['../big__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmod2m',['BIG_528_28_mod2m',['../big__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmoddiv',['BIG_528_28_moddiv',['../big__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmodmul',['BIG_528_28_modmul',['../big__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmodneg',['BIG_528_28_modneg',['../big__528__28_8h.html#a869ba3a39774e991efc6c85072212231',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmodsqr',['BIG_528_28_modsqr',['../big__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmonty',['BIG_528_28_monty',['../big__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmul',['BIG_528_28_mul',['../big__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fnbits',['BIG_528_28_nbits',['../big__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fnorm',['BIG_528_28_norm',['../big__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fone',['BIG_528_28_one',['../big__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5for',['BIG_528_28_or',['../big__528__28_8h.html#a73d2125663f4285274f82da9cd465f31',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5foutput',['BIG_528_28_output',['../big__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fparity',['BIG_528_28_parity',['../big__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fpmul',['BIG_528_28_pmul',['../big__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fpxmul',['BIG_528_28_pxmul',['../big__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frandom',['BIG_528_28_random',['../big__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frandomnum',['BIG_528_28_randomnum',['../big__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frawoutput',['BIG_528_28_rawoutput',['../big__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frcopy',['BIG_528_28_rcopy',['../big__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsdcopy',['BIG_528_28_sdcopy',['../big__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsdiv',['BIG_528_28_sdiv',['../big__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsducopy',['BIG_528_28_sducopy',['../big__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fshl',['BIG_528_28_shl',['../big__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fshr',['BIG_528_28_shr',['../big__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsmul',['BIG_528_28_smul',['../big__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsplit',['BIG_528_28_split',['../big__528__28_8h.html#acfe96c94a11817c94683b605ec552af1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsqr',['BIG_528_28_sqr',['../big__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fssn',['BIG_528_28_ssn',['../big__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsub',['BIG_528_28_sub',['../big__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ftobytes',['BIG_528_28_toBytes',['../big__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fzero',['BIG_528_28_zero',['../big__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233',1,'big_528_28.c']]],
   ['big_5f528_5f60',['BIG_528_60',['../big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45',1,'big_528_60.h']]],
   ['big_5f528_5f60_2eh',['big_528_60.h',['../big__528__60_8h.html',1,'']]],
   ['big_5f528_5f60_5fadd',['BIG_528_60_add',['../big__528__60_8h.html#a2cf3a406c08eac4a7f60cb209eb032ab',1,'big_528_60.c']]],
@@ -1759,7 +870,7 @@
   ['big_5f528_5f60_5ffshr',['BIG_528_60_fshr',['../big__528__60_8h.html#ab581aaabf3f679fbd79b62924003ed94',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fimul',['BIG_528_60_imul',['../big__528__60_8h.html#a437761d0149ea3ac18dd5790504d8d05',1,'big_528_60.c']]],
   ['big_5f528_5f60_5finc',['BIG_528_60_inc',['../big__528__60_8h.html#ab538407c81f981ef61fb5a9542daa811',1,'big_528_60.c']]],
-  ['big_5f528_5f60_5finvmod2m',['BIG_528_60_invmod2m',['../big__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59',1,'big_528_60.h']]],
+  ['big_5f528_5f60_5finvmod2m',['BIG_528_60_invmod2m',['../big__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59',1,'big_528_60.c']]],
   ['big_5f528_5f60_5finvmodp',['BIG_528_60_invmodp',['../big__528__60_8h.html#a512117e6a7ea73a58b0a9b204edda624',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fisunity',['BIG_528_60_isunity',['../big__528__60_8h.html#a4a97711862b1cc33244171637681de99',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fiszilch',['BIG_528_60_iszilch',['../big__528__60_8h.html#a42fdaa52bc19aa6fca2e1eccfb386878',1,'big_528_60.c']]],
@@ -1797,79 +908,6 @@
   ['big_5f528_5f60_5fsub',['BIG_528_60_sub',['../big__528__60_8h.html#a66d8cba96f29d745eac30096f681af08',1,'big_528_60.c']]],
   ['big_5f528_5f60_5ftobytes',['BIG_528_60_toBytes',['../big__528__60_8h.html#ad4fc31837dd06b0c2e06b5eef3d8d1bf',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fzero',['BIG_528_60_zero',['../big__528__60_8h.html#ab27955873faca327f00f59d01f0fd316',1,'big_528_60.c']]],
-  ['big_5f560_5f29',['BIG_560_29',['../big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795',1,'big_560_29.h']]],
-  ['big_5f560_5f29_2eh',['big_560_29.h',['../big__560__29_8h.html',1,'']]],
-  ['big_5f560_5f29_5fadd',['BIG_560_29_add',['../big__560__29_8h.html#ae65e9996ba096849473662afb7105678',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fbit',['BIG_560_29_bit',['../big__560__29_8h.html#a89a8e99224c79e20a83f65e950f50140',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcmove',['BIG_560_29_cmove',['../big__560__29_8h.html#a08c0a219dcc9ba548194f3fb07ddd338',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcomp',['BIG_560_29_comp',['../big__560__29_8h.html#a5e71aecc096e5d0cf8abb41ef467280c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcopy',['BIG_560_29_copy',['../big__560__29_8h.html#a51f1a538cd2acd170c64f333bbf9ef38',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcswap',['BIG_560_29_cswap',['../big__560__29_8h.html#a5986aced3f00297a9b7aefa2088a2aa0',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdadd',['BIG_560_29_dadd',['../big__560__29_8h.html#a4a6546b6be50aa0ed327cae3a76e45b2',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdcmove',['BIG_560_29_dcmove',['../big__560__29_8h.html#a70647835b3562e8015dca7f80f008b66',1,'big_560_29.h']]],
-  ['big_5f560_5f29_5fdcomp',['BIG_560_29_dcomp',['../big__560__29_8h.html#ad1fa33c289213fb0c9546e58a682f39b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdcopy',['BIG_560_29_dcopy',['../big__560__29_8h.html#a0441ea3e88f376aa446b21393a78d818',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fddiv',['BIG_560_29_ddiv',['../big__560__29_8h.html#a63a2a4340ec906ef4edafd8cdda5ecd1',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdec',['BIG_560_29_dec',['../big__560__29_8h.html#a33a5c0c69dd8d1efc4c8e665eeff8b9b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdfrombyteslen',['BIG_560_29_dfromBytesLen',['../big__560__29_8h.html#af2b12cf78dd1bda266eed46c74aaa401',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdiszilch',['BIG_560_29_diszilch',['../big__560__29_8h.html#aa8dcbefb1a36e50d3f9b241573ef9a07',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdiv3',['BIG_560_29_div3',['../big__560__29_8h.html#ac248bd7812fdb863cf77da864d006547',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdmod',['BIG_560_29_dmod',['../big__560__29_8h.html#a0145ff9aba864d2e93d34044ab35b0b3',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdmod2m',['BIG_560_29_dmod2m',['../big__560__29_8h.html#abfb7a14c67bc951d22fb8646caa80949',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdnbits',['BIG_560_29_dnbits',['../big__560__29_8h.html#a96f414c632beb42afa3b18803e3c1c02',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdnorm',['BIG_560_29_dnorm',['../big__560__29_8h.html#a5a1d428f6a3948985ef7ecee44b1ed90',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdoutput',['BIG_560_29_doutput',['../big__560__29_8h.html#a3532414b33ec5c454d2aa69450a71e3b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdrawoutput',['BIG_560_29_drawoutput',['../big__560__29_8h.html#a819c27b791c06a68c885c3bac71ed026',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdscopy',['BIG_560_29_dscopy',['../big__560__29_8h.html#a0e2ca1c8b0e5004d89eb25f7fbe1413a',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdshl',['BIG_560_29_dshl',['../big__560__29_8h.html#a2a7dc62a5c174e03456b3df7de48c7d0',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdshr',['BIG_560_29_dshr',['../big__560__29_8h.html#a4d4cfcf637b71a4fc532c5d8ed04b6be',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdsub',['BIG_560_29_dsub',['../big__560__29_8h.html#a4f9c5cbd7a7139c9e57612b6371edd2f',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdsucopy',['BIG_560_29_dsucopy',['../big__560__29_8h.html#aaa5770a5f1eb5f3520f5af8673d621e3',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdzero',['BIG_560_29_dzero',['../big__560__29_8h.html#a35ed74837f580f23ae25b217cb80a7c4',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffrombytes',['BIG_560_29_fromBytes',['../big__560__29_8h.html#a8fa45c00b5827a65847d7f4a09cb296f',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffrombyteslen',['BIG_560_29_fromBytesLen',['../big__560__29_8h.html#a5e21437235e92875a043ef7b29d0e54c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffshl',['BIG_560_29_fshl',['../big__560__29_8h.html#a469fb92dfb3cfad74782399dfa4c0ea7',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffshr',['BIG_560_29_fshr',['../big__560__29_8h.html#a87bbbb471bd5640d81799ae94d459a89',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fimul',['BIG_560_29_imul',['../big__560__29_8h.html#a7375b371afca2493f289e566e773ca4a',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5finc',['BIG_560_29_inc',['../big__560__29_8h.html#aadc38ea4dbbbcf952ca5c939c7afc661',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5finvmod2m',['BIG_560_29_invmod2m',['../big__560__29_8h.html#a0c147e73b0bae9635bee593175774f0c',1,'big_560_29.h']]],
-  ['big_5f560_5f29_5finvmodp',['BIG_560_29_invmodp',['../big__560__29_8h.html#a00a5f8b23c288c2448ddb2d88d315b21',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fisunity',['BIG_560_29_isunity',['../big__560__29_8h.html#a2a5cdd4dfe0e6aba419a75f49243ad43',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fiszilch',['BIG_560_29_iszilch',['../big__560__29_8h.html#afb68b5fa13e176d7e32a2057b71ac780',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fjacobi',['BIG_560_29_jacobi',['../big__560__29_8h.html#acabe4baa29863ad5559020c8f2136d9f',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5flastbits',['BIG_560_29_lastbits',['../big__560__29_8h.html#ad8abd5137561bfed04669cf96c259781',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmod',['BIG_560_29_mod',['../big__560__29_8h.html#afac3c76a8f4e070630b0e548f23ef358',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmod2m',['BIG_560_29_mod2m',['../big__560__29_8h.html#ad8b4f3bcef2aa611363bb7afd3477c37',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmoddiv',['BIG_560_29_moddiv',['../big__560__29_8h.html#af4275b84bb243a4299a8fbae6c594db1',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmodmul',['BIG_560_29_modmul',['../big__560__29_8h.html#a1efc3b09f5b07ca7a559d83e76acbe57',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmodneg',['BIG_560_29_modneg',['../big__560__29_8h.html#a5a8cb966bd251bd9b28c447e67ef41e8',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmodsqr',['BIG_560_29_modsqr',['../big__560__29_8h.html#a21e87e8bf1b42f00087e74ae6102ba8c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmonty',['BIG_560_29_monty',['../big__560__29_8h.html#adcbe9492816b75278b278758fe1c21bb',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmul',['BIG_560_29_mul',['../big__560__29_8h.html#a57ee8eed41be0783324dbeea72e1078d',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fnbits',['BIG_560_29_nbits',['../big__560__29_8h.html#a5a29d5bcaa2299f1f7ab4c322a2df907',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fnorm',['BIG_560_29_norm',['../big__560__29_8h.html#aefd62aa61037b77a52b931b51787e921',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fone',['BIG_560_29_one',['../big__560__29_8h.html#aecec4cf34ec7476ce48f085f126674fd',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5for',['BIG_560_29_or',['../big__560__29_8h.html#a23fb2086d698b03e3b409b6f0c0a80dc',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5foutput',['BIG_560_29_output',['../big__560__29_8h.html#a5057ccb43e0e7eb9f8aea795ac62aaa7',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fparity',['BIG_560_29_parity',['../big__560__29_8h.html#a4db725f0b9ebdb8bd9ef87a31e83300d',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fpmul',['BIG_560_29_pmul',['../big__560__29_8h.html#a8bbbc9bb0aeb3ea59aed8007ea9ae266',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fpxmul',['BIG_560_29_pxmul',['../big__560__29_8h.html#a6d61085a3a76337a0d82ac3e65fb6026',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frandom',['BIG_560_29_random',['../big__560__29_8h.html#adafd6f05406b9a591aa971cba0825c6c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frandomnum',['BIG_560_29_randomnum',['../big__560__29_8h.html#a8fe1cf5b87b4db63ff9234829408ccc7',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frawoutput',['BIG_560_29_rawoutput',['../big__560__29_8h.html#a5bc5722658a94b5247a1609571487fe0',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frcopy',['BIG_560_29_rcopy',['../big__560__29_8h.html#a2067a272be66e61ffa263db0489932f8',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsdcopy',['BIG_560_29_sdcopy',['../big__560__29_8h.html#a775faf413caafab161a9b40473957476',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsdiv',['BIG_560_29_sdiv',['../big__560__29_8h.html#a7751e56b7afb898f804bd614cdce0f11',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsducopy',['BIG_560_29_sducopy',['../big__560__29_8h.html#ab6b90ba76c93b712c79ecf0fa4c11a85',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fshl',['BIG_560_29_shl',['../big__560__29_8h.html#a948b32e26c4c4551351ff9fc68ea4822',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fshr',['BIG_560_29_shr',['../big__560__29_8h.html#a5c2b4afaef6383d924f8d87d8b03942b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsmul',['BIG_560_29_smul',['../big__560__29_8h.html#aa708c4c1eea0d5af0b43e82f061f854a',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsplit',['BIG_560_29_split',['../big__560__29_8h.html#a19241dcc77b787b493370d3a3e657259',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsqr',['BIG_560_29_sqr',['../big__560__29_8h.html#a867fd42d71918d1db92cf4934bf882c5',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fssn',['BIG_560_29_ssn',['../big__560__29_8h.html#a3e07a3bbd83a0d6630106c726e58c828',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsub',['BIG_560_29_sub',['../big__560__29_8h.html#a587bc2e12545c048659aaa3eb5c68315',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ftobytes',['BIG_560_29_toBytes',['../big__560__29_8h.html#a54e02dc726f8824e62759a2fa14b59a5',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fzero',['BIG_560_29_zero',['../big__560__29_8h.html#a464cd2642cf515bdafe4946d818de6df',1,'big_560_29.c']]],
   ['big_5f560_5f58',['BIG_560_58',['../big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30',1,'big_560_58.h']]],
   ['big_5f560_5f58_2eh',['big_560_58.h',['../big__560__58_8h.html',1,'']]],
   ['big_5f560_5f58_5fadd',['BIG_560_58_add',['../big__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c',1,'big_560_58.c']]],
@@ -1905,7 +943,7 @@
   ['big_5f560_5f58_5ffshr',['BIG_560_58_fshr',['../big__560__58_8h.html#a70dfa08b161ea2ee689a1dde4e1a8d6d',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fimul',['BIG_560_58_imul',['../big__560__58_8h.html#a4f84bbe855c1c3f4018db855ea8c3321',1,'big_560_58.c']]],
   ['big_5f560_5f58_5finc',['BIG_560_58_inc',['../big__560__58_8h.html#af00a90d21a75db5f737f513da2c59364',1,'big_560_58.c']]],
-  ['big_5f560_5f58_5finvmod2m',['BIG_560_58_invmod2m',['../big__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a',1,'big_560_58.h']]],
+  ['big_5f560_5f58_5finvmod2m',['BIG_560_58_invmod2m',['../big__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a',1,'big_560_58.c']]],
   ['big_5f560_5f58_5finvmodp',['BIG_560_58_invmodp',['../big__560__58_8h.html#a15ca0de7d97b9ca788e3ab3686d6b723',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fisunity',['BIG_560_58_isunity',['../big__560__58_8h.html#a02b88360183b0b0286799b49f6eea012',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fiszilch',['BIG_560_58_iszilch',['../big__560__58_8h.html#a2916cb489d9285e99bbcf90d357c3099',1,'big_560_58.c']]],
@@ -1943,115 +981,116 @@
   ['big_5f560_5f58_5fsub',['BIG_560_58_sub',['../big__560__58_8h.html#af91fcd4ebf013d52952b62ce4dd5bd30',1,'big_560_58.c']]],
   ['big_5f560_5f58_5ftobytes',['BIG_560_58_toBytes',['../big__560__58_8h.html#aab3994b47d2707e5a9cabf1169e10064',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fzero',['BIG_560_58_zero',['../big__560__58_8h.html#a263ac166e4e3b19f8dfa5e20c6f87d69',1,'big_560_58.c']]],
-  ['bigbits_5f1024_5f28',['BIGBITS_1024_28',['../big__1024__28_8h.html#a5e823eda976231f0b203b47b75115f75',1,'big_1024_28.h']]],
   ['bigbits_5f1024_5f58',['BIGBITS_1024_58',['../big__1024__58_8h.html#a65bdfd2b6b38168e8bcd9f1af013c7b5',1,'big_1024_58.h']]],
-  ['bigbits_5f256_5f28',['BIGBITS_256_28',['../big__256__28_8h.html#a7ead2232fb4a739ef8f73c3fefd48f29',1,'big_256_28.h']]],
-  ['bigbits_5f256_5f29',['BIGBITS_256_29',['../big__256__29_8h.html#a6863374287d6031d9e1d8190b0d87205',1,'big_256_29.h']]],
   ['bigbits_5f256_5f56',['BIGBITS_256_56',['../big__256__56_8h.html#a1a77f9a8aca3f6f0a3a3c95a129c6142',1,'big_256_56.h']]],
-  ['bigbits_5f336_5f29',['BIGBITS_336_29',['../big__336__29_8h.html#a387bb8aca1a20d3a37bdc32c5d62fb19',1,'big_336_29.h']]],
   ['bigbits_5f336_5f60',['BIGBITS_336_60',['../big__336__60_8h.html#a3f52e43a01b810e38e5ef9ba558a23cb',1,'big_336_60.h']]],
-  ['bigbits_5f384_5f28',['BIGBITS_384_28',['../big__384__28_8h.html#a8f05d26a410dd97379ac2651922a6449',1,'big_384_28.h']]],
-  ['bigbits_5f384_5f29',['BIGBITS_384_29',['../big__384__29_8h.html#a5feb1f06130ed84f11090989e07af7b2',1,'big_384_29.h']]],
   ['bigbits_5f384_5f56',['BIGBITS_384_56',['../big__384__56_8h.html#a6e1353243985f68f42cdf9be09b90141',1,'big_384_56.h']]],
   ['bigbits_5f384_5f58',['BIGBITS_384_58',['../big__384__58_8h.html#af101e9b3ede482bfe16e1ddab5bf39bb',1,'big_384_58.h']]],
-  ['bigbits_5f416_5f29',['BIGBITS_416_29',['../big__416__29_8h.html#aa20947ce69e7c08ec647e7bfae4640ba',1,'big_416_29.h']]],
   ['bigbits_5f416_5f60',['BIGBITS_416_60',['../big__416__60_8h.html#a9994d8070f1ce0d6ea213808cbd0fd69',1,'big_416_60.h']]],
-  ['bigbits_5f448_5f29',['BIGBITS_448_29',['../big__448__29_8h.html#a7a5a3ffd6671b7e3013edefee432cf3d',1,'big_448_29.h']]],
   ['bigbits_5f448_5f58',['BIGBITS_448_58',['../big__448__58_8h.html#a2be308d1a50b450fe8b0d8a87f4bd842',1,'big_448_58.h']]],
-  ['bigbits_5f464_5f28',['BIGBITS_464_28',['../big__464__28_8h.html#a321939982219e2b95cfd0896c23b70df',1,'big_464_28.h']]],
   ['bigbits_5f464_5f60',['BIGBITS_464_60',['../big__464__60_8h.html#af7ba4d5ab54089d4e31347acd281e097',1,'big_464_60.h']]],
-  ['bigbits_5f480_5f29',['BIGBITS_480_29',['../big__480__29_8h.html#a968e298d329bd9c537cae67bca92ec33',1,'big_480_29.h']]],
   ['bigbits_5f480_5f56',['BIGBITS_480_56',['../big__480__56_8h.html#a54f63b6871b5f0d5d5470ce09667c2e8',1,'big_480_56.h']]],
-  ['bigbits_5f512_5f29',['BIGBITS_512_29',['../big__512__29_8h.html#a4ddec2d6c6f7f1609ded4668d1d73c6a',1,'big_512_29.h']]],
   ['bigbits_5f512_5f56',['BIGBITS_512_56',['../big__512__56_8h.html#a0db657df710516e21bc7c3a30ebaca9c',1,'big_512_56.h']]],
   ['bigbits_5f512_5f60',['BIGBITS_512_60',['../big__512__60_8h.html#a4454ac6a7c8674732938e8365996729a',1,'big_512_60.h']]],
-  ['bigbits_5f528_5f28',['BIGBITS_528_28',['../big__528__28_8h.html#a0525b6e9fdd66250ad0a082d4b43452c',1,'big_528_28.h']]],
   ['bigbits_5f528_5f60',['BIGBITS_528_60',['../big__528__60_8h.html#ab23dce98483079baad467cb7d98d8edf',1,'big_528_60.h']]],
-  ['bigbits_5f560_5f29',['BIGBITS_560_29',['../big__560__29_8h.html#a02bdf4e3336ecd6241c01b103495ca3f',1,'big_560_29.h']]],
   ['bigbits_5f560_5f58',['BIGBITS_560_58',['../big__560__58_8h.html#a485d9ac4165cf3e0b0d471a21c161a89',1,'big_560_58.h']]],
   ['bls192_5fbls24_2eh',['bls192_BLS24.h',['../bls192__BLS24_8h.html',1,'']]],
   ['bls256_5fbls48_2eh',['bls256_BLS48.h',['../bls256__BLS48_8h.html',1,'']]],
   ['bls_5fbls24_5fadd_5fg1',['BLS_BLS24_ADD_G1',['../bls192__BLS24_8h.html#a74f85dd3448d0d41f9a1677a6a3ad582',1,'bls192_BLS24.c']]],
   ['bls_5fbls24_5fadd_5fg2',['BLS_BLS24_ADD_G2',['../bls192__BLS24_8h.html#ad2cde91c5e007bf3ac9918e2bc9db6b7',1,'bls192_BLS24.c']]],
   ['bls_5fbls24_5fkey_5fpair_5fgenerate',['BLS_BLS24_KEY_PAIR_GENERATE',['../bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c',1,'bls192_BLS24.c']]],
-  ['bls_5fbls24_5fsign',['BLS_BLS24_SIGN',['../bls192__BLS24_8h.html#a79cbcdfdb4aef90e5e8d02fbc08dd726',1,'bls192_BLS24.c']]],
-  ['bls_5fbls24_5fverify',['BLS_BLS24_VERIFY',['../bls192__BLS24_8h.html#ae167d4ff813dd451b8f9c1e54c041a85',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5fmake_5fshares',['BLS_BLS24_MAKE_SHARES',['../bls192__BLS24_8h.html#ade4309880d21334a7b64e1ef6204d586',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5frecover_5fsecret',['BLS_BLS24_RECOVER_SECRET',['../bls192__BLS24_8h.html#a63ccbbd1e272ba050ebc688de8f9381a',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5frecover_5fsignature',['BLS_BLS24_RECOVER_SIGNATURE',['../bls192__BLS24_8h.html#a51b37e19ec601e7d90d5a65127dc6097',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5fsign',['BLS_BLS24_SIGN',['../bls192__BLS24_8h.html#ace586ee37e95cf2e2b67b9232c5c4bc5',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5fverify',['BLS_BLS24_VERIFY',['../bls192__BLS24_8h.html#a888e6668b6240c162677d5ea4875b417',1,'bls192_BLS24.c']]],
   ['bls_5fbls381_2eh',['bls_BLS381.h',['../bls__BLS381_8h.html',1,'']]],
   ['bls_5fbls381_5fadd_5fg1',['BLS_BLS381_ADD_G1',['../bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f',1,'bls_BLS381.c']]],
   ['bls_5fbls381_5fadd_5fg2',['BLS_BLS381_ADD_G2',['../bls__BLS381_8h.html#aef70663c71066d65219b53832162dd3c',1,'bls_BLS381.c']]],
   ['bls_5fbls381_5fkey_5fpair_5fgenerate',['BLS_BLS381_KEY_PAIR_GENERATE',['../bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111',1,'bls_BLS381.c']]],
-  ['bls_5fbls381_5fsign',['BLS_BLS381_SIGN',['../bls__BLS381_8h.html#abe8ca90d166aa1ea6ee432290bdbcdd4',1,'bls_BLS381.c']]],
-  ['bls_5fbls381_5fverify',['BLS_BLS381_VERIFY',['../bls__BLS381_8h.html#a16a1ea68ef8fd07379dea104d1da954c',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5fmake_5fshares',['BLS_BLS381_MAKE_SHARES',['../bls__BLS381_8h.html#abc73fc44019239a33302da199e198624',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5frecover_5fsecret',['BLS_BLS381_RECOVER_SECRET',['../bls__BLS381_8h.html#a3bfe03702c6bb5140ea26c1e863476af',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5frecover_5fsignature',['BLS_BLS381_RECOVER_SIGNATURE',['../bls__BLS381_8h.html#a0bde1c6bf97c00da8b6020ba96711707',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5fsign',['BLS_BLS381_SIGN',['../bls__BLS381_8h.html#a24b33bf05c6df70cd1152d513fbc464c',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5fverify',['BLS_BLS381_VERIFY',['../bls__BLS381_8h.html#af5c1fa6e4349a4c5d36d46cbb0a9d454',1,'bls_BLS381.c']]],
   ['bls_5fbls383_2eh',['bls_BLS383.h',['../bls__BLS383_8h.html',1,'']]],
   ['bls_5fbls383_5fadd_5fg1',['BLS_BLS383_ADD_G1',['../bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047',1,'bls_BLS383.c']]],
   ['bls_5fbls383_5fadd_5fg2',['BLS_BLS383_ADD_G2',['../bls__BLS383_8h.html#a59864c22372e6096b50bb8a8a43c3cab',1,'bls_BLS383.c']]],
   ['bls_5fbls383_5fkey_5fpair_5fgenerate',['BLS_BLS383_KEY_PAIR_GENERATE',['../bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97',1,'bls_BLS383.c']]],
-  ['bls_5fbls383_5fsign',['BLS_BLS383_SIGN',['../bls__BLS383_8h.html#a1d383ff4c866b7c7e4a4db653cfffc0b',1,'bls_BLS383.c']]],
-  ['bls_5fbls383_5fverify',['BLS_BLS383_VERIFY',['../bls__BLS383_8h.html#a3d85ac20f750866e30664de951009141',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5fmake_5fshares',['BLS_BLS383_MAKE_SHARES',['../bls__BLS383_8h.html#a165fdb46f1f82e986657168266b707bc',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5frecover_5fsecret',['BLS_BLS383_RECOVER_SECRET',['../bls__BLS383_8h.html#ad0f5bdfdb1c6c1897f000d0491d582fb',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5frecover_5fsignature',['BLS_BLS383_RECOVER_SIGNATURE',['../bls__BLS383_8h.html#a0d8e6fd8970b6f5f7a7aeafe881f6dba',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5fsign',['BLS_BLS383_SIGN',['../bls__BLS383_8h.html#a035379af6cbcbb1fa769e3b10d3465c1',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5fverify',['BLS_BLS383_VERIFY',['../bls__BLS383_8h.html#a066716fed2f9dee626d6b43c592d6771',1,'bls_BLS383.c']]],
   ['bls_5fbls461_2eh',['bls_BLS461.h',['../bls__BLS461_8h.html',1,'']]],
   ['bls_5fbls461_5fadd_5fg1',['BLS_BLS461_ADD_G1',['../bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb',1,'bls_BLS461.c']]],
   ['bls_5fbls461_5fadd_5fg2',['BLS_BLS461_ADD_G2',['../bls__BLS461_8h.html#adb9b2baff7779fb24a76c5fde8f08b7e',1,'bls_BLS461.c']]],
   ['bls_5fbls461_5fkey_5fpair_5fgenerate',['BLS_BLS461_KEY_PAIR_GENERATE',['../bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d',1,'bls_BLS461.c']]],
-  ['bls_5fbls461_5fsign',['BLS_BLS461_SIGN',['../bls__BLS461_8h.html#a9f8ad4d96944199eeeb56aa00f635687',1,'bls_BLS461.c']]],
-  ['bls_5fbls461_5fverify',['BLS_BLS461_VERIFY',['../bls__BLS461_8h.html#a299f6a77664cc94291edbcf2a9a580c4',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5fmake_5fshares',['BLS_BLS461_MAKE_SHARES',['../bls__BLS461_8h.html#a4b5381be8ae73b626601b6aeb34b0e1c',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5frecover_5fsecret',['BLS_BLS461_RECOVER_SECRET',['../bls__BLS461_8h.html#aecd2988e567295aaa7020e96739b7e0f',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5frecover_5fsignature',['BLS_BLS461_RECOVER_SIGNATURE',['../bls__BLS461_8h.html#ac9f911283da8978a6d54e054b2b28697',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5fsign',['BLS_BLS461_SIGN',['../bls__BLS461_8h.html#aff825f53a175ac64da3be3c9e5edd59f',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5fverify',['BLS_BLS461_VERIFY',['../bls__BLS461_8h.html#a8b58b365bb7bd0365947da6206135941',1,'bls_BLS461.c']]],
   ['bls_5fbls48_5fadd_5fg1',['BLS_BLS48_ADD_G1',['../bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e',1,'bls256_BLS48.c']]],
   ['bls_5fbls48_5fadd_5fg2',['BLS_BLS48_ADD_G2',['../bls256__BLS48_8h.html#acb44039e4daf6fe37c1284602e91a5f4',1,'bls256_BLS48.c']]],
   ['bls_5fbls48_5fkey_5fpair_5fgenerate',['BLS_BLS48_KEY_PAIR_GENERATE',['../bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4',1,'bls256_BLS48.c']]],
-  ['bls_5fbls48_5fsign',['BLS_BLS48_SIGN',['../bls256__BLS48_8h.html#aca4a3373e24203541075a1242d469b48',1,'bls256_BLS48.c']]],
-  ['bls_5fbls48_5fverify',['BLS_BLS48_VERIFY',['../bls256__BLS48_8h.html#a1a63c26de2f02ed7529f3df2621d515e',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5fmake_5fshares',['BLS_BLS48_MAKE_SHARES',['../bls256__BLS48_8h.html#af89c4de4e305481b2e00f3c2bb7c273b',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5frecover_5fsecret',['BLS_BLS48_RECOVER_SECRET',['../bls256__BLS48_8h.html#abcf69b92459f13cfbd3f92c206d5deb2',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5frecover_5fsignature',['BLS_BLS48_RECOVER_SIGNATURE',['../bls256__BLS48_8h.html#a8618134ddcf63d134af292852734ff24',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5fsign',['BLS_BLS48_SIGN',['../bls256__BLS48_8h.html#a7ac05c21fd4050a821b151ccfca038db',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5fverify',['BLS_BLS48_VERIFY',['../bls256__BLS48_8h.html#a662d6fc737881dfeb9b4df7508d67c25',1,'bls256_BLS48.c']]],
   ['bls_5fbn254_2eh',['bls_BN254.h',['../bls__BN254_8h.html',1,'']]],
   ['bls_5fbn254_5fadd_5fg1',['BLS_BN254_ADD_G1',['../bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0',1,'bls_BN254.c']]],
   ['bls_5fbn254_5fadd_5fg2',['BLS_BN254_ADD_G2',['../bls__BN254_8h.html#a1d3d52cb10930fd4ea541d39ac29c4e2',1,'bls_BN254.c']]],
   ['bls_5fbn254_5fkey_5fpair_5fgenerate',['BLS_BN254_KEY_PAIR_GENERATE',['../bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036',1,'bls_BN254.c']]],
-  ['bls_5fbn254_5fsign',['BLS_BN254_SIGN',['../bls__BN254_8h.html#a90c9bc4b90f94913cd18c6e98e021ee0',1,'bls_BN254.c']]],
-  ['bls_5fbn254_5fverify',['BLS_BN254_VERIFY',['../bls__BN254_8h.html#a83112996c1c147a42a23ffb186924017',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5fmake_5fshares',['BLS_BN254_MAKE_SHARES',['../bls__BN254_8h.html#a857a1e998e2aa2f954899e8e179bf1dd',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5frecover_5fsecret',['BLS_BN254_RECOVER_SECRET',['../bls__BN254_8h.html#a7f1095cf77f84b79dd6d9db2c6df2022',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5frecover_5fsignature',['BLS_BN254_RECOVER_SIGNATURE',['../bls__BN254_8h.html#a77a7b86612258446419fa1bc592ab397',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5fsign',['BLS_BN254_SIGN',['../bls__BN254_8h.html#a5ae7e925844eb58dc8ad104d18e92bb9',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5fverify',['BLS_BN254_VERIFY',['../bls__BN254_8h.html#a5f94d1fc3631280015e93174db72ed5c',1,'bls_BN254.c']]],
   ['bls_5fbn254cx_2eh',['bls_BN254CX.h',['../bls__BN254CX_8h.html',1,'']]],
   ['bls_5fbn254cx_5fadd_5fg1',['BLS_BN254CX_ADD_G1',['../bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa',1,'bls_BN254CX.c']]],
   ['bls_5fbn254cx_5fadd_5fg2',['BLS_BN254CX_ADD_G2',['../bls__BN254CX_8h.html#a3bad477dfc0f80e8cd00e79043b380bb',1,'bls_BN254CX.c']]],
   ['bls_5fbn254cx_5fkey_5fpair_5fgenerate',['BLS_BN254CX_KEY_PAIR_GENERATE',['../bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550',1,'bls_BN254CX.c']]],
-  ['bls_5fbn254cx_5fsign',['BLS_BN254CX_SIGN',['../bls__BN254CX_8h.html#a20fe77510d7a7f34e8dfd3af5c76268f',1,'bls_BN254CX.c']]],
-  ['bls_5fbn254cx_5fverify',['BLS_BN254CX_VERIFY',['../bls__BN254CX_8h.html#a065771e3dfd48c41e4f0ace41e681b10',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5fmake_5fshares',['BLS_BN254CX_MAKE_SHARES',['../bls__BN254CX_8h.html#ab01f2391b3c23a4ec79aa914a3b00ea7',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5frecover_5fsecret',['BLS_BN254CX_RECOVER_SECRET',['../bls__BN254CX_8h.html#aea2c4835b491f15c6c38b0df28d14f78',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5frecover_5fsignature',['BLS_BN254CX_RECOVER_SIGNATURE',['../bls__BN254CX_8h.html#a262941837cc3ec8684df0f76b444e889',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5fsign',['BLS_BN254CX_SIGN',['../bls__BN254CX_8h.html#ac91525b2c002ad84207893f83b4dc9f5',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5fverify',['BLS_BN254CX_VERIFY',['../bls__BN254CX_8h.html#a4f13dc21fe15bb4adf4b09fb6a53e6a4',1,'bls_BN254CX.c']]],
   ['bls_5ffail',['BLS_FAIL',['../bls192__BLS24_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_FP512BN.h']]],
   ['bls_5ffp256bn_2eh',['bls_FP256BN.h',['../bls__FP256BN_8h.html',1,'']]],
   ['bls_5ffp256bn_5fadd_5fg1',['BLS_FP256BN_ADD_G1',['../bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25',1,'bls_FP256BN.c']]],
   ['bls_5ffp256bn_5fadd_5fg2',['BLS_FP256BN_ADD_G2',['../bls__FP256BN_8h.html#ad6fc669699a7b0b7062ed875935a7557',1,'bls_FP256BN.c']]],
   ['bls_5ffp256bn_5fkey_5fpair_5fgenerate',['BLS_FP256BN_KEY_PAIR_GENERATE',['../bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b',1,'bls_FP256BN.c']]],
-  ['bls_5ffp256bn_5fsign',['BLS_FP256BN_SIGN',['../bls__FP256BN_8h.html#ab167e8dc6d1b1668ee44fa54efe86bef',1,'bls_FP256BN.c']]],
-  ['bls_5ffp256bn_5fverify',['BLS_FP256BN_VERIFY',['../bls__FP256BN_8h.html#a2300b3e097d13ca6e1ca892a7a0cf915',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5fmake_5fshares',['BLS_FP256BN_MAKE_SHARES',['../bls__FP256BN_8h.html#afced5cbbbea572cca508d05a4768f4c0',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5frecover_5fsecret',['BLS_FP256BN_RECOVER_SECRET',['../bls__FP256BN_8h.html#a00cbfe56ea644ef49521f6bf373abece',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5frecover_5fsignature',['BLS_FP256BN_RECOVER_SIGNATURE',['../bls__FP256BN_8h.html#a3024cba5ceccc917fc418c0b7c1fd254',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5fsign',['BLS_FP256BN_SIGN',['../bls__FP256BN_8h.html#aacd18a137b7a4e8d896e27110e35e860',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5fverify',['BLS_FP256BN_VERIFY',['../bls__FP256BN_8h.html#a416aff4d03e90525a060cef3f4fd6205',1,'bls_FP256BN.c']]],
   ['bls_5ffp512bn_2eh',['bls_FP512BN.h',['../bls__FP512BN_8h.html',1,'']]],
   ['bls_5ffp512bn_5fadd_5fg1',['BLS_FP512BN_ADD_G1',['../bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b',1,'bls_FP512BN.c']]],
   ['bls_5ffp512bn_5fadd_5fg2',['BLS_FP512BN_ADD_G2',['../bls__FP512BN_8h.html#a00334d128b1624dfa9faf0cdf2af10aa',1,'bls_FP512BN.c']]],
   ['bls_5ffp512bn_5fkey_5fpair_5fgenerate',['BLS_FP512BN_KEY_PAIR_GENERATE',['../bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f',1,'bls_FP512BN.c']]],
-  ['bls_5ffp512bn_5fsign',['BLS_FP512BN_SIGN',['../bls__FP512BN_8h.html#a70a9409a4dda70cd0faa70bd7ed30736',1,'bls_FP512BN.c']]],
-  ['bls_5ffp512bn_5fverify',['BLS_FP512BN_VERIFY',['../bls__FP512BN_8h.html#a87569f97a06acc6099f197ac27ebe282',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5fmake_5fshares',['BLS_FP512BN_MAKE_SHARES',['../bls__FP512BN_8h.html#a34530e73aa5cd3d73fb754e772ec4b83',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5frecover_5fsecret',['BLS_FP512BN_RECOVER_SECRET',['../bls__FP512BN_8h.html#af663f54403701b715327c89ce544deb5',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5frecover_5fsignature',['BLS_FP512BN_RECOVER_SIGNATURE',['../bls__FP512BN_8h.html#a34a54a52bcc58ff877a99c6ffbaa7eb4',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5fsign',['BLS_FP512BN_SIGN',['../bls__FP512BN_8h.html#abdda5f944531d63ab88279023f662a8f',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5fverify',['BLS_FP512BN_VERIFY',['../bls__FP512BN_8h.html#a526a83b52379b9a84aa14e95ea710ca0',1,'bls_FP512BN.c']]],
   ['bls_5finvalid_5fg1',['BLS_INVALID_G1',['../bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_FP512BN.h']]],
   ['bls_5finvalid_5fg2',['BLS_INVALID_G2',['../bls192__BLS24_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_FP512BN.h']]],
   ['bls_5fok',['BLS_OK',['../bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_FP512BN.h']]],
-  ['bmask_5f1024_5f28',['BMASK_1024_28',['../big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c',1,'big_1024_28.h']]],
   ['bmask_5f1024_5f58',['BMASK_1024_58',['../big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147',1,'big_1024_58.h']]],
-  ['bmask_5f256_5f28',['BMASK_256_28',['../big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967',1,'big_256_28.h']]],
-  ['bmask_5f256_5f29',['BMASK_256_29',['../big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f',1,'big_256_29.h']]],
   ['bmask_5f256_5f56',['BMASK_256_56',['../big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae',1,'big_256_56.h']]],
-  ['bmask_5f336_5f29',['BMASK_336_29',['../big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f',1,'big_336_29.h']]],
   ['bmask_5f336_5f60',['BMASK_336_60',['../big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60',1,'big_336_60.h']]],
-  ['bmask_5f384_5f28',['BMASK_384_28',['../big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644',1,'big_384_28.h']]],
-  ['bmask_5f384_5f29',['BMASK_384_29',['../big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4',1,'big_384_29.h']]],
   ['bmask_5f384_5f56',['BMASK_384_56',['../big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da',1,'big_384_56.h']]],
   ['bmask_5f384_5f58',['BMASK_384_58',['../big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8',1,'big_384_58.h']]],
-  ['bmask_5f416_5f29',['BMASK_416_29',['../big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248',1,'big_416_29.h']]],
   ['bmask_5f416_5f60',['BMASK_416_60',['../big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d',1,'big_416_60.h']]],
-  ['bmask_5f448_5f29',['BMASK_448_29',['../big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6',1,'big_448_29.h']]],
   ['bmask_5f448_5f58',['BMASK_448_58',['../big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2',1,'big_448_58.h']]],
-  ['bmask_5f464_5f28',['BMASK_464_28',['../big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb',1,'big_464_28.h']]],
   ['bmask_5f464_5f60',['BMASK_464_60',['../big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0',1,'big_464_60.h']]],
-  ['bmask_5f480_5f29',['BMASK_480_29',['../big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7',1,'big_480_29.h']]],
   ['bmask_5f480_5f56',['BMASK_480_56',['../big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b',1,'big_480_56.h']]],
-  ['bmask_5f512_5f29',['BMASK_512_29',['../big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d',1,'big_512_29.h']]],
   ['bmask_5f512_5f56',['BMASK_512_56',['../big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5',1,'big_512_56.h']]],
   ['bmask_5f512_5f60',['BMASK_512_60',['../big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402',1,'big_512_60.h']]],
-  ['bmask_5f528_5f28',['BMASK_528_28',['../big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626',1,'big_528_28.h']]],
   ['bmask_5f528_5f60',['BMASK_528_60',['../big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63',1,'big_528_60.h']]],
-  ['bmask_5f560_5f29',['BMASK_560_29',['../big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249',1,'big_560_29.h']]],
   ['bmask_5f560_5f58',['BMASK_560_58',['../big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663',1,'big_560_58.h']]],
   ['borrow',['borrow',['../structcsprng.html#a821053dc129bedb1717b4b224bd6354b',1,'csprng']]],
   ['byte',['byte',['../arch_8h.html#a71809484a26cd96c6abe839a0a8a289d',1,'arch.h']]]
diff --git a/website/static/cdocs/search/all_10.html b/website/static/cdocs/search/all_10.html
index 170dc09..d1345a1 100644
--- a/website/static/cdocs/search/all_10.html
+++ b/website/static/cdocs/search/all_10.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_10.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_11.html b/website/static/cdocs/search/all_11.html
index 10fcd09..2be8b71 100644
--- a/website/static/cdocs/search/all_11.html
+++ b/website/static/cdocs/search/all_11.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_11.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_12.html b/website/static/cdocs/search/all_12.html
index 0876adf..13c5263 100644
--- a/website/static/cdocs/search/all_12.html
+++ b/website/static/cdocs/search/all_12.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_12.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_13.html b/website/static/cdocs/search/all_13.html
index dc6c049..b4a8bca 100644
--- a/website/static/cdocs/search/all_13.html
+++ b/website/static/cdocs/search/all_13.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_13.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_14.html b/website/static/cdocs/search/all_14.html
index 7fe4663..fb4d0ec 100644
--- a/website/static/cdocs/search/all_14.html
+++ b/website/static/cdocs/search/all_14.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_14.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_15.html b/website/static/cdocs/search/all_15.html
index c0fc0aa..8afe9a0 100644
--- a/website/static/cdocs/search/all_15.html
+++ b/website/static/cdocs/search/all_15.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_15.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_16.html b/website/static/cdocs/search/all_16.html
index 1490057..e511edb 100644
--- a/website/static/cdocs/search/all_16.html
+++ b/website/static/cdocs/search/all_16.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_16.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_17.html b/website/static/cdocs/search/all_17.html
index a364f6f..5ca9efd 100644
--- a/website/static/cdocs/search/all_17.html
+++ b/website/static/cdocs/search/all_17.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_17.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_18.html b/website/static/cdocs/search/all_18.html
index 3dff8af..069edeb 100644
--- a/website/static/cdocs/search/all_18.html
+++ b/website/static/cdocs/search/all_18.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_18.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_2.html b/website/static/cdocs/search/all_2.html
index 4c33d85..9543c57 100644
--- a/website/static/cdocs/search/all_2.html
+++ b/website/static/cdocs/search/all_2.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_2.js b/website/static/cdocs/search/all_2.js
index 88ac45c..331fbd7 100644
--- a/website/static/cdocs/search/all_2.js
+++ b/website/static/cdocs/search/all_2.js
@@ -2,31 +2,18 @@
 [
   ['c',['c',['../structFP12__BLS381.html#a762d3c20856438c0aa63471c827a43a1',1,'FP12_BLS381::c()'],['../structFP12__BLS383.html#ab32c55ed73277ff348b4546fcc317d61',1,'FP12_BLS383::c()'],['../structFP12__BLS461.html#a7ec14ab2c02c2fcb7dda90d57a7d42aa',1,'FP12_BLS461::c()'],['../structFP12__BN254.html#a73d92ea8008c0354377769daae18f894',1,'FP12_BN254::c()'],['../structFP12__BN254CX.html#a1c44eb3094a89d395d24278502309946',1,'FP12_BN254CX::c()'],['../structFP12__FP256BN.html#ac6f5be55c2e14a69939e51923203574b',1,'FP12_FP256BN::c()'],['../structFP12__FP512BN.html#ac4383eddc009b14f5a7dfdfd2f71194f',1,'FP12_FP512BN::c()'],['../structFP24__BLS24.html#a64c0a7fce0b13d188588501ef4f2e437',1,'FP24_BLS24::c()'],['../structFP48__BLS48.html#acd6053438907e731f6b7633ed162bbc4',1,'FP48_BLS48::c()'],['../structrsa__private__key__2048.html#ae01011219e26017dd3efb9eeccf9237b',1,'rsa_private_key_2048::c()'],['../structrsa__private__key__3072.html#a1281cf17de0ad55b18b8ff33f0be0599',1,'rsa_private_key_3072::c()'],['../structrsa__private__key__4096.html#a6e6a587086fe75d657cd891481dc0c92',1,'rsa_private_key_4096::c()']]],
   ['chunk',['chunk',['../arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa',1,'chunk():&#160;arch.h'],['../arch_8h.html#a25022864dfc8ec428e7128282e57b136',1,'CHUNK():&#160;arch.h']]],
-  ['config_5fbig_5f1024_5f28_2eh',['config_big_1024_28.h',['../config__big__1024__28_8h.html',1,'']]],
   ['config_5fbig_5f1024_5f58_2eh',['config_big_1024_58.h',['../config__big__1024__58_8h.html',1,'']]],
-  ['config_5fbig_5f256_5f28_2eh',['config_big_256_28.h',['../config__big__256__28_8h.html',1,'']]],
-  ['config_5fbig_5f256_5f29_2eh',['config_big_256_29.h',['../config__big__256__29_8h.html',1,'']]],
   ['config_5fbig_5f256_5f56_2eh',['config_big_256_56.h',['../config__big__256__56_8h.html',1,'']]],
-  ['config_5fbig_5f336_5f29_2eh',['config_big_336_29.h',['../config__big__336__29_8h.html',1,'']]],
   ['config_5fbig_5f336_5f60_2eh',['config_big_336_60.h',['../config__big__336__60_8h.html',1,'']]],
-  ['config_5fbig_5f384_5f28_2eh',['config_big_384_28.h',['../config__big__384__28_8h.html',1,'']]],
-  ['config_5fbig_5f384_5f29_2eh',['config_big_384_29.h',['../config__big__384__29_8h.html',1,'']]],
   ['config_5fbig_5f384_5f56_2eh',['config_big_384_56.h',['../config__big__384__56_8h.html',1,'']]],
   ['config_5fbig_5f384_5f58_2eh',['config_big_384_58.h',['../config__big__384__58_8h.html',1,'']]],
-  ['config_5fbig_5f416_5f29_2eh',['config_big_416_29.h',['../config__big__416__29_8h.html',1,'']]],
   ['config_5fbig_5f416_5f60_2eh',['config_big_416_60.h',['../config__big__416__60_8h.html',1,'']]],
-  ['config_5fbig_5f448_5f29_2eh',['config_big_448_29.h',['../config__big__448__29_8h.html',1,'']]],
   ['config_5fbig_5f448_5f58_2eh',['config_big_448_58.h',['../config__big__448__58_8h.html',1,'']]],
-  ['config_5fbig_5f464_5f28_2eh',['config_big_464_28.h',['../config__big__464__28_8h.html',1,'']]],
   ['config_5fbig_5f464_5f60_2eh',['config_big_464_60.h',['../config__big__464__60_8h.html',1,'']]],
-  ['config_5fbig_5f480_5f29_2eh',['config_big_480_29.h',['../config__big__480__29_8h.html',1,'']]],
   ['config_5fbig_5f480_5f56_2eh',['config_big_480_56.h',['../config__big__480__56_8h.html',1,'']]],
-  ['config_5fbig_5f512_5f29_2eh',['config_big_512_29.h',['../config__big__512__29_8h.html',1,'']]],
   ['config_5fbig_5f512_5f56_2eh',['config_big_512_56.h',['../config__big__512__56_8h.html',1,'']]],
   ['config_5fbig_5f512_5f60_2eh',['config_big_512_60.h',['../config__big__512__60_8h.html',1,'']]],
-  ['config_5fbig_5f528_5f28_2eh',['config_big_528_28.h',['../config__big__528__28_8h.html',1,'']]],
   ['config_5fbig_5f528_5f60_2eh',['config_big_528_60.h',['../config__big__528__60_8h.html',1,'']]],
-  ['config_5fbig_5f560_5f29_2eh',['config_big_560_29.h',['../config__big__560__29_8h.html',1,'']]],
   ['config_5fbig_5f560_5f58_2eh',['config_big_560_58.h',['../config__big__560__58_8h.html',1,'']]],
   ['config_5fff_5f2048_2eh',['config_ff_2048.h',['../config__ff__2048_8h.html',1,'']]],
   ['config_5fff_5f3072_2eh',['config_ff_3072.h',['../config__ff__3072_8h.html',1,'']]],
diff --git a/website/static/cdocs/search/all_3.html b/website/static/cdocs/search/all_3.html
index b634070..03405c0 100644
--- a/website/static/cdocs/search/all_3.html
+++ b/website/static/cdocs/search/all_3.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_3.js b/website/static/cdocs/search/all_3.js
index 46f9779..1e3b20d 100644
--- a/website/static/cdocs/search/all_3.js
+++ b/website/static/cdocs/search/all_3.js
@@ -1,56 +1,30 @@
 var searchData=
 [
-  ['dbig_5f1024_5f28',['DBIG_1024_28',['../big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647',1,'big_1024_28.h']]],
   ['dbig_5f1024_5f58',['DBIG_1024_58',['../big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027',1,'big_1024_58.h']]],
-  ['dbig_5f256_5f28',['DBIG_256_28',['../big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be',1,'big_256_28.h']]],
-  ['dbig_5f256_5f29',['DBIG_256_29',['../big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884',1,'big_256_29.h']]],
   ['dbig_5f256_5f56',['DBIG_256_56',['../big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a',1,'big_256_56.h']]],
-  ['dbig_5f336_5f29',['DBIG_336_29',['../big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9',1,'big_336_29.h']]],
   ['dbig_5f336_5f60',['DBIG_336_60',['../big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6',1,'big_336_60.h']]],
-  ['dbig_5f384_5f28',['DBIG_384_28',['../big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b',1,'big_384_28.h']]],
-  ['dbig_5f384_5f29',['DBIG_384_29',['../big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8',1,'big_384_29.h']]],
   ['dbig_5f384_5f56',['DBIG_384_56',['../big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c',1,'big_384_56.h']]],
   ['dbig_5f384_5f58',['DBIG_384_58',['../big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea',1,'big_384_58.h']]],
-  ['dbig_5f416_5f29',['DBIG_416_29',['../big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0',1,'big_416_29.h']]],
   ['dbig_5f416_5f60',['DBIG_416_60',['../big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2',1,'big_416_60.h']]],
-  ['dbig_5f448_5f29',['DBIG_448_29',['../big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7',1,'big_448_29.h']]],
   ['dbig_5f448_5f58',['DBIG_448_58',['../big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32',1,'big_448_58.h']]],
-  ['dbig_5f464_5f28',['DBIG_464_28',['../big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172',1,'big_464_28.h']]],
   ['dbig_5f464_5f60',['DBIG_464_60',['../big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74',1,'big_464_60.h']]],
-  ['dbig_5f480_5f29',['DBIG_480_29',['../big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410',1,'big_480_29.h']]],
   ['dbig_5f480_5f56',['DBIG_480_56',['../big__480__56_8h.html#a0431a818206f629e340731bd19e6c948',1,'big_480_56.h']]],
-  ['dbig_5f512_5f29',['DBIG_512_29',['../big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d',1,'big_512_29.h']]],
   ['dbig_5f512_5f56',['DBIG_512_56',['../big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11',1,'big_512_56.h']]],
   ['dbig_5f512_5f60',['DBIG_512_60',['../big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906',1,'big_512_60.h']]],
-  ['dbig_5f528_5f28',['DBIG_528_28',['../big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e',1,'big_528_28.h']]],
   ['dbig_5f528_5f60',['DBIG_528_60',['../big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0',1,'big_528_60.h']]],
-  ['dbig_5f560_5f29',['DBIG_560_29',['../big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959',1,'big_560_29.h']]],
   ['dbig_5f560_5f58',['DBIG_560_58',['../big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2',1,'big_560_58.h']]],
-  ['dnlen_5f1024_5f28',['DNLEN_1024_28',['../big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81',1,'big_1024_28.h']]],
   ['dnlen_5f1024_5f58',['DNLEN_1024_58',['../big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba',1,'big_1024_58.h']]],
-  ['dnlen_5f256_5f28',['DNLEN_256_28',['../big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e',1,'big_256_28.h']]],
-  ['dnlen_5f256_5f29',['DNLEN_256_29',['../big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627',1,'big_256_29.h']]],
   ['dnlen_5f256_5f56',['DNLEN_256_56',['../big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437',1,'big_256_56.h']]],
-  ['dnlen_5f336_5f29',['DNLEN_336_29',['../big__336__29_8h.html#a505c0645884488f027436579943cf995',1,'big_336_29.h']]],
   ['dnlen_5f336_5f60',['DNLEN_336_60',['../big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8',1,'big_336_60.h']]],
-  ['dnlen_5f384_5f28',['DNLEN_384_28',['../big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce',1,'big_384_28.h']]],
-  ['dnlen_5f384_5f29',['DNLEN_384_29',['../big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068',1,'big_384_29.h']]],
   ['dnlen_5f384_5f56',['DNLEN_384_56',['../big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22',1,'big_384_56.h']]],
   ['dnlen_5f384_5f58',['DNLEN_384_58',['../big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8',1,'big_384_58.h']]],
-  ['dnlen_5f416_5f29',['DNLEN_416_29',['../big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da',1,'big_416_29.h']]],
   ['dnlen_5f416_5f60',['DNLEN_416_60',['../big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c',1,'big_416_60.h']]],
-  ['dnlen_5f448_5f29',['DNLEN_448_29',['../big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c',1,'big_448_29.h']]],
   ['dnlen_5f448_5f58',['DNLEN_448_58',['../big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739',1,'big_448_58.h']]],
-  ['dnlen_5f464_5f28',['DNLEN_464_28',['../big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047',1,'big_464_28.h']]],
   ['dnlen_5f464_5f60',['DNLEN_464_60',['../big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755',1,'big_464_60.h']]],
-  ['dnlen_5f480_5f29',['DNLEN_480_29',['../big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5',1,'big_480_29.h']]],
   ['dnlen_5f480_5f56',['DNLEN_480_56',['../big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28',1,'big_480_56.h']]],
-  ['dnlen_5f512_5f29',['DNLEN_512_29',['../big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd',1,'big_512_29.h']]],
   ['dnlen_5f512_5f56',['DNLEN_512_56',['../big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b',1,'big_512_56.h']]],
   ['dnlen_5f512_5f60',['DNLEN_512_60',['../big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342',1,'big_512_60.h']]],
-  ['dnlen_5f528_5f28',['DNLEN_528_28',['../big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2',1,'big_528_28.h']]],
   ['dnlen_5f528_5f60',['DNLEN_528_60',['../big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3',1,'big_528_60.h']]],
-  ['dnlen_5f560_5f29',['DNLEN_560_29',['../big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626',1,'big_560_29.h']]],
   ['dnlen_5f560_5f58',['DNLEN_560_58',['../big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532',1,'big_560_58.h']]],
   ['dp',['dp',['../structrsa__private__key__2048.html#a382828d05d8fe5975b0b1399faa6eeb0',1,'rsa_private_key_2048::dp()'],['../structrsa__private__key__3072.html#a9a927d74ceac60187d2a23b668a13757',1,'rsa_private_key_3072::dp()'],['../structrsa__private__key__4096.html#a592793fce1988f4950c25655cb9cb936',1,'rsa_private_key_4096::dp()']]],
   ['dq',['dq',['../structrsa__private__key__2048.html#a5730806511aefae689797463c78181aa',1,'rsa_private_key_2048::dq()'],['../structrsa__private__key__3072.html#ac52cfae3a87644cbf0119902737801f4',1,'rsa_private_key_3072::dq()'],['../structrsa__private__key__4096.html#a5f519097ead4db5749a98ce0d34b73a1',1,'rsa_private_key_4096::dq()']]]
diff --git a/website/static/cdocs/search/all_4.html b/website/static/cdocs/search/all_4.html
index dd062ae..8e1f4b9 100644
--- a/website/static/cdocs/search/all_4.html
+++ b/website/static/cdocs/search/all_4.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_5.html b/website/static/cdocs/search/all_5.html
index f0780fd..89a879e 100644
--- a/website/static/cdocs/search/all_5.html
+++ b/website/static/cdocs/search/all_5.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_5.js b/website/static/cdocs/search/all_5.js
index 81945ad..da6f2bc 100644
--- a/website/static/cdocs/search/all_5.js
+++ b/website/static/cdocs/search/all_5.js
@@ -29,31 +29,34 @@
   ['ff_5f2048_5fcfactor',['FF_2048_cfactor',['../ff__2048_8h.html#a261bad7b5b39fd6eb3d98e3c9ae292de',1,'ff_2048.h']]],
   ['ff_5f2048_5fcomp',['FF_2048_comp',['../ff__2048_8h.html#a7375ad720811c0f9678492ea4da08549',1,'ff_2048.h']]],
   ['ff_5f2048_5fcopy',['FF_2048_copy',['../ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6',1,'ff_2048.h']]],
+  ['ff_5f2048_5fcrt',['FF_2048_crt',['../ff__2048_8h.html#af06da89f60cc5dd4f4944aab876e9721',1,'ff_2048.c']]],
   ['ff_5f2048_5fdec',['FF_2048_dec',['../ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f',1,'ff_2048.h']]],
   ['ff_5f2048_5fdmod',['FF_2048_dmod',['../ff__2048_8h.html#a8b287a310c335b1e3a8693381d112eaf',1,'ff_2048.h']]],
   ['ff_5f2048_5ffromoctet',['FF_2048_fromOctet',['../ff__2048_8h.html#acf36351fa465903335db78c4d1539fc6',1,'ff_2048.h']]],
   ['ff_5f2048_5finc',['FF_2048_inc',['../ff__2048_8h.html#a45a6fb55cb8695885e92427b95d93b0f',1,'ff_2048.h']]],
   ['ff_5f2048_5finit',['FF_2048_init',['../ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3',1,'ff_2048.h']]],
+  ['ff_5f2048_5finvmod2m',['FF_2048_invmod2m',['../ff__2048_8h.html#aeb5d9d16c4bbfe021b76690a198df7ed',1,'ff_2048.c']]],
   ['ff_5f2048_5finvmodp',['FF_2048_invmodp',['../ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9',1,'ff_2048.h']]],
   ['ff_5f2048_5fiszilch',['FF_2048_iszilch',['../ff__2048_8h.html#ab79fd4f6686b2fe714c3d33f20f4c48a',1,'ff_2048.h']]],
   ['ff_5f2048_5flastbits',['FF_2048_lastbits',['../ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89',1,'ff_2048.h']]],
-  ['ff_5f2048_5fmod',['FF_2048_mod',['../ff__2048_8h.html#a7ed651a772be1e7c644d4153e67574f3',1,'ff_2048.h']]],
+  ['ff_5f2048_5fmod',['FF_2048_mod',['../ff__2048_8h.html#afbae12c8d55508641cbdbda870bb9d05',1,'ff_2048.h']]],
   ['ff_5f2048_5fmul',['FF_2048_mul',['../ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90',1,'ff_2048.h']]],
   ['ff_5f2048_5fnorm',['FF_2048_norm',['../ff__2048_8h.html#a84c276a9cb2fb6b8c88677c8a5241174',1,'ff_2048.h']]],
   ['ff_5f2048_5fone',['FF_2048_one',['../ff__2048_8h.html#af59e05d4afd7575e07300199a60a1484',1,'ff_2048.h']]],
   ['ff_5f2048_5foutput',['FF_2048_output',['../ff__2048_8h.html#a8011729411cf198d0a19a0a1ffa17ae1',1,'ff_2048.h']]],
   ['ff_5f2048_5fparity',['FF_2048_parity',['../ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea',1,'ff_2048.h']]],
-  ['ff_5f2048_5fpow',['FF_2048_pow',['../ff__2048_8h.html#a7764e294274140465a4676717677f6b6',1,'ff_2048.h']]],
+  ['ff_5f2048_5fpow',['FF_2048_pow',['../ff__2048_8h.html#a57054f9061450cba4235fbc6b03e8bb9',1,'ff_2048.h']]],
   ['ff_5f2048_5fpow2',['FF_2048_pow2',['../ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be',1,'ff_2048.h']]],
-  ['ff_5f2048_5fpower',['FF_2048_power',['../ff__2048_8h.html#a8b87d4ad585cbfaaeadca3d586ffb05a',1,'ff_2048.h']]],
+  ['ff_5f2048_5fpower',['FF_2048_power',['../ff__2048_8h.html#a0bd5964bb4460e0a10949500b58ac472',1,'ff_2048.h']]],
   ['ff_5f2048_5fprime',['FF_2048_prime',['../ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242',1,'ff_2048.h']]],
   ['ff_5f2048_5frandom',['FF_2048_random',['../ff__2048_8h.html#abda74d9b71138e17a7fbe7086426c3e7',1,'ff_2048.h']]],
   ['ff_5f2048_5frandomnum',['FF_2048_randomnum',['../ff__2048_8h.html#a7cfdc4c363575059d802b91713b03737',1,'ff_2048.h']]],
   ['ff_5f2048_5frawoutput',['FF_2048_rawoutput',['../ff__2048_8h.html#a0fa3a98953b3f941c4a1d77811c663da',1,'ff_2048.h']]],
   ['ff_5f2048_5fshl',['FF_2048_shl',['../ff__2048_8h.html#a175d8db0f1789c940961189bb00dc009',1,'ff_2048.h']]],
   ['ff_5f2048_5fshr',['FF_2048_shr',['../ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836',1,'ff_2048.h']]],
-  ['ff_5f2048_5fskpow',['FF_2048_skpow',['../ff__2048_8h.html#a2789a44182bc8d1fb91fd048a23361b9',1,'ff_2048.h']]],
-  ['ff_5f2048_5fskspow',['FF_2048_skspow',['../ff__2048_8h.html#acadc23a6f6c053b971d7afaf121d7196',1,'ff_2048.h']]],
+  ['ff_5f2048_5fskpow',['FF_2048_skpow',['../ff__2048_8h.html#ab736578e7b655b60101325b7d0e79065',1,'ff_2048.h']]],
+  ['ff_5f2048_5fskpow2',['FF_2048_skpow2',['../ff__2048_8h.html#a0b3e4f7ee1099043241031cd8426a23b',1,'ff_2048.h']]],
+  ['ff_5f2048_5fskspow',['FF_2048_skspow',['../ff__2048_8h.html#ab3081cf68191fa919f374993a02c5014',1,'ff_2048.h']]],
   ['ff_5f2048_5fsqr',['FF_2048_sqr',['../ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f',1,'ff_2048.h']]],
   ['ff_5f2048_5fsub',['FF_2048_sub',['../ff__2048_8h.html#aebafa634bb7c45532f0cc30b005fece7',1,'ff_2048.h']]],
   ['ff_5f2048_5ftooctet',['FF_2048_toOctet',['../ff__2048_8h.html#a7cea17d94848af54dc71659f4aa78121',1,'ff_2048.h']]],
@@ -63,31 +66,34 @@
   ['ff_5f3072_5fcfactor',['FF_3072_cfactor',['../ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788',1,'ff_3072.h']]],
   ['ff_5f3072_5fcomp',['FF_3072_comp',['../ff__3072_8h.html#aeb6d92db5f6702a1661f91c64589a00c',1,'ff_3072.h']]],
   ['ff_5f3072_5fcopy',['FF_3072_copy',['../ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1',1,'ff_3072.h']]],
+  ['ff_5f3072_5fcrt',['FF_3072_crt',['../ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea',1,'ff_3072.c']]],
   ['ff_5f3072_5fdec',['FF_3072_dec',['../ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab',1,'ff_3072.h']]],
   ['ff_5f3072_5fdmod',['FF_3072_dmod',['../ff__3072_8h.html#a7cc5b1e476a2ec468fe2534cf64b3b70',1,'ff_3072.h']]],
   ['ff_5f3072_5ffromoctet',['FF_3072_fromOctet',['../ff__3072_8h.html#a99e5ad673622637c7cabdf014b9eb23d',1,'ff_3072.h']]],
   ['ff_5f3072_5finc',['FF_3072_inc',['../ff__3072_8h.html#a6dc03139ccfabea9f051a2dffb2b23ec',1,'ff_3072.h']]],
   ['ff_5f3072_5finit',['FF_3072_init',['../ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88',1,'ff_3072.h']]],
+  ['ff_5f3072_5finvmod2m',['FF_3072_invmod2m',['../ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a',1,'ff_3072.c']]],
   ['ff_5f3072_5finvmodp',['FF_3072_invmodp',['../ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d',1,'ff_3072.h']]],
   ['ff_5f3072_5fiszilch',['FF_3072_iszilch',['../ff__3072_8h.html#a23ea956e002fe10e959129bbff836a88',1,'ff_3072.h']]],
   ['ff_5f3072_5flastbits',['FF_3072_lastbits',['../ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5',1,'ff_3072.h']]],
-  ['ff_5f3072_5fmod',['FF_3072_mod',['../ff__3072_8h.html#af06a6739f1c0bb51f0cd9781b8ef1792',1,'ff_3072.h']]],
+  ['ff_5f3072_5fmod',['FF_3072_mod',['../ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852',1,'ff_3072.h']]],
   ['ff_5f3072_5fmul',['FF_3072_mul',['../ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170',1,'ff_3072.h']]],
   ['ff_5f3072_5fnorm',['FF_3072_norm',['../ff__3072_8h.html#adbfb492cd0974a31a764877f4e29e902',1,'ff_3072.h']]],
   ['ff_5f3072_5fone',['FF_3072_one',['../ff__3072_8h.html#aeab149437c42eba4a31601170db373e4',1,'ff_3072.h']]],
   ['ff_5f3072_5foutput',['FF_3072_output',['../ff__3072_8h.html#af20dedd4fc082097038482e3dfda6c32',1,'ff_3072.h']]],
   ['ff_5f3072_5fparity',['FF_3072_parity',['../ff__3072_8h.html#a134652d691699256b947e50877b61cf9',1,'ff_3072.h']]],
-  ['ff_5f3072_5fpow',['FF_3072_pow',['../ff__3072_8h.html#a6b7a3bbd385227b9c4292babb0ab6469',1,'ff_3072.h']]],
+  ['ff_5f3072_5fpow',['FF_3072_pow',['../ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b',1,'ff_3072.h']]],
   ['ff_5f3072_5fpow2',['FF_3072_pow2',['../ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd',1,'ff_3072.h']]],
-  ['ff_5f3072_5fpower',['FF_3072_power',['../ff__3072_8h.html#af854663f5413b0a941c83fe19a06d506',1,'ff_3072.h']]],
+  ['ff_5f3072_5fpower',['FF_3072_power',['../ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91',1,'ff_3072.h']]],
   ['ff_5f3072_5fprime',['FF_3072_prime',['../ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb',1,'ff_3072.h']]],
   ['ff_5f3072_5frandom',['FF_3072_random',['../ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7',1,'ff_3072.h']]],
   ['ff_5f3072_5frandomnum',['FF_3072_randomnum',['../ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f',1,'ff_3072.h']]],
   ['ff_5f3072_5frawoutput',['FF_3072_rawoutput',['../ff__3072_8h.html#a59b49a04db64211550a0cd8b81b1a286',1,'ff_3072.h']]],
   ['ff_5f3072_5fshl',['FF_3072_shl',['../ff__3072_8h.html#a0f260e780e072e4a9a04b711890ffc97',1,'ff_3072.h']]],
   ['ff_5f3072_5fshr',['FF_3072_shr',['../ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b',1,'ff_3072.h']]],
-  ['ff_5f3072_5fskpow',['FF_3072_skpow',['../ff__3072_8h.html#a1998c3c4c38a3f46997b1243b53b4481',1,'ff_3072.h']]],
-  ['ff_5f3072_5fskspow',['FF_3072_skspow',['../ff__3072_8h.html#a381608fd407d688c2387f8597916f3ac',1,'ff_3072.h']]],
+  ['ff_5f3072_5fskpow',['FF_3072_skpow',['../ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa',1,'ff_3072.h']]],
+  ['ff_5f3072_5fskpow2',['FF_3072_skpow2',['../ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe',1,'ff_3072.h']]],
+  ['ff_5f3072_5fskspow',['FF_3072_skspow',['../ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c',1,'ff_3072.h']]],
   ['ff_5f3072_5fsqr',['FF_3072_sqr',['../ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30',1,'ff_3072.h']]],
   ['ff_5f3072_5fsub',['FF_3072_sub',['../ff__3072_8h.html#a90a27832117acd51620f205cd0a7fd66',1,'ff_3072.h']]],
   ['ff_5f3072_5ftooctet',['FF_3072_toOctet',['../ff__3072_8h.html#a072ac1dfb719d6cb4ade9bb45e7da60f',1,'ff_3072.h']]],
@@ -97,31 +103,34 @@
   ['ff_5f4096_5fcfactor',['FF_4096_cfactor',['../ff__4096_8h.html#a92c6e9c3e736e6ab4f0bffd91f6a78e5',1,'ff_4096.h']]],
   ['ff_5f4096_5fcomp',['FF_4096_comp',['../ff__4096_8h.html#a73d3c33052d89ca0dee0fb26c4fc2217',1,'ff_4096.h']]],
   ['ff_5f4096_5fcopy',['FF_4096_copy',['../ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef',1,'ff_4096.h']]],
+  ['ff_5f4096_5fcrt',['FF_4096_crt',['../ff__4096_8h.html#a1a06ae9c3226295b796b318746e19e21',1,'ff_4096.c']]],
   ['ff_5f4096_5fdec',['FF_4096_dec',['../ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0',1,'ff_4096.h']]],
   ['ff_5f4096_5fdmod',['FF_4096_dmod',['../ff__4096_8h.html#ad38c38a2d6c7117387bfe65f404ac903',1,'ff_4096.h']]],
   ['ff_5f4096_5ffromoctet',['FF_4096_fromOctet',['../ff__4096_8h.html#a3dd8e90c99742c0448834110713d0e8b',1,'ff_4096.h']]],
   ['ff_5f4096_5finc',['FF_4096_inc',['../ff__4096_8h.html#a04e75ee7ab59343fb307f1117770efae',1,'ff_4096.h']]],
   ['ff_5f4096_5finit',['FF_4096_init',['../ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86',1,'ff_4096.h']]],
+  ['ff_5f4096_5finvmod2m',['FF_4096_invmod2m',['../ff__4096_8h.html#ae25e81829ee9ee3718606b771c6bddbe',1,'ff_4096.c']]],
   ['ff_5f4096_5finvmodp',['FF_4096_invmodp',['../ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195',1,'ff_4096.h']]],
   ['ff_5f4096_5fiszilch',['FF_4096_iszilch',['../ff__4096_8h.html#a612661860d5a10326a7d1d9bd9fc042a',1,'ff_4096.h']]],
   ['ff_5f4096_5flastbits',['FF_4096_lastbits',['../ff__4096_8h.html#a370584bba01616d2f9183f45a9843892',1,'ff_4096.h']]],
-  ['ff_5f4096_5fmod',['FF_4096_mod',['../ff__4096_8h.html#a178303ff977c30fc108db4e98723d740',1,'ff_4096.h']]],
+  ['ff_5f4096_5fmod',['FF_4096_mod',['../ff__4096_8h.html#a16098d5d71673da11edd1b112489e8d7',1,'ff_4096.h']]],
   ['ff_5f4096_5fmul',['FF_4096_mul',['../ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4',1,'ff_4096.h']]],
   ['ff_5f4096_5fnorm',['FF_4096_norm',['../ff__4096_8h.html#a44d26e71554c346b873fc9392b216bbe',1,'ff_4096.h']]],
   ['ff_5f4096_5fone',['FF_4096_one',['../ff__4096_8h.html#ab1b30b23b1045f3895b332de9c998cb9',1,'ff_4096.h']]],
   ['ff_5f4096_5foutput',['FF_4096_output',['../ff__4096_8h.html#ad08b440a6bd16506069fe9a5a3f81a6b',1,'ff_4096.h']]],
   ['ff_5f4096_5fparity',['FF_4096_parity',['../ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73',1,'ff_4096.h']]],
-  ['ff_5f4096_5fpow',['FF_4096_pow',['../ff__4096_8h.html#a1db67329f43de1ad6e2b73d77e48451a',1,'ff_4096.h']]],
+  ['ff_5f4096_5fpow',['FF_4096_pow',['../ff__4096_8h.html#a86909027f6afe381756ee285d0140389',1,'ff_4096.h']]],
   ['ff_5f4096_5fpow2',['FF_4096_pow2',['../ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d',1,'ff_4096.h']]],
-  ['ff_5f4096_5fpower',['FF_4096_power',['../ff__4096_8h.html#ab3592fd9ab13f4f517b076529a0e5f98',1,'ff_4096.h']]],
+  ['ff_5f4096_5fpower',['FF_4096_power',['../ff__4096_8h.html#ad607a8113dfc06ba2748acf6889ad6e2',1,'ff_4096.h']]],
   ['ff_5f4096_5fprime',['FF_4096_prime',['../ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba',1,'ff_4096.h']]],
   ['ff_5f4096_5frandom',['FF_4096_random',['../ff__4096_8h.html#ad3126be04cd16dc624d16a036ab40e0b',1,'ff_4096.h']]],
   ['ff_5f4096_5frandomnum',['FF_4096_randomnum',['../ff__4096_8h.html#ac7521d5b55e6ceb1ad5ff6dde3245f78',1,'ff_4096.h']]],
   ['ff_5f4096_5frawoutput',['FF_4096_rawoutput',['../ff__4096_8h.html#a1f089c038088d203953933028c17590c',1,'ff_4096.h']]],
   ['ff_5f4096_5fshl',['FF_4096_shl',['../ff__4096_8h.html#ab541ed2980cbc85257629b615e462180',1,'ff_4096.h']]],
   ['ff_5f4096_5fshr',['FF_4096_shr',['../ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c',1,'ff_4096.h']]],
-  ['ff_5f4096_5fskpow',['FF_4096_skpow',['../ff__4096_8h.html#a21e0d681199ce63714be3ed742c164d9',1,'ff_4096.h']]],
-  ['ff_5f4096_5fskspow',['FF_4096_skspow',['../ff__4096_8h.html#a6412d0214c61c25a6048e75eb76e5116',1,'ff_4096.h']]],
+  ['ff_5f4096_5fskpow',['FF_4096_skpow',['../ff__4096_8h.html#a94147045c8870761893c8be1ed1ac28f',1,'ff_4096.h']]],
+  ['ff_5f4096_5fskpow2',['FF_4096_skpow2',['../ff__4096_8h.html#a6105e5392c6eb1ccefad29fcf6249d09',1,'ff_4096.h']]],
+  ['ff_5f4096_5fskspow',['FF_4096_skspow',['../ff__4096_8h.html#a24cf9585b1c49a1ac674e0055ad41444',1,'ff_4096.h']]],
   ['ff_5f4096_5fsqr',['FF_4096_sqr',['../ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10',1,'ff_4096.h']]],
   ['ff_5f4096_5fsub',['FF_4096_sub',['../ff__4096_8h.html#a83e69edebd0e5bf47cdcca2ef66448b3',1,'ff_4096.h']]],
   ['ff_5f4096_5ftooctet',['FF_4096_toOctet',['../ff__4096_8h.html#affe535d1298125ecf39b6b19d3d5339c',1,'ff_4096.h']]],
@@ -1675,5 +1684,7 @@
   ['frb_5fnist256',['Frb_NIST256',['../ecp__NIST256_8h.html#a502fbbec16cb32b370d7897f343b4e4a',1,'ecp_NIST256.h']]],
   ['frb_5fnist384',['Frb_NIST384',['../ecp__NIST384_8h.html#a8636072befa83876c5fbc75164408c1d',1,'ecp_NIST384.h']]],
   ['frb_5fnist521',['Frb_NIST521',['../ecp__NIST521_8h.html#a3dfe20dafe10798eeb90a3066258f1b5',1,'ecp_NIST521.h']]],
-  ['frb_5fsecp256k1',['Frb_SECP256K1',['../ecp__SECP256K1_8h.html#a0584eac12160515fb95ea79f9b5c22d8',1,'ecp_SECP256K1.h']]]
+  ['frb_5fsecp256k1',['Frb_SECP256K1',['../ecp__SECP256K1_8h.html#a0584eac12160515fb95ea79f9b5c22d8',1,'ecp_SECP256K1.h']]],
+  ['fs_5f2048',['FS_2048',['../paillier_8h.html#ae3ce9abc99cec679346a7d38bed96d9b',1,'paillier.h']]],
+  ['fs_5f4096',['FS_4096',['../paillier_8h.html#a8e7c673251fe80bcf47e9bb26674cd97',1,'paillier.h']]]
 ];
diff --git a/website/static/cdocs/search/all_6.html b/website/static/cdocs/search/all_6.html
index 39b0f55..6afac06 100644
--- a/website/static/cdocs/search/all_6.html
+++ b/website/static/cdocs/search/all_6.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_6.js b/website/static/cdocs/search/all_6.js
index 98adcee..c7aa400 100644
--- a/website/static/cdocs/search/all_6.js
+++ b/website/static/cdocs/search/all_6.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['g',['g',['../structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1',1,'FP_25519::g()'],['../structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6',1,'FP_256PME::g()'],['../structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd',1,'FP_256PMW::g()'],['../structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e',1,'FP_384PM::g()'],['../structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8',1,'FP_512PM::g()'],['../structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50',1,'FP_ANSSI::g()'],['../structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a',1,'FP_BLS24::g()'],['../structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4',1,'FP_BLS381::g()'],['../structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e',1,'FP_BLS383::g()'],['../structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b',1,'FP_BLS461::g()'],['../structFP__BLS48.html#aaee07f25142de4ccf00433f731576977',1,'FP_BLS48::g()'],['../structFP__BN254.html#a129ff2f489c492d0ee022189155c0532',1,'FP_BN254::g()'],['../structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2',1,'FP_BN254CX::g()'],['../structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959',1,'FP_BRAINPOOL::g()'],['../structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc',1,'FP_C41417::g()'],['../structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16',1,'FP_FP256BN::g()'],['../structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333',1,'FP_FP512BN::g()'],['../structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f',1,'FP_GOLDILOCKS::g()'],['../structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d',1,'FP_HIFIVE::g()'],['../structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d',1,'FP_NIST256::g()'],['../structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d',1,'FP_NIST384::g()'],['../structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d',1,'FP_NIST521::g()'],['../structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84',1,'FP_SECP256K1::g()']]],
+  ['g',['g',['../structPAILLIER__public__key.html#a4e46a0e4c68e944801e372d31e7b24c4',1,'PAILLIER_public_key::g()'],['../structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1',1,'FP_25519::g()'],['../structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6',1,'FP_256PME::g()'],['../structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd',1,'FP_256PMW::g()'],['../structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e',1,'FP_384PM::g()'],['../structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8',1,'FP_512PM::g()'],['../structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50',1,'FP_ANSSI::g()'],['../structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a',1,'FP_BLS24::g()'],['../structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4',1,'FP_BLS381::g()'],['../structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e',1,'FP_BLS383::g()'],['../structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b',1,'FP_BLS461::g()'],['../structFP__BLS48.html#aaee07f25142de4ccf00433f731576977',1,'FP_BLS48::g()'],['../structFP__BN254.html#a129ff2f489c492d0ee022189155c0532',1,'FP_BN254::g()'],['../structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2',1,'FP_BN254CX::g()'],['../structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959',1,'FP_BRAINPOOL::g()'],['../structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc',1,'FP_C41417::g()'],['../structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16',1,'FP_FP256BN::g()'],['../structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333',1,'FP_FP512BN::g()'],['../structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f',1,'FP_GOLDILOCKS::g()'],['../structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d',1,'FP_HIFIVE::g()'],['../structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d',1,'FP_NIST256::g()'],['../structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d',1,'FP_NIST384::g()'],['../structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d',1,'FP_NIST521::g()'],['../structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84',1,'FP_SECP256K1::g()']]],
   ['gcm',['gcm',['../structgcm.html',1,'']]],
   ['generateotp',['generateOTP',['../utils_8h.html#a453d001cb992b62b8cf2620a4a1f4778',1,'generateOTP(csprng *RNG):&#160;utils.c'],['../utils_8c.html#a453d001cb992b62b8cf2620a4a1f4778',1,'generateOTP(csprng *RNG):&#160;utils.c']]],
   ['generaterandom',['generateRandom',['../utils_8h.html#aac29f2d3dfb9593dba84f2bfe7051aba',1,'generateRandom(csprng *RNG, octet *randomValue):&#160;utils.c'],['../utils_8c.html#aac29f2d3dfb9593dba84f2bfe7051aba',1,'generateRandom(csprng *RNG, octet *randomValue):&#160;utils.c']]],
diff --git a/website/static/cdocs/search/all_7.html b/website/static/cdocs/search/all_7.html
index 9cd0196..de19107 100644
--- a/website/static/cdocs/search/all_7.html
+++ b/website/static/cdocs/search/all_7.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_7.js b/website/static/cdocs/search/all_7.js
index 1f38d80..cbfc846 100644
--- a/website/static/cdocs/search/all_7.js
+++ b/website/static/cdocs/search/all_7.js
@@ -9,61 +9,37 @@
   ['hash_5ftype_5frsa_5f2048',['HASH_TYPE_RSA_2048',['../rsa__2048_8h.html#a4461a3cfe51cd4d692255ce4e510a84b',1,'rsa_2048.h']]],
   ['hash_5ftype_5frsa_5f3072',['HASH_TYPE_RSA_3072',['../rsa__3072_8h.html#a7ccf1504fdbe6fbb51b3bdc6559fe686',1,'rsa_3072.h']]],
   ['hash_5ftype_5frsa_5f4096',['HASH_TYPE_RSA_4096',['../rsa__4096_8h.html#acf16200cf44f099048f8a6e26ebdb0f0',1,'rsa_4096.h']]],
-  ['hbits_5f1024_5f28',['HBITS_1024_28',['../big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488',1,'big_1024_28.h']]],
   ['hbits_5f1024_5f58',['HBITS_1024_58',['../big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d',1,'big_1024_58.h']]],
-  ['hbits_5f256_5f28',['HBITS_256_28',['../big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b',1,'big_256_28.h']]],
-  ['hbits_5f256_5f29',['HBITS_256_29',['../big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af',1,'big_256_29.h']]],
   ['hbits_5f256_5f56',['HBITS_256_56',['../big__256__56_8h.html#a9de3212703b203df789675e419950b50',1,'big_256_56.h']]],
-  ['hbits_5f336_5f29',['HBITS_336_29',['../big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c',1,'big_336_29.h']]],
   ['hbits_5f336_5f60',['HBITS_336_60',['../big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9',1,'big_336_60.h']]],
-  ['hbits_5f384_5f28',['HBITS_384_28',['../big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b',1,'big_384_28.h']]],
-  ['hbits_5f384_5f29',['HBITS_384_29',['../big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5',1,'big_384_29.h']]],
   ['hbits_5f384_5f56',['HBITS_384_56',['../big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b',1,'big_384_56.h']]],
   ['hbits_5f384_5f58',['HBITS_384_58',['../big__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4',1,'big_384_58.h']]],
-  ['hbits_5f416_5f29',['HBITS_416_29',['../big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6',1,'big_416_29.h']]],
   ['hbits_5f416_5f60',['HBITS_416_60',['../big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478',1,'big_416_60.h']]],
-  ['hbits_5f448_5f29',['HBITS_448_29',['../big__448__29_8h.html#ad8e6de2119434515297fc71c80107920',1,'big_448_29.h']]],
   ['hbits_5f448_5f58',['HBITS_448_58',['../big__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af',1,'big_448_58.h']]],
-  ['hbits_5f464_5f28',['HBITS_464_28',['../big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4',1,'big_464_28.h']]],
   ['hbits_5f464_5f60',['HBITS_464_60',['../big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5',1,'big_464_60.h']]],
-  ['hbits_5f480_5f29',['HBITS_480_29',['../big__480__29_8h.html#a74df771083837786915320c16a8a2bd2',1,'big_480_29.h']]],
   ['hbits_5f480_5f56',['HBITS_480_56',['../big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6',1,'big_480_56.h']]],
-  ['hbits_5f512_5f29',['HBITS_512_29',['../big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc',1,'big_512_29.h']]],
   ['hbits_5f512_5f56',['HBITS_512_56',['../big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962',1,'big_512_56.h']]],
   ['hbits_5f512_5f60',['HBITS_512_60',['../big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808',1,'big_512_60.h']]],
-  ['hbits_5f528_5f28',['HBITS_528_28',['../big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f',1,'big_528_28.h']]],
   ['hbits_5f528_5f60',['HBITS_528_60',['../big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed',1,'big_528_60.h']]],
-  ['hbits_5f560_5f29',['HBITS_560_29',['../big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9',1,'big_560_29.h']]],
   ['hbits_5f560_5f58',['HBITS_560_58',['../big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4',1,'big_560_58.h']]],
   ['hflen_5f2048',['HFLEN_2048',['../ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc',1,'ff_2048.h']]],
   ['hflen_5f3072',['HFLEN_3072',['../ff__3072_8h.html#a991a0cbc301024bc7d87b9acb0ba3848',1,'ff_3072.h']]],
   ['hflen_5f4096',['HFLEN_4096',['../ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11',1,'ff_4096.h']]],
+  ['hfs_5f2048',['HFS_2048',['../paillier_8h.html#af12daa3ccdbe8c973ca455b53f58f13b',1,'paillier.h']]],
+  ['hfs_5f4096',['HFS_4096',['../paillier_8h.html#a1f681610ea37533def54ef7ef54ccb92',1,'paillier.h']]],
   ['hlen',['hlen',['../structhash256.html#ab4db96c3d30dce3db80bfbc92ca0aecf',1,'hash256::hlen()'],['../structhash512.html#a56689ae69347d42cf0fa4a424e789832',1,'hash512::hlen()']]],
   ['hmac',['HMAC',['../ecdh__support_8h.html#a3f914310b794e24aed3b14958579c246',1,'ecdh_support.c']]],
-  ['hmask_5f1024_5f28',['HMASK_1024_28',['../big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56',1,'big_1024_28.h']]],
   ['hmask_5f1024_5f58',['HMASK_1024_58',['../big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4',1,'big_1024_58.h']]],
-  ['hmask_5f256_5f28',['HMASK_256_28',['../big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4',1,'big_256_28.h']]],
-  ['hmask_5f256_5f29',['HMASK_256_29',['../big__256__29_8h.html#a9873557170d0afc86c18f63c45658217',1,'big_256_29.h']]],
   ['hmask_5f256_5f56',['HMASK_256_56',['../big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b',1,'big_256_56.h']]],
-  ['hmask_5f336_5f29',['HMASK_336_29',['../big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8',1,'big_336_29.h']]],
   ['hmask_5f336_5f60',['HMASK_336_60',['../big__336__60_8h.html#a11943313ab42b453d55d266c55c51518',1,'big_336_60.h']]],
-  ['hmask_5f384_5f28',['HMASK_384_28',['../big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe',1,'big_384_28.h']]],
-  ['hmask_5f384_5f29',['HMASK_384_29',['../big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952',1,'big_384_29.h']]],
   ['hmask_5f384_5f56',['HMASK_384_56',['../big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498',1,'big_384_56.h']]],
   ['hmask_5f384_5f58',['HMASK_384_58',['../big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51',1,'big_384_58.h']]],
-  ['hmask_5f416_5f29',['HMASK_416_29',['../big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d',1,'big_416_29.h']]],
   ['hmask_5f416_5f60',['HMASK_416_60',['../big__416__60_8h.html#aa64a4f8541df59159943cce57127b658',1,'big_416_60.h']]],
-  ['hmask_5f448_5f29',['HMASK_448_29',['../big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3',1,'big_448_29.h']]],
   ['hmask_5f448_5f58',['HMASK_448_58',['../big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7',1,'big_448_58.h']]],
-  ['hmask_5f464_5f28',['HMASK_464_28',['../big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6',1,'big_464_28.h']]],
   ['hmask_5f464_5f60',['HMASK_464_60',['../big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2',1,'big_464_60.h']]],
-  ['hmask_5f480_5f29',['HMASK_480_29',['../big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6',1,'big_480_29.h']]],
   ['hmask_5f480_5f56',['HMASK_480_56',['../big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65',1,'big_480_56.h']]],
-  ['hmask_5f512_5f29',['HMASK_512_29',['../big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3',1,'big_512_29.h']]],
   ['hmask_5f512_5f56',['HMASK_512_56',['../big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b',1,'big_512_56.h']]],
   ['hmask_5f512_5f60',['HMASK_512_60',['../big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6',1,'big_512_60.h']]],
-  ['hmask_5f528_5f28',['HMASK_528_28',['../big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6',1,'big_528_28.h']]],
   ['hmask_5f528_5f60',['HMASK_528_60',['../big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c',1,'big_528_60.h']]],
-  ['hmask_5f560_5f29',['HMASK_560_29',['../big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877',1,'big_560_29.h']]],
   ['hmask_5f560_5f58',['HMASK_560_58',['../big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2',1,'big_560_58.h']]]
 ];
diff --git a/website/static/cdocs/search/all_8.html b/website/static/cdocs/search/all_8.html
index 1e8fb9c..11e27cd 100644
--- a/website/static/cdocs/search/all_8.html
+++ b/website/static/cdocs/search/all_8.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_8.js b/website/static/cdocs/search/all_8.js
index f0b3435..52a068b 100644
--- a/website/static/cdocs/search/all_8.js
+++ b/website/static/cdocs/search/all_8.js
@@ -1,4 +1,6 @@
 var searchData=
 [
+  ['invp',['invp',['../structPAILLIER__private__key.html#a952c7c468cd4d17b5b5671fe31165a8d',1,'PAILLIER_private_key']]],
+  ['invq',['invq',['../structPAILLIER__private__key.html#a5146fab180da3422d66d3cf944fb0247',1,'PAILLIER_private_key']]],
   ['ira',['ira',['../structcsprng.html#a7995ef3e74e5d34984d4d0eb38dffd9e',1,'csprng']]]
 ];
diff --git a/website/static/cdocs/search/all_9.html b/website/static/cdocs/search/all_9.html
index 27df366..f8abbbe 100644
--- a/website/static/cdocs/search/all_9.html
+++ b/website/static/cdocs/search/all_9.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_a.html b/website/static/cdocs/search/all_a.html
index 63f9254..9601fce 100644
--- a/website/static/cdocs/search/all_a.html
+++ b/website/static/cdocs/search/all_a.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_a.js b/website/static/cdocs/search/all_a.js
index 447ce6a..510ca18 100644
--- a/website/static/cdocs/search/all_a.js
+++ b/website/static/cdocs/search/all_a.js
@@ -4,5 +4,7 @@
   ['lena',['lenA',['../structgcm.html#a1884ba7add128b711fec4270eeb17daf',1,'gcm']]],
   ['lenc',['lenC',['../structgcm.html#a1bd72fc4a946169be6734d6f1776bb7c',1,'gcm']]],
   ['length',['length',['../structhash256.html#aed90ef35ddc8f515e666596360090338',1,'hash256::length()'],['../structhash512.html#a71f1b748d99be6cd676fc5a7b3f291c9',1,'hash512::length()'],['../structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09',1,'sha3::length()']]],
-  ['linux',['Linux',['../linux.html',1,'']]]
+  ['linux',['Linux',['../linux.html',1,'']]],
+  ['lp',['lp',['../structPAILLIER__private__key.html#af888282934b457a7c74bfd5ee5af0247',1,'PAILLIER_private_key']]],
+  ['lq',['lq',['../structPAILLIER__private__key.html#a4cef9b08dca71828a00c91d1927bf66c',1,'PAILLIER_private_key']]]
 ];
diff --git a/website/static/cdocs/search/all_b.html b/website/static/cdocs/search/all_b.html
index 44ae3e4..0814e4e 100644
--- a/website/static/cdocs/search/all_b.html
+++ b/website/static/cdocs/search/all_b.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_b.js b/website/static/cdocs/search/all_b.js
index 56c93f5..dc7868f 100644
--- a/website/static/cdocs/search/all_b.js
+++ b/website/static/cdocs/search/all_b.js
@@ -61,31 +61,18 @@
   ['modbits_5fnist384',['MODBITS_NIST384',['../fp__NIST384_8h.html#a46a8c4dcaf66a81b8b417732ba12b974',1,'fp_NIST384.h']]],
   ['modbits_5fnist521',['MODBITS_NIST521',['../fp__NIST521_8h.html#a632d31215148d03899762d8a7f81c808',1,'fp_NIST521.h']]],
   ['modbits_5fsecp256k1',['MODBITS_SECP256K1',['../fp__SECP256K1_8h.html#a7821992562b3f74c125bb8c7e8e4da19',1,'fp_SECP256K1.h']]],
-  ['modbytes_5f1024_5f28',['MODBYTES_1024_28',['../config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f',1,'config_big_1024_28.h']]],
   ['modbytes_5f1024_5f58',['MODBYTES_1024_58',['../config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112',1,'config_big_1024_58.h']]],
-  ['modbytes_5f256_5f28',['MODBYTES_256_28',['../config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae',1,'config_big_256_28.h']]],
-  ['modbytes_5f256_5f29',['MODBYTES_256_29',['../config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d',1,'config_big_256_29.h']]],
   ['modbytes_5f256_5f56',['MODBYTES_256_56',['../config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e',1,'config_big_256_56.h']]],
-  ['modbytes_5f336_5f29',['MODBYTES_336_29',['../config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8',1,'config_big_336_29.h']]],
   ['modbytes_5f336_5f60',['MODBYTES_336_60',['../config__big__336__60_8h.html#a95eaf6b85922074e48a30404bc717047',1,'config_big_336_60.h']]],
-  ['modbytes_5f384_5f28',['MODBYTES_384_28',['../config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189',1,'config_big_384_28.h']]],
-  ['modbytes_5f384_5f29',['MODBYTES_384_29',['../config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79',1,'config_big_384_29.h']]],
   ['modbytes_5f384_5f56',['MODBYTES_384_56',['../config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d',1,'config_big_384_56.h']]],
   ['modbytes_5f384_5f58',['MODBYTES_384_58',['../config__big__384__58_8h.html#a231158cd33825cff286c2406336e0224',1,'config_big_384_58.h']]],
-  ['modbytes_5f416_5f29',['MODBYTES_416_29',['../config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027',1,'config_big_416_29.h']]],
   ['modbytes_5f416_5f60',['MODBYTES_416_60',['../config__big__416__60_8h.html#aeb3a2204ca57d153e2c4ee83ba1b340a',1,'config_big_416_60.h']]],
-  ['modbytes_5f448_5f29',['MODBYTES_448_29',['../config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d',1,'config_big_448_29.h']]],
   ['modbytes_5f448_5f58',['MODBYTES_448_58',['../config__big__448__58_8h.html#a60dcc058a132176c334a2d3647c8dfa8',1,'config_big_448_58.h']]],
-  ['modbytes_5f464_5f28',['MODBYTES_464_28',['../config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b',1,'config_big_464_28.h']]],
   ['modbytes_5f464_5f60',['MODBYTES_464_60',['../config__big__464__60_8h.html#a442cabbdb66ae413e2c26865230cf955',1,'config_big_464_60.h']]],
-  ['modbytes_5f480_5f29',['MODBYTES_480_29',['../config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362',1,'config_big_480_29.h']]],
   ['modbytes_5f480_5f56',['MODBYTES_480_56',['../config__big__480__56_8h.html#a191ec4881a360e5cfd3a943c8861961d',1,'config_big_480_56.h']]],
-  ['modbytes_5f512_5f29',['MODBYTES_512_29',['../config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e',1,'config_big_512_29.h']]],
   ['modbytes_5f512_5f56',['MODBYTES_512_56',['../config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861',1,'config_big_512_56.h']]],
   ['modbytes_5f512_5f60',['MODBYTES_512_60',['../config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525',1,'config_big_512_60.h']]],
-  ['modbytes_5f528_5f28',['MODBYTES_528_28',['../config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6',1,'config_big_528_28.h']]],
   ['modbytes_5f528_5f60',['MODBYTES_528_60',['../config__big__528__60_8h.html#a49e3aed3f2be5bc29bf59dc49c05cd6d',1,'config_big_528_60.h']]],
-  ['modbytes_5f560_5f29',['MODBYTES_560_29',['../config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84',1,'config_big_560_29.h']]],
   ['modbytes_5f560_5f58',['MODBYTES_560_58',['../config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429',1,'config_big_560_58.h']]],
   ['mode',['mode',['../structamcl__aes.html#afcfd230897e7a79882b5ebcfecd6f363',1,'amcl_aes']]],
   ['modulus_5f25519',['Modulus_25519',['../fp__25519_8h.html#a8f81c1436abf0b1161c4ba430809f395',1,'fp_25519.h']]],
@@ -111,6 +98,7 @@
   ['modulus_5fnist384',['Modulus_NIST384',['../fp__NIST384_8h.html#a3ec2b2be30bd99b65e12c56750af1ab4',1,'fp_NIST384.h']]],
   ['modulus_5fnist521',['Modulus_NIST521',['../fp__NIST521_8h.html#af5cbfa91010d117a9fcb2fddad052c78',1,'fp_NIST521.h']]],
   ['modulus_5fsecp256k1',['Modulus_SECP256K1',['../fp__SECP256K1_8h.html#a16483b07b42fa4c69f9fba84c7eee4a5',1,'fp_SECP256K1.h']]],
+  ['mp',['mp',['../structPAILLIER__private__key.html#a2baa64964f2d29de901c3495a0b10951',1,'PAILLIER_private_key']]],
   ['mpin192_5fbls24_2eh',['mpin192_BLS24.h',['../mpin192__BLS24_8h.html',1,'']]],
   ['mpin256_5fbls48_2eh',['mpin256_BLS48.h',['../mpin256__BLS48_8h.html',1,'']]],
   ['mpin_5fbad_5fpin',['MPIN_BAD_PIN',['../mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin192_BLS24.h'],['../mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin256_BLS48.h'],['../mpin__BLS381_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BLS381.h'],['../mpin__BLS383_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BLS383.h'],['../mpin__BLS461_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BLS461.h'],['../mpin__BN254_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BN254.h'],['../mpin__BN254CX_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BN254CX.h'],['../mpin__FP256BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_FP256BN.h'],['../mpin__FP512BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_FP512BN.h']]],
@@ -348,5 +336,6 @@
   ['mpin_5ffp512bn_5fserver_5fkey',['MPIN_FP512BN_SERVER_KEY',['../mpin__FP512BN_8h.html#aef561a9f7967bdf1d5dd24f976adf474',1,'mpin_FP512BN.c']]],
   ['mpin_5finvalid_5fpoint',['MPIN_INVALID_POINT',['../mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin192_BLS24.h'],['../mpin256__BLS48_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin256_BLS48.h'],['../mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BLS381.h'],['../mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BLS383.h'],['../mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BLS461.h'],['../mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BN254.h'],['../mpin__BN254CX_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BN254CX.h'],['../mpin__FP256BN_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_FP256BN.h'],['../mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_FP512BN.h']]],
   ['mpin_5fok',['MPIN_OK',['../mpin192__BLS24_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin192_BLS24.h'],['../mpin256__BLS48_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin256_BLS48.h'],['../mpin__BLS381_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin_BLS381.h'],['../mpin__BLS383_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin_BLS383.h'],['../mpin__BLS461_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin_BLS461.h'],['../mpin__BN254_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin_BN254.h'],['../mpin__BN254CX_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin_BN254CX.h'],['../mpin__FP256BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin_FP256BN.h'],['../mpin__FP512BN_8h.html#a5bdbc339b8d614c9c4912a6b6040f4ec',1,'MPIN_OK():&#160;mpin_FP512BN.h']]],
-  ['mpin_5fpas',['MPIN_PAS',['../mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BLS381.h'],['../mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BLS383.h'],['../mpin__BLS461_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BLS461.h'],['../mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BN254.h'],['../mpin__BN254CX_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BN254CX.h'],['../mpin__FP256BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_FP256BN.h'],['../mpin__FP512BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_FP512BN.h']]]
+  ['mpin_5fpas',['MPIN_PAS',['../mpin__BLS381_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BLS381.h'],['../mpin__BLS383_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BLS383.h'],['../mpin__BLS461_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BLS461.h'],['../mpin__BN254_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BN254.h'],['../mpin__BN254CX_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_BN254CX.h'],['../mpin__FP256BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_FP256BN.h'],['../mpin__FP512BN_8h.html#a0497a29b4ff3af7cecba9ea4140af442',1,'MPIN_PAS():&#160;mpin_FP512BN.h']]],
+  ['mq',['mq',['../structPAILLIER__private__key.html#a8eabfd60330252513a941ff4eb60a74a',1,'PAILLIER_private_key']]]
 ];
diff --git a/website/static/cdocs/search/all_c.html b/website/static/cdocs/search/all_c.html
index 3de1586..da08c38 100644
--- a/website/static/cdocs/search/all_c.html
+++ b/website/static/cdocs/search/all_c.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_c.js b/website/static/cdocs/search/all_c.js
index 9cf5a14..3166c17 100644
--- a/website/static/cdocs/search/all_c.js
+++ b/website/static/cdocs/search/all_c.js
@@ -1,58 +1,33 @@
 var searchData=
 [
-  ['n',['n',['../structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e',1,'rsa_public_key_2048::n()'],['../structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c',1,'rsa_public_key_3072::n()'],['../structrsa__public__key__4096.html#a4a90bc6aeaa897b7934e7fe46fe6cf67',1,'rsa_public_key_4096::n()']]],
-  ['nexcess_5f1024_5f28',['NEXCESS_1024_28',['../big__1024__28_8h.html#a69f667152c7fff6cad4a64eaaf8a21da',1,'big_1024_28.h']]],
+  ['n',['n',['../structPAILLIER__public__key.html#aea6d614974ac68d25dac9e180bcb7ffb',1,'PAILLIER_public_key::n()'],['../structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e',1,'rsa_public_key_2048::n()'],['../structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c',1,'rsa_public_key_3072::n()'],['../structrsa__public__key__4096.html#a4a90bc6aeaa897b7934e7fe46fe6cf67',1,'rsa_public_key_4096::n()']]],
+  ['n2',['n2',['../structPAILLIER__public__key.html#a43b28e4ff07c932a25813cc639419bc6',1,'PAILLIER_public_key']]],
   ['nexcess_5f1024_5f58',['NEXCESS_1024_58',['../big__1024__58_8h.html#a6d05e6d3b558714d70318f38f704ce6d',1,'big_1024_58.h']]],
-  ['nexcess_5f256_5f28',['NEXCESS_256_28',['../big__256__28_8h.html#a1fd6315e4e0763ca6b2b12f38c902a57',1,'big_256_28.h']]],
-  ['nexcess_5f256_5f29',['NEXCESS_256_29',['../big__256__29_8h.html#a3211c1a2e191826e47948c6967f688ab',1,'big_256_29.h']]],
   ['nexcess_5f256_5f56',['NEXCESS_256_56',['../big__256__56_8h.html#abb2364526460e9b2121ae38a6bd46944',1,'big_256_56.h']]],
-  ['nexcess_5f336_5f29',['NEXCESS_336_29',['../big__336__29_8h.html#a07f6d3a4d4c0bd5724e65181ab517d2c',1,'big_336_29.h']]],
   ['nexcess_5f336_5f60',['NEXCESS_336_60',['../big__336__60_8h.html#ae3e8977ecd7ecde394e2b4aa9e632dfb',1,'big_336_60.h']]],
-  ['nexcess_5f384_5f28',['NEXCESS_384_28',['../big__384__28_8h.html#a8fd2df8afe92c49d115a5fc91d4deb59',1,'big_384_28.h']]],
-  ['nexcess_5f384_5f29',['NEXCESS_384_29',['../big__384__29_8h.html#a0eb3ec057af21eb8c5e402134bda3fbb',1,'big_384_29.h']]],
   ['nexcess_5f384_5f56',['NEXCESS_384_56',['../big__384__56_8h.html#a5a6ef8568e207c971f9c23b06673b778',1,'big_384_56.h']]],
   ['nexcess_5f384_5f58',['NEXCESS_384_58',['../big__384__58_8h.html#af4327ee14410cfee8eb9f247e40cd284',1,'big_384_58.h']]],
-  ['nexcess_5f416_5f29',['NEXCESS_416_29',['../big__416__29_8h.html#a0da12b741692af75253ccfe8992b197e',1,'big_416_29.h']]],
   ['nexcess_5f416_5f60',['NEXCESS_416_60',['../big__416__60_8h.html#a8876ed3c4e97b21fb7392a856bd41c70',1,'big_416_60.h']]],
-  ['nexcess_5f448_5f29',['NEXCESS_448_29',['../big__448__29_8h.html#a2a565018109ce03e9c7f6c2225b7bfd8',1,'big_448_29.h']]],
   ['nexcess_5f448_5f58',['NEXCESS_448_58',['../big__448__58_8h.html#a86ae103736d698ad9e58d2b963ad64fe',1,'big_448_58.h']]],
-  ['nexcess_5f464_5f28',['NEXCESS_464_28',['../big__464__28_8h.html#a46960fefb33fff4a60aa0dcf9525c88d',1,'big_464_28.h']]],
   ['nexcess_5f464_5f60',['NEXCESS_464_60',['../big__464__60_8h.html#ac448e22eed8e2d022de02638385fd116',1,'big_464_60.h']]],
-  ['nexcess_5f480_5f29',['NEXCESS_480_29',['../big__480__29_8h.html#ab8ca0388c031f3baa2225a98dbb2cc0a',1,'big_480_29.h']]],
   ['nexcess_5f480_5f56',['NEXCESS_480_56',['../big__480__56_8h.html#ab0b2554d6a56132dfed86a30044f6b3a',1,'big_480_56.h']]],
-  ['nexcess_5f512_5f29',['NEXCESS_512_29',['../big__512__29_8h.html#abbb65ff3dcf6f8c01ad07af79c8aed5a',1,'big_512_29.h']]],
   ['nexcess_5f512_5f56',['NEXCESS_512_56',['../big__512__56_8h.html#a04df0e72fd01b043bc75136f55dddefa',1,'big_512_56.h']]],
   ['nexcess_5f512_5f60',['NEXCESS_512_60',['../big__512__60_8h.html#a5708fee15b225da579de35fc1b89ca67',1,'big_512_60.h']]],
-  ['nexcess_5f528_5f28',['NEXCESS_528_28',['../big__528__28_8h.html#a2b0456920d6877c24ced651bc6ff5617',1,'big_528_28.h']]],
   ['nexcess_5f528_5f60',['NEXCESS_528_60',['../big__528__60_8h.html#acd57cc9b3fb3e357ef8e50b6c7210c07',1,'big_528_60.h']]],
-  ['nexcess_5f560_5f29',['NEXCESS_560_29',['../big__560__29_8h.html#af547bb109561c1676dd7fa6d28c4c56c',1,'big_560_29.h']]],
   ['nexcess_5f560_5f58',['NEXCESS_560_58',['../big__560__58_8h.html#a8c82fbf779b6b62aef7e61f30b6b59e5',1,'big_560_58.h']]],
   ['nk',['Nk',['../structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6',1,'amcl_aes']]],
-  ['nlen_5f1024_5f28',['NLEN_1024_28',['../big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f',1,'big_1024_28.h']]],
   ['nlen_5f1024_5f58',['NLEN_1024_58',['../big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37',1,'big_1024_58.h']]],
-  ['nlen_5f256_5f28',['NLEN_256_28',['../big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8',1,'big_256_28.h']]],
-  ['nlen_5f256_5f29',['NLEN_256_29',['../big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28',1,'big_256_29.h']]],
   ['nlen_5f256_5f56',['NLEN_256_56',['../big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309',1,'big_256_56.h']]],
-  ['nlen_5f336_5f29',['NLEN_336_29',['../big__336__29_8h.html#a8b14578e59aabea47a378405513d004a',1,'big_336_29.h']]],
   ['nlen_5f336_5f60',['NLEN_336_60',['../big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659',1,'big_336_60.h']]],
-  ['nlen_5f384_5f28',['NLEN_384_28',['../big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e',1,'big_384_28.h']]],
-  ['nlen_5f384_5f29',['NLEN_384_29',['../big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3',1,'big_384_29.h']]],
   ['nlen_5f384_5f56',['NLEN_384_56',['../big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748',1,'big_384_56.h']]],
   ['nlen_5f384_5f58',['NLEN_384_58',['../big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630',1,'big_384_58.h']]],
-  ['nlen_5f416_5f29',['NLEN_416_29',['../big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a',1,'big_416_29.h']]],
   ['nlen_5f416_5f60',['NLEN_416_60',['../big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276',1,'big_416_60.h']]],
-  ['nlen_5f448_5f29',['NLEN_448_29',['../big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc',1,'big_448_29.h']]],
   ['nlen_5f448_5f58',['NLEN_448_58',['../big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2',1,'big_448_58.h']]],
-  ['nlen_5f464_5f28',['NLEN_464_28',['../big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d',1,'big_464_28.h']]],
   ['nlen_5f464_5f60',['NLEN_464_60',['../big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d',1,'big_464_60.h']]],
-  ['nlen_5f480_5f29',['NLEN_480_29',['../big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696',1,'big_480_29.h']]],
   ['nlen_5f480_5f56',['NLEN_480_56',['../big__480__56_8h.html#a107885e16c56648b41e07de2996971d4',1,'big_480_56.h']]],
-  ['nlen_5f512_5f29',['NLEN_512_29',['../big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2',1,'big_512_29.h']]],
   ['nlen_5f512_5f56',['NLEN_512_56',['../big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441',1,'big_512_56.h']]],
   ['nlen_5f512_5f60',['NLEN_512_60',['../big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b',1,'big_512_60.h']]],
-  ['nlen_5f528_5f28',['NLEN_528_28',['../big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf',1,'big_528_28.h']]],
   ['nlen_5f528_5f60',['NLEN_528_60',['../big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07',1,'big_528_60.h']]],
-  ['nlen_5f560_5f29',['NLEN_560_29',['../big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a',1,'big_560_29.h']]],
   ['nlen_5f560_5f58',['NLEN_560_58',['../big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415',1,'big_560_58.h']]],
   ['nr',['Nr',['../structamcl__aes.html#ad9bc7bd0b4cf5f9aa28b11306b1ef982',1,'amcl_aes']]]
 ];
diff --git a/website/static/cdocs/search/all_d.html b/website/static/cdocs/search/all_d.html
index a2d5bd7..9986c9c 100644
--- a/website/static/cdocs/search/all_d.html
+++ b/website/static/cdocs/search/all_d.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_e.html b/website/static/cdocs/search/all_e.html
index f9a056d..9fa42bb 100644
--- a/website/static/cdocs/search/all_e.html
+++ b/website/static/cdocs/search/all_e.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_e.js b/website/static/cdocs/search/all_e.js
index 6c7bef6..cb39198 100644
--- a/website/static/cdocs/search/all_e.js
+++ b/website/static/cdocs/search/all_e.js
@@ -1,6 +1,7 @@
 var searchData=
 [
-  ['p',['p',['../structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5',1,'rsa_private_key_2048::p()'],['../structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c',1,'rsa_private_key_3072::p()'],['../structrsa__private__key__4096.html#a8e0b9a8a44f62faf01c1cd6eb45cc191',1,'rsa_private_key_4096::p()']]],
+  ['p',['p',['../structPAILLIER__private__key.html#ab3a4b6e01c3185983d6240e4e093574a',1,'PAILLIER_private_key::p()'],['../structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5',1,'rsa_private_key_2048::p()'],['../structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c',1,'rsa_private_key_3072::p()'],['../structrsa__private__key__4096.html#a8e0b9a8a44f62faf01c1cd6eb45cc191',1,'rsa_private_key_4096::p()']]],
+  ['p2',['p2',['../structPAILLIER__private__key.html#a954590d1d80ad8257ae57dc258a8c2c9',1,'PAILLIER_private_key']]],
   ['p_5fexcess_5f2048',['P_EXCESS_2048',['../ff__2048_8h.html#a48cd404e88e86911f940a7f7f1048db6',1,'ff_2048.h']]],
   ['p_5fexcess_5f3072',['P_EXCESS_3072',['../ff__3072_8h.html#a4b6a94575f3a30ec24ee3082ba370da2',1,'ff_3072.h']]],
   ['p_5fexcess_5f4096',['P_EXCESS_4096',['../ff__4096_8h.html#a07368efd518f012615129b503e86071a',1,'ff_4096.h']]],
@@ -13,6 +14,17 @@
   ['p_5ftbits_5f2048',['P_TBITS_2048',['../ff__2048_8h.html#a40c3a14228a7e89dae27ebad9d92953b',1,'ff_2048.h']]],
   ['p_5ftbits_5f3072',['P_TBITS_3072',['../ff__3072_8h.html#abc64851d800e9346f5cb224ed5993102',1,'ff_3072.h']]],
   ['p_5ftbits_5f4096',['P_TBITS_4096',['../ff__4096_8h.html#a5ba9da7c29e141e405df229d57698561',1,'ff_4096.h']]],
+  ['paillier_2eh',['paillier.h',['../paillier_8h.html',1,'']]],
+  ['paillier_5fadd',['PAILLIER_ADD',['../paillier_8h.html#ae7c14aa732c7296722ebee1a27b19a3f',1,'paillier.c']]],
+  ['paillier_5fdecrypt',['PAILLIER_DECRYPT',['../paillier_8h.html#afdfd329c0c2296587f4ad31b726c46a9',1,'paillier.c']]],
+  ['paillier_5fencrypt',['PAILLIER_ENCRYPT',['../paillier_8h.html#a637d7102d00ab63a898b34fb21c835d3',1,'paillier.c']]],
+  ['paillier_5fkey_5fpair',['PAILLIER_KEY_PAIR',['../paillier_8h.html#af2c7ba1d7f74ba21e17b54463a3bb7a8',1,'paillier.c']]],
+  ['paillier_5fmult',['PAILLIER_MULT',['../paillier_8h.html#a3efdaed7b02dacdf319966f253f26d40',1,'paillier.c']]],
+  ['paillier_5fpk_5ffromoctet',['PAILLIER_PK_fromOctet',['../paillier_8h.html#a8910d02efcaa97d176c90f2e20496d1a',1,'paillier.c']]],
+  ['paillier_5fpk_5ftooctet',['PAILLIER_PK_toOctet',['../paillier_8h.html#a7de192657d81c9a434ef9e17ead98c15',1,'paillier.c']]],
+  ['paillier_5fprivate_5fkey',['PAILLIER_private_key',['../structPAILLIER__private__key.html',1,'']]],
+  ['paillier_5fprivate_5fkey_5fkill',['PAILLIER_PRIVATE_KEY_KILL',['../paillier_8h.html#a4cf8d2d20dbdb35662bd000c42252ad9',1,'paillier.c']]],
+  ['paillier_5fpublic_5fkey',['PAILLIER_public_key',['../structPAILLIER__public__key.html',1,'']]],
   ['pair_5fbls381_2eh',['pair_BLS381.h',['../pair__BLS381_8h.html',1,'']]],
   ['pair_5fbls381_5fanother',['PAIR_BLS381_another',['../pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642',1,'pair_BLS381.c']]],
   ['pair_5fbls381_5fate',['PAIR_BLS381_ate',['../pair__BLS381_8h.html#aa3d950560e479b434ce3c0545e8936ee',1,'pair_BLS381.c']]],
diff --git a/website/static/cdocs/search/all_f.html b/website/static/cdocs/search/all_f.html
index f6997fa..6ecfc0e 100644
--- a/website/static/cdocs/search/all_f.html
+++ b/website/static/cdocs/search/all_f.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_f.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/all_f.js b/website/static/cdocs/search/all_f.js
index e3c2449..627ea58 100644
--- a/website/static/cdocs/search/all_f.js
+++ b/website/static/cdocs/search/all_f.js
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['q',['q',['../structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674',1,'rsa_private_key_2048::q()'],['../structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7',1,'rsa_private_key_3072::q()'],['../structrsa__private__key__4096.html#ad078f177ba6eb2967066c102b40d0e09',1,'rsa_private_key_4096::q()']]]
+  ['q',['q',['../structPAILLIER__private__key.html#a0827afad71df06ce991fa2799cc2f381',1,'PAILLIER_private_key::q()'],['../structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674',1,'rsa_private_key_2048::q()'],['../structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7',1,'rsa_private_key_3072::q()'],['../structrsa__private__key__4096.html#ad078f177ba6eb2967066c102b40d0e09',1,'rsa_private_key_4096::q()']]],
+  ['q2',['q2',['../structPAILLIER__private__key.html#acf50ad57d674567ac4065000152f87c4',1,'PAILLIER_private_key']]]
 ];
diff --git a/website/static/cdocs/search/classes_0.html b/website/static/cdocs/search/classes_0.html
index b3c6ec6..1c3e406 100644
--- a/website/static/cdocs/search/classes_0.html
+++ b/website/static/cdocs/search/classes_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_1.html b/website/static/cdocs/search/classes_1.html
index b744c4d..a8e7069 100644
--- a/website/static/cdocs/search/classes_1.html
+++ b/website/static/cdocs/search/classes_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_2.html b/website/static/cdocs/search/classes_2.html
index 7878acb..5c09c96 100644
--- a/website/static/cdocs/search/classes_2.html
+++ b/website/static/cdocs/search/classes_2.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_3.html b/website/static/cdocs/search/classes_3.html
index c231d86..5faaeba 100644
--- a/website/static/cdocs/search/classes_3.html
+++ b/website/static/cdocs/search/classes_3.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_4.html b/website/static/cdocs/search/classes_4.html
index 86dd438..b3f11bc 100644
--- a/website/static/cdocs/search/classes_4.html
+++ b/website/static/cdocs/search/classes_4.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_5.html b/website/static/cdocs/search/classes_5.html
index 7aaef4d..952ace6 100644
--- a/website/static/cdocs/search/classes_5.html
+++ b/website/static/cdocs/search/classes_5.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_6.html b/website/static/cdocs/search/classes_6.html
index aad7834..75eef9f 100644
--- a/website/static/cdocs/search/classes_6.html
+++ b/website/static/cdocs/search/classes_6.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_7.html b/website/static/cdocs/search/classes_7.html
index 794e394..745f5f2 100644
--- a/website/static/cdocs/search/classes_7.html
+++ b/website/static/cdocs/search/classes_7.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_7.js b/website/static/cdocs/search/classes_7.js
index ed4b732..eeddfbd 100644
--- a/website/static/cdocs/search/classes_7.js
+++ b/website/static/cdocs/search/classes_7.js
@@ -1,4 +1,6 @@
 var searchData=
 [
+  ['paillier_5fprivate_5fkey',['PAILLIER_private_key',['../structPAILLIER__private__key.html',1,'']]],
+  ['paillier_5fpublic_5fkey',['PAILLIER_public_key',['../structPAILLIER__public__key.html',1,'']]],
   ['pktype',['pktype',['../structpktype.html',1,'']]]
 ];
diff --git a/website/static/cdocs/search/classes_8.html b/website/static/cdocs/search/classes_8.html
index 1ba60c9..5a443d9 100644
--- a/website/static/cdocs/search/classes_8.html
+++ b/website/static/cdocs/search/classes_8.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/classes_9.html b/website/static/cdocs/search/classes_9.html
index 565e7d7..9cb55be 100644
--- a/website/static/cdocs/search/classes_9.html
+++ b/website/static/cdocs/search/classes_9.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_0.html b/website/static/cdocs/search/defines_0.html
index dbe0642..5b25204 100644
--- a/website/static/cdocs/search/defines_0.html
+++ b/website/static/cdocs/search/defines_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_0.js b/website/static/cdocs/search/defines_0.js
index cf7f3a7..f36185d 100644
--- a/website/static/cdocs/search/defines_0.js
+++ b/website/static/cdocs/search/defines_0.js
@@ -1,30 +1,17 @@
 var searchData=
 [
-  ['basebits_5f1024_5f28',['BASEBITS_1024_28',['../config__big__1024__28_8h.html#a5eaa43c96333aeb94a5ce4ab00c5b823',1,'config_big_1024_28.h']]],
   ['basebits_5f1024_5f58',['BASEBITS_1024_58',['../config__big__1024__58_8h.html#a0fdac7cd24ebe3f1dd4d890f201cad7c',1,'config_big_1024_58.h']]],
-  ['basebits_5f256_5f28',['BASEBITS_256_28',['../config__big__256__28_8h.html#af025ee034981f7bc32396d376a876188',1,'config_big_256_28.h']]],
-  ['basebits_5f256_5f29',['BASEBITS_256_29',['../config__big__256__29_8h.html#aeb240eff1a42e7315190d4881c34f333',1,'config_big_256_29.h']]],
   ['basebits_5f256_5f56',['BASEBITS_256_56',['../config__big__256__56_8h.html#ac6cb0299279eb5c9a07bccfd297f1b40',1,'config_big_256_56.h']]],
-  ['basebits_5f336_5f29',['BASEBITS_336_29',['../config__big__336__29_8h.html#a636ff6768b4963d56be607c9a94ee28e',1,'config_big_336_29.h']]],
   ['basebits_5f336_5f60',['BASEBITS_336_60',['../config__big__336__60_8h.html#aafc3fab89520932a6ddf0486adb1e988',1,'config_big_336_60.h']]],
-  ['basebits_5f384_5f28',['BASEBITS_384_28',['../config__big__384__28_8h.html#a63908e1d54e13f099cce3ef2abf90f96',1,'config_big_384_28.h']]],
-  ['basebits_5f384_5f29',['BASEBITS_384_29',['../config__big__384__29_8h.html#afbf8af6e59b69e4f78c0d20c2acea5cd',1,'config_big_384_29.h']]],
   ['basebits_5f384_5f56',['BASEBITS_384_56',['../config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1',1,'config_big_384_56.h']]],
   ['basebits_5f384_5f58',['BASEBITS_384_58',['../config__big__384__58_8h.html#aef3a9fbfcd02db7e7fae8c77794c2fec',1,'config_big_384_58.h']]],
-  ['basebits_5f416_5f29',['BASEBITS_416_29',['../config__big__416__29_8h.html#a58db5de87c7efe4e798a182026e4e75e',1,'config_big_416_29.h']]],
   ['basebits_5f416_5f60',['BASEBITS_416_60',['../config__big__416__60_8h.html#a8060cad5d7ca98d5002c4e9af144685a',1,'config_big_416_60.h']]],
-  ['basebits_5f448_5f29',['BASEBITS_448_29',['../config__big__448__29_8h.html#a9c5ab06ad079cf372ad4dcac624e62c6',1,'config_big_448_29.h']]],
   ['basebits_5f448_5f58',['BASEBITS_448_58',['../config__big__448__58_8h.html#a581ba04af6943deabd0dec7c49e96fc9',1,'config_big_448_58.h']]],
-  ['basebits_5f464_5f28',['BASEBITS_464_28',['../config__big__464__28_8h.html#ab7000ff6e186cca0131a7738ab324690',1,'config_big_464_28.h']]],
   ['basebits_5f464_5f60',['BASEBITS_464_60',['../config__big__464__60_8h.html#ae5374aa4dec809acb96ce87548f2a903',1,'config_big_464_60.h']]],
-  ['basebits_5f480_5f29',['BASEBITS_480_29',['../config__big__480__29_8h.html#a56d28ab3516e47b24aab20edfd29ec14',1,'config_big_480_29.h']]],
   ['basebits_5f480_5f56',['BASEBITS_480_56',['../config__big__480__56_8h.html#a8b36f73ee9c8cd16183b3a6d4ac21c8c',1,'config_big_480_56.h']]],
-  ['basebits_5f512_5f29',['BASEBITS_512_29',['../config__big__512__29_8h.html#af3361e0f344f8843277d872325b4877d',1,'config_big_512_29.h']]],
   ['basebits_5f512_5f56',['BASEBITS_512_56',['../config__big__512__56_8h.html#ae055399023f68da19be8040f6394efe3',1,'config_big_512_56.h']]],
   ['basebits_5f512_5f60',['BASEBITS_512_60',['../config__big__512__60_8h.html#a050f6c0139f8a543eb7b2feb010a1934',1,'config_big_512_60.h']]],
-  ['basebits_5f528_5f28',['BASEBITS_528_28',['../config__big__528__28_8h.html#a4139365348d7b4d26152790aad5d367b',1,'config_big_528_28.h']]],
   ['basebits_5f528_5f60',['BASEBITS_528_60',['../config__big__528__60_8h.html#a91a5c5bbb41eb7c762fe1037781fd0ad',1,'config_big_528_60.h']]],
-  ['basebits_5f560_5f29',['BASEBITS_560_29',['../config__big__560__29_8h.html#a85521cb71aeaf8796fba06832097d67f',1,'config_big_560_29.h']]],
   ['basebits_5f560_5f58',['BASEBITS_560_58',['../config__big__560__58_8h.html#a8e3d43eb3ac0cf5e5f06c1027dba473f',1,'config_big_560_58.h']]],
   ['bfs_5fbls24',['BFS_BLS24',['../bls192__BLS24_8h.html#ae26181d2349141710a9aacc1dfb52902',1,'bls192_BLS24.h']]],
   ['bfs_5fbls381',['BFS_BLS381',['../bls__BLS381_8h.html#a8567169f1d1227a60b6accd116a9ecef',1,'bls_BLS381.h']]],
@@ -44,61 +31,35 @@
   ['bgs_5fbn254cx',['BGS_BN254CX',['../bls__BN254CX_8h.html#a44ec4dc84f6828d9668bfbb180c9f598',1,'bls_BN254CX.h']]],
   ['bgs_5ffp256bn',['BGS_FP256BN',['../bls__FP256BN_8h.html#a4a5104f80b96689adf3aba0b33a8829d',1,'bls_FP256BN.h']]],
   ['bgs_5ffp512bn',['BGS_FP512BN',['../bls__FP512BN_8h.html#acf7e8708a27302422198a2e28f370ada',1,'bls_FP512BN.h']]],
-  ['bigbits_5f1024_5f28',['BIGBITS_1024_28',['../big__1024__28_8h.html#a5e823eda976231f0b203b47b75115f75',1,'big_1024_28.h']]],
   ['bigbits_5f1024_5f58',['BIGBITS_1024_58',['../big__1024__58_8h.html#a65bdfd2b6b38168e8bcd9f1af013c7b5',1,'big_1024_58.h']]],
-  ['bigbits_5f256_5f28',['BIGBITS_256_28',['../big__256__28_8h.html#a7ead2232fb4a739ef8f73c3fefd48f29',1,'big_256_28.h']]],
-  ['bigbits_5f256_5f29',['BIGBITS_256_29',['../big__256__29_8h.html#a6863374287d6031d9e1d8190b0d87205',1,'big_256_29.h']]],
   ['bigbits_5f256_5f56',['BIGBITS_256_56',['../big__256__56_8h.html#a1a77f9a8aca3f6f0a3a3c95a129c6142',1,'big_256_56.h']]],
-  ['bigbits_5f336_5f29',['BIGBITS_336_29',['../big__336__29_8h.html#a387bb8aca1a20d3a37bdc32c5d62fb19',1,'big_336_29.h']]],
   ['bigbits_5f336_5f60',['BIGBITS_336_60',['../big__336__60_8h.html#a3f52e43a01b810e38e5ef9ba558a23cb',1,'big_336_60.h']]],
-  ['bigbits_5f384_5f28',['BIGBITS_384_28',['../big__384__28_8h.html#a8f05d26a410dd97379ac2651922a6449',1,'big_384_28.h']]],
-  ['bigbits_5f384_5f29',['BIGBITS_384_29',['../big__384__29_8h.html#a5feb1f06130ed84f11090989e07af7b2',1,'big_384_29.h']]],
   ['bigbits_5f384_5f56',['BIGBITS_384_56',['../big__384__56_8h.html#a6e1353243985f68f42cdf9be09b90141',1,'big_384_56.h']]],
   ['bigbits_5f384_5f58',['BIGBITS_384_58',['../big__384__58_8h.html#af101e9b3ede482bfe16e1ddab5bf39bb',1,'big_384_58.h']]],
-  ['bigbits_5f416_5f29',['BIGBITS_416_29',['../big__416__29_8h.html#aa20947ce69e7c08ec647e7bfae4640ba',1,'big_416_29.h']]],
   ['bigbits_5f416_5f60',['BIGBITS_416_60',['../big__416__60_8h.html#a9994d8070f1ce0d6ea213808cbd0fd69',1,'big_416_60.h']]],
-  ['bigbits_5f448_5f29',['BIGBITS_448_29',['../big__448__29_8h.html#a7a5a3ffd6671b7e3013edefee432cf3d',1,'big_448_29.h']]],
   ['bigbits_5f448_5f58',['BIGBITS_448_58',['../big__448__58_8h.html#a2be308d1a50b450fe8b0d8a87f4bd842',1,'big_448_58.h']]],
-  ['bigbits_5f464_5f28',['BIGBITS_464_28',['../big__464__28_8h.html#a321939982219e2b95cfd0896c23b70df',1,'big_464_28.h']]],
   ['bigbits_5f464_5f60',['BIGBITS_464_60',['../big__464__60_8h.html#af7ba4d5ab54089d4e31347acd281e097',1,'big_464_60.h']]],
-  ['bigbits_5f480_5f29',['BIGBITS_480_29',['../big__480__29_8h.html#a968e298d329bd9c537cae67bca92ec33',1,'big_480_29.h']]],
   ['bigbits_5f480_5f56',['BIGBITS_480_56',['../big__480__56_8h.html#a54f63b6871b5f0d5d5470ce09667c2e8',1,'big_480_56.h']]],
-  ['bigbits_5f512_5f29',['BIGBITS_512_29',['../big__512__29_8h.html#a4ddec2d6c6f7f1609ded4668d1d73c6a',1,'big_512_29.h']]],
   ['bigbits_5f512_5f56',['BIGBITS_512_56',['../big__512__56_8h.html#a0db657df710516e21bc7c3a30ebaca9c',1,'big_512_56.h']]],
   ['bigbits_5f512_5f60',['BIGBITS_512_60',['../big__512__60_8h.html#a4454ac6a7c8674732938e8365996729a',1,'big_512_60.h']]],
-  ['bigbits_5f528_5f28',['BIGBITS_528_28',['../big__528__28_8h.html#a0525b6e9fdd66250ad0a082d4b43452c',1,'big_528_28.h']]],
   ['bigbits_5f528_5f60',['BIGBITS_528_60',['../big__528__60_8h.html#ab23dce98483079baad467cb7d98d8edf',1,'big_528_60.h']]],
-  ['bigbits_5f560_5f29',['BIGBITS_560_29',['../big__560__29_8h.html#a02bdf4e3336ecd6241c01b103495ca3f',1,'big_560_29.h']]],
   ['bigbits_5f560_5f58',['BIGBITS_560_58',['../big__560__58_8h.html#a485d9ac4165cf3e0b0d471a21c161a89',1,'big_560_58.h']]],
   ['bls_5ffail',['BLS_FAIL',['../bls192__BLS24_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#ad7ad1154a1fc1e13c0c9020ba3b2efa8',1,'BLS_FAIL():&#160;bls_FP512BN.h']]],
   ['bls_5finvalid_5fg1',['BLS_INVALID_G1',['../bls192__BLS24_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#acf6e7c8f3dac9ed955df538eeddfe65a',1,'BLS_INVALID_G1():&#160;bls_FP512BN.h']]],
   ['bls_5finvalid_5fg2',['BLS_INVALID_G2',['../bls192__BLS24_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#a0e1f50f8bd36bc147cf2c39e917047aa',1,'BLS_INVALID_G2():&#160;bls_FP512BN.h']]],
   ['bls_5fok',['BLS_OK',['../bls192__BLS24_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls192_BLS24.h'],['../bls256__BLS48_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls256_BLS48.h'],['../bls__BLS381_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BLS381.h'],['../bls__BLS383_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BLS383.h'],['../bls__BLS461_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BLS461.h'],['../bls__BN254_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BN254.h'],['../bls__BN254CX_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_BN254CX.h'],['../bls__FP256BN_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_FP256BN.h'],['../bls__FP512BN_8h.html#a0954a33675757ad87dde21d92a448805',1,'BLS_OK():&#160;bls_FP512BN.h']]],
-  ['bmask_5f1024_5f28',['BMASK_1024_28',['../big__1024__28_8h.html#a201c6297075d183fc4f9ec6407a7234c',1,'big_1024_28.h']]],
   ['bmask_5f1024_5f58',['BMASK_1024_58',['../big__1024__58_8h.html#acc7cf521c2232960e736d7bc149ae147',1,'big_1024_58.h']]],
-  ['bmask_5f256_5f28',['BMASK_256_28',['../big__256__28_8h.html#a1c7deb16fe58bf6822dc208b4c299967',1,'big_256_28.h']]],
-  ['bmask_5f256_5f29',['BMASK_256_29',['../big__256__29_8h.html#ab609d4900b112ac810c1c77bc558760f',1,'big_256_29.h']]],
   ['bmask_5f256_5f56',['BMASK_256_56',['../big__256__56_8h.html#a654f923f35390eab504ed90f184a4aae',1,'big_256_56.h']]],
-  ['bmask_5f336_5f29',['BMASK_336_29',['../big__336__29_8h.html#ad85064af77fbac212dd37ff15c9d594f',1,'big_336_29.h']]],
   ['bmask_5f336_5f60',['BMASK_336_60',['../big__336__60_8h.html#a97f414afc90a2633e4448cc93c57ba60',1,'big_336_60.h']]],
-  ['bmask_5f384_5f28',['BMASK_384_28',['../big__384__28_8h.html#a84665e78dbc0947688151a4ac8dc9644',1,'big_384_28.h']]],
-  ['bmask_5f384_5f29',['BMASK_384_29',['../big__384__29_8h.html#a385093038217417d0ccf44b5d13875d4',1,'big_384_29.h']]],
   ['bmask_5f384_5f56',['BMASK_384_56',['../big__384__56_8h.html#a73e44860541e0d07e82f012bbb29c0da',1,'big_384_56.h']]],
   ['bmask_5f384_5f58',['BMASK_384_58',['../big__384__58_8h.html#a8a96d1a995cdf624142dbc7661dc61c8',1,'big_384_58.h']]],
-  ['bmask_5f416_5f29',['BMASK_416_29',['../big__416__29_8h.html#ab20c7e47edf7020f72aa4e2391c62248',1,'big_416_29.h']]],
   ['bmask_5f416_5f60',['BMASK_416_60',['../big__416__60_8h.html#a8a5de4d1220b566cacb911e18caf3c7d',1,'big_416_60.h']]],
-  ['bmask_5f448_5f29',['BMASK_448_29',['../big__448__29_8h.html#ab8d629bbd801a7e1d4da1cdedc1a76b6',1,'big_448_29.h']]],
   ['bmask_5f448_5f58',['BMASK_448_58',['../big__448__58_8h.html#a99339e562076c4030a91e035f3110ea2',1,'big_448_58.h']]],
-  ['bmask_5f464_5f28',['BMASK_464_28',['../big__464__28_8h.html#a938dacc704402560adf99e3b2b6468fb',1,'big_464_28.h']]],
   ['bmask_5f464_5f60',['BMASK_464_60',['../big__464__60_8h.html#ac64098779d0c7eaba21a0028bec951e0',1,'big_464_60.h']]],
-  ['bmask_5f480_5f29',['BMASK_480_29',['../big__480__29_8h.html#afdf7f3eee13abfed48f8584f32b4b8d7',1,'big_480_29.h']]],
   ['bmask_5f480_5f56',['BMASK_480_56',['../big__480__56_8h.html#ae9d987e3791bf8810bdc6af8f1d08e7b',1,'big_480_56.h']]],
-  ['bmask_5f512_5f29',['BMASK_512_29',['../big__512__29_8h.html#aeaae8fdd385b6bb97821f6938a2f972d',1,'big_512_29.h']]],
   ['bmask_5f512_5f56',['BMASK_512_56',['../big__512__56_8h.html#a60de6314c192035ae1f8dc53e4e1d2e5',1,'big_512_56.h']]],
   ['bmask_5f512_5f60',['BMASK_512_60',['../big__512__60_8h.html#a96bcba0cd64bdfa12f1418b8304e7402',1,'big_512_60.h']]],
-  ['bmask_5f528_5f28',['BMASK_528_28',['../big__528__28_8h.html#a82082efa3a70836e15d9d625873fc626',1,'big_528_28.h']]],
   ['bmask_5f528_5f60',['BMASK_528_60',['../big__528__60_8h.html#ad67156ea1cc03f212979c7ed75eb7a63',1,'big_528_60.h']]],
-  ['bmask_5f560_5f29',['BMASK_560_29',['../big__560__29_8h.html#a6ac7afc11cde3738182e8271cbdd9249',1,'big_560_29.h']]],
   ['bmask_5f560_5f58',['BMASK_560_58',['../big__560__58_8h.html#a0b0bb0ce0733fde1ea231aa142174663',1,'big_560_58.h']]],
   ['byte',['byte',['../arch_8h.html#a71809484a26cd96c6abe839a0a8a289d',1,'arch.h']]]
 ];
diff --git a/website/static/cdocs/search/defines_1.html b/website/static/cdocs/search/defines_1.html
index 7af9324..91488cb 100644
--- a/website/static/cdocs/search/defines_1.html
+++ b/website/static/cdocs/search/defines_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_2.html b/website/static/cdocs/search/defines_2.html
index 4629221..8655993 100644
--- a/website/static/cdocs/search/defines_2.html
+++ b/website/static/cdocs/search/defines_2.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_2.js b/website/static/cdocs/search/defines_2.js
index b854051..f2f25b2 100644
--- a/website/static/cdocs/search/defines_2.js
+++ b/website/static/cdocs/search/defines_2.js
@@ -1,29 +1,16 @@
 var searchData=
 [
-  ['dnlen_5f1024_5f28',['DNLEN_1024_28',['../big__1024__28_8h.html#af8b455367bcf8cda171906b600389f81',1,'big_1024_28.h']]],
   ['dnlen_5f1024_5f58',['DNLEN_1024_58',['../big__1024__58_8h.html#a16af5855a6f4a0a4f315fcc98c9926ba',1,'big_1024_58.h']]],
-  ['dnlen_5f256_5f28',['DNLEN_256_28',['../big__256__28_8h.html#aeef29ac9135b080cdca9ad39010fbe1e',1,'big_256_28.h']]],
-  ['dnlen_5f256_5f29',['DNLEN_256_29',['../big__256__29_8h.html#a653e1560782ad0484bdace3a6a23e627',1,'big_256_29.h']]],
   ['dnlen_5f256_5f56',['DNLEN_256_56',['../big__256__56_8h.html#ac0ef2169da39807adbf4e20e99b48437',1,'big_256_56.h']]],
-  ['dnlen_5f336_5f29',['DNLEN_336_29',['../big__336__29_8h.html#a505c0645884488f027436579943cf995',1,'big_336_29.h']]],
   ['dnlen_5f336_5f60',['DNLEN_336_60',['../big__336__60_8h.html#a75d2e37ce8a66bba994599e6de547ed8',1,'big_336_60.h']]],
-  ['dnlen_5f384_5f28',['DNLEN_384_28',['../big__384__28_8h.html#a8ecc6d852c9a8295de789234094b1dce',1,'big_384_28.h']]],
-  ['dnlen_5f384_5f29',['DNLEN_384_29',['../big__384__29_8h.html#addd1b223ffcb85c18f7f25c1b0e2e068',1,'big_384_29.h']]],
   ['dnlen_5f384_5f56',['DNLEN_384_56',['../big__384__56_8h.html#af8cf9396dc122f3521a29bc4e2e5aa22',1,'big_384_56.h']]],
   ['dnlen_5f384_5f58',['DNLEN_384_58',['../big__384__58_8h.html#a7bbc1e57f9520e560c34d1108871c3c8',1,'big_384_58.h']]],
-  ['dnlen_5f416_5f29',['DNLEN_416_29',['../big__416__29_8h.html#aadd2ee7522b82b71e9ee85d8cdc7c6da',1,'big_416_29.h']]],
   ['dnlen_5f416_5f60',['DNLEN_416_60',['../big__416__60_8h.html#a50deb884bc5da406ec07e8e80951007c',1,'big_416_60.h']]],
-  ['dnlen_5f448_5f29',['DNLEN_448_29',['../big__448__29_8h.html#a4616c74eb991d091cdc238397eccb64c',1,'big_448_29.h']]],
   ['dnlen_5f448_5f58',['DNLEN_448_58',['../big__448__58_8h.html#a5b3d6b0bbfd2b163f8c93b7f67af7739',1,'big_448_58.h']]],
-  ['dnlen_5f464_5f28',['DNLEN_464_28',['../big__464__28_8h.html#adbaf802172bbc22a4af8a66fd154d047',1,'big_464_28.h']]],
   ['dnlen_5f464_5f60',['DNLEN_464_60',['../big__464__60_8h.html#a851eebc82dd4e230b0051a971850e755',1,'big_464_60.h']]],
-  ['dnlen_5f480_5f29',['DNLEN_480_29',['../big__480__29_8h.html#a3ed5198048ee26c0d0e02ab203fc28b5',1,'big_480_29.h']]],
   ['dnlen_5f480_5f56',['DNLEN_480_56',['../big__480__56_8h.html#a42677bc10f21b5ae85726712aa1e9d28',1,'big_480_56.h']]],
-  ['dnlen_5f512_5f29',['DNLEN_512_29',['../big__512__29_8h.html#adfe44d8588bd795d4e89c4ed71c678cd',1,'big_512_29.h']]],
   ['dnlen_5f512_5f56',['DNLEN_512_56',['../big__512__56_8h.html#afcfbd331761b81491b0ad27bec046f5b',1,'big_512_56.h']]],
   ['dnlen_5f512_5f60',['DNLEN_512_60',['../big__512__60_8h.html#a2191aa95a9d5d44b396978d1be7d4342',1,'big_512_60.h']]],
-  ['dnlen_5f528_5f28',['DNLEN_528_28',['../big__528__28_8h.html#a1b5dfb4b5ee31d7fb7838e9abdf795c2',1,'big_528_28.h']]],
   ['dnlen_5f528_5f60',['DNLEN_528_60',['../big__528__60_8h.html#aec5c7cddc7c36740b0be3af25e3027e3',1,'big_528_60.h']]],
-  ['dnlen_5f560_5f29',['DNLEN_560_29',['../big__560__29_8h.html#aee21b520738166490cd1a8e186b7e626',1,'big_560_29.h']]],
   ['dnlen_5f560_5f58',['DNLEN_560_58',['../big__560__58_8h.html#a9e0a681bf3c4742d517900811692a532',1,'big_560_58.h']]]
 ];
diff --git a/website/static/cdocs/search/defines_3.html b/website/static/cdocs/search/defines_3.html
index a62cf61..a55d3ff 100644
--- a/website/static/cdocs/search/defines_3.html
+++ b/website/static/cdocs/search/defines_3.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_4.html b/website/static/cdocs/search/defines_4.html
index ebd8a20..54da39a 100644
--- a/website/static/cdocs/search/defines_4.html
+++ b/website/static/cdocs/search/defines_4.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_4.js b/website/static/cdocs/search/defines_4.js
index 935d633..e309a7d 100644
--- a/website/static/cdocs/search/defines_4.js
+++ b/website/static/cdocs/search/defines_4.js
@@ -25,5 +25,7 @@
   ['fexcess_5fsecp256k1',['FEXCESS_SECP256K1',['../fp__SECP256K1_8h.html#ad2ec0536f260d035a05201ef89b20d49',1,'fp_SECP256K1.h']]],
   ['fflen_5f2048',['FFLEN_2048',['../config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e',1,'config_ff_2048.h']]],
   ['fflen_5f3072',['FFLEN_3072',['../config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4',1,'config_ff_3072.h']]],
-  ['fflen_5f4096',['FFLEN_4096',['../config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c',1,'config_ff_4096.h']]]
+  ['fflen_5f4096',['FFLEN_4096',['../config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c',1,'config_ff_4096.h']]],
+  ['fs_5f2048',['FS_2048',['../paillier_8h.html#ae3ce9abc99cec679346a7d38bed96d9b',1,'paillier.h']]],
+  ['fs_5f4096',['FS_4096',['../paillier_8h.html#a8e7c673251fe80bcf47e9bb26674cd97',1,'paillier.h']]]
 ];
diff --git a/website/static/cdocs/search/defines_5.html b/website/static/cdocs/search/defines_5.html
index 4f88d78..dd7bfdc 100644
--- a/website/static/cdocs/search/defines_5.html
+++ b/website/static/cdocs/search/defines_5.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_5.js b/website/static/cdocs/search/defines_5.js
index cd5ecef..c21b1c5 100644
--- a/website/static/cdocs/search/defines_5.js
+++ b/website/static/cdocs/search/defines_5.js
@@ -3,59 +3,35 @@
   ['hash_5ftype_5frsa_5f2048',['HASH_TYPE_RSA_2048',['../rsa__2048_8h.html#a4461a3cfe51cd4d692255ce4e510a84b',1,'rsa_2048.h']]],
   ['hash_5ftype_5frsa_5f3072',['HASH_TYPE_RSA_3072',['../rsa__3072_8h.html#a7ccf1504fdbe6fbb51b3bdc6559fe686',1,'rsa_3072.h']]],
   ['hash_5ftype_5frsa_5f4096',['HASH_TYPE_RSA_4096',['../rsa__4096_8h.html#acf16200cf44f099048f8a6e26ebdb0f0',1,'rsa_4096.h']]],
-  ['hbits_5f1024_5f28',['HBITS_1024_28',['../big__1024__28_8h.html#a47199d90c03e396ce0dd54b3750ba488',1,'big_1024_28.h']]],
   ['hbits_5f1024_5f58',['HBITS_1024_58',['../big__1024__58_8h.html#ac9e2b95f4b4d79160bfbbf22715a9a3d',1,'big_1024_58.h']]],
-  ['hbits_5f256_5f28',['HBITS_256_28',['../big__256__28_8h.html#af749a414befcf2c9103cb90deae1bd3b',1,'big_256_28.h']]],
-  ['hbits_5f256_5f29',['HBITS_256_29',['../big__256__29_8h.html#a02f07f385a505ff1d42a133d7b9372af',1,'big_256_29.h']]],
   ['hbits_5f256_5f56',['HBITS_256_56',['../big__256__56_8h.html#a9de3212703b203df789675e419950b50',1,'big_256_56.h']]],
-  ['hbits_5f336_5f29',['HBITS_336_29',['../big__336__29_8h.html#ad3015fbe7576b1f8d714639562ea3b1c',1,'big_336_29.h']]],
   ['hbits_5f336_5f60',['HBITS_336_60',['../big__336__60_8h.html#a186c54b9bbf488698a7f9d0071bcf0a9',1,'big_336_60.h']]],
-  ['hbits_5f384_5f28',['HBITS_384_28',['../big__384__28_8h.html#a7add637ce6e6a22f580a621e454e2f1b',1,'big_384_28.h']]],
-  ['hbits_5f384_5f29',['HBITS_384_29',['../big__384__29_8h.html#ab7676d9d5313782211e981b9e62cdff5',1,'big_384_29.h']]],
   ['hbits_5f384_5f56',['HBITS_384_56',['../big__384__56_8h.html#a4bb9352ea46877e21288144972438d7b',1,'big_384_56.h']]],
   ['hbits_5f384_5f58',['HBITS_384_58',['../big__384__58_8h.html#ac8efaee7fe7da09d317cedb6ef0f2cc4',1,'big_384_58.h']]],
-  ['hbits_5f416_5f29',['HBITS_416_29',['../big__416__29_8h.html#ab96162363a8fbed4497bafd600895ea6',1,'big_416_29.h']]],
   ['hbits_5f416_5f60',['HBITS_416_60',['../big__416__60_8h.html#a540344a81c9a457ddbd02afe7a143478',1,'big_416_60.h']]],
-  ['hbits_5f448_5f29',['HBITS_448_29',['../big__448__29_8h.html#ad8e6de2119434515297fc71c80107920',1,'big_448_29.h']]],
   ['hbits_5f448_5f58',['HBITS_448_58',['../big__448__58_8h.html#ae9fe943d9aaa326d6190d13cf26268af',1,'big_448_58.h']]],
-  ['hbits_5f464_5f28',['HBITS_464_28',['../big__464__28_8h.html#ab8590b6ce9a6757eff1f7427bc62f7f4',1,'big_464_28.h']]],
   ['hbits_5f464_5f60',['HBITS_464_60',['../big__464__60_8h.html#a984fa211b076a15c8380f3c6bd3ed7a5',1,'big_464_60.h']]],
-  ['hbits_5f480_5f29',['HBITS_480_29',['../big__480__29_8h.html#a74df771083837786915320c16a8a2bd2',1,'big_480_29.h']]],
   ['hbits_5f480_5f56',['HBITS_480_56',['../big__480__56_8h.html#a5d67285aee01059db23b6fac43cb8fa6',1,'big_480_56.h']]],
-  ['hbits_5f512_5f29',['HBITS_512_29',['../big__512__29_8h.html#aeb0b7111551770ccad3de595f72ec1dc',1,'big_512_29.h']]],
   ['hbits_5f512_5f56',['HBITS_512_56',['../big__512__56_8h.html#a7ab556dadf30933bc45dd0d3f59ba962',1,'big_512_56.h']]],
   ['hbits_5f512_5f60',['HBITS_512_60',['../big__512__60_8h.html#a8746466df5a0ab5785e3d216491e3808',1,'big_512_60.h']]],
-  ['hbits_5f528_5f28',['HBITS_528_28',['../big__528__28_8h.html#a4670085502e0eb472b9acd8414b89d4f',1,'big_528_28.h']]],
   ['hbits_5f528_5f60',['HBITS_528_60',['../big__528__60_8h.html#a68dfa3c0a4a228a1aaa5fb4457eda3ed',1,'big_528_60.h']]],
-  ['hbits_5f560_5f29',['HBITS_560_29',['../big__560__29_8h.html#a52abaf5dd19e66d456c2b56924f157d9',1,'big_560_29.h']]],
   ['hbits_5f560_5f58',['HBITS_560_58',['../big__560__58_8h.html#abadea7c002ee7151ce2d51a9e5371cd4',1,'big_560_58.h']]],
   ['hflen_5f2048',['HFLEN_2048',['../ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc',1,'ff_2048.h']]],
   ['hflen_5f3072',['HFLEN_3072',['../ff__3072_8h.html#a991a0cbc301024bc7d87b9acb0ba3848',1,'ff_3072.h']]],
   ['hflen_5f4096',['HFLEN_4096',['../ff__4096_8h.html#a7f6ddf757543171f82e428ac7d423a11',1,'ff_4096.h']]],
-  ['hmask_5f1024_5f28',['HMASK_1024_28',['../big__1024__28_8h.html#a7b9b9c4d137721a8bd5a9762235dbf56',1,'big_1024_28.h']]],
+  ['hfs_5f2048',['HFS_2048',['../paillier_8h.html#af12daa3ccdbe8c973ca455b53f58f13b',1,'paillier.h']]],
+  ['hfs_5f4096',['HFS_4096',['../paillier_8h.html#a1f681610ea37533def54ef7ef54ccb92',1,'paillier.h']]],
   ['hmask_5f1024_5f58',['HMASK_1024_58',['../big__1024__58_8h.html#ad427d858bae25e21c839cfb4a68ab0f4',1,'big_1024_58.h']]],
-  ['hmask_5f256_5f28',['HMASK_256_28',['../big__256__28_8h.html#aea5c623d16fd9def8b5ec608bb72d9b4',1,'big_256_28.h']]],
-  ['hmask_5f256_5f29',['HMASK_256_29',['../big__256__29_8h.html#a9873557170d0afc86c18f63c45658217',1,'big_256_29.h']]],
   ['hmask_5f256_5f56',['HMASK_256_56',['../big__256__56_8h.html#a80538a998337c358f552c8a20c099c9b',1,'big_256_56.h']]],
-  ['hmask_5f336_5f29',['HMASK_336_29',['../big__336__29_8h.html#ae7f9f778c19308c583d28d1c040e38e8',1,'big_336_29.h']]],
   ['hmask_5f336_5f60',['HMASK_336_60',['../big__336__60_8h.html#a11943313ab42b453d55d266c55c51518',1,'big_336_60.h']]],
-  ['hmask_5f384_5f28',['HMASK_384_28',['../big__384__28_8h.html#a4f236ead1b11b6a59048301ebad560fe',1,'big_384_28.h']]],
-  ['hmask_5f384_5f29',['HMASK_384_29',['../big__384__29_8h.html#a9f3ff82f9bb37efc3eb8afa48876b952',1,'big_384_29.h']]],
   ['hmask_5f384_5f56',['HMASK_384_56',['../big__384__56_8h.html#af631d7e86602f736b0dcf8de4eb40498',1,'big_384_56.h']]],
   ['hmask_5f384_5f58',['HMASK_384_58',['../big__384__58_8h.html#a442aeb9af2b58dcd6894cb61a3a9bd51',1,'big_384_58.h']]],
-  ['hmask_5f416_5f29',['HMASK_416_29',['../big__416__29_8h.html#aa55744f8804c0a03dcb386997e08076d',1,'big_416_29.h']]],
   ['hmask_5f416_5f60',['HMASK_416_60',['../big__416__60_8h.html#aa64a4f8541df59159943cce57127b658',1,'big_416_60.h']]],
-  ['hmask_5f448_5f29',['HMASK_448_29',['../big__448__29_8h.html#a027d25f3937d2bd098156eb2df8c1bf3',1,'big_448_29.h']]],
   ['hmask_5f448_5f58',['HMASK_448_58',['../big__448__58_8h.html#a801847dc7039a89571149ddff9f763d7',1,'big_448_58.h']]],
-  ['hmask_5f464_5f28',['HMASK_464_28',['../big__464__28_8h.html#aa1106ae03c6c6c728421bf427c9d11f6',1,'big_464_28.h']]],
   ['hmask_5f464_5f60',['HMASK_464_60',['../big__464__60_8h.html#a43e546e4cf050675ad46383200d786b2',1,'big_464_60.h']]],
-  ['hmask_5f480_5f29',['HMASK_480_29',['../big__480__29_8h.html#a92e9b47dd1c2fb054a1e4749a2c8dbd6',1,'big_480_29.h']]],
   ['hmask_5f480_5f56',['HMASK_480_56',['../big__480__56_8h.html#a113d5a5670c38ec951cd70c4267c7e65',1,'big_480_56.h']]],
-  ['hmask_5f512_5f29',['HMASK_512_29',['../big__512__29_8h.html#a24fd39c4a9249896d4f4f04a56c6cbb3',1,'big_512_29.h']]],
   ['hmask_5f512_5f56',['HMASK_512_56',['../big__512__56_8h.html#a8029cff2d7cde6519d1bc6042e28ef9b',1,'big_512_56.h']]],
   ['hmask_5f512_5f60',['HMASK_512_60',['../big__512__60_8h.html#a9aacc37fac51d75221f45eeeaa7ae4a6',1,'big_512_60.h']]],
-  ['hmask_5f528_5f28',['HMASK_528_28',['../big__528__28_8h.html#aedfdf9a531fd7ad921bbf3cd33a288d6',1,'big_528_28.h']]],
   ['hmask_5f528_5f60',['HMASK_528_60',['../big__528__60_8h.html#a980ed86f744ab07fa9a935985e1c1b8c',1,'big_528_60.h']]],
-  ['hmask_5f560_5f29',['HMASK_560_29',['../big__560__29_8h.html#ae5f8a926c180262884b2c3b358723877',1,'big_560_29.h']]],
   ['hmask_5f560_5f58',['HMASK_560_58',['../big__560__58_8h.html#a78f794282590bebb05b1e746d0b907e2',1,'big_560_58.h']]]
 ];
diff --git a/website/static/cdocs/search/defines_6.html b/website/static/cdocs/search/defines_6.html
index 1314ce7..58d00e9 100644
--- a/website/static/cdocs/search/defines_6.html
+++ b/website/static/cdocs/search/defines_6.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_6.js b/website/static/cdocs/search/defines_6.js
index f8962ad..e14f65a 100644
--- a/website/static/cdocs/search/defines_6.js
+++ b/website/static/cdocs/search/defines_6.js
@@ -35,31 +35,18 @@
   ['modbits_5fnist384',['MODBITS_NIST384',['../fp__NIST384_8h.html#a46a8c4dcaf66a81b8b417732ba12b974',1,'fp_NIST384.h']]],
   ['modbits_5fnist521',['MODBITS_NIST521',['../fp__NIST521_8h.html#a632d31215148d03899762d8a7f81c808',1,'fp_NIST521.h']]],
   ['modbits_5fsecp256k1',['MODBITS_SECP256K1',['../fp__SECP256K1_8h.html#a7821992562b3f74c125bb8c7e8e4da19',1,'fp_SECP256K1.h']]],
-  ['modbytes_5f1024_5f28',['MODBYTES_1024_28',['../config__big__1024__28_8h.html#a9a4d6b54c5d5a63aad6877c762a6f30f',1,'config_big_1024_28.h']]],
   ['modbytes_5f1024_5f58',['MODBYTES_1024_58',['../config__big__1024__58_8h.html#a9cbbac7724e17efc1d82ed6981378112',1,'config_big_1024_58.h']]],
-  ['modbytes_5f256_5f28',['MODBYTES_256_28',['../config__big__256__28_8h.html#ae89bb6db7acd3aae9eceb056a392abae',1,'config_big_256_28.h']]],
-  ['modbytes_5f256_5f29',['MODBYTES_256_29',['../config__big__256__29_8h.html#a14ee1942422fee131f26bfba5d370b6d',1,'config_big_256_29.h']]],
   ['modbytes_5f256_5f56',['MODBYTES_256_56',['../config__big__256__56_8h.html#ab45850a8aedd0d0a0a7c5f2cc09aba9e',1,'config_big_256_56.h']]],
-  ['modbytes_5f336_5f29',['MODBYTES_336_29',['../config__big__336__29_8h.html#aac4423f59f6a8af94f670342585028e8',1,'config_big_336_29.h']]],
   ['modbytes_5f336_5f60',['MODBYTES_336_60',['../config__big__336__60_8h.html#a95eaf6b85922074e48a30404bc717047',1,'config_big_336_60.h']]],
-  ['modbytes_5f384_5f28',['MODBYTES_384_28',['../config__big__384__28_8h.html#ac42deaa112782c0164c1da093fd09189',1,'config_big_384_28.h']]],
-  ['modbytes_5f384_5f29',['MODBYTES_384_29',['../config__big__384__29_8h.html#a20764d3b8a6ee4cf548fdacc36e22a79',1,'config_big_384_29.h']]],
   ['modbytes_5f384_5f56',['MODBYTES_384_56',['../config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d',1,'config_big_384_56.h']]],
   ['modbytes_5f384_5f58',['MODBYTES_384_58',['../config__big__384__58_8h.html#a231158cd33825cff286c2406336e0224',1,'config_big_384_58.h']]],
-  ['modbytes_5f416_5f29',['MODBYTES_416_29',['../config__big__416__29_8h.html#a52fad19a3496e033e412f5624cc67027',1,'config_big_416_29.h']]],
   ['modbytes_5f416_5f60',['MODBYTES_416_60',['../config__big__416__60_8h.html#aeb3a2204ca57d153e2c4ee83ba1b340a',1,'config_big_416_60.h']]],
-  ['modbytes_5f448_5f29',['MODBYTES_448_29',['../config__big__448__29_8h.html#a92df989c80a591692a28182e8315a04d',1,'config_big_448_29.h']]],
   ['modbytes_5f448_5f58',['MODBYTES_448_58',['../config__big__448__58_8h.html#a60dcc058a132176c334a2d3647c8dfa8',1,'config_big_448_58.h']]],
-  ['modbytes_5f464_5f28',['MODBYTES_464_28',['../config__big__464__28_8h.html#a52e4ee3e1922cd4654632e822600e09b',1,'config_big_464_28.h']]],
   ['modbytes_5f464_5f60',['MODBYTES_464_60',['../config__big__464__60_8h.html#a442cabbdb66ae413e2c26865230cf955',1,'config_big_464_60.h']]],
-  ['modbytes_5f480_5f29',['MODBYTES_480_29',['../config__big__480__29_8h.html#aac3c0271edd4ea39d9f0e78e42628362',1,'config_big_480_29.h']]],
   ['modbytes_5f480_5f56',['MODBYTES_480_56',['../config__big__480__56_8h.html#a191ec4881a360e5cfd3a943c8861961d',1,'config_big_480_56.h']]],
-  ['modbytes_5f512_5f29',['MODBYTES_512_29',['../config__big__512__29_8h.html#af1e6c5a48330c6f9e834cefedf29b12e',1,'config_big_512_29.h']]],
   ['modbytes_5f512_5f56',['MODBYTES_512_56',['../config__big__512__56_8h.html#ad0955750f1206f810e2a885e43899861',1,'config_big_512_56.h']]],
   ['modbytes_5f512_5f60',['MODBYTES_512_60',['../config__big__512__60_8h.html#ab19d60ee027e5dad97c3c89e3d3d7525',1,'config_big_512_60.h']]],
-  ['modbytes_5f528_5f28',['MODBYTES_528_28',['../config__big__528__28_8h.html#a20815b5e833d3addbc05164516eac4a6',1,'config_big_528_28.h']]],
   ['modbytes_5f528_5f60',['MODBYTES_528_60',['../config__big__528__60_8h.html#a49e3aed3f2be5bc29bf59dc49c05cd6d',1,'config_big_528_60.h']]],
-  ['modbytes_5f560_5f29',['MODBYTES_560_29',['../config__big__560__29_8h.html#a370d8df593c59b971e17880785a1ee84',1,'config_big_560_29.h']]],
   ['modbytes_5f560_5f58',['MODBYTES_560_58',['../config__big__560__58_8h.html#a13505faed4d03b9091b1e8968c008429',1,'config_big_560_58.h']]],
   ['mpin_5fbad_5fpin',['MPIN_BAD_PIN',['../mpin192__BLS24_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin192_BLS24.h'],['../mpin256__BLS48_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin256_BLS48.h'],['../mpin__BLS381_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BLS381.h'],['../mpin__BLS383_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BLS383.h'],['../mpin__BLS461_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BLS461.h'],['../mpin__BN254_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BN254.h'],['../mpin__BN254CX_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_BN254CX.h'],['../mpin__FP256BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_FP256BN.h'],['../mpin__FP512BN_8h.html#ad558e3e4522f6846ba98a0d3820faebd',1,'MPIN_BAD_PIN():&#160;mpin_FP512BN.h']]],
   ['mpin_5finvalid_5fpoint',['MPIN_INVALID_POINT',['../mpin192__BLS24_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin192_BLS24.h'],['../mpin256__BLS48_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin256_BLS48.h'],['../mpin__BLS381_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BLS381.h'],['../mpin__BLS383_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BLS383.h'],['../mpin__BLS461_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BLS461.h'],['../mpin__BN254_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BN254.h'],['../mpin__BN254CX_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_BN254CX.h'],['../mpin__FP256BN_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_FP256BN.h'],['../mpin__FP512BN_8h.html#a1735b73fd12586e70fc971c85e088ffc',1,'MPIN_INVALID_POINT():&#160;mpin_FP512BN.h']]],
diff --git a/website/static/cdocs/search/defines_7.html b/website/static/cdocs/search/defines_7.html
index b7d170c..275e1b3 100644
--- a/website/static/cdocs/search/defines_7.html
+++ b/website/static/cdocs/search/defines_7.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_7.js b/website/static/cdocs/search/defines_7.js
index ed76c96..137b4c8 100644
--- a/website/static/cdocs/search/defines_7.js
+++ b/website/static/cdocs/search/defines_7.js
@@ -1,55 +1,29 @@
 var searchData=
 [
-  ['nexcess_5f1024_5f28',['NEXCESS_1024_28',['../big__1024__28_8h.html#a69f667152c7fff6cad4a64eaaf8a21da',1,'big_1024_28.h']]],
   ['nexcess_5f1024_5f58',['NEXCESS_1024_58',['../big__1024__58_8h.html#a6d05e6d3b558714d70318f38f704ce6d',1,'big_1024_58.h']]],
-  ['nexcess_5f256_5f28',['NEXCESS_256_28',['../big__256__28_8h.html#a1fd6315e4e0763ca6b2b12f38c902a57',1,'big_256_28.h']]],
-  ['nexcess_5f256_5f29',['NEXCESS_256_29',['../big__256__29_8h.html#a3211c1a2e191826e47948c6967f688ab',1,'big_256_29.h']]],
   ['nexcess_5f256_5f56',['NEXCESS_256_56',['../big__256__56_8h.html#abb2364526460e9b2121ae38a6bd46944',1,'big_256_56.h']]],
-  ['nexcess_5f336_5f29',['NEXCESS_336_29',['../big__336__29_8h.html#a07f6d3a4d4c0bd5724e65181ab517d2c',1,'big_336_29.h']]],
   ['nexcess_5f336_5f60',['NEXCESS_336_60',['../big__336__60_8h.html#ae3e8977ecd7ecde394e2b4aa9e632dfb',1,'big_336_60.h']]],
-  ['nexcess_5f384_5f28',['NEXCESS_384_28',['../big__384__28_8h.html#a8fd2df8afe92c49d115a5fc91d4deb59',1,'big_384_28.h']]],
-  ['nexcess_5f384_5f29',['NEXCESS_384_29',['../big__384__29_8h.html#a0eb3ec057af21eb8c5e402134bda3fbb',1,'big_384_29.h']]],
   ['nexcess_5f384_5f56',['NEXCESS_384_56',['../big__384__56_8h.html#a5a6ef8568e207c971f9c23b06673b778',1,'big_384_56.h']]],
   ['nexcess_5f384_5f58',['NEXCESS_384_58',['../big__384__58_8h.html#af4327ee14410cfee8eb9f247e40cd284',1,'big_384_58.h']]],
-  ['nexcess_5f416_5f29',['NEXCESS_416_29',['../big__416__29_8h.html#a0da12b741692af75253ccfe8992b197e',1,'big_416_29.h']]],
   ['nexcess_5f416_5f60',['NEXCESS_416_60',['../big__416__60_8h.html#a8876ed3c4e97b21fb7392a856bd41c70',1,'big_416_60.h']]],
-  ['nexcess_5f448_5f29',['NEXCESS_448_29',['../big__448__29_8h.html#a2a565018109ce03e9c7f6c2225b7bfd8',1,'big_448_29.h']]],
   ['nexcess_5f448_5f58',['NEXCESS_448_58',['../big__448__58_8h.html#a86ae103736d698ad9e58d2b963ad64fe',1,'big_448_58.h']]],
-  ['nexcess_5f464_5f28',['NEXCESS_464_28',['../big__464__28_8h.html#a46960fefb33fff4a60aa0dcf9525c88d',1,'big_464_28.h']]],
   ['nexcess_5f464_5f60',['NEXCESS_464_60',['../big__464__60_8h.html#ac448e22eed8e2d022de02638385fd116',1,'big_464_60.h']]],
-  ['nexcess_5f480_5f29',['NEXCESS_480_29',['../big__480__29_8h.html#ab8ca0388c031f3baa2225a98dbb2cc0a',1,'big_480_29.h']]],
   ['nexcess_5f480_5f56',['NEXCESS_480_56',['../big__480__56_8h.html#ab0b2554d6a56132dfed86a30044f6b3a',1,'big_480_56.h']]],
-  ['nexcess_5f512_5f29',['NEXCESS_512_29',['../big__512__29_8h.html#abbb65ff3dcf6f8c01ad07af79c8aed5a',1,'big_512_29.h']]],
   ['nexcess_5f512_5f56',['NEXCESS_512_56',['../big__512__56_8h.html#a04df0e72fd01b043bc75136f55dddefa',1,'big_512_56.h']]],
   ['nexcess_5f512_5f60',['NEXCESS_512_60',['../big__512__60_8h.html#a5708fee15b225da579de35fc1b89ca67',1,'big_512_60.h']]],
-  ['nexcess_5f528_5f28',['NEXCESS_528_28',['../big__528__28_8h.html#a2b0456920d6877c24ced651bc6ff5617',1,'big_528_28.h']]],
   ['nexcess_5f528_5f60',['NEXCESS_528_60',['../big__528__60_8h.html#acd57cc9b3fb3e357ef8e50b6c7210c07',1,'big_528_60.h']]],
-  ['nexcess_5f560_5f29',['NEXCESS_560_29',['../big__560__29_8h.html#af547bb109561c1676dd7fa6d28c4c56c',1,'big_560_29.h']]],
   ['nexcess_5f560_5f58',['NEXCESS_560_58',['../big__560__58_8h.html#a8c82fbf779b6b62aef7e61f30b6b59e5',1,'big_560_58.h']]],
-  ['nlen_5f1024_5f28',['NLEN_1024_28',['../big__1024__28_8h.html#a20e1a7a0c0b849acb553c1c1a333d54f',1,'big_1024_28.h']]],
   ['nlen_5f1024_5f58',['NLEN_1024_58',['../big__1024__58_8h.html#a0a8882f5fa3bf70c96145d7a5a162e37',1,'big_1024_58.h']]],
-  ['nlen_5f256_5f28',['NLEN_256_28',['../big__256__28_8h.html#acf946fc4a9df0a4306003592cae272d8',1,'big_256_28.h']]],
-  ['nlen_5f256_5f29',['NLEN_256_29',['../big__256__29_8h.html#a98054fdf6f0d9c326bcbab282b566c28',1,'big_256_29.h']]],
   ['nlen_5f256_5f56',['NLEN_256_56',['../big__256__56_8h.html#a4c25819d00f7df64955ee1c77609e309',1,'big_256_56.h']]],
-  ['nlen_5f336_5f29',['NLEN_336_29',['../big__336__29_8h.html#a8b14578e59aabea47a378405513d004a',1,'big_336_29.h']]],
   ['nlen_5f336_5f60',['NLEN_336_60',['../big__336__60_8h.html#acbbfd8e119ea9e2af4dfa0a215793659',1,'big_336_60.h']]],
-  ['nlen_5f384_5f28',['NLEN_384_28',['../big__384__28_8h.html#a439daca6a2d884b15798c1e6d9a6ba4e',1,'big_384_28.h']]],
-  ['nlen_5f384_5f29',['NLEN_384_29',['../big__384__29_8h.html#a2d1004b9eccdcfc31be289533132cfe3',1,'big_384_29.h']]],
   ['nlen_5f384_5f56',['NLEN_384_56',['../big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748',1,'big_384_56.h']]],
   ['nlen_5f384_5f58',['NLEN_384_58',['../big__384__58_8h.html#a82c59c9baadb3c5d881618296c935630',1,'big_384_58.h']]],
-  ['nlen_5f416_5f29',['NLEN_416_29',['../big__416__29_8h.html#abb7a6001a4ec0aebc5115578e1d06b5a',1,'big_416_29.h']]],
   ['nlen_5f416_5f60',['NLEN_416_60',['../big__416__60_8h.html#a34e8bb9e7e377b03bd03205498949276',1,'big_416_60.h']]],
-  ['nlen_5f448_5f29',['NLEN_448_29',['../big__448__29_8h.html#a10fb0626866a70d80b6df4824b89e3cc',1,'big_448_29.h']]],
   ['nlen_5f448_5f58',['NLEN_448_58',['../big__448__58_8h.html#a7e3c67a49fe9fc4a55229d73bf478eb2',1,'big_448_58.h']]],
-  ['nlen_5f464_5f28',['NLEN_464_28',['../big__464__28_8h.html#a21fd9dab694eaeca2746f98943db5f9d',1,'big_464_28.h']]],
   ['nlen_5f464_5f60',['NLEN_464_60',['../big__464__60_8h.html#a98df3c877ebc5865678c4c49e54cf01d',1,'big_464_60.h']]],
-  ['nlen_5f480_5f29',['NLEN_480_29',['../big__480__29_8h.html#a60a422474d84e324db7f3a3a71e02696',1,'big_480_29.h']]],
   ['nlen_5f480_5f56',['NLEN_480_56',['../big__480__56_8h.html#a107885e16c56648b41e07de2996971d4',1,'big_480_56.h']]],
-  ['nlen_5f512_5f29',['NLEN_512_29',['../big__512__29_8h.html#a0dce870dae751af5136f4884be7ff6c2',1,'big_512_29.h']]],
   ['nlen_5f512_5f56',['NLEN_512_56',['../big__512__56_8h.html#a62887b2a1152aaceaf6275b69d324441',1,'big_512_56.h']]],
   ['nlen_5f512_5f60',['NLEN_512_60',['../big__512__60_8h.html#adec8989721abc8479e76ab775cfaea1b',1,'big_512_60.h']]],
-  ['nlen_5f528_5f28',['NLEN_528_28',['../big__528__28_8h.html#a692cc7adcebe504dfc5bb67a12d414bf',1,'big_528_28.h']]],
   ['nlen_5f528_5f60',['NLEN_528_60',['../big__528__60_8h.html#a8102cf5b999d22700d2207896a2fcb07',1,'big_528_60.h']]],
-  ['nlen_5f560_5f29',['NLEN_560_29',['../big__560__29_8h.html#abd3a5ec7116d01064ff1d4af3e45ae9a',1,'big_560_29.h']]],
   ['nlen_5f560_5f58',['NLEN_560_58',['../big__560__58_8h.html#aba99b483d420773b764f0d8c5fb65415',1,'big_560_58.h']]]
 ];
diff --git a/website/static/cdocs/search/defines_8.html b/website/static/cdocs/search/defines_8.html
index 396885f..de651d9 100644
--- a/website/static/cdocs/search/defines_8.html
+++ b/website/static/cdocs/search/defines_8.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_9.html b/website/static/cdocs/search/defines_9.html
index 9871b74..a93bb53 100644
--- a/website/static/cdocs/search/defines_9.html
+++ b/website/static/cdocs/search/defines_9.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_a.html b/website/static/cdocs/search/defines_a.html
index dcba1f5..cf4841d 100644
--- a/website/static/cdocs/search/defines_a.html
+++ b/website/static/cdocs/search/defines_a.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_b.html b/website/static/cdocs/search/defines_b.html
index 067be08..26cf44f 100644
--- a/website/static/cdocs/search/defines_b.html
+++ b/website/static/cdocs/search/defines_b.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_c.html b/website/static/cdocs/search/defines_c.html
index 259a1fc..eca33be 100644
--- a/website/static/cdocs/search/defines_c.html
+++ b/website/static/cdocs/search/defines_c.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_d.html b/website/static/cdocs/search/defines_d.html
index 3c33b4b..bdb5500 100644
--- a/website/static/cdocs/search/defines_d.html
+++ b/website/static/cdocs/search/defines_d.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/defines_e.html b/website/static/cdocs/search/defines_e.html
index e178c0c..f8cb784 100644
--- a/website/static/cdocs/search/defines_e.html
+++ b/website/static/cdocs/search/defines_e.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_0.html b/website/static/cdocs/search/files_0.html
index 40cd455..4f272b8 100644
--- a/website/static/cdocs/search/files_0.html
+++ b/website/static/cdocs/search/files_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_1.html b/website/static/cdocs/search/files_1.html
index 646d1f4..dcce422 100644
--- a/website/static/cdocs/search/files_1.html
+++ b/website/static/cdocs/search/files_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_1.js b/website/static/cdocs/search/files_1.js
index 8f28bfe..9d866b0 100644
--- a/website/static/cdocs/search/files_1.js
+++ b/website/static/cdocs/search/files_1.js
@@ -1,30 +1,17 @@
 var searchData=
 [
-  ['big_5f1024_5f28_2eh',['big_1024_28.h',['../big__1024__28_8h.html',1,'']]],
   ['big_5f1024_5f58_2eh',['big_1024_58.h',['../big__1024__58_8h.html',1,'']]],
-  ['big_5f256_5f28_2eh',['big_256_28.h',['../big__256__28_8h.html',1,'']]],
-  ['big_5f256_5f29_2eh',['big_256_29.h',['../big__256__29_8h.html',1,'']]],
   ['big_5f256_5f56_2eh',['big_256_56.h',['../big__256__56_8h.html',1,'']]],
-  ['big_5f336_5f29_2eh',['big_336_29.h',['../big__336__29_8h.html',1,'']]],
   ['big_5f336_5f60_2eh',['big_336_60.h',['../big__336__60_8h.html',1,'']]],
-  ['big_5f384_5f28_2eh',['big_384_28.h',['../big__384__28_8h.html',1,'']]],
-  ['big_5f384_5f29_2eh',['big_384_29.h',['../big__384__29_8h.html',1,'']]],
   ['big_5f384_5f56_2eh',['big_384_56.h',['../big__384__56_8h.html',1,'']]],
   ['big_5f384_5f58_2eh',['big_384_58.h',['../big__384__58_8h.html',1,'']]],
-  ['big_5f416_5f29_2eh',['big_416_29.h',['../big__416__29_8h.html',1,'']]],
   ['big_5f416_5f60_2eh',['big_416_60.h',['../big__416__60_8h.html',1,'']]],
-  ['big_5f448_5f29_2eh',['big_448_29.h',['../big__448__29_8h.html',1,'']]],
   ['big_5f448_5f58_2eh',['big_448_58.h',['../big__448__58_8h.html',1,'']]],
-  ['big_5f464_5f28_2eh',['big_464_28.h',['../big__464__28_8h.html',1,'']]],
   ['big_5f464_5f60_2eh',['big_464_60.h',['../big__464__60_8h.html',1,'']]],
-  ['big_5f480_5f29_2eh',['big_480_29.h',['../big__480__29_8h.html',1,'']]],
   ['big_5f480_5f56_2eh',['big_480_56.h',['../big__480__56_8h.html',1,'']]],
-  ['big_5f512_5f29_2eh',['big_512_29.h',['../big__512__29_8h.html',1,'']]],
   ['big_5f512_5f56_2eh',['big_512_56.h',['../big__512__56_8h.html',1,'']]],
   ['big_5f512_5f60_2eh',['big_512_60.h',['../big__512__60_8h.html',1,'']]],
-  ['big_5f528_5f28_2eh',['big_528_28.h',['../big__528__28_8h.html',1,'']]],
   ['big_5f528_5f60_2eh',['big_528_60.h',['../big__528__60_8h.html',1,'']]],
-  ['big_5f560_5f29_2eh',['big_560_29.h',['../big__560__29_8h.html',1,'']]],
   ['big_5f560_5f58_2eh',['big_560_58.h',['../big__560__58_8h.html',1,'']]],
   ['bls192_5fbls24_2eh',['bls192_BLS24.h',['../bls192__BLS24_8h.html',1,'']]],
   ['bls256_5fbls48_2eh',['bls256_BLS48.h',['../bls256__BLS48_8h.html',1,'']]],
diff --git a/website/static/cdocs/search/files_2.html b/website/static/cdocs/search/files_2.html
index 9e47a77..d5c6c3b 100644
--- a/website/static/cdocs/search/files_2.html
+++ b/website/static/cdocs/search/files_2.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_2.js b/website/static/cdocs/search/files_2.js
index 2fe4b08..1296eb6 100644
--- a/website/static/cdocs/search/files_2.js
+++ b/website/static/cdocs/search/files_2.js
@@ -1,30 +1,17 @@
 var searchData=
 [
-  ['config_5fbig_5f1024_5f28_2eh',['config_big_1024_28.h',['../config__big__1024__28_8h.html',1,'']]],
   ['config_5fbig_5f1024_5f58_2eh',['config_big_1024_58.h',['../config__big__1024__58_8h.html',1,'']]],
-  ['config_5fbig_5f256_5f28_2eh',['config_big_256_28.h',['../config__big__256__28_8h.html',1,'']]],
-  ['config_5fbig_5f256_5f29_2eh',['config_big_256_29.h',['../config__big__256__29_8h.html',1,'']]],
   ['config_5fbig_5f256_5f56_2eh',['config_big_256_56.h',['../config__big__256__56_8h.html',1,'']]],
-  ['config_5fbig_5f336_5f29_2eh',['config_big_336_29.h',['../config__big__336__29_8h.html',1,'']]],
   ['config_5fbig_5f336_5f60_2eh',['config_big_336_60.h',['../config__big__336__60_8h.html',1,'']]],
-  ['config_5fbig_5f384_5f28_2eh',['config_big_384_28.h',['../config__big__384__28_8h.html',1,'']]],
-  ['config_5fbig_5f384_5f29_2eh',['config_big_384_29.h',['../config__big__384__29_8h.html',1,'']]],
   ['config_5fbig_5f384_5f56_2eh',['config_big_384_56.h',['../config__big__384__56_8h.html',1,'']]],
   ['config_5fbig_5f384_5f58_2eh',['config_big_384_58.h',['../config__big__384__58_8h.html',1,'']]],
-  ['config_5fbig_5f416_5f29_2eh',['config_big_416_29.h',['../config__big__416__29_8h.html',1,'']]],
   ['config_5fbig_5f416_5f60_2eh',['config_big_416_60.h',['../config__big__416__60_8h.html',1,'']]],
-  ['config_5fbig_5f448_5f29_2eh',['config_big_448_29.h',['../config__big__448__29_8h.html',1,'']]],
   ['config_5fbig_5f448_5f58_2eh',['config_big_448_58.h',['../config__big__448__58_8h.html',1,'']]],
-  ['config_5fbig_5f464_5f28_2eh',['config_big_464_28.h',['../config__big__464__28_8h.html',1,'']]],
   ['config_5fbig_5f464_5f60_2eh',['config_big_464_60.h',['../config__big__464__60_8h.html',1,'']]],
-  ['config_5fbig_5f480_5f29_2eh',['config_big_480_29.h',['../config__big__480__29_8h.html',1,'']]],
   ['config_5fbig_5f480_5f56_2eh',['config_big_480_56.h',['../config__big__480__56_8h.html',1,'']]],
-  ['config_5fbig_5f512_5f29_2eh',['config_big_512_29.h',['../config__big__512__29_8h.html',1,'']]],
   ['config_5fbig_5f512_5f56_2eh',['config_big_512_56.h',['../config__big__512__56_8h.html',1,'']]],
   ['config_5fbig_5f512_5f60_2eh',['config_big_512_60.h',['../config__big__512__60_8h.html',1,'']]],
-  ['config_5fbig_5f528_5f28_2eh',['config_big_528_28.h',['../config__big__528__28_8h.html',1,'']]],
   ['config_5fbig_5f528_5f60_2eh',['config_big_528_60.h',['../config__big__528__60_8h.html',1,'']]],
-  ['config_5fbig_5f560_5f29_2eh',['config_big_560_29.h',['../config__big__560__29_8h.html',1,'']]],
   ['config_5fbig_5f560_5f58_2eh',['config_big_560_58.h',['../config__big__560__58_8h.html',1,'']]],
   ['config_5fff_5f2048_2eh',['config_ff_2048.h',['../config__ff__2048_8h.html',1,'']]],
   ['config_5fff_5f3072_2eh',['config_ff_3072.h',['../config__ff__3072_8h.html',1,'']]],
diff --git a/website/static/cdocs/search/files_3.html b/website/static/cdocs/search/files_3.html
index 167679b..d5a9528 100644
--- a/website/static/cdocs/search/files_3.html
+++ b/website/static/cdocs/search/files_3.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_4.html b/website/static/cdocs/search/files_4.html
index 0eaa44a..7b4c42a 100644
--- a/website/static/cdocs/search/files_4.html
+++ b/website/static/cdocs/search/files_4.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_5.html b/website/static/cdocs/search/files_5.html
index 25316a5..1f77bb1 100644
--- a/website/static/cdocs/search/files_5.html
+++ b/website/static/cdocs/search/files_5.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_6.html b/website/static/cdocs/search/files_6.html
index 6f326f5..7573254 100644
--- a/website/static/cdocs/search/files_6.html
+++ b/website/static/cdocs/search/files_6.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_6.js b/website/static/cdocs/search/files_6.js
index e740a80..922cdef 100644
--- a/website/static/cdocs/search/files_6.js
+++ b/website/static/cdocs/search/files_6.js
@@ -1,5 +1,6 @@
 var searchData=
 [
+  ['paillier_2eh',['paillier.h',['../paillier_8h.html',1,'']]],
   ['pair_5fbls381_2eh',['pair_BLS381.h',['../pair__BLS381_8h.html',1,'']]],
   ['pair_5fbls383_2eh',['pair_BLS383.h',['../pair__BLS383_8h.html',1,'']]],
   ['pair_5fbls461_2eh',['pair_BLS461.h',['../pair__BLS461_8h.html',1,'']]],
diff --git a/website/static/cdocs/search/files_7.html b/website/static/cdocs/search/files_7.html
index 53e39bf..214b329 100644
--- a/website/static/cdocs/search/files_7.html
+++ b/website/static/cdocs/search/files_7.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_8.html b/website/static/cdocs/search/files_8.html
index 861a02c..6720c7c 100644
--- a/website/static/cdocs/search/files_8.html
+++ b/website/static/cdocs/search/files_8.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_9.html b/website/static/cdocs/search/files_9.html
index 020cb09..fc95877 100644
--- a/website/static/cdocs/search/files_9.html
+++ b/website/static/cdocs/search/files_9.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_a.html b/website/static/cdocs/search/files_a.html
index d7549b7..ffe3e9d 100644
--- a/website/static/cdocs/search/files_a.html
+++ b/website/static/cdocs/search/files_a.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/files_b.html b/website/static/cdocs/search/files_b.html
index a761fc2..32cd2be 100644
--- a/website/static/cdocs/search/files_b.html
+++ b/website/static/cdocs/search/files_b.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_0.html b/website/static/cdocs/search/functions_0.html
index bc73761..4e6d87d 100644
--- a/website/static/cdocs/search/functions_0.html
+++ b/website/static/cdocs/search/functions_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_1.html b/website/static/cdocs/search/functions_1.html
index bfcf880..b343e2d 100644
--- a/website/static/cdocs/search/functions_1.html
+++ b/website/static/cdocs/search/functions_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_1.js b/website/static/cdocs/search/functions_1.js
index 1553fec..c5d730b 100644
--- a/website/static/cdocs/search/functions_1.js
+++ b/website/static/cdocs/search/functions_1.js
@@ -1,76 +1,5 @@
 var searchData=
 [
-  ['big_5f1024_5f28_5fadd',['BIG_1024_28_add',['../big__1024__28_8h.html#a9c73a8b4ca792ebba655eb8b8de2670d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fbit',['BIG_1024_28_bit',['../big__1024__28_8h.html#a46f3c11d266f3caeaefef3f85f7e71d7',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcmove',['BIG_1024_28_cmove',['../big__1024__28_8h.html#a906cde91ce5641663dcf1e1914d45bdf',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcomp',['BIG_1024_28_comp',['../big__1024__28_8h.html#a7c8aaa518123c302d7fb727c066de799',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcopy',['BIG_1024_28_copy',['../big__1024__28_8h.html#a2f8bb5efa10f39a457a76d3621daade8',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fcswap',['BIG_1024_28_cswap',['../big__1024__28_8h.html#a74b190b116ad7b8ae61ecf74e7f81104',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdadd',['BIG_1024_28_dadd',['../big__1024__28_8h.html#a3a1df8433d95c50fa37bf1ee3f7dc4c4',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdcmove',['BIG_1024_28_dcmove',['../big__1024__28_8h.html#a600f84090df4a150aa47d45cd767617c',1,'big_1024_28.h']]],
-  ['big_5f1024_5f28_5fdcomp',['BIG_1024_28_dcomp',['../big__1024__28_8h.html#a19e306f9d97cbbf8a215edb1fdbca3a6',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdcopy',['BIG_1024_28_dcopy',['../big__1024__28_8h.html#a5111c6e4404bf58f040776042ece1108',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fddiv',['BIG_1024_28_ddiv',['../big__1024__28_8h.html#a559b6794c4285cf596285ae7030fa828',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdec',['BIG_1024_28_dec',['../big__1024__28_8h.html#a68251081eb47c35887ff408402c205d3',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdfrombyteslen',['BIG_1024_28_dfromBytesLen',['../big__1024__28_8h.html#a25fad48097ab1a81c2654cb2c363a8ea',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdiszilch',['BIG_1024_28_diszilch',['../big__1024__28_8h.html#ae7aa0c3c199de111505a1f2fa620fb68',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdiv3',['BIG_1024_28_div3',['../big__1024__28_8h.html#ab71e3c68ab0701c8deed44fcfc0320da',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdmod',['BIG_1024_28_dmod',['../big__1024__28_8h.html#abdc6db328aae7ea8780787e35a976c2d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdmod2m',['BIG_1024_28_dmod2m',['../big__1024__28_8h.html#a0af8fe60752ace226e1980f42ee1323c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdnbits',['BIG_1024_28_dnbits',['../big__1024__28_8h.html#aa342006f3e76fe3efa25ec596bfcaa09',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdnorm',['BIG_1024_28_dnorm',['../big__1024__28_8h.html#af187316ae9c222a6f537ba02ba6d58a0',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdoutput',['BIG_1024_28_doutput',['../big__1024__28_8h.html#ac56ff1f8b418819b091d51e44cc8decb',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdrawoutput',['BIG_1024_28_drawoutput',['../big__1024__28_8h.html#a2cb16afcdacd4d31ca6126333cbd8d4d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdscopy',['BIG_1024_28_dscopy',['../big__1024__28_8h.html#ac01fc92d6ac6f4df3bdb821b69328e79',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdshl',['BIG_1024_28_dshl',['../big__1024__28_8h.html#ac8a0e281a38a42294fa7d262b4bb88dc',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdshr',['BIG_1024_28_dshr',['../big__1024__28_8h.html#a6ee4273810629405a0fabbcfbe97bea5',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdsub',['BIG_1024_28_dsub',['../big__1024__28_8h.html#a7f11d7b27dc1dd657e6aac4305e81982',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdsucopy',['BIG_1024_28_dsucopy',['../big__1024__28_8h.html#ab1ce66a9f6fa854db007fa2378aeb723',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fdzero',['BIG_1024_28_dzero',['../big__1024__28_8h.html#adf9707f6f05fa6f11f652c66df3ec4aa',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffrombytes',['BIG_1024_28_fromBytes',['../big__1024__28_8h.html#a1fcdbb02f4a74e2fd5a3e4a7b2df99c5',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffrombyteslen',['BIG_1024_28_fromBytesLen',['../big__1024__28_8h.html#a8eed0c87536a7eee8a505d78743bb0fa',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffshl',['BIG_1024_28_fshl',['../big__1024__28_8h.html#a415004d01c4e2f89b128c01337ddc0da',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ffshr',['BIG_1024_28_fshr',['../big__1024__28_8h.html#a59b2d05311ee721798227fe033b3c758',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fimul',['BIG_1024_28_imul',['../big__1024__28_8h.html#aecefd0d641d7df1e3b7104dd6788a99d',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5finc',['BIG_1024_28_inc',['../big__1024__28_8h.html#a798b28f9b493c155ceed8179e7ffc3db',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5finvmod2m',['BIG_1024_28_invmod2m',['../big__1024__28_8h.html#a5b78d54fd0539fc84bdfb007a0b967bf',1,'big_1024_28.h']]],
-  ['big_5f1024_5f28_5finvmodp',['BIG_1024_28_invmodp',['../big__1024__28_8h.html#a8061d3296101802f5a43ee31df48104c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fisunity',['BIG_1024_28_isunity',['../big__1024__28_8h.html#afd3bcd46deffcd767611c36b0a05ba43',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fiszilch',['BIG_1024_28_iszilch',['../big__1024__28_8h.html#a4c24835682c9662e0d3850e8d0af3592',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fjacobi',['BIG_1024_28_jacobi',['../big__1024__28_8h.html#aa965afaeb22bdfddf122274e78e98585',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5flastbits',['BIG_1024_28_lastbits',['../big__1024__28_8h.html#a52e1428d99c2bb831b79ca7ef8c8e8e0',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmod',['BIG_1024_28_mod',['../big__1024__28_8h.html#a321e9b9249a04c642b2f807c0181df90',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmod2m',['BIG_1024_28_mod2m',['../big__1024__28_8h.html#afcbdc858bc02d509b14c5a487f964014',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmoddiv',['BIG_1024_28_moddiv',['../big__1024__28_8h.html#aa8b4cf5c4f52074a6eb3ece6f6d4a83c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmodmul',['BIG_1024_28_modmul',['../big__1024__28_8h.html#acc2f1661baf86b9975011a6dc857ad6b',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmodneg',['BIG_1024_28_modneg',['../big__1024__28_8h.html#a6bda312c89508e974166321f8980d201',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmodsqr',['BIG_1024_28_modsqr',['../big__1024__28_8h.html#a8e82166152f3b17468117c89a28c5445',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmonty',['BIG_1024_28_monty',['../big__1024__28_8h.html#aac162cb8f56785b3dab55f23773dbf6c',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fmul',['BIG_1024_28_mul',['../big__1024__28_8h.html#a41e3fa7841bc262223fc6fcdef6f40ba',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fnbits',['BIG_1024_28_nbits',['../big__1024__28_8h.html#a16c692d644de8d6e3f481ec50ed1b627',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fnorm',['BIG_1024_28_norm',['../big__1024__28_8h.html#a20a571a3b9d00d82e00674a4eb9080b5',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fone',['BIG_1024_28_one',['../big__1024__28_8h.html#a6070c113d74ea38583c472dd659aa842',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5for',['BIG_1024_28_or',['../big__1024__28_8h.html#adad5cb758e64bf8e2dd1bf72d43a77ef',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5foutput',['BIG_1024_28_output',['../big__1024__28_8h.html#a8be43fff007f3d452f7b71ee8c9ad8bc',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fparity',['BIG_1024_28_parity',['../big__1024__28_8h.html#a80e1cc2bb904feea615dd9818f0ecb59',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fpmul',['BIG_1024_28_pmul',['../big__1024__28_8h.html#a8824a12970672cf823c5a16ea883a503',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fpxmul',['BIG_1024_28_pxmul',['../big__1024__28_8h.html#a8f39a50f8bd6ef64bc6d276ca47a3801',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frandom',['BIG_1024_28_random',['../big__1024__28_8h.html#a9ba4f0104e394a5d8e7455d1cac1c502',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frandomnum',['BIG_1024_28_randomnum',['../big__1024__28_8h.html#af31fe3a4a7787c2ca597bc7c23293f37',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frawoutput',['BIG_1024_28_rawoutput',['../big__1024__28_8h.html#a053a019376c8068134541df485a77fbc',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5frcopy',['BIG_1024_28_rcopy',['../big__1024__28_8h.html#ab587b7b3487be40d7f181e14a2c19111',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsdcopy',['BIG_1024_28_sdcopy',['../big__1024__28_8h.html#a596c48625c51cc8ceb2a286a0908b727',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsdiv',['BIG_1024_28_sdiv',['../big__1024__28_8h.html#a5110b174571a2eeb198fce7834e49443',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsducopy',['BIG_1024_28_sducopy',['../big__1024__28_8h.html#a9609a8759b62bd952da5edd4e2c2f2d8',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fshl',['BIG_1024_28_shl',['../big__1024__28_8h.html#ab94e42adaa9edf6caa73217ea541a8d8',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fshr',['BIG_1024_28_shr',['../big__1024__28_8h.html#ae9504ee26e7dc63dd5ddf017b5fd20fb',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsmul',['BIG_1024_28_smul',['../big__1024__28_8h.html#a0b77c681bb054b89c8099dca4214fb9e',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsplit',['BIG_1024_28_split',['../big__1024__28_8h.html#ad3f7062bf40d58cd91bb984f9374925f',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsqr',['BIG_1024_28_sqr',['../big__1024__28_8h.html#ab95726053fff3459ee437993a8be57ed',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fssn',['BIG_1024_28_ssn',['../big__1024__28_8h.html#adf9fbb2177618cc5b47ee6445726128b',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fsub',['BIG_1024_28_sub',['../big__1024__28_8h.html#af62f511ff4949856be991fe7a1da4fe0',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5ftobytes',['BIG_1024_28_toBytes',['../big__1024__28_8h.html#a210b8ce96bb74cefeedfd51e2c72fbba',1,'big_1024_28.c']]],
-  ['big_5f1024_5f28_5fzero',['BIG_1024_28_zero',['../big__1024__28_8h.html#a48be27e2baa6b6d226b049819e4279d5',1,'big_1024_28.c']]],
   ['big_5f1024_5f58_5fadd',['BIG_1024_58_add',['../big__1024__58_8h.html#abbe6b3a99af9aecd1841df049153b569',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fbit',['BIG_1024_58_bit',['../big__1024__58_8h.html#a7672b6adaef24df910705c025603eda8',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fcmove',['BIG_1024_58_cmove',['../big__1024__58_8h.html#a4c7778e1a335b35a4665e59e362fdcb7',1,'big_1024_58.c']]],
@@ -104,7 +33,7 @@
   ['big_5f1024_5f58_5ffshr',['BIG_1024_58_fshr',['../big__1024__58_8h.html#ac5bf43346b61df367fe387509e0bc844',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fimul',['BIG_1024_58_imul',['../big__1024__58_8h.html#aea983376fb00f180a797da09e3266fde',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5finc',['BIG_1024_58_inc',['../big__1024__58_8h.html#afca0383b584f39627f2d3b2a19742441',1,'big_1024_58.c']]],
-  ['big_5f1024_5f58_5finvmod2m',['BIG_1024_58_invmod2m',['../big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4',1,'ff_2048.c']]],
+  ['big_5f1024_5f58_5finvmod2m',['BIG_1024_58_invmod2m',['../big__1024__58_8h.html#a9356a68e69873749b1d8b552e8eedcd4',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5finvmodp',['BIG_1024_58_invmodp',['../big__1024__58_8h.html#a94ba3da9d18c02c77fd80f74c69c2a81',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fisunity',['BIG_1024_58_isunity',['../big__1024__58_8h.html#a9e68fc45805cdfe899c73b8dc39050b1',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fiszilch',['BIG_1024_58_iszilch',['../big__1024__58_8h.html#a9914e305af21db990dbe3a057922803a',1,'big_1024_58.c']]],
@@ -142,148 +71,6 @@
   ['big_5f1024_5f58_5fsub',['BIG_1024_58_sub',['../big__1024__58_8h.html#aaa5525a00e5d792272627b952c839311',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5ftobytes',['BIG_1024_58_toBytes',['../big__1024__58_8h.html#a34066f8efa6c016c7c502ef15022eae7',1,'big_1024_58.c']]],
   ['big_5f1024_5f58_5fzero',['BIG_1024_58_zero',['../big__1024__58_8h.html#a4f5a30353d520430afef1da22610a65f',1,'big_1024_58.c']]],
-  ['big_5f256_5f28_5fadd',['BIG_256_28_add',['../big__256__28_8h.html#a4ef176edcca47dbfc2543571d9cc7d61',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fbit',['BIG_256_28_bit',['../big__256__28_8h.html#a877ea4f2f50935b303574a7032bbf0f6',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcmove',['BIG_256_28_cmove',['../big__256__28_8h.html#a03ab05da92eb2ea796cb26842b7e77e3',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcomp',['BIG_256_28_comp',['../big__256__28_8h.html#a38842b53345806d95099918c91e0416e',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcopy',['BIG_256_28_copy',['../big__256__28_8h.html#a0831bc3b956e7489f966f919f635ee22',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fcswap',['BIG_256_28_cswap',['../big__256__28_8h.html#afb4ac61ac3caaf1c89101d90a209177e',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdadd',['BIG_256_28_dadd',['../big__256__28_8h.html#a5d690b7e832f23596e67bf1f5e423307',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdcmove',['BIG_256_28_dcmove',['../big__256__28_8h.html#a0ef3b955adfdc30b9c5434ffc7de8ed0',1,'big_256_28.h']]],
-  ['big_5f256_5f28_5fdcomp',['BIG_256_28_dcomp',['../big__256__28_8h.html#ae5e7c53b25083e3769b1f1dadb271e35',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdcopy',['BIG_256_28_dcopy',['../big__256__28_8h.html#aec1619fb62adb5f7d3e0bc25648c56c3',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fddiv',['BIG_256_28_ddiv',['../big__256__28_8h.html#a7739d6ac01a5f5919e70db9151e28253',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdec',['BIG_256_28_dec',['../big__256__28_8h.html#a77563d64e2f0b4176debe1fa60a80b62',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdfrombyteslen',['BIG_256_28_dfromBytesLen',['../big__256__28_8h.html#a677d109788b548697770dae0287e2878',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdiszilch',['BIG_256_28_diszilch',['../big__256__28_8h.html#aeff6e8bd5aa02ec15629660f185d4ecd',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdiv3',['BIG_256_28_div3',['../big__256__28_8h.html#a4971f54b70faa1a1b86435be6bf9b9c0',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdmod',['BIG_256_28_dmod',['../big__256__28_8h.html#a3f96cca36d4b5f3eb50651d351874f2c',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdmod2m',['BIG_256_28_dmod2m',['../big__256__28_8h.html#ae832454893ebd2893dd43466b53fb335',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdnbits',['BIG_256_28_dnbits',['../big__256__28_8h.html#accdff89cc25453bc0916a6d757bb2acb',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdnorm',['BIG_256_28_dnorm',['../big__256__28_8h.html#adc482b7b6d1f9859d6f558f64de0e5c1',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdoutput',['BIG_256_28_doutput',['../big__256__28_8h.html#a100f5561b2344f026870e2aaa1407f73',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdrawoutput',['BIG_256_28_drawoutput',['../big__256__28_8h.html#a32cfd50006ba099108d95dd49906e37d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdscopy',['BIG_256_28_dscopy',['../big__256__28_8h.html#acdec6adf8bb9116f47ffc3d13a1a2a11',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdshl',['BIG_256_28_dshl',['../big__256__28_8h.html#a99d30720e76c5d19209bceb851c3a345',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdshr',['BIG_256_28_dshr',['../big__256__28_8h.html#a7fb5f835fcf150b513d0d05c56fb75da',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdsub',['BIG_256_28_dsub',['../big__256__28_8h.html#ab5fc71f9eafdd9d4989f71cb3c4010c5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdsucopy',['BIG_256_28_dsucopy',['../big__256__28_8h.html#afef94b156f0a4a42047ae2ee98bd9306',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fdzero',['BIG_256_28_dzero',['../big__256__28_8h.html#aee1f0d223f9b39ad2c723011dd55b42c',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffrombytes',['BIG_256_28_fromBytes',['../big__256__28_8h.html#a4042f0ef0741d29c29ca604808803e1d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffrombyteslen',['BIG_256_28_fromBytesLen',['../big__256__28_8h.html#a5eb3022f9db32c07282522095d3af912',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffshl',['BIG_256_28_fshl',['../big__256__28_8h.html#ae595a7812e6997e2f8bfa350e2846be3',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ffshr',['BIG_256_28_fshr',['../big__256__28_8h.html#ad1274ef9a23a2cadb30717bf40dae3de',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fimul',['BIG_256_28_imul',['../big__256__28_8h.html#a116a9a195aa03a07d12a8eaf4d3849f4',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5finc',['BIG_256_28_inc',['../big__256__28_8h.html#ae35821d56d7ba557bb90f68b10ea1b85',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5finvmod2m',['BIG_256_28_invmod2m',['../big__256__28_8h.html#aa861a483021b9d542c71a347c795e6e1',1,'big_256_28.h']]],
-  ['big_5f256_5f28_5finvmodp',['BIG_256_28_invmodp',['../big__256__28_8h.html#a3dbeb09f8977b6c844bcef46e4b3c1e7',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fisunity',['BIG_256_28_isunity',['../big__256__28_8h.html#a1398cb2971ad58ae9d59e717a9b6b1ec',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fiszilch',['BIG_256_28_iszilch',['../big__256__28_8h.html#afbf2db16ec41de1fa64c3d591303e41d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fjacobi',['BIG_256_28_jacobi',['../big__256__28_8h.html#a40efcc479307dfdf215b576a83469b71',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5flastbits',['BIG_256_28_lastbits',['../big__256__28_8h.html#ab7182226782ef414b678dba9920e18a2',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmod',['BIG_256_28_mod',['../big__256__28_8h.html#a9bfef5bfb03085cd859da962bfbf9034',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmod2m',['BIG_256_28_mod2m',['../big__256__28_8h.html#ae00e23e7fabf2981b25eebc05996d132',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmoddiv',['BIG_256_28_moddiv',['../big__256__28_8h.html#a59acab49451ed4e974c281e4a8d2f2f5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmodmul',['BIG_256_28_modmul',['../big__256__28_8h.html#a6c8fdd55b3ed76326265c534f68d3d81',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmodneg',['BIG_256_28_modneg',['../big__256__28_8h.html#ae2e7ef59bb9d7c8affd18ebee14161f8',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmodsqr',['BIG_256_28_modsqr',['../big__256__28_8h.html#a04d979c4aa571294899bfa3f15580bf2',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmonty',['BIG_256_28_monty',['../big__256__28_8h.html#a44358ec27a552db4d42e1652a8f3cd12',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fmul',['BIG_256_28_mul',['../big__256__28_8h.html#af7f8ba125fa00c0671704f8065a64e30',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fnbits',['BIG_256_28_nbits',['../big__256__28_8h.html#a896ae2614e9b95b2f7a0cdb5de8f5e11',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fnorm',['BIG_256_28_norm',['../big__256__28_8h.html#a2e1b831b24679406e0ad181b23fc3dd5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fone',['BIG_256_28_one',['../big__256__28_8h.html#a657c178e39eb86021f18f2edce140b04',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5for',['BIG_256_28_or',['../big__256__28_8h.html#a45f62c90901434ca8c22fd7b5ab69432',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5foutput',['BIG_256_28_output',['../big__256__28_8h.html#a30b918cd0cab2b6762da39f522f11140',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fparity',['BIG_256_28_parity',['../big__256__28_8h.html#ab964d2eb1ff1cfba7bca0fb76e51ada9',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fpmul',['BIG_256_28_pmul',['../big__256__28_8h.html#a578990347f8ca85eea0cd2b5cf4eaaf1',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fpxmul',['BIG_256_28_pxmul',['../big__256__28_8h.html#a27820fd216b00e63943900f62afbd78c',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frandom',['BIG_256_28_random',['../big__256__28_8h.html#ac3715b5d4781042b9705f9ec473c56c5',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frandomnum',['BIG_256_28_randomnum',['../big__256__28_8h.html#af61371a17945b604a208a2b935aec74d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frawoutput',['BIG_256_28_rawoutput',['../big__256__28_8h.html#a8626d88b1bf8cf7aff25c7fde983b726',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5frcopy',['BIG_256_28_rcopy',['../big__256__28_8h.html#a7658779f094b599a129e7697c990baf6',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsdcopy',['BIG_256_28_sdcopy',['../big__256__28_8h.html#ae4f351cc457451bef252ab2cda4c7311',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsdiv',['BIG_256_28_sdiv',['../big__256__28_8h.html#ad522cd24b6c1f839999974f6acad1723',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsducopy',['BIG_256_28_sducopy',['../big__256__28_8h.html#af72c8e442888b472223e2a8d44d86c30',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fshl',['BIG_256_28_shl',['../big__256__28_8h.html#a64951278639c2065b1ee6c3cb5bc3b99',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fshr',['BIG_256_28_shr',['../big__256__28_8h.html#ac897e470de2052dd8d094c867dc53650',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsmul',['BIG_256_28_smul',['../big__256__28_8h.html#a1f68dfface1a49778efb80d7409ad24a',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsplit',['BIG_256_28_split',['../big__256__28_8h.html#a085ef8f8c5469bd7ac559ae81099a247',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsqr',['BIG_256_28_sqr',['../big__256__28_8h.html#a1d33a9459cd5ea616784046005fc6f40',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fssn',['BIG_256_28_ssn',['../big__256__28_8h.html#a4000478e901513a32681a2edcb3a88dd',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fsub',['BIG_256_28_sub',['../big__256__28_8h.html#a7159990d0c51b1ffae3a3dc335858d19',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5ftobytes',['BIG_256_28_toBytes',['../big__256__28_8h.html#a2f7ce434aa163e584027c8495f3a561d',1,'big_256_28.c']]],
-  ['big_5f256_5f28_5fzero',['BIG_256_28_zero',['../big__256__28_8h.html#aab6a408e01aaab2ee65c2440d8075d94',1,'big_256_28.c']]],
-  ['big_5f256_5f29_5fadd',['BIG_256_29_add',['../big__256__29_8h.html#a1aef430ef0ea9a948aee90f82071d417',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fbit',['BIG_256_29_bit',['../big__256__29_8h.html#a76e5bdb3549fede8f264cfcb26be6018',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcmove',['BIG_256_29_cmove',['../big__256__29_8h.html#a8a6bf060bb48f7c51fcda4cde1e8e26e',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcomp',['BIG_256_29_comp',['../big__256__29_8h.html#aa1510430ef1fd606da826613e516e0dd',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcopy',['BIG_256_29_copy',['../big__256__29_8h.html#aa4870f8e59d0721de55dbd4c2d678abd',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fcswap',['BIG_256_29_cswap',['../big__256__29_8h.html#a4ba7d16ea20d46ec7a200510ca41a338',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdadd',['BIG_256_29_dadd',['../big__256__29_8h.html#ad7f19e783f041f1e0c3474201ea12a92',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdcmove',['BIG_256_29_dcmove',['../big__256__29_8h.html#afa7b733233ab20bec1044bbfd7e5fd66',1,'big_256_29.h']]],
-  ['big_5f256_5f29_5fdcomp',['BIG_256_29_dcomp',['../big__256__29_8h.html#aa4e2034ea1159ea641544922afe4532d',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdcopy',['BIG_256_29_dcopy',['../big__256__29_8h.html#a705539d4d986b62787cb278c7a9c18cb',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fddiv',['BIG_256_29_ddiv',['../big__256__29_8h.html#ac06384af8509fa4648f7fe9a31169820',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdec',['BIG_256_29_dec',['../big__256__29_8h.html#af70f9ed20a7e5fef6d4f99449d0b2a0a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdfrombyteslen',['BIG_256_29_dfromBytesLen',['../big__256__29_8h.html#a375ccfc139837462d3f3798cf44fdceb',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdiszilch',['BIG_256_29_diszilch',['../big__256__29_8h.html#a5dde770895a5473f6e9770f92d1f5aa0',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdiv3',['BIG_256_29_div3',['../big__256__29_8h.html#a734c94d13cbbd866f389706f9684b38f',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdmod',['BIG_256_29_dmod',['../big__256__29_8h.html#a199564d5d8a0cc674a13f7d6d5c390a7',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdmod2m',['BIG_256_29_dmod2m',['../big__256__29_8h.html#a3681ba93dd87149397a4d4877f0e0be6',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdnbits',['BIG_256_29_dnbits',['../big__256__29_8h.html#aa4b4e8c2c1764aa5a7a1a5fedfa8c1ce',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdnorm',['BIG_256_29_dnorm',['../big__256__29_8h.html#ac4155d5f3609fc2a4d3dde920d851e11',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdoutput',['BIG_256_29_doutput',['../big__256__29_8h.html#a70f41607cec7a5fb5876ef6114cb4487',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdrawoutput',['BIG_256_29_drawoutput',['../big__256__29_8h.html#af7c6931543d396754a664b870f53940b',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdscopy',['BIG_256_29_dscopy',['../big__256__29_8h.html#adfc567d5ba28ba96bef4de548f490936',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdshl',['BIG_256_29_dshl',['../big__256__29_8h.html#a03bf0e9d7230ca101c85ca9dd1106647',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdshr',['BIG_256_29_dshr',['../big__256__29_8h.html#a3afe99cafc419f225c3b901fc9f018e5',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdsub',['BIG_256_29_dsub',['../big__256__29_8h.html#aaef78beead9b031b7e219027ba4dec44',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdsucopy',['BIG_256_29_dsucopy',['../big__256__29_8h.html#aba86a9c166b98d580a9e3452744d5d3c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fdzero',['BIG_256_29_dzero',['../big__256__29_8h.html#a7dae9bf5b4e7509b41d56bc627ba8369',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffrombytes',['BIG_256_29_fromBytes',['../big__256__29_8h.html#aece77a065e83680be752dac8a6519b83',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffrombyteslen',['BIG_256_29_fromBytesLen',['../big__256__29_8h.html#addef2147947e45becf815d91759fe9e8',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffshl',['BIG_256_29_fshl',['../big__256__29_8h.html#a0f76a362b0d4e8e3558d52156135920e',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ffshr',['BIG_256_29_fshr',['../big__256__29_8h.html#a2ff20a509a419768bd691c8e6757aa6c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fimul',['BIG_256_29_imul',['../big__256__29_8h.html#a0cbcbc50b4ed07fd1c1f2ea435626eb2',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5finc',['BIG_256_29_inc',['../big__256__29_8h.html#a29dd4f8e557da97534dde4266631e505',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5finvmod2m',['BIG_256_29_invmod2m',['../big__256__29_8h.html#a4f8baf432b46720a1cfe897a571d23a7',1,'big_256_29.h']]],
-  ['big_5f256_5f29_5finvmodp',['BIG_256_29_invmodp',['../big__256__29_8h.html#a4996d5c30887ebba590b50c2eccd16d0',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fisunity',['BIG_256_29_isunity',['../big__256__29_8h.html#addc0b0eed4709089ea4affd912f7e20a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fiszilch',['BIG_256_29_iszilch',['../big__256__29_8h.html#a976506581e8e06d57055921dec760493',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fjacobi',['BIG_256_29_jacobi',['../big__256__29_8h.html#ae4d8a36f15283eead515888a5cbbe615',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5flastbits',['BIG_256_29_lastbits',['../big__256__29_8h.html#abbe2731a8b528019a913c292e95c34ad',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmod',['BIG_256_29_mod',['../big__256__29_8h.html#af5870b9727ecb4808a668344f0994109',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmod2m',['BIG_256_29_mod2m',['../big__256__29_8h.html#a3a83080d302fbdc6b79a791f74cdc01c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmoddiv',['BIG_256_29_moddiv',['../big__256__29_8h.html#a65c4b2f696fe7e38e29e2c1940a03395',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmodmul',['BIG_256_29_modmul',['../big__256__29_8h.html#a7539c997cb945c4842f61c61b0dbd527',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmodneg',['BIG_256_29_modneg',['../big__256__29_8h.html#a2ed8026f6a8a6ab3331afde36953b69b',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmodsqr',['BIG_256_29_modsqr',['../big__256__29_8h.html#a22bf9d63c2ab7316376de3f7fbb958eb',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmonty',['BIG_256_29_monty',['../big__256__29_8h.html#a7c252a4354dfb59a76d97e0d6f762627',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fmul',['BIG_256_29_mul',['../big__256__29_8h.html#a1ca09ec3b1a33bc6bbb61a351baa2ff7',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fnbits',['BIG_256_29_nbits',['../big__256__29_8h.html#a23232ca660f365bf5876a8f5c4cf63f3',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fnorm',['BIG_256_29_norm',['../big__256__29_8h.html#ae448673401c83ef7937ebd8109812d52',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fone',['BIG_256_29_one',['../big__256__29_8h.html#ae4abe3933bc1a620c581e84057bb6a3a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5for',['BIG_256_29_or',['../big__256__29_8h.html#a7bfb4f437084b7c83fe82dcd319fb04f',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5foutput',['BIG_256_29_output',['../big__256__29_8h.html#a044828c9a61da9d1abbce2c515080772',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fparity',['BIG_256_29_parity',['../big__256__29_8h.html#ab768075ecb86528f6f64727f1712d56e',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fpmul',['BIG_256_29_pmul',['../big__256__29_8h.html#a26788a5f4a4c8a3c6223cfdc598e2206',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fpxmul',['BIG_256_29_pxmul',['../big__256__29_8h.html#a37858e7d7ba07f829f5fe406e143244a',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frandom',['BIG_256_29_random',['../big__256__29_8h.html#ad7ac4bee902715416866db38b3cb9bb2',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frandomnum',['BIG_256_29_randomnum',['../big__256__29_8h.html#a9d82cba4b9bbb7877c7deb40685c5127',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frawoutput',['BIG_256_29_rawoutput',['../big__256__29_8h.html#ac62bbe0fa81461611bb6703b5f9cbd77',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5frcopy',['BIG_256_29_rcopy',['../big__256__29_8h.html#a2a30c02ed0211279e1eb64ef393131cf',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsdcopy',['BIG_256_29_sdcopy',['../big__256__29_8h.html#adf02d79d6b9e70e0c09d0abc9efa9dac',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsdiv',['BIG_256_29_sdiv',['../big__256__29_8h.html#af5225a9da73fe4fdf6e07b3b135dfc25',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsducopy',['BIG_256_29_sducopy',['../big__256__29_8h.html#a3ad6c1bda0300811bb05f19092aeccb5',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fshl',['BIG_256_29_shl',['../big__256__29_8h.html#a7eb0b9ad8b3f83098cf1e09143063760',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fshr',['BIG_256_29_shr',['../big__256__29_8h.html#a897715e22f6f400d1e89eb20b13a4a61',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsmul',['BIG_256_29_smul',['../big__256__29_8h.html#aa9a29a0ef363c94da54880dff875562c',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsplit',['BIG_256_29_split',['../big__256__29_8h.html#abf41ba04665e4640aae5cc73f1cfe760',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsqr',['BIG_256_29_sqr',['../big__256__29_8h.html#af3b9ab7a0b7fb9d2391d0cb9703640a1',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fssn',['BIG_256_29_ssn',['../big__256__29_8h.html#a21edd2fc13e98c973af2bcdd8314e8b9',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fsub',['BIG_256_29_sub',['../big__256__29_8h.html#a97c753c8b89e022797d2b4d11bf70730',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5ftobytes',['BIG_256_29_toBytes',['../big__256__29_8h.html#af28a4870f8aff2e8428c2b6b4f94e756',1,'big_256_29.c']]],
-  ['big_5f256_5f29_5fzero',['BIG_256_29_zero',['../big__256__29_8h.html#a934c865c43e9c75afe9748f030e4ec46',1,'big_256_29.c']]],
   ['big_5f256_5f56_5fadd',['BIG_256_56_add',['../big__256__56_8h.html#aacf68874a1db0161c30bb528dd0515f3',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fbit',['BIG_256_56_bit',['../big__256__56_8h.html#a4b9e7a612f45a257aee96e1cd3057cff',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fcmove',['BIG_256_56_cmove',['../big__256__56_8h.html#ada66c853edcbaebdd452bc0427fc22d1',1,'big_256_56.c']]],
@@ -317,7 +104,7 @@
   ['big_5f256_5f56_5ffshr',['BIG_256_56_fshr',['../big__256__56_8h.html#ae2503de5720030f26b6c4333ac7d98e4',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fimul',['BIG_256_56_imul',['../big__256__56_8h.html#ab122c9bc11ced893982f8d7e87f6d16b',1,'big_256_56.c']]],
   ['big_5f256_5f56_5finc',['BIG_256_56_inc',['../big__256__56_8h.html#a9de89e29493f9cb68834d42b9fa55740',1,'big_256_56.c']]],
-  ['big_5f256_5f56_5finvmod2m',['BIG_256_56_invmod2m',['../big__256__56_8h.html#a63396a981b7423fb6b83014c87e17198',1,'big_256_56.h']]],
+  ['big_5f256_5f56_5finvmod2m',['BIG_256_56_invmod2m',['../big__256__56_8h.html#a63396a981b7423fb6b83014c87e17198',1,'big_256_56.c']]],
   ['big_5f256_5f56_5finvmodp',['BIG_256_56_invmodp',['../big__256__56_8h.html#a1957fef0abc63c2a816d264532f5aa8e',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fisunity',['BIG_256_56_isunity',['../big__256__56_8h.html#ae636476adf911162915969bf70750f45',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fiszilch',['BIG_256_56_iszilch',['../big__256__56_8h.html#ac13c91de6deefb2098a17f7081984384',1,'big_256_56.c']]],
@@ -355,77 +142,6 @@
   ['big_5f256_5f56_5fsub',['BIG_256_56_sub',['../big__256__56_8h.html#a7f8334cd5e8d117b04a7bd1b483eab59',1,'big_256_56.c']]],
   ['big_5f256_5f56_5ftobytes',['BIG_256_56_toBytes',['../big__256__56_8h.html#ad4d7e429da003447d680466dd428d514',1,'big_256_56.c']]],
   ['big_5f256_5f56_5fzero',['BIG_256_56_zero',['../big__256__56_8h.html#a9c6d9b44e809b7b7691b350db090b0e1',1,'big_256_56.c']]],
-  ['big_5f336_5f29_5fadd',['BIG_336_29_add',['../big__336__29_8h.html#a75c1d8be1ba70f7f4475ead6a5f43af0',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fbit',['BIG_336_29_bit',['../big__336__29_8h.html#ad514e47ff474e65b1b5f10ee790e4c13',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcmove',['BIG_336_29_cmove',['../big__336__29_8h.html#a34ec564848369556a4b02dcc01f9ca04',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcomp',['BIG_336_29_comp',['../big__336__29_8h.html#a763a715d585c890995a8bbce08988a80',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcopy',['BIG_336_29_copy',['../big__336__29_8h.html#a6c4af364650172b17df2e7e0930e666f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fcswap',['BIG_336_29_cswap',['../big__336__29_8h.html#a3e973afced1de79a5d3a283ae5b271af',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdadd',['BIG_336_29_dadd',['../big__336__29_8h.html#aeabd48c0ad271c023797578103ac840e',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdcmove',['BIG_336_29_dcmove',['../big__336__29_8h.html#ae9c08f62fd328bb248328dcf3837b134',1,'big_336_29.h']]],
-  ['big_5f336_5f29_5fdcomp',['BIG_336_29_dcomp',['../big__336__29_8h.html#adbf7ba2f51fbac9c4fb2943f9f2769da',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdcopy',['BIG_336_29_dcopy',['../big__336__29_8h.html#a244e69d514f07e515b3473380595b10d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fddiv',['BIG_336_29_ddiv',['../big__336__29_8h.html#a6386d5ef47067541157b93e6edaf7e21',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdec',['BIG_336_29_dec',['../big__336__29_8h.html#ad2b49abad8d092e55c30ee6a54e56ff5',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdfrombyteslen',['BIG_336_29_dfromBytesLen',['../big__336__29_8h.html#a20861abd6145ea8dbadd9ff84af2dea1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdiszilch',['BIG_336_29_diszilch',['../big__336__29_8h.html#a9509b0dc8baeda5dc8c20b32dff94ad4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdiv3',['BIG_336_29_div3',['../big__336__29_8h.html#a51ba250655520120124160cc87e0424b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdmod',['BIG_336_29_dmod',['../big__336__29_8h.html#a63200114268a09a55ba435bdd917ba7d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdmod2m',['BIG_336_29_dmod2m',['../big__336__29_8h.html#a777bbea4f90ee4bfd54c76036223f70f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdnbits',['BIG_336_29_dnbits',['../big__336__29_8h.html#a2a2019a072b248c24d0ef0c1bb201954',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdnorm',['BIG_336_29_dnorm',['../big__336__29_8h.html#a9adcbfd01df1d2862d4a733a939b83ae',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdoutput',['BIG_336_29_doutput',['../big__336__29_8h.html#aa481a2e2eab1f3187f8780c294e7d9fb',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdrawoutput',['BIG_336_29_drawoutput',['../big__336__29_8h.html#ad1b50365cb7eddcbec5ce1c7922c5475',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdscopy',['BIG_336_29_dscopy',['../big__336__29_8h.html#a7b4f65976a9cc91ba58144fa44bb7177',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdshl',['BIG_336_29_dshl',['../big__336__29_8h.html#a71f283cfb6248804db064fea30190cc5',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdshr',['BIG_336_29_dshr',['../big__336__29_8h.html#a2c5eca3ca53299e19f5b2cfb026af42f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdsub',['BIG_336_29_dsub',['../big__336__29_8h.html#aaec1f3921b23e1646dcec6938c8edf99',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdsucopy',['BIG_336_29_dsucopy',['../big__336__29_8h.html#a3c1b26f91d75cc611fd12dd3808ae8ca',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fdzero',['BIG_336_29_dzero',['../big__336__29_8h.html#aa12e7e0bd105f263877e1c347d7eccd1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffrombytes',['BIG_336_29_fromBytes',['../big__336__29_8h.html#a966fa27a1ed84d09b8411bd82519072f',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffrombyteslen',['BIG_336_29_fromBytesLen',['../big__336__29_8h.html#ac912d49447a466dcf1d5f85a6e14f336',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffshl',['BIG_336_29_fshl',['../big__336__29_8h.html#a1fb372329a67a713aa3e66a7f5ce7335',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ffshr',['BIG_336_29_fshr',['../big__336__29_8h.html#af781f798c463ac6403dd9a363772ea0a',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fimul',['BIG_336_29_imul',['../big__336__29_8h.html#a5579d667e486744ad3281c318b726fe1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5finc',['BIG_336_29_inc',['../big__336__29_8h.html#a213286f51d77e52e9e3da344da1fbd88',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5finvmod2m',['BIG_336_29_invmod2m',['../big__336__29_8h.html#aa6d1cde9525f89fd5a3e549b4a26b6dd',1,'big_336_29.h']]],
-  ['big_5f336_5f29_5finvmodp',['BIG_336_29_invmodp',['../big__336__29_8h.html#a5c0b44e1207e320b6167a9254f321ab1',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fisunity',['BIG_336_29_isunity',['../big__336__29_8h.html#ad6deb8d369b93c4784ff598adbabb224',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fiszilch',['BIG_336_29_iszilch',['../big__336__29_8h.html#a230c8d9151ecff0f78b9e12bccdf635e',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fjacobi',['BIG_336_29_jacobi',['../big__336__29_8h.html#a9426091077ed3d20296520250682323d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5flastbits',['BIG_336_29_lastbits',['../big__336__29_8h.html#ab69ef8cd98e2cfec2c896d795afd41fc',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmod',['BIG_336_29_mod',['../big__336__29_8h.html#a4383888885e060ff4298b0535bc1d3c4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmod2m',['BIG_336_29_mod2m',['../big__336__29_8h.html#adcb3a172848c6450b152887f2fd8b523',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmoddiv',['BIG_336_29_moddiv',['../big__336__29_8h.html#a99a30e1d14f7e17d15108df3f1deaf65',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmodmul',['BIG_336_29_modmul',['../big__336__29_8h.html#a24e62b683fa847940386e56891aa601c',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmodneg',['BIG_336_29_modneg',['../big__336__29_8h.html#a5c2940f39feede18db26b83eb155ac4c',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmodsqr',['BIG_336_29_modsqr',['../big__336__29_8h.html#a7418873bde193b2ae00ca12bb1bd72d0',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmonty',['BIG_336_29_monty',['../big__336__29_8h.html#ae9423918c339248a32cde90059d54bf0',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fmul',['BIG_336_29_mul',['../big__336__29_8h.html#ad5467c39a0f90dfe7d5382675d80c4af',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fnbits',['BIG_336_29_nbits',['../big__336__29_8h.html#afb5782ca3aa5769cfa84cd5d470d503a',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fnorm',['BIG_336_29_norm',['../big__336__29_8h.html#aae019c2a192bd2b4549f8544b3124985',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fone',['BIG_336_29_one',['../big__336__29_8h.html#aa88f788433edb46e3fce010c675e3ebe',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5for',['BIG_336_29_or',['../big__336__29_8h.html#ad5e8219fa6226d669de04ee7bbe82e8a',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5foutput',['BIG_336_29_output',['../big__336__29_8h.html#a1ce5cd538831acb1ceaa657dcea7e142',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fparity',['BIG_336_29_parity',['../big__336__29_8h.html#a8b664b937461785b3b32f6ba6fbf4e00',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fpmul',['BIG_336_29_pmul',['../big__336__29_8h.html#ae8b0f5ddf0ba8cd8c725c5acb99a465b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fpxmul',['BIG_336_29_pxmul',['../big__336__29_8h.html#a6627ad75b1268e62a5f7d88be8014ccd',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frandom',['BIG_336_29_random',['../big__336__29_8h.html#aa268dc8d92ea89fd9747df7d6cd56c80',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frandomnum',['BIG_336_29_randomnum',['../big__336__29_8h.html#a0e580dd237aa3ccc3c30da5f17cb25c8',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frawoutput',['BIG_336_29_rawoutput',['../big__336__29_8h.html#a37a28dbc85f653ddc47e5a0977a83d5b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5frcopy',['BIG_336_29_rcopy',['../big__336__29_8h.html#ab18ce1ef87d290fc6c489a41aa763fbd',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsdcopy',['BIG_336_29_sdcopy',['../big__336__29_8h.html#ad45969a681f02ce92a0fa21fc5ed1c95',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsdiv',['BIG_336_29_sdiv',['../big__336__29_8h.html#ad355509f4c5d76b7fac2865d7a3817ee',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsducopy',['BIG_336_29_sducopy',['../big__336__29_8h.html#a2867c99c42fd61b2a2cd3e4267a4e892',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fshl',['BIG_336_29_shl',['../big__336__29_8h.html#ad9d73478b62aa9c03c9ed0ee21084ac4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fshr',['BIG_336_29_shr',['../big__336__29_8h.html#a214e850cd3502a3e115959d4622d815b',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsmul',['BIG_336_29_smul',['../big__336__29_8h.html#a9c05fe473e5b3b23f505850370dfb4d5',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsplit',['BIG_336_29_split',['../big__336__29_8h.html#ac01951f8f16ebf0b7120f083b4c20aab',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsqr',['BIG_336_29_sqr',['../big__336__29_8h.html#a79f4ddd5776131afb411c6b8b7d7853d',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fssn',['BIG_336_29_ssn',['../big__336__29_8h.html#a7bd8806b8b21c010a9647fac762036d8',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fsub',['BIG_336_29_sub',['../big__336__29_8h.html#a89c1e07d9b8e96b7e971ab5417400335',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5ftobytes',['BIG_336_29_toBytes',['../big__336__29_8h.html#a3f3773dddbaae9d598cf26562718aca4',1,'big_336_29.c']]],
-  ['big_5f336_5f29_5fzero',['BIG_336_29_zero',['../big__336__29_8h.html#a04f38d96c8de1197f3b75032e3e987d2',1,'big_336_29.c']]],
   ['big_5f336_5f60_5fadd',['BIG_336_60_add',['../big__336__60_8h.html#a6fd779dd5a3c29408daad6706fa2af96',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fbit',['BIG_336_60_bit',['../big__336__60_8h.html#a6fbd613871b8a2f6e941f4430f5300c0',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fcmove',['BIG_336_60_cmove',['../big__336__60_8h.html#a22be022a62a8e282a902e5f55a110044',1,'big_336_60.c']]],
@@ -459,7 +175,7 @@
   ['big_5f336_5f60_5ffshr',['BIG_336_60_fshr',['../big__336__60_8h.html#a302bb3ec86e68b5e47efcd092ce74d6b',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fimul',['BIG_336_60_imul',['../big__336__60_8h.html#aab0c9a28410127cb2bf1b18fadba2758',1,'big_336_60.c']]],
   ['big_5f336_5f60_5finc',['BIG_336_60_inc',['../big__336__60_8h.html#a9e50880f7150af10b54c5b8be27d6ef7',1,'big_336_60.c']]],
-  ['big_5f336_5f60_5finvmod2m',['BIG_336_60_invmod2m',['../big__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c',1,'big_336_60.h']]],
+  ['big_5f336_5f60_5finvmod2m',['BIG_336_60_invmod2m',['../big__336__60_8h.html#ad6f5e1da3bf4d5fdcdc77fcadb2eb72c',1,'big_336_60.c']]],
   ['big_5f336_5f60_5finvmodp',['BIG_336_60_invmodp',['../big__336__60_8h.html#a2ea32ae9b84ac45118f6a5bdb361535b',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fisunity',['BIG_336_60_isunity',['../big__336__60_8h.html#a6110ea9f4eb7f2c2b149811811498c2d',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fiszilch',['BIG_336_60_iszilch',['../big__336__60_8h.html#ad2fdb06120298ceb0a05dfb3b9cf7ec9',1,'big_336_60.c']]],
@@ -497,148 +213,6 @@
   ['big_5f336_5f60_5fsub',['BIG_336_60_sub',['../big__336__60_8h.html#a4e0852f724706e43c0e2d2e00832a79e',1,'big_336_60.c']]],
   ['big_5f336_5f60_5ftobytes',['BIG_336_60_toBytes',['../big__336__60_8h.html#af57d9134bdb184783baba00ca655c68f',1,'big_336_60.c']]],
   ['big_5f336_5f60_5fzero',['BIG_336_60_zero',['../big__336__60_8h.html#aab7b66e556c3b34bc3026d2d5314e52f',1,'big_336_60.c']]],
-  ['big_5f384_5f28_5fadd',['BIG_384_28_add',['../big__384__28_8h.html#a4a9f21e199c8aa375f10a620421382e6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fbit',['BIG_384_28_bit',['../big__384__28_8h.html#a1332067c6ddd966c3ee106ca9232bcd5',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcmove',['BIG_384_28_cmove',['../big__384__28_8h.html#a7c2f771cf7b5dd17f8e1f05da8bf97a1',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcomp',['BIG_384_28_comp',['../big__384__28_8h.html#aa2d828ed693c2267db21030a7b8aa65f',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcopy',['BIG_384_28_copy',['../big__384__28_8h.html#a63d3817c3c3bce6ac1c39c8b16fac06f',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fcswap',['BIG_384_28_cswap',['../big__384__28_8h.html#a09cb7359e8678a5ac2e7fc3e332eb29c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdadd',['BIG_384_28_dadd',['../big__384__28_8h.html#ac45376eaec2c8050f1375202e0976534',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdcmove',['BIG_384_28_dcmove',['../big__384__28_8h.html#ae71455123481ffaa1c7e08f81d155ff9',1,'big_384_28.h']]],
-  ['big_5f384_5f28_5fdcomp',['BIG_384_28_dcomp',['../big__384__28_8h.html#a65f2020e457f2c9d9b98cd595032a962',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdcopy',['BIG_384_28_dcopy',['../big__384__28_8h.html#ab5a69694470155f14f5bee3c62b773d6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fddiv',['BIG_384_28_ddiv',['../big__384__28_8h.html#a0c669c1e0764711db98f4690ab4ead02',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdec',['BIG_384_28_dec',['../big__384__28_8h.html#a228697f5aeef97b347d5bd095cbed9bf',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdfrombyteslen',['BIG_384_28_dfromBytesLen',['../big__384__28_8h.html#a42203ae1493bb5e1f84e2f93b44f543f',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdiszilch',['BIG_384_28_diszilch',['../big__384__28_8h.html#ac824c238b2ad967cc52836a888ce5ec7',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdiv3',['BIG_384_28_div3',['../big__384__28_8h.html#ac436ebf172cfe996920945b3f1b7cb4a',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdmod',['BIG_384_28_dmod',['../big__384__28_8h.html#af5726874f41c1bc21331297bdd12ad02',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdmod2m',['BIG_384_28_dmod2m',['../big__384__28_8h.html#a45c30f3703cec5ae3eb6de061012af88',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdnbits',['BIG_384_28_dnbits',['../big__384__28_8h.html#ad69eeb57746553c390c02ce7fc53fedd',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdnorm',['BIG_384_28_dnorm',['../big__384__28_8h.html#aef2b744cef6fe1696b79b2aa3fed8fb2',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdoutput',['BIG_384_28_doutput',['../big__384__28_8h.html#a516ac3f0b90c3eae0d5021c8616b7368',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdrawoutput',['BIG_384_28_drawoutput',['../big__384__28_8h.html#afacc56ed2d110adb76534f3835129f70',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdscopy',['BIG_384_28_dscopy',['../big__384__28_8h.html#a9b5cd02ecfebe5b4d0f6ac1edac6c52c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdshl',['BIG_384_28_dshl',['../big__384__28_8h.html#a8a513d5bf6c2e56d438f0474a3cb069a',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdshr',['BIG_384_28_dshr',['../big__384__28_8h.html#afa77897ed052e7b53cf745c275bf7e31',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdsub',['BIG_384_28_dsub',['../big__384__28_8h.html#a4cb202b0eb07a78d009b729089742fea',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdsucopy',['BIG_384_28_dsucopy',['../big__384__28_8h.html#a1a726364369270a9e29464eeb9aee469',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fdzero',['BIG_384_28_dzero',['../big__384__28_8h.html#a238e27e5b205b6181f5c718d12c26e00',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffrombytes',['BIG_384_28_fromBytes',['../big__384__28_8h.html#a51b34c564e69a54e167e4327dc712219',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffrombyteslen',['BIG_384_28_fromBytesLen',['../big__384__28_8h.html#a9e2586315194fec22ccc7a45e62d46ad',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffshl',['BIG_384_28_fshl',['../big__384__28_8h.html#ad9ec1f2757cac24535f8bdef1a7a39e8',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ffshr',['BIG_384_28_fshr',['../big__384__28_8h.html#a916fbbcf68123a8a3ed28f427dc34784',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fimul',['BIG_384_28_imul',['../big__384__28_8h.html#a3da153b25d066347093f0dbbf14eb15d',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5finc',['BIG_384_28_inc',['../big__384__28_8h.html#a5c7488a309fc2c3ae069dfffc9d7c4c0',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5finvmod2m',['BIG_384_28_invmod2m',['../big__384__28_8h.html#a7fe701290d9d38d84514372f424187c5',1,'big_384_28.h']]],
-  ['big_5f384_5f28_5finvmodp',['BIG_384_28_invmodp',['../big__384__28_8h.html#a3303e969db79f8ea0c7b56a1beb2a79a',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fisunity',['BIG_384_28_isunity',['../big__384__28_8h.html#a58341593cdb187626cb9ed9fc255c390',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fiszilch',['BIG_384_28_iszilch',['../big__384__28_8h.html#aaae155a2c272e54cb6debaf4c22c752c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fjacobi',['BIG_384_28_jacobi',['../big__384__28_8h.html#ad2c01faa4c2e37c3b546d0a3213e2cd5',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5flastbits',['BIG_384_28_lastbits',['../big__384__28_8h.html#a11b73740018af049295c35189bceac13',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmod',['BIG_384_28_mod',['../big__384__28_8h.html#ad08e2bf2a67f19eaab434ec546bb7ff6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmod2m',['BIG_384_28_mod2m',['../big__384__28_8h.html#a96499245fbc0e95cea2d5620a737fda6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmoddiv',['BIG_384_28_moddiv',['../big__384__28_8h.html#aa752852a23b3e0c59a7b664c0e117261',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmodmul',['BIG_384_28_modmul',['../big__384__28_8h.html#ad9ca3ee5748f621f5e97876f57c3ce5c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmodneg',['BIG_384_28_modneg',['../big__384__28_8h.html#a2db1bbccaf315a380d68b89d82867077',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmodsqr',['BIG_384_28_modsqr',['../big__384__28_8h.html#a6dd22adb17f614887efdee1cb57d0e81',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmonty',['BIG_384_28_monty',['../big__384__28_8h.html#a847b33bcb40d3241e31b6ee96bd8f4c6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fmul',['BIG_384_28_mul',['../big__384__28_8h.html#ac6c217fef49e386b85b023fe05f80723',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fnbits',['BIG_384_28_nbits',['../big__384__28_8h.html#a5c167fb2b00eccd42ce4ae9c796189e4',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fnorm',['BIG_384_28_norm',['../big__384__28_8h.html#a4ad8fd01de1709b61612fcc279274600',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fone',['BIG_384_28_one',['../big__384__28_8h.html#ab1d79b56107d0bfe073c4dbec9edb424',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5for',['BIG_384_28_or',['../big__384__28_8h.html#a2bac6adf71cf485e03e34f2900c0e00c',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5foutput',['BIG_384_28_output',['../big__384__28_8h.html#afbc6201e5eae7949f8fdaca44dfc95b6',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fparity',['BIG_384_28_parity',['../big__384__28_8h.html#aff7c69eedbb24ec68e7ddf4db9acc4c4',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fpmul',['BIG_384_28_pmul',['../big__384__28_8h.html#ad63df8e11b6f1cfeb7e9140cab9d561e',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fpxmul',['BIG_384_28_pxmul',['../big__384__28_8h.html#a47ca896b3c4555f90fd10841c9f87d03',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frandom',['BIG_384_28_random',['../big__384__28_8h.html#a1668ae2de15408b596eea43adc6f9015',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frandomnum',['BIG_384_28_randomnum',['../big__384__28_8h.html#ae9a29e377331b63ca78ce090e32bda20',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frawoutput',['BIG_384_28_rawoutput',['../big__384__28_8h.html#a4487f671a15c0626f311c012e20c9c2b',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5frcopy',['BIG_384_28_rcopy',['../big__384__28_8h.html#af1375dc3069a5b40e2a4721bc6c34ca7',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsdcopy',['BIG_384_28_sdcopy',['../big__384__28_8h.html#a52395d29456061e275f180bcbc0fa9d9',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsdiv',['BIG_384_28_sdiv',['../big__384__28_8h.html#a15d63ef2bcc446e9d28fb3e5b6184b41',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsducopy',['BIG_384_28_sducopy',['../big__384__28_8h.html#a618bf7d7e2be346517e7fbed186f46e8',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fshl',['BIG_384_28_shl',['../big__384__28_8h.html#ade8e4549ea507d3e683fe81d4d400f71',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fshr',['BIG_384_28_shr',['../big__384__28_8h.html#a0d145f76d6d0b8823761f4ca6370c637',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsmul',['BIG_384_28_smul',['../big__384__28_8h.html#adc8507bac205a5f0ccbac18de7b68ca1',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsplit',['BIG_384_28_split',['../big__384__28_8h.html#a33f7b0063f5af0e6c58510966beac8f8',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsqr',['BIG_384_28_sqr',['../big__384__28_8h.html#a0b9f6d6a15963d0ca607e5143f726651',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fssn',['BIG_384_28_ssn',['../big__384__28_8h.html#ae24758a390284bae57bd3bc25543309d',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fsub',['BIG_384_28_sub',['../big__384__28_8h.html#a5d20d009e9edb553f18c4c65d5ded998',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5ftobytes',['BIG_384_28_toBytes',['../big__384__28_8h.html#a3ab047839afd602bbba5fa530f48a1f9',1,'big_384_28.c']]],
-  ['big_5f384_5f28_5fzero',['BIG_384_28_zero',['../big__384__28_8h.html#ae43efdb25a16be101f8156b2047d7e9c',1,'big_384_28.c']]],
-  ['big_5f384_5f29_5fadd',['BIG_384_29_add',['../big__384__29_8h.html#ae8a33809748e86abf38be6a82ee48dbc',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fbit',['BIG_384_29_bit',['../big__384__29_8h.html#a76a57f414f2b3be61fa038ec2a016bb0',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcmove',['BIG_384_29_cmove',['../big__384__29_8h.html#aab35f8dbaae1db3e43babae24a220297',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcomp',['BIG_384_29_comp',['../big__384__29_8h.html#ac06efcddbe91d806bf4b8c01c56f08ca',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcopy',['BIG_384_29_copy',['../big__384__29_8h.html#aaa87c91cf1a4e235b4e57061744b7488',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fcswap',['BIG_384_29_cswap',['../big__384__29_8h.html#a5a848fbcf9248fdf5f123ad831f0eb36',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdadd',['BIG_384_29_dadd',['../big__384__29_8h.html#a80012252d35e1f39786cb8020b2dbc27',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdcmove',['BIG_384_29_dcmove',['../big__384__29_8h.html#a550d58a56c3336f2b0a5895aeb61b72b',1,'big_384_29.h']]],
-  ['big_5f384_5f29_5fdcomp',['BIG_384_29_dcomp',['../big__384__29_8h.html#a0b99018225d825960c70dd1a213c581b',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdcopy',['BIG_384_29_dcopy',['../big__384__29_8h.html#a31493a223d149d150b81109af2622e68',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fddiv',['BIG_384_29_ddiv',['../big__384__29_8h.html#a4089cb6ff0368f04bb1d415c9ceb1c72',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdec',['BIG_384_29_dec',['../big__384__29_8h.html#a9606f885cd731e6bb70ed43c0fb56de9',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdfrombyteslen',['BIG_384_29_dfromBytesLen',['../big__384__29_8h.html#aebcaf728ea21b894d4f40f2ce84b06e5',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdiszilch',['BIG_384_29_diszilch',['../big__384__29_8h.html#a16caa5b2e994f3b3b09d4a4952970977',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdiv3',['BIG_384_29_div3',['../big__384__29_8h.html#aa5f1a4ab6733b7f7d6d241ee5062c2de',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdmod',['BIG_384_29_dmod',['../big__384__29_8h.html#a042d957754ebc5d6847abf0c0ed613f9',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdmod2m',['BIG_384_29_dmod2m',['../big__384__29_8h.html#ad5942c0c1f2816790ec4c6fac63fb934',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdnbits',['BIG_384_29_dnbits',['../big__384__29_8h.html#a442287e511b421462af841b34fce153b',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdnorm',['BIG_384_29_dnorm',['../big__384__29_8h.html#a9109a9ab947921c2831aaeb359e16828',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdoutput',['BIG_384_29_doutput',['../big__384__29_8h.html#a298aa7a0970303e8d65d6653fa72ba24',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdrawoutput',['BIG_384_29_drawoutput',['../big__384__29_8h.html#a16f67ff9a20a55edadfd8b1dd6d7a2e8',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdscopy',['BIG_384_29_dscopy',['../big__384__29_8h.html#a84ac3f34e8a03c0e8f5e3a6d1a856442',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdshl',['BIG_384_29_dshl',['../big__384__29_8h.html#a66077e9acce3a88340f7555136248e81',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdshr',['BIG_384_29_dshr',['../big__384__29_8h.html#a01b53c51d421c61e4b09ad5ab88995f5',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdsub',['BIG_384_29_dsub',['../big__384__29_8h.html#a8e8bf34c64b05b903b9027541825547d',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdsucopy',['BIG_384_29_dsucopy',['../big__384__29_8h.html#a461b13e8431b6341e9c0f18e171e30a1',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fdzero',['BIG_384_29_dzero',['../big__384__29_8h.html#a58d1c2c922f53294419dd7a491bfac43',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffrombytes',['BIG_384_29_fromBytes',['../big__384__29_8h.html#a611c1c3a2087a61ca8aca6702a501e7d',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffrombyteslen',['BIG_384_29_fromBytesLen',['../big__384__29_8h.html#ab26f93bbc86ea2938b1d640d50baf514',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffshl',['BIG_384_29_fshl',['../big__384__29_8h.html#a534f2208022d5711bc1ce450e7822205',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ffshr',['BIG_384_29_fshr',['../big__384__29_8h.html#aacf67d3558e177d1e90e6779449062de',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fimul',['BIG_384_29_imul',['../big__384__29_8h.html#ad19895d08db9aeebf44eff2cc1dafb52',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5finc',['BIG_384_29_inc',['../big__384__29_8h.html#abd830342f83d91806905d61288ff1a89',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5finvmod2m',['BIG_384_29_invmod2m',['../big__384__29_8h.html#ad24cf08aefb349c5ec7d384fb26d4a3c',1,'big_384_29.h']]],
-  ['big_5f384_5f29_5finvmodp',['BIG_384_29_invmodp',['../big__384__29_8h.html#a39adf092cc3e1e0d5f98acaebcf4dd2f',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fisunity',['BIG_384_29_isunity',['../big__384__29_8h.html#a239235d13ab7ea1c82070ea771293f18',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fiszilch',['BIG_384_29_iszilch',['../big__384__29_8h.html#a69ba68e3a4efc01da04050cc79706680',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fjacobi',['BIG_384_29_jacobi',['../big__384__29_8h.html#af934ab3c68b97302df91f99bbb83a2b0',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5flastbits',['BIG_384_29_lastbits',['../big__384__29_8h.html#a40be50b37b5e4515902c22dad2f156ef',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmod',['BIG_384_29_mod',['../big__384__29_8h.html#a5e429b6a38eff8bc3d7e984e506b92ee',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmod2m',['BIG_384_29_mod2m',['../big__384__29_8h.html#a2eb7feb42ec2e26b6d413bc27161b003',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmoddiv',['BIG_384_29_moddiv',['../big__384__29_8h.html#ad1ecea87aa16f997ac5926c559c56bf5',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmodmul',['BIG_384_29_modmul',['../big__384__29_8h.html#a83339bca9b54d2c662b82563aa2cab6e',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmodneg',['BIG_384_29_modneg',['../big__384__29_8h.html#a9a3aab2f941d3ad88fe09a884ce4bbf3',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmodsqr',['BIG_384_29_modsqr',['../big__384__29_8h.html#a8711ca578f23cc48a617bd707696951a',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmonty',['BIG_384_29_monty',['../big__384__29_8h.html#ab5123a78afa3994d0cf7d544317f6a80',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fmul',['BIG_384_29_mul',['../big__384__29_8h.html#acc2d3df7f8f1ad51ee78d34f1e6a481b',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fnbits',['BIG_384_29_nbits',['../big__384__29_8h.html#ad60635d46eb5edd3b8f422fd9094e04c',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fnorm',['BIG_384_29_norm',['../big__384__29_8h.html#adae96ed56ad1402b54f0a5a1222d8f87',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fone',['BIG_384_29_one',['../big__384__29_8h.html#a885fa7c4bf3a44ff79768ed0d83c80ec',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5for',['BIG_384_29_or',['../big__384__29_8h.html#abc3c04e91c8a5e1336ca2c4fd2744492',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5foutput',['BIG_384_29_output',['../big__384__29_8h.html#ade4da533b2f4d9e98b4ce291dc9e9019',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fparity',['BIG_384_29_parity',['../big__384__29_8h.html#a4c2b8fc522862ee9f466dcb227a6a278',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fpmul',['BIG_384_29_pmul',['../big__384__29_8h.html#a4141ae18ee04ccefb2d1bf110b935ec0',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fpxmul',['BIG_384_29_pxmul',['../big__384__29_8h.html#a7af0ca6c0f3147ee53ab842ee0d573f7',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frandom',['BIG_384_29_random',['../big__384__29_8h.html#ab47d90d426deb85d60b6677eda549e78',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frandomnum',['BIG_384_29_randomnum',['../big__384__29_8h.html#a9771f9ed803f3be53c92db25f6e059fb',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frawoutput',['BIG_384_29_rawoutput',['../big__384__29_8h.html#a82a583012fcdf4a28fd8895d6d086374',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5frcopy',['BIG_384_29_rcopy',['../big__384__29_8h.html#ad0821bce35e6e5adfef3461fc18c3872',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsdcopy',['BIG_384_29_sdcopy',['../big__384__29_8h.html#a331c8e2de95479761e68bfa83e640445',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsdiv',['BIG_384_29_sdiv',['../big__384__29_8h.html#a396198fbeb743b7ad4f7f80c2934f965',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsducopy',['BIG_384_29_sducopy',['../big__384__29_8h.html#af84298cbd89cb60dfefe7df04e4ac165',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fshl',['BIG_384_29_shl',['../big__384__29_8h.html#a6d9b60bba362a7654da3e79a0364e84c',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fshr',['BIG_384_29_shr',['../big__384__29_8h.html#a3260b1ddfce0d1b53a94b8c5dcdcbec8',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsmul',['BIG_384_29_smul',['../big__384__29_8h.html#af933c60ca40249a1ee97207d17ec8971',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsplit',['BIG_384_29_split',['../big__384__29_8h.html#a89cba4e8778cb74d2a273749ec1fccfb',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsqr',['BIG_384_29_sqr',['../big__384__29_8h.html#af7e0e139b973fd707f3dc0416149368e',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fssn',['BIG_384_29_ssn',['../big__384__29_8h.html#a944b245f8d0b3478465c737273711da6',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fsub',['BIG_384_29_sub',['../big__384__29_8h.html#a4ec616ce0230484c3fe0009710f5233c',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5ftobytes',['BIG_384_29_toBytes',['../big__384__29_8h.html#a69579e616a8b921d289151ae3cc40d75',1,'big_384_29.c']]],
-  ['big_5f384_5f29_5fzero',['BIG_384_29_zero',['../big__384__29_8h.html#a41e218680a464b2f6d727aee4681edb6',1,'big_384_29.c']]],
   ['big_5f384_5f56_5fadd',['BIG_384_56_add',['../big__384__56_8h.html#afe5a8c4ad2eea34b6dc4716646f77e18',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fbit',['BIG_384_56_bit',['../big__384__56_8h.html#adccaaea2fa428b6b907bba1f057f47fc',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fcmove',['BIG_384_56_cmove',['../big__384__56_8h.html#ad9b8213b5add9582a664fcd58ff80ef2',1,'big_384_56.c']]],
@@ -672,7 +246,7 @@
   ['big_5f384_5f56_5ffshr',['BIG_384_56_fshr',['../big__384__56_8h.html#ab650eeee7180e6bc956edf083890ae96',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fimul',['BIG_384_56_imul',['../big__384__56_8h.html#a6ac44aa223a117f1239157b2c2d477e3',1,'big_384_56.c']]],
   ['big_5f384_5f56_5finc',['BIG_384_56_inc',['../big__384__56_8h.html#ac341a05be2a42320d3144cecb595166f',1,'big_384_56.c']]],
-  ['big_5f384_5f56_5finvmod2m',['BIG_384_56_invmod2m',['../big__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2',1,'ff_3072.c']]],
+  ['big_5f384_5f56_5finvmod2m',['BIG_384_56_invmod2m',['../big__384__56_8h.html#abba3c5d97b761e44d268d6307f7ba3e2',1,'big_384_56.c']]],
   ['big_5f384_5f56_5finvmodp',['BIG_384_56_invmodp',['../big__384__56_8h.html#ac96a4421de3b5fd001192f2f0544cf7a',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fisunity',['BIG_384_56_isunity',['../big__384__56_8h.html#a904972dd817ed39992151c2d9c40e530',1,'big_384_56.c']]],
   ['big_5f384_5f56_5fiszilch',['BIG_384_56_iszilch',['../big__384__56_8h.html#a501d069a9b78be0c8ad093314e1f7bb3',1,'big_384_56.c']]],
@@ -743,7 +317,7 @@
   ['big_5f384_5f58_5ffshr',['BIG_384_58_fshr',['../big__384__58_8h.html#a5f9d30e39044ce32968dfb9befa4cc92',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fimul',['BIG_384_58_imul',['../big__384__58_8h.html#a79c763f34d8c986f12c11c1bbdb8f3c1',1,'big_384_58.c']]],
   ['big_5f384_5f58_5finc',['BIG_384_58_inc',['../big__384__58_8h.html#ab5ab83546289412fe928c96aa65e73b1',1,'big_384_58.c']]],
-  ['big_5f384_5f58_5finvmod2m',['BIG_384_58_invmod2m',['../big__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5',1,'big_384_58.h']]],
+  ['big_5f384_5f58_5finvmod2m',['BIG_384_58_invmod2m',['../big__384__58_8h.html#ae108f47f92152fdd03c4b91f11f7e3c5',1,'big_384_58.c']]],
   ['big_5f384_5f58_5finvmodp',['BIG_384_58_invmodp',['../big__384__58_8h.html#a5a1e7aea63e90f03b07eedc3185fb1d4',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fisunity',['BIG_384_58_isunity',['../big__384__58_8h.html#a95b36449d7c9b454aa7078ee3d315440',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fiszilch',['BIG_384_58_iszilch',['../big__384__58_8h.html#a085ab7b1ab27484e4a7c7140feb60187',1,'big_384_58.c']]],
@@ -781,77 +355,6 @@
   ['big_5f384_5f58_5fsub',['BIG_384_58_sub',['../big__384__58_8h.html#a8a56a1492a22aba9398327f4f4fd2c07',1,'big_384_58.c']]],
   ['big_5f384_5f58_5ftobytes',['BIG_384_58_toBytes',['../big__384__58_8h.html#a6fed12fb7988a0dd95e7fc46ceda3fb1',1,'big_384_58.c']]],
   ['big_5f384_5f58_5fzero',['BIG_384_58_zero',['../big__384__58_8h.html#a13f04d7bc085d6284718d88142e68452',1,'big_384_58.c']]],
-  ['big_5f416_5f29_5fadd',['BIG_416_29_add',['../big__416__29_8h.html#aaaecab31c86f7c91178702073c428a56',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fbit',['BIG_416_29_bit',['../big__416__29_8h.html#a8739d1c92d694611bd97a1b5a3a2b3f8',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcmove',['BIG_416_29_cmove',['../big__416__29_8h.html#a98dca944b9b0d6b06b788195adb94b56',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcomp',['BIG_416_29_comp',['../big__416__29_8h.html#a2aa857e0f0079cae346d944f654c6a9b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcopy',['BIG_416_29_copy',['../big__416__29_8h.html#af86e1bac4d01fc13e8a00105fc6f711c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fcswap',['BIG_416_29_cswap',['../big__416__29_8h.html#a77676579ad9e12c35e891cd1b3ad7bab',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdadd',['BIG_416_29_dadd',['../big__416__29_8h.html#a142b562a4d92f1f28f333bbe389b53f3',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdcmove',['BIG_416_29_dcmove',['../big__416__29_8h.html#aa0522b5de35f639c86be4120fe7092dc',1,'big_416_29.h']]],
-  ['big_5f416_5f29_5fdcomp',['BIG_416_29_dcomp',['../big__416__29_8h.html#a9eb3d430b55cbebb52d19e653b4ea54d',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdcopy',['BIG_416_29_dcopy',['../big__416__29_8h.html#a50a77138c16b74b6d3bcbe250a43bb8c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fddiv',['BIG_416_29_ddiv',['../big__416__29_8h.html#ac4957789d9712196a20deb06f46b6313',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdec',['BIG_416_29_dec',['../big__416__29_8h.html#a6f0ea72a41d913ad587cba929f93750e',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdfrombyteslen',['BIG_416_29_dfromBytesLen',['../big__416__29_8h.html#a07bf5beb7e8e387c5bab1560e4e2d6e0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdiszilch',['BIG_416_29_diszilch',['../big__416__29_8h.html#a8fedbfa4e31b49e69728faa2a6f91565',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdiv3',['BIG_416_29_div3',['../big__416__29_8h.html#afd78a40a3ced9250c93566ad2da629da',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdmod',['BIG_416_29_dmod',['../big__416__29_8h.html#a7c517c1e3f9c042b23687ac622dfa7f9',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdmod2m',['BIG_416_29_dmod2m',['../big__416__29_8h.html#a0869f4718734600365ecf63d735292a1',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdnbits',['BIG_416_29_dnbits',['../big__416__29_8h.html#a188c34ed572f8126c91b07760c198d39',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdnorm',['BIG_416_29_dnorm',['../big__416__29_8h.html#af57fd6676ad99e00f98234b5a0e69ad8',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdoutput',['BIG_416_29_doutput',['../big__416__29_8h.html#a2c2a3e48ab57f28f556798c36cb8dc5e',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdrawoutput',['BIG_416_29_drawoutput',['../big__416__29_8h.html#a2558ed1d1e691f6dbab20a7a2f46af8b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdscopy',['BIG_416_29_dscopy',['../big__416__29_8h.html#ae3c2caa8dc99b4c6df19d781f0d48e3f',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdshl',['BIG_416_29_dshl',['../big__416__29_8h.html#ab64483dea5dba8a8593b2f0f10aeb486',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdshr',['BIG_416_29_dshr',['../big__416__29_8h.html#acdafbd0d229c7730d380f929383a2200',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdsub',['BIG_416_29_dsub',['../big__416__29_8h.html#a48f1216d6ecbebb0d5bcc14eb94bf922',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdsucopy',['BIG_416_29_dsucopy',['../big__416__29_8h.html#abeea8d5acc80d509028e53a98d8a6d51',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fdzero',['BIG_416_29_dzero',['../big__416__29_8h.html#aa57becef0fa7d70d3049f7f4641748da',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffrombytes',['BIG_416_29_fromBytes',['../big__416__29_8h.html#a8164d17175332f303f47a1c38bd941d7',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffrombyteslen',['BIG_416_29_fromBytesLen',['../big__416__29_8h.html#ae2001c7fb8b395dc564ccf22bfeb4071',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffshl',['BIG_416_29_fshl',['../big__416__29_8h.html#a6f57608fc0566752282ea8a25294abc9',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ffshr',['BIG_416_29_fshr',['../big__416__29_8h.html#a22880937261d7f334522dca3e339deb0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fimul',['BIG_416_29_imul',['../big__416__29_8h.html#a18802fcca173f5402edd2aa2d88066c3',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5finc',['BIG_416_29_inc',['../big__416__29_8h.html#af3234bf49b27ea7202e87511577ab2c7',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5finvmod2m',['BIG_416_29_invmod2m',['../big__416__29_8h.html#ac0dc297a355c4edaa71d33041c248056',1,'big_416_29.h']]],
-  ['big_5f416_5f29_5finvmodp',['BIG_416_29_invmodp',['../big__416__29_8h.html#a991ad6a5cf98fd833b92b1aa16f49daf',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fisunity',['BIG_416_29_isunity',['../big__416__29_8h.html#aba62b6820581d7e01189c197e4ccb2e0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fiszilch',['BIG_416_29_iszilch',['../big__416__29_8h.html#a5f21d81728b9d4fd660568eba71d3aa2',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fjacobi',['BIG_416_29_jacobi',['../big__416__29_8h.html#af20c1841f5b7a6233f95a3bb6624ba37',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5flastbits',['BIG_416_29_lastbits',['../big__416__29_8h.html#aef1e80b9da63d8ee67746ef86dca29a0',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmod',['BIG_416_29_mod',['../big__416__29_8h.html#acbf733277d63c290b5ad34fc1ee925ba',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmod2m',['BIG_416_29_mod2m',['../big__416__29_8h.html#a64652c0104675781e738ab2fff57f36d',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmoddiv',['BIG_416_29_moddiv',['../big__416__29_8h.html#a3f53541771281fc6b8dc44a481db8f7c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmodmul',['BIG_416_29_modmul',['../big__416__29_8h.html#af7b5a01fff9bec531bbb90eb258fde44',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmodneg',['BIG_416_29_modneg',['../big__416__29_8h.html#a8729f78f44c7ea52e4c7884744aa94f1',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmodsqr',['BIG_416_29_modsqr',['../big__416__29_8h.html#ad9b04c927ffb3cd630e4c016db03209b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmonty',['BIG_416_29_monty',['../big__416__29_8h.html#a7ae79b99e9ee26d60c28aa3127daa041',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fmul',['BIG_416_29_mul',['../big__416__29_8h.html#adb81f17df70c4e35eec8aee20b098065',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fnbits',['BIG_416_29_nbits',['../big__416__29_8h.html#a2cd3c7ff47a7593f5a5f1a65811f4dfd',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fnorm',['BIG_416_29_norm',['../big__416__29_8h.html#a661d1791cd3385de1001a0bbbdd06941',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fone',['BIG_416_29_one',['../big__416__29_8h.html#a0c9bb0b78533bd9738759301e40e5f9a',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5for',['BIG_416_29_or',['../big__416__29_8h.html#a6d68fc022e6b069927dc11795e4aab3b',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5foutput',['BIG_416_29_output',['../big__416__29_8h.html#a2224807ec96be55f42f009ab092a480e',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fparity',['BIG_416_29_parity',['../big__416__29_8h.html#a0d6beee9da1345bfc6b9a26d044bfb6f',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fpmul',['BIG_416_29_pmul',['../big__416__29_8h.html#ae5841499ea880e9977d32a1799f7f475',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fpxmul',['BIG_416_29_pxmul',['../big__416__29_8h.html#adf110cc273b34fe5126cf6665342e206',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frandom',['BIG_416_29_random',['../big__416__29_8h.html#a707a430d9d3a2e04fdad7d66ef00799c',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frandomnum',['BIG_416_29_randomnum',['../big__416__29_8h.html#a6765f3c27ff80da9b6d2ebad01509490',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frawoutput',['BIG_416_29_rawoutput',['../big__416__29_8h.html#a4c3e625f14d5c519876b3d8f0f1a6158',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5frcopy',['BIG_416_29_rcopy',['../big__416__29_8h.html#aab573c7bfe0bc79f45fa4b197ee8971d',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsdcopy',['BIG_416_29_sdcopy',['../big__416__29_8h.html#a9af71f1d5e1005c228278cb95cd2c3e1',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsdiv',['BIG_416_29_sdiv',['../big__416__29_8h.html#af32886944ce9af389079dc6bc0976986',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsducopy',['BIG_416_29_sducopy',['../big__416__29_8h.html#a615066df2a33ddc16c1f2a904b5e86e6',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fshl',['BIG_416_29_shl',['../big__416__29_8h.html#a9a7f77ea084fb68385803d7ddaeed2fe',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fshr',['BIG_416_29_shr',['../big__416__29_8h.html#a6dd5a3f74265f7ba5947ebccc5a90042',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsmul',['BIG_416_29_smul',['../big__416__29_8h.html#a9df539ba2f02afd73c10acdfc4364a03',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsplit',['BIG_416_29_split',['../big__416__29_8h.html#a374674ab8939e7c1fd154cb51ff80e78',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsqr',['BIG_416_29_sqr',['../big__416__29_8h.html#adb89f95d8e956d0c3894fa0e9e4c7023',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fssn',['BIG_416_29_ssn',['../big__416__29_8h.html#a9faf6d033461ddbfa26d1a7d1710a0af',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fsub',['BIG_416_29_sub',['../big__416__29_8h.html#acad58ac85a661817c26d45b784e56c10',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5ftobytes',['BIG_416_29_toBytes',['../big__416__29_8h.html#afef53d763389177bdf29e1eafef7ce69',1,'big_416_29.c']]],
-  ['big_5f416_5f29_5fzero',['BIG_416_29_zero',['../big__416__29_8h.html#a18a194e4b947f6fb331e61e9582bf472',1,'big_416_29.c']]],
   ['big_5f416_5f60_5fadd',['BIG_416_60_add',['../big__416__60_8h.html#a883040938971d37c87ff7b02715a502f',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fbit',['BIG_416_60_bit',['../big__416__60_8h.html#a857d102cb2db42d9915c05d56f2b494d',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fcmove',['BIG_416_60_cmove',['../big__416__60_8h.html#a4660aae017e830b1abd99570f5c7976f',1,'big_416_60.c']]],
@@ -885,7 +388,7 @@
   ['big_5f416_5f60_5ffshr',['BIG_416_60_fshr',['../big__416__60_8h.html#a13d8d211baf4897b6c33ca6b21c5f0f3',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fimul',['BIG_416_60_imul',['../big__416__60_8h.html#a2694e52bbfe1177f4f2fffc532c904e6',1,'big_416_60.c']]],
   ['big_5f416_5f60_5finc',['BIG_416_60_inc',['../big__416__60_8h.html#ad001f306391c4246bedd44d86cd94017',1,'big_416_60.c']]],
-  ['big_5f416_5f60_5finvmod2m',['BIG_416_60_invmod2m',['../big__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb',1,'big_416_60.h']]],
+  ['big_5f416_5f60_5finvmod2m',['BIG_416_60_invmod2m',['../big__416__60_8h.html#ac1668a46969f6961e4d4e5a8887e54cb',1,'big_416_60.c']]],
   ['big_5f416_5f60_5finvmodp',['BIG_416_60_invmodp',['../big__416__60_8h.html#a98ec049dcf151c0ac808b23dac571f87',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fisunity',['BIG_416_60_isunity',['../big__416__60_8h.html#a9c49df41345de0f105a4fee08e69e946',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fiszilch',['BIG_416_60_iszilch',['../big__416__60_8h.html#a7e94ebf52e7ae257f66363c6ac0799f6',1,'big_416_60.c']]],
@@ -923,77 +426,6 @@
   ['big_5f416_5f60_5fsub',['BIG_416_60_sub',['../big__416__60_8h.html#a0064bf5b0ad9e1ce56719d20f219bfa7',1,'big_416_60.c']]],
   ['big_5f416_5f60_5ftobytes',['BIG_416_60_toBytes',['../big__416__60_8h.html#a6e3d2294179d88e4c8f27b3b8a06e031',1,'big_416_60.c']]],
   ['big_5f416_5f60_5fzero',['BIG_416_60_zero',['../big__416__60_8h.html#a8f397375caa86766a11272fb9090f12c',1,'big_416_60.c']]],
-  ['big_5f448_5f29_5fadd',['BIG_448_29_add',['../big__448__29_8h.html#a52732e32df914610f06d71e66ae0aaee',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fbit',['BIG_448_29_bit',['../big__448__29_8h.html#af024cd5305a28c602df5eabae1b1afd6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcmove',['BIG_448_29_cmove',['../big__448__29_8h.html#aab522df22af3d6f8452a9f1ed5f6e787',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcomp',['BIG_448_29_comp',['../big__448__29_8h.html#a96d9269f5721a09b9e9241928241544e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcopy',['BIG_448_29_copy',['../big__448__29_8h.html#acbc8ffb914448e131b56eb4c3ba53fc1',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fcswap',['BIG_448_29_cswap',['../big__448__29_8h.html#aa0337aa7b6bb10b213193277b6706a07',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdadd',['BIG_448_29_dadd',['../big__448__29_8h.html#abd5e5c67823d3e9e195cbbad446b8f2b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdcmove',['BIG_448_29_dcmove',['../big__448__29_8h.html#a13a3c52ecff409475050fb20b196a4ec',1,'big_448_29.h']]],
-  ['big_5f448_5f29_5fdcomp',['BIG_448_29_dcomp',['../big__448__29_8h.html#a0539172f8147c115c9132f3a7dc0912a',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdcopy',['BIG_448_29_dcopy',['../big__448__29_8h.html#afb1ba79905bb33694bbf515ee7c3d2bd',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fddiv',['BIG_448_29_ddiv',['../big__448__29_8h.html#a84096083bf0954b59f2925648c7a137a',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdec',['BIG_448_29_dec',['../big__448__29_8h.html#ac046e873f702c3c6ba84a45283591d0c',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdfrombyteslen',['BIG_448_29_dfromBytesLen',['../big__448__29_8h.html#aefe85187833ee1017452f0c48b2df544',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdiszilch',['BIG_448_29_diszilch',['../big__448__29_8h.html#adc34c5a4a04536b69ef88d01318b293f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdiv3',['BIG_448_29_div3',['../big__448__29_8h.html#a51937f4122d05f03a9583d1528cd6897',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdmod',['BIG_448_29_dmod',['../big__448__29_8h.html#a7ef793e983e087bcb9bf54a73de8c8e6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdmod2m',['BIG_448_29_dmod2m',['../big__448__29_8h.html#a3afb2ac3160292e8c72f614a4c5689f2',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdnbits',['BIG_448_29_dnbits',['../big__448__29_8h.html#a8c33ce4cfa01dd3bbb8d2916f0e30e1b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdnorm',['BIG_448_29_dnorm',['../big__448__29_8h.html#a1592d268df6258a58b6d4efa05e6eb41',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdoutput',['BIG_448_29_doutput',['../big__448__29_8h.html#a5df84f06f1ecdb4f4d0740fb65953f94',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdrawoutput',['BIG_448_29_drawoutput',['../big__448__29_8h.html#a2aef6adc137f20abe66c013fdc089453',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdscopy',['BIG_448_29_dscopy',['../big__448__29_8h.html#a4cca42c269c38dd1c098e2ef5f9b2ef6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdshl',['BIG_448_29_dshl',['../big__448__29_8h.html#a26445e5623108ee6104ef5afd7807b61',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdshr',['BIG_448_29_dshr',['../big__448__29_8h.html#aeeb1c94512a234362e1fd43dea0aecdb',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdsub',['BIG_448_29_dsub',['../big__448__29_8h.html#a690d7ffa0c2b7df6561011bd6156dd43',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdsucopy',['BIG_448_29_dsucopy',['../big__448__29_8h.html#ac7a8bd538830bd4938bdb96555962f91',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fdzero',['BIG_448_29_dzero',['../big__448__29_8h.html#acdf8614e386d747a7b3609c865a3b808',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffrombytes',['BIG_448_29_fromBytes',['../big__448__29_8h.html#a558045a997bfd9f332d0dc56182da244',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffrombyteslen',['BIG_448_29_fromBytesLen',['../big__448__29_8h.html#a241537567b6f575209f356b938f5d8f5',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffshl',['BIG_448_29_fshl',['../big__448__29_8h.html#a97a62e56535b72fd5449154e9c842ba6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ffshr',['BIG_448_29_fshr',['../big__448__29_8h.html#a49e73322bb56496afcd9594983166c15',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fimul',['BIG_448_29_imul',['../big__448__29_8h.html#a6de5e0385019f0c93dae2b23230299f8',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5finc',['BIG_448_29_inc',['../big__448__29_8h.html#a8f36f4e7ab6f2e9fe4ed06cec28153d5',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5finvmod2m',['BIG_448_29_invmod2m',['../big__448__29_8h.html#a0fb2aab64a09f62ba22061339ddca874',1,'big_448_29.h']]],
-  ['big_5f448_5f29_5finvmodp',['BIG_448_29_invmodp',['../big__448__29_8h.html#a2806d6e8f34c46c6a4f7fddaba57179a',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fisunity',['BIG_448_29_isunity',['../big__448__29_8h.html#a54fe1672b4ae68f10c9b91e251adaabc',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fiszilch',['BIG_448_29_iszilch',['../big__448__29_8h.html#a09c7553a6d3bddeb319b6847b95b206f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fjacobi',['BIG_448_29_jacobi',['../big__448__29_8h.html#ab76cfe2635aa04110808b1a56f55d967',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5flastbits',['BIG_448_29_lastbits',['../big__448__29_8h.html#a856f088af44e66b839436be19d0cbfb4',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmod',['BIG_448_29_mod',['../big__448__29_8h.html#ac9094c3c5eb5d967cebb5a66b581ec9b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmod2m',['BIG_448_29_mod2m',['../big__448__29_8h.html#aa137e18bd8ac5429bb2b9e2ee4be83e8',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmoddiv',['BIG_448_29_moddiv',['../big__448__29_8h.html#a33832c68e0adcf25dba53fd6c5d9c4dd',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmodmul',['BIG_448_29_modmul',['../big__448__29_8h.html#a737a0b66f8a4ac411d473961d63bfa84',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmodneg',['BIG_448_29_modneg',['../big__448__29_8h.html#aa240fed64c7cff4d2589e8f5f57cc4bc',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmodsqr',['BIG_448_29_modsqr',['../big__448__29_8h.html#a9418b0503eaca5e00710291c6e824e65',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmonty',['BIG_448_29_monty',['../big__448__29_8h.html#ac59e9444d4495f12d5ef69d88f1d64f9',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fmul',['BIG_448_29_mul',['../big__448__29_8h.html#ac0bf30b8a5963b8f019da2a3123916ca',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fnbits',['BIG_448_29_nbits',['../big__448__29_8h.html#a2f758afc90b97744fcbc4092b371f942',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fnorm',['BIG_448_29_norm',['../big__448__29_8h.html#ad28e337ec4df64509040ae03e6d5a454',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fone',['BIG_448_29_one',['../big__448__29_8h.html#aee02676b57dce89300afc580a6b84579',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5for',['BIG_448_29_or',['../big__448__29_8h.html#a4fb00fa3b6c2c24987257f6a33955e1c',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5foutput',['BIG_448_29_output',['../big__448__29_8h.html#af57fb9d2c6f6573fbf07caf4cb7c8505',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fparity',['BIG_448_29_parity',['../big__448__29_8h.html#af33649f8023f525098d9d55d87ea47b9',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fpmul',['BIG_448_29_pmul',['../big__448__29_8h.html#a81ef91f38192d1fbdc5826a6d09b2b28',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fpxmul',['BIG_448_29_pxmul',['../big__448__29_8h.html#a5e73af51900b138efd372c1c1faf38ef',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frandom',['BIG_448_29_random',['../big__448__29_8h.html#ad247cced03511c10360dc3f09e46664e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frandomnum',['BIG_448_29_randomnum',['../big__448__29_8h.html#a8e22d200d8827af9686391514c2a11fc',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frawoutput',['BIG_448_29_rawoutput',['../big__448__29_8h.html#a095f347843aefe767bfe2801abb8b770',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5frcopy',['BIG_448_29_rcopy',['../big__448__29_8h.html#ae91f2b61abbf35ff8eead23ff33dbcc6',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsdcopy',['BIG_448_29_sdcopy',['../big__448__29_8h.html#a7fbfcd1c557637a639650765514fd13f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsdiv',['BIG_448_29_sdiv',['../big__448__29_8h.html#a58883fddbb7cec0eae17da2628455e2b',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsducopy',['BIG_448_29_sducopy',['../big__448__29_8h.html#aff258f5a582cc9a517ddac40a426c1c2',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fshl',['BIG_448_29_shl',['../big__448__29_8h.html#a4f42b9409fc90afb337c086f36b99b0f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fshr',['BIG_448_29_shr',['../big__448__29_8h.html#ae2edc8357240da28f4abde11918fba1e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsmul',['BIG_448_29_smul',['../big__448__29_8h.html#ad050214613920f9b77dc0b8f5ce10d18',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsplit',['BIG_448_29_split',['../big__448__29_8h.html#a3bad363fa21dc4b598d833758e86b5de',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsqr',['BIG_448_29_sqr',['../big__448__29_8h.html#a34ab101faf200fbc482ab23e6c09d45e',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fssn',['BIG_448_29_ssn',['../big__448__29_8h.html#a4d22bc595ce5949ef5e1fcfc79d769a8',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fsub',['BIG_448_29_sub',['../big__448__29_8h.html#a38bad8b10d13490e1608c18122d1757f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5ftobytes',['BIG_448_29_toBytes',['../big__448__29_8h.html#a58fe5186e333019079a63dd29e4de06f',1,'big_448_29.c']]],
-  ['big_5f448_5f29_5fzero',['BIG_448_29_zero',['../big__448__29_8h.html#a6e430482d15f64c789d7040d3a5ee496',1,'big_448_29.c']]],
   ['big_5f448_5f58_5fadd',['BIG_448_58_add',['../big__448__58_8h.html#a14543e42824e22d254e56d3a7e4109e8',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fbit',['BIG_448_58_bit',['../big__448__58_8h.html#afcdf0d738057e352843899654f886654',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fcmove',['BIG_448_58_cmove',['../big__448__58_8h.html#aa07141825ca35d19ec1dd5403f820839',1,'big_448_58.c']]],
@@ -1027,7 +459,7 @@
   ['big_5f448_5f58_5ffshr',['BIG_448_58_fshr',['../big__448__58_8h.html#ade03744016610e17fd1ae66a96bb9754',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fimul',['BIG_448_58_imul',['../big__448__58_8h.html#acca52d192f334a58010a2ee7201e4166',1,'big_448_58.c']]],
   ['big_5f448_5f58_5finc',['BIG_448_58_inc',['../big__448__58_8h.html#a26e57c2bdc14a2afc1ea4a834c29ac69',1,'big_448_58.c']]],
-  ['big_5f448_5f58_5finvmod2m',['BIG_448_58_invmod2m',['../big__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b',1,'big_448_58.h']]],
+  ['big_5f448_5f58_5finvmod2m',['BIG_448_58_invmod2m',['../big__448__58_8h.html#a72d97abc9e691de7692c837f9d95e56b',1,'big_448_58.c']]],
   ['big_5f448_5f58_5finvmodp',['BIG_448_58_invmodp',['../big__448__58_8h.html#ab129d1b8609f383be377a7002d8ee43c',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fisunity',['BIG_448_58_isunity',['../big__448__58_8h.html#a9f443ee8da32fc63b49924e8e3eface5',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fiszilch',['BIG_448_58_iszilch',['../big__448__58_8h.html#a383e7ac6bac02d230549076a311af36f',1,'big_448_58.c']]],
@@ -1065,77 +497,6 @@
   ['big_5f448_5f58_5fsub',['BIG_448_58_sub',['../big__448__58_8h.html#ab226b5d4e92246c0901fd2adca199d97',1,'big_448_58.c']]],
   ['big_5f448_5f58_5ftobytes',['BIG_448_58_toBytes',['../big__448__58_8h.html#a7986d10bad9b3e2fab5a2e9b789dad15',1,'big_448_58.c']]],
   ['big_5f448_5f58_5fzero',['BIG_448_58_zero',['../big__448__58_8h.html#acc8be96327c22943e311daec9ee49e51',1,'big_448_58.c']]],
-  ['big_5f464_5f28_5fadd',['BIG_464_28_add',['../big__464__28_8h.html#a01fba33d068023a78a7e2399a2d3f07f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fbit',['BIG_464_28_bit',['../big__464__28_8h.html#a7e046da56c962175f6c7c4312a64bce0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcmove',['BIG_464_28_cmove',['../big__464__28_8h.html#add5c49897dd8e26b3269b1038df97c28',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcomp',['BIG_464_28_comp',['../big__464__28_8h.html#a9e2b62f83f21d6f884db7a7ae0e8d537',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcopy',['BIG_464_28_copy',['../big__464__28_8h.html#a4892332c418b37b4fa9027fc9405df34',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fcswap',['BIG_464_28_cswap',['../big__464__28_8h.html#a8332be15edc398cab818bdf8f9e27e30',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdadd',['BIG_464_28_dadd',['../big__464__28_8h.html#ad328a582c2ff182f85ae885fd799e19a',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdcmove',['BIG_464_28_dcmove',['../big__464__28_8h.html#ad803aa419dc66098a6dbad0f67788db9',1,'big_464_28.h']]],
-  ['big_5f464_5f28_5fdcomp',['BIG_464_28_dcomp',['../big__464__28_8h.html#ab7be7f30052024ad9d37b7170f16c860',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdcopy',['BIG_464_28_dcopy',['../big__464__28_8h.html#a81db2e111447b6f7e40dbd6e44763600',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fddiv',['BIG_464_28_ddiv',['../big__464__28_8h.html#a170c3ec8d24143938f38b05dc3931e4e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdec',['BIG_464_28_dec',['../big__464__28_8h.html#a576bd55c0333c2d11d90b89f5cd2b648',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdfrombyteslen',['BIG_464_28_dfromBytesLen',['../big__464__28_8h.html#a83bccbe89705edcfd1b9d241133f8585',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdiszilch',['BIG_464_28_diszilch',['../big__464__28_8h.html#a8873d18682136ced76e6d2b11b77c720',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdiv3',['BIG_464_28_div3',['../big__464__28_8h.html#a7876c8124d59c11230c448e228f55496',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdmod',['BIG_464_28_dmod',['../big__464__28_8h.html#a0115b32f39fb88dd5409a22b7f9eb451',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdmod2m',['BIG_464_28_dmod2m',['../big__464__28_8h.html#a7a16ef52578c6f8d82c11acee18abf44',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdnbits',['BIG_464_28_dnbits',['../big__464__28_8h.html#ac198589116dba16e32428e99c3b638d4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdnorm',['BIG_464_28_dnorm',['../big__464__28_8h.html#af2c8da5bf433447918f3ba52a458ef50',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdoutput',['BIG_464_28_doutput',['../big__464__28_8h.html#ada5a1e39644074621868023b27a60271',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdrawoutput',['BIG_464_28_drawoutput',['../big__464__28_8h.html#a3dbae90aeb9ec645ca3ad40e970bfad0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdscopy',['BIG_464_28_dscopy',['../big__464__28_8h.html#abe50a0e09ed4f83437d0782b97e2d283',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdshl',['BIG_464_28_dshl',['../big__464__28_8h.html#a36d4bfbbea2d5aab754c52cacc1554d9',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdshr',['BIG_464_28_dshr',['../big__464__28_8h.html#a7c230f00e209d55db735496223beff32',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdsub',['BIG_464_28_dsub',['../big__464__28_8h.html#a8c4beeaa8b6b210a16dd6043d87facde',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdsucopy',['BIG_464_28_dsucopy',['../big__464__28_8h.html#a42f2328339f3a76e959ca6790747833f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fdzero',['BIG_464_28_dzero',['../big__464__28_8h.html#a55deb4651e0611492c4d72ec8e6ae48f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffrombytes',['BIG_464_28_fromBytes',['../big__464__28_8h.html#ad23433b5216617ebb4994e2a89fcdbd2',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffrombyteslen',['BIG_464_28_fromBytesLen',['../big__464__28_8h.html#ac2ad39c1ecfa4496a0a8a774960a081f',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffshl',['BIG_464_28_fshl',['../big__464__28_8h.html#a51d75872491376269b703b0b187d9144',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ffshr',['BIG_464_28_fshr',['../big__464__28_8h.html#ab86ad92feb62edce77afa319318f07ed',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fimul',['BIG_464_28_imul',['../big__464__28_8h.html#a4cc6c09b12cec697a832e228dca37f82',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5finc',['BIG_464_28_inc',['../big__464__28_8h.html#af83b921ece47b22b9e2855c0b3725cdd',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5finvmod2m',['BIG_464_28_invmod2m',['../big__464__28_8h.html#a35db459595ea671794c80ab9b71ff44d',1,'big_464_28.h']]],
-  ['big_5f464_5f28_5finvmodp',['BIG_464_28_invmodp',['../big__464__28_8h.html#aa7676f91a1b5a787b528801d39c18555',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fisunity',['BIG_464_28_isunity',['../big__464__28_8h.html#af38ae608680b8f841bdb3b38094ef01c',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fiszilch',['BIG_464_28_iszilch',['../big__464__28_8h.html#ae17f6314e3e3d44e435097bde278b280',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fjacobi',['BIG_464_28_jacobi',['../big__464__28_8h.html#ae21ccff253d5a36b9238f0b4541cc3d8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5flastbits',['BIG_464_28_lastbits',['../big__464__28_8h.html#a6f63c7e7427e7aadd3b702db17827e32',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmod',['BIG_464_28_mod',['../big__464__28_8h.html#af6f49a71e883e9ff42d45cb1fca5b1f8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmod2m',['BIG_464_28_mod2m',['../big__464__28_8h.html#aaf2dea9e6b3d7fa77fb2d4d3750eaea8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmoddiv',['BIG_464_28_moddiv',['../big__464__28_8h.html#a09f811df3d755158129e74d177b46e09',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmodmul',['BIG_464_28_modmul',['../big__464__28_8h.html#ab58a6bfae78e1d113abbbfa0d199d046',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmodneg',['BIG_464_28_modneg',['../big__464__28_8h.html#a38477a1c29950844dae83e54762d7636',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmodsqr',['BIG_464_28_modsqr',['../big__464__28_8h.html#a1444f02a8698df8cd4a8df0a264491b3',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmonty',['BIG_464_28_monty',['../big__464__28_8h.html#a1161b90af288b686285f7aab9df75df7',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fmul',['BIG_464_28_mul',['../big__464__28_8h.html#ad96f164178ce52f172cbba1b17f420cf',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fnbits',['BIG_464_28_nbits',['../big__464__28_8h.html#a116b4c674537ef9d628eebe6574fa832',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fnorm',['BIG_464_28_norm',['../big__464__28_8h.html#af1fbd32c0654114ba9245eccbcf9ea88',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fone',['BIG_464_28_one',['../big__464__28_8h.html#a7b3d04101d10292b4a770e1bc36742b4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5for',['BIG_464_28_or',['../big__464__28_8h.html#ad6d1592b8d0831e8ad9f06787c923f84',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5foutput',['BIG_464_28_output',['../big__464__28_8h.html#a9148d5caf89ac973eb08609d1fffe3e4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fparity',['BIG_464_28_parity',['../big__464__28_8h.html#adaaebe9d8ab81efb52a36f361711271e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fpmul',['BIG_464_28_pmul',['../big__464__28_8h.html#a593691880b601f49a4d5729d1dba4a36',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fpxmul',['BIG_464_28_pxmul',['../big__464__28_8h.html#a00cd551dc06b7b8b2b1ea60b9cf020c0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frandom',['BIG_464_28_random',['../big__464__28_8h.html#a18bd5806011167de705ee8a8b12909e8',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frandomnum',['BIG_464_28_randomnum',['../big__464__28_8h.html#a76a41d4d9a00d21e254d29b3b904073c',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frawoutput',['BIG_464_28_rawoutput',['../big__464__28_8h.html#ab89c9021dadc336a7fa1c6af40245c20',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5frcopy',['BIG_464_28_rcopy',['../big__464__28_8h.html#a62c6093e1cc70855cae598b00aa4cf9e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsdcopy',['BIG_464_28_sdcopy',['../big__464__28_8h.html#a9a74eb10b128a46c8b8adec292084f45',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsdiv',['BIG_464_28_sdiv',['../big__464__28_8h.html#a3b04a0e4d1d079387882ad08e8b67ed0',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsducopy',['BIG_464_28_sducopy',['../big__464__28_8h.html#a3f370670a174f88a173226380301335e',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fshl',['BIG_464_28_shl',['../big__464__28_8h.html#a96412ef30ce1ca08ec5547dc6b145820',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fshr',['BIG_464_28_shr',['../big__464__28_8h.html#a6f46bdbe352a76c013a05210e0d8bb86',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsmul',['BIG_464_28_smul',['../big__464__28_8h.html#aadcd07f0bf2c54cbb0272ab1fef7bf45',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsplit',['BIG_464_28_split',['../big__464__28_8h.html#ab70364e09a711b31062bc77b9161e359',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsqr',['BIG_464_28_sqr',['../big__464__28_8h.html#a273f85591ba3854fb77e13cdf9157f74',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fssn',['BIG_464_28_ssn',['../big__464__28_8h.html#a97de430f46c1dc12ffc50d492bd028c4',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fsub',['BIG_464_28_sub',['../big__464__28_8h.html#a75d384b9c54453e80dbcb4aa9169770d',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5ftobytes',['BIG_464_28_toBytes',['../big__464__28_8h.html#a514a3f6855c7f10e845254b77339b4ea',1,'big_464_28.c']]],
-  ['big_5f464_5f28_5fzero',['BIG_464_28_zero',['../big__464__28_8h.html#a6df0a73d7102378b62a7823388bd0902',1,'big_464_28.c']]],
   ['big_5f464_5f60_5fadd',['BIG_464_60_add',['../big__464__60_8h.html#a8b1eb35189d309774f2b4e7e26d2d62b',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fbit',['BIG_464_60_bit',['../big__464__60_8h.html#acc6953fe6d7482b0432333081bec4600',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fcmove',['BIG_464_60_cmove',['../big__464__60_8h.html#a712e4452d4d213cf57e7987a3c66967b',1,'big_464_60.c']]],
@@ -1169,7 +530,7 @@
   ['big_5f464_5f60_5ffshr',['BIG_464_60_fshr',['../big__464__60_8h.html#a2ca49c76a85de717c08b58fc2eefad3c',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fimul',['BIG_464_60_imul',['../big__464__60_8h.html#a6331455987958bf61858bb4ae2a79ad7',1,'big_464_60.c']]],
   ['big_5f464_5f60_5finc',['BIG_464_60_inc',['../big__464__60_8h.html#ac4d561b2c3fcce1abc59051389329dae',1,'big_464_60.c']]],
-  ['big_5f464_5f60_5finvmod2m',['BIG_464_60_invmod2m',['../big__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965',1,'big_464_60.h']]],
+  ['big_5f464_5f60_5finvmod2m',['BIG_464_60_invmod2m',['../big__464__60_8h.html#a755e94a6a30f092c03ce6984928ca965',1,'big_464_60.c']]],
   ['big_5f464_5f60_5finvmodp',['BIG_464_60_invmodp',['../big__464__60_8h.html#ac6f8d5b3d4f46e3991a36b05b35d136e',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fisunity',['BIG_464_60_isunity',['../big__464__60_8h.html#a4576449859777f58064c4f8c545cf609',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fiszilch',['BIG_464_60_iszilch',['../big__464__60_8h.html#a64b1467a3b2428afcd4198e1709792ff',1,'big_464_60.c']]],
@@ -1207,77 +568,6 @@
   ['big_5f464_5f60_5fsub',['BIG_464_60_sub',['../big__464__60_8h.html#abf77bda3c29dff1f4b28572fd52f5045',1,'big_464_60.c']]],
   ['big_5f464_5f60_5ftobytes',['BIG_464_60_toBytes',['../big__464__60_8h.html#a4a393d4b95b22864983d214218abd31f',1,'big_464_60.c']]],
   ['big_5f464_5f60_5fzero',['BIG_464_60_zero',['../big__464__60_8h.html#af5b204a85955d88b028ad1219b3a7558',1,'big_464_60.c']]],
-  ['big_5f480_5f29_5fadd',['BIG_480_29_add',['../big__480__29_8h.html#a379dbde52cda7fb49d4763c21e4ade1f',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fbit',['BIG_480_29_bit',['../big__480__29_8h.html#a7ecd18fc05b954770738fcb645f39f0b',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcmove',['BIG_480_29_cmove',['../big__480__29_8h.html#a3b8880a571de4b2dc5f3f3296d1b443a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcomp',['BIG_480_29_comp',['../big__480__29_8h.html#af500bb84fd6877cdf1cb3ee20cf53870',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcopy',['BIG_480_29_copy',['../big__480__29_8h.html#aca52a0845f993936d234186a8fc40cb3',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fcswap',['BIG_480_29_cswap',['../big__480__29_8h.html#a80cd574e62b21769aa661368ca0b73f5',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdadd',['BIG_480_29_dadd',['../big__480__29_8h.html#ace791cc8dec53e7d9c086cc9296603d7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdcmove',['BIG_480_29_dcmove',['../big__480__29_8h.html#afdad982a51c7a9efc7e80f6a7312acf4',1,'big_480_29.h']]],
-  ['big_5f480_5f29_5fdcomp',['BIG_480_29_dcomp',['../big__480__29_8h.html#a3459a4e91efa951d86431ef97993d768',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdcopy',['BIG_480_29_dcopy',['../big__480__29_8h.html#a8bee9574f49bad11d9c25d67efe10ab1',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fddiv',['BIG_480_29_ddiv',['../big__480__29_8h.html#a7b89d3fe28ea03c276552f41da06fdde',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdec',['BIG_480_29_dec',['../big__480__29_8h.html#afcd929b8b957a8c5d7b248baa4732a79',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdfrombyteslen',['BIG_480_29_dfromBytesLen',['../big__480__29_8h.html#a68f5a24d63b05fdd5fc4e98728f5e7d5',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdiszilch',['BIG_480_29_diszilch',['../big__480__29_8h.html#a6749c3bc67333990a3bd4c7f343bbfb2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdiv3',['BIG_480_29_div3',['../big__480__29_8h.html#a6f8b2b2a556243a6f9a9bd7e95851c9e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdmod',['BIG_480_29_dmod',['../big__480__29_8h.html#a7475db0ed75a962d7880d078730ce627',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdmod2m',['BIG_480_29_dmod2m',['../big__480__29_8h.html#a4741b70c40e4f0405ae22d40965bbed8',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdnbits',['BIG_480_29_dnbits',['../big__480__29_8h.html#afd823aae330f07224a7f0891cec24cca',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdnorm',['BIG_480_29_dnorm',['../big__480__29_8h.html#a50c682e6e693965f09a20b6512cd2ab8',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdoutput',['BIG_480_29_doutput',['../big__480__29_8h.html#a4ff4ce206cf12ab585ce89ae6d4ab5f9',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdrawoutput',['BIG_480_29_drawoutput',['../big__480__29_8h.html#a68af6d9980e360137b36903b19196631',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdscopy',['BIG_480_29_dscopy',['../big__480__29_8h.html#a40ccfa1143430d0878071677d1f1612f',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdshl',['BIG_480_29_dshl',['../big__480__29_8h.html#a5411cdc1ebac6da62d33cd7d2b22fafd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdshr',['BIG_480_29_dshr',['../big__480__29_8h.html#a258b8c20ce57bce8b1b6981b77282c3a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdsub',['BIG_480_29_dsub',['../big__480__29_8h.html#a95c51dd1666b7f8084ecc20ee14f8fea',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdsucopy',['BIG_480_29_dsucopy',['../big__480__29_8h.html#a59901c26ac1d1ea94412f88421881bca',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fdzero',['BIG_480_29_dzero',['../big__480__29_8h.html#a69a8d5e328daf4b8b89070d54ed1d1a2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffrombytes',['BIG_480_29_fromBytes',['../big__480__29_8h.html#a68105b21a1d78444e54f3ed017ae5e69',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffrombyteslen',['BIG_480_29_fromBytesLen',['../big__480__29_8h.html#a90eb904d4f1aae9b7872f6dee98ce14e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffshl',['BIG_480_29_fshl',['../big__480__29_8h.html#a242edeb3a03d4decf1e3fa49aab994b7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ffshr',['BIG_480_29_fshr',['../big__480__29_8h.html#a14e4ac8673cf47c1b10f318d3f4175a7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fimul',['BIG_480_29_imul',['../big__480__29_8h.html#a2b9c63b8fe90e41045e6078d584e7726',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5finc',['BIG_480_29_inc',['../big__480__29_8h.html#ad5a565020df281b4465e189c8d0633c1',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5finvmod2m',['BIG_480_29_invmod2m',['../big__480__29_8h.html#a6b3c5563be78cf18c6760c793bac949d',1,'big_480_29.h']]],
-  ['big_5f480_5f29_5finvmodp',['BIG_480_29_invmodp',['../big__480__29_8h.html#a90f031ccc185f63b7eab14fa70481dcb',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fisunity',['BIG_480_29_isunity',['../big__480__29_8h.html#a2f7933413edaf36c148c4608cc39a73e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fiszilch',['BIG_480_29_iszilch',['../big__480__29_8h.html#a8f4bd0c84cdc7c5dd9d7d355ece09592',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fjacobi',['BIG_480_29_jacobi',['../big__480__29_8h.html#a1e1df4be0527735fd48824b878f4cafd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5flastbits',['BIG_480_29_lastbits',['../big__480__29_8h.html#a02aca3e0e40a469c2c8c566f326e42d1',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmod',['BIG_480_29_mod',['../big__480__29_8h.html#afb25b3b566346dfa4ab23a97f65eb98e',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmod2m',['BIG_480_29_mod2m',['../big__480__29_8h.html#ad0c703ded1cea62ad1e7b304b820811a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmoddiv',['BIG_480_29_moddiv',['../big__480__29_8h.html#a31bc510fb76b54775949627bdccfbf17',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmodmul',['BIG_480_29_modmul',['../big__480__29_8h.html#a6e195f2a08e5f39f98272904826e4458',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmodneg',['BIG_480_29_modneg',['../big__480__29_8h.html#a30769ad6586c737640a240cf44fe3ccd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmodsqr',['BIG_480_29_modsqr',['../big__480__29_8h.html#a15988e52f5c28d54576a5b3bf38c26e2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmonty',['BIG_480_29_monty',['../big__480__29_8h.html#aaa8b4145014c6f41aff5eeafa855d3d6',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fmul',['BIG_480_29_mul',['../big__480__29_8h.html#a7a516f7c27d1f0e2c0843e9ef35a54e2',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fnbits',['BIG_480_29_nbits',['../big__480__29_8h.html#ad7095568d9170f998ba8f123eeb57568',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fnorm',['BIG_480_29_norm',['../big__480__29_8h.html#aa7e71c50d2c580d5af8e2f8b9575b416',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fone',['BIG_480_29_one',['../big__480__29_8h.html#a2e7fabef7d1c61ae4042af344141f42f',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5for',['BIG_480_29_or',['../big__480__29_8h.html#acf692b4f12f87fc3557595c12ba197bd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5foutput',['BIG_480_29_output',['../big__480__29_8h.html#acf70eeae7372d5391d2c843af8b793da',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fparity',['BIG_480_29_parity',['../big__480__29_8h.html#a1f1f3335dacc43945f7c91dfb5b14336',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fpmul',['BIG_480_29_pmul',['../big__480__29_8h.html#a4f9e6a79551b466c4cfa0181754b5ec0',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fpxmul',['BIG_480_29_pxmul',['../big__480__29_8h.html#a48554072f9ef3a6252783ee43699a14c',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frandom',['BIG_480_29_random',['../big__480__29_8h.html#ae064909259a290fbe3f06e655931004d',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frandomnum',['BIG_480_29_randomnum',['../big__480__29_8h.html#a08a96bc628609eea00244c012a9c71ca',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frawoutput',['BIG_480_29_rawoutput',['../big__480__29_8h.html#addbfff9a15b9c7eb4edf59d029e6d007',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5frcopy',['BIG_480_29_rcopy',['../big__480__29_8h.html#a61b7e3d5eb7d54a49623c77ca016336a',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsdcopy',['BIG_480_29_sdcopy',['../big__480__29_8h.html#a508559243824b28d807bfaf5744019da',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsdiv',['BIG_480_29_sdiv',['../big__480__29_8h.html#a381ebe44f6a99233971636b17a85a402',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsducopy',['BIG_480_29_sducopy',['../big__480__29_8h.html#a87492be96bc427dcdb744de1dedef099',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fshl',['BIG_480_29_shl',['../big__480__29_8h.html#afe4ed6cab228d079ca7750bab1ed1bcd',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fshr',['BIG_480_29_shr',['../big__480__29_8h.html#a23f804ba0312cfeb293f06d357d6cf35',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsmul',['BIG_480_29_smul',['../big__480__29_8h.html#a34882af2460305bf16480414780badb0',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsplit',['BIG_480_29_split',['../big__480__29_8h.html#a81c129c3ed195c0f71759176b101a9ae',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsqr',['BIG_480_29_sqr',['../big__480__29_8h.html#a71551882d4df9b786fcaca3b9e126e7d',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fssn',['BIG_480_29_ssn',['../big__480__29_8h.html#a59484329e57c3e9adcda23d371146a97',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fsub',['BIG_480_29_sub',['../big__480__29_8h.html#a96788cbcbddfb54d28609d07876c90b7',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5ftobytes',['BIG_480_29_toBytes',['../big__480__29_8h.html#a8e8969807b8d6127aae5bb893c885a63',1,'big_480_29.c']]],
-  ['big_5f480_5f29_5fzero',['BIG_480_29_zero',['../big__480__29_8h.html#acba1143334c4c98bca59526829bae47d',1,'big_480_29.c']]],
   ['big_5f480_5f56_5fadd',['BIG_480_56_add',['../big__480__56_8h.html#a8e5257519818e87b2eead6faa1b6fa2d',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fbit',['BIG_480_56_bit',['../big__480__56_8h.html#ad4324b2705b720c7799e698eaf4eab06',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fcmove',['BIG_480_56_cmove',['../big__480__56_8h.html#a2d735315112d67cea6c4bff632131de3',1,'big_480_56.c']]],
@@ -1311,7 +601,7 @@
   ['big_5f480_5f56_5ffshr',['BIG_480_56_fshr',['../big__480__56_8h.html#a5e62a4f106f08e86c842a8ad431a880d',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fimul',['BIG_480_56_imul',['../big__480__56_8h.html#a6dfbd18b8fa18cdf69b51fb8fb4e2d08',1,'big_480_56.c']]],
   ['big_5f480_5f56_5finc',['BIG_480_56_inc',['../big__480__56_8h.html#a5a1efb721dac640b6d66204f06ba3097',1,'big_480_56.c']]],
-  ['big_5f480_5f56_5finvmod2m',['BIG_480_56_invmod2m',['../big__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da',1,'big_480_56.h']]],
+  ['big_5f480_5f56_5finvmod2m',['BIG_480_56_invmod2m',['../big__480__56_8h.html#aea88c233d6adef32a3a6952d1f62a7da',1,'big_480_56.c']]],
   ['big_5f480_5f56_5finvmodp',['BIG_480_56_invmodp',['../big__480__56_8h.html#a4a2733d3a1d0765ce73273eda3e72d18',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fisunity',['BIG_480_56_isunity',['../big__480__56_8h.html#a97ee2f2834a8aeed7dbc84587eb13f3b',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fiszilch',['BIG_480_56_iszilch',['../big__480__56_8h.html#a50cb6208874f4bcec5a44e00f0bbf56a',1,'big_480_56.c']]],
@@ -1349,77 +639,6 @@
   ['big_5f480_5f56_5fsub',['BIG_480_56_sub',['../big__480__56_8h.html#ab508f60468bf615a84a75a77b7c6d6c7',1,'big_480_56.c']]],
   ['big_5f480_5f56_5ftobytes',['BIG_480_56_toBytes',['../big__480__56_8h.html#a9cf77f88cf8141aca7a62a5636517931',1,'big_480_56.c']]],
   ['big_5f480_5f56_5fzero',['BIG_480_56_zero',['../big__480__56_8h.html#adea54cdff82f34a7f9e4c15e04c13a39',1,'big_480_56.c']]],
-  ['big_5f512_5f29_5fadd',['BIG_512_29_add',['../big__512__29_8h.html#ac2f85ff69a12d1c673001265fe9287c7',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fbit',['BIG_512_29_bit',['../big__512__29_8h.html#a52fe588767f417e17f2ff91e14d4f0d2',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcmove',['BIG_512_29_cmove',['../big__512__29_8h.html#ae7b88a0698325b8b2f024bc7fc7de6e5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcomp',['BIG_512_29_comp',['../big__512__29_8h.html#aad0f6d11b7dce3821f73da36a2d06cfb',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcopy',['BIG_512_29_copy',['../big__512__29_8h.html#a53bb3078d97123c97fd18fa4ac1303b0',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fcswap',['BIG_512_29_cswap',['../big__512__29_8h.html#a4d741d44e70c267ac25447772639cc4b',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdadd',['BIG_512_29_dadd',['../big__512__29_8h.html#adbfdfbbdb7f299009c216672c0fb8297',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdcmove',['BIG_512_29_dcmove',['../big__512__29_8h.html#a6d2f6fc83e7d0edc6e2387dbf745af64',1,'big_512_29.h']]],
-  ['big_5f512_5f29_5fdcomp',['BIG_512_29_dcomp',['../big__512__29_8h.html#a43a6835ee969b9f6ab09d7b00fdc3fb9',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdcopy',['BIG_512_29_dcopy',['../big__512__29_8h.html#a5d9ce0a85928fdcba3c0ae04ca6de41a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fddiv',['BIG_512_29_ddiv',['../big__512__29_8h.html#a32a1b425a87c32077188bb8827ad0907',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdec',['BIG_512_29_dec',['../big__512__29_8h.html#a623e829c317486582447b2a59b8839da',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdfrombyteslen',['BIG_512_29_dfromBytesLen',['../big__512__29_8h.html#a7240de125fe7edc33b9d2b42501670a9',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdiszilch',['BIG_512_29_diszilch',['../big__512__29_8h.html#a6b4fee35bb5a87693561f43f711c429f',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdiv3',['BIG_512_29_div3',['../big__512__29_8h.html#ad3d7bfab2ebd283735821fc85028b668',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdmod',['BIG_512_29_dmod',['../big__512__29_8h.html#af595007e5e5e8975fb5bf15bf28c1ce8',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdmod2m',['BIG_512_29_dmod2m',['../big__512__29_8h.html#ad91ff777de7b653080996b67b46c8bde',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdnbits',['BIG_512_29_dnbits',['../big__512__29_8h.html#aae492d7b08e1e336de308fe76d8e0625',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdnorm',['BIG_512_29_dnorm',['../big__512__29_8h.html#aece92f7efb9d0440fc6cb812c6de1c1d',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdoutput',['BIG_512_29_doutput',['../big__512__29_8h.html#ad12d14dea932c78537a270d3637fd0cb',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdrawoutput',['BIG_512_29_drawoutput',['../big__512__29_8h.html#a1d4d5f5da2a3b96e945f74b9e58aff60',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdscopy',['BIG_512_29_dscopy',['../big__512__29_8h.html#a63f756ee341108a1243525b79fae8071',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdshl',['BIG_512_29_dshl',['../big__512__29_8h.html#ae2aefe7da8c61c812d945dec1905607c',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdshr',['BIG_512_29_dshr',['../big__512__29_8h.html#a2f140d82cb4a89af91157d32a9ad9e16',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdsub',['BIG_512_29_dsub',['../big__512__29_8h.html#a3745869f88b23a4507d85ffa9a294546',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdsucopy',['BIG_512_29_dsucopy',['../big__512__29_8h.html#a278fadb24eca779cdb3fd3ae3f247125',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fdzero',['BIG_512_29_dzero',['../big__512__29_8h.html#a83aca7417f7c9fd686c9dff9e6972f69',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffrombytes',['BIG_512_29_fromBytes',['../big__512__29_8h.html#a778f9f8324146cd108bb733470f94bc4',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffrombyteslen',['BIG_512_29_fromBytesLen',['../big__512__29_8h.html#a060938bb70049000034ee79e4d5df8a5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffshl',['BIG_512_29_fshl',['../big__512__29_8h.html#a4586281c3a555718580d243395c4e6ca',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ffshr',['BIG_512_29_fshr',['../big__512__29_8h.html#a018725bccf723b24153ca3ba6831033a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fimul',['BIG_512_29_imul',['../big__512__29_8h.html#a4d86e4b4058ebb377e1d66c27c55a995',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5finc',['BIG_512_29_inc',['../big__512__29_8h.html#afbc9ed42984c2d126fa3b4a1f5a9a827',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5finvmod2m',['BIG_512_29_invmod2m',['../big__512__29_8h.html#ad64b757779c8517f8dab751ced045dd9',1,'big_512_29.h']]],
-  ['big_5f512_5f29_5finvmodp',['BIG_512_29_invmodp',['../big__512__29_8h.html#a0c63adac85065baabb73d2b3b05d4e76',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fisunity',['BIG_512_29_isunity',['../big__512__29_8h.html#a0a1d7cd9bf0fb160b308e007487220cd',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fiszilch',['BIG_512_29_iszilch',['../big__512__29_8h.html#a9b67440bd86823dc6c93068f6259b36a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fjacobi',['BIG_512_29_jacobi',['../big__512__29_8h.html#a6225d20d3d8ed3beaa3da97cef89d0ce',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5flastbits',['BIG_512_29_lastbits',['../big__512__29_8h.html#afa51db5a8af87b17de2ccb1a02be9079',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmod',['BIG_512_29_mod',['../big__512__29_8h.html#a3169eca0357ce4f06bc5b8a93f59ee4c',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmod2m',['BIG_512_29_mod2m',['../big__512__29_8h.html#a75067ebd644cc9eaa908d0cdbcb71444',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmoddiv',['BIG_512_29_moddiv',['../big__512__29_8h.html#ace5a92c10b16492379ccee4392c97ddc',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmodmul',['BIG_512_29_modmul',['../big__512__29_8h.html#a6202e0561fa9b5c7bba0e5b9038b4409',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmodneg',['BIG_512_29_modneg',['../big__512__29_8h.html#afd47bab847bdb38013c08105671f4721',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmodsqr',['BIG_512_29_modsqr',['../big__512__29_8h.html#ad49db2e5974d3d631d165c9b275082f5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmonty',['BIG_512_29_monty',['../big__512__29_8h.html#adf78f5363442d2919d366a9fb1de6382',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fmul',['BIG_512_29_mul',['../big__512__29_8h.html#abd82428cda0fd33b8280d0b755d61b8a',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fnbits',['BIG_512_29_nbits',['../big__512__29_8h.html#a89fbc95ccfe2a1f2f732cde1cc9ab933',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fnorm',['BIG_512_29_norm',['../big__512__29_8h.html#a23acbd536c366fea9d4001e92ec78453',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fone',['BIG_512_29_one',['../big__512__29_8h.html#a8f1937ca0a5c2f670587bafd66259514',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5for',['BIG_512_29_or',['../big__512__29_8h.html#ae4b89a753ad1cd5bf17c4949fb72cdfa',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5foutput',['BIG_512_29_output',['../big__512__29_8h.html#aa3a1506f9c8d3e9eb183871fbc445d86',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fparity',['BIG_512_29_parity',['../big__512__29_8h.html#a9d959b6de32195ba502d4160f2e35f5c',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fpmul',['BIG_512_29_pmul',['../big__512__29_8h.html#a4228d6b8a030f4bef5ab7e0b410fd44f',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fpxmul',['BIG_512_29_pxmul',['../big__512__29_8h.html#a7a94ce5c018ffff20b4e0356d2ccea8e',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frandom',['BIG_512_29_random',['../big__512__29_8h.html#a8bc4fb6d28d626022202e37530b46a93',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frandomnum',['BIG_512_29_randomnum',['../big__512__29_8h.html#a1c7cb43d9d7989e40994adc6af11cde3',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frawoutput',['BIG_512_29_rawoutput',['../big__512__29_8h.html#a964c31ebf5da6c9f720e71488e92c229',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5frcopy',['BIG_512_29_rcopy',['../big__512__29_8h.html#a18b23f26a5d38fcbb00cfc8b6c9c5074',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsdcopy',['BIG_512_29_sdcopy',['../big__512__29_8h.html#a7c281888a5acd5431ebd914cd88507c3',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsdiv',['BIG_512_29_sdiv',['../big__512__29_8h.html#aef4408d8a5441e103299919094c7fb34',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsducopy',['BIG_512_29_sducopy',['../big__512__29_8h.html#a16d0d8b4f066c5d2f49f3fd0340198c4',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fshl',['BIG_512_29_shl',['../big__512__29_8h.html#a55df3aca1fa7e47bb8e8baa8519c8db5',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fshr',['BIG_512_29_shr',['../big__512__29_8h.html#aa5c57b2fd674d94bbacc5be3b79fcd9b',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsmul',['BIG_512_29_smul',['../big__512__29_8h.html#ae9710f734e630b79f31fa89b54bed459',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsplit',['BIG_512_29_split',['../big__512__29_8h.html#a975ac4241bfc4ad5134ba5c2b77a7b37',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsqr',['BIG_512_29_sqr',['../big__512__29_8h.html#a6191e9e7f8d278bd3f6cbd9d02248056',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fssn',['BIG_512_29_ssn',['../big__512__29_8h.html#a09e401bfba7158e57df4160a21afca82',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fsub',['BIG_512_29_sub',['../big__512__29_8h.html#ab01841e5c4356fc85218aa533c2959c2',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5ftobytes',['BIG_512_29_toBytes',['../big__512__29_8h.html#a582f433b44350ccac18c8bb2ef0683c9',1,'big_512_29.c']]],
-  ['big_5f512_5f29_5fzero',['BIG_512_29_zero',['../big__512__29_8h.html#a0f1b5d55f4bf7d5c436cc020e7f86f01',1,'big_512_29.c']]],
   ['big_5f512_5f56_5fadd',['BIG_512_56_add',['../big__512__56_8h.html#a9d63ca24b476f341818792d36bced063',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fbit',['BIG_512_56_bit',['../big__512__56_8h.html#ac818f5154062c03071c1466e3b422c5e',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fcmove',['BIG_512_56_cmove',['../big__512__56_8h.html#a864d5e13bdc3993881b64896ed2a2e9c',1,'big_512_56.c']]],
@@ -1453,7 +672,7 @@
   ['big_5f512_5f56_5ffshr',['BIG_512_56_fshr',['../big__512__56_8h.html#a017f4fbc93b39f7449f32e98c5b42caa',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fimul',['BIG_512_56_imul',['../big__512__56_8h.html#ad0d5e92eddf8ffb0887ba01b52ab64b2',1,'big_512_56.c']]],
   ['big_5f512_5f56_5finc',['BIG_512_56_inc',['../big__512__56_8h.html#ab8efbc4513b62ba29acb31422274031a',1,'big_512_56.c']]],
-  ['big_5f512_5f56_5finvmod2m',['BIG_512_56_invmod2m',['../big__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e',1,'big_512_56.h']]],
+  ['big_5f512_5f56_5finvmod2m',['BIG_512_56_invmod2m',['../big__512__56_8h.html#aa876a900676e1cc70dcd423b94b0d53e',1,'big_512_56.c']]],
   ['big_5f512_5f56_5finvmodp',['BIG_512_56_invmodp',['../big__512__56_8h.html#aa53606a6b41f19e07fc7107e0e584cfb',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fisunity',['BIG_512_56_isunity',['../big__512__56_8h.html#a3340dedd669f14005a5fd1a8cb8034d3',1,'big_512_56.c']]],
   ['big_5f512_5f56_5fiszilch',['BIG_512_56_iszilch',['../big__512__56_8h.html#a6c03cc064c9712a767314119a679973d',1,'big_512_56.c']]],
@@ -1524,7 +743,7 @@
   ['big_5f512_5f60_5ffshr',['BIG_512_60_fshr',['../big__512__60_8h.html#af237293c0f0514780c0f3176175b9d32',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fimul',['BIG_512_60_imul',['../big__512__60_8h.html#a542c4f90796443050e69e769c20d22b5',1,'big_512_60.c']]],
   ['big_5f512_5f60_5finc',['BIG_512_60_inc',['../big__512__60_8h.html#a35171cff61735ae65092bc6576ba2062',1,'big_512_60.c']]],
-  ['big_5f512_5f60_5finvmod2m',['BIG_512_60_invmod2m',['../big__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312',1,'ff_4096.c']]],
+  ['big_5f512_5f60_5finvmod2m',['BIG_512_60_invmod2m',['../big__512__60_8h.html#a613ddf52fa88add3efe15f2c930f8312',1,'big_512_60.c']]],
   ['big_5f512_5f60_5finvmodp',['BIG_512_60_invmodp',['../big__512__60_8h.html#ac646cd18f1c3bbc928afc97fc33a26a4',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fisunity',['BIG_512_60_isunity',['../big__512__60_8h.html#afc1b120837075b231e2a57423295266e',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fiszilch',['BIG_512_60_iszilch',['../big__512__60_8h.html#a7a1e0c2e0ee9e436e0cea761642dbf6f',1,'big_512_60.c']]],
@@ -1562,77 +781,6 @@
   ['big_5f512_5f60_5fsub',['BIG_512_60_sub',['../big__512__60_8h.html#a7d5787816e576176808e092c408a946c',1,'big_512_60.c']]],
   ['big_5f512_5f60_5ftobytes',['BIG_512_60_toBytes',['../big__512__60_8h.html#a96d33f801e30529795373c3ab5f8869c',1,'big_512_60.c']]],
   ['big_5f512_5f60_5fzero',['BIG_512_60_zero',['../big__512__60_8h.html#a864aef063cf79e473d4b1bb4b4ffd478',1,'big_512_60.c']]],
-  ['big_5f528_5f28_5fadd',['BIG_528_28_add',['../big__528__28_8h.html#a7afd96bac59d42371b76b95890835631',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fbit',['BIG_528_28_bit',['../big__528__28_8h.html#a26f4a682a6a89ef6dd9c64a3bba8f43c',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcmove',['BIG_528_28_cmove',['../big__528__28_8h.html#a5eba982c2daae8928c7d338454e7aa11',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcomp',['BIG_528_28_comp',['../big__528__28_8h.html#a8978e8871b5d4dfae6ea69f514d64be5',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcopy',['BIG_528_28_copy',['../big__528__28_8h.html#a69773e3420a22bbe38ec7a7d5e30df85',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fcswap',['BIG_528_28_cswap',['../big__528__28_8h.html#a9bfcaa1d61f41b532fc113f41393bb67',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdadd',['BIG_528_28_dadd',['../big__528__28_8h.html#a204806f27e1337ef58f7af2758860fd5',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdcmove',['BIG_528_28_dcmove',['../big__528__28_8h.html#ae9f20276f7d3c2879801ee2c9d4b48e2',1,'big_528_28.h']]],
-  ['big_5f528_5f28_5fdcomp',['BIG_528_28_dcomp',['../big__528__28_8h.html#a118caa14783ac4a9f002cbf3a66a8e27',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdcopy',['BIG_528_28_dcopy',['../big__528__28_8h.html#afccc8f44d19aeaead975ffeff494ca72',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fddiv',['BIG_528_28_ddiv',['../big__528__28_8h.html#ae4c1f0866606ad2a5089f986113888a5',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdec',['BIG_528_28_dec',['../big__528__28_8h.html#ae2796b69476d18c8b72874d7062e1409',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdfrombyteslen',['BIG_528_28_dfromBytesLen',['../big__528__28_8h.html#ac63c75100d3183b113f17c3a71bc1558',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdiszilch',['BIG_528_28_diszilch',['../big__528__28_8h.html#a3fcba50db34f3327aa7605ea68d5a14f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdiv3',['BIG_528_28_div3',['../big__528__28_8h.html#ac5f14d540b28f48d3b6f5a4f830dabcc',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdmod',['BIG_528_28_dmod',['../big__528__28_8h.html#aeeaf15dd7ce5cf6ae1abfa078b4b4167',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdmod2m',['BIG_528_28_dmod2m',['../big__528__28_8h.html#af647547e90a21cca1016b1250b841251',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdnbits',['BIG_528_28_dnbits',['../big__528__28_8h.html#a7a881c780a7cc7f641849621561fbfce',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdnorm',['BIG_528_28_dnorm',['../big__528__28_8h.html#abfb0076a794c347af22ad9f5ca10b97a',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdoutput',['BIG_528_28_doutput',['../big__528__28_8h.html#a2004f4fe879078f894fa47bf4f8d9018',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdrawoutput',['BIG_528_28_drawoutput',['../big__528__28_8h.html#a92d211f719b808f8bff3e5416485829a',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdscopy',['BIG_528_28_dscopy',['../big__528__28_8h.html#ab035b57893889988fa1e6a6a741de5db',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdshl',['BIG_528_28_dshl',['../big__528__28_8h.html#a913fe1d47dc8be71316c9ed0593548e2',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdshr',['BIG_528_28_dshr',['../big__528__28_8h.html#abbc3509fafcc3871fb8a47e770406597',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdsub',['BIG_528_28_dsub',['../big__528__28_8h.html#a1bd3af5dbdd4141d281fc0f49c22bd67',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdsucopy',['BIG_528_28_dsucopy',['../big__528__28_8h.html#a3605d741288e107006f8a870c19b58d7',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fdzero',['BIG_528_28_dzero',['../big__528__28_8h.html#aaa9178d7e1d15437f3142d84943c80b4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffrombytes',['BIG_528_28_fromBytes',['../big__528__28_8h.html#a0ac81676878f639d380137b47dc640c1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffrombyteslen',['BIG_528_28_fromBytesLen',['../big__528__28_8h.html#a001cdba454b1c6bd4051f8edfa72971f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffshl',['BIG_528_28_fshl',['../big__528__28_8h.html#ade0dcec6578773e4914666c864011bf4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ffshr',['BIG_528_28_fshr',['../big__528__28_8h.html#ab10e19db598b10c0ec146a82c6a50a82',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fimul',['BIG_528_28_imul',['../big__528__28_8h.html#ad6ddc379684077bfc78ac3c655399aed',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5finc',['BIG_528_28_inc',['../big__528__28_8h.html#aecc2507f27540e765099a45641bd1001',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5finvmod2m',['BIG_528_28_invmod2m',['../big__528__28_8h.html#a93e28db178c675ff24319a01869c67cf',1,'big_528_28.h']]],
-  ['big_5f528_5f28_5finvmodp',['BIG_528_28_invmodp',['../big__528__28_8h.html#ae1f0333c8e24c708067d867573e39d83',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fisunity',['BIG_528_28_isunity',['../big__528__28_8h.html#a1ea2000ea11c779bcc15c7c9b45a23e6',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fiszilch',['BIG_528_28_iszilch',['../big__528__28_8h.html#a759b359beb86544bb4399e56b9370125',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fjacobi',['BIG_528_28_jacobi',['../big__528__28_8h.html#af3b892ca6e6668f802c693bbfb4b7cb1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5flastbits',['BIG_528_28_lastbits',['../big__528__28_8h.html#a6eb9952d9e970fb79a55b1ae2aa5a367',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmod',['BIG_528_28_mod',['../big__528__28_8h.html#aa4e1081eb2bc5dc1b36adbb412abb4e1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmod2m',['BIG_528_28_mod2m',['../big__528__28_8h.html#a7d53293cc2730c96e9cd46d38bb7866c',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmoddiv',['BIG_528_28_moddiv',['../big__528__28_8h.html#a52c6f2272e4b5ff16eb39dc5e5004a1a',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmodmul',['BIG_528_28_modmul',['../big__528__28_8h.html#a1ba3e7bef81a07c9d75dd186263d894d',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmodneg',['BIG_528_28_modneg',['../big__528__28_8h.html#a869ba3a39774e991efc6c85072212231',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmodsqr',['BIG_528_28_modsqr',['../big__528__28_8h.html#a5bf6cd12e6aec3f0fbc55731abada663',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmonty',['BIG_528_28_monty',['../big__528__28_8h.html#ac5e33943c960df2cbfc50102c564aa6b',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fmul',['BIG_528_28_mul',['../big__528__28_8h.html#ae8745b1338c0e96c6f616a06bf7dffee',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fnbits',['BIG_528_28_nbits',['../big__528__28_8h.html#abaf0336e531b0e380b2f27ef702fc62f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fnorm',['BIG_528_28_norm',['../big__528__28_8h.html#af04aa3708619571cfde9bb15bad00ca4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fone',['BIG_528_28_one',['../big__528__28_8h.html#ada2780244b0ed167c9fcb365014ac992',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5for',['BIG_528_28_or',['../big__528__28_8h.html#a73d2125663f4285274f82da9cd465f31',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5foutput',['BIG_528_28_output',['../big__528__28_8h.html#a7202be5bc08fa6abfae7d1da9bfbcf2f',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fparity',['BIG_528_28_parity',['../big__528__28_8h.html#a783851f26377ab6e8e056195c9969fb6',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fpmul',['BIG_528_28_pmul',['../big__528__28_8h.html#ad313e8a3ed0aaf2758e6c17e98a78673',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fpxmul',['BIG_528_28_pxmul',['../big__528__28_8h.html#a0e70619bafa1344244aa1a6a2306f53e',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frandom',['BIG_528_28_random',['../big__528__28_8h.html#a92e1ed0b13a7788df7d941fc79a7a3c8',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frandomnum',['BIG_528_28_randomnum',['../big__528__28_8h.html#afaab6a6248a527f05c379c77e4c4d783',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frawoutput',['BIG_528_28_rawoutput',['../big__528__28_8h.html#a7bf84a2fdffc5317a7c1008f209debe8',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5frcopy',['BIG_528_28_rcopy',['../big__528__28_8h.html#ac49a401e55aef325b85c04ff5a0f03e3',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsdcopy',['BIG_528_28_sdcopy',['../big__528__28_8h.html#a90335a8a99381ced32eb28ecc27cd4a0',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsdiv',['BIG_528_28_sdiv',['../big__528__28_8h.html#aa2562458d3f8a8008128ac67afb7875d',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsducopy',['BIG_528_28_sducopy',['../big__528__28_8h.html#aabb757eb8a57b274a480d6fad7fb5ef4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fshl',['BIG_528_28_shl',['../big__528__28_8h.html#af84eac0e282b050df29b8c2831aafd61',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fshr',['BIG_528_28_shr',['../big__528__28_8h.html#a23f0306cbf7328422298aabf1bdae91c',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsmul',['BIG_528_28_smul',['../big__528__28_8h.html#a3363c0a6b6ec862cb5774c646cfa3c03',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsplit',['BIG_528_28_split',['../big__528__28_8h.html#acfe96c94a11817c94683b605ec552af1',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsqr',['BIG_528_28_sqr',['../big__528__28_8h.html#ac56118aa8725b3b1fc03af85c3010b38',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fssn',['BIG_528_28_ssn',['../big__528__28_8h.html#a8ba7ff541a178ac776d8167b07ba1bb4',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fsub',['BIG_528_28_sub',['../big__528__28_8h.html#ac0bd12529378dba03e33365c29e7696e',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5ftobytes',['BIG_528_28_toBytes',['../big__528__28_8h.html#a4765f04b8f89ff50d79fbf0240863445',1,'big_528_28.c']]],
-  ['big_5f528_5f28_5fzero',['BIG_528_28_zero',['../big__528__28_8h.html#a7b346504e2eb7132227acfaa4fc96233',1,'big_528_28.c']]],
   ['big_5f528_5f60_5fadd',['BIG_528_60_add',['../big__528__60_8h.html#a2cf3a406c08eac4a7f60cb209eb032ab',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fbit',['BIG_528_60_bit',['../big__528__60_8h.html#a1aaca83012b7812f50e16092f344c719',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fcmove',['BIG_528_60_cmove',['../big__528__60_8h.html#adccc6fb715a79eb25fb57c3065850ad1',1,'big_528_60.c']]],
@@ -1666,7 +814,7 @@
   ['big_5f528_5f60_5ffshr',['BIG_528_60_fshr',['../big__528__60_8h.html#ab581aaabf3f679fbd79b62924003ed94',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fimul',['BIG_528_60_imul',['../big__528__60_8h.html#a437761d0149ea3ac18dd5790504d8d05',1,'big_528_60.c']]],
   ['big_5f528_5f60_5finc',['BIG_528_60_inc',['../big__528__60_8h.html#ab538407c81f981ef61fb5a9542daa811',1,'big_528_60.c']]],
-  ['big_5f528_5f60_5finvmod2m',['BIG_528_60_invmod2m',['../big__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59',1,'big_528_60.h']]],
+  ['big_5f528_5f60_5finvmod2m',['BIG_528_60_invmod2m',['../big__528__60_8h.html#a89efcca64d0079585a0a0b0df6ac2b59',1,'big_528_60.c']]],
   ['big_5f528_5f60_5finvmodp',['BIG_528_60_invmodp',['../big__528__60_8h.html#a512117e6a7ea73a58b0a9b204edda624',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fisunity',['BIG_528_60_isunity',['../big__528__60_8h.html#a4a97711862b1cc33244171637681de99',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fiszilch',['BIG_528_60_iszilch',['../big__528__60_8h.html#a42fdaa52bc19aa6fca2e1eccfb386878',1,'big_528_60.c']]],
@@ -1704,77 +852,6 @@
   ['big_5f528_5f60_5fsub',['BIG_528_60_sub',['../big__528__60_8h.html#a66d8cba96f29d745eac30096f681af08',1,'big_528_60.c']]],
   ['big_5f528_5f60_5ftobytes',['BIG_528_60_toBytes',['../big__528__60_8h.html#ad4fc31837dd06b0c2e06b5eef3d8d1bf',1,'big_528_60.c']]],
   ['big_5f528_5f60_5fzero',['BIG_528_60_zero',['../big__528__60_8h.html#ab27955873faca327f00f59d01f0fd316',1,'big_528_60.c']]],
-  ['big_5f560_5f29_5fadd',['BIG_560_29_add',['../big__560__29_8h.html#ae65e9996ba096849473662afb7105678',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fbit',['BIG_560_29_bit',['../big__560__29_8h.html#a89a8e99224c79e20a83f65e950f50140',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcmove',['BIG_560_29_cmove',['../big__560__29_8h.html#a08c0a219dcc9ba548194f3fb07ddd338',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcomp',['BIG_560_29_comp',['../big__560__29_8h.html#a5e71aecc096e5d0cf8abb41ef467280c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcopy',['BIG_560_29_copy',['../big__560__29_8h.html#a51f1a538cd2acd170c64f333bbf9ef38',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fcswap',['BIG_560_29_cswap',['../big__560__29_8h.html#a5986aced3f00297a9b7aefa2088a2aa0',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdadd',['BIG_560_29_dadd',['../big__560__29_8h.html#a4a6546b6be50aa0ed327cae3a76e45b2',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdcmove',['BIG_560_29_dcmove',['../big__560__29_8h.html#a70647835b3562e8015dca7f80f008b66',1,'big_560_29.h']]],
-  ['big_5f560_5f29_5fdcomp',['BIG_560_29_dcomp',['../big__560__29_8h.html#ad1fa33c289213fb0c9546e58a682f39b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdcopy',['BIG_560_29_dcopy',['../big__560__29_8h.html#a0441ea3e88f376aa446b21393a78d818',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fddiv',['BIG_560_29_ddiv',['../big__560__29_8h.html#a63a2a4340ec906ef4edafd8cdda5ecd1',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdec',['BIG_560_29_dec',['../big__560__29_8h.html#a33a5c0c69dd8d1efc4c8e665eeff8b9b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdfrombyteslen',['BIG_560_29_dfromBytesLen',['../big__560__29_8h.html#af2b12cf78dd1bda266eed46c74aaa401',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdiszilch',['BIG_560_29_diszilch',['../big__560__29_8h.html#aa8dcbefb1a36e50d3f9b241573ef9a07',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdiv3',['BIG_560_29_div3',['../big__560__29_8h.html#ac248bd7812fdb863cf77da864d006547',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdmod',['BIG_560_29_dmod',['../big__560__29_8h.html#a0145ff9aba864d2e93d34044ab35b0b3',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdmod2m',['BIG_560_29_dmod2m',['../big__560__29_8h.html#abfb7a14c67bc951d22fb8646caa80949',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdnbits',['BIG_560_29_dnbits',['../big__560__29_8h.html#a96f414c632beb42afa3b18803e3c1c02',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdnorm',['BIG_560_29_dnorm',['../big__560__29_8h.html#a5a1d428f6a3948985ef7ecee44b1ed90',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdoutput',['BIG_560_29_doutput',['../big__560__29_8h.html#a3532414b33ec5c454d2aa69450a71e3b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdrawoutput',['BIG_560_29_drawoutput',['../big__560__29_8h.html#a819c27b791c06a68c885c3bac71ed026',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdscopy',['BIG_560_29_dscopy',['../big__560__29_8h.html#a0e2ca1c8b0e5004d89eb25f7fbe1413a',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdshl',['BIG_560_29_dshl',['../big__560__29_8h.html#a2a7dc62a5c174e03456b3df7de48c7d0',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdshr',['BIG_560_29_dshr',['../big__560__29_8h.html#a4d4cfcf637b71a4fc532c5d8ed04b6be',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdsub',['BIG_560_29_dsub',['../big__560__29_8h.html#a4f9c5cbd7a7139c9e57612b6371edd2f',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdsucopy',['BIG_560_29_dsucopy',['../big__560__29_8h.html#aaa5770a5f1eb5f3520f5af8673d621e3',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fdzero',['BIG_560_29_dzero',['../big__560__29_8h.html#a35ed74837f580f23ae25b217cb80a7c4',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffrombytes',['BIG_560_29_fromBytes',['../big__560__29_8h.html#a8fa45c00b5827a65847d7f4a09cb296f',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffrombyteslen',['BIG_560_29_fromBytesLen',['../big__560__29_8h.html#a5e21437235e92875a043ef7b29d0e54c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffshl',['BIG_560_29_fshl',['../big__560__29_8h.html#a469fb92dfb3cfad74782399dfa4c0ea7',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ffshr',['BIG_560_29_fshr',['../big__560__29_8h.html#a87bbbb471bd5640d81799ae94d459a89',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fimul',['BIG_560_29_imul',['../big__560__29_8h.html#a7375b371afca2493f289e566e773ca4a',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5finc',['BIG_560_29_inc',['../big__560__29_8h.html#aadc38ea4dbbbcf952ca5c939c7afc661',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5finvmod2m',['BIG_560_29_invmod2m',['../big__560__29_8h.html#a0c147e73b0bae9635bee593175774f0c',1,'big_560_29.h']]],
-  ['big_5f560_5f29_5finvmodp',['BIG_560_29_invmodp',['../big__560__29_8h.html#a00a5f8b23c288c2448ddb2d88d315b21',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fisunity',['BIG_560_29_isunity',['../big__560__29_8h.html#a2a5cdd4dfe0e6aba419a75f49243ad43',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fiszilch',['BIG_560_29_iszilch',['../big__560__29_8h.html#afb68b5fa13e176d7e32a2057b71ac780',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fjacobi',['BIG_560_29_jacobi',['../big__560__29_8h.html#acabe4baa29863ad5559020c8f2136d9f',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5flastbits',['BIG_560_29_lastbits',['../big__560__29_8h.html#ad8abd5137561bfed04669cf96c259781',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmod',['BIG_560_29_mod',['../big__560__29_8h.html#afac3c76a8f4e070630b0e548f23ef358',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmod2m',['BIG_560_29_mod2m',['../big__560__29_8h.html#ad8b4f3bcef2aa611363bb7afd3477c37',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmoddiv',['BIG_560_29_moddiv',['../big__560__29_8h.html#af4275b84bb243a4299a8fbae6c594db1',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmodmul',['BIG_560_29_modmul',['../big__560__29_8h.html#a1efc3b09f5b07ca7a559d83e76acbe57',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmodneg',['BIG_560_29_modneg',['../big__560__29_8h.html#a5a8cb966bd251bd9b28c447e67ef41e8',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmodsqr',['BIG_560_29_modsqr',['../big__560__29_8h.html#a21e87e8bf1b42f00087e74ae6102ba8c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmonty',['BIG_560_29_monty',['../big__560__29_8h.html#adcbe9492816b75278b278758fe1c21bb',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fmul',['BIG_560_29_mul',['../big__560__29_8h.html#a57ee8eed41be0783324dbeea72e1078d',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fnbits',['BIG_560_29_nbits',['../big__560__29_8h.html#a5a29d5bcaa2299f1f7ab4c322a2df907',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fnorm',['BIG_560_29_norm',['../big__560__29_8h.html#aefd62aa61037b77a52b931b51787e921',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fone',['BIG_560_29_one',['../big__560__29_8h.html#aecec4cf34ec7476ce48f085f126674fd',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5for',['BIG_560_29_or',['../big__560__29_8h.html#a23fb2086d698b03e3b409b6f0c0a80dc',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5foutput',['BIG_560_29_output',['../big__560__29_8h.html#a5057ccb43e0e7eb9f8aea795ac62aaa7',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fparity',['BIG_560_29_parity',['../big__560__29_8h.html#a4db725f0b9ebdb8bd9ef87a31e83300d',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fpmul',['BIG_560_29_pmul',['../big__560__29_8h.html#a8bbbc9bb0aeb3ea59aed8007ea9ae266',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fpxmul',['BIG_560_29_pxmul',['../big__560__29_8h.html#a6d61085a3a76337a0d82ac3e65fb6026',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frandom',['BIG_560_29_random',['../big__560__29_8h.html#adafd6f05406b9a591aa971cba0825c6c',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frandomnum',['BIG_560_29_randomnum',['../big__560__29_8h.html#a8fe1cf5b87b4db63ff9234829408ccc7',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frawoutput',['BIG_560_29_rawoutput',['../big__560__29_8h.html#a5bc5722658a94b5247a1609571487fe0',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5frcopy',['BIG_560_29_rcopy',['../big__560__29_8h.html#a2067a272be66e61ffa263db0489932f8',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsdcopy',['BIG_560_29_sdcopy',['../big__560__29_8h.html#a775faf413caafab161a9b40473957476',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsdiv',['BIG_560_29_sdiv',['../big__560__29_8h.html#a7751e56b7afb898f804bd614cdce0f11',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsducopy',['BIG_560_29_sducopy',['../big__560__29_8h.html#ab6b90ba76c93b712c79ecf0fa4c11a85',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fshl',['BIG_560_29_shl',['../big__560__29_8h.html#a948b32e26c4c4551351ff9fc68ea4822',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fshr',['BIG_560_29_shr',['../big__560__29_8h.html#a5c2b4afaef6383d924f8d87d8b03942b',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsmul',['BIG_560_29_smul',['../big__560__29_8h.html#aa708c4c1eea0d5af0b43e82f061f854a',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsplit',['BIG_560_29_split',['../big__560__29_8h.html#a19241dcc77b787b493370d3a3e657259',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsqr',['BIG_560_29_sqr',['../big__560__29_8h.html#a867fd42d71918d1db92cf4934bf882c5',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fssn',['BIG_560_29_ssn',['../big__560__29_8h.html#a3e07a3bbd83a0d6630106c726e58c828',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fsub',['BIG_560_29_sub',['../big__560__29_8h.html#a587bc2e12545c048659aaa3eb5c68315',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5ftobytes',['BIG_560_29_toBytes',['../big__560__29_8h.html#a54e02dc726f8824e62759a2fa14b59a5',1,'big_560_29.c']]],
-  ['big_5f560_5f29_5fzero',['BIG_560_29_zero',['../big__560__29_8h.html#a464cd2642cf515bdafe4946d818de6df',1,'big_560_29.c']]],
   ['big_5f560_5f58_5fadd',['BIG_560_58_add',['../big__560__58_8h.html#a3564768f845395a6faad9c10f1d6da7c',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fbit',['BIG_560_58_bit',['../big__560__58_8h.html#a41470dde5776a65bfd2aabc1b9feb19e',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fcmove',['BIG_560_58_cmove',['../big__560__58_8h.html#a2719180589480b71f07fa913faaba4cf',1,'big_560_58.c']]],
@@ -1808,7 +885,7 @@
   ['big_5f560_5f58_5ffshr',['BIG_560_58_fshr',['../big__560__58_8h.html#a70dfa08b161ea2ee689a1dde4e1a8d6d',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fimul',['BIG_560_58_imul',['../big__560__58_8h.html#a4f84bbe855c1c3f4018db855ea8c3321',1,'big_560_58.c']]],
   ['big_5f560_5f58_5finc',['BIG_560_58_inc',['../big__560__58_8h.html#af00a90d21a75db5f737f513da2c59364',1,'big_560_58.c']]],
-  ['big_5f560_5f58_5finvmod2m',['BIG_560_58_invmod2m',['../big__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a',1,'big_560_58.h']]],
+  ['big_5f560_5f58_5finvmod2m',['BIG_560_58_invmod2m',['../big__560__58_8h.html#ac5960667fcd4890b54dd19b158a7265a',1,'big_560_58.c']]],
   ['big_5f560_5f58_5finvmodp',['BIG_560_58_invmodp',['../big__560__58_8h.html#a15ca0de7d97b9ca788e3ab3686d6b723',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fisunity',['BIG_560_58_isunity',['../big__560__58_8h.html#a02b88360183b0b0286799b49f6eea012',1,'big_560_58.c']]],
   ['big_5f560_5f58_5fiszilch',['BIG_560_58_iszilch',['../big__560__58_8h.html#a2916cb489d9285e99bbcf90d357c3099',1,'big_560_58.c']]],
@@ -1849,46 +926,73 @@
   ['bls_5fbls24_5fadd_5fg1',['BLS_BLS24_ADD_G1',['../bls192__BLS24_8h.html#a74f85dd3448d0d41f9a1677a6a3ad582',1,'bls192_BLS24.c']]],
   ['bls_5fbls24_5fadd_5fg2',['BLS_BLS24_ADD_G2',['../bls192__BLS24_8h.html#ad2cde91c5e007bf3ac9918e2bc9db6b7',1,'bls192_BLS24.c']]],
   ['bls_5fbls24_5fkey_5fpair_5fgenerate',['BLS_BLS24_KEY_PAIR_GENERATE',['../bls192__BLS24_8h.html#a3ff9de2861f2c7d30c7cf52d9ea1591c',1,'bls192_BLS24.c']]],
-  ['bls_5fbls24_5fsign',['BLS_BLS24_SIGN',['../bls192__BLS24_8h.html#a79cbcdfdb4aef90e5e8d02fbc08dd726',1,'bls192_BLS24.c']]],
-  ['bls_5fbls24_5fverify',['BLS_BLS24_VERIFY',['../bls192__BLS24_8h.html#ae167d4ff813dd451b8f9c1e54c041a85',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5fmake_5fshares',['BLS_BLS24_MAKE_SHARES',['../bls192__BLS24_8h.html#ade4309880d21334a7b64e1ef6204d586',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5frecover_5fsecret',['BLS_BLS24_RECOVER_SECRET',['../bls192__BLS24_8h.html#a63ccbbd1e272ba050ebc688de8f9381a',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5frecover_5fsignature',['BLS_BLS24_RECOVER_SIGNATURE',['../bls192__BLS24_8h.html#a51b37e19ec601e7d90d5a65127dc6097',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5fsign',['BLS_BLS24_SIGN',['../bls192__BLS24_8h.html#ace586ee37e95cf2e2b67b9232c5c4bc5',1,'bls192_BLS24.c']]],
+  ['bls_5fbls24_5fverify',['BLS_BLS24_VERIFY',['../bls192__BLS24_8h.html#a888e6668b6240c162677d5ea4875b417',1,'bls192_BLS24.c']]],
   ['bls_5fbls381_5fadd_5fg1',['BLS_BLS381_ADD_G1',['../bls__BLS381_8h.html#a0419139eb98b18885a85cd15c2694d0f',1,'bls_BLS381.c']]],
   ['bls_5fbls381_5fadd_5fg2',['BLS_BLS381_ADD_G2',['../bls__BLS381_8h.html#aef70663c71066d65219b53832162dd3c',1,'bls_BLS381.c']]],
   ['bls_5fbls381_5fkey_5fpair_5fgenerate',['BLS_BLS381_KEY_PAIR_GENERATE',['../bls__BLS381_8h.html#ad8c028e9c2525ed70ca80dd62b39f111',1,'bls_BLS381.c']]],
-  ['bls_5fbls381_5fsign',['BLS_BLS381_SIGN',['../bls__BLS381_8h.html#abe8ca90d166aa1ea6ee432290bdbcdd4',1,'bls_BLS381.c']]],
-  ['bls_5fbls381_5fverify',['BLS_BLS381_VERIFY',['../bls__BLS381_8h.html#a16a1ea68ef8fd07379dea104d1da954c',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5fmake_5fshares',['BLS_BLS381_MAKE_SHARES',['../bls__BLS381_8h.html#abc73fc44019239a33302da199e198624',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5frecover_5fsecret',['BLS_BLS381_RECOVER_SECRET',['../bls__BLS381_8h.html#a3bfe03702c6bb5140ea26c1e863476af',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5frecover_5fsignature',['BLS_BLS381_RECOVER_SIGNATURE',['../bls__BLS381_8h.html#a0bde1c6bf97c00da8b6020ba96711707',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5fsign',['BLS_BLS381_SIGN',['../bls__BLS381_8h.html#a24b33bf05c6df70cd1152d513fbc464c',1,'bls_BLS381.c']]],
+  ['bls_5fbls381_5fverify',['BLS_BLS381_VERIFY',['../bls__BLS381_8h.html#af5c1fa6e4349a4c5d36d46cbb0a9d454',1,'bls_BLS381.c']]],
   ['bls_5fbls383_5fadd_5fg1',['BLS_BLS383_ADD_G1',['../bls__BLS383_8h.html#a8af42e8ca84798bacabc553418a1d047',1,'bls_BLS383.c']]],
   ['bls_5fbls383_5fadd_5fg2',['BLS_BLS383_ADD_G2',['../bls__BLS383_8h.html#a59864c22372e6096b50bb8a8a43c3cab',1,'bls_BLS383.c']]],
   ['bls_5fbls383_5fkey_5fpair_5fgenerate',['BLS_BLS383_KEY_PAIR_GENERATE',['../bls__BLS383_8h.html#ab3efa286a082429f7a2cdbce4e388c97',1,'bls_BLS383.c']]],
-  ['bls_5fbls383_5fsign',['BLS_BLS383_SIGN',['../bls__BLS383_8h.html#a1d383ff4c866b7c7e4a4db653cfffc0b',1,'bls_BLS383.c']]],
-  ['bls_5fbls383_5fverify',['BLS_BLS383_VERIFY',['../bls__BLS383_8h.html#a3d85ac20f750866e30664de951009141',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5fmake_5fshares',['BLS_BLS383_MAKE_SHARES',['../bls__BLS383_8h.html#a165fdb46f1f82e986657168266b707bc',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5frecover_5fsecret',['BLS_BLS383_RECOVER_SECRET',['../bls__BLS383_8h.html#ad0f5bdfdb1c6c1897f000d0491d582fb',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5frecover_5fsignature',['BLS_BLS383_RECOVER_SIGNATURE',['../bls__BLS383_8h.html#a0d8e6fd8970b6f5f7a7aeafe881f6dba',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5fsign',['BLS_BLS383_SIGN',['../bls__BLS383_8h.html#a035379af6cbcbb1fa769e3b10d3465c1',1,'bls_BLS383.c']]],
+  ['bls_5fbls383_5fverify',['BLS_BLS383_VERIFY',['../bls__BLS383_8h.html#a066716fed2f9dee626d6b43c592d6771',1,'bls_BLS383.c']]],
   ['bls_5fbls461_5fadd_5fg1',['BLS_BLS461_ADD_G1',['../bls__BLS461_8h.html#a5e4a85fbc551e5774c3654857e82a9fb',1,'bls_BLS461.c']]],
   ['bls_5fbls461_5fadd_5fg2',['BLS_BLS461_ADD_G2',['../bls__BLS461_8h.html#adb9b2baff7779fb24a76c5fde8f08b7e',1,'bls_BLS461.c']]],
   ['bls_5fbls461_5fkey_5fpair_5fgenerate',['BLS_BLS461_KEY_PAIR_GENERATE',['../bls__BLS461_8h.html#a3119dbd5efb7b49b28b7b504436ed93d',1,'bls_BLS461.c']]],
-  ['bls_5fbls461_5fsign',['BLS_BLS461_SIGN',['../bls__BLS461_8h.html#a9f8ad4d96944199eeeb56aa00f635687',1,'bls_BLS461.c']]],
-  ['bls_5fbls461_5fverify',['BLS_BLS461_VERIFY',['../bls__BLS461_8h.html#a299f6a77664cc94291edbcf2a9a580c4',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5fmake_5fshares',['BLS_BLS461_MAKE_SHARES',['../bls__BLS461_8h.html#a4b5381be8ae73b626601b6aeb34b0e1c',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5frecover_5fsecret',['BLS_BLS461_RECOVER_SECRET',['../bls__BLS461_8h.html#aecd2988e567295aaa7020e96739b7e0f',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5frecover_5fsignature',['BLS_BLS461_RECOVER_SIGNATURE',['../bls__BLS461_8h.html#ac9f911283da8978a6d54e054b2b28697',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5fsign',['BLS_BLS461_SIGN',['../bls__BLS461_8h.html#aff825f53a175ac64da3be3c9e5edd59f',1,'bls_BLS461.c']]],
+  ['bls_5fbls461_5fverify',['BLS_BLS461_VERIFY',['../bls__BLS461_8h.html#a8b58b365bb7bd0365947da6206135941',1,'bls_BLS461.c']]],
   ['bls_5fbls48_5fadd_5fg1',['BLS_BLS48_ADD_G1',['../bls256__BLS48_8h.html#ab6c79daa940bb9d3228bdfa152fe148e',1,'bls256_BLS48.c']]],
   ['bls_5fbls48_5fadd_5fg2',['BLS_BLS48_ADD_G2',['../bls256__BLS48_8h.html#acb44039e4daf6fe37c1284602e91a5f4',1,'bls256_BLS48.c']]],
   ['bls_5fbls48_5fkey_5fpair_5fgenerate',['BLS_BLS48_KEY_PAIR_GENERATE',['../bls256__BLS48_8h.html#a7a8481f3854741dee7788aa873fc03d4',1,'bls256_BLS48.c']]],
-  ['bls_5fbls48_5fsign',['BLS_BLS48_SIGN',['../bls256__BLS48_8h.html#aca4a3373e24203541075a1242d469b48',1,'bls256_BLS48.c']]],
-  ['bls_5fbls48_5fverify',['BLS_BLS48_VERIFY',['../bls256__BLS48_8h.html#a1a63c26de2f02ed7529f3df2621d515e',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5fmake_5fshares',['BLS_BLS48_MAKE_SHARES',['../bls256__BLS48_8h.html#af89c4de4e305481b2e00f3c2bb7c273b',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5frecover_5fsecret',['BLS_BLS48_RECOVER_SECRET',['../bls256__BLS48_8h.html#abcf69b92459f13cfbd3f92c206d5deb2',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5frecover_5fsignature',['BLS_BLS48_RECOVER_SIGNATURE',['../bls256__BLS48_8h.html#a8618134ddcf63d134af292852734ff24',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5fsign',['BLS_BLS48_SIGN',['../bls256__BLS48_8h.html#a7ac05c21fd4050a821b151ccfca038db',1,'bls256_BLS48.c']]],
+  ['bls_5fbls48_5fverify',['BLS_BLS48_VERIFY',['../bls256__BLS48_8h.html#a662d6fc737881dfeb9b4df7508d67c25',1,'bls256_BLS48.c']]],
   ['bls_5fbn254_5fadd_5fg1',['BLS_BN254_ADD_G1',['../bls__BN254_8h.html#a2f14c4eea0585a79cc353b7a718f16a0',1,'bls_BN254.c']]],
   ['bls_5fbn254_5fadd_5fg2',['BLS_BN254_ADD_G2',['../bls__BN254_8h.html#a1d3d52cb10930fd4ea541d39ac29c4e2',1,'bls_BN254.c']]],
   ['bls_5fbn254_5fkey_5fpair_5fgenerate',['BLS_BN254_KEY_PAIR_GENERATE',['../bls__BN254_8h.html#ae3c46fdd8b37de562e16e5f765067036',1,'bls_BN254.c']]],
-  ['bls_5fbn254_5fsign',['BLS_BN254_SIGN',['../bls__BN254_8h.html#a90c9bc4b90f94913cd18c6e98e021ee0',1,'bls_BN254.c']]],
-  ['bls_5fbn254_5fverify',['BLS_BN254_VERIFY',['../bls__BN254_8h.html#a83112996c1c147a42a23ffb186924017',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5fmake_5fshares',['BLS_BN254_MAKE_SHARES',['../bls__BN254_8h.html#a857a1e998e2aa2f954899e8e179bf1dd',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5frecover_5fsecret',['BLS_BN254_RECOVER_SECRET',['../bls__BN254_8h.html#a7f1095cf77f84b79dd6d9db2c6df2022',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5frecover_5fsignature',['BLS_BN254_RECOVER_SIGNATURE',['../bls__BN254_8h.html#a77a7b86612258446419fa1bc592ab397',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5fsign',['BLS_BN254_SIGN',['../bls__BN254_8h.html#a5ae7e925844eb58dc8ad104d18e92bb9',1,'bls_BN254.c']]],
+  ['bls_5fbn254_5fverify',['BLS_BN254_VERIFY',['../bls__BN254_8h.html#a5f94d1fc3631280015e93174db72ed5c',1,'bls_BN254.c']]],
   ['bls_5fbn254cx_5fadd_5fg1',['BLS_BN254CX_ADD_G1',['../bls__BN254CX_8h.html#a75bb875e70f563f873113c27fed70dfa',1,'bls_BN254CX.c']]],
   ['bls_5fbn254cx_5fadd_5fg2',['BLS_BN254CX_ADD_G2',['../bls__BN254CX_8h.html#a3bad477dfc0f80e8cd00e79043b380bb',1,'bls_BN254CX.c']]],
   ['bls_5fbn254cx_5fkey_5fpair_5fgenerate',['BLS_BN254CX_KEY_PAIR_GENERATE',['../bls__BN254CX_8h.html#a2e3bba1773965c4f747175836de73550',1,'bls_BN254CX.c']]],
-  ['bls_5fbn254cx_5fsign',['BLS_BN254CX_SIGN',['../bls__BN254CX_8h.html#a20fe77510d7a7f34e8dfd3af5c76268f',1,'bls_BN254CX.c']]],
-  ['bls_5fbn254cx_5fverify',['BLS_BN254CX_VERIFY',['../bls__BN254CX_8h.html#a065771e3dfd48c41e4f0ace41e681b10',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5fmake_5fshares',['BLS_BN254CX_MAKE_SHARES',['../bls__BN254CX_8h.html#ab01f2391b3c23a4ec79aa914a3b00ea7',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5frecover_5fsecret',['BLS_BN254CX_RECOVER_SECRET',['../bls__BN254CX_8h.html#aea2c4835b491f15c6c38b0df28d14f78',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5frecover_5fsignature',['BLS_BN254CX_RECOVER_SIGNATURE',['../bls__BN254CX_8h.html#a262941837cc3ec8684df0f76b444e889',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5fsign',['BLS_BN254CX_SIGN',['../bls__BN254CX_8h.html#ac91525b2c002ad84207893f83b4dc9f5',1,'bls_BN254CX.c']]],
+  ['bls_5fbn254cx_5fverify',['BLS_BN254CX_VERIFY',['../bls__BN254CX_8h.html#a4f13dc21fe15bb4adf4b09fb6a53e6a4',1,'bls_BN254CX.c']]],
   ['bls_5ffp256bn_5fadd_5fg1',['BLS_FP256BN_ADD_G1',['../bls__FP256BN_8h.html#ae8f3b2de57d1efac4316b12ecdf01b25',1,'bls_FP256BN.c']]],
   ['bls_5ffp256bn_5fadd_5fg2',['BLS_FP256BN_ADD_G2',['../bls__FP256BN_8h.html#ad6fc669699a7b0b7062ed875935a7557',1,'bls_FP256BN.c']]],
   ['bls_5ffp256bn_5fkey_5fpair_5fgenerate',['BLS_FP256BN_KEY_PAIR_GENERATE',['../bls__FP256BN_8h.html#afab15066d52f8c147d427bf0a545be9b',1,'bls_FP256BN.c']]],
-  ['bls_5ffp256bn_5fsign',['BLS_FP256BN_SIGN',['../bls__FP256BN_8h.html#ab167e8dc6d1b1668ee44fa54efe86bef',1,'bls_FP256BN.c']]],
-  ['bls_5ffp256bn_5fverify',['BLS_FP256BN_VERIFY',['../bls__FP256BN_8h.html#a2300b3e097d13ca6e1ca892a7a0cf915',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5fmake_5fshares',['BLS_FP256BN_MAKE_SHARES',['../bls__FP256BN_8h.html#afced5cbbbea572cca508d05a4768f4c0',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5frecover_5fsecret',['BLS_FP256BN_RECOVER_SECRET',['../bls__FP256BN_8h.html#a00cbfe56ea644ef49521f6bf373abece',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5frecover_5fsignature',['BLS_FP256BN_RECOVER_SIGNATURE',['../bls__FP256BN_8h.html#a3024cba5ceccc917fc418c0b7c1fd254',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5fsign',['BLS_FP256BN_SIGN',['../bls__FP256BN_8h.html#aacd18a137b7a4e8d896e27110e35e860',1,'bls_FP256BN.c']]],
+  ['bls_5ffp256bn_5fverify',['BLS_FP256BN_VERIFY',['../bls__FP256BN_8h.html#a416aff4d03e90525a060cef3f4fd6205',1,'bls_FP256BN.c']]],
   ['bls_5ffp512bn_5fadd_5fg1',['BLS_FP512BN_ADD_G1',['../bls__FP512BN_8h.html#ae1282826513af0a50e0329ce2e4f324b',1,'bls_FP512BN.c']]],
   ['bls_5ffp512bn_5fadd_5fg2',['BLS_FP512BN_ADD_G2',['../bls__FP512BN_8h.html#a00334d128b1624dfa9faf0cdf2af10aa',1,'bls_FP512BN.c']]],
   ['bls_5ffp512bn_5fkey_5fpair_5fgenerate',['BLS_FP512BN_KEY_PAIR_GENERATE',['../bls__FP512BN_8h.html#aa9c6b7265f160b9fd26723f97aa7019f',1,'bls_FP512BN.c']]],
-  ['bls_5ffp512bn_5fsign',['BLS_FP512BN_SIGN',['../bls__FP512BN_8h.html#a70a9409a4dda70cd0faa70bd7ed30736',1,'bls_FP512BN.c']]],
-  ['bls_5ffp512bn_5fverify',['BLS_FP512BN_VERIFY',['../bls__FP512BN_8h.html#a87569f97a06acc6099f197ac27ebe282',1,'bls_FP512BN.c']]]
+  ['bls_5ffp512bn_5fmake_5fshares',['BLS_FP512BN_MAKE_SHARES',['../bls__FP512BN_8h.html#a34530e73aa5cd3d73fb754e772ec4b83',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5frecover_5fsecret',['BLS_FP512BN_RECOVER_SECRET',['../bls__FP512BN_8h.html#af663f54403701b715327c89ce544deb5',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5frecover_5fsignature',['BLS_FP512BN_RECOVER_SIGNATURE',['../bls__FP512BN_8h.html#a34a54a52bcc58ff877a99c6ffbaa7eb4',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5fsign',['BLS_FP512BN_SIGN',['../bls__FP512BN_8h.html#abdda5f944531d63ab88279023f662a8f',1,'bls_FP512BN.c']]],
+  ['bls_5ffp512bn_5fverify',['BLS_FP512BN_VERIFY',['../bls__FP512BN_8h.html#a526a83b52379b9a84aa14e95ea710ca0',1,'bls_FP512BN.c']]]
 ];
diff --git a/website/static/cdocs/search/functions_2.html b/website/static/cdocs/search/functions_2.html
index 2b44474..ecce2f3 100644
--- a/website/static/cdocs/search/functions_2.html
+++ b/website/static/cdocs/search/functions_2.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_3.html b/website/static/cdocs/search/functions_3.html
index 3dca367..15f06ab 100644
--- a/website/static/cdocs/search/functions_3.html
+++ b/website/static/cdocs/search/functions_3.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_4.html b/website/static/cdocs/search/functions_4.html
index e713f28..8985ff2 100644
--- a/website/static/cdocs/search/functions_4.html
+++ b/website/static/cdocs/search/functions_4.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_4.js b/website/static/cdocs/search/functions_4.js
index 65d1fa7..0ed2e3e 100644
--- a/website/static/cdocs/search/functions_4.js
+++ b/website/static/cdocs/search/functions_4.js
@@ -4,31 +4,34 @@
   ['ff_5f2048_5fcfactor',['FF_2048_cfactor',['../ff__2048_8h.html#a261bad7b5b39fd6eb3d98e3c9ae292de',1,'ff_2048.h']]],
   ['ff_5f2048_5fcomp',['FF_2048_comp',['../ff__2048_8h.html#a7375ad720811c0f9678492ea4da08549',1,'ff_2048.h']]],
   ['ff_5f2048_5fcopy',['FF_2048_copy',['../ff__2048_8h.html#a100f16a442d30fae06c81b5071fbc9e6',1,'ff_2048.h']]],
+  ['ff_5f2048_5fcrt',['FF_2048_crt',['../ff__2048_8h.html#af06da89f60cc5dd4f4944aab876e9721',1,'ff_2048.c']]],
   ['ff_5f2048_5fdec',['FF_2048_dec',['../ff__2048_8h.html#a08c90508ecc6c2229143ec0de481888f',1,'ff_2048.h']]],
   ['ff_5f2048_5fdmod',['FF_2048_dmod',['../ff__2048_8h.html#a8b287a310c335b1e3a8693381d112eaf',1,'ff_2048.h']]],
   ['ff_5f2048_5ffromoctet',['FF_2048_fromOctet',['../ff__2048_8h.html#acf36351fa465903335db78c4d1539fc6',1,'ff_2048.h']]],
   ['ff_5f2048_5finc',['FF_2048_inc',['../ff__2048_8h.html#a45a6fb55cb8695885e92427b95d93b0f',1,'ff_2048.h']]],
   ['ff_5f2048_5finit',['FF_2048_init',['../ff__2048_8h.html#acc12c9e475768bc1a9960aa51903ffd3',1,'ff_2048.h']]],
+  ['ff_5f2048_5finvmod2m',['FF_2048_invmod2m',['../ff__2048_8h.html#aeb5d9d16c4bbfe021b76690a198df7ed',1,'ff_2048.c']]],
   ['ff_5f2048_5finvmodp',['FF_2048_invmodp',['../ff__2048_8h.html#aa4e3c92baa3179198a3cdefc5b61eac9',1,'ff_2048.h']]],
   ['ff_5f2048_5fiszilch',['FF_2048_iszilch',['../ff__2048_8h.html#ab79fd4f6686b2fe714c3d33f20f4c48a',1,'ff_2048.h']]],
   ['ff_5f2048_5flastbits',['FF_2048_lastbits',['../ff__2048_8h.html#a5e75fed78290b43d0b440031b12ebf89',1,'ff_2048.h']]],
-  ['ff_5f2048_5fmod',['FF_2048_mod',['../ff__2048_8h.html#a7ed651a772be1e7c644d4153e67574f3',1,'ff_2048.h']]],
+  ['ff_5f2048_5fmod',['FF_2048_mod',['../ff__2048_8h.html#afbae12c8d55508641cbdbda870bb9d05',1,'ff_2048.h']]],
   ['ff_5f2048_5fmul',['FF_2048_mul',['../ff__2048_8h.html#ac5970b0360b38a0c3bde877abac7fe90',1,'ff_2048.h']]],
   ['ff_5f2048_5fnorm',['FF_2048_norm',['../ff__2048_8h.html#a84c276a9cb2fb6b8c88677c8a5241174',1,'ff_2048.h']]],
   ['ff_5f2048_5fone',['FF_2048_one',['../ff__2048_8h.html#af59e05d4afd7575e07300199a60a1484',1,'ff_2048.h']]],
   ['ff_5f2048_5foutput',['FF_2048_output',['../ff__2048_8h.html#a8011729411cf198d0a19a0a1ffa17ae1',1,'ff_2048.h']]],
   ['ff_5f2048_5fparity',['FF_2048_parity',['../ff__2048_8h.html#a0445b77f49dbfb68babf95a6cd2ecbea',1,'ff_2048.h']]],
-  ['ff_5f2048_5fpow',['FF_2048_pow',['../ff__2048_8h.html#a7764e294274140465a4676717677f6b6',1,'ff_2048.h']]],
+  ['ff_5f2048_5fpow',['FF_2048_pow',['../ff__2048_8h.html#a57054f9061450cba4235fbc6b03e8bb9',1,'ff_2048.h']]],
   ['ff_5f2048_5fpow2',['FF_2048_pow2',['../ff__2048_8h.html#ace63d2e10c65cb9446e496d4355bf3be',1,'ff_2048.h']]],
-  ['ff_5f2048_5fpower',['FF_2048_power',['../ff__2048_8h.html#a8b87d4ad585cbfaaeadca3d586ffb05a',1,'ff_2048.h']]],
+  ['ff_5f2048_5fpower',['FF_2048_power',['../ff__2048_8h.html#a0bd5964bb4460e0a10949500b58ac472',1,'ff_2048.h']]],
   ['ff_5f2048_5fprime',['FF_2048_prime',['../ff__2048_8h.html#a9ede4163e174ca5564b724d5d50c3242',1,'ff_2048.h']]],
   ['ff_5f2048_5frandom',['FF_2048_random',['../ff__2048_8h.html#abda74d9b71138e17a7fbe7086426c3e7',1,'ff_2048.h']]],
   ['ff_5f2048_5frandomnum',['FF_2048_randomnum',['../ff__2048_8h.html#a7cfdc4c363575059d802b91713b03737',1,'ff_2048.h']]],
   ['ff_5f2048_5frawoutput',['FF_2048_rawoutput',['../ff__2048_8h.html#a0fa3a98953b3f941c4a1d77811c663da',1,'ff_2048.h']]],
   ['ff_5f2048_5fshl',['FF_2048_shl',['../ff__2048_8h.html#a175d8db0f1789c940961189bb00dc009',1,'ff_2048.h']]],
   ['ff_5f2048_5fshr',['FF_2048_shr',['../ff__2048_8h.html#a85f56b1a48a3867295e4af39275ca836',1,'ff_2048.h']]],
-  ['ff_5f2048_5fskpow',['FF_2048_skpow',['../ff__2048_8h.html#a2789a44182bc8d1fb91fd048a23361b9',1,'ff_2048.h']]],
-  ['ff_5f2048_5fskspow',['FF_2048_skspow',['../ff__2048_8h.html#acadc23a6f6c053b971d7afaf121d7196',1,'ff_2048.h']]],
+  ['ff_5f2048_5fskpow',['FF_2048_skpow',['../ff__2048_8h.html#ab736578e7b655b60101325b7d0e79065',1,'ff_2048.h']]],
+  ['ff_5f2048_5fskpow2',['FF_2048_skpow2',['../ff__2048_8h.html#a0b3e4f7ee1099043241031cd8426a23b',1,'ff_2048.h']]],
+  ['ff_5f2048_5fskspow',['FF_2048_skspow',['../ff__2048_8h.html#ab3081cf68191fa919f374993a02c5014',1,'ff_2048.h']]],
   ['ff_5f2048_5fsqr',['FF_2048_sqr',['../ff__2048_8h.html#a2ba04edfe1eb1b4e925598bebf135b8f',1,'ff_2048.h']]],
   ['ff_5f2048_5fsub',['FF_2048_sub',['../ff__2048_8h.html#aebafa634bb7c45532f0cc30b005fece7',1,'ff_2048.h']]],
   ['ff_5f2048_5ftooctet',['FF_2048_toOctet',['../ff__2048_8h.html#a7cea17d94848af54dc71659f4aa78121',1,'ff_2048.h']]],
@@ -37,31 +40,34 @@
   ['ff_5f3072_5fcfactor',['FF_3072_cfactor',['../ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788',1,'ff_3072.h']]],
   ['ff_5f3072_5fcomp',['FF_3072_comp',['../ff__3072_8h.html#aeb6d92db5f6702a1661f91c64589a00c',1,'ff_3072.h']]],
   ['ff_5f3072_5fcopy',['FF_3072_copy',['../ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1',1,'ff_3072.h']]],
+  ['ff_5f3072_5fcrt',['FF_3072_crt',['../ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea',1,'ff_3072.c']]],
   ['ff_5f3072_5fdec',['FF_3072_dec',['../ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab',1,'ff_3072.h']]],
   ['ff_5f3072_5fdmod',['FF_3072_dmod',['../ff__3072_8h.html#a7cc5b1e476a2ec468fe2534cf64b3b70',1,'ff_3072.h']]],
   ['ff_5f3072_5ffromoctet',['FF_3072_fromOctet',['../ff__3072_8h.html#a99e5ad673622637c7cabdf014b9eb23d',1,'ff_3072.h']]],
   ['ff_5f3072_5finc',['FF_3072_inc',['../ff__3072_8h.html#a6dc03139ccfabea9f051a2dffb2b23ec',1,'ff_3072.h']]],
   ['ff_5f3072_5finit',['FF_3072_init',['../ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88',1,'ff_3072.h']]],
+  ['ff_5f3072_5finvmod2m',['FF_3072_invmod2m',['../ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a',1,'ff_3072.c']]],
   ['ff_5f3072_5finvmodp',['FF_3072_invmodp',['../ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d',1,'ff_3072.h']]],
   ['ff_5f3072_5fiszilch',['FF_3072_iszilch',['../ff__3072_8h.html#a23ea956e002fe10e959129bbff836a88',1,'ff_3072.h']]],
   ['ff_5f3072_5flastbits',['FF_3072_lastbits',['../ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5',1,'ff_3072.h']]],
-  ['ff_5f3072_5fmod',['FF_3072_mod',['../ff__3072_8h.html#af06a6739f1c0bb51f0cd9781b8ef1792',1,'ff_3072.h']]],
+  ['ff_5f3072_5fmod',['FF_3072_mod',['../ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852',1,'ff_3072.h']]],
   ['ff_5f3072_5fmul',['FF_3072_mul',['../ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170',1,'ff_3072.h']]],
   ['ff_5f3072_5fnorm',['FF_3072_norm',['../ff__3072_8h.html#adbfb492cd0974a31a764877f4e29e902',1,'ff_3072.h']]],
   ['ff_5f3072_5fone',['FF_3072_one',['../ff__3072_8h.html#aeab149437c42eba4a31601170db373e4',1,'ff_3072.h']]],
   ['ff_5f3072_5foutput',['FF_3072_output',['../ff__3072_8h.html#af20dedd4fc082097038482e3dfda6c32',1,'ff_3072.h']]],
   ['ff_5f3072_5fparity',['FF_3072_parity',['../ff__3072_8h.html#a134652d691699256b947e50877b61cf9',1,'ff_3072.h']]],
-  ['ff_5f3072_5fpow',['FF_3072_pow',['../ff__3072_8h.html#a6b7a3bbd385227b9c4292babb0ab6469',1,'ff_3072.h']]],
+  ['ff_5f3072_5fpow',['FF_3072_pow',['../ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b',1,'ff_3072.h']]],
   ['ff_5f3072_5fpow2',['FF_3072_pow2',['../ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd',1,'ff_3072.h']]],
-  ['ff_5f3072_5fpower',['FF_3072_power',['../ff__3072_8h.html#af854663f5413b0a941c83fe19a06d506',1,'ff_3072.h']]],
+  ['ff_5f3072_5fpower',['FF_3072_power',['../ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91',1,'ff_3072.h']]],
   ['ff_5f3072_5fprime',['FF_3072_prime',['../ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb',1,'ff_3072.h']]],
   ['ff_5f3072_5frandom',['FF_3072_random',['../ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7',1,'ff_3072.h']]],
   ['ff_5f3072_5frandomnum',['FF_3072_randomnum',['../ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f',1,'ff_3072.h']]],
   ['ff_5f3072_5frawoutput',['FF_3072_rawoutput',['../ff__3072_8h.html#a59b49a04db64211550a0cd8b81b1a286',1,'ff_3072.h']]],
   ['ff_5f3072_5fshl',['FF_3072_shl',['../ff__3072_8h.html#a0f260e780e072e4a9a04b711890ffc97',1,'ff_3072.h']]],
   ['ff_5f3072_5fshr',['FF_3072_shr',['../ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b',1,'ff_3072.h']]],
-  ['ff_5f3072_5fskpow',['FF_3072_skpow',['../ff__3072_8h.html#a1998c3c4c38a3f46997b1243b53b4481',1,'ff_3072.h']]],
-  ['ff_5f3072_5fskspow',['FF_3072_skspow',['../ff__3072_8h.html#a381608fd407d688c2387f8597916f3ac',1,'ff_3072.h']]],
+  ['ff_5f3072_5fskpow',['FF_3072_skpow',['../ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa',1,'ff_3072.h']]],
+  ['ff_5f3072_5fskpow2',['FF_3072_skpow2',['../ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe',1,'ff_3072.h']]],
+  ['ff_5f3072_5fskspow',['FF_3072_skspow',['../ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c',1,'ff_3072.h']]],
   ['ff_5f3072_5fsqr',['FF_3072_sqr',['../ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30',1,'ff_3072.h']]],
   ['ff_5f3072_5fsub',['FF_3072_sub',['../ff__3072_8h.html#a90a27832117acd51620f205cd0a7fd66',1,'ff_3072.h']]],
   ['ff_5f3072_5ftooctet',['FF_3072_toOctet',['../ff__3072_8h.html#a072ac1dfb719d6cb4ade9bb45e7da60f',1,'ff_3072.h']]],
@@ -70,31 +76,34 @@
   ['ff_5f4096_5fcfactor',['FF_4096_cfactor',['../ff__4096_8h.html#a92c6e9c3e736e6ab4f0bffd91f6a78e5',1,'ff_4096.h']]],
   ['ff_5f4096_5fcomp',['FF_4096_comp',['../ff__4096_8h.html#a73d3c33052d89ca0dee0fb26c4fc2217',1,'ff_4096.h']]],
   ['ff_5f4096_5fcopy',['FF_4096_copy',['../ff__4096_8h.html#aa6620d609998d614af0cdbc5bb142fef',1,'ff_4096.h']]],
+  ['ff_5f4096_5fcrt',['FF_4096_crt',['../ff__4096_8h.html#a1a06ae9c3226295b796b318746e19e21',1,'ff_4096.c']]],
   ['ff_5f4096_5fdec',['FF_4096_dec',['../ff__4096_8h.html#a9ff126587d142afb94e2269279db66d0',1,'ff_4096.h']]],
   ['ff_5f4096_5fdmod',['FF_4096_dmod',['../ff__4096_8h.html#ad38c38a2d6c7117387bfe65f404ac903',1,'ff_4096.h']]],
   ['ff_5f4096_5ffromoctet',['FF_4096_fromOctet',['../ff__4096_8h.html#a3dd8e90c99742c0448834110713d0e8b',1,'ff_4096.h']]],
   ['ff_5f4096_5finc',['FF_4096_inc',['../ff__4096_8h.html#a04e75ee7ab59343fb307f1117770efae',1,'ff_4096.h']]],
   ['ff_5f4096_5finit',['FF_4096_init',['../ff__4096_8h.html#ab2bd58921dc13c16b318fadaaa426c86',1,'ff_4096.h']]],
+  ['ff_5f4096_5finvmod2m',['FF_4096_invmod2m',['../ff__4096_8h.html#ae25e81829ee9ee3718606b771c6bddbe',1,'ff_4096.c']]],
   ['ff_5f4096_5finvmodp',['FF_4096_invmodp',['../ff__4096_8h.html#a85aa8045e50bea317275eb33bc6a1195',1,'ff_4096.h']]],
   ['ff_5f4096_5fiszilch',['FF_4096_iszilch',['../ff__4096_8h.html#a612661860d5a10326a7d1d9bd9fc042a',1,'ff_4096.h']]],
   ['ff_5f4096_5flastbits',['FF_4096_lastbits',['../ff__4096_8h.html#a370584bba01616d2f9183f45a9843892',1,'ff_4096.h']]],
-  ['ff_5f4096_5fmod',['FF_4096_mod',['../ff__4096_8h.html#a178303ff977c30fc108db4e98723d740',1,'ff_4096.h']]],
+  ['ff_5f4096_5fmod',['FF_4096_mod',['../ff__4096_8h.html#a16098d5d71673da11edd1b112489e8d7',1,'ff_4096.h']]],
   ['ff_5f4096_5fmul',['FF_4096_mul',['../ff__4096_8h.html#a483766d396120e84c5f4962b3569e7c4',1,'ff_4096.h']]],
   ['ff_5f4096_5fnorm',['FF_4096_norm',['../ff__4096_8h.html#a44d26e71554c346b873fc9392b216bbe',1,'ff_4096.h']]],
   ['ff_5f4096_5fone',['FF_4096_one',['../ff__4096_8h.html#ab1b30b23b1045f3895b332de9c998cb9',1,'ff_4096.h']]],
   ['ff_5f4096_5foutput',['FF_4096_output',['../ff__4096_8h.html#ad08b440a6bd16506069fe9a5a3f81a6b',1,'ff_4096.h']]],
   ['ff_5f4096_5fparity',['FF_4096_parity',['../ff__4096_8h.html#a04c6775eb656571c7405a7c332204b73',1,'ff_4096.h']]],
-  ['ff_5f4096_5fpow',['FF_4096_pow',['../ff__4096_8h.html#a1db67329f43de1ad6e2b73d77e48451a',1,'ff_4096.h']]],
+  ['ff_5f4096_5fpow',['FF_4096_pow',['../ff__4096_8h.html#a86909027f6afe381756ee285d0140389',1,'ff_4096.h']]],
   ['ff_5f4096_5fpow2',['FF_4096_pow2',['../ff__4096_8h.html#a6b4764f34fb655cd9e0515a0f70dd20d',1,'ff_4096.h']]],
-  ['ff_5f4096_5fpower',['FF_4096_power',['../ff__4096_8h.html#ab3592fd9ab13f4f517b076529a0e5f98',1,'ff_4096.h']]],
+  ['ff_5f4096_5fpower',['FF_4096_power',['../ff__4096_8h.html#ad607a8113dfc06ba2748acf6889ad6e2',1,'ff_4096.h']]],
   ['ff_5f4096_5fprime',['FF_4096_prime',['../ff__4096_8h.html#a0eb6f00726cef964a7276fd573d301ba',1,'ff_4096.h']]],
   ['ff_5f4096_5frandom',['FF_4096_random',['../ff__4096_8h.html#ad3126be04cd16dc624d16a036ab40e0b',1,'ff_4096.h']]],
   ['ff_5f4096_5frandomnum',['FF_4096_randomnum',['../ff__4096_8h.html#ac7521d5b55e6ceb1ad5ff6dde3245f78',1,'ff_4096.h']]],
   ['ff_5f4096_5frawoutput',['FF_4096_rawoutput',['../ff__4096_8h.html#a1f089c038088d203953933028c17590c',1,'ff_4096.h']]],
   ['ff_5f4096_5fshl',['FF_4096_shl',['../ff__4096_8h.html#ab541ed2980cbc85257629b615e462180',1,'ff_4096.h']]],
   ['ff_5f4096_5fshr',['FF_4096_shr',['../ff__4096_8h.html#a2538dfeb3784df67640232f892bbec0c',1,'ff_4096.h']]],
-  ['ff_5f4096_5fskpow',['FF_4096_skpow',['../ff__4096_8h.html#a21e0d681199ce63714be3ed742c164d9',1,'ff_4096.h']]],
-  ['ff_5f4096_5fskspow',['FF_4096_skspow',['../ff__4096_8h.html#a6412d0214c61c25a6048e75eb76e5116',1,'ff_4096.h']]],
+  ['ff_5f4096_5fskpow',['FF_4096_skpow',['../ff__4096_8h.html#a94147045c8870761893c8be1ed1ac28f',1,'ff_4096.h']]],
+  ['ff_5f4096_5fskpow2',['FF_4096_skpow2',['../ff__4096_8h.html#a6105e5392c6eb1ccefad29fcf6249d09',1,'ff_4096.h']]],
+  ['ff_5f4096_5fskspow',['FF_4096_skspow',['../ff__4096_8h.html#a24cf9585b1c49a1ac674e0055ad41444',1,'ff_4096.h']]],
   ['ff_5f4096_5fsqr',['FF_4096_sqr',['../ff__4096_8h.html#af7fd11300d70bbe3f080656cd2a13b10',1,'ff_4096.h']]],
   ['ff_5f4096_5fsub',['FF_4096_sub',['../ff__4096_8h.html#a83e69edebd0e5bf47cdcca2ef66448b3',1,'ff_4096.h']]],
   ['ff_5f4096_5ftooctet',['FF_4096_toOctet',['../ff__4096_8h.html#affe535d1298125ecf39b6b19d3d5339c',1,'ff_4096.h']]],
diff --git a/website/static/cdocs/search/functions_5.html b/website/static/cdocs/search/functions_5.html
index cfe6b17..0314918 100644
--- a/website/static/cdocs/search/functions_5.html
+++ b/website/static/cdocs/search/functions_5.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_6.html b/website/static/cdocs/search/functions_6.html
index a78ec13..c506123 100644
--- a/website/static/cdocs/search/functions_6.html
+++ b/website/static/cdocs/search/functions_6.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_7.html b/website/static/cdocs/search/functions_7.html
index 7842361..83a7b84 100644
--- a/website/static/cdocs/search/functions_7.html
+++ b/website/static/cdocs/search/functions_7.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_8.html b/website/static/cdocs/search/functions_8.html
index 48feafe..b55f0e6 100644
--- a/website/static/cdocs/search/functions_8.html
+++ b/website/static/cdocs/search/functions_8.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_9.html b/website/static/cdocs/search/functions_9.html
index 0f05a8b..c73f07b 100644
--- a/website/static/cdocs/search/functions_9.html
+++ b/website/static/cdocs/search/functions_9.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_a.html b/website/static/cdocs/search/functions_a.html
index 03faad2..f10ad63 100644
--- a/website/static/cdocs/search/functions_a.html
+++ b/website/static/cdocs/search/functions_a.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_a.js b/website/static/cdocs/search/functions_a.js
index c29405c..ecb757f 100644
--- a/website/static/cdocs/search/functions_a.js
+++ b/website/static/cdocs/search/functions_a.js
@@ -1,5 +1,13 @@
 var searchData=
 [
+  ['paillier_5fadd',['PAILLIER_ADD',['../paillier_8h.html#ae7c14aa732c7296722ebee1a27b19a3f',1,'paillier.c']]],
+  ['paillier_5fdecrypt',['PAILLIER_DECRYPT',['../paillier_8h.html#afdfd329c0c2296587f4ad31b726c46a9',1,'paillier.c']]],
+  ['paillier_5fencrypt',['PAILLIER_ENCRYPT',['../paillier_8h.html#a637d7102d00ab63a898b34fb21c835d3',1,'paillier.c']]],
+  ['paillier_5fkey_5fpair',['PAILLIER_KEY_PAIR',['../paillier_8h.html#af2c7ba1d7f74ba21e17b54463a3bb7a8',1,'paillier.c']]],
+  ['paillier_5fmult',['PAILLIER_MULT',['../paillier_8h.html#a3efdaed7b02dacdf319966f253f26d40',1,'paillier.c']]],
+  ['paillier_5fpk_5ffromoctet',['PAILLIER_PK_fromOctet',['../paillier_8h.html#a8910d02efcaa97d176c90f2e20496d1a',1,'paillier.c']]],
+  ['paillier_5fpk_5ftooctet',['PAILLIER_PK_toOctet',['../paillier_8h.html#a7de192657d81c9a434ef9e17ead98c15',1,'paillier.c']]],
+  ['paillier_5fprivate_5fkey_5fkill',['PAILLIER_PRIVATE_KEY_KILL',['../paillier_8h.html#a4cf8d2d20dbdb35662bd000c42252ad9',1,'paillier.c']]],
   ['pair_5fbls381_5fanother',['PAIR_BLS381_another',['../pair__BLS381_8h.html#a8f9fc9a8acb5a52a063b657ca1ff5642',1,'pair_BLS381.c']]],
   ['pair_5fbls381_5fate',['PAIR_BLS381_ate',['../pair__BLS381_8h.html#aa3d950560e479b434ce3c0545e8936ee',1,'pair_BLS381.c']]],
   ['pair_5fbls381_5fdouble_5fate',['PAIR_BLS381_double_ate',['../pair__BLS381_8h.html#aaba8972448d80a300a888b78a7c84af6',1,'pair_BLS381.c']]],
diff --git a/website/static/cdocs/search/functions_b.html b/website/static/cdocs/search/functions_b.html
index c690013..172ea1b 100644
--- a/website/static/cdocs/search/functions_b.html
+++ b/website/static/cdocs/search/functions_b.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_c.html b/website/static/cdocs/search/functions_c.html
index 3b2976a..99492ba 100644
--- a/website/static/cdocs/search/functions_c.html
+++ b/website/static/cdocs/search/functions_c.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_d.html b/website/static/cdocs/search/functions_d.html
index 0c54246..5be9ecc 100644
--- a/website/static/cdocs/search/functions_d.html
+++ b/website/static/cdocs/search/functions_d.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/functions_e.html b/website/static/cdocs/search/functions_e.html
index c1bd870..e256cb6 100644
--- a/website/static/cdocs/search/functions_e.html
+++ b/website/static/cdocs/search/functions_e.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/mag_sel.png b/website/static/cdocs/search/mag_sel.png
index 39c0ed5..81f6040 100644
--- a/website/static/cdocs/search/mag_sel.png
+++ b/website/static/cdocs/search/mag_sel.png
Binary files differ
diff --git a/website/static/cdocs/search/nomatches.html b/website/static/cdocs/search/nomatches.html
index 4377320..b1ded27 100644
--- a/website/static/cdocs/search/nomatches.html
+++ b/website/static/cdocs/search/nomatches.html
@@ -1,4 +1,4 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
diff --git a/website/static/cdocs/search/pages_0.html b/website/static/cdocs/search/pages_0.html
index 3d06b05..4955b9e 100644
--- a/website/static/cdocs/search/pages_0.html
+++ b/website/static/cdocs/search/pages_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="pages_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/pages_1.html b/website/static/cdocs/search/pages_1.html
index 06f1e40..aedb14e 100644
--- a/website/static/cdocs/search/pages_1.html
+++ b/website/static/cdocs/search/pages_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="pages_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/pages_2.html b/website/static/cdocs/search/pages_2.html
index 703f781..bd91593 100644
--- a/website/static/cdocs/search/pages_2.html
+++ b/website/static/cdocs/search/pages_2.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="pages_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/pages_3.html b/website/static/cdocs/search/pages_3.html
index 299228a..bc0e37f 100644
--- a/website/static/cdocs/search/pages_3.html
+++ b/website/static/cdocs/search/pages_3.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="pages_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/search.js b/website/static/cdocs/search/search.js
index a554ab9..dedce3b 100644
--- a/website/static/cdocs/search/search.js
+++ b/website/static/cdocs/search/search.js
@@ -1,26 +1,3 @@
-/*
- @licstart  The following is the entire license notice for the
- JavaScript code in this file.
-
- Copyright (C) 1997-2017 by Dimitri van Heesch
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- @licend  The above is the entire license notice
- for the JavaScript code in this file
- */
 function convertToId(search)
 {
   var result = '';
@@ -811,4 +788,4 @@
   }
   searchBox.OnSelectItem(0);
 }
-/* @license-end */
+
diff --git a/website/static/cdocs/search/search_l.png b/website/static/cdocs/search/search_l.png
index fd5f7da..c872f4d 100644
--- a/website/static/cdocs/search/search_l.png
+++ b/website/static/cdocs/search/search_l.png
Binary files differ
diff --git a/website/static/cdocs/search/search_r.png b/website/static/cdocs/search/search_r.png
index 1af5d21..97ee8b4 100644
--- a/website/static/cdocs/search/search_r.png
+++ b/website/static/cdocs/search/search_r.png
Binary files differ
diff --git a/website/static/cdocs/search/typedefs_0.html b/website/static/cdocs/search/typedefs_0.html
index 3848b20..05722e1 100644
--- a/website/static/cdocs/search/typedefs_0.html
+++ b/website/static/cdocs/search/typedefs_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="typedefs_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/typedefs_0.js b/website/static/cdocs/search/typedefs_0.js
index 265a399..861f445 100644
--- a/website/static/cdocs/search/typedefs_0.js
+++ b/website/static/cdocs/search/typedefs_0.js
@@ -1,29 +1,16 @@
 var searchData=
 [
-  ['big_5f1024_5f28',['BIG_1024_28',['../big__1024__28_8h.html#a77f957795c4ef4ee62e89dd7cb45dd62',1,'big_1024_28.h']]],
   ['big_5f1024_5f58',['BIG_1024_58',['../big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691',1,'big_1024_58.h']]],
-  ['big_5f256_5f28',['BIG_256_28',['../big__256__28_8h.html#a441a2913ee6e6b8a3065843af84ea61b',1,'big_256_28.h']]],
-  ['big_5f256_5f29',['BIG_256_29',['../big__256__29_8h.html#a752b7e9ddbb1be663b24c192c7b40f18',1,'big_256_29.h']]],
   ['big_5f256_5f56',['BIG_256_56',['../big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244',1,'big_256_56.h']]],
-  ['big_5f336_5f29',['BIG_336_29',['../big__336__29_8h.html#a89edacff8a53658296ebf4e37a96beb1',1,'big_336_29.h']]],
   ['big_5f336_5f60',['BIG_336_60',['../big__336__60_8h.html#a43cd5984d14e5bce79a1dd36a17ec7e1',1,'big_336_60.h']]],
-  ['big_5f384_5f28',['BIG_384_28',['../big__384__28_8h.html#a16ee35f89cb5f1ddd2dd23ca3060b71e',1,'big_384_28.h']]],
-  ['big_5f384_5f29',['BIG_384_29',['../big__384__29_8h.html#a8c300cadd1a50e2f3a67f9ef2214944c',1,'big_384_29.h']]],
   ['big_5f384_5f56',['BIG_384_56',['../big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c',1,'big_384_56.h']]],
   ['big_5f384_5f58',['BIG_384_58',['../big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31',1,'big_384_58.h']]],
-  ['big_5f416_5f29',['BIG_416_29',['../big__416__29_8h.html#a43215c263089f63fa98abfa64ed93b62',1,'big_416_29.h']]],
   ['big_5f416_5f60',['BIG_416_60',['../big__416__60_8h.html#a44dd6638775981360035b72d63fa739b',1,'big_416_60.h']]],
-  ['big_5f448_5f29',['BIG_448_29',['../big__448__29_8h.html#a8829af39424249e4cf31d92fe3418761',1,'big_448_29.h']]],
   ['big_5f448_5f58',['BIG_448_58',['../big__448__58_8h.html#a0ff733902d2a77fd164b5e6f7917da0e',1,'big_448_58.h']]],
-  ['big_5f464_5f28',['BIG_464_28',['../big__464__28_8h.html#a7da2d74ba839c3d0062cd946479ea1a6',1,'big_464_28.h']]],
   ['big_5f464_5f60',['BIG_464_60',['../big__464__60_8h.html#a170cff556211f14df9c4ad2ad753dc93',1,'big_464_60.h']]],
-  ['big_5f480_5f29',['BIG_480_29',['../big__480__29_8h.html#a1296c1f386f240926378918f5a06a4ff',1,'big_480_29.h']]],
   ['big_5f480_5f56',['BIG_480_56',['../big__480__56_8h.html#a5bf780014d489361cffeb4dd5a89fcba',1,'big_480_56.h']]],
-  ['big_5f512_5f29',['BIG_512_29',['../big__512__29_8h.html#aa158f4654aade263ca6b586723e4a8f2',1,'big_512_29.h']]],
   ['big_5f512_5f56',['BIG_512_56',['../big__512__56_8h.html#ab11601a54bdce84587a8c0667fbd0e9c',1,'big_512_56.h']]],
   ['big_5f512_5f60',['BIG_512_60',['../big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7',1,'big_512_60.h']]],
-  ['big_5f528_5f28',['BIG_528_28',['../big__528__28_8h.html#a619606adb161746fcbb4d51d55a5cd1e',1,'big_528_28.h']]],
   ['big_5f528_5f60',['BIG_528_60',['../big__528__60_8h.html#a8354e859d13f81a1282d413ad9a00f45',1,'big_528_60.h']]],
-  ['big_5f560_5f29',['BIG_560_29',['../big__560__29_8h.html#aec67ad7ff5a92e798e5f90f381c6d795',1,'big_560_29.h']]],
   ['big_5f560_5f58',['BIG_560_58',['../big__560__58_8h.html#a6149450df1017dc5c4ef9e54fad78b30',1,'big_560_58.h']]]
 ];
diff --git a/website/static/cdocs/search/typedefs_1.html b/website/static/cdocs/search/typedefs_1.html
index c8a0268..b77c533 100644
--- a/website/static/cdocs/search/typedefs_1.html
+++ b/website/static/cdocs/search/typedefs_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="typedefs_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/typedefs_1.js b/website/static/cdocs/search/typedefs_1.js
index bf5ee67..0c270db 100644
--- a/website/static/cdocs/search/typedefs_1.js
+++ b/website/static/cdocs/search/typedefs_1.js
@@ -1,29 +1,16 @@
 var searchData=
 [
-  ['dbig_5f1024_5f28',['DBIG_1024_28',['../big__1024__28_8h.html#a5eb955f7af3647f964de7cddf9cd5647',1,'big_1024_28.h']]],
   ['dbig_5f1024_5f58',['DBIG_1024_58',['../big__1024__58_8h.html#a551e2dc2ad671ee5baaed8d60b112027',1,'big_1024_58.h']]],
-  ['dbig_5f256_5f28',['DBIG_256_28',['../big__256__28_8h.html#ab24e6de2b7e5d7d78b1bac14b13768be',1,'big_256_28.h']]],
-  ['dbig_5f256_5f29',['DBIG_256_29',['../big__256__29_8h.html#a01ec52b32e54946975e531e4f1356884',1,'big_256_29.h']]],
   ['dbig_5f256_5f56',['DBIG_256_56',['../big__256__56_8h.html#a6183570cd770f0ce6be0d94a42ee465a',1,'big_256_56.h']]],
-  ['dbig_5f336_5f29',['DBIG_336_29',['../big__336__29_8h.html#a16a4d062e83884ebcc64eb5f802809c9',1,'big_336_29.h']]],
   ['dbig_5f336_5f60',['DBIG_336_60',['../big__336__60_8h.html#a70c432ae6e91b20f991bec94badb11d6',1,'big_336_60.h']]],
-  ['dbig_5f384_5f28',['DBIG_384_28',['../big__384__28_8h.html#aee6f1279d5b892bfe71c18395de4c91b',1,'big_384_28.h']]],
-  ['dbig_5f384_5f29',['DBIG_384_29',['../big__384__29_8h.html#aef1a1a590bb80b9d666d508e97dc2aa8',1,'big_384_29.h']]],
   ['dbig_5f384_5f56',['DBIG_384_56',['../big__384__56_8h.html#a6c518f0c183c5deeb8cf6f8245d0d40c',1,'big_384_56.h']]],
   ['dbig_5f384_5f58',['DBIG_384_58',['../big__384__58_8h.html#ab914db55caa046b50795e836a4a052ea',1,'big_384_58.h']]],
-  ['dbig_5f416_5f29',['DBIG_416_29',['../big__416__29_8h.html#a43fef2562a328eff51d535c40f5e83b0',1,'big_416_29.h']]],
   ['dbig_5f416_5f60',['DBIG_416_60',['../big__416__60_8h.html#a5dc14d80e14a231cc3abf83d6bf47ab2',1,'big_416_60.h']]],
-  ['dbig_5f448_5f29',['DBIG_448_29',['../big__448__29_8h.html#ae467a9ad26bf9a2dd01c191d5bef6dc7',1,'big_448_29.h']]],
   ['dbig_5f448_5f58',['DBIG_448_58',['../big__448__58_8h.html#a140b718636a1e8195708da4da45e9f32',1,'big_448_58.h']]],
-  ['dbig_5f464_5f28',['DBIG_464_28',['../big__464__28_8h.html#a484b0100ae7df8a46d45d07410ac7172',1,'big_464_28.h']]],
   ['dbig_5f464_5f60',['DBIG_464_60',['../big__464__60_8h.html#a481adc539e2fcd4ef328bc0a4d3a4b74',1,'big_464_60.h']]],
-  ['dbig_5f480_5f29',['DBIG_480_29',['../big__480__29_8h.html#a3debe7b218575b1e6ffdc9a67c900410',1,'big_480_29.h']]],
   ['dbig_5f480_5f56',['DBIG_480_56',['../big__480__56_8h.html#a0431a818206f629e340731bd19e6c948',1,'big_480_56.h']]],
-  ['dbig_5f512_5f29',['DBIG_512_29',['../big__512__29_8h.html#a3efad5f4e604a43d3ef080510b6cbc1d',1,'big_512_29.h']]],
   ['dbig_5f512_5f56',['DBIG_512_56',['../big__512__56_8h.html#a34d978f8cc3ea578d6f00eaa0329de11',1,'big_512_56.h']]],
   ['dbig_5f512_5f60',['DBIG_512_60',['../big__512__60_8h.html#ada98ab694a80a60b255a448e21ec3906',1,'big_512_60.h']]],
-  ['dbig_5f528_5f28',['DBIG_528_28',['../big__528__28_8h.html#ac1ffd0faa58216991ca472333e1e209e',1,'big_528_28.h']]],
   ['dbig_5f528_5f60',['DBIG_528_60',['../big__528__60_8h.html#a098a5686344d9db2f135c845fc9c83c0',1,'big_528_60.h']]],
-  ['dbig_5f560_5f29',['DBIG_560_29',['../big__560__29_8h.html#a7818af0d01e6ace9d78004cdd85e2959',1,'big_560_29.h']]],
   ['dbig_5f560_5f58',['DBIG_560_58',['../big__560__58_8h.html#aa190c896863df8c0bfbe5b7421ed94f2',1,'big_560_58.h']]]
 ];
diff --git a/website/static/cdocs/search/variables_0.html b/website/static/cdocs/search/variables_0.html
index 12104bc..74ce807 100644
--- a/website/static/cdocs/search/variables_0.html
+++ b/website/static/cdocs/search/variables_0.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_1.html b/website/static/cdocs/search/variables_1.html
index b784017..84237b6 100644
--- a/website/static/cdocs/search/variables_1.html
+++ b/website/static/cdocs/search/variables_1.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_10.html b/website/static/cdocs/search/variables_10.html
index 308afd5..548ac84 100644
--- a/website/static/cdocs/search/variables_10.html
+++ b/website/static/cdocs/search/variables_10.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_10.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_11.html b/website/static/cdocs/search/variables_11.html
index c276827..d5be914 100644
--- a/website/static/cdocs/search/variables_11.html
+++ b/website/static/cdocs/search/variables_11.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_11.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_12.html b/website/static/cdocs/search/variables_12.html
index bad4c79..b62e1ee 100644
--- a/website/static/cdocs/search/variables_12.html
+++ b/website/static/cdocs/search/variables_12.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_12.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_13.html b/website/static/cdocs/search/variables_13.html
index ef6d36c..15437be 100644
--- a/website/static/cdocs/search/variables_13.html
+++ b/website/static/cdocs/search/variables_13.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_13.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_14.html b/website/static/cdocs/search/variables_14.html
index 305ea53..3745fec 100644
--- a/website/static/cdocs/search/variables_14.html
+++ b/website/static/cdocs/search/variables_14.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_14.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_15.html b/website/static/cdocs/search/variables_15.html
index 8c9bf77..7432fd7 100644
--- a/website/static/cdocs/search/variables_15.html
+++ b/website/static/cdocs/search/variables_15.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_15.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_2.html b/website/static/cdocs/search/variables_2.html
index 0cb98d3..5c9de1a 100644
--- a/website/static/cdocs/search/variables_2.html
+++ b/website/static/cdocs/search/variables_2.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_3.html b/website/static/cdocs/search/variables_3.html
index 1e83bf5..f95e34c 100644
--- a/website/static/cdocs/search/variables_3.html
+++ b/website/static/cdocs/search/variables_3.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_4.html b/website/static/cdocs/search/variables_4.html
index 39883bd..d7db285 100644
--- a/website/static/cdocs/search/variables_4.html
+++ b/website/static/cdocs/search/variables_4.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_5.html b/website/static/cdocs/search/variables_5.html
index f25879c..7bbceeb 100644
--- a/website/static/cdocs/search/variables_5.html
+++ b/website/static/cdocs/search/variables_5.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_6.html b/website/static/cdocs/search/variables_6.html
index 0fcd6c2..4eb162d 100644
--- a/website/static/cdocs/search/variables_6.html
+++ b/website/static/cdocs/search/variables_6.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_6.js b/website/static/cdocs/search/variables_6.js
index 3c93b22..a432397 100644
--- a/website/static/cdocs/search/variables_6.js
+++ b/website/static/cdocs/search/variables_6.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['g',['g',['../structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1',1,'FP_25519::g()'],['../structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6',1,'FP_256PME::g()'],['../structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd',1,'FP_256PMW::g()'],['../structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e',1,'FP_384PM::g()'],['../structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8',1,'FP_512PM::g()'],['../structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50',1,'FP_ANSSI::g()'],['../structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a',1,'FP_BLS24::g()'],['../structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4',1,'FP_BLS381::g()'],['../structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e',1,'FP_BLS383::g()'],['../structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b',1,'FP_BLS461::g()'],['../structFP__BLS48.html#aaee07f25142de4ccf00433f731576977',1,'FP_BLS48::g()'],['../structFP__BN254.html#a129ff2f489c492d0ee022189155c0532',1,'FP_BN254::g()'],['../structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2',1,'FP_BN254CX::g()'],['../structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959',1,'FP_BRAINPOOL::g()'],['../structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc',1,'FP_C41417::g()'],['../structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16',1,'FP_FP256BN::g()'],['../structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333',1,'FP_FP512BN::g()'],['../structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f',1,'FP_GOLDILOCKS::g()'],['../structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d',1,'FP_HIFIVE::g()'],['../structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d',1,'FP_NIST256::g()'],['../structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d',1,'FP_NIST384::g()'],['../structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d',1,'FP_NIST521::g()'],['../structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84',1,'FP_SECP256K1::g()']]]
+  ['g',['g',['../structPAILLIER__public__key.html#a4e46a0e4c68e944801e372d31e7b24c4',1,'PAILLIER_public_key::g()'],['../structFP__25519.html#a8e71ac02a5868bd389dc1aa9364656f1',1,'FP_25519::g()'],['../structFP__256PME.html#a035ca7c93c353953f7086ea997a7c9d6',1,'FP_256PME::g()'],['../structFP__256PMW.html#a7de179bbbfbda3b875d92c86d62497cd',1,'FP_256PMW::g()'],['../structFP__384PM.html#ae806d72afd1fa22f3335cbe5ae9e915e',1,'FP_384PM::g()'],['../structFP__512PM.html#a0495ad3a6faee8db898eb80b7dc5cdc8',1,'FP_512PM::g()'],['../structFP__ANSSI.html#aa4b70fab01b24df9cd959735b98dda50',1,'FP_ANSSI::g()'],['../structFP__BLS24.html#a01087bfded6fb63f6bf5fdbcdf10473a',1,'FP_BLS24::g()'],['../structFP__BLS381.html#a56afd3599d82d7d23b7629e04b8061d4',1,'FP_BLS381::g()'],['../structFP__BLS383.html#af897a6bc293e91926cd8dbca4b7b434e',1,'FP_BLS383::g()'],['../structFP__BLS461.html#ac00b9f94cf65d9dd4521ae0d8412ff5b',1,'FP_BLS461::g()'],['../structFP__BLS48.html#aaee07f25142de4ccf00433f731576977',1,'FP_BLS48::g()'],['../structFP__BN254.html#a129ff2f489c492d0ee022189155c0532',1,'FP_BN254::g()'],['../structFP__BN254CX.html#a1892cd176173092da80d3f02ec96f7f2',1,'FP_BN254CX::g()'],['../structFP__BRAINPOOL.html#af6a73673829eecdd48b25db418d8b959',1,'FP_BRAINPOOL::g()'],['../structFP__C41417.html#a1feed9369d9e446c27067311c6db2dfc',1,'FP_C41417::g()'],['../structFP__FP256BN.html#a1735d0f268cdecd1e0c380f161152f16',1,'FP_FP256BN::g()'],['../structFP__FP512BN.html#ad0a2d0c07da43ebec37a3f1a20541333',1,'FP_FP512BN::g()'],['../structFP__GOLDILOCKS.html#a8eafb99985dc5036a6eb266a0ed2449f',1,'FP_GOLDILOCKS::g()'],['../structFP__HIFIVE.html#ab38bf6046806343bd3bb51988658b45d',1,'FP_HIFIVE::g()'],['../structFP__NIST256.html#a52444316d76b4e4aa82a32943037715d',1,'FP_NIST256::g()'],['../structFP__NIST384.html#a72dbc696688d0ae224baeb964a1c658d',1,'FP_NIST384::g()'],['../structFP__NIST521.html#a2a22aa90b36a99811fecf0473dfb191d',1,'FP_NIST521::g()'],['../structFP__SECP256K1.html#a55dc8e0ac8d46dcf2118b951dc4c1e84',1,'FP_SECP256K1::g()']]]
 ];
diff --git a/website/static/cdocs/search/variables_7.html b/website/static/cdocs/search/variables_7.html
index ad2fa37..0408829 100644
--- a/website/static/cdocs/search/variables_7.html
+++ b/website/static/cdocs/search/variables_7.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_7.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_8.html b/website/static/cdocs/search/variables_8.html
index 23887d7..d54d096 100644
--- a/website/static/cdocs/search/variables_8.html
+++ b/website/static/cdocs/search/variables_8.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_8.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_8.js b/website/static/cdocs/search/variables_8.js
index f0b3435..52a068b 100644
--- a/website/static/cdocs/search/variables_8.js
+++ b/website/static/cdocs/search/variables_8.js
@@ -1,4 +1,6 @@
 var searchData=
 [
+  ['invp',['invp',['../structPAILLIER__private__key.html#a952c7c468cd4d17b5b5671fe31165a8d',1,'PAILLIER_private_key']]],
+  ['invq',['invq',['../structPAILLIER__private__key.html#a5146fab180da3422d66d3cf944fb0247',1,'PAILLIER_private_key']]],
   ['ira',['ira',['../structcsprng.html#a7995ef3e74e5d34984d4d0eb38dffd9e',1,'csprng']]]
 ];
diff --git a/website/static/cdocs/search/variables_9.html b/website/static/cdocs/search/variables_9.html
index f446649..234dc60 100644
--- a/website/static/cdocs/search/variables_9.html
+++ b/website/static/cdocs/search/variables_9.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_9.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_9.js b/website/static/cdocs/search/variables_9.js
index cf6d6c7..7ad8c19 100644
--- a/website/static/cdocs/search/variables_9.js
+++ b/website/static/cdocs/search/variables_9.js
@@ -3,5 +3,7 @@
   ['len',['len',['../structsha3.html#a826b7a50820b159656a017354dbfc3d7',1,'sha3::len()'],['../structoctet.html#aac7aa1ab827fcb609e3c557b27ca8ac4',1,'octet::len()']]],
   ['lena',['lenA',['../structgcm.html#a1884ba7add128b711fec4270eeb17daf',1,'gcm']]],
   ['lenc',['lenC',['../structgcm.html#a1bd72fc4a946169be6734d6f1776bb7c',1,'gcm']]],
-  ['length',['length',['../structhash256.html#aed90ef35ddc8f515e666596360090338',1,'hash256::length()'],['../structhash512.html#a71f1b748d99be6cd676fc5a7b3f291c9',1,'hash512::length()'],['../structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09',1,'sha3::length()']]]
+  ['length',['length',['../structhash256.html#aed90ef35ddc8f515e666596360090338',1,'hash256::length()'],['../structhash512.html#a71f1b748d99be6cd676fc5a7b3f291c9',1,'hash512::length()'],['../structsha3.html#a73902f518f7a5d7db0f40b71b2d52f09',1,'sha3::length()']]],
+  ['lp',['lp',['../structPAILLIER__private__key.html#af888282934b457a7c74bfd5ee5af0247',1,'PAILLIER_private_key']]],
+  ['lq',['lq',['../structPAILLIER__private__key.html#a4cef9b08dca71828a00c91d1927bf66c',1,'PAILLIER_private_key']]]
 ];
diff --git a/website/static/cdocs/search/variables_a.html b/website/static/cdocs/search/variables_a.html
index 59633b3..0892488 100644
--- a/website/static/cdocs/search/variables_a.html
+++ b/website/static/cdocs/search/variables_a.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_a.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_a.js b/website/static/cdocs/search/variables_a.js
index eb60234..04f796e 100644
--- a/website/static/cdocs/search/variables_a.js
+++ b/website/static/cdocs/search/variables_a.js
@@ -47,5 +47,7 @@
   ['modulus_5fnist256',['Modulus_NIST256',['../fp__NIST256_8h.html#a325c1d7a187eded1d3697e6e0ab55451',1,'fp_NIST256.h']]],
   ['modulus_5fnist384',['Modulus_NIST384',['../fp__NIST384_8h.html#a3ec2b2be30bd99b65e12c56750af1ab4',1,'fp_NIST384.h']]],
   ['modulus_5fnist521',['Modulus_NIST521',['../fp__NIST521_8h.html#af5cbfa91010d117a9fcb2fddad052c78',1,'fp_NIST521.h']]],
-  ['modulus_5fsecp256k1',['Modulus_SECP256K1',['../fp__SECP256K1_8h.html#a16483b07b42fa4c69f9fba84c7eee4a5',1,'fp_SECP256K1.h']]]
+  ['modulus_5fsecp256k1',['Modulus_SECP256K1',['../fp__SECP256K1_8h.html#a16483b07b42fa4c69f9fba84c7eee4a5',1,'fp_SECP256K1.h']]],
+  ['mp',['mp',['../structPAILLIER__private__key.html#a2baa64964f2d29de901c3495a0b10951',1,'PAILLIER_private_key']]],
+  ['mq',['mq',['../structPAILLIER__private__key.html#a8eabfd60330252513a941ff4eb60a74a',1,'PAILLIER_private_key']]]
 ];
diff --git a/website/static/cdocs/search/variables_b.html b/website/static/cdocs/search/variables_b.html
index 1721609..ea46965 100644
--- a/website/static/cdocs/search/variables_b.html
+++ b/website/static/cdocs/search/variables_b.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_b.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_b.js b/website/static/cdocs/search/variables_b.js
index 9ad356b..f889ee1 100644
--- a/website/static/cdocs/search/variables_b.js
+++ b/website/static/cdocs/search/variables_b.js
@@ -1,6 +1,7 @@
 var searchData=
 [
-  ['n',['n',['../structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e',1,'rsa_public_key_2048::n()'],['../structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c',1,'rsa_public_key_3072::n()'],['../structrsa__public__key__4096.html#a4a90bc6aeaa897b7934e7fe46fe6cf67',1,'rsa_public_key_4096::n()']]],
+  ['n',['n',['../structPAILLIER__public__key.html#aea6d614974ac68d25dac9e180bcb7ffb',1,'PAILLIER_public_key::n()'],['../structrsa__public__key__2048.html#a653b54be14ca1c81742fc38eac73fe9e',1,'rsa_public_key_2048::n()'],['../structrsa__public__key__3072.html#ade8138791e01101b8a3d84dd96b6dc4c',1,'rsa_public_key_3072::n()'],['../structrsa__public__key__4096.html#a4a90bc6aeaa897b7934e7fe46fe6cf67',1,'rsa_public_key_4096::n()']]],
+  ['n2',['n2',['../structPAILLIER__public__key.html#a43b28e4ff07c932a25813cc639419bc6',1,'PAILLIER_public_key']]],
   ['nk',['Nk',['../structamcl__aes.html#a9b3c86f641f2a16c92a68268811708c6',1,'amcl_aes']]],
   ['nr',['Nr',['../structamcl__aes.html#ad9bc7bd0b4cf5f9aa28b11306b1ef982',1,'amcl_aes']]]
 ];
diff --git a/website/static/cdocs/search/variables_c.html b/website/static/cdocs/search/variables_c.html
index 78e211a..94bf1a6 100644
--- a/website/static/cdocs/search/variables_c.html
+++ b/website/static/cdocs/search/variables_c.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_c.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_c.js b/website/static/cdocs/search/variables_c.js
index ef544c2..2ef042b 100644
--- a/website/static/cdocs/search/variables_c.js
+++ b/website/static/cdocs/search/variables_c.js
@@ -1,6 +1,7 @@
 var searchData=
 [
-  ['p',['p',['../structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5',1,'rsa_private_key_2048::p()'],['../structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c',1,'rsa_private_key_3072::p()'],['../structrsa__private__key__4096.html#a8e0b9a8a44f62faf01c1cd6eb45cc191',1,'rsa_private_key_4096::p()']]],
+  ['p',['p',['../structPAILLIER__private__key.html#ab3a4b6e01c3185983d6240e4e093574a',1,'PAILLIER_private_key::p()'],['../structrsa__private__key__2048.html#ad50c096d58decaf7fb0159873756dab5',1,'rsa_private_key_2048::p()'],['../structrsa__private__key__3072.html#aa252a09c378834d09ff52b444ca5893c',1,'rsa_private_key_3072::p()'],['../structrsa__private__key__4096.html#a8e0b9a8a44f62faf01c1cd6eb45cc191',1,'rsa_private_key_4096::p()']]],
+  ['p2',['p2',['../structPAILLIER__private__key.html#a954590d1d80ad8257ae57dc258a8c2c9',1,'PAILLIER_private_key']]],
   ['pool',['pool',['../structcsprng.html#a2ac19b58bd7c9bab6fbc9ad394c41d2a',1,'csprng']]],
   ['pool_5fptr',['pool_ptr',['../structcsprng.html#a3848c543582da2ccacfc910f3644a3b4',1,'csprng']]]
 ];
diff --git a/website/static/cdocs/search/variables_d.html b/website/static/cdocs/search/variables_d.html
index bd27a70..b9381e9 100644
--- a/website/static/cdocs/search/variables_d.html
+++ b/website/static/cdocs/search/variables_d.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_d.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_d.js b/website/static/cdocs/search/variables_d.js
index e3c2449..627ea58 100644
--- a/website/static/cdocs/search/variables_d.js
+++ b/website/static/cdocs/search/variables_d.js
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['q',['q',['../structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674',1,'rsa_private_key_2048::q()'],['../structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7',1,'rsa_private_key_3072::q()'],['../structrsa__private__key__4096.html#ad078f177ba6eb2967066c102b40d0e09',1,'rsa_private_key_4096::q()']]]
+  ['q',['q',['../structPAILLIER__private__key.html#a0827afad71df06ce991fa2799cc2f381',1,'PAILLIER_private_key::q()'],['../structrsa__private__key__2048.html#a47adc565682f0b4704210cb6d544e674',1,'rsa_private_key_2048::q()'],['../structrsa__private__key__3072.html#abaad9c5eeca7323ee2912d63482c15e7',1,'rsa_private_key_3072::q()'],['../structrsa__private__key__4096.html#ad078f177ba6eb2967066c102b40d0e09',1,'rsa_private_key_4096::q()']]],
+  ['q2',['q2',['../structPAILLIER__private__key.html#acf50ad57d674567ac4065000152f87c4',1,'PAILLIER_private_key']]]
 ];
diff --git a/website/static/cdocs/search/variables_e.html b/website/static/cdocs/search/variables_e.html
index f2130e0..375ad70 100644
--- a/website/static/cdocs/search/variables_e.html
+++ b/website/static/cdocs/search/variables_e.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_e.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/search/variables_f.html b/website/static/cdocs/search/variables_f.html
index d660697..d371418 100644
--- a/website/static/cdocs/search/variables_f.html
+++ b/website/static/cdocs/search/variables_f.html
@@ -1,7 +1,7 @@
-<!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><head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_f.js"></script>
 <script type="text/javascript" src="search.js"></script>
@@ -11,19 +11,15 @@
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 createResults();
-/* @license-end */
 --></script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript"><!--
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
 searchResults.Search();
-/* @license-end */
 --></script>
 </div>
 </body>
diff --git a/website/static/cdocs/structECP2__BLS381.html b/website/static/cdocs/structECP2__BLS381.html
index f58504f..872ea79 100644
--- a/website/static/cdocs/structECP2__BLS381.html
+++ b/website/static/cdocs/structECP2__BLS381.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: ECP2_BLS381 Struct 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"
@@ -136,7 +139,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/structECP2__BLS383.html b/website/static/cdocs/structECP2__BLS383.html
index 5fc2e68..fc667a3 100644
--- a/website/static/cdocs/structECP2__BLS383.html
+++ b/website/static/cdocs/structECP2__BLS383.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: ECP2_BLS383 Struct 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"
@@ -136,7 +139,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/structECP2__BLS461.html b/website/static/cdocs/structECP2__BLS461.html
index 83ab398..1c13e98 100644
--- a/website/static/cdocs/structECP2__BLS461.html
+++ b/website/static/cdocs/structECP2__BLS461.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: ECP2_BLS461 Struct 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"
@@ -136,7 +139,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/structECP2__BN254.html b/website/static/cdocs/structECP2__BN254.html
index 5928936..39cda56 100644
--- a/website/static/cdocs/structECP2__BN254.html
+++ b/website/static/cdocs/structECP2__BN254.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: ECP2_BN254 Struct 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"
@@ -136,7 +139,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/structECP2__BN254CX.html b/website/static/cdocs/structECP2__BN254CX.html
index d1ef822..17d62ee 100644
--- a/website/static/cdocs/structECP2__BN254CX.html
+++ b/website/static/cdocs/structECP2__BN254CX.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: ECP2_BN254CX Struct 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"
@@ -136,7 +139,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/structECP2__FP256BN.html b/website/static/cdocs/structECP2__FP256BN.html
index 3b4bdb9..5ffd6c5 100644
--- a/website/static/cdocs/structECP2__FP256BN.html
+++ b/website/static/cdocs/structECP2__FP256BN.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: ECP2_FP256BN Struct 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"
@@ -136,7 +139,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/structECP2__FP512BN.html b/website/static/cdocs/structECP2__FP512BN.html
index 13fc6aa..eb44f0a 100644
--- a/website/static/cdocs/structECP2__FP512BN.html
+++ b/website/static/cdocs/structECP2__FP512BN.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: ECP2_FP512BN Struct 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"
@@ -136,7 +139,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/structECP4__BLS24.html b/website/static/cdocs/structECP4__BLS24.html
index 9a4862a..a59fafd 100644
--- a/website/static/cdocs/structECP4__BLS24.html
+++ b/website/static/cdocs/structECP4__BLS24.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: ECP4_BLS24 Struct 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"
@@ -136,7 +139,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/structECP8__BLS48.html b/website/static/cdocs/structECP8__BLS48.html
index bd6923f..e73433e 100644
--- a/website/static/cdocs/structECP8__BLS48.html
+++ b/website/static/cdocs/structECP8__BLS48.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: ECP8_BLS48 Struct 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"
@@ -136,7 +139,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/structECP__ANSSI.html b/website/static/cdocs/structECP__ANSSI.html
index 8c6a014..e5deb6c 100644
--- a/website/static/cdocs/structECP__ANSSI.html
+++ b/website/static/cdocs/structECP__ANSSI.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: ECP_ANSSI Struct 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"
@@ -136,7 +139,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/structECP__BLS24.html b/website/static/cdocs/structECP__BLS24.html
index eccbb29..16420b3 100644
--- a/website/static/cdocs/structECP__BLS24.html
+++ b/website/static/cdocs/structECP__BLS24.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: ECP_BLS24 Struct 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"
@@ -136,7 +139,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/structECP__BLS381.html b/website/static/cdocs/structECP__BLS381.html
index c52c49e..0ba5a97 100644
--- a/website/static/cdocs/structECP__BLS381.html
+++ b/website/static/cdocs/structECP__BLS381.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: ECP_BLS381 Struct 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"
@@ -136,7 +139,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/structECP__BLS383.html b/website/static/cdocs/structECP__BLS383.html
index 1bc2526..40cf843 100644
--- a/website/static/cdocs/structECP__BLS383.html
+++ b/website/static/cdocs/structECP__BLS383.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: ECP_BLS383 Struct 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"
@@ -136,7 +139,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/structECP__BLS461.html b/website/static/cdocs/structECP__BLS461.html
index 492a23e..359dd9f 100644
--- a/website/static/cdocs/structECP__BLS461.html
+++ b/website/static/cdocs/structECP__BLS461.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: ECP_BLS461 Struct 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"
@@ -136,7 +139,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/structECP__BLS48.html b/website/static/cdocs/structECP__BLS48.html
index e89bceb..316df3e 100644
--- a/website/static/cdocs/structECP__BLS48.html
+++ b/website/static/cdocs/structECP__BLS48.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: ECP_BLS48 Struct 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"
@@ -136,7 +139,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/structECP__BN254.html b/website/static/cdocs/structECP__BN254.html
index 8d484d3..2cf56ee 100644
--- a/website/static/cdocs/structECP__BN254.html
+++ b/website/static/cdocs/structECP__BN254.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: ECP_BN254 Struct 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"
@@ -136,7 +139,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/structECP__BN254CX.html b/website/static/cdocs/structECP__BN254CX.html
index 1539cdd..3f07d88 100644
--- a/website/static/cdocs/structECP__BN254CX.html
+++ b/website/static/cdocs/structECP__BN254CX.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: ECP_BN254CX Struct 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"
@@ -136,7 +139,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/structECP__BRAINPOOL.html b/website/static/cdocs/structECP__BRAINPOOL.html
index 1550f4a..7a7691a 100644
--- a/website/static/cdocs/structECP__BRAINPOOL.html
+++ b/website/static/cdocs/structECP__BRAINPOOL.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: ECP_BRAINPOOL Struct 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"
@@ -136,7 +139,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/structECP__C25519.html b/website/static/cdocs/structECP__C25519.html
index d0dde36..b5e96f6 100644
--- a/website/static/cdocs/structECP__C25519.html
+++ b/website/static/cdocs/structECP__C25519.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: ECP_C25519 Struct 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"
@@ -119,7 +122,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/structECP__C41417.html b/website/static/cdocs/structECP__C41417.html
index 8090769..c9bc460 100644
--- a/website/static/cdocs/structECP__C41417.html
+++ b/website/static/cdocs/structECP__C41417.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: ECP_C41417 Struct 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"
@@ -136,7 +139,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/structECP__ED25519.html b/website/static/cdocs/structECP__ED25519.html
index cc2b737..51615b5 100644
--- a/website/static/cdocs/structECP__ED25519.html
+++ b/website/static/cdocs/structECP__ED25519.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: ECP_ED25519 Struct 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"
@@ -136,7 +139,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/structECP__FP256BN.html b/website/static/cdocs/structECP__FP256BN.html
index 37e58a8..ed53190 100644
--- a/website/static/cdocs/structECP__FP256BN.html
+++ b/website/static/cdocs/structECP__FP256BN.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: ECP_FP256BN Struct 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"
@@ -136,7 +139,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/structECP__FP512BN.html b/website/static/cdocs/structECP__FP512BN.html
index 4e9b3d4..a9a9e6d 100644
--- a/website/static/cdocs/structECP__FP512BN.html
+++ b/website/static/cdocs/structECP__FP512BN.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: ECP_FP512BN Struct 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"
@@ -136,7 +139,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/structECP__GOLDILOCKS.html b/website/static/cdocs/structECP__GOLDILOCKS.html
index 34c7128..86ed7d7 100644
--- a/website/static/cdocs/structECP__GOLDILOCKS.html
+++ b/website/static/cdocs/structECP__GOLDILOCKS.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: ECP_GOLDILOCKS Struct 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"
@@ -136,7 +139,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/structECP__HIFIVE.html b/website/static/cdocs/structECP__HIFIVE.html
index 4e34e7a..1a1e1fa 100644
--- a/website/static/cdocs/structECP__HIFIVE.html
+++ b/website/static/cdocs/structECP__HIFIVE.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: ECP_HIFIVE Struct 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"
@@ -136,7 +139,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/structECP__NIST256.html b/website/static/cdocs/structECP__NIST256.html
index 7743c9a..c725b18 100644
--- a/website/static/cdocs/structECP__NIST256.html
+++ b/website/static/cdocs/structECP__NIST256.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: ECP_NIST256 Struct 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"
@@ -136,7 +139,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/structECP__NIST384.html b/website/static/cdocs/structECP__NIST384.html
index d766d73..7977e06 100644
--- a/website/static/cdocs/structECP__NIST384.html
+++ b/website/static/cdocs/structECP__NIST384.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: ECP_NIST384 Struct 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"
@@ -136,7 +139,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/structECP__NIST521.html b/website/static/cdocs/structECP__NIST521.html
index 7aac6a1..f7a85ce 100644
--- a/website/static/cdocs/structECP__NIST521.html
+++ b/website/static/cdocs/structECP__NIST521.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: ECP_NIST521 Struct 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"
@@ -136,7 +139,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/structECP__NUMS256E.html b/website/static/cdocs/structECP__NUMS256E.html
index 2d680f4..68d399f 100644
--- a/website/static/cdocs/structECP__NUMS256E.html
+++ b/website/static/cdocs/structECP__NUMS256E.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: ECP_NUMS256E Struct 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"
@@ -136,7 +139,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/structECP__NUMS256W.html b/website/static/cdocs/structECP__NUMS256W.html
index ff408fd..50c4f87 100644
--- a/website/static/cdocs/structECP__NUMS256W.html
+++ b/website/static/cdocs/structECP__NUMS256W.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: ECP_NUMS256W Struct 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"
@@ -136,7 +139,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/structECP__NUMS384E.html b/website/static/cdocs/structECP__NUMS384E.html
index 14b65cb..94820d6 100644
--- a/website/static/cdocs/structECP__NUMS384E.html
+++ b/website/static/cdocs/structECP__NUMS384E.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: ECP_NUMS384E Struct 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"
@@ -136,7 +139,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/structECP__NUMS384W.html b/website/static/cdocs/structECP__NUMS384W.html
index 24b6d24..324bd0a 100644
--- a/website/static/cdocs/structECP__NUMS384W.html
+++ b/website/static/cdocs/structECP__NUMS384W.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: ECP_NUMS384W Struct 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"
@@ -136,7 +139,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/structECP__NUMS512E.html b/website/static/cdocs/structECP__NUMS512E.html
index 58e876d..5a80635 100644
--- a/website/static/cdocs/structECP__NUMS512E.html
+++ b/website/static/cdocs/structECP__NUMS512E.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: ECP_NUMS512E Struct 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"
@@ -136,7 +139,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/structECP__NUMS512W.html b/website/static/cdocs/structECP__NUMS512W.html
index e5c308b..d390b96 100644
--- a/website/static/cdocs/structECP__NUMS512W.html
+++ b/website/static/cdocs/structECP__NUMS512W.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: ECP_NUMS512W Struct 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"
@@ -136,7 +139,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/structECP__SECP256K1.html b/website/static/cdocs/structECP__SECP256K1.html
index 35b5a8f..27fa4c7 100644
--- a/website/static/cdocs/structECP__SECP256K1.html
+++ b/website/static/cdocs/structECP__SECP256K1.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: ECP_SECP256K1 Struct 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"
@@ -136,7 +139,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/structFP12__BLS381.html b/website/static/cdocs/structFP12__BLS381.html
index c20a25d..e02a309 100644
--- a/website/static/cdocs/structFP12__BLS381.html
+++ b/website/static/cdocs/structFP12__BLS381.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: FP12_BLS381 Struct 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"
@@ -153,7 +156,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/structFP12__BLS383.html b/website/static/cdocs/structFP12__BLS383.html
index d26f8aa..14bade2 100644
--- a/website/static/cdocs/structFP12__BLS383.html
+++ b/website/static/cdocs/structFP12__BLS383.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: FP12_BLS383 Struct 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"
@@ -153,7 +156,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/structFP12__BLS461.html b/website/static/cdocs/structFP12__BLS461.html
index 42bbbcc..3abfc69 100644
--- a/website/static/cdocs/structFP12__BLS461.html
+++ b/website/static/cdocs/structFP12__BLS461.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: FP12_BLS461 Struct 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"
@@ -153,7 +156,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/structFP12__BN254.html b/website/static/cdocs/structFP12__BN254.html
index 8680290..ba3d9fe 100644
--- a/website/static/cdocs/structFP12__BN254.html
+++ b/website/static/cdocs/structFP12__BN254.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: FP12_BN254 Struct 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"
@@ -153,7 +156,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/structFP12__BN254CX.html b/website/static/cdocs/structFP12__BN254CX.html
index 7af8f4d..5e8a2d6 100644
--- a/website/static/cdocs/structFP12__BN254CX.html
+++ b/website/static/cdocs/structFP12__BN254CX.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: FP12_BN254CX Struct 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"
@@ -153,7 +156,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/structFP12__FP256BN.html b/website/static/cdocs/structFP12__FP256BN.html
index 7a577fc..57843b3 100644
--- a/website/static/cdocs/structFP12__FP256BN.html
+++ b/website/static/cdocs/structFP12__FP256BN.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: FP12_FP256BN Struct 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"
@@ -153,7 +156,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/structFP12__FP512BN.html b/website/static/cdocs/structFP12__FP512BN.html
index 2c218ca..0a8e4ad 100644
--- a/website/static/cdocs/structFP12__FP512BN.html
+++ b/website/static/cdocs/structFP12__FP512BN.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: FP12_FP512BN Struct 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"
@@ -153,7 +156,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/structFP16__BLS48.html b/website/static/cdocs/structFP16__BLS48.html
index c8806c4..cf27bb5 100644
--- a/website/static/cdocs/structFP16__BLS48.html
+++ b/website/static/cdocs/structFP16__BLS48.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: FP16_BLS48 Struct 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"
@@ -119,7 +122,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/structFP24__BLS24.html b/website/static/cdocs/structFP24__BLS24.html
index 84159cb..0569046 100644
--- a/website/static/cdocs/structFP24__BLS24.html
+++ b/website/static/cdocs/structFP24__BLS24.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: FP24_BLS24 Struct 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"
@@ -153,7 +156,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/structFP2__BLS24.html b/website/static/cdocs/structFP2__BLS24.html
index bf170f4..437b972 100644
--- a/website/static/cdocs/structFP2__BLS24.html
+++ b/website/static/cdocs/structFP2__BLS24.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: FP2_BLS24 Struct 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"
@@ -119,7 +122,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/structFP2__BLS381.html b/website/static/cdocs/structFP2__BLS381.html
index 746d535..a38a4ac 100644
--- a/website/static/cdocs/structFP2__BLS381.html
+++ b/website/static/cdocs/structFP2__BLS381.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: FP2_BLS381 Struct 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"
@@ -119,7 +122,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/structFP2__BLS383.html b/website/static/cdocs/structFP2__BLS383.html
index 0ea8743..149da84 100644
--- a/website/static/cdocs/structFP2__BLS383.html
+++ b/website/static/cdocs/structFP2__BLS383.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: FP2_BLS383 Struct 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"
@@ -119,7 +122,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/structFP2__BLS461.html b/website/static/cdocs/structFP2__BLS461.html
index 5efbe8f..36a8570 100644
--- a/website/static/cdocs/structFP2__BLS461.html
+++ b/website/static/cdocs/structFP2__BLS461.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: FP2_BLS461 Struct 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"
@@ -119,7 +122,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/structFP2__BLS48.html b/website/static/cdocs/structFP2__BLS48.html
index 02e2a9b..81c9fdb 100644
--- a/website/static/cdocs/structFP2__BLS48.html
+++ b/website/static/cdocs/structFP2__BLS48.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: FP2_BLS48 Struct 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"
@@ -119,7 +122,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/structFP2__BN254.html b/website/static/cdocs/structFP2__BN254.html
index d5b3e5b..f152ea6 100644
--- a/website/static/cdocs/structFP2__BN254.html
+++ b/website/static/cdocs/structFP2__BN254.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: FP2_BN254 Struct 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"
@@ -119,7 +122,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/structFP2__BN254CX.html b/website/static/cdocs/structFP2__BN254CX.html
index 9dffa65..1c30bd4 100644
--- a/website/static/cdocs/structFP2__BN254CX.html
+++ b/website/static/cdocs/structFP2__BN254CX.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: FP2_BN254CX Struct 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"
@@ -119,7 +122,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/structFP2__FP256BN.html b/website/static/cdocs/structFP2__FP256BN.html
index 11db12d..2e69ab2 100644
--- a/website/static/cdocs/structFP2__FP256BN.html
+++ b/website/static/cdocs/structFP2__FP256BN.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: FP2_FP256BN Struct 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"
@@ -119,7 +122,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/structFP2__FP512BN.html b/website/static/cdocs/structFP2__FP512BN.html
index 9e7f44b..e1fd6b5 100644
--- a/website/static/cdocs/structFP2__FP512BN.html
+++ b/website/static/cdocs/structFP2__FP512BN.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: FP2_FP512BN Struct 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"
@@ -119,7 +122,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/structFP48__BLS48.html b/website/static/cdocs/structFP48__BLS48.html
index 715e125..5947d79 100644
--- a/website/static/cdocs/structFP48__BLS48.html
+++ b/website/static/cdocs/structFP48__BLS48.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: FP48_BLS48 Struct 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"
@@ -153,7 +156,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/structFP4__BLS24.html b/website/static/cdocs/structFP4__BLS24.html
index 1452d95..dc9107b 100644
--- a/website/static/cdocs/structFP4__BLS24.html
+++ b/website/static/cdocs/structFP4__BLS24.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: FP4_BLS24 Struct 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"
@@ -119,7 +122,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/structFP4__BLS381.html b/website/static/cdocs/structFP4__BLS381.html
index cfa6c7c..f34fad6 100644
--- a/website/static/cdocs/structFP4__BLS381.html
+++ b/website/static/cdocs/structFP4__BLS381.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: FP4_BLS381 Struct 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"
@@ -119,7 +122,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/structFP4__BLS383.html b/website/static/cdocs/structFP4__BLS383.html
index 5d44ea7..6aa342b 100644
--- a/website/static/cdocs/structFP4__BLS383.html
+++ b/website/static/cdocs/structFP4__BLS383.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: FP4_BLS383 Struct 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"
@@ -119,7 +122,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/structFP4__BLS461.html b/website/static/cdocs/structFP4__BLS461.html
index a331288..cb78c52 100644
--- a/website/static/cdocs/structFP4__BLS461.html
+++ b/website/static/cdocs/structFP4__BLS461.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: FP4_BLS461 Struct 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"
@@ -119,7 +122,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/structFP4__BLS48.html b/website/static/cdocs/structFP4__BLS48.html
index b186626..a2bf876 100644
--- a/website/static/cdocs/structFP4__BLS48.html
+++ b/website/static/cdocs/structFP4__BLS48.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: FP4_BLS48 Struct 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"
@@ -119,7 +122,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/structFP4__BN254.html b/website/static/cdocs/structFP4__BN254.html
index b4d5e26..d2bde7b 100644
--- a/website/static/cdocs/structFP4__BN254.html
+++ b/website/static/cdocs/structFP4__BN254.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: FP4_BN254 Struct 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"
@@ -119,7 +122,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/structFP4__BN254CX.html b/website/static/cdocs/structFP4__BN254CX.html
index c0888aa..e0d542d 100644
--- a/website/static/cdocs/structFP4__BN254CX.html
+++ b/website/static/cdocs/structFP4__BN254CX.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: FP4_BN254CX Struct 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"
@@ -119,7 +122,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/structFP4__FP256BN.html b/website/static/cdocs/structFP4__FP256BN.html
index ff6077a..3d90fec 100644
--- a/website/static/cdocs/structFP4__FP256BN.html
+++ b/website/static/cdocs/structFP4__FP256BN.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: FP4_FP256BN Struct 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"
@@ -119,7 +122,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/structFP4__FP512BN.html b/website/static/cdocs/structFP4__FP512BN.html
index db1b66d..d937452 100644
--- a/website/static/cdocs/structFP4__FP512BN.html
+++ b/website/static/cdocs/structFP4__FP512BN.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: FP4_FP512BN Struct 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"
@@ -119,7 +122,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/structFP8__BLS24.html b/website/static/cdocs/structFP8__BLS24.html
index a6c6a9c..06c3432 100644
--- a/website/static/cdocs/structFP8__BLS24.html
+++ b/website/static/cdocs/structFP8__BLS24.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: FP8_BLS24 Struct 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"
@@ -119,7 +122,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/structFP8__BLS48.html b/website/static/cdocs/structFP8__BLS48.html
index 05049bb..c97a6b2 100644
--- a/website/static/cdocs/structFP8__BLS48.html
+++ b/website/static/cdocs/structFP8__BLS48.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: FP8_BLS48 Struct 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"
@@ -119,7 +122,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/structFP__25519.html b/website/static/cdocs/structFP__25519.html
index c4ba7f2..5aecdbe 100644
--- a/website/static/cdocs/structFP__25519.html
+++ b/website/static/cdocs/structFP__25519.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: FP_25519 Struct 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"
@@ -119,7 +122,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/structFP__256PME.html b/website/static/cdocs/structFP__256PME.html
index df20fe1..94db488 100644
--- a/website/static/cdocs/structFP__256PME.html
+++ b/website/static/cdocs/structFP__256PME.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: FP_256PME Struct 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"
@@ -119,7 +122,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/structFP__256PMW.html b/website/static/cdocs/structFP__256PMW.html
index b50a570..8d5fb50 100644
--- a/website/static/cdocs/structFP__256PMW.html
+++ b/website/static/cdocs/structFP__256PMW.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: FP_256PMW Struct 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"
@@ -119,7 +122,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/structFP__384PM.html b/website/static/cdocs/structFP__384PM.html
index 5521c06..0e8f3f7 100644
--- a/website/static/cdocs/structFP__384PM.html
+++ b/website/static/cdocs/structFP__384PM.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: FP_384PM Struct 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"
@@ -119,7 +122,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/structFP__512PM.html b/website/static/cdocs/structFP__512PM.html
index 3041db5..753dbb2 100644
--- a/website/static/cdocs/structFP__512PM.html
+++ b/website/static/cdocs/structFP__512PM.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: FP_512PM Struct 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"
@@ -119,7 +122,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/structFP__ANSSI.html b/website/static/cdocs/structFP__ANSSI.html
index 316bf50..9f79ae4 100644
--- a/website/static/cdocs/structFP__ANSSI.html
+++ b/website/static/cdocs/structFP__ANSSI.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: FP_ANSSI Struct 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"
@@ -119,7 +122,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/structFP__BLS24.html b/website/static/cdocs/structFP__BLS24.html
index 2cee491..226aa61 100644
--- a/website/static/cdocs/structFP__BLS24.html
+++ b/website/static/cdocs/structFP__BLS24.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: FP_BLS24 Struct 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"
@@ -119,7 +122,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/structFP__BLS381.html b/website/static/cdocs/structFP__BLS381.html
index d7bc2c6..4911403 100644
--- a/website/static/cdocs/structFP__BLS381.html
+++ b/website/static/cdocs/structFP__BLS381.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: FP_BLS381 Struct 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"
@@ -119,7 +122,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/structFP__BLS383.html b/website/static/cdocs/structFP__BLS383.html
index ad7c18c..f990454 100644
--- a/website/static/cdocs/structFP__BLS383.html
+++ b/website/static/cdocs/structFP__BLS383.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: FP_BLS383 Struct 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"
@@ -119,7 +122,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/structFP__BLS461.html b/website/static/cdocs/structFP__BLS461.html
index a8d5096..4c55d00 100644
--- a/website/static/cdocs/structFP__BLS461.html
+++ b/website/static/cdocs/structFP__BLS461.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: FP_BLS461 Struct 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"
@@ -119,7 +122,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/structFP__BLS48.html b/website/static/cdocs/structFP__BLS48.html
index d16da3a..cf08d0e 100644
--- a/website/static/cdocs/structFP__BLS48.html
+++ b/website/static/cdocs/structFP__BLS48.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: FP_BLS48 Struct 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"
@@ -119,7 +122,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/structFP__BN254.html b/website/static/cdocs/structFP__BN254.html
index 8d48575..b68d4ec 100644
--- a/website/static/cdocs/structFP__BN254.html
+++ b/website/static/cdocs/structFP__BN254.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: FP_BN254 Struct 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"
@@ -119,7 +122,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/structFP__BN254CX.html b/website/static/cdocs/structFP__BN254CX.html
index 5bea590..0097bf2 100644
--- a/website/static/cdocs/structFP__BN254CX.html
+++ b/website/static/cdocs/structFP__BN254CX.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: FP_BN254CX Struct 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"
@@ -119,7 +122,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/structFP__BRAINPOOL.html b/website/static/cdocs/structFP__BRAINPOOL.html
index e7cfe6f..9b110e3 100644
--- a/website/static/cdocs/structFP__BRAINPOOL.html
+++ b/website/static/cdocs/structFP__BRAINPOOL.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: FP_BRAINPOOL Struct 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"
@@ -119,7 +122,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/structFP__C41417.html b/website/static/cdocs/structFP__C41417.html
index b5a049e..a0a7025 100644
--- a/website/static/cdocs/structFP__C41417.html
+++ b/website/static/cdocs/structFP__C41417.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: FP_C41417 Struct 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"
@@ -119,7 +122,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/structFP__FP256BN.html b/website/static/cdocs/structFP__FP256BN.html
index de90568..4dfae4f 100644
--- a/website/static/cdocs/structFP__FP256BN.html
+++ b/website/static/cdocs/structFP__FP256BN.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: FP_FP256BN Struct 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"
@@ -119,7 +122,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/structFP__FP512BN.html b/website/static/cdocs/structFP__FP512BN.html
index 1e2b610..bcf8fca 100644
--- a/website/static/cdocs/structFP__FP512BN.html
+++ b/website/static/cdocs/structFP__FP512BN.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: FP_FP512BN Struct 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"
@@ -119,7 +122,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/structFP__GOLDILOCKS.html b/website/static/cdocs/structFP__GOLDILOCKS.html
index 46cffe0..56adb0d 100644
--- a/website/static/cdocs/structFP__GOLDILOCKS.html
+++ b/website/static/cdocs/structFP__GOLDILOCKS.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: FP_GOLDILOCKS Struct 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"
@@ -119,7 +122,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/structFP__HIFIVE.html b/website/static/cdocs/structFP__HIFIVE.html
index 3d3679a..608bac7 100644
--- a/website/static/cdocs/structFP__HIFIVE.html
+++ b/website/static/cdocs/structFP__HIFIVE.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: FP_HIFIVE Struct 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"
@@ -119,7 +122,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/structFP__NIST256.html b/website/static/cdocs/structFP__NIST256.html
index 369d3e9..c92f566 100644
--- a/website/static/cdocs/structFP__NIST256.html
+++ b/website/static/cdocs/structFP__NIST256.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: FP_NIST256 Struct 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"
@@ -119,7 +122,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/structFP__NIST384.html b/website/static/cdocs/structFP__NIST384.html
index e85833c..9a163d0 100644
--- a/website/static/cdocs/structFP__NIST384.html
+++ b/website/static/cdocs/structFP__NIST384.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: FP_NIST384 Struct 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"
@@ -119,7 +122,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/structFP__NIST521.html b/website/static/cdocs/structFP__NIST521.html
index fcde79e..596b715 100644
--- a/website/static/cdocs/structFP__NIST521.html
+++ b/website/static/cdocs/structFP__NIST521.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: FP_NIST521 Struct 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"
@@ -119,7 +122,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/structFP__SECP256K1.html b/website/static/cdocs/structFP__SECP256K1.html
index 46e304a..93ded6f 100644
--- a/website/static/cdocs/structFP__SECP256K1.html
+++ b/website/static/cdocs/structFP__SECP256K1.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: FP_SECP256K1 Struct 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"
@@ -119,7 +122,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/structPAILLIER__private__key.html b/website/static/cdocs/structPAILLIER__private__key.html
new file mode 100644
index 0000000..5cd7715
--- /dev/null
+++ b/website/static/cdocs/structPAILLIER__private__key.html
@@ -0,0 +1,264 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>AMCL: PAILLIER_private_key Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">AMCL
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<div class="title">PAILLIER_private_key Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Paillier Private Key.  
+</p>
+
+<p><code>#include &lt;<a class="el" href="paillier_8h_source.html">paillier.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:ab3a4b6e01c3185983d6240e4e093574a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#ab3a4b6e01c3185983d6240e4e093574a">p</a> [<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td></tr>
+<tr class="separator:ab3a4b6e01c3185983d6240e4e093574a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0827afad71df06ce991fa2799cc2f381"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#a0827afad71df06ce991fa2799cc2f381">q</a> [<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td></tr>
+<tr class="separator:a0827afad71df06ce991fa2799cc2f381"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af888282934b457a7c74bfd5ee5af0247"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#af888282934b457a7c74bfd5ee5af0247">lp</a> [<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td></tr>
+<tr class="separator:af888282934b457a7c74bfd5ee5af0247"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cef9b08dca71828a00c91d1927bf66c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#a4cef9b08dca71828a00c91d1927bf66c">lq</a> [<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td></tr>
+<tr class="separator:a4cef9b08dca71828a00c91d1927bf66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a952c7c468cd4d17b5b5671fe31165a8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#a952c7c468cd4d17b5b5671fe31165a8d">invp</a> [<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td></tr>
+<tr class="separator:a952c7c468cd4d17b5b5671fe31165a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5146fab180da3422d66d3cf944fb0247"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#a5146fab180da3422d66d3cf944fb0247">invq</a> [<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td></tr>
+<tr class="separator:a5146fab180da3422d66d3cf944fb0247"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a954590d1d80ad8257ae57dc258a8c2c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#a954590d1d80ad8257ae57dc258a8c2c9">p2</a> [<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td></tr>
+<tr class="separator:a954590d1d80ad8257ae57dc258a8c2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf50ad57d674567ac4065000152f87c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#acf50ad57d674567ac4065000152f87c4">q2</a> [<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td></tr>
+<tr class="separator:acf50ad57d674567ac4065000152f87c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2baa64964f2d29de901c3495a0b10951"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#a2baa64964f2d29de901c3495a0b10951">mp</a> [<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td></tr>
+<tr class="separator:a2baa64964f2d29de901c3495a0b10951"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8eabfd60330252513a941ff4eb60a74a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__private__key.html#a8eabfd60330252513a941ff4eb60a74a">mq</a> [<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td></tr>
+<tr class="separator:a8eabfd60330252513a941ff4eb60a74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a952c7c468cd4d17b5b5671fe31165a8d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a952c7c468cd4d17b5b5671fe31165a8d">&#9670;&nbsp;</a></span>invp</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::invp[<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Precomputed \( p^{-1} \pmod{2^m} \) </p>
+
+</div>
+</div>
+<a id="a5146fab180da3422d66d3cf944fb0247"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5146fab180da3422d66d3cf944fb0247">&#9670;&nbsp;</a></span>invq</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::invq[<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Precomputed \( q^{-1} \pmod{2^m} \) </p>
+
+</div>
+</div>
+<a id="af888282934b457a7c74bfd5ee5af0247"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af888282934b457a7c74bfd5ee5af0247">&#9670;&nbsp;</a></span>lp</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::lp[<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Private Key modulo \( p \) (Euler totient of \( p \)) </p>
+
+</div>
+</div>
+<a id="a4cef9b08dca71828a00c91d1927bf66c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4cef9b08dca71828a00c91d1927bf66c">&#9670;&nbsp;</a></span>lq</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::lq[<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Private Key modulo \( q \) (Euler totient of \( q \)) </p>
+
+</div>
+</div>
+<a id="a2baa64964f2d29de901c3495a0b10951"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2baa64964f2d29de901c3495a0b10951">&#9670;&nbsp;</a></span>mp</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::mp[<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Precomputed \( L(g^{lp} \pmod{p^2})^{-1} \) </p>
+
+</div>
+</div>
+<a id="a8eabfd60330252513a941ff4eb60a74a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8eabfd60330252513a941ff4eb60a74a">&#9670;&nbsp;</a></span>mq</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::mq[<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Precomputed \( L(g^{lq} \pmod{q^2})^{-1} \) </p>
+
+</div>
+</div>
+<a id="ab3a4b6e01c3185983d6240e4e093574a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3a4b6e01c3185983d6240e4e093574a">&#9670;&nbsp;</a></span>p</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::p[<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Secret Prime </p>
+
+</div>
+</div>
+<a id="a954590d1d80ad8257ae57dc258a8c2c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a954590d1d80ad8257ae57dc258a8c2c9">&#9670;&nbsp;</a></span>p2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::p2[<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Precomputed \( p^2 \) </p>
+
+</div>
+</div>
+<a id="a0827afad71df06ce991fa2799cc2f381"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0827afad71df06ce991fa2799cc2f381">&#9670;&nbsp;</a></span>q</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::q[<a class="el" href="ff__2048_8h.html#a227e21d0b00faf73e541ec680ea433cc">HFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Secret Prime </p>
+
+</div>
+</div>
+<a id="acf50ad57d674567ac4065000152f87c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf50ad57d674567ac4065000152f87c4">&#9670;&nbsp;</a></span>q2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__1024__58_8h.html#a9b2910ed8e28bc385736f45a3d668691">BIG_1024_58</a> PAILLIER_private_key::q2[<a class="el" href="config__ff__2048_8h.html#a9d97b1d9ded0164b99640480ddac4f1e">FFLEN_2048</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Precomputed \( q^2 \) </p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="paillier_8h_source.html">paillier.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>
diff --git a/website/static/cdocs/structPAILLIER__public__key.html b/website/static/cdocs/structPAILLIER__public__key.html
new file mode 100644
index 0000000..1ab8589
--- /dev/null
+++ b/website/static/cdocs/structPAILLIER__public__key.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>AMCL: PAILLIER_public_key Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">AMCL
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<div class="title">PAILLIER_public_key Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Paillier Public Key.  
+</p>
+
+<p><code>#include &lt;<a class="el" href="paillier_8h_source.html">paillier.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr class="memitem:aea6d614974ac68d25dac9e180bcb7ffb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__public__key.html#aea6d614974ac68d25dac9e180bcb7ffb">n</a> [<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]</td></tr>
+<tr class="separator:aea6d614974ac68d25dac9e180bcb7ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e46a0e4c68e944801e372d31e7b24c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__public__key.html#a4e46a0e4c68e944801e372d31e7b24c4">g</a> [<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]</td></tr>
+<tr class="separator:a4e46a0e4c68e944801e372d31e7b24c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43b28e4ff07c932a25813cc639419bc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPAILLIER__public__key.html#a43b28e4ff07c932a25813cc639419bc6">n2</a> [<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]</td></tr>
+<tr class="separator:a43b28e4ff07c932a25813cc639419bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Field Documentation</h2>
+<a id="a4e46a0e4c68e944801e372d31e7b24c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e46a0e4c68e944801e372d31e7b24c4">&#9670;&nbsp;</a></span>g</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> PAILLIER_public_key::g[<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Public Base - \( g = n+1 \) </p>
+
+</div>
+</div>
+<a id="aea6d614974ac68d25dac9e180bcb7ffb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea6d614974ac68d25dac9e180bcb7ffb">&#9670;&nbsp;</a></span>n</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> PAILLIER_public_key::n[<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Paillier Modulus - \( n = pq \) </p>
+
+</div>
+</div>
+<a id="a43b28e4ff07c932a25813cc639419bc6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a43b28e4ff07c932a25813cc639419bc6">&#9670;&nbsp;</a></span>n2</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="big__512__60_8h.html#a38953b585df73ecbd30fded6cc5b54b7">BIG_512_60</a> PAILLIER_public_key::n2[<a class="el" href="config__ff__4096_8h.html#af3c21ac004bc32aa00e7a20811de549c">FFLEN_4096</a>]</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Precomputed \( n^2 \) </p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="paillier_8h_source.html">paillier.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>
diff --git a/website/static/cdocs/structamcl__aes.html b/website/static/cdocs/structamcl__aes.html
index e91d4fc..304f859 100644
--- a/website/static/cdocs/structamcl__aes.html
+++ b/website/static/cdocs/structamcl__aes.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_aes Struct 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"
@@ -187,7 +190,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/structcsprng.html b/website/static/cdocs/structcsprng.html
index 66f903f..16cd7e5 100644
--- a/website/static/cdocs/structcsprng.html
+++ b/website/static/cdocs/structcsprng.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: csprng Struct 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"
@@ -170,7 +173,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/structgcm.html b/website/static/cdocs/structgcm.html
index 68485da..ddd1c8c 100644
--- a/website/static/cdocs/structgcm.html
+++ b/website/static/cdocs/structgcm.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: gcm Struct 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"
@@ -204,7 +207,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/structhash256.html b/website/static/cdocs/structhash256.html
index fe41320..dbcde24 100644
--- a/website/static/cdocs/structhash256.html
+++ b/website/static/cdocs/structhash256.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: hash256 Struct 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"
@@ -153,7 +156,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/structhash512.html b/website/static/cdocs/structhash512.html
index c87312a..b5ab298 100644
--- a/website/static/cdocs/structhash512.html
+++ b/website/static/cdocs/structhash512.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: hash512 Struct 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"
@@ -153,7 +156,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/structoctet.html b/website/static/cdocs/structoctet.html
index ac2b5c1..b1c87ab 100644
--- a/website/static/cdocs/structoctet.html
+++ b/website/static/cdocs/structoctet.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: octet Struct 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"
@@ -136,7 +139,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/structpktype.html b/website/static/cdocs/structpktype.html
index dd0b36e..1d86348 100644
--- a/website/static/cdocs/structpktype.html
+++ b/website/static/cdocs/structpktype.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: pktype Struct 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"
@@ -136,7 +139,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/structrsa__private__key__2048.html b/website/static/cdocs/structrsa__private__key__2048.html
index 36afd30..9d805f7 100644
--- a/website/static/cdocs/structrsa__private__key__2048.html
+++ b/website/static/cdocs/structrsa__private__key__2048.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: rsa_private_key_2048 Struct 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"
@@ -170,7 +173,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/structrsa__private__key__3072.html b/website/static/cdocs/structrsa__private__key__3072.html
index e0c23d6..257a680 100644
--- a/website/static/cdocs/structrsa__private__key__3072.html
+++ b/website/static/cdocs/structrsa__private__key__3072.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: rsa_private_key_3072 Struct 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"
@@ -170,7 +173,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/structrsa__private__key__4096.html b/website/static/cdocs/structrsa__private__key__4096.html
index ea5bb8d..14b76e7 100644
--- a/website/static/cdocs/structrsa__private__key__4096.html
+++ b/website/static/cdocs/structrsa__private__key__4096.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: rsa_private_key_4096 Struct 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"
@@ -170,7 +173,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/structrsa__public__key__2048.html b/website/static/cdocs/structrsa__public__key__2048.html
index 2a8a7d5..260acd3 100644
--- a/website/static/cdocs/structrsa__public__key__2048.html
+++ b/website/static/cdocs/structrsa__public__key__2048.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: rsa_public_key_2048 Struct 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"
@@ -119,7 +122,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/structrsa__public__key__3072.html b/website/static/cdocs/structrsa__public__key__3072.html
index a8617e5..c1ad829 100644
--- a/website/static/cdocs/structrsa__public__key__3072.html
+++ b/website/static/cdocs/structrsa__public__key__3072.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: rsa_public_key_3072 Struct 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"
@@ -119,7 +122,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/structrsa__public__key__4096.html b/website/static/cdocs/structrsa__public__key__4096.html
index ba63d67..314619c 100644
--- a/website/static/cdocs/structrsa__public__key__4096.html
+++ b/website/static/cdocs/structrsa__public__key__4096.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: rsa_public_key_4096 Struct 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"
@@ -119,7 +122,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/structsha3.html b/website/static/cdocs/structsha3.html
index 75c5261..68dc03e 100644
--- a/website/static/cdocs/structsha3.html
+++ b/website/static/cdocs/structsha3.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: sha3 Struct 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"
@@ -153,7 +156,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/tabs.css b/website/static/cdocs/tabs.css
index 8ea7d54..bbde11e 100644
--- a/website/static/cdocs/tabs.css
+++ b/website/static/cdocs/tabs.css
@@ -1 +1 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
diff --git a/website/static/cdocs/utils_8c.html b/website/static/cdocs/utils_8c.html
index 31f26a6..df21f96 100644
--- a/website/static/cdocs/utils_8c.html
+++ b/website/static/cdocs/utils_8c.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: utils.c 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"
@@ -296,7 +299,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/utils_8h.html b/website/static/cdocs/utils_8h.html
index 68da0e0..8b64b4f 100644
--- a/website/static/cdocs/utils_8h.html
+++ b/website/static/cdocs/utils_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: utils.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"
@@ -288,7 +291,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/utils_8h_source.html b/website/static/cdocs/utils_8h_source.html
index c1688be..6dc8fa0 100644
--- a/website/static/cdocs/utils_8h_source.html
+++ b/website/static/cdocs/utils_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: utils.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,19 +72,19 @@
 <div class="title">utils.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="utils_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="comment">/* AMCL Support functions for M-Pin servers */</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef UTILS_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define UTILS_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ae83713794e16e5aaca8c26fa3b2a53e0">amcl_hex2bin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">char</span> *dst, <span class="keywordtype">int</span> src_len);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#af3f99e6869645e7a199f5455d1b8b5ff">amcl_bin2hex</a>(<span class="keywordtype">char</span> *src, <span class="keywordtype">char</span> *dst, <span class="keywordtype">int</span> src_len);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a0a2cf72b4b90aacd14063ed1b294658d">amcl_print_hex</a>(<span class="keywordtype">char</span> *src, <span class="keywordtype">int</span> src_len);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#aac29f2d3dfb9593dba84f2bfe7051aba">generateRandom</a>(<a class="code" href="structcsprng.html">csprng</a>* RNG, <a class="code" href="structoctet.html">octet</a>* randomValue);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a453d001cb992b62b8cf2620a4a1f4778">generateOTP</a>(<a class="code" href="structcsprng.html">csprng</a>* RNG);</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">#endif</span></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="utils_8h_html_aac29f2d3dfb9593dba84f2bfe7051aba"><div class="ttname"><a href="utils_8h.html#aac29f2d3dfb9593dba84f2bfe7051aba">generateRandom</a></div><div class="ttdeci">void generateRandom(csprng *RNG, octet *randomValue)</div><div class="ttdoc">Generate a random Octet.</div><div class="ttdef"><b>Definition:</b> utils.c:126</div></div>
-<div class="ttc" id="utils_8h_html_a453d001cb992b62b8cf2620a4a1f4778"><div class="ttname"><a href="utils_8h.html#a453d001cb992b62b8cf2620a4a1f4778">generateOTP</a></div><div class="ttdeci">int generateOTP(csprng *RNG)</div><div class="ttdoc">Generate a random six digit one time password.</div><div class="ttdef"><b>Definition:</b> utils.c:104</div></div>
-<div class="ttc" id="utils_8h_html_af3f99e6869645e7a199f5455d1b8b5ff"><div class="ttname"><a href="utils_8h.html#af3f99e6869645e7a199f5455d1b8b5ff">amcl_bin2hex</a></div><div class="ttdeci">void amcl_bin2hex(char *src, char *dst, int src_len)</div><div class="ttdoc">Encode binary string.</div><div class="ttdef"><b>Definition:</b> utils.c:83</div></div>
-<div class="ttc" id="utils_8h_html_a0a2cf72b4b90aacd14063ed1b294658d"><div class="ttname"><a href="utils_8h.html#a0a2cf72b4b90aacd14063ed1b294658d">amcl_print_hex</a></div><div class="ttdeci">void amcl_print_hex(char *src, int src_len)</div><div class="ttdoc">Print encoded binary string in hex.</div><div class="ttdef"><b>Definition:</b> utils.c:93</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="utils_8h_html_ae83713794e16e5aaca8c26fa3b2a53e0"><div class="ttname"><a href="utils_8h.html#ae83713794e16e5aaca8c26fa3b2a53e0">amcl_hex2bin</a></div><div class="ttdeci">void amcl_hex2bin(const char *src, char *dst, int src_len)</div><div class="ttdoc">Decode hex value.</div><div class="ttdef"><b>Definition:</b> utils.c:37</div></div>
+<a href="utils_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="comment">/* AMCL Support functions for M-Pin servers */</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef UTILS_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define UTILS_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;amcl.h&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ae83713794e16e5aaca8c26fa3b2a53e0">amcl_hex2bin</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *src, <span class="keywordtype">char</span> *dst, <span class="keywordtype">int</span> src_len);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#af3f99e6869645e7a199f5455d1b8b5ff">amcl_bin2hex</a>(<span class="keywordtype">char</span> *src, <span class="keywordtype">char</span> *dst, <span class="keywordtype">int</span> src_len);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a0a2cf72b4b90aacd14063ed1b294658d">amcl_print_hex</a>(<span class="keywordtype">char</span> *src, <span class="keywordtype">int</span> src_len);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="utils_8h.html#aac29f2d3dfb9593dba84f2bfe7051aba">generateRandom</a>(<a class="code" href="structcsprng.html">csprng</a>* RNG, <a class="code" href="structoctet.html">octet</a>* randomValue);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a453d001cb992b62b8cf2620a4a1f4778">generateOTP</a>(<a class="code" href="structcsprng.html">csprng</a>* RNG);</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">#endif</span></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="utils_8h_html_aac29f2d3dfb9593dba84f2bfe7051aba"><div class="ttname"><a href="utils_8h.html#aac29f2d3dfb9593dba84f2bfe7051aba">generateRandom</a></div><div class="ttdeci">void generateRandom(csprng *RNG, octet *randomValue)</div><div class="ttdoc">Generate a random Octet. </div><div class="ttdef"><b>Definition:</b> utils.c:126</div></div>
+<div class="ttc" id="utils_8h_html_a453d001cb992b62b8cf2620a4a1f4778"><div class="ttname"><a href="utils_8h.html#a453d001cb992b62b8cf2620a4a1f4778">generateOTP</a></div><div class="ttdeci">int generateOTP(csprng *RNG)</div><div class="ttdoc">Generate a random six digit one time password. </div><div class="ttdef"><b>Definition:</b> utils.c:104</div></div>
+<div class="ttc" id="utils_8h_html_af3f99e6869645e7a199f5455d1b8b5ff"><div class="ttname"><a href="utils_8h.html#af3f99e6869645e7a199f5455d1b8b5ff">amcl_bin2hex</a></div><div class="ttdeci">void amcl_bin2hex(char *src, char *dst, int src_len)</div><div class="ttdoc">Encode binary string. </div><div class="ttdef"><b>Definition:</b> utils.c:83</div></div>
+<div class="ttc" id="utils_8h_html_a0a2cf72b4b90aacd14063ed1b294658d"><div class="ttname"><a href="utils_8h.html#a0a2cf72b4b90aacd14063ed1b294658d">amcl_print_hex</a></div><div class="ttdeci">void amcl_print_hex(char *src, int src_len)</div><div class="ttdoc">Print encoded binary string in hex. </div><div class="ttdef"><b>Definition:</b> utils.c:93</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="utils_8h_html_ae83713794e16e5aaca8c26fa3b2a53e0"><div class="ttname"><a href="utils_8h.html#ae83713794e16e5aaca8c26fa3b2a53e0">amcl_hex2bin</a></div><div class="ttdeci">void amcl_hex2bin(const char *src, char *dst, int src_len)</div><div class="ttdoc">Decode hex value. </div><div class="ttdef"><b>Definition:</b> utils.c:37</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/version_8c.html b/website/static/cdocs/version_8c.html
index 7642c77..a7d5ed6 100644
--- a/website/static/cdocs/version_8c.html
+++ b/website/static/cdocs/version_8c.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: version.c 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"
@@ -115,7 +118,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/version_8h_source.html b/website/static/cdocs/version_8h_source.html
index a95b24a..5e48ee2 100644
--- a/website/static/cdocs/version_8h_source.html
+++ b/website/static/cdocs/version_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: version.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">version.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;<span class="comment">/* AMCL header support version function */</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifndef VERSION_H</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define VERSION_H</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;amcl.h&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="comment">/*</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> * Supported curves</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> * Current choice of Elliptic Curves:</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> * - NIST256</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> * - C25519</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> * - ED25519</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> * - BRAINPOOL</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> * - ANSSI</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"> * - NUMS256E</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"> * - NUMS256W</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment"> * - NUMS384E</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment"> * - NUMS384W</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment"> * - NUMS512E</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"> * - NUMS512W</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"> * - HIFIVE</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment"> * - GOLDILOCKS</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment"> * - NIST384</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"> * - C41417</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment"> * - NIST521</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment"> * - BN254</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment"> * - BN254CX</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment"> * - BLS383</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define ANSSI_VER</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define BLS24_VER</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define BLS381_VER</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#define BLS383_VER</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define BLS461_VER</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#define BLS48_VER</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define BN254_VER</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define BN254CX_VER</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#define BRAINPOOL_VER</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define C25519_VER</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define C41417_VER</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#define ED25519_VER</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#define FP256BN_VER</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#define FP512BN_VER</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#define GOLDILOCKS_VER</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#define HIFIVE_VER</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#define NIST256_VER</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#define NIST384_VER</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define NIST521_VER</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#define NUMS256E_VER</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define NUMS256W_VER</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define NUMS384E_VER</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define NUMS384W_VER</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#define NUMS512E_VER</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#define NUMS512W_VER</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#define SECP256K1_VER</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</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">   81</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"> * Supported RSA security levels</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"> * Current choice of security levels: 2048, 3072, 4096</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define RSA_SECURITY_LEVEL_2048_VER</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#define RSA_SECURITY_LEVEL_3072_VER</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#define RSA_SECURITY_LEVEL_4096_VER</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordtype">void</span> <a class="code" href="version_8c.html#a689d184c9b79d5bfba39393546e885e8">amcl_version</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="version_8c_html_a689d184c9b79d5bfba39393546e885e8"><div class="ttname"><a href="version_8c.html#a689d184c9b79d5bfba39393546e885e8">amcl_version</a></div><div class="ttdeci">void amcl_version(void)</div><div class="ttdoc">Print version number and information about the build.</div><div class="ttdef"><b>Definition:</b> version.c:33</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;<span class="comment">/* AMCL header support version function */</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifndef VERSION_H</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define VERSION_H</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;amcl.h&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="comment">/*</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> * Supported curves</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> * Current choice of Elliptic Curves:</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> * - NIST256</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> * - C25519</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> * - ED25519</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> * - BRAINPOOL</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> * - ANSSI</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"> * - NUMS256E</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"> * - NUMS256W</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment"> * - NUMS384E</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment"> * - NUMS384W</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment"> * - NUMS512E</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"> * - NUMS512W</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"> * - HIFIVE</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment"> * - GOLDILOCKS</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment"> * - NIST384</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment"> * - C41417</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment"> * - NIST521</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment"> * - BN254</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment"> * - BN254CX</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment"> * - BLS383</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#define ANSSI_VER</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define BLS24_VER</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#define BLS381_VER</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#define BLS383_VER</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define BLS461_VER</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#define BLS48_VER</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#define BN254_VER</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define BN254CX_VER</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#define BRAINPOOL_VER</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#define C25519_VER</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define C41417_VER</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#define ED25519_VER</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#define FP256BN_VER</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#define FP512BN_VER</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#define GOLDILOCKS_VER</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#define HIFIVE_VER</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#define NIST256_VER</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#define NIST384_VER</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define NIST521_VER</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#define NUMS256E_VER</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#define NUMS256W_VER</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define NUMS384E_VER</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#define NUMS384W_VER</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#define NUMS512E_VER</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#define NUMS512W_VER</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#define SECP256K1_VER</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</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">   81</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"> * Supported RSA security levels</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"> * Current choice of security levels: 2048, 3072, 4096</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define RSA_SECURITY_LEVEL_2048_VER</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#define RSA_SECURITY_LEVEL_3072_VER</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#define RSA_SECURITY_LEVEL_4096_VER</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordtype">void</span> <a class="code" href="version_8c.html#a689d184c9b79d5bfba39393546e885e8">amcl_version</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="version_8c_html_a689d184c9b79d5bfba39393546e885e8"><div class="ttname"><a href="version_8c.html#a689d184c9b79d5bfba39393546e885e8">amcl_version</a></div><div class="ttdeci">void amcl_version(void)</div><div class="ttdoc">Print version number and information about the build. </div><div class="ttdef"><b>Definition:</b> version.c:33</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/wcc192__BLS24_8h.html b/website/static/cdocs/wcc192__BLS24_8h.html
index 9af49c0..ed9423b 100644
--- a/website/static/cdocs/wcc192__BLS24_8h.html
+++ b/website/static/cdocs/wcc192__BLS24_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: wcc192_BLS24.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"
@@ -721,7 +724,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/wcc192__BLS24_8h_source.html b/website/static/cdocs/wcc192__BLS24_8h_source.html
index fa292fe..441a180 100644
--- a/website/static/cdocs/wcc192__BLS24_8h_source.html
+++ b/website/static/cdocs/wcc192__BLS24_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: wcc192_BLS24.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,21 +72,21 @@
 <div class="title">wcc192_BLS24.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc192__BLS24_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC192_BLS24_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC192_BLS24_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pair192_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a9ed379b8e0fd9dff782d867c013fdfb9">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS24 MODBYTES_480_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a7cd0b1b03ea0e8399eb205964366c857">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS24 MODBYTES_480_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS24_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc192__BLS24_8h.html#a92858134bd083988f8a69916a0938af9">WCC_BLS24_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#ac1abd526a7a469fdbd037728063d7617">WCC_BLS24_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#a36d9fbd8022e68ca92fe7ef4c3c2ba0c">WCC_BLS24_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#aa0ceba0d80da6c2d6cbbd0a478c88a9a">WCC_BLS24_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#af1577728446d1a4f84eef613e0ad56e8">WCC_BLS24_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#aa5fa5197250979d2edfd7335cdfb04dc">WCC_BLS24_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#a9d9ae55a147892cbba5b1dd10a2fb55b">WCC_BLS24_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc192__BLS24_8h_html_aa5fa5197250979d2edfd7335cdfb04dc"><div class="ttname"><a href="wcc192__BLS24_8h.html#aa5fa5197250979d2edfd7335cdfb04dc">WCC_BLS24_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS24_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:333</div></div>
-<div class="ttc" id="wcc192__BLS24_8h_html_a36d9fbd8022e68ca92fe7ef4c3c2ba0c"><div class="ttname"><a href="wcc192__BLS24_8h.html#a36d9fbd8022e68ca92fe7ef4c3c2ba0c">WCC_BLS24_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS24_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:68</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc192__BLS24_8h_html_a92858134bd083988f8a69916a0938af9"><div class="ttname"><a href="wcc192__BLS24_8h.html#a92858134bd083988f8a69916a0938af9">WCC_BLS24_Hq</a></div><div class="ttdeci">void WCC_BLS24_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:28</div></div>
-<div class="ttc" id="wcc192__BLS24_8h_html_ac1abd526a7a469fdbd037728063d7617"><div class="ttname"><a href="wcc192__BLS24_8h.html#ac1abd526a7a469fdbd037728063d7617">WCC_BLS24_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS24_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:83</div></div>
-<div class="ttc" id="wcc192__BLS24_8h_html_a9d9ae55a147892cbba5b1dd10a2fb55b"><div class="ttname"><a href="wcc192__BLS24_8h.html#a9d9ae55a147892cbba5b1dd10a2fb55b">WCC_BLS24_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS24_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:348</div></div>
-<div class="ttc" id="wcc192__BLS24_8h_html_af1577728446d1a4f84eef613e0ad56e8"><div class="ttname"><a href="wcc192__BLS24_8h.html#af1577728446d1a4f84eef613e0ad56e8">WCC_BLS24_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS24_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:219</div></div>
-<div class="ttc" id="wcc192__BLS24_8h_html_aa0ceba0d80da6c2d6cbbd0a478c88a9a"><div class="ttname"><a href="wcc192__BLS24_8h.html#aa0ceba0d80da6c2d6cbbd0a478c88a9a">WCC_BLS24_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS24_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:98</div></div>
+<a href="wcc192__BLS24_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC192_BLS24_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC192_BLS24_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pair192_BLS24.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a9ed379b8e0fd9dff782d867c013fdfb9">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS24 MODBYTES_480_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a7cd0b1b03ea0e8399eb205964366c857">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS24 MODBYTES_480_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc192__BLS24_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS24_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc192__BLS24_8h.html#a92858134bd083988f8a69916a0938af9">WCC_BLS24_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#ac1abd526a7a469fdbd037728063d7617">WCC_BLS24_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#a36d9fbd8022e68ca92fe7ef4c3c2ba0c">WCC_BLS24_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#aa0ceba0d80da6c2d6cbbd0a478c88a9a">WCC_BLS24_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#af1577728446d1a4f84eef613e0ad56e8">WCC_BLS24_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#aa5fa5197250979d2edfd7335cdfb04dc">WCC_BLS24_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc192__BLS24_8h.html#a9d9ae55a147892cbba5b1dd10a2fb55b">WCC_BLS24_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc192__BLS24_8h_html_aa5fa5197250979d2edfd7335cdfb04dc"><div class="ttname"><a href="wcc192__BLS24_8h.html#aa5fa5197250979d2edfd7335cdfb04dc">WCC_BLS24_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS24_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:333</div></div>
+<div class="ttc" id="wcc192__BLS24_8h_html_a36d9fbd8022e68ca92fe7ef4c3c2ba0c"><div class="ttname"><a href="wcc192__BLS24_8h.html#a36d9fbd8022e68ca92fe7ef4c3c2ba0c">WCC_BLS24_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS24_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:68</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc192__BLS24_8h_html_a92858134bd083988f8a69916a0938af9"><div class="ttname"><a href="wcc192__BLS24_8h.html#a92858134bd083988f8a69916a0938af9">WCC_BLS24_Hq</a></div><div class="ttdeci">void WCC_BLS24_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:28</div></div>
+<div class="ttc" id="wcc192__BLS24_8h_html_ac1abd526a7a469fdbd037728063d7617"><div class="ttname"><a href="wcc192__BLS24_8h.html#ac1abd526a7a469fdbd037728063d7617">WCC_BLS24_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS24_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:83</div></div>
+<div class="ttc" id="wcc192__BLS24_8h_html_a9d9ae55a147892cbba5b1dd10a2fb55b"><div class="ttname"><a href="wcc192__BLS24_8h.html#a9d9ae55a147892cbba5b1dd10a2fb55b">WCC_BLS24_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS24_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:348</div></div>
+<div class="ttc" id="wcc192__BLS24_8h_html_af1577728446d1a4f84eef613e0ad56e8"><div class="ttname"><a href="wcc192__BLS24_8h.html#af1577728446d1a4f84eef613e0ad56e8">WCC_BLS24_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS24_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:219</div></div>
+<div class="ttc" id="wcc192__BLS24_8h_html_aa0ceba0d80da6c2d6cbbd0a478c88a9a"><div class="ttname"><a href="wcc192__BLS24_8h.html#aa0ceba0d80da6c2d6cbbd0a478c88a9a">WCC_BLS24_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS24_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc192_BLS24.c:98</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/wcc256__BLS48_8h.html b/website/static/cdocs/wcc256__BLS48_8h.html
index bbedfab..42ca989 100644
--- a/website/static/cdocs/wcc256__BLS48_8h.html
+++ b/website/static/cdocs/wcc256__BLS48_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: wcc256_BLS48.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"
@@ -721,7 +724,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/wcc256__BLS48_8h_source.html b/website/static/cdocs/wcc256__BLS48_8h_source.html
index bf88909..a25004c 100644
--- a/website/static/cdocs/wcc256__BLS48_8h_source.html
+++ b/website/static/cdocs/wcc256__BLS48_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: wcc256_BLS48.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,21 +72,21 @@
 <div class="title">wcc256_BLS48.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc256__BLS48_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC256_BLS48_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC256_BLS48_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pair256_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#ab05adbb2b566d7a4eeeb192990a4d293">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS48 MODBYTES_560_58          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a1ee6635ce33a83c3db370ac577d7c480">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS48 MODBYTES_560_58          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS48_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc256__BLS48_8h.html#a117cd7a47024a9dbf2ab4257d070910b">WCC_BLS48_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#a97b821c2f641e38f2dbcb56b15c51302">WCC_BLS48_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#abfd3b58fda036fb6e97b0ed64de37d02">WCC_BLS48_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#a3a89ddcb2324df930d32e9566490e22b">WCC_BLS48_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#ab50c9306595902673ab2727db3c48ddc">WCC_BLS48_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#a69895d8a717d8d44c5f0ec638ec1a894">WCC_BLS48_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#af3bc958a7764ce1ad00b966c1e39abfe">WCC_BLS48_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc256__BLS48_8h_html_abfd3b58fda036fb6e97b0ed64de37d02"><div class="ttname"><a href="wcc256__BLS48_8h.html#abfd3b58fda036fb6e97b0ed64de37d02">WCC_BLS48_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS48_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:68</div></div>
-<div class="ttc" id="wcc256__BLS48_8h_html_af3bc958a7764ce1ad00b966c1e39abfe"><div class="ttname"><a href="wcc256__BLS48_8h.html#af3bc958a7764ce1ad00b966c1e39abfe">WCC_BLS48_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS48_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:393</div></div>
-<div class="ttc" id="wcc256__BLS48_8h_html_a3a89ddcb2324df930d32e9566490e22b"><div class="ttname"><a href="wcc256__BLS48_8h.html#a3a89ddcb2324df930d32e9566490e22b">WCC_BLS48_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS48_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:98</div></div>
-<div class="ttc" id="wcc256__BLS48_8h_html_ab50c9306595902673ab2727db3c48ddc"><div class="ttname"><a href="wcc256__BLS48_8h.html#ab50c9306595902673ab2727db3c48ddc">WCC_BLS48_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS48_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:242</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc256__BLS48_8h_html_a117cd7a47024a9dbf2ab4257d070910b"><div class="ttname"><a href="wcc256__BLS48_8h.html#a117cd7a47024a9dbf2ab4257d070910b">WCC_BLS48_Hq</a></div><div class="ttdeci">void WCC_BLS48_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:28</div></div>
-<div class="ttc" id="wcc256__BLS48_8h_html_a69895d8a717d8d44c5f0ec638ec1a894"><div class="ttname"><a href="wcc256__BLS48_8h.html#a69895d8a717d8d44c5f0ec638ec1a894">WCC_BLS48_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS48_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:378</div></div>
-<div class="ttc" id="wcc256__BLS48_8h_html_a97b821c2f641e38f2dbcb56b15c51302"><div class="ttname"><a href="wcc256__BLS48_8h.html#a97b821c2f641e38f2dbcb56b15c51302">WCC_BLS48_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS48_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:83</div></div>
+<a href="wcc256__BLS48_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC256_BLS48_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC256_BLS48_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pair256_BLS48.h&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#ab05adbb2b566d7a4eeeb192990a4d293">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS48 MODBYTES_560_58          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a1ee6635ce33a83c3db370ac577d7c480">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS48 MODBYTES_560_58          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc256__BLS48_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS48_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc256__BLS48_8h.html#a117cd7a47024a9dbf2ab4257d070910b">WCC_BLS48_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#a97b821c2f641e38f2dbcb56b15c51302">WCC_BLS48_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#abfd3b58fda036fb6e97b0ed64de37d02">WCC_BLS48_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#a3a89ddcb2324df930d32e9566490e22b">WCC_BLS48_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#ab50c9306595902673ab2727db3c48ddc">WCC_BLS48_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#a69895d8a717d8d44c5f0ec638ec1a894">WCC_BLS48_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc256__BLS48_8h.html#af3bc958a7764ce1ad00b966c1e39abfe">WCC_BLS48_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc256__BLS48_8h_html_abfd3b58fda036fb6e97b0ed64de37d02"><div class="ttname"><a href="wcc256__BLS48_8h.html#abfd3b58fda036fb6e97b0ed64de37d02">WCC_BLS48_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS48_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:68</div></div>
+<div class="ttc" id="wcc256__BLS48_8h_html_af3bc958a7764ce1ad00b966c1e39abfe"><div class="ttname"><a href="wcc256__BLS48_8h.html#af3bc958a7764ce1ad00b966c1e39abfe">WCC_BLS48_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS48_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:393</div></div>
+<div class="ttc" id="wcc256__BLS48_8h_html_a3a89ddcb2324df930d32e9566490e22b"><div class="ttname"><a href="wcc256__BLS48_8h.html#a3a89ddcb2324df930d32e9566490e22b">WCC_BLS48_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS48_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:98</div></div>
+<div class="ttc" id="wcc256__BLS48_8h_html_ab50c9306595902673ab2727db3c48ddc"><div class="ttname"><a href="wcc256__BLS48_8h.html#ab50c9306595902673ab2727db3c48ddc">WCC_BLS48_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS48_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:242</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc256__BLS48_8h_html_a117cd7a47024a9dbf2ab4257d070910b"><div class="ttname"><a href="wcc256__BLS48_8h.html#a117cd7a47024a9dbf2ab4257d070910b">WCC_BLS48_Hq</a></div><div class="ttdeci">void WCC_BLS48_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:28</div></div>
+<div class="ttc" id="wcc256__BLS48_8h_html_a69895d8a717d8d44c5f0ec638ec1a894"><div class="ttname"><a href="wcc256__BLS48_8h.html#a69895d8a717d8d44c5f0ec638ec1a894">WCC_BLS48_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS48_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:378</div></div>
+<div class="ttc" id="wcc256__BLS48_8h_html_a97b821c2f641e38f2dbcb56b15c51302"><div class="ttname"><a href="wcc256__BLS48_8h.html#a97b821c2f641e38f2dbcb56b15c51302">WCC_BLS48_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS48_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc256_BLS48.c:83</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/wcc__BLS381_8h.html b/website/static/cdocs/wcc__BLS381_8h.html
index 10dd357..ee12c50 100644
--- a/website/static/cdocs/wcc__BLS381_8h.html
+++ b/website/static/cdocs/wcc__BLS381_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: wcc_BLS381.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"
@@ -721,7 +724,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/wcc__BLS381_8h_source.html b/website/static/cdocs/wcc__BLS381_8h_source.html
index 53a2b50..dff0c04 100644
--- a/website/static/cdocs/wcc__BLS381_8h_source.html
+++ b/website/static/cdocs/wcc__BLS381_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: wcc_BLS381.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,22 +72,22 @@
 <div class="title">wcc_BLS381.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc__BLS381_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BLS381_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BLS381_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS381_8h.html">pair_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a1411c813b42af69194c4993634e16739">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS381 MODBYTES_384_58          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a8861a1c5614e71aee74463f690dd5135">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS381 MODBYTES_384_58          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS381_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BLS381_8h.html#a2b7f7151bcc95517ed6b25ca7eeddee1">WCC_BLS381_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#af15d6533a085e35efc44e61b420cfb51">WCC_BLS381_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#a869fe083c9873b9f3ccd6c3abfa27aa1">WCC_BLS381_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#ab8e4e386f013ee236350419ac30b3089">WCC_BLS381_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#aecba63f28ac43482c23b6af45ffecaea">WCC_BLS381_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#a5eb4a5dba378388647b021acbf699a00">WCC_BLS381_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#a5a334ca1816c97bdd067cc038ecf85d3">WCC_BLS381_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BLS381_8h_html_a2b7f7151bcc95517ed6b25ca7eeddee1"><div class="ttname"><a href="wcc__BLS381_8h.html#a2b7f7151bcc95517ed6b25ca7eeddee1">WCC_BLS381_Hq</a></div><div class="ttdeci">void WCC_BLS381_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:28</div></div>
-<div class="ttc" id="wcc__BLS381_8h_html_aecba63f28ac43482c23b6af45ffecaea"><div class="ttname"><a href="wcc__BLS381_8h.html#aecba63f28ac43482c23b6af45ffecaea">WCC_BLS381_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS381_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:207</div></div>
-<div class="ttc" id="wcc__BLS381_8h_html_a5a334ca1816c97bdd067cc038ecf85d3"><div class="ttname"><a href="wcc__BLS381_8h.html#a5a334ca1816c97bdd067cc038ecf85d3">WCC_BLS381_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS381_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:323</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc__BLS381_8h_html_af15d6533a085e35efc44e61b420cfb51"><div class="ttname"><a href="wcc__BLS381_8h.html#af15d6533a085e35efc44e61b420cfb51">WCC_BLS381_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS381_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:83</div></div>
-<div class="ttc" id="wcc__BLS381_8h_html_ab8e4e386f013ee236350419ac30b3089"><div class="ttname"><a href="wcc__BLS381_8h.html#ab8e4e386f013ee236350419ac30b3089">WCC_BLS381_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS381_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:98</div></div>
-<div class="ttc" id="wcc__BLS381_8h_html_a5eb4a5dba378388647b021acbf699a00"><div class="ttname"><a href="wcc__BLS381_8h.html#a5eb4a5dba378388647b021acbf699a00">WCC_BLS381_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS381_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:308</div></div>
-<div class="ttc" id="wcc__BLS381_8h_html_a869fe083c9873b9f3ccd6c3abfa27aa1"><div class="ttname"><a href="wcc__BLS381_8h.html#a869fe083c9873b9f3ccd6c3abfa27aa1">WCC_BLS381_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS381_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:68</div></div>
-<div class="ttc" id="pair__BLS381_8h_html"><div class="ttname"><a href="pair__BLS381_8h.html">pair_BLS381.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
+<a href="wcc__BLS381_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BLS381_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BLS381_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS381_8h.html">pair_BLS381.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a1411c813b42af69194c4993634e16739">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS381 MODBYTES_384_58          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a8861a1c5614e71aee74463f690dd5135">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS381 MODBYTES_384_58          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BLS381_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS381_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BLS381_8h.html#a2b7f7151bcc95517ed6b25ca7eeddee1">WCC_BLS381_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#af15d6533a085e35efc44e61b420cfb51">WCC_BLS381_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#a869fe083c9873b9f3ccd6c3abfa27aa1">WCC_BLS381_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#ab8e4e386f013ee236350419ac30b3089">WCC_BLS381_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#aecba63f28ac43482c23b6af45ffecaea">WCC_BLS381_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#a5eb4a5dba378388647b021acbf699a00">WCC_BLS381_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS381_8h.html#a5a334ca1816c97bdd067cc038ecf85d3">WCC_BLS381_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BLS381_8h_html_a2b7f7151bcc95517ed6b25ca7eeddee1"><div class="ttname"><a href="wcc__BLS381_8h.html#a2b7f7151bcc95517ed6b25ca7eeddee1">WCC_BLS381_Hq</a></div><div class="ttdeci">void WCC_BLS381_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:28</div></div>
+<div class="ttc" id="wcc__BLS381_8h_html_aecba63f28ac43482c23b6af45ffecaea"><div class="ttname"><a href="wcc__BLS381_8h.html#aecba63f28ac43482c23b6af45ffecaea">WCC_BLS381_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS381_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:207</div></div>
+<div class="ttc" id="wcc__BLS381_8h_html_a5a334ca1816c97bdd067cc038ecf85d3"><div class="ttname"><a href="wcc__BLS381_8h.html#a5a334ca1816c97bdd067cc038ecf85d3">WCC_BLS381_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS381_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:323</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc__BLS381_8h_html_af15d6533a085e35efc44e61b420cfb51"><div class="ttname"><a href="wcc__BLS381_8h.html#af15d6533a085e35efc44e61b420cfb51">WCC_BLS381_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS381_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:83</div></div>
+<div class="ttc" id="wcc__BLS381_8h_html_ab8e4e386f013ee236350419ac30b3089"><div class="ttname"><a href="wcc__BLS381_8h.html#ab8e4e386f013ee236350419ac30b3089">WCC_BLS381_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS381_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:98</div></div>
+<div class="ttc" id="wcc__BLS381_8h_html_a5eb4a5dba378388647b021acbf699a00"><div class="ttname"><a href="wcc__BLS381_8h.html#a5eb4a5dba378388647b021acbf699a00">WCC_BLS381_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS381_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:308</div></div>
+<div class="ttc" id="wcc__BLS381_8h_html_a869fe083c9873b9f3ccd6c3abfa27aa1"><div class="ttname"><a href="wcc__BLS381_8h.html#a869fe083c9873b9f3ccd6c3abfa27aa1">WCC_BLS381_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS381_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS381.c:68</div></div>
+<div class="ttc" id="pair__BLS381_8h_html"><div class="ttname"><a href="pair__BLS381_8h.html">pair_BLS381.h</a></div><div class="ttdoc">PAIR Header File. </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/wcc__BLS383_8h.html b/website/static/cdocs/wcc__BLS383_8h.html
index 1a91ea7..818f528 100644
--- a/website/static/cdocs/wcc__BLS383_8h.html
+++ b/website/static/cdocs/wcc__BLS383_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: wcc_BLS383.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"
@@ -721,7 +724,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/wcc__BLS383_8h_source.html b/website/static/cdocs/wcc__BLS383_8h_source.html
index 83c0809..02a9946 100644
--- a/website/static/cdocs/wcc__BLS383_8h_source.html
+++ b/website/static/cdocs/wcc__BLS383_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: wcc_BLS383.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,22 +72,22 @@
 <div class="title">wcc_BLS383.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc__BLS383_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BLS383_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BLS383_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS383_8h.html">pair_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a9f881dc1df140f90fa6c0ff40278ea9e">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS383 MODBYTES_384_58          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a48db587d3a56f8f65e70b71059e52e1f">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS383 MODBYTES_384_58          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS383_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BLS383_8h.html#a049be57c35f4eac4d407a0a0e4001d3f">WCC_BLS383_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#af33b369561d833d96fb09270c14c62e7">WCC_BLS383_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#afd32299121e201c124a8bfef15bae8e8">WCC_BLS383_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#af350d784c657946f62335c63f6acb2c5">WCC_BLS383_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#acc039ab242fd10b5ef076119d22b4230">WCC_BLS383_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#a5160e68d8fa824840c12d1d310213326">WCC_BLS383_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#a2f51d6efeeba43af97655aa82415094a">WCC_BLS383_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BLS383_8h_html_a5160e68d8fa824840c12d1d310213326"><div class="ttname"><a href="wcc__BLS383_8h.html#a5160e68d8fa824840c12d1d310213326">WCC_BLS383_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS383_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:308</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="wcc__BLS383_8h_html_af33b369561d833d96fb09270c14c62e7"><div class="ttname"><a href="wcc__BLS383_8h.html#af33b369561d833d96fb09270c14c62e7">WCC_BLS383_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS383_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:83</div></div>
-<div class="ttc" id="wcc__BLS383_8h_html_a049be57c35f4eac4d407a0a0e4001d3f"><div class="ttname"><a href="wcc__BLS383_8h.html#a049be57c35f4eac4d407a0a0e4001d3f">WCC_BLS383_Hq</a></div><div class="ttdeci">void WCC_BLS383_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:28</div></div>
-<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc__BLS383_8h_html_af350d784c657946f62335c63f6acb2c5"><div class="ttname"><a href="wcc__BLS383_8h.html#af350d784c657946f62335c63f6acb2c5">WCC_BLS383_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS383_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:98</div></div>
-<div class="ttc" id="wcc__BLS383_8h_html_afd32299121e201c124a8bfef15bae8e8"><div class="ttname"><a href="wcc__BLS383_8h.html#afd32299121e201c124a8bfef15bae8e8">WCC_BLS383_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS383_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:68</div></div>
-<div class="ttc" id="wcc__BLS383_8h_html_a2f51d6efeeba43af97655aa82415094a"><div class="ttname"><a href="wcc__BLS383_8h.html#a2f51d6efeeba43af97655aa82415094a">WCC_BLS383_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS383_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:323</div></div>
-<div class="ttc" id="pair__BLS383_8h_html"><div class="ttname"><a href="pair__BLS383_8h.html">pair_BLS383.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="wcc__BLS383_8h_html_acc039ab242fd10b5ef076119d22b4230"><div class="ttname"><a href="wcc__BLS383_8h.html#acc039ab242fd10b5ef076119d22b4230">WCC_BLS383_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS383_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:207</div></div>
+<a href="wcc__BLS383_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BLS383_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BLS383_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS383_8h.html">pair_BLS383.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a9f881dc1df140f90fa6c0ff40278ea9e">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS383 MODBYTES_384_58          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a48db587d3a56f8f65e70b71059e52e1f">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS383 MODBYTES_384_58          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BLS383_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS383_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BLS383_8h.html#a049be57c35f4eac4d407a0a0e4001d3f">WCC_BLS383_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#af33b369561d833d96fb09270c14c62e7">WCC_BLS383_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#afd32299121e201c124a8bfef15bae8e8">WCC_BLS383_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#af350d784c657946f62335c63f6acb2c5">WCC_BLS383_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#acc039ab242fd10b5ef076119d22b4230">WCC_BLS383_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#a5160e68d8fa824840c12d1d310213326">WCC_BLS383_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS383_8h.html#a2f51d6efeeba43af97655aa82415094a">WCC_BLS383_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BLS383_8h_html_a5160e68d8fa824840c12d1d310213326"><div class="ttname"><a href="wcc__BLS383_8h.html#a5160e68d8fa824840c12d1d310213326">WCC_BLS383_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS383_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:308</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="wcc__BLS383_8h_html_af33b369561d833d96fb09270c14c62e7"><div class="ttname"><a href="wcc__BLS383_8h.html#af33b369561d833d96fb09270c14c62e7">WCC_BLS383_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS383_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:83</div></div>
+<div class="ttc" id="wcc__BLS383_8h_html_a049be57c35f4eac4d407a0a0e4001d3f"><div class="ttname"><a href="wcc__BLS383_8h.html#a049be57c35f4eac4d407a0a0e4001d3f">WCC_BLS383_Hq</a></div><div class="ttdeci">void WCC_BLS383_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:28</div></div>
+<div class="ttc" id="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc__BLS383_8h_html_af350d784c657946f62335c63f6acb2c5"><div class="ttname"><a href="wcc__BLS383_8h.html#af350d784c657946f62335c63f6acb2c5">WCC_BLS383_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS383_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:98</div></div>
+<div class="ttc" id="wcc__BLS383_8h_html_afd32299121e201c124a8bfef15bae8e8"><div class="ttname"><a href="wcc__BLS383_8h.html#afd32299121e201c124a8bfef15bae8e8">WCC_BLS383_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS383_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:68</div></div>
+<div class="ttc" id="wcc__BLS383_8h_html_a2f51d6efeeba43af97655aa82415094a"><div class="ttname"><a href="wcc__BLS383_8h.html#a2f51d6efeeba43af97655aa82415094a">WCC_BLS383_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS383_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:323</div></div>
+<div class="ttc" id="pair__BLS383_8h_html"><div class="ttname"><a href="pair__BLS383_8h.html">pair_BLS383.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="wcc__BLS383_8h_html_acc039ab242fd10b5ef076119d22b4230"><div class="ttname"><a href="wcc__BLS383_8h.html#acc039ab242fd10b5ef076119d22b4230">WCC_BLS383_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS383_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BLS383.c:207</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/wcc__BLS461_8h.html b/website/static/cdocs/wcc__BLS461_8h.html
index b6d4fec..0c79b46 100644
--- a/website/static/cdocs/wcc__BLS461_8h.html
+++ b/website/static/cdocs/wcc__BLS461_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: wcc_BLS461.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"
@@ -721,7 +724,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/wcc__BLS461_8h_source.html b/website/static/cdocs/wcc__BLS461_8h_source.html
index 5270c75..05003a1 100644
--- a/website/static/cdocs/wcc__BLS461_8h_source.html
+++ b/website/static/cdocs/wcc__BLS461_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: wcc_BLS461.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,22 +72,22 @@
 <div class="title">wcc_BLS461.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc__BLS461_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BLS461_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BLS461_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS461_8h.html">pair_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#af90b71c47a834a60d653b423924fab44">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS461 MODBYTES_464_60          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a035a967168dad2797cb2d766366aca5d">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS461 MODBYTES_464_60          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS461_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BLS461_8h.html#a33bff94fbc8f3cc7213db8500ec21357">WCC_BLS461_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a89f8e10b96d31458d885001988d3cd0b">WCC_BLS461_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a1beaa00cd227c5204571163a80033d09">WCC_BLS461_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#aae5e1bd228fbc2ca9c771ee84c6e3e70">WCC_BLS461_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a398831c03792b0ecd07eb5b34db525e8">WCC_BLS461_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#add8f6b0bd8f851380f3609db1d13835e">WCC_BLS461_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a8bc70a4897314b4a5798feeefc11023c">WCC_BLS461_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BLS461_8h_html_a8bc70a4897314b4a5798feeefc11023c"><div class="ttname"><a href="wcc__BLS461_8h.html#a8bc70a4897314b4a5798feeefc11023c">WCC_BLS461_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS461_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:323</div></div>
-<div class="ttc" id="wcc__BLS461_8h_html_a89f8e10b96d31458d885001988d3cd0b"><div class="ttname"><a href="wcc__BLS461_8h.html#a89f8e10b96d31458d885001988d3cd0b">WCC_BLS461_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS461_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:83</div></div>
-<div class="ttc" id="wcc__BLS461_8h_html_add8f6b0bd8f851380f3609db1d13835e"><div class="ttname"><a href="wcc__BLS461_8h.html#add8f6b0bd8f851380f3609db1d13835e">WCC_BLS461_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS461_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:308</div></div>
-<div class="ttc" id="pair__BLS461_8h_html"><div class="ttname"><a href="pair__BLS461_8h.html">pair_BLS461.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="wcc__BLS461_8h_html_a1beaa00cd227c5204571163a80033d09"><div class="ttname"><a href="wcc__BLS461_8h.html#a1beaa00cd227c5204571163a80033d09">WCC_BLS461_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS461_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:68</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc__BLS461_8h_html_a398831c03792b0ecd07eb5b34db525e8"><div class="ttname"><a href="wcc__BLS461_8h.html#a398831c03792b0ecd07eb5b34db525e8">WCC_BLS461_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS461_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:207</div></div>
-<div class="ttc" id="wcc__BLS461_8h_html_aae5e1bd228fbc2ca9c771ee84c6e3e70"><div class="ttname"><a href="wcc__BLS461_8h.html#aae5e1bd228fbc2ca9c771ee84c6e3e70">WCC_BLS461_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS461_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:98</div></div>
-<div class="ttc" id="wcc__BLS461_8h_html_a33bff94fbc8f3cc7213db8500ec21357"><div class="ttname"><a href="wcc__BLS461_8h.html#a33bff94fbc8f3cc7213db8500ec21357">WCC_BLS461_Hq</a></div><div class="ttdeci">void WCC_BLS461_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:28</div></div>
+<a href="wcc__BLS461_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BLS461_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BLS461_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BLS461_8h.html">pair_BLS461.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#af90b71c47a834a60d653b423924fab44">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BLS461 MODBYTES_464_60          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a035a967168dad2797cb2d766366aca5d">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BLS461 MODBYTES_464_60          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BLS461_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BLS461_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BLS461_8h.html#a33bff94fbc8f3cc7213db8500ec21357">WCC_BLS461_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a89f8e10b96d31458d885001988d3cd0b">WCC_BLS461_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a1beaa00cd227c5204571163a80033d09">WCC_BLS461_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#aae5e1bd228fbc2ca9c771ee84c6e3e70">WCC_BLS461_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a398831c03792b0ecd07eb5b34db525e8">WCC_BLS461_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#add8f6b0bd8f851380f3609db1d13835e">WCC_BLS461_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BLS461_8h.html#a8bc70a4897314b4a5798feeefc11023c">WCC_BLS461_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BLS461_8h_html_a8bc70a4897314b4a5798feeefc11023c"><div class="ttname"><a href="wcc__BLS461_8h.html#a8bc70a4897314b4a5798feeefc11023c">WCC_BLS461_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BLS461_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:323</div></div>
+<div class="ttc" id="wcc__BLS461_8h_html_a89f8e10b96d31458d885001988d3cd0b"><div class="ttname"><a href="wcc__BLS461_8h.html#a89f8e10b96d31458d885001988d3cd0b">WCC_BLS461_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS461_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:83</div></div>
+<div class="ttc" id="wcc__BLS461_8h_html_add8f6b0bd8f851380f3609db1d13835e"><div class="ttname"><a href="wcc__BLS461_8h.html#add8f6b0bd8f851380f3609db1d13835e">WCC_BLS461_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BLS461_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:308</div></div>
+<div class="ttc" id="pair__BLS461_8h_html"><div class="ttname"><a href="pair__BLS461_8h.html">pair_BLS461.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="wcc__BLS461_8h_html_a1beaa00cd227c5204571163a80033d09"><div class="ttname"><a href="wcc__BLS461_8h.html#a1beaa00cd227c5204571163a80033d09">WCC_BLS461_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BLS461_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:68</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc__BLS461_8h_html_a398831c03792b0ecd07eb5b34db525e8"><div class="ttname"><a href="wcc__BLS461_8h.html#a398831c03792b0ecd07eb5b34db525e8">WCC_BLS461_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BLS461_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:207</div></div>
+<div class="ttc" id="wcc__BLS461_8h_html_aae5e1bd228fbc2ca9c771ee84c6e3e70"><div class="ttname"><a href="wcc__BLS461_8h.html#aae5e1bd228fbc2ca9c771ee84c6e3e70">WCC_BLS461_SENDER_KEY</a></div><div class="ttdeci">int WCC_BLS461_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:98</div></div>
+<div class="ttc" id="wcc__BLS461_8h_html_a33bff94fbc8f3cc7213db8500ec21357"><div class="ttname"><a href="wcc__BLS461_8h.html#a33bff94fbc8f3cc7213db8500ec21357">WCC_BLS461_Hq</a></div><div class="ttdeci">void WCC_BLS461_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BLS461.c:28</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/wcc__BN254CX_8h.html b/website/static/cdocs/wcc__BN254CX_8h.html
index 6bc43cc..1a5e405 100644
--- a/website/static/cdocs/wcc__BN254CX_8h.html
+++ b/website/static/cdocs/wcc__BN254CX_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: wcc_BN254CX.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"
@@ -721,7 +724,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/wcc__BN254CX_8h_source.html b/website/static/cdocs/wcc__BN254CX_8h_source.html
index 58b1eb0..d199622 100644
--- a/website/static/cdocs/wcc__BN254CX_8h_source.html
+++ b/website/static/cdocs/wcc__BN254CX_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: wcc_BN254CX.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,22 +72,22 @@
 <div class="title">wcc_BN254CX.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc__BN254CX_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BN254CX_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BN254CX_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254CX_8h.html">pair_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a48470f7acbc2c3d7ad80feb2dcf365fc">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BN254CX MODBYTES_256_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#ad8d772aea73413632224d324c1ceee18">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BN254CX MODBYTES_256_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BN254CX_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BN254CX_8h.html#ab96caf5f66b5705e7a14244f20919a82">WCC_BN254CX_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a84108970f1f4917b1d639e63d5465cf1">WCC_BN254CX_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a7750cf2c696ba2a81165ffef84027d51">WCC_BN254CX_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#ae9ad93182fdcf3a81b32209a5c851323">WCC_BN254CX_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a7217a15dce1351e78e6ddfd915ac0f96">WCC_BN254CX_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a592e8794305d7e495f69da0239279019">WCC_BN254CX_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a8657bb2f928c3c54d1e17de44886f98d">WCC_BN254CX_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BN254CX_8h_html_a84108970f1f4917b1d639e63d5465cf1"><div class="ttname"><a href="wcc__BN254CX_8h.html#a84108970f1f4917b1d639e63d5465cf1">WCC_BN254CX_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254CX_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:83</div></div>
-<div class="ttc" id="wcc__BN254CX_8h_html_a7217a15dce1351e78e6ddfd915ac0f96"><div class="ttname"><a href="wcc__BN254CX_8h.html#a7217a15dce1351e78e6ddfd915ac0f96">WCC_BN254CX_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BN254CX_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:207</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc__BN254CX_8h_html_ab96caf5f66b5705e7a14244f20919a82"><div class="ttname"><a href="wcc__BN254CX_8h.html#ab96caf5f66b5705e7a14244f20919a82">WCC_BN254CX_Hq</a></div><div class="ttdeci">void WCC_BN254CX_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:28</div></div>
-<div class="ttc" id="wcc__BN254CX_8h_html_a8657bb2f928c3c54d1e17de44886f98d"><div class="ttname"><a href="wcc__BN254CX_8h.html#a8657bb2f928c3c54d1e17de44886f98d">WCC_BN254CX_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BN254CX_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:323</div></div>
-<div class="ttc" id="wcc__BN254CX_8h_html_ae9ad93182fdcf3a81b32209a5c851323"><div class="ttname"><a href="wcc__BN254CX_8h.html#ae9ad93182fdcf3a81b32209a5c851323">WCC_BN254CX_SENDER_KEY</a></div><div class="ttdeci">int WCC_BN254CX_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:98</div></div>
-<div class="ttc" id="wcc__BN254CX_8h_html_a592e8794305d7e495f69da0239279019"><div class="ttname"><a href="wcc__BN254CX_8h.html#a592e8794305d7e495f69da0239279019">WCC_BN254CX_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BN254CX_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:308</div></div>
-<div class="ttc" id="wcc__BN254CX_8h_html_a7750cf2c696ba2a81165ffef84027d51"><div class="ttname"><a href="wcc__BN254CX_8h.html#a7750cf2c696ba2a81165ffef84027d51">WCC_BN254CX_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254CX_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:68</div></div>
-<div class="ttc" id="pair__BN254CX_8h_html"><div class="ttname"><a href="pair__BN254CX_8h.html">pair_BN254CX.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
+<a href="wcc__BN254CX_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BN254CX_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BN254CX_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254CX_8h.html">pair_BN254CX.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a48470f7acbc2c3d7ad80feb2dcf365fc">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BN254CX MODBYTES_256_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#ad8d772aea73413632224d324c1ceee18">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BN254CX MODBYTES_256_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BN254CX_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BN254CX_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BN254CX_8h.html#ab96caf5f66b5705e7a14244f20919a82">WCC_BN254CX_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a84108970f1f4917b1d639e63d5465cf1">WCC_BN254CX_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a7750cf2c696ba2a81165ffef84027d51">WCC_BN254CX_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#ae9ad93182fdcf3a81b32209a5c851323">WCC_BN254CX_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a7217a15dce1351e78e6ddfd915ac0f96">WCC_BN254CX_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a592e8794305d7e495f69da0239279019">WCC_BN254CX_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254CX_8h.html#a8657bb2f928c3c54d1e17de44886f98d">WCC_BN254CX_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BN254CX_8h_html_a84108970f1f4917b1d639e63d5465cf1"><div class="ttname"><a href="wcc__BN254CX_8h.html#a84108970f1f4917b1d639e63d5465cf1">WCC_BN254CX_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254CX_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:83</div></div>
+<div class="ttc" id="wcc__BN254CX_8h_html_a7217a15dce1351e78e6ddfd915ac0f96"><div class="ttname"><a href="wcc__BN254CX_8h.html#a7217a15dce1351e78e6ddfd915ac0f96">WCC_BN254CX_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BN254CX_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:207</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc__BN254CX_8h_html_ab96caf5f66b5705e7a14244f20919a82"><div class="ttname"><a href="wcc__BN254CX_8h.html#ab96caf5f66b5705e7a14244f20919a82">WCC_BN254CX_Hq</a></div><div class="ttdeci">void WCC_BN254CX_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:28</div></div>
+<div class="ttc" id="wcc__BN254CX_8h_html_a8657bb2f928c3c54d1e17de44886f98d"><div class="ttname"><a href="wcc__BN254CX_8h.html#a8657bb2f928c3c54d1e17de44886f98d">WCC_BN254CX_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BN254CX_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:323</div></div>
+<div class="ttc" id="wcc__BN254CX_8h_html_ae9ad93182fdcf3a81b32209a5c851323"><div class="ttname"><a href="wcc__BN254CX_8h.html#ae9ad93182fdcf3a81b32209a5c851323">WCC_BN254CX_SENDER_KEY</a></div><div class="ttdeci">int WCC_BN254CX_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:98</div></div>
+<div class="ttc" id="wcc__BN254CX_8h_html_a592e8794305d7e495f69da0239279019"><div class="ttname"><a href="wcc__BN254CX_8h.html#a592e8794305d7e495f69da0239279019">WCC_BN254CX_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BN254CX_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:308</div></div>
+<div class="ttc" id="wcc__BN254CX_8h_html_a7750cf2c696ba2a81165ffef84027d51"><div class="ttname"><a href="wcc__BN254CX_8h.html#a7750cf2c696ba2a81165ffef84027d51">WCC_BN254CX_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254CX_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BN254CX.c:68</div></div>
+<div class="ttc" id="pair__BN254CX_8h_html"><div class="ttname"><a href="pair__BN254CX_8h.html">pair_BN254CX.h</a></div><div class="ttdoc">PAIR Header File. </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/wcc__BN254_8h.html b/website/static/cdocs/wcc__BN254_8h.html
index 0f77a24..9764e8a 100644
--- a/website/static/cdocs/wcc__BN254_8h.html
+++ b/website/static/cdocs/wcc__BN254_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: wcc_BN254.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"
@@ -721,7 +724,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/wcc__BN254_8h_source.html b/website/static/cdocs/wcc__BN254_8h_source.html
index 0b52ba5..2028cbd 100644
--- a/website/static/cdocs/wcc__BN254_8h_source.html
+++ b/website/static/cdocs/wcc__BN254_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: wcc_BN254.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,22 +72,22 @@
 <div class="title">wcc_BN254.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc__BN254_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BN254_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BN254_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254_8h.html">pair_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#aea09a8ea2af1776b49da1cd34e68bf8d">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BN254 MODBYTES_256_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a0bdd92d350a8f52b611363f110440cc2">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BN254 MODBYTES_256_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BN254_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BN254_8h.html#a93be7364feacc3cd81d1c3cc28921412">WCC_BN254_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#ada7eb9fe52ccedfe439da5f73e9727f2">WCC_BN254_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#acfb792723fa3a3292b221b2650f104e7">WCC_BN254_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#a409bb8d8a35c151c4b6fd80f5986b6b2">WCC_BN254_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#aed80670bcc35966bafaab687f43dfed7">WCC_BN254_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#a8a2c03313f0990d4a96bd0af40d54258">WCC_BN254_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#ac5758921f1a462f9d938f7ba29fcb68f">WCC_BN254_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BN254_8h_html_a8a2c03313f0990d4a96bd0af40d54258"><div class="ttname"><a href="wcc__BN254_8h.html#a8a2c03313f0990d4a96bd0af40d54258">WCC_BN254_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BN254_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:308</div></div>
-<div class="ttc" id="wcc__BN254_8h_html_a93be7364feacc3cd81d1c3cc28921412"><div class="ttname"><a href="wcc__BN254_8h.html#a93be7364feacc3cd81d1c3cc28921412">WCC_BN254_Hq</a></div><div class="ttdeci">void WCC_BN254_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:28</div></div>
-<div class="ttc" id="wcc__BN254_8h_html_a409bb8d8a35c151c4b6fd80f5986b6b2"><div class="ttname"><a href="wcc__BN254_8h.html#a409bb8d8a35c151c4b6fd80f5986b6b2">WCC_BN254_SENDER_KEY</a></div><div class="ttdeci">int WCC_BN254_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:98</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="pair__BN254_8h_html"><div class="ttname"><a href="pair__BN254_8h.html">pair_BN254.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="wcc__BN254_8h_html_ac5758921f1a462f9d938f7ba29fcb68f"><div class="ttname"><a href="wcc__BN254_8h.html#ac5758921f1a462f9d938f7ba29fcb68f">WCC_BN254_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BN254_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:323</div></div>
-<div class="ttc" id="wcc__BN254_8h_html_ada7eb9fe52ccedfe439da5f73e9727f2"><div class="ttname"><a href="wcc__BN254_8h.html#ada7eb9fe52ccedfe439da5f73e9727f2">WCC_BN254_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:83</div></div>
-<div class="ttc" id="wcc__BN254_8h_html_acfb792723fa3a3292b221b2650f104e7"><div class="ttname"><a href="wcc__BN254_8h.html#acfb792723fa3a3292b221b2650f104e7">WCC_BN254_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:68</div></div>
-<div class="ttc" id="wcc__BN254_8h_html_aed80670bcc35966bafaab687f43dfed7"><div class="ttname"><a href="wcc__BN254_8h.html#aed80670bcc35966bafaab687f43dfed7">WCC_BN254_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BN254_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:207</div></div>
+<a href="wcc__BN254_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_BN254_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_BN254_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__BN254_8h.html">pair_BN254.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#aea09a8ea2af1776b49da1cd34e68bf8d">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_BN254 MODBYTES_256_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a0bdd92d350a8f52b611363f110440cc2">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_BN254 MODBYTES_256_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__BN254_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_BN254_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__BN254_8h.html#a93be7364feacc3cd81d1c3cc28921412">WCC_BN254_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#ada7eb9fe52ccedfe439da5f73e9727f2">WCC_BN254_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#acfb792723fa3a3292b221b2650f104e7">WCC_BN254_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#a409bb8d8a35c151c4b6fd80f5986b6b2">WCC_BN254_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#aed80670bcc35966bafaab687f43dfed7">WCC_BN254_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#a8a2c03313f0990d4a96bd0af40d54258">WCC_BN254_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__BN254_8h.html#ac5758921f1a462f9d938f7ba29fcb68f">WCC_BN254_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__BN254_8h_html_a8a2c03313f0990d4a96bd0af40d54258"><div class="ttname"><a href="wcc__BN254_8h.html#a8a2c03313f0990d4a96bd0af40d54258">WCC_BN254_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_BN254_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:308</div></div>
+<div class="ttc" id="wcc__BN254_8h_html_a93be7364feacc3cd81d1c3cc28921412"><div class="ttname"><a href="wcc__BN254_8h.html#a93be7364feacc3cd81d1c3cc28921412">WCC_BN254_Hq</a></div><div class="ttdeci">void WCC_BN254_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:28</div></div>
+<div class="ttc" id="wcc__BN254_8h_html_a409bb8d8a35c151c4b6fd80f5986b6b2"><div class="ttname"><a href="wcc__BN254_8h.html#a409bb8d8a35c151c4b6fd80f5986b6b2">WCC_BN254_SENDER_KEY</a></div><div class="ttdeci">int WCC_BN254_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:98</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="pair__BN254_8h_html"><div class="ttname"><a href="pair__BN254_8h.html">pair_BN254.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="wcc__BN254_8h_html_ac5758921f1a462f9d938f7ba29fcb68f"><div class="ttname"><a href="wcc__BN254_8h.html#ac5758921f1a462f9d938f7ba29fcb68f">WCC_BN254_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_BN254_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:323</div></div>
+<div class="ttc" id="wcc__BN254_8h_html_ada7eb9fe52ccedfe439da5f73e9727f2"><div class="ttname"><a href="wcc__BN254_8h.html#ada7eb9fe52ccedfe439da5f73e9727f2">WCC_BN254_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:83</div></div>
+<div class="ttc" id="wcc__BN254_8h_html_acfb792723fa3a3292b221b2650f104e7"><div class="ttname"><a href="wcc__BN254_8h.html#acfb792723fa3a3292b221b2650f104e7">WCC_BN254_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_BN254_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:68</div></div>
+<div class="ttc" id="wcc__BN254_8h_html_aed80670bcc35966bafaab687f43dfed7"><div class="ttname"><a href="wcc__BN254_8h.html#aed80670bcc35966bafaab687f43dfed7">WCC_BN254_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_BN254_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc_BN254.c:207</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/wcc__FP256BN_8h.html b/website/static/cdocs/wcc__FP256BN_8h.html
index 338d624..fba8d19 100644
--- a/website/static/cdocs/wcc__FP256BN_8h.html
+++ b/website/static/cdocs/wcc__FP256BN_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: wcc_FP256BN.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"
@@ -721,7 +724,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/wcc__FP256BN_8h_source.html b/website/static/cdocs/wcc__FP256BN_8h_source.html
index f14b917..8816668 100644
--- a/website/static/cdocs/wcc__FP256BN_8h_source.html
+++ b/website/static/cdocs/wcc__FP256BN_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: wcc_FP256BN.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,22 +72,22 @@
 <div class="title">wcc_FP256BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc__FP256BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_FP256BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_FP256BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP256BN_8h.html">pair_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a3ade37da278f56c510ef98e9af529d94">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_FP256BN MODBYTES_256_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a01e79c3cfa31a5b517d36f5e54c56d02">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_FP256BN MODBYTES_256_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_FP256BN_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__FP256BN_8h.html#a6fceb0df6ac3e43824feb068bcb0cf12">WCC_FP256BN_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#aa17352046124fcc43406044821bc48e4">WCC_FP256BN_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a4304765142680ab5fac18ce2787ae174">WCC_FP256BN_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a84148d8f970ddfc1e2fe88463feecea9">WCC_FP256BN_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a3ec3906456a234b1e654bcf785ca1fdc">WCC_FP256BN_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#ad4af9b78c8ec0155e0bc26568df067d7">WCC_FP256BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a79491eef7e1f46596df0105cd053cd72">WCC_FP256BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__FP256BN_8h_html_a6fceb0df6ac3e43824feb068bcb0cf12"><div class="ttname"><a href="wcc__FP256BN_8h.html#a6fceb0df6ac3e43824feb068bcb0cf12">WCC_FP256BN_Hq</a></div><div class="ttdeci">void WCC_FP256BN_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:28</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc__FP256BN_8h_html_ad4af9b78c8ec0155e0bc26568df067d7"><div class="ttname"><a href="wcc__FP256BN_8h.html#ad4af9b78c8ec0155e0bc26568df067d7">WCC_FP256BN_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_FP256BN_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:308</div></div>
-<div class="ttc" id="pair__FP256BN_8h_html"><div class="ttname"><a href="pair__FP256BN_8h.html">pair_FP256BN.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="wcc__FP256BN_8h_html_aa17352046124fcc43406044821bc48e4"><div class="ttname"><a href="wcc__FP256BN_8h.html#aa17352046124fcc43406044821bc48e4">WCC_FP256BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_FP256BN_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:83</div></div>
-<div class="ttc" id="wcc__FP256BN_8h_html_a4304765142680ab5fac18ce2787ae174"><div class="ttname"><a href="wcc__FP256BN_8h.html#a4304765142680ab5fac18ce2787ae174">WCC_FP256BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_FP256BN_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:68</div></div>
-<div class="ttc" id="wcc__FP256BN_8h_html_a3ec3906456a234b1e654bcf785ca1fdc"><div class="ttname"><a href="wcc__FP256BN_8h.html#a3ec3906456a234b1e654bcf785ca1fdc">WCC_FP256BN_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_FP256BN_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:207</div></div>
-<div class="ttc" id="wcc__FP256BN_8h_html_a84148d8f970ddfc1e2fe88463feecea9"><div class="ttname"><a href="wcc__FP256BN_8h.html#a84148d8f970ddfc1e2fe88463feecea9">WCC_FP256BN_SENDER_KEY</a></div><div class="ttdeci">int WCC_FP256BN_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:98</div></div>
-<div class="ttc" id="wcc__FP256BN_8h_html_a79491eef7e1f46596df0105cd053cd72"><div class="ttname"><a href="wcc__FP256BN_8h.html#a79491eef7e1f46596df0105cd053cd72">WCC_FP256BN_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_FP256BN_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:323</div></div>
+<a href="wcc__FP256BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_FP256BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_FP256BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP256BN_8h.html">pair_FP256BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a3ade37da278f56c510ef98e9af529d94">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_FP256BN MODBYTES_256_56          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a01e79c3cfa31a5b517d36f5e54c56d02">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_FP256BN MODBYTES_256_56          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__FP256BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_FP256BN_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__FP256BN_8h.html#a6fceb0df6ac3e43824feb068bcb0cf12">WCC_FP256BN_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#aa17352046124fcc43406044821bc48e4">WCC_FP256BN_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a4304765142680ab5fac18ce2787ae174">WCC_FP256BN_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a84148d8f970ddfc1e2fe88463feecea9">WCC_FP256BN_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a3ec3906456a234b1e654bcf785ca1fdc">WCC_FP256BN_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#ad4af9b78c8ec0155e0bc26568df067d7">WCC_FP256BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP256BN_8h.html#a79491eef7e1f46596df0105cd053cd72">WCC_FP256BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__FP256BN_8h_html_a6fceb0df6ac3e43824feb068bcb0cf12"><div class="ttname"><a href="wcc__FP256BN_8h.html#a6fceb0df6ac3e43824feb068bcb0cf12">WCC_FP256BN_Hq</a></div><div class="ttdeci">void WCC_FP256BN_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:28</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc__FP256BN_8h_html_ad4af9b78c8ec0155e0bc26568df067d7"><div class="ttname"><a href="wcc__FP256BN_8h.html#ad4af9b78c8ec0155e0bc26568df067d7">WCC_FP256BN_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_FP256BN_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:308</div></div>
+<div class="ttc" id="pair__FP256BN_8h_html"><div class="ttname"><a href="pair__FP256BN_8h.html">pair_FP256BN.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="wcc__FP256BN_8h_html_aa17352046124fcc43406044821bc48e4"><div class="ttname"><a href="wcc__FP256BN_8h.html#aa17352046124fcc43406044821bc48e4">WCC_FP256BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_FP256BN_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:83</div></div>
+<div class="ttc" id="wcc__FP256BN_8h_html_a4304765142680ab5fac18ce2787ae174"><div class="ttname"><a href="wcc__FP256BN_8h.html#a4304765142680ab5fac18ce2787ae174">WCC_FP256BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_FP256BN_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:68</div></div>
+<div class="ttc" id="wcc__FP256BN_8h_html_a3ec3906456a234b1e654bcf785ca1fdc"><div class="ttname"><a href="wcc__FP256BN_8h.html#a3ec3906456a234b1e654bcf785ca1fdc">WCC_FP256BN_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_FP256BN_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:207</div></div>
+<div class="ttc" id="wcc__FP256BN_8h_html_a84148d8f970ddfc1e2fe88463feecea9"><div class="ttname"><a href="wcc__FP256BN_8h.html#a84148d8f970ddfc1e2fe88463feecea9">WCC_FP256BN_SENDER_KEY</a></div><div class="ttdeci">int WCC_FP256BN_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:98</div></div>
+<div class="ttc" id="wcc__FP256BN_8h_html_a79491eef7e1f46596df0105cd053cd72"><div class="ttname"><a href="wcc__FP256BN_8h.html#a79491eef7e1f46596df0105cd053cd72">WCC_FP256BN_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_FP256BN_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc_FP256BN.c:323</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/wcc__FP512BN_8h.html b/website/static/cdocs/wcc__FP512BN_8h.html
index cfd02d1..1a80a45 100644
--- a/website/static/cdocs/wcc__FP512BN_8h.html
+++ b/website/static/cdocs/wcc__FP512BN_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: wcc_FP512BN.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"
@@ -721,7 +724,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/wcc__FP512BN_8h_source.html b/website/static/cdocs/wcc__FP512BN_8h_source.html
index 9265e28..845905d 100644
--- a/website/static/cdocs/wcc__FP512BN_8h_source.html
+++ b/website/static/cdocs/wcc__FP512BN_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: wcc_FP512BN.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,22 +72,22 @@
 <div class="title">wcc_FP512BN.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="wcc__FP512BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_FP512BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_FP512BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP512BN_8h.html">pair_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a2237b26a0ae5587bc37374183f2343b8">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_FP512BN MODBYTES_512_60          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a9c4a9b4a5d0743ae9ad50618d0cea86a">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_FP512BN MODBYTES_512_60          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_FP512BN_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__FP512BN_8h.html#a893aaaa70c39b18dc8f8286c7abdb1c5">WCC_FP512BN_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a38dd0cfedaa727c8f91e8d06f8c59537">WCC_FP512BN_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a55b3579c8b79fd544fab88e281bb6ca1">WCC_FP512BN_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a37f55f31d5d27ce404c1d412b196fd3e">WCC_FP512BN_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a04514df65238ecca3b4be107404ff52b">WCC_FP512BN_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a141173fe707c0a90e342dfe03d9d3c57">WCC_FP512BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#abad62556cd48506f272692ce01be1c6a">WCC_FP512BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__FP512BN_8h_html_a38dd0cfedaa727c8f91e8d06f8c59537"><div class="ttname"><a href="wcc__FP512BN_8h.html#a38dd0cfedaa727c8f91e8d06f8c59537">WCC_FP512BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_FP512BN_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:83</div></div>
-<div class="ttc" id="wcc__FP512BN_8h_html_abad62556cd48506f272692ce01be1c6a"><div class="ttname"><a href="wcc__FP512BN_8h.html#abad62556cd48506f272692ce01be1c6a">WCC_FP512BN_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_FP512BN_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2.</div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:323</div></div>
-<div class="ttc" id="wcc__FP512BN_8h_html_a141173fe707c0a90e342dfe03d9d3c57"><div class="ttname"><a href="wcc__FP512BN_8h.html#a141173fe707c0a90e342dfe03d9d3c57">WCC_FP512BN_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_FP512BN_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1.</div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:308</div></div>
-<div class="ttc" id="pair__FP512BN_8h_html"><div class="ttname"><a href="pair__FP512BN_8h.html">pair_FP512BN.h</a></div><div class="ttdoc">PAIR Header File.</div></div>
-<div class="ttc" id="wcc__FP512BN_8h_html_a04514df65238ecca3b4be107404ff52b"><div class="ttname"><a href="wcc__FP512BN_8h.html#a04514df65238ecca3b4be107404ff52b">WCC_FP512BN_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_FP512BN_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key.</div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:207</div></div>
-<div class="ttc" id="wcc__FP512BN_8h_html_a37f55f31d5d27ce404c1d412b196fd3e"><div class="ttname"><a href="wcc__FP512BN_8h.html#a37f55f31d5d27ce404c1d412b196fd3e">WCC_FP512BN_SENDER_KEY</a></div><div class="ttdeci">int WCC_FP512BN_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key.</div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:98</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols.</div></div>
-<div class="ttc" id="wcc__FP512BN_8h_html_a893aaaa70c39b18dc8f8286c7abdb1c5"><div class="ttname"><a href="wcc__FP512BN_8h.html#a893aaaa70c39b18dc8f8286c7abdb1c5">WCC_FP512BN_Hq</a></div><div class="ttdeci">void WCC_FP512BN_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer.</div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:28</div></div>
-<div class="ttc" id="wcc__FP512BN_8h_html_a55b3579c8b79fd544fab88e281bb6ca1"><div class="ttname"><a href="wcc__FP512BN_8h.html#a55b3579c8b79fd544fab88e281bb6ca1">WCC_FP512BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_FP512BN_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer.</div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:68</div></div>
+<a href="wcc__FP512BN_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="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef WCC_FP512BN_H</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define WCC_FP512BN_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pair__FP512BN_8h.html">pair_FP512BN.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pbc__support_8h.html">pbc_support.h</a>&quot;</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="comment">/* Field size is assumed to be greater than or equal to group size */</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a2237b26a0ae5587bc37374183f2343b8">   36</a></span>&#160;<span class="preprocessor">#define WCC_PGS_FP512BN MODBYTES_512_60          </span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a9c4a9b4a5d0743ae9ad50618d0cea86a">   37</a></span>&#160;<span class="preprocessor">#define WCC_PFS_FP512BN MODBYTES_512_60          </span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a91291c41e3237e9b64d98d4052805841">   39</a></span>&#160;<span class="preprocessor">#define WCC_OK 0               </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a700ca6eda19205f1d60161b8314a9552">   40</a></span>&#160;<span class="preprocessor">#define WCC_INVALID_POINT -51  </span></div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a1e05b1cc58149344b3646bfaccd634a6">   41</a></span>&#160;<span class="preprocessor">#define TIME_SLOT_MINUTES 1440 </span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a88208820c0de8e46fe682d2e1ea225bb">   43</a></span>&#160;<span class="preprocessor">#define PIV 12                 </span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="wcc__FP512BN_8h.html#a15af35aa0d71cab6c5c72dac99de8215">   44</a></span>&#160;<span class="preprocessor">#define PTAG 16                </span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">int WCC_FP512BN_RANDOM_GENERATE(csprng *RNG,octet* S);</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="wcc__FP512BN_8h.html#a893aaaa70c39b18dc8f8286c7abdb1c5">WCC_FP512BN_Hq</a>(<span class="keywordtype">int</span> sha,<a class="code" href="structoctet.html">octet</a> *A,<a class="code" href="structoctet.html">octet</a> *B,<a class="code" href="structoctet.html">octet</a> *C,<a class="code" href="structoctet.html">octet</a> *D,<a class="code" href="structoctet.html">octet</a> *h);</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a38dd0cfedaa727c8f91e8d06f8c59537">WCC_FP512BN_GET_G2_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG2);</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a55b3579c8b79fd544fab88e281bb6ca1">WCC_FP512BN_GET_G1_MULTIPLE</a>(<a class="code" href="structoctet.html">octet</a> *S,<a class="code" href="structoctet.html">octet</a> *HID,<a class="code" href="structoctet.html">octet</a> *VG1);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a37f55f31d5d27ce404c1d412b196fd3e">WCC_FP512BN_SENDER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *xOct, <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct, <a class="code" href="structoctet.html">octet</a> *PbG2Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *AKeyG1Oct, <a class="code" href="structoctet.html">octet</a> *IdBOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a04514df65238ecca3b4be107404ff52b">WCC_FP512BN_RECEIVER_KEY</a>(<span class="keywordtype">int</span> sha, <a class="code" href="structoctet.html">octet</a> *yOct, <a class="code" href="structoctet.html">octet</a> *wOct,  <a class="code" href="structoctet.html">octet</a> *piaOct, <a class="code" href="structoctet.html">octet</a> *pibOct,  <a class="code" href="structoctet.html">octet</a> *PaG1Oct, <a class="code" href="structoctet.html">octet</a> *PgG1Oct, <a class="code" href="structoctet.html">octet</a> *BKeyG2Oct, <a class="code" href="structoctet.html">octet</a> *IdAOct, <a class="code" href="structoctet.html">octet</a> *AESKeyOct);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#a141173fe707c0a90e342dfe03d9d3c57">WCC_FP512BN_RECOMBINE_G1</a>(<a class="code" href="structoctet.html">octet</a> *R1,<a class="code" href="structoctet.html">octet</a> *R2,<a class="code" href="structoctet.html">octet</a> *R);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keywordtype">int</span> <a class="code" href="wcc__FP512BN_8h.html#abad62556cd48506f272692ce01be1c6a">WCC_FP512BN_RECOMBINE_G2</a>(<a class="code" href="structoctet.html">octet</a> *W1,<a class="code" href="structoctet.html">octet</a> *W2,<a class="code" href="structoctet.html">octet</a> *W);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="wcc__FP512BN_8h_html_a38dd0cfedaa727c8f91e8d06f8c59537"><div class="ttname"><a href="wcc__FP512BN_8h.html#a38dd0cfedaa727c8f91e8d06f8c59537">WCC_FP512BN_GET_G2_MULTIPLE</a></div><div class="ttdeci">int WCC_FP512BN_GET_G2_MULTIPLE(octet *S, octet *HID, octet *VG2)</div><div class="ttdoc">Calculate value in G2 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:83</div></div>
+<div class="ttc" id="wcc__FP512BN_8h_html_abad62556cd48506f272692ce01be1c6a"><div class="ttname"><a href="wcc__FP512BN_8h.html#abad62556cd48506f272692ce01be1c6a">WCC_FP512BN_RECOMBINE_G2</a></div><div class="ttdeci">int WCC_FP512BN_RECOMBINE_G2(octet *W1, octet *W2, octet *W)</div><div class="ttdoc">Add two members from the group G2. </div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:323</div></div>
+<div class="ttc" id="wcc__FP512BN_8h_html_a141173fe707c0a90e342dfe03d9d3c57"><div class="ttname"><a href="wcc__FP512BN_8h.html#a141173fe707c0a90e342dfe03d9d3c57">WCC_FP512BN_RECOMBINE_G1</a></div><div class="ttdeci">int WCC_FP512BN_RECOMBINE_G1(octet *R1, octet *R2, octet *R)</div><div class="ttdoc">Add two members from the group G1. </div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:308</div></div>
+<div class="ttc" id="pair__FP512BN_8h_html"><div class="ttname"><a href="pair__FP512BN_8h.html">pair_FP512BN.h</a></div><div class="ttdoc">PAIR Header File. </div></div>
+<div class="ttc" id="wcc__FP512BN_8h_html_a04514df65238ecca3b4be107404ff52b"><div class="ttname"><a href="wcc__FP512BN_8h.html#a04514df65238ecca3b4be107404ff52b">WCC_FP512BN_RECEIVER_KEY</a></div><div class="ttdeci">int WCC_FP512BN_RECEIVER_KEY(int sha, octet *yOct, octet *wOct, octet *piaOct, octet *pibOct, octet *PaG1Oct, octet *PgG1Oct, octet *BKeyG2Oct, octet *IdAOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the receiver AES key. </div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:207</div></div>
+<div class="ttc" id="wcc__FP512BN_8h_html_a37f55f31d5d27ce404c1d412b196fd3e"><div class="ttname"><a href="wcc__FP512BN_8h.html#a37f55f31d5d27ce404c1d412b196fd3e">WCC_FP512BN_SENDER_KEY</a></div><div class="ttdeci">int WCC_FP512BN_SENDER_KEY(int sha, octet *xOct, octet *piaOct, octet *pibOct, octet *PbG2Oct, octet *PgG1Oct, octet *AKeyG1Oct, octet *IdBOct, octet *AESKeyOct)</div><div class="ttdoc">Calculate the sender AES key. </div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:98</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="pbc__support_8h_html"><div class="ttname"><a href="pbc__support_8h.html">pbc_support.h</a></div><div class="ttdoc">Auxiliary functions for Pairing-based protocols. </div></div>
+<div class="ttc" id="wcc__FP512BN_8h_html_a893aaaa70c39b18dc8f8286c7abdb1c5"><div class="ttname"><a href="wcc__FP512BN_8h.html#a893aaaa70c39b18dc8f8286c7abdb1c5">WCC_FP512BN_Hq</a></div><div class="ttdeci">void WCC_FP512BN_Hq(int sha, octet *A, octet *B, octet *C, octet *D, octet *h)</div><div class="ttdoc">Hash EC Points and Id to an integer. </div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:28</div></div>
+<div class="ttc" id="wcc__FP512BN_8h_html_a55b3579c8b79fd544fab88e281bb6ca1"><div class="ttname"><a href="wcc__FP512BN_8h.html#a55b3579c8b79fd544fab88e281bb6ca1">WCC_FP512BN_GET_G1_MULTIPLE</a></div><div class="ttdeci">int WCC_FP512BN_GET_G1_MULTIPLE(octet *S, octet *HID, octet *VG1)</div><div class="ttdoc">Calculate value in G1 multiplied by an integer. </div><div class="ttdef"><b>Definition:</b> wcc_FP512BN.c:68</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/windows.html b/website/static/cdocs/windows.html
index 1fb3f49..509cef3 100644
--- a/website/static/cdocs/windows.html
+++ b/website/static/cdocs/windows.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: Windows</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"
@@ -60,7 +63,7 @@
 </div>
 
 </div><!-- top -->
-<div class="PageDoc"><div class="header">
+<div class="header">
   <div class="headertitle">
 <div class="title">Windows </div>  </div>
 </div><!--header-->
@@ -84,7 +87,7 @@
 <li>
 cd target\build </li>
 <li>
-cmake -G "MinGW Makefiles" ..\.. </li>
+cmake -G "MinGW Makefiles" -D WORD_SIZE=64 ..\.. </li>
 <li>
 mingw32-make </li>
 <li>
@@ -99,7 +102,7 @@
 <p>The build can be configured using by setting flags on the command line i.e.</p>
 <ol type="disc">
 <li>
-cmake -G "MinGW Makefiles" -DWORD_LENGTH=32 ../.. </li>
+cmake -G "MinGW Makefiles" -D WORD_SIZE=64 -D BUILD_PYTHON=on ..\.. </li>
 </ol>
 <h2>Uninstall software</h2>
 <ul type="disc">
@@ -112,14 +115,13 @@
 <li>
 sudo mingw32-make package </li>
 </ul>
-<p>In order for this to work <a href="http://nsis.sourceforge.net/Download">NSSI</a> has to have been installed</p>
-</div></div><!-- PageDoc -->
-</div><!-- contents -->
+<p>In order for this to work <a href="https://nsis.sourceforge.io">NSIS</a> has to have been installed</p>
+</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
+</a> 1.8.13
 </small></address>
 </body>
 </html>
diff --git a/website/static/cdocs/x509_8h.html b/website/static/cdocs/x509_8h.html
index d446bf1..bc72a8a 100644
--- a/website/static/cdocs/x509_8h.html
+++ b/website/static/cdocs/x509_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: x509.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"
@@ -134,10 +137,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param sc a signed certificate
-@param c the extracted certificate
-@return 0 on failure
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">sc</td><td>a signed certificate </td></tr>
+    <tr><td class="paramname">c</td><td>the extracted certificate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure </dd></dl>
+
 </div>
 </div>
 <a id="ae0f8e162ae838f0f3d675d81dafd10ac"></a>
@@ -165,10 +173,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@param s the extracted signature
-@return 0 on failure, or indicator of signature type (ECC or RSA)
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+    <tr><td class="paramname">s</td><td>the extracted signature </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or indicator of signature type (ECC or RSA) </dd></dl>
+
 </div>
 </div>
 <a id="aade69b25d9239a69124a4344a6acba1b"></a>
@@ -196,10 +209,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@param k the extracted key
-@return 0 on failure, or indicator of public key type (ECC or RSA)
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+    <tr><td class="paramname">k</td><td>the extracted key </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or indicator of public key type (ECC or RSA) </dd></dl>
+
 </div>
 </div>
 <a id="a62f9d5cc04dcef705b11f0c122c4d7d2"></a>
@@ -239,12 +257,17 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@param S is OID of property we are looking for
-@param s is a pointer to the section of interest in the cert
-@param f is pointer to the length of the property
-@return 0 on failure, or pointer to the property
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+    <tr><td class="paramname">S</td><td>is OID of property we are looking for </td></tr>
+    <tr><td class="paramname">s</td><td>is a pointer to the section of interest in the cert </td></tr>
+    <tr><td class="paramname">f</td><td>is pointer to the length of the property </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or pointer to the property </dd></dl>
+
 </div>
 </div>
 <a id="adc9869d135b533b823627775b1a03686"></a>
@@ -272,10 +295,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@param s is a pointer to the start of the validity field
-@return 0 on failure, or pointer to the expiry date
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+    <tr><td class="paramname">s</td><td>is a pointer to the start of the validity field </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or pointer to the expiry date </dd></dl>
+
 </div>
 </div>
 <a id="a953eaefd9f39994de4cd118ddae12f4e"></a>
@@ -293,9 +321,14 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@return 0 on failure, or pointer to issuer field in cert
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or pointer to issuer field in cert </dd></dl>
+
 </div>
 </div>
 <a id="a7d9667214b4268ef0a3f7497932efec7"></a>
@@ -323,10 +356,15 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@param s is a pointer to the start of the validity field
-@return 0 on failure, or pointer to the start date
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+    <tr><td class="paramname">s</td><td>is a pointer to the start of the validity field </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or pointer to the start date </dd></dl>
+
 </div>
 </div>
 <a id="a16ce3e4274aceac0b08d92dbe99ae776"></a>
@@ -344,9 +382,14 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@return 0 on failure, or pointer to subject field in cert
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or pointer to subject field in cert </dd></dl>
+
 </div>
 </div>
 <a id="a3ee2b5a0783b98ab653dbde63ec04813"></a>
@@ -364,9 +407,14 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<pre class="fragment">@param c an X.509 certificate
-@return 0 on failure, or pointer to validity field in cert
-</pre> 
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>an X.509 certificate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on failure, or pointer to validity field in cert </dd></dl>
+
 </div>
 </div>
 </div><!-- contents -->
@@ -374,7 +422,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/x509_8h_source.html b/website/static/cdocs/x509_8h_source.html
index c62ef27..38590a8 100644
--- a/website/static/cdocs/x509_8h_source.html
+++ b/website/static/cdocs/x509_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: x509.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"
@@ -71,10 +74,10 @@
 <div class="contents">
 <a href="x509_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">/* AMCL x509 header file */</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef X509_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define X509_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structpktype.html">   35</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</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"><a class="line" href="structpktype.html#ae3d2dbf17869cb218ea7f4ea10ccbc03">   37</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structpktype.html#ae3d2dbf17869cb218ea7f4ea10ccbc03">type</a>;  </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structpktype.html#a81908ce09cfe1c183b5c1d44708ab9a2">   38</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structpktype.html#a81908ce09cfe1c183b5c1d44708ab9a2">hash</a>;  </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structpktype.html#aa8fa37d88b74366bd16a3f46d1a36293">   39</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="structpktype.html#aa8fa37d88b74366bd16a3f46d1a36293">curve</a>; </div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;} <a class="code" href="structpktype.html">pktype</a>;</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;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">/* X.509 functions */</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">extern</span> <a class="code" href="structpktype.html">pktype</a> <a class="code" href="x509_8h.html#ae0f8e162ae838f0f3d675d81dafd10ac">X509_extract_cert_sig</a>(<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *s);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a8fd7a9bc77a561d693b8afcc5bb91bf7">X509_extract_cert</a>(<a class="code" href="structoctet.html">octet</a> *sc,<a class="code" href="structoctet.html">octet</a> *c);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">extern</span> <a class="code" href="structpktype.html">pktype</a> <a class="code" href="x509_8h.html#aade69b25d9239a69124a4344a6acba1b">X509_extract_public_key</a>(<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *k);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a953eaefd9f39994de4cd118ddae12f4e">X509_find_issuer</a>(<a class="code" href="structoctet.html">octet</a> *c);</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a3ee2b5a0783b98ab653dbde63ec04813">X509_find_validity</a>(<a class="code" href="structoctet.html">octet</a> *c);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a16ce3e4274aceac0b08d92dbe99ae776">X509_find_subject</a>(<a class="code" href="structoctet.html">octet</a> *c);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a62f9d5cc04dcef705b11f0c122c4d7d2">X509_find_entity_property</a>(<a class="code" href="structoctet.html">octet</a> *c,<a class="code" href="structoctet.html">octet</a> *S,<span class="keywordtype">int</span> s,<span class="keywordtype">int</span> *f);</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#a7d9667214b4268ef0a3f7497932efec7">X509_find_start_date</a>(<a class="code" href="structoctet.html">octet</a> *c,<span class="keywordtype">int</span> s);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="x509_8h.html#adc9869d135b533b823627775b1a03686">X509_find_expiry_date</a>(<a class="code" href="structoctet.html">octet</a> *c,<span class="keywordtype">int</span> s);</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;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structpktype_html_aa8fa37d88b74366bd16a3f46d1a36293"><div class="ttname"><a href="structpktype.html#aa8fa37d88b74366bd16a3f46d1a36293">pktype::curve</a></div><div class="ttdeci">int curve</div><div class="ttdef"><b>Definition:</b> x509.h:39</div></div>
 <div class="ttc" id="structpktype_html_ae3d2dbf17869cb218ea7f4ea10ccbc03"><div class="ttname"><a href="structpktype.html#ae3d2dbf17869cb218ea7f4ea10ccbc03">pktype::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition:</b> x509.h:37</div></div>
-<div class="ttc" id="structpktype_html"><div class="ttname"><a href="structpktype.html">pktype</a></div><div class="ttdoc">Public key type.</div><div class="ttdef"><b>Definition:</b> x509.h:35</div></div>
+<div class="ttc" id="structpktype_html"><div class="ttname"><a href="structpktype.html">pktype</a></div><div class="ttdoc">Public key type. </div><div class="ttdef"><b>Definition:</b> x509.h:35</div></div>
 <div class="ttc" id="x509_8h_html_a8fd7a9bc77a561d693b8afcc5bb91bf7"><div class="ttname"><a href="x509_8h.html#a8fd7a9bc77a561d693b8afcc5bb91bf7">X509_extract_cert</a></div><div class="ttdeci">int X509_extract_cert(octet *sc, octet *c)</div><div class="ttdef"><b>Definition:</b> x509.c:369</div></div>
-<div class="ttc" id="x509_8h_html_ae0f8e162ae838f0f3d675d81dafd10ac"><div class="ttname"><a href="x509_8h.html#ae0f8e162ae838f0f3d675d81dafd10ac">X509_extract_cert_sig</a></div><div class="ttdeci">pktype X509_extract_cert_sig(octet *c, octet *s)</div><div class="ttdoc">Extract certificate signature.</div><div class="ttdef"><b>Definition:</b> x509.c:197</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="x509_8h_html_ae0f8e162ae838f0f3d675d81dafd10ac"><div class="ttname"><a href="x509_8h.html#ae0f8e162ae838f0f3d675d81dafd10ac">X509_extract_cert_sig</a></div><div class="ttdeci">pktype X509_extract_cert_sig(octet *c, octet *s)</div><div class="ttdoc">Extract certificate signature. </div><div class="ttdef"><b>Definition:</b> x509.c:197</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="x509_8h_html_a953eaefd9f39994de4cd118ddae12f4e"><div class="ttname"><a href="x509_8h.html#a953eaefd9f39994de4cd118ddae12f4e">X509_find_issuer</a></div><div class="ttdeci">int X509_find_issuer(octet *c)</div><div class="ttdef"><b>Definition:</b> x509.c:543</div></div>
 <div class="ttc" id="x509_8h_html_a3ee2b5a0783b98ab653dbde63ec04813"><div class="ttname"><a href="x509_8h.html#a3ee2b5a0783b98ab653dbde63ec04813">X509_find_validity</a></div><div class="ttdeci">int X509_find_validity(octet *c)</div><div class="ttdef"><b>Definition:</b> x509.c:569</div></div>
 <div class="ttc" id="x509_8h_html_a7d9667214b4268ef0a3f7497932efec7"><div class="ttname"><a href="x509_8h.html#a7d9667214b4268ef0a3f7497932efec7">X509_find_start_date</a></div><div class="ttdeci">int X509_find_start_date(octet *c, int s)</div><div class="ttdef"><b>Definition:</b> x509.c:645</div></div>
@@ -88,7 +91,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/files/amcl-doxygen-2.0.0.pdf b/website/static/files/amcl-doxygen-2.0.0.pdf
new file mode 100755
index 0000000..a4fed78
--- /dev/null
+++ b/website/static/files/amcl-doxygen-2.0.0.pdf
Binary files differ